/*! Writen  by SCSS */
.main .img .gd {
  background: linear-gradient(0deg, #ebf5ec, rgba(235, 245, 236, 0)); }
.main .inn .inner .p_ttl {
  font-size: clamp(30px, calc(72vw / 16), 72px); }
  @media screen and (max-width: 767px) {
    .main .inn .inner .p_ttl {
      font-size: calc(40vw / 7.67); } }
  @media screen and (max-width: 480px) {
    .main .inn .inner .p_ttl {
      font-size: calc(42vw / 4.8); } }
.main .inn .inner .t1 {
  font-size: clamp(12px, calc(26vw / 16), 26px);
  text-shadow: 0 0 8px white;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-bottom: 2vw;
  text-align: center;
  font-weight: 700; }
  @media screen and (max-width: 1500px) {
    .main .inn .inner .t1 {
      margin-bottom: 1em; } }
  @media screen and (max-width: 480px) {
    .main .inn .inner .t1 {
      margin-bottom: 2.5em;
      font-size: calc(17vw / 3.9);
      font-size: calc(16vw / 3.9);
      text-shadow: 0 0 8px white;
      text-shadow: 0px 0px 0px white, 0px 0px 1px white, 0px 0px 2px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 5px white, 0px 0px 6px white, 0px 0px 7px white, 0px 0px 8px white; } }
.main .inn .inner .t2 {
  font-size: clamp(12px, calc(22vw / 16), 22px);
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: center;
  width: fit-content;
  margin: 0 auto 4vw;
  padding: 1em 2em;
  color: #fff;
  position: relative;
  font-weight: 700; }
  .main .inn .inner .t2 p {
    position: relative;
    z-index: 5; }
  .main .inn .inner .t2::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #869f8b;
    mix-blend-mode: multiply; }
  @media screen and (max-width: 1600px) {
    .main .inn .inner .t2 {
      margin-bottom: 1.5em; } }
  @media screen and (max-width: 767px) {
    .main .inn .inner .t2 {
      padding: 0.5em 1em;
      margin-bottom: 0.8em; } }
  @media screen and (max-width: 480px) {
    .main .inn .inner .t2 {
      padding: 1em 2em;
      margin-bottom: 8em;
      font-size: calc(13vw / 3.9); } }

.contarea {
  background: #ebf5ec; }
  .contarea .cap_l {
    font-size: 12px; }
    @media screen and (max-width: 480px) {
      .contarea .cap_l {
        font-size: 10px; } }

.sec .bg {
  background: url("../img/zeh/bg1.png") center 8vw/100% auto no-repeat; }
.sec .txt00 {
  font-size: clamp(12px, calc(52vw / 15), 52px);
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 700; }
  .sec .txt00 .s1 {
    font-size: 75%; }
  @media screen and (max-width: 480px) {
    .sec .txt00 {
      font-size: calc(27vw / 3.9); } }

.sec0 {
  margin-bottom: 0;
  padding: 80px 0 80px;
  max-width: 100%; }
  @media screen and (max-width: 767px) {
    .sec0 {
      padding: 40px 0 40px; } }
  .sec0 .inner {
    max-width: 1180px; }
  .sec0 .img100 {
    margin-inline: auto; }
    @media screen and (max-width: 480px) {
      .sec0 .img100 {
        width: 25%; } }
  .sec0 .box01 {
    max-width: 800px;
    margin-inline: auto; }
    .sec0 .box01 ul {
      display: flex;
      justify-content: center;
      gap: calc(40% / 8); }
      @media screen and (max-width: 480px) {
        .sec0 .box01 ul {
          width: 80%;
          margin-inline: auto;
          flex-direction: column;
          gap: 30px; }
          .sec0 .box01 ul li {
            width: 100%; } }
    .sec0 .box01 .cap101 {
      margin: 12px 0 0 9px; }
      @media screen and (max-width: 480px) {
        .sec0 .box01 .cap101 {
          margin: 10px 0 0; } }
  .sec0 .box02 {
    display: flex;
    gap: calc(60% / 11.8); }
    @media screen and (max-width: 480px) {
      .sec0 .box02 {
        flex-direction: column;
        gap: 20px; } }
    .sec0 .box02 li {
      width: calc(560% / 11.8);
      background: #fff;
      box-shadow: 0 0 10px 0 #b0cad3;
      position: relative;
      padding: 35px;
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      @media screen and (max-width: 480px) {
        .sec0 .box02 li {
          width: 100%;
          padding: 20px 15px; } }
      .sec0 .box02 li::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 60px;
        height: 60px;
        clip-path: polygon(100% 0, 0 0, 0 100%);
        background: #b2c5b0; }
        @media screen and (max-width: 480px) {
          .sec0 .box02 li::after {
            width: 30px;
            height: 30px; } }
      .sec0 .box02 li .img.img1 {
        width: calc(100% + 38px);
        margin-inline: -19px;
        text-align: center; }
        @media screen and (max-width: 480px) {
          .sec0 .box02 li .img.img1 {
            width: calc(100% + 30px);
            margin-inline: -15px;
            padding-bottom: 10px; } }
      .sec0 .box02 li .img.img2 {
        width: calc(100% + 30px);
        margin-inline: -15px; }
        @media screen and (max-width: 480px) {
          .sec0 .box02 li .img.img2 {
            width: 100%;
            margin: 0; } }
      .sec0 .box02 li .t1 {
        font-size: clamp(12px, calc(22vw / 11.8), 22px);
        line-height: 1.6;
        letter-spacing: 0.1em;
        text-align: center;
        margin-bottom: 1.2em;
        font-weight: 700; }
        @media screen and (max-width: 480px) {
          .sec0 .box02 li .t1 {
            font-size: calc(19vw / 3.9);
            font-size: calc(18vw / 3.9); } }
      .sec0 .box02 li .t2 {
        font-size: clamp(12px, calc(17vw / 11.8), 17px);
        line-height: 1.6;
        letter-spacing: 0.05em;
        margin-bottom: 1em; }
        @media screen and (max-width: 480px) {
          .sec0 .box02 li .t2 {
            font-size: calc(13vw / 3.9);
            line-height: 1.9;
            margin-bottom: 1.5em; } }
  .sec0 .box03 .ttl {
    font-size: clamp(12px, calc(22vw / 11.8), 26px);
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: center;
    font-weight: 700;
    padding: 0.6em;
    background: url("../img/zeh/img200.jpg") left center/cover; }
    @media screen and (max-width: 480px) {
      .sec0 .box03 .ttl {
        padding: 1.2em 0.3em;
        padding: 1.7em 0.3em;
        font-size: calc(17vw / 3.9);
        font-size: calc(18vw / 3.9); } }
  .sec0 .box03 ul {
    display: flex; }
    @media screen and (max-width: 480px) {
      .sec0 .box03 ul {
        display: block; } }
    .sec0 .box03 ul li {
      width: 25%;
      padding: 15% 0;
      display: flex;
      flex-direction: column; }
      @media screen and (max-width: 480px) {
        .sec0 .box03 ul li {
          width: 100%;
          margin: 0;
          padding: 24px 0;
          display: flex;
          align-items: center;
          gap: 0;
          row-gap: 10px; } }
      .sec0 .box03 ul li .t1 {
        font-size: clamp(12px, calc(22vw / 11.8), 22px);
        line-height: 1.2;
        letter-spacing: 0.1em;
        text-align: center;
        font-weight: 700;
        color: #fff;
        text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.6);
        margin-bottom: 2em; }
        .sec0 .box03 ul li .t1 .l {
          font-size: 150%; }
          @media screen and (max-width: 480px) {
            .sec0 .box03 ul li .t1 .l {
              font-size: 160%; } }
        @media screen and (max-width: 480px) {
          .sec0 .box03 ul li .t1 {
            margin-bottom: 0;
            font-size: calc(17vw / 3.9);
            width: 9em;
            line-height: 1.4;
            width: 100%; } }
      .sec0 .box03 ul li .t2 {
        font-size: clamp(12px, calc(17vw / 11.8), 17px);
        line-height: 1.6;
        letter-spacing: 0.1em;
        text-align: center;
        font-weight: 700;
        color: #fff;
        text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.6); }
        @media screen and (max-width: 480px) {
          .sec0 .box03 ul li .t2 {
            font-size: calc(13vw / 3.9);
            font-size: calc(14vw / 3.9);
            flex: 1; } }
      .sec0 .box03 ul li:nth-child(1) {
        background: url("../img/zeh/img201.jpg") center center/cover; }
        @media screen and (max-width: 480px) {
          .sec0 .box03 ul li:nth-child(1) {
            background: url("../img/zeh/img201_sp.jpg") center center/cover; } }
      .sec0 .box03 ul li:nth-child(2) {
        background: url("../img/zeh/img202.jpg") center center/cover; }
        @media screen and (max-width: 480px) {
          .sec0 .box03 ul li:nth-child(2) {
            background: url("../img/zeh/img202_sp.jpg") center center/cover; } }
      .sec0 .box03 ul li:nth-child(3) {
        background: url("../img/zeh/img203.jpg") center center/cover; }
        @media screen and (max-width: 480px) {
          .sec0 .box03 ul li:nth-child(3) {
            background: url("../img/zeh/img203_sp.jpg") center center/cover; } }
      .sec0 .box03 ul li:nth-child(4) {
        background: url("../img/zeh/img204.jpg") center center/cover; }
        @media screen and (max-width: 480px) {
          .sec0 .box03 ul li:nth-child(4) {
            background: url("../img/zeh/img204_sp.jpg") center center/cover; } }

@media (min-width: 768px) {
  .msn-headlineCopy {
    margin-bottom: 2.2rem; } }
@media (max-width: 767px) {
  .msn-headlineCopy {
    margin-bottom: 2.5rem; } }

.sec1 {
  margin-bottom: 0;
  padding: 0 0 80px;
  max-width: 100%; }
  @media screen and (max-width: 480px) {
    .sec1 {
      padding-bottom: 50px; } }
  .sec1 .inner {
    max-width: 960px; }
  @media screen and (max-width: 480px) {
    .sec1 .cap {
      font-size: 7px; } }
  .sec1 .box10 {
    padding: 3em 0;
    background: url("../img/zeh/img300.png") center center/auto 100% no-repeat;
    font-size: clamp(12px, calc(17vw / 9.6), 30px);
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .sec1 .box10 {
        font-size: calc(18vw / 3.9); } }
    .sec1 .box10 .t1 {
      line-height: 1;
      border-bottom: solid 1px #189b49;
      width: fit-content;
      padding: 0 0.4em 0.5em;
      margin: 0 auto 0.7em;
      font-weight: 700; }
    .sec1 .box10 .t2 {
      font-size: 75%;
      line-height: 1.8;
      font-weight: 700; }
      @media screen and (max-width: 480px) {
        .sec1 .box10 .t2 {
          font-size: 80%;
          line-height: 2; } }
  .sec1 .col3 {
    flex-wrap: wrap;
    display: flex;
    gap: 40px calc(30% / 9.6); }
    @media screen and (max-width: 480px) {
      .sec1 .col3 {
        gap: 30px 4%; } }
    .sec1 .col3 li {
      width: calc(300% / 9.6);
      display: flex;
      row-gap: 15px;
      flex-direction: column; }
      @media screen and (max-width: 480px) {
        .sec1 .col3 li {
          row-gap: 10px;
          width: 48%; }
          .sec1 .col3 li.sp_w {
            width: 100%;
            flex-direction: row;
            gap: 4%; }
            .sec1 .col3 li.sp_w > div {
              width: 48%; } }
      .sec1 .col3 li .text_wrap .ttl {
        text-align: center;
        font-size: clamp(10px, calc(18vw / 9.6), 18px);
        letter-spacing: 0.05em;
        line-height: 1.3;
        padding-bottom: 0.2em;
        margin-bottom: 0.4em;
        border-bottom: solid 1px #189b49;
        color: #189b49; }
      .sec1 .col3 li .text_wrap .ttl .small {
        font-size: 80%; }
      .sec1 .col3 li .text_wrap .ttl .small_02 {
        font-size: 94%; }
      @media screen and (max-width: 480px) {
        .sec1 .col3 li .text_wrap .ttl {
          font-size: calc(16vw / 3.9);
          font-size: calc(14vw / 3.9); } }
      .sec1 .col3 li .read {
        font-size: clamp(10px, calc(15vw / 9.6), 15px);
        letter-spacing: 0.05em;
        line-height: 1.5;
        margin-bottom: 0; }
      .sec1 .col3 li .read.ltsp {
        letter-spacing: 0.01em; }
      @media screen and (max-width: 480px) {
        .sec1 .col3 li .read {
          font-size: calc(12vw / 3.9); } }
      .sec1 .col3 li .read .small {
        font-size: 80%;
        display: block;
        line-height: 1.6; }

.sec2 {
  margin-bottom: 0;
  padding: 0;
  max-width: 100%; }
  .sec2 .img400 {
    position: relative; }
    .sec2 .img400 .copy {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      padding: 1em 3em;
      font-size: clamp(12px, calc(26vw / 14), 26px);
      line-height: 2;
      letter-spacing: 0.1em;
      font-weight: 700; }
      @media screen and (max-width: 480px) {
        .sec2 .img400 .copy {
          align-items: flex-start;
          font-size: calc(16vw / 3.9);
          padding: 35px 20px;
          text-shadow: 0px 0px 0px white, 0px 0px 1px white, 0px 0px 2px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 5px white, 0px 0px 6px white, 0px 0px 7px white, 0px 0px 8px white; } }
  .sec2 .icon {
    text-align: center;
    margin-bottom: 5px; }
    @media screen and (max-width: 480px) {
      .sec2 .icon {
        margin-inline: auto;
        width: 25%;
        margin-bottom: 10px; } }
  .sec2 .t0 {
    font-size: clamp(12px, calc(22vw / 9.6), 22px);
    line-height: 1.1;
    letter-spacing: 0.1em;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1em; }
    @media screen and (max-width: 480px) {
      .sec2 .t0 {
        font-size: calc(14vw / 3.9);
        line-height: 1.4;
        margin-bottom: 1.1em; } }
    .sec2 .t0 .c {
      color: #189b49; }
    .sec2 .t0 .l1 {
      font-size: 150%; }
    .sec2 .t0 .l2 {
      font-size: 260%; }
  .sec2 .box20 {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec2 .box20 {
        display: block; } }
    .sec2 .box20 .txt {
      width: calc(440% / 9.6); }
      @media screen and (max-width: 480px) {
        .sec2 .box20 .txt {
          width: 100%; } }
      .sec2 .box20 .txt .t1 {
        font-size: clamp(10px, calc(17vw / 9.6), 17px);
        line-height: 1.7;
        letter-spacing: 0.1em;
        font-weight: 700; }
        @media screen and (max-width: 480px) {
          .sec2 .box20 .txt .t1 {
            line-height: 1.9;
            font-size: calc(13vw / 3.9); } }
    .sec2 .box20 .fig {
      width: calc(480% / 9.6); }
      @media screen and (max-width: 480px) {
        .sec2 .box20 .fig {
          width: 100%;
          margin: 15px 0; } }
  .sec2 .bg1 {
    background: url("../img/zeh/img500.jpg") center center/cover;
    padding: calc(90% / 16) 0; }
    .sec2 .bg1 .inner {
      font-size: clamp(10px, calc(22vw / 9.6), 22px);
      line-height: 2.4;
      font-weight: 700;
      text-align: center;
      letter-spacing: 0.1em;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 1.1em; }
      @media screen and (max-width: 480px) {
        .sec2 .bg1 .inner {
          gap: 1.2em;
          font-size: calc(15vw / 3.9); } }
    @media screen and (max-width: 480px) {
      .sec2 .bg1 {
        background: url("../img/zeh/img500_sp.jpg") center center/cover;
        padding: calc(70% / 4.8) 0; } }

.bold {
  font-weight: 900; }

.color_w {
  color: #fff; }

.ls_01 {
  letter-spacing: -0.01em; }

.ls_02 {
  letter-spacing: -0.02em; }

.ls_03 {
  letter-spacing: -0.03em; }

.ls_04 {
  letter-spacing: -0.04em; }

.ls_05 {
  letter-spacing: -0.05em; }

.ls_06 {
  letter-spacing: -0.06em !important; }

.fw_min {
  font-weight: 200 !important; }

.no_shadow {
  text-shadow: none !important; }

@media screen and (max-width: 480px) {
  .swipe1 {
    width: calc(100% + 40px);
    margin: 0 -20px; }
    .swipe1 img {
      width: 530px;
      max-width: 530px; } }

/*# sourceMappingURL=zeh.css.map */
