@import url(base.css);
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:200&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300&display=swap&subset=japanese");
.header span.half {
  margin-left: -.5em; }
.header .menu-trigger, .header .menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box; }
.header .menu-trigger {
  position: fixed;
  z-index: 1000;
  top: 34px;
  right: 86px;
  width: 40px;
  height: 28px; }
  .header .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #66932e;
    border-radius: 1px; }
    .header .menu-trigger span:nth-of-type(1) {
      top: 0; }
    .header .menu-trigger span:nth-of-type(2) {
      top: 14px; }
    .header .menu-trigger span:nth-of-type(3) {
      bottom: 0; }
.header .menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(13px) rotate(-45deg);
  transform: translateY(13px) rotate(-45deg); }
.header .menu-trigger.active span:nth-of-type(2) {
  opacity: 0; }
.header .menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-13px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg); }

.mail-button {
  z-index: 500;
  position: relative;
  margin-top: 45px; }

.mail-button a {
  position: absolute;
  right: 6%;
  width: 90px;
  height: 90px;
  display: block;
  background: #7cab60;
  border-radius: 50%;
  text-align: center;
  padding-top: 26px; }
  .mail-button a:hover {
    background: #74bf92; }

.headline {
  position: relative;
  width: 100%;
  height: 27.57vw;
  z-index: -100; }
  .headline .bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -200;
    width: 70%; }
  .headline .headline-img {
    position: absolute;
    top: 7.187vw;
    left: 21.6%;
    width: 78.4%; }
  .headline .headline-ttl {
    position: absolute;
    font-weight: 500;
    color: #fff;
    font-size: 26px;
    letter-spacing: 2px;
    top: 15.4vw;
    left: 24.4%; }
  .headline .headline-ttl-en {
    position: absolute;
    top: 18.7vw;
    left: 21%;
    display: block;
    width: 180px;
    line-height: 32px;
    background: #fff;
    color: #66922e;
    padding-left: 42px;
    letter-spacing: 1.5px;
    font-size: 16px; }
    .headline .headline-ttl-en:before {
      content: "";
      border-top: #000 1px solid;
      width: 17px;
      display: block;
      position: absolute;
      top: 50%;
      left: -17px; }

.pnkz {
  position: relative; }
  .pnkz ul {
    position: absolute;
    top: 0;
    left: 10%; }

.area-ttl {
  font-size: 24px;
  letter-spacing: .3px;
  text-align: center; }

.bottom-line {
  width: 100%;
  height: auto;
  margin-bottom: 42px; }

.top-area {
  margin-top: 120px;
  height: 547px; }
  .top-area .inner {
    width: 1100px;
    margin: 0 auto;
    position: relative; }
    .top-area .inner .imgbox .img1 {
      position: absolute;
      width: 443px;
      height: 214px;
      top: 0;
      left: 0;
      box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); }
    .top-area .inner .imgbox .img2 {
      position: absolute;
      width: 268px;
      height: 189px;
      top: 84px;
      left: 272px;
      box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); }
    .top-area .inner .txtbox {
      position: absolute;
      top: 99px;
      right: -8px;
      width: 470px; }
      .top-area .inner .txtbox .catch {
        font-family: 'Noto Serif JP', serif;
        font-size: 24px;
        font-weight: 300;
        line-height: 46px;
        margin-bottom: 27px;
        letter-spacing: 4.9px; }
      .top-area .inner .txtbox .top-txt {
        font-size: 14px;
        line-height: 29px;
        letter-spacing: .3px;
        width: 100%; }

.catch-line {
  background: url("../img/flow/img01-xs.png") no-repeat;
  background-size: cover;
  padding: 89px 0 80px;
  margin-bottom: 53px; }
  .catch-line .catch {
    color: #fff;
    font-size: 28px;
    text-align: center;
    letter-spacing: .5px; }

.highlight {
  background: rgba(169, 207, 173, 0.1);
  padding: 97px 0 108px; }
  .highlight .area-ttl {
    text-align: center;
    margin-bottom: 69px;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: 2px; }
  .highlight .highlight-list {
    width: 1100px;
    margin: 0 auto; }
    .highlight .highlight-list li {
      display: flex;
      margin-bottom: 95px; }
      .highlight .highlight-list li img {
        width: 463px;
        height: 220px;
        margin-right: 58px; }
      .highlight .highlight-list li .txtbox {
        width: 425px;
        margin-top: 16px; }
        .highlight .highlight-list li .txtbox .num {
          font-size: 24px;
          font-family: "Roboto", sans-serif;
          color: #66932e;
          position: relative;
          margin-bottom: 33px; }
          .highlight .highlight-list li .txtbox .num:after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -19px;
            border-bottom: #66932e 2px solid;
            width: 78px; }
        .highlight .highlight-list li .txtbox .catch {
          font-family: 'Noto Serif JP', serif;
          font-size: 24px;
          line-height: 45px;
          letter-spacing: 4x;
          font-weight: 200;
          margin: 0 0 14px 5px; }
          .highlight .highlight-list li .txtbox .catch span {
            margin: 0 -.5em 0 -.2em; }
        .highlight .highlight-list li .txtbox .highlight-txt {
          font-size: 14px;
          line-height: 29px;
          margin-left: 5px;
          letter-spacing: .4px;
          text-align: justify; }
    .highlight .highlight-list li:nth-child(even) {
      justify-content: flex-end; }
      .highlight .highlight-list li:nth-child(even) img {
        margin: 0 0 0 52px; }
    .highlight .highlight-list li:last-child {
      margin-bottom: 0; }

.contact {
  margin: 71px auto; }
  .contact .link-btn a {
    display: block;
    width: 270px;
    font-size: 14px;
    padding: 17px 0;
    border: #66932e 1px solid;
    background: #fff;
    color: #66932e;
    position: relative;
    margin: 28px auto;
    text-align: center; }
    .contact .link-btn a .fa-chevron-right {
      position: absolute;
      top: 40%;
      left: 15px; }
    .contact .link-btn a:hover {
      background: #66932e;
      color: #fff; }

.bnr {
  margin-top: 80px; }

@media screen and (max-width: 768px) {
  .header .menu-trigger {
    top: 15px;
    right: 15px; }

  .mail-button a {
    display: none; }

  .headline .headline-ttl {
    font-size: 20px;
    top: 13vw;
    left: 24.4%; }
  .headline .headline-ttl-en {
    top: 20vw;
    left: 5%;
    width: 140px;
    line-height: 23px;
    padding-left: 30px;
    font-size: 14px; }
    .headline .headline-ttl-en:before {
      left: -14px; }

  .pnkz {
    margin-top: 5px; }
    .pnkz ul {
      left: 0; }

  .area-ttl {
    font-size: 18px; }

  .top-area {
    margin: 0 0 50px;
    height: auto; }
    .top-area .inner {
      width: 100%;
      padding: 0 15px; }
      .top-area .inner .imgbox {
        display: none; }
      .top-area .inner .txtbox {
        position: relative;
        top: 0;
        right: 0;
        width: 100%; }
        .top-area .inner .txtbox .catch {
          font-size: 18px;
          line-height: 35px;
          margin-bottom: 20px;
          letter-spacing: 2px;
          text-align: center; }
        .top-area .inner .txtbox .top-txt {
          width: 100%;
          text-align: center;
          letter-spacing: 0; }

  .catch-line {
    padding: 50px 0;
    margin-bottom: 20px; }
    .catch-line .catch {
      font-size: 18px;
      line-height: 1.5; }

  .bottom-line {
    width: 100%;
    height: auto;
    margin-bottom: 42px; }

  .highlight {
    padding: 40px 0 40px; }
    .highlight .area-ttl {
      margin-bottom: 30px;
      font-size: 18px; }
    .highlight .highlight-list {
      width: 100%;
      margin: 0 auto;
      padding: 0 15px; }
      .highlight .highlight-list li {
        display: block;
        margin-bottom: 40px; }
        .highlight .highlight-list li img {
          width: 100%;
          height: auto;
          margin: 0 0 15px 0; }
        .highlight .highlight-list li .txtbox {
          width: 100%;
          margin-top: 16px; }
          .highlight .highlight-list li .txtbox .num {
            font-size: 25px;
            margin-bottom: 25px;
            text-align: center; }
            .highlight .highlight-list li .txtbox .num:after {
              bottom: -10px;
              left: calc(50% - 39px);
              width: 78px; }
          .highlight .highlight-list li .txtbox .catch {
            font-size: 18px;
            line-height: 34px;
            letter-spacing: 2px;
            margin: 0 0 12px 0;
            text-align: center; }
          .highlight .highlight-list li .txtbox .highlight-txt {
            font-size: 14px;
            line-height: 26px;
            margin-left: 0;
            letter-spacing: .4px;
            text-align: center; }
      .highlight .highlight-list li:nth-child(even) {
        justify-content: flex-start; }
        .highlight .highlight-list li:nth-child(even) img {
          margin: 0 0 15px 0; }

  .bnr {
    margin-top: 0; } }
