/* ===============================================================================
Header
=============================================================================== */
header {
  border-bottom: solid 2px #4A6301;
  position: fixed;
  width: 100%;
  background: #fff; }
  @media screen and (max-width: 768px) {
    header {
      position: static; } }
  header .header-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1240px;
    width: 100%;
    margin: auto;
    height: 140px; }
    header .header-area__col2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%; }
      header .header-area__col2__lt {
        width: 415px; }
      header .header-area__col2__rt {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
    header .header-area .blks-1 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      header .header-area .blks-1 #header-logo {
        width: 180px;
        padding: 0 10px; }
        header .header-area .blks-1 #header-logo a:hover {
          opacity: 0.8; }
    @media screen and (max-width: 1700px) and (min-width: 769px) {
      header .header-area__col2__lt {
        width: 415px; }
      header .header-area .blks-2 {
        margin: 0 1em 0 0; } }
    @media screen and (max-width: 1330px) and (min-width: 769px) {
      header .header-area__col2__lt {
        width: 240px; } }
    @media screen and (max-width: 768px) {
      header .header-area {
        height: 11.9vw;
        min-width: 1px; }
        header .header-area__col2__lt {
          width: auto;
          -webkit-box-flex: 1;
          -ms-flex: 1;
          flex: 1; }
        header .header-area__col2__rt {
          -webkit-box-flex: 0;
          -ms-flex: none;
          flex: none;
          width: 19.05vw; }
        header .header-area .blks-1 #header-logo {
          width: 23.81vw;
          padding: 0;
          margin: auto; }
        header .header-area .blks-2 {
          position: fixed;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          bottom: 0;
          background: #EDF2DF;
          z-index: 999;
          width: 100%;
          height: 19.05vw; } }

/* ===============================================================================
Footer
=============================================================================== */
.footer-area {
  min-width: 1240px;
  background: #EDF2DF; }
  @media screen and (max-width: 768px) {
    .footer-area {
      margin: 0 0 0em 0;
      padding: 0; } }
  .footer-area .blks-1 {
    color: #4A6301;
    padding: 3em 0 0; }
    .footer-area .blks-1 .text {
      text-align: center; }
      .footer-area .blks-1 .text small {
        font-size: 80%; }
    .footer-area .blks-1 .ftInfoWrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      text-align: left;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin: 2em 0; }
      @media screen and (max-width: 768px) {
        .footer-area .blks-1 .ftInfoWrap {
          display: block;
          text-align: center; } }
      .footer-area .blks-1 .ftInfoWrap div .telTxt {
        font-size: 30px; }
        @media screen and (max-width: 768px) {
          .footer-area .blks-1 .ftInfoWrap div .telTxt {
            font-size: 20px; } }
      .footer-area .blks-1 .ftInfoWrap div .telTxtNum {
        font-size: 60px;
        letter-spacing: 4px;
        font-family: "Barlow", sans-serif;
        font-weight: bold;
        line-height: 1; }
        @media screen and (max-width: 768px) {
          .footer-area .blks-1 .ftInfoWrap div .telTxtNum {
            font-size: 40px; } }
      .footer-area .blks-1 .ftInfoWrap div p {
        font-weight: normal;
        line-height: 1; }
      .footer-area .blks-1 .ftInfoWrap a {
        background: #4A6301;
        color: #fff;
        max-width: 540px;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 0.8em 0;
        font-size: 30px;
        margin: 0 0 0 2em;
        border-radius: 3px; }
        .footer-area .blks-1 .ftInfoWrap a:hover {
          background: #709502;
          text-decoration: none; }
        .footer-area .blks-1 .ftInfoWrap a span::before {
          content: "";
          display: inline-block;
          background: url("../img/icon_btn_contact.svg") no-repeat center center;
          width: 30px;
          height: 20px;
          margin: 0 0.5em 0 0;
          background-size: contain; }
        @media screen and (max-width: 768px) {
          .footer-area .blks-1 .ftInfoWrap a {
            font-size: 20px;
            display: block;
            margin: 0 0 0 0;
            padding: 1em 0; } }
    .footer-area .blks-1 .col2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 124px; }
      .footer-area .blks-1 .col2__lt {
        width: 366px;
        margin-left: 74px; }
      .footer-area .blks-1 .col2__rt {
        width: 492px; }
      .footer-area .blks-1 .col2 .sns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%; }
        .footer-area .blks-1 .col2 .sns li {
          width: 50px; }
          .footer-area .blks-1 .col2 .sns li a:hover {
            opacity: 0.8; }
          .footer-area .blks-1 .col2 .sns li a img {
            display: block; }
  .footer-area .blks-2 {
    text-align: center;
    padding: 95px 0 52px;
    position: relative; }
    .footer-area .blks-2 #footer-logo {
      width: 470px;
      margin-bottom: 30px;
      display: inline-block; }
      .footer-area .blks-2 #footer-logo a:hover {
        opacity: 0.8; }
    .footer-area .blks-2 #copyright {
      font-size: 0.778rem;
      font-family: "Montserrat", sans-serif;
      letter-spacing: 0.1em; }
    .footer-area .blks-2 #pagetop {
      position: absolute;
      right: 40px;
      bottom: 40px;
      cursor: pointer; }
      .footer-area .blks-2 #pagetop:hover {
        opacity: 0.8; }
  @media screen and (max-width: 768px) {
    .footer-area {
      padding-top: 5.95vw;
      min-width: 1px; }
      .footer-area .blks-1 {
        text-align: center; }
        .footer-area .blks-1 .text {
          display: inline-block;
          font-size: 2.86vw;
          line-height: 1.67;
          padding-bottom: 3.57vw;
          margin-bottom: 4.76vw; }
        .footer-area .blks-1 .text-2 {
          margin-bottom: 3.81vw; }
          .footer-area .blks-1 .text-2 p {
            font-size: 2.86vw; }
            .footer-area .blks-1 .text-2 p:first-child {
              margin-bottom: 1.43vw; }
              .footer-area .blks-1 .text-2 p:first-child a {
                margin-left: 0.71vw;
                font-size: 8.57vw; }
        .footer-area .blks-1 .col2 {
          height: 9.52vw; }
          .footer-area .blks-1 .col2__lt {
            width: 29.88vw;
            margin-left: 5vw; }
          .footer-area .blks-1 .col2__rt {
            width: 36.67vw; }
            .footer-area .blks-1 .col2__rt img {
              position: relative;
              bottom: -0.24vw; }
          .footer-area .blks-1 .col2 .sns li {
            width: 4.19vw; }
      .footer-area .blks-2 {
        padding: 5.24vw 0 3.57vw; }
        .footer-area .blks-2 #footer-logo {
          width: 54.29vw;
          margin-bottom: 0.71vw;
          display: none; }
        .footer-area .blks-2 #copyright {
          font-size: 2.86vw;
          -webkit-transform: scale(0.67);
          -ms-transform: scale(0.67);
          transform: scale(0.67); }
        .footer-area .blks-2 #pagetop {
          width: 4.76vw;
          right: 4.76vw;
          bottom: 4.76vw; }
          .footer-area .blks-2 #pagetop:hover {
            opacity: 1; } }

/* ===============================================================================
Contents
=============================================================================== */
.contents-area {
  padding: 4em 0 0;
  min-width: 1240px; }
  .contents-area._type-2 {
    overflow: hidden; }
  @media screen and (max-width: 768px) {
    .contents-area {
      min-width: 1px; }
      .contents-area._type-2 {
        overflow: visible; } }

/* common section
========================= */
/* cmn-sec-1 */
.cmn-sec-1 {
  height: 400px;
  position: relative;
  overflow: hidden; }
  .cmn-sec-1::before {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 90px;
    background: #4A6301; }
  .cmn-sec-1__inner {
    position: relative;
    z-index: 1; }
    .cmn-sec-1__inner::after {
      position: absolute;
      content: "";
      display: block;
      top: 0;
      right: 320px;
      width: 1260px;
      height: 400px;
      background: #4A6301; }
  .cmn-sec-1 .blks-1 {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 310px; }
    .cmn-sec-1 .blks-1 .heading {
      color: #fff;
      text-align: right;
      padding-top: 24px; }
      .cmn-sec-1 .blks-1 .heading__main {
        font-family: "Montserrat", sans-serif;
        font-size: 3.889rem;
        line-height: 1;
        letter-spacing: 0.1em;
        font-style: italic;
        font-weight: 800;
        position: relative;
        right: -0.1em;
        margin-bottom: 10px; }
      .cmn-sec-1 .blks-1 .heading__sub {
        font-size: 1.667rem;
        line-height: 1.5;
        letter-spacing: 0.1em;
        font-weight: 500;
        position: relative;
        right: -0.1em; }
      .cmn-sec-1 .blks-1 .heading._type-2 {
        color: #4A6301; }
    .cmn-sec-1 .blks-1 .heading-2 {
      text-align: right;
      padding-top: 78px; }
      .cmn-sec-1 .blks-1 .heading-2__main {
        display: inline-block;
        background: #fff;
        font-size: 3.889rem;
        line-height: 1;
        letter-spacing: 0.1em;
        font-weight: 800;
        position: relative;
        color: #4A6301;
        padding: 18px 33px 26px; }
        .cmn-sec-1 .blks-1 .heading-2__main span {
          font-size: 4.444rem; }
  .cmn-sec-1 .blks-1center {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 310px; }
    .cmn-sec-1 .blks-1center .heading {
      color: #fff;
      text-align: right;
      padding-top: 24px; }
      .cmn-sec-1 .blks-1center .heading__main {
        font-family: "Montserrat", sans-serif;
        font-size: 3.889rem;
        line-height: 1;
        letter-spacing: 0.1em;
        font-style: italic;
        font-weight: 800;
        position: relative;
        right: -0.1em;
        margin-bottom: 10px; }
      .cmn-sec-1 .blks-1center .heading__sub {
        font-size: 1.667rem;
        line-height: 1.5;
        letter-spacing: 0.1em;
        font-weight: 500;
        position: relative;
        right: -0.1em; }
      .cmn-sec-1 .blks-1center .heading._type-2 {
        color: #4A6301; }
    .cmn-sec-1 .blks-1center .heading-2 {
      text-align: right;
      padding-top: 78px; }
      .cmn-sec-1 .blks-1center .heading-2__main {
        display: inline-block;
        background: #fff;
        font-size: 3.889rem;
        line-height: 1;
        letter-spacing: 0.1em;
        font-weight: 800;
        position: relative;
        color: #4A6301;
        padding: 18px 33px 26px; }
        .cmn-sec-1 .blks-1center .heading-2__main span {
          font-size: 4.444rem; }
  @media screen and (max-width: 768px) {
    .cmn-sec-1 {
      height: auto; }
      .cmn-sec-1::before {
        bottom: 0; }
      .cmn-sec-1__inner {
        position: relative;
        z-index: 1;
        height: 66.67vw; }
        .cmn-sec-1__inner::after {
          right: 0;
          width: 100%;
          height: 47.62vw; }
      .cmn-sec-1 .blks-1 {
        display: block;
        height: auto;
        position: absolute;
        bottom: 8.33vw;
        left: 0;
        z-index: 3;
        padding: 0 4.76vw; }
        .cmn-sec-1 .blks-1._type-2 {
          bottom: 0;
          right: 0; }
        .cmn-sec-1 .blks-1 .heading {
          text-align: left;
          padding-top: 0; }
          .cmn-sec-1 .blks-1 .heading__main {
            font-size: 8.57vw;
            right: auto;
            margin-bottom: 1.19vw; }
          .cmn-sec-1 .blks-1 .heading__sub {
            font-size: 3.33vw;
            right: auto; }
        .cmn-sec-1 .blks-1 .heading-2 {
          text-align: center;
          padding-top: 0; }
          .cmn-sec-1 .blks-1 .heading-2__main {
            display: block;
            font-size: 8.57vw;
            padding: 0;
            padding: 5.24vw 0; }
            .cmn-sec-1 .blks-1 .heading-2__main span {
              font-size: 8.57vw; }
      .cmn-sec-1 .blks-1center {
        display: block;
        height: auto;
        bottom: 0vw;
        left: 0;
        z-index: 3;
        padding: 9.52vw 4.76vw; }
        .cmn-sec-1 .blks-1center._type-2 {
          bottom: 0;
          right: 0; }
        .cmn-sec-1 .blks-1center .heading {
          text-align: left;
          padding-top: 0; }
          .cmn-sec-1 .blks-1center .heading__main {
            font-size: 8.57vw;
            right: auto;
            margin-bottom: 1.19vw; }
          .cmn-sec-1 .blks-1center .heading__sub {
            font-size: 3.33vw;
            right: auto; }
        .cmn-sec-1 .blks-1center .heading-2 {
          text-align: center;
          padding-top: 0; }
          .cmn-sec-1 .blks-1center .heading-2__main {
            display: block;
            font-size: 8.57vw;
            padding: 0;
            padding: 5.24vw 0; }
            .cmn-sec-1 .blks-1center .heading-2__main span {
              font-size: 8.57vw; } }

/* cmn-sec-2 */
.cmn-sec-2 {
  padding: 42px 0; }
  .cmn-sec-2 .blks-1 .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .cmn-sec-2 .blks-1 .list > li {
      position: relative; }
      .cmn-sec-2 .blks-1 .list > li:not(:last-child) {
        margin-right: 39px; }
      .cmn-sec-2 .blks-1 .list > li:hover span + .sub-nav {
        display: block; }
      .cmn-sec-2 .blks-1 .list > li > a,
      .cmn-sec-2 .blks-1 .list > li span {
        font-size: 1.111rem;
        line-height: 1.45;
        min-height: 29px;
        letter-spacing: 0.1em;
        display: inline-block;
        color: #4A6301;
        font-weight: 500; }
      .cmn-sec-2 .blks-1 .list > li > a:hover {
        opacity: 0.8;
        text-decoration: none; }
  .cmn-sec-2 .blks-1 .sub-nav {
    display: none;
    position: absolute;
    bottom: 35px;
    z-index: 99; }
    .cmn-sec-2 .blks-1 .sub-nav ul {
      width: 200px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 10px 27px 30px;
      background: rgba(255, 255, 255, 0.9); }
      .cmn-sec-2 .blks-1 .sub-nav ul li {
        line-height: 1.5; }
        .cmn-sec-2 .blks-1 .sub-nav ul li:not(:last-child) {
          margin-bottom: 9px; }
        .cmn-sec-2 .blks-1 .sub-nav ul li a {
          font-size: 0.889rem;
          letter-spacing: 0.1em;
          color: #4A6301; }
          .cmn-sec-2 .blks-1 .sub-nav ul li a:hover {
            opacity: 0.8;
            text-decoration: none; }
  @media screen and (min-width: 769px) {
    .cmn-sec-2 .blks-1 .sub-nav {
      max-height: none !important; } }
  @media screen and (max-width: 768px) {
    .cmn-sec-2 {
      padding: 2.38vw 0; }
      .cmn-sec-2 .blks-1 .list > li:not(:last-child) {
        margin-right: 4.76vw; }
      .cmn-sec-2 .blks-1 .list > li:hover span + .sub-nav {
        display: block; }
      .cmn-sec-2 .blks-1 .list > li > a,
      .cmn-sec-2 .blks-1 .list > li span {
        font-size: 2.86vw; }
        .cmn-sec-2 .blks-1 .list > li > a:hover,
        .cmn-sec-2 .blks-1 .list > li span:hover {
          opacity: 1; }
      .cmn-sec-2 .blks-1 .sub-nav {
        display: block;
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.3s;
        -o-transition: max-height 0.3s;
        transition: max-height 0.3s;
        bottom: 8.33vw; }
        .cmn-sec-2 .blks-1 .sub-nav ul {
          width: 47.62vw;
          padding: 2.38vw 3.57vw; }
          .cmn-sec-2 .blks-1 .sub-nav ul li:not(:last-child) {
            margin-bottom: 1.43vw; }
          .cmn-sec-2 .blks-1 .sub-nav ul li a {
            font-size: 2.86vw; } }
