:root {
  --color1: #e16c00;
  --color2: #e4eeb6;
  --border: 2px solid #fff;
  --trans: all 0.3s;
  --bg-color: #fff6ee;
  --shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.06);
  --120-60: clamp(3.75rem, 2.4738rem + 5.2356vw, 7.5rem);
  --80-40: clamp(2.5rem, 1.6492rem + 3.4904vw, 5rem);
  --60-30: clamp(1.875rem, 1.2369rem + 2.6178vw, 3.75rem);
  --50-20: clamp(1.25rem, 0.6119rem + 2.6178vw, 3.125rem);
  --40-28: clamp(1.75rem, 1.4948rem + 1.0471vw, 2.5rem);
  --40-20: clamp(1.25rem, 0.8246rem + 1.7452vw, 2.5rem);
  --20-18: clamp(1.125rem, 1.0825rem + 0.1745vw, 1.25rem);
  --20-14: clamp(0.875rem, 0.7474rem + 0.5236vw, 1.25rem);
  --16-14: clamp(0.875rem, 0.8325rem + 0.1745vw, 1rem);
  --38-20: clamp(1.25rem, 0.8671rem + 1.5707vw, 2.375rem);
}

/* ----------------------------

共通項目

------------------------------*/

html {
  scroll-behavior: smooth;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

body {
  font-family: "Zen Kaku Gothic New", "YuGothic", "Yu Gothic", sans-serif;
  color: #3d3d3d;
  background-color: var(--bg-color);
  min-height: 100vh;
  overflow-x: hidden;
  line-height: 1.5;
}

section {
  padding: 160px 0;
  @media screen and (max-width: 960px) {
    padding: 80px 0;
  }
}

.check-box-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 40px;
  li {
    padding-left: 55px;
    font-size: 18px;
    font-weight: 700;
    color: #405d25;
    position: relative;
  }
  li::before {
    content: "";
    background-image: url(../img/check-box-gr.svg);
    background-repeat: no-repeat;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.check-box-list.il {
  li::before {
    background-image: url(../img/check-box-or.svg);
  }
}
@media screen and (max-width: 960px) {
  .check-box-list {
    gap: 10px;
    margin-bottom: 20px;
    li {
      padding-left: 35px;
      font-size: 16px;
    }
    li::before {
      width: 20px;
      height: 20px;
      background-size: contain;
      translate: 0 5px;
    }
  }
}

.fw-m {
  font-weight: 500;
}
.fw-b {
  font-weight: 700;
}
.fw-bl {
  font-weight: 900;
}
.fc-gr {
  color: #405d25;
}
.t-xs {
  font-size: 12px;
}
.t-s {
  font-size: clamp(0.75rem, 0.5633rem + 0.4479vw, 1rem);
}
.mb-60 {
  margin-bottom: 60px;
}

.bg-gr {
  background-color: var(--color2);
}
a {
  width: fit-content;
}

.sec-title {
  font-size: clamp(1.5625rem, -3.6458rem + 6.9444vw, 3.125rem);
  line-height: 1.5;
  font-weight: 700;
  color: #405d25;
  margin-bottom: 30px;
  @media screen and (max-width: 960px) {
    margin-bottom: 15px;
  }
}

.sec-title.il {
  position: relative;
}

.sec-title.il::before {
  position: absolute;
  bottom: 0;
  left: -180px;
  content: "";
  background-image: url(../img/obj1.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 362px;
  height: 298px;
  z-index: -1;
  @media screen and (max-width: 768px) {
    left: -90px;
    width: 181px;
    height: 148px;
  }
}

.desc {
  font-size: clamp(1rem, 0.8788rem + 0.2525vw, 1.125rem);
  line-height: 2;
}

.inner1 {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  @media screen and (max-width: 1300px) {
    width: calc(100% - 100px);
  }
  @media screen and (max-width: 960px) {
    width: calc(100% - 40px);
  }
}
.inner1.il {
  width: calc(100% - 40px);
}

.line-top {
  position: absolute;
  top: -30px;
  width: 100vw;
  overflow: hidden;
  img {
    width: 100vw;
    display: block;
    object-fit: cover;
  }
}
.line-under {
  position: absolute;
  bottom: -30px;
  width: 100vw;
  overflow: hidden;
  img {
    width: 100vw;
    display: block;
    object-fit: cover;
  }
}
@media screen and (max-width: 677px) {
  .line-top {
    top: -10px;
  }
  .line-under {
    bottom: -10px;
  }
}

/* ----------------------------

ボタン

------------------------------*/

.btn {
  background-color: #fff8f3;
  border: var(--border);
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 100px;
  transition: all 0.3s;
  width: 100%;
  max-width: 260px;
  box-shadow: var(--shadow);
  span {
    font-size: 18px;
    font-weight: 500;
    margin-left: 20px;
  }
}
.btn:hover {
  background-color: var(--color1);
  span {
    color: #fff;
  }
  svg {
    rect {
      fill: #fff;
    }
    path {
      stroke: var(--color1);
    }
  }
}
.btn.il {
  background-color: var(--color1);
  transition: all 0.3s;
  span {
    color: #fff;
  }
}
.btn.il:hover {
  background-color: #fff8f3;
  span {
    color: #3d3d3d;
  }
  svg {
    rect {
      fill: var(--color1);
    }
    path {
      stroke: #fff;
    }
  }
}
@media screen and (max-width: 960px) {
  .btn {
    padding: 9px;
    max-width: 240px;
    span {
      font-size: 16px;
      margin-left: 11px;
    }
  }
}

.flex {
  display: flex;
}
.flex-sb {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.flex-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.area-box {
  background-color: #ffefe0;
  border-radius: 1000px;
  padding: 60px;
  text-align: center;
  position: relative;
  margin-bottom: 60px;
  .img {
    position: absolute;
    top: -70px;
    right: -70px;
    height: 144px;
    @media screen and (max-width: 1350px) {
      right: 0px;
    }
    img {
      height: 100%;
    }
  }
  h3 {
    font-size: clamp(1.0625rem, -0.0375rem + 1.8333vw, 1.75rem);
    color: var(--color1);
    margin-bottom: 60px;
    position: relative;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  h3::after {
    content: "";
    position: absolute;
    bottom: -18px;
    left: 0;
    background-image: url(../img/img-wave.svg);
    background-repeat: no-repeat;
    height: 12px;
    width: 100%;
  }
  .desc.fw-b {
    font-size: 18px;
    margin-bottom: 10px;
  }
}

.area-box.il {
  margin-top: 160px;
}
@media screen and (max-width: 960px) {
  .area-box {
    border-radius: 80px;
    padding: 60px 20px;
    margin-bottom: 30px;
    margin-top: 80px;
    @media screen and (max-width: 677px) {
      width: calc(100% + 20px);
      margin-left: -10px;
    }
    .img {
      height: 81px;
      top: -40px;
    }
    h3 {
      margin-bottom: 37px;
    }

    .desc.fw-b {
      font-size: 16px;
    }
  }
  .area-box.il {
    margin-top: 80px;
  }
}

/* モバイル改行 */

.sp {
  display: none;
}

@media screen and (max-width: 667px) {
  .sp {
    display: block;
  }
}

.pc {
  display: block;
}

@media screen and (max-width: 667px) {
  .pc {
    display: none;
  }
}

/* ----------------------------

ヘッダー

------------------------------*/

header {
  position: fixed;
  top: 20px;
  width: 100vw;
  z-index: 800;
  @media screen and (max-width: 960px) {
    top: 0;
  }

  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    height: 100px;
    background-color: #fff;
    width: calc(100vw - 40px);
    max-width: 1650px;
    padding: 10px;
    margin: 0 auto;
    border-radius: 999px;
    box-shadow: var(--shadow);
    @media screen and (max-width: 960px) {
      height: 75px;
      border-radius: 0 0 50px 50px;
      width: 100%;
    }
    .logo {
      height: clamp(2.25rem, 0.45rem + 3vw, 3.375rem);
      margin-left: 35px;
      img {
        height: 100%;
      }
      @media screen and (max-width: 960px) {
        margin-left: 30px;
        height: 36px;
      }
    }
    .spacer {
      flex: 1;
    }

    .contact-area {
      display: flex;
      flex-direction: column;

      .tel {
        display: flex;
        align-items: center;
        gap: 12px;
        transition: var(--trans);

        span {
          font-size: 30px;
          color: var(--color1);
        }
      }

      .tel:hover {
        opacity: 0.7;
      }
      @media screen and (max-width: 960px) {
        display: none;
      }
    }
    nav {
      ul.flex {
        li {
          transition: var(--trans);
          a {
            font-size: 15px;
            padding: 30px 15px;
          }
        }
        li:last-child {
          a {
            padding-right: 0;
          }
        }
        li:hover {
          color: var(--color1);
        }
      }
      @media screen and (max-width: 1500px) {
        display: none;
      }
    }
    .h-contact-btn {
      background-color: var(--color1);
      padding: 30px;
      display: grid;
      place-items: center;
      border-radius: 100px;
      transition: var(--trans);
      border: 2px var(--color1) solid;
      span {
        font-size: 15px;
        color: #fff;
      }
      @media screen and (max-width: 1500px) {
        display: none;
      }
    }
    .h-contact-btn:hover {
      background-color: #fff;

      span {
        color: var(--color1);
      }
    }
  }
}

#hamburger-menu-btn {
  margin-right: 10px;
  display: none;
  cursor: pointer;
  z-index: 900;
  @media screen and (max-width: 1500px) {
    display: block;
  }

  .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 7px;
    height: 53px;
    width: 59px;
    border-radius: 50px;
    position: relative;
    z-index: 999;
    background-color: var(--color1);

    span {
      display: block;
      height: 2px;
      width: 25px;
      background: #fff;
      transition: 0.2s all ease-in-out;
      border-radius: 100px;
    }
  }
}

#hamburger-menu-btn.active {
  z-index: 999;
  .box {
    background-color: #fff;
  }
  span:nth-child(1) {
    transform: rotate(45deg);
    translate: 0 4.5px;
    background-color: var(--color1);
  }
  span:nth-child(2) {
    display: none;
  }
  span:nth-child(3) {
    transform: rotate(-45deg);
    translate: 0 -4.5px;
    background-color: var(--color1);
  }
}

/* spメニュー */

#sp-header {
  width: 100vw;
  height: 100vh;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  z-index: -2;
  transition: var(--trans);
  background-color: rgba(61, 61, 61, 0.5);

  .wrapper {
    width: 276px;
    background-color: var(--color1);
    padding: 70px 30px;
    margin: 0 0 0 auto;
  }

  nav {
    .sp-menu {
      display: flex;
      flex-direction: column;
      justify-content: center;

      li {
        border-bottom: 1px #fff solid;
        text-align: left;
        transition: var(--trans);
        a {
          width: 100%;
          display: inline-block;
          padding: 20px 0;
          font-size: 15px;
          font-weight: 700;
          color: #fff;
        }
        a:hover {
          opacity: 0.6;
        }
      }
      li:last-child {
        border-bottom: 0;
        margin-bottom: 24px;
      }
    }
  }

  .sp-nav {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 20px;
    align-items: center;
    border-radius: 20px;
    padding: 10px;
  }

  .tel {
    display: flex;
    align-items: center;
    gap: 10px;
    .img {
      width: 20px;
    }
    span {
      font-size: 30px;
      color: #fff;
    }
  }
  .desc.t-xs {
    color: #fff;
    display: block;
    margin-bottom: 20px;
  }
  .h-contact-btn.sp-nav {
    background-color: #fff;
    border-radius: 100px;
    padding: 20px;
    text-align: center;

    span {
      font-size: 15px;
      color: var(--color1);
    }
  }
}

#sp-header.active {
  opacity: 1;
  z-index: +2;
  visibility: visible;
}

/* ----------------------------

トップページ-メインビジュアル

------------------------------*/

.mv {
  padding: 0;
  position: relative;
  margin-bottom: 60px;
  .flex {
    display: flex;
    justify-content: space-between;
    align-items: top;
    gap: var(--40-20);
  }
  .text-area {
    padding-top: 12vw;
    margin-left: calc((100vw - 1400px) / 2);
    @media screen and (max-width: 1500px) {
      margin-left: var(--50-20);
    }
    .sec-title {
      font-weight: 900;
    }

    .desc {
      max-width: 410px;
      margin-bottom: 60px;
      @media screen and (max-width: 1200px) {
        margin-bottom: 30px;
      }
    }
    .mv-img-icon {
      width: clamp(17.5rem, -27.2917rem + 59.7222vw, 30.9375rem);
      img {
        width: 100%;
        object-fit: cover;
      }
    }
  }
  .img {
    max-width: 956px;
    width: 60%;
    position: relative;
    .sp-img {
      display: none;
    }
    .img-point {
      position: absolute;
      bottom: 0;
      right: 50px;
      width: clamp(10.9375rem, 6.0358rem + 11.7581vw, 17.5rem);
    }
  }
}

@media screen and (max-width: 768px) {
  .mv {
    .flex {
      align-items: start;
      gap: 20px;
      flex-direction: column;
    }
    .text-area {
      width: 100%;
      margin-left: 0px;
      width: 100%;
      order: 1;
      padding: 0 20px;
      .desc {
        max-width: auto;
        width: 100%;
        margin-bottom: 30px;
      }
      .mv-img-icon {
        width: 100%;
        max-width: 500px;
        img {
          width: 100%;
          object-fit: cover;
        }
      }
    }
    .img {
      max-width: 800px;
      width: 90%;
      margin: 0 0 0 auto;
      .pc-img {
        display: none;
      }
      .sp-img {
        display: block;
        img {
          margin-right: 0;
          margin-left: auto;
        }
      }
      .img-point {
        right: 20px;
      }
    }
  }
}

.about {
  padding: 0;
  position: relative;
  .bg {
    position: absolute;
    left: 0;
    width: 1200px;
    height: 100%;
    background-color: var(--color2);
    border-radius: 0 54vw 54vw 0;
    z-index: -1;
    @media screen and (max-width: 1240px) {
      width: calc(100vw - 20px);
    }
  }
  .inner1 {
    padding: 160px 0;
    position: relative;
    .flex {
      gap: 42px;
      align-items: center;
      .l-cont {
        width: clamp(37.5rem, 16.6667rem + 27.7778vw, 43.75rem);
      }
    }
    .img {
      margin-right: -100px;
      width: clamp(31.25rem, 18.75rem + 16.6667vw, 35rem);
      img {
        width: 100%;
        object-fit: cover;
        border-radius: 300px 250px 300px 202px;
      }
    }
  }
  .desc {
    margin-bottom: 40px;
  }
  .btn-area {
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (max-width: 960px) {
  .about {
    .inner1 {
      padding: 80px 30px 80px 0;
      .flex {
        display: block;
        position: relative;
        .l-cont {
          width: 100%;
        }
        .r-cont {
          position: absolute;
          top: -100px;
          right: -30px;
        }
      }
      .img {
        margin-right: 0;
        width: clamp(9.375rem, 5.9783rem + 10.8696vw, 12.5rem);
        img {
          width: 100%;
          object-fit: cover;
          border-radius: 300px 250px 300px 202px;
        }
      }
    }
    .desc {
      margin-bottom: 20px;
    }

    .btn-area {
      flex-direction: column;
      align-items: start;
      gap: 20px;
    }
  }
}

.plan {
  .flex {
    margin-bottom: 80px;
    align-items: center;
    gap: 80px;
    .img {
      width: 420px;
      img {
        width: 100%;
        border-radius: 250px 300px 227px 202px;
      }
    }
    .desc.il {
      margin-bottom: 30px;
    }
    .marker {
      background-color: var(--color2);
      padding: 5px 2px;
      font-weight: 700;
    }
  }
  .btn-area {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 960px) {
  .plan {
    .flex {
      align-items: start;
      flex-direction: column;
      gap: 40px;
      margin-bottom: 40px;
      .l-cont {
        display: flex;
        justify-content: center;
        width: 100%;
      }
      .img {
        max-width: 420px;
        width: calc(100vw - 90px);
      }
      .desc.il {
        margin-bottom: 15px;
      }
    }
  }
}

.doukou {
  position: relative;
  .flex {
    align-items: center;
    justify-content: space-between;
    gap: 80px;
    .l-cont {
      .desc {
        margin-bottom: 60px;
      }
    }
    .r-cont {
    }
  }
  .img {
    width: 420px;
    img {
      width: 100%;
      border-radius: 191px 229px 173px 217px;
    }
  }
}
@media screen and (max-width: 960px) {
  .doukou {
    .flex {
      flex-direction: column;
      align-items: start;
      gap: 40px;
      .l-cont {
        order: 1;
        .desc {
          margin-bottom: 30px;
        }
      }
    }
    .r-cont {
      display: flex;
      justify-content: center;
      width: 100%;
    }
    .img {
      max-width: 420px;
      width: calc(100vw - 90px);
      margin: 0 auto;
    }
  }
}

.voice {
  position: relative;
  .flex {
    align-items: center;
    gap: 80px;
    justify-content: space-between;
    .img {
      width: 420px;
      img {
        width: 100%;
        border-radius: 191px 229px 179px 185px;
      }
    }
    .r-cont {
      .desc {
        margin-bottom: 30px;
      }
      .desc.mb-60 {
        margin-bottom: 60px;
      }
    }
  }
}
@media screen and (max-width: 960px) {
  .voice {
    .flex {
      flex-direction: column;
      align-items: start;
      gap: 40px;
      .l-cont {
        display: flex;
        justify-content: center;
        width: 100%;
      }
      .img {
        max-width: 420px;
        width: calc(100vw - 90px);
        margin: 0 auto;
      }
      .r-cont {
        .desc {
          margin-bottom: 15px;
        }
        .desc.mb-60 {
          margin-bottom: 30px;
        }
      }
    }
  }
}

.news {
  h2 {
    margin-bottom: var(--80-40);
  }
  .news-list {
    display: flex;
    gap: clamp(1.25rem, 0.3992rem + 3.4904vw, 3.75rem);
    margin-bottom: var(--80-40);
    li {
      width: calc(
        (100% - (clamp(1.25rem, 0.3992rem + 3.4904vw, 3.75rem) * 2)) / 3
      );
      transition: var(--trans);
      .card {
        display: flex;
        flex-direction: column;
        .img {
          width: 100%;
          margin-bottom: 20px;
          aspect-ratio: 16 / 9;
          overflow: hidden;

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: var(--50-20);
          }
        }
        h3.title {
          font-size: var(--16-14);
          margin-bottom: 10px;
        }
        .flex {
          gap: 20px;
          align-items: center;
          .date {
            font-size: 14px;
          }
          .category {
            font-size: 12px;
            background-color: #ffefe0;
            display: grid;
            place-items: center;
            color: var(--color1);
            border-radius: 2px;
            padding: 4px;
          }
        }
      }
    }
    li:hover {
      scale: 1.02;
    }
  }
  .btn {
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 960px) {
  .news {
    padding: 60px 0;
    .news-list {
      flex-direction: column;
      li {
        width: 100%;
        .card {
          flex-direction: row;
          align-items: center;
          gap: 15px;
          .img {
            width: 30%;
            margin-bottom: 0;
          }
          h3.title {
            margin-bottom: 8px;
          }
          .flex {
            gap: 15px;
            align-items: center;
            .date {
              font-size: 12px;
            }
            .category {
              font-size: 10px;
            }
          }
        }
      }
    }
  }
}

.reserve {
  background-color: var(--color1);
  text-align: center;
  position: relative;

  .sec-title {
    color: #fff;
  }
  .desc {
    color: #fff;
    margin-bottom: 60px;
  }
  .flex {
    justify-content: center;
    align-items: center;
    .l-cont {
      padding-right: 80px;
      position: relative;
      span {
        color: #fff;
      }
      .contact-area {
        .tel {
          display: flex;
          align-items: center;
          gap: 10px;
          span {
            color: #fff;
            font-size: 40px;
          }
          .img {
            width: 27px;
            img {
              width: 100%;
              translate: 0 3px;
            }
          }
        }
      }
    }
    .l-cont::after {
      content: "";
      position: absolute;
      right: 0;
      top: 50%;
      translate: 0 -50%;
      height: 60px;
      width: 1px;
      background-color: #fff;
    }
    .r-cont {
      padding-left: 80px;
      .btn {
        width: 260px;
      }
    }
  }
}

@media screen and (max-width: 960px) {
  .reserve {
    .desc {
      margin-bottom: 30px;
    }
    .flex {
      flex-direction: column;
      gap: 30px;
      .l-cont {
        padding-right: 0px;
      }
      .l-cont::after {
        display: none;
      }
      .r-cont {
        padding-left: 0px;
      }
    }
  }
}

footer {
  .footer {
    position: relative;
    padding: 160px 0 35px 0;
    .to-top-btn {
      position: absolute;
      top: -20px;
      right: 50px;
      width: 78px;
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      background-color: var(--color2);
      border: 6px #fff solid;
      display: grid;
      place-items: center;
      box-shadow: var(--shadow);
      .img {
        width: 17px;

        img {
          width: 100%;
        }
      }
    }
    .flex {
      justify-content: space-between;
      gap: 40px;
      padding-bottom: 80px;
      border-bottom: 2px solid #ffefe0;
      .l-cont {
        width: 50%;
        .logo {
          margin-bottom: 40px;
          height: 54px;
          img {
            height: 100%;
          }
        }
        .add {
          margin-bottom: 5px;
        }
        .tel-area {
          display: block;
          margin-bottom: 20px;
          transition: var(--trans);
        }
        .tel-area:hover {
          opacity: 0.7;
        }
        .add,
        .tel-area {
          color: #3d3d3d;
          font-size: var(--16-14);
          line-height: 1.5;
        }
        .license {
          background-color: var(--color2);
          padding: 8px 20px;
          border-radius: 100px;
          width: fit-content;
          font-size: var(--16-14);
          line-height: 1.5;
        }
      }
      .r-cont {
        a {
          transition: var(--trans);
          .img {
            img {
              border-radius: 20px;
              border: 4px solid var(--color2);
            }
          }
        }
        a:hover {
          opacity: 0.7;
        }
      }
    }
    .footer-under {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-top: 20px;
      .privacy-policy {
        font-size: 14px;
        transition: var(--trans);
      }
      .privacy-policy:hover {
        opacity: 0.7;
      }

      small {
        color: #3d3d3d;
        font-size: 12px;
        display: block;
        width: fit-content;
      }
    }
  }
}

@media screen and (max-width: 960px) {
  footer {
    .footer {
      padding: 80px 0 35px 0;
      .to-top-btn {
        top: 0;
        right: 40px;
        width: clamp(2.5rem, 0.875rem + 6.6667vw, 4.875rem);
        border: 3px #fff solid;
      }

      .flex {
        padding-bottom: 40px;
        @media screen and (max-width: 677px) {
          flex-direction: column;
        }
        .l-cont {
          width: 100%;
          .logo {
            margin-bottom: 20px;
            height: 36px;
          }
          .tel-area {
            margin-bottom: 10px;
          }
        }
      }
      @media screen and (max-width: 677px) {
        .footer-under {
          padding-top: 10px;
          .privacy-policy {
            font-size: 9px;
          }
          small {
            font-size: 9px;
          }
        }
      }
    }
  }
}

/* ----------------------------

下層ページ

------------------------------*/

.under-mv {
  position: relative;
  .flex {
    justify-content: space-between;
    gap: 60px;

    .text-area {
      margin-left: calc((100vw - 1436px) / 2);
      padding-left: 35px;
      margin-top: 180px;
      position: relative;
      @media screen and (max-width: 1436px) {
        margin-left: 50px;
      }
      .obj2 {
        position: absolute;
        bottom: 0;
        left: -150px;
        z-index: -1;
        @media screen and (max-width: 667px) {
          bottom: auto;
          top: -80px;
          left: -30px;
          width: 50%;
        }
      }
      .desc {
        max-width: 450px;
      }
    }
    .img {
      width: 100%;
      height: clamp(22.5rem, 18.7654rem + 8.9586vw, 27.5rem);
      max-width: 940px;
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1000px 0 0 1000px;
      }
    }
  }
}

@media screen and (max-width: 677px) {
  .under-mv {
    .flex {
      flex-direction: column;
      align-items: start;
      gap: 40px;

      .text-area {
        width: 100%;
        margin-top: 100px;
        margin-left: 0px;
        padding: 0 20px;
        .desc {
          width: 100%;
          max-width: 450px;
        }
      }
      .img {
        width: 100%;
        max-width: 550px;
        padding-left: 20px;
        height: 263px;
        margin-right: 0;
        margin-left: auto;
        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }
    }
  }
}

.flex-box {
  display: flex;
  gap: 80px;
  margin: 160px 0;
  .box {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: start;
    border-radius: 80px;
    padding: 60px 80px;
    background-color: #ffefe0;

    h3 {
      width: fit-content;
      font-size: 28px;
      color: var(--color1);
      margin: 0 auto;
      margin-bottom: 60px;
      position: relative;
    }
    h3.gr {
      position: relative;
    }
    h3::after {
      content: "";
      background-image: url(../img/line-wave-or.svg);
      background-repeat: no-repeat;
      position: absolute;
      bottom: -25px;
      left: 0;
      width: 100%;
      height: 20px;
    }
    h3.gr::after {
      content: "";
      background-image: url(../img/line-wave-gr.svg);
      background-repeat: no-repeat;
      position: absolute;
      bottom: -25px;
      left: 8px;
      scale: 1.05;
      width: 110%;
      height: 20px;
    }
  }
  .box.bg-gr {
    background-color: var(--color2);
    h3 {
      color: #405d25;
    }
    .flex {
      width: 100%;
      justify-content: left;
      align-items: center;
      margin-bottom: 20px;
      .l-text {
        width: 130px;
        font-size: 22px;
        font-weight: 700;
      }
      .r-text {
        font-size: 22px;
        font-weight: 500;
      }
    }
    .flex.mb-40 {
      margin-bottom: 40px;
    }
  }
  .t-s {
    line-height: 2;
    font-size: 16px;
  }
}
@media screen and (max-width: 960px) {
  .flex-box {
    gap: 40px;
    margin: 80px 0;
    @media screen and (max-width: 677px) {
      flex-direction: column;
    }
    .box {
      border-radius: 40px;
      padding: 30px 40px;

      h3 {
        font-size: 18px;
        margin-bottom: 30px;
      }

      h3.gr::after {
        left: -10px;
        scale: 1;
      }
    }
    .box.bg-gr {
      .flex {
        margin-bottom: 10px;
        .l-text {
          width: 100px;
          font-size: 16px;
        }
        .r-text {
          font-size: 16px;
        }
      }
      .flex.mb-40 {
        margin-bottom: 20px;
      }
    }
    .t-s {
      font-size: 12px;
    }
  }
}

.how-to {
  position: relative;
  .flex {
    justify-content: space-between;
    align-items: center;
    .l-cont {
      span.fc-gr {
        margin-bottom: 10px;
        display: inline-block;
      }
      .tel {
        display: flex;
        align-items: center;
        gap: 10px;
        span {
          font-size: 40px;
          color: #405d25;
          margin-bottom: 5px;
        }
      }
    }
    .r-cont {
      background-color: #fff8f3;
      border-radius: 80px;
      padding: 40px 60px;
      .title {
        font-size: 16px;
        color: #405d25;
        margin-bottom: 30px;
        display: inline-block;
      }
      li {
        margin-bottom: 5px;
        font-size: 16px;
        color: #405d25;
      }
    }
  }
}
@media screen and (max-width: 960px) {
  .how-to {
    .flex {
      flex-direction: column;
      align-items: start;
      gap: 40px;
      .l-cont {
        span.fc-gr {
          margin-bottom: 5px;
        }
      }
      .r-cont {
        border-radius: 40px;
        padding: 20px 30px;
        .title {
          font-size: 14px;
          margin-bottom: 15px;
        }
        li {
          font-size: 14px;
        }
      }
    }
  }
}

.flow {
  .sec-title {
    margin-bottom: 80px;
  }
  ul.flex {
    justify-content: space-between;
    gap: 27px;
    li {
      display: flex;
      flex-direction: column;
      align-items: center;
      border-radius: 33px;
      background-color: #ffefe0;
      flex: 1;
      padding: 40px 28px;
      border: 2px solid #fff;
      position: relative;
      .title {
        font-size: 27px;
        color: var(--color1);
        text-align: center;
        margin-bottom: 20px;
      }
      .img {
        height: 100px;
        display: grid;
        place-items: center;
        margin-bottom: 20px;
        img {
          height: 100%;
        }
      }
    }
    li::after {
      content: "";
      background-image: url(../img/arrow.svg);
      background-repeat: no-repeat;
      width: 18px;
      height: 14px;
      background-size: contain;
      position: absolute;
      right: -28px;
      top: 50%;
      translate: 0 -50%;
    }
    li:last-child::after {
      display: none;
    }
  }
}

@media screen and (max-width: 960px) {
  .flow {
    .sec-title {
      margin-bottom: 40px;
    }
    ul.flex {
      flex-direction: column;
      gap: 27px;
      li {
        padding: 20px 14px;
        .title {
          font-size: 18px;
          margin-bottom: 10px;
        }
        .img {
          margin-bottom: 10px;
          img {
            height: 90%;
          }
        }
        p {
          text-align: left;
        }
        .t-s {
          font-size: 12px;
        }
      }
      li::after {
        right: auto;
        left: 50%;
        top: auto;
        bottom: -28px;
        translate: -50%;
        rotate: 90deg;
      }
      li:last-child::after {
        display: none;
      }
    }
  }
}

.tax {
  display: block;
  color: #9fae92;
  width: fit-content;
  margin-right: 0;
  margin-left: auto;
  margin-bottom: 40px;
  @media screen and (max-width: 677px) {
    margin-bottom: 20px;
  }
}

.price-box-wrapper {
  display: flex;
  gap: 40px;
  justify-content: space-between;
  margin-bottom: 80px;
  @media screen and (max-width: 1200px) {
    gap: 20px;
  }
}
.price-box {
  overflow: hidden;
  border-radius: 80px;
  background-color: #fff;
  flex: 1;
  border: 2px solid var(--color2);
  h3 {
    font-size: 28px;
    height: 100px;
    display: grid;
    place-items: center;
    background-color: var(--color2);
  }
  ul {
    padding: 20px 60px 40px 60px;
    @media screen and (max-width: 1200px) {
      padding: 20px 30px 40px 30px;
    }
    li {
      display: flex;
      justify-content: space-between;
      padding: 20px 0;
      border-bottom: #e4eeb6 1px solid;
      .l-cont {
        display: flex;
        gap: 30px;
        @media screen and (max-width: 1200px) {
          gap: 15px;
        }
        span:first-child {
          font-size: 22px;
          font-weight: 700;
          color: #405d25;
        }
        span.t-m {
          font-size: 18px;
          font-weight: 500px;
          color: #405d25;
        }
      }
      .r-cont {
        font-size: 22px;
        font-weight: 700;
        color: #405d25;
        text-wrap: nowrap;
      }
      .l-cont.il {
        display: flex;
        flex-direction: column;
        gap: 5px;
        span.t-m.il {
          color: #9fae92;
          font-weight: 700;
        }
      }
    }
    li:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }
    .inner-list {
      display: flex;
      flex-direction: column;
      span.il {
        font-size: 22px;
        display: inline-block;
        margin-bottom: 10px;
        color: #405d25;
        font-weight: 700;
      }
      span.il::after {
        content: "※ 割引の併用はできません。";
        font-size: 18px;
        color: #9fae92;
        font-weight: 700;
        margin-left: 10px;
      }
      span.il-2 {
        font-size: 22px;
        display: inline-block;
        margin-bottom: 10px;
        color: #405d25;
        font-weight: 700;
      }
      ul {
        padding: 0;
        li {
          padding: 0 0 10px 0;
          border-bottom: 0;
          color: #405d25;
          .list-name {
            span {
              font-size: 22px;
              font-weight: 500;
            }
          }
          div {
            font-size: 22px;
            font-weight: 700;
          }
          span.t-m {
            font-size: 18px;
            font-weight: 500;
            color: #405d25;
          }
        }
      }
    }
  }
}

.wrapper {
  flex: 1;
  .notes {
    margin-top: 40px;
    padding: 0 20px;
    .title {
      font-size: 22px;
      font-weight: 700;
      margin-bottom: 20px;
      color: #405d25;
    }
    .desc {
      font-weight: 500;
      color: #405d25;
      font-size: 16px;
    }
  }
}

@media screen and (max-width: 768px) {
  .price-box-wrapper {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
  }
  .price-box {
    border-radius: 40px;
    h3 {
      font-size: 18px;
      height: 66px;
    }
    ul {
      padding: 20px 30px;
      li {
        padding: 15px 0;
        border-bottom: #e4eeb6 1px solid;
        .l-cont {
          align-items: center;
          gap: 15px;
          span:first-child {
            font-size: 18px;
          }
          span.t-m {
            font-size: 14px;
          }
        }
        .r-cont {
          font-size: 18px;
        }
        .l-cont.il {
          align-items: start;
          span.t-m.il {
            font-size: 12px;
          }
        }
      }
      .inner-list {
        span.il {
          font-size: 18px;
          position: relative;
          display: inline-block;
          margin-bottom: 40px;
        }
        span.il::after {
          font-size: 12px;
          margin-left: 0px;
          position: absolute;
          left: 0;
          bottom: -20px;
        }
        span.il-2 {
          font-size: 18px;
        }
        ul {
          padding: 0;
          li {
            .list-name {
              span {
                font-size: 18px;
              }
            }
            div {
              font-size: 18px;
            }
            span.t-m {
              font-size: 14px;
            }
          }
        }
      }
    }
  }

  .wrapper {
    .notes {
      margin-top: 20px;
      padding: 0;
      .title {
        font-size: 18px;
        margin-bottom: 10px;
      }
      .desc {
        font-size: 14px;
      }
    }
  }
}

.price-box.il {
  margin-bottom: 80px;
  .flex {
    gap: 100px;
    padding: 20px 60px 40px 60px;
    @media screen and (max-width: 1200px) {
      padding: 20px 30px 40px 30px;
      gap: 60px;
    }
    ul {
      flex: 1;
      padding: 0;
      li {
        .l-cont {
          display: block;
          span {
            padding-right: 30px;
            color: #405d25;
            @media screen and (max-width: 1200px) {
              padding-right: 15px;
            }
          }
        }
      }
      .t-m.il {
        color: #9fae92;
        font-weight: 700;
        font-size: 18px;
      }
    }
  }
}
.price-box.c-or {
  border: 2px solid #ffefe0;
  margin-bottom: 80px;
  h3 {
    background-color: #ffefe0;
    color: var(--color1);
  }
  .flex {
    justify-content: space-between;
    padding: 40px 80px;
    li {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 22px;
      border-bottom: 0;
      padding: 0;
      .img {
        height: 81px;
        img {
          height: 100%;
        }
      }
      span {
        font-size: 22px;
        font-weight: 700;
        color: var(--color1);
      }
    }
  }
  p {
    padding: 40px 80px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    color: var(--color1);
  }
}

@media screen and (max-width: 768px) {
  .price-box.il {
    margin-bottom: 40px;
    .flex {
      gap: 0px;
      padding: 20px 30px;
      flex-direction: column;
      ul {
        padding: 0;
        li {
          .l-cont {
            display: block;
            span {
              padding-right: 30px;
              color: #405d25;
            }
          }
        }
        li:last-child {
          border-bottom: #e4eeb6 1px solid;
          padding-bottom: 15px;
        }
        .t-m.il {
          font-size: 14px;
        }
      }
      ul.il {
        li:last-child {
          border-bottom: 0;
        }
      }
    }
  }
  .price-box.c-or {
    margin-bottom: 40px;
    .flex {
      padding: 20px 30px;
      justify-content: space-around;
      flex-wrap: wrap;
      gap: 30px 0;
      li {
        gap: 10px;
        min-width: 40%;
        justify-content: start;
        .img {
          height: 50px;
          img {
            height: 100%;
          }
        }
        span {
          text-align: center;
          font-size: 14px;
        }
      }
    }
    p {
      padding: 20px;
      font-size: 18px;
      text-align: left;
    }
  }
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 20px;

  .faq-item {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border: 2px solid #ffefe0;
    border-radius: 80px;
    padding: 30px 120px 30px 80px;
    transition: var(--trans);
    cursor: pointer;
    .q,
    .a {
      display: flex;
      align-items: top;
      gap: 40px;
      span {
        display: block;
        color: var(--color1);
        font-weight: 700;
        font-size: 30px;
        translate: 0 -5px;
      }
      p {
        font-size: 18px;
        font-weight: 500;
        line-height: 2;
      }
    }

    .a {
      align-items: top;

      span,
      p {
        transition: var(--trans);
        visibility: hidden;
        translate: 0 -100%;
        opacity: 0;
        display: none;
      }
    }

    .faq-btn {
      position: absolute;
      top: 44px;
      right: 90px;
      span {
        display: block;
        width: 20px;
        height: 4px;
        background-color: var(--color1);
        border-radius: 100px;
      }
      span:nth-child(1) {
        rotate: 90deg;
        translate: 0 4px;
      }
    }
  }
  .faq-item.active {
    gap: 20px;

    .faq-btn {
      span:nth-child(1) {
        display: none;
      }
    }
    .a {
      span,
      p {
        visibility: visible;
        translate: 0 0;
        opacity: 1;
        display: block;
      }
    }
  }
}
@media screen and (max-width: 960px) {
  .faq-list {
    gap: 10px;

    .faq-item {
      border-radius: 40px;
      padding: 15px 70px 15px 30px;
      .q,
      .a {
        gap: 20px;
        span {
          font-size: 20px;
          translate: 0;
        }
        p {
          font-size: 14px;
        }
      }

      .faq-btn {
        top: 25px;
        right: 30px;
        span {
          width: 16px;
          height: 3px;
        }
        span:nth-child(1) {
          translate: 0 3px;
        }
      }
    }
  }
}

.company {
  position: relative;
  margin-top: 160px;
  padding: 0;
  .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 1200px;
    height: 100%;
    background-color: var(--color2);
    border-radius: 0 54vw 54vw 0;
    z-index: -1;
    @media screen and (max-width: 1240px) {
      width: calc(100vw - 100px);
    }
    @media screen and (max-width: 667px) {
      width: calc(100vw - 20px);
    }
  }
  .inner1 {
    padding: 160px 0;
    position: relative;
    .flex {
      gap: 42px;
      align-items: center;
      .l-cont {
        width: clamp(37.5rem, 16.6667rem + 27.7778vw, 43.75rem);
      }
    }
    .img {
      margin-right: -100px;
      width: clamp(31.25rem, 18.75rem + 16.6667vw, 35rem);
      img {
        width: 100%;
        object-fit: cover;
        border-radius: 300px 250px 300px 202px;
      }
    }

    .text-area {
      .desc {
        margin-bottom: 30px;
        color: #405d25;
      }
      .desc.mb-60 {
        margin-bottom: 60px;
      }
      .owner {
        text-align: right;
        span {
          font-size: 16px;
          color: #405d25;
          font-weight: 500;
        }
        .name {
          font-weight: 700;
          font-size: 18px;
          padding-left: 10px;
        }
      }
    }
  }
}

.info {
  .wrapper {
    display: flex;
    justify-content: space-between;
    padding-top: 50px;
    .flex {
      display: flex;
      flex-direction: column;
      width: 65%;
      li {
        display: flex;
        align-items: center;
        padding: 40px 0;
        border-bottom: 1px solid #f6cdaa;
        span {
          display: block;
          width: 280px;
          font-size: 18px;
          font-weight: 700;
        }
        p {
          font-size: 18px;
        }
      }
      li:first-child {
        padding-top: 0;
      }
      li:last-child {
        border-bottom: 0;
      }
    }
    .img-area {
      background-color: #ffefe0;
      display: flex;
      flex-direction: column;
      padding: 60px 80px;
      border-radius: 80px;
      .wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: start;
        gap: 10px;
        .img {
          width: 180px;
          img {
            width: 100%;
          }
        }
      }
    }
  }
}
@media screen and (max-width: 960px) {
  .company {
    margin-top: 80px;
    padding: 0;
    .inner1 {
      padding: 80px 30px 80px 0;
      .flex {
        display: block;
        position: relative;
        .l-cont {
          width: 100%;
        }
        .r-cont {
          position: absolute;
          top: -100px;
          right: -30px;
        }
      }
      .img {
        margin-right: 0;
        width: clamp(9.375rem, 5.9783rem + 10.8696vw, 12.5rem);
        img {
          width: 100%;
          object-fit: cover;
          border-radius: 300px 250px 300px 202px;
        }
      }
      .text-area {
        max-width: 600px;
        .desc.mb-60 {
          margin-bottom: 30px;
        }
        .owner {
          text-align: left;
          span {
            font-size: 14px;
          }
          .name {
            font-size: 16px;
          }
        }
      }
    }
  }

  .info {
    .wrapper {
      flex-direction: column;
      gap: 40px;
      .flex {
        width: 100%;
        li {
          align-items: start;
          flex-direction: column;
          padding: 15px 0;
          gap: 5px;
          span {
            font-size: 14px;
          }
          p {
            font-size: 14px;
          }
        }
      }
      .img-area {
        padding: 20px 30px;
        border-radius: 40px;
        .wrapper {
          gap: 5px;
        }
      }
    }
  }
}

.voice.under {
  .flex.cards {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
    .card {
      width: calc(50% - 20px);
      background-color: #fff;
      border-radius: 80px;
      border: 2px #ffefe0 solid;
      margin-bottom: 40px;
      transition: var(--trans);
      a {
        display: block;
        padding: 60px;

        .title {
          color: var(--color1);
          margin-bottom: 30px;
          font-size: 20px;
        }
        .desc {
          margin-bottom: 30px;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 4;
          overflow: hidden;
          height: calc(2em * 4); /* 行の高さ×行数 */
        }
        .icon {
          margin: 0 0 0 auto;
          width: fit-content;
        }
      }
    }
    .card:hover {
      opacity: 0.7;
    }
  }
}
@media screen and (max-width: 960px) {
  .voice.under {
    .flex.cards {
      flex-direction: row;
      .card {
        width: calc(50% - 10px);
        border-radius: 40px;
        margin-bottom: 20px;
        a {
          padding: 20px;

          .title {
            margin-bottom: 15px;
            font-size: 16px;
          }
          .desc {
            margin-bottom: 15px;
          }
        }
      }
    }
  }
}
@media screen and (max-width: 667px) {
  .voice.under {
    .flex.cards {
      .card {
        width: 100%;
      }
    }
  }
}

.under.news {
  .inner1 {
    .blog-list {
      display: flex;
      gap: clamp(1.25rem, 0.3992rem + 3.4904vw, 3.75rem);
      margin-bottom: var(--80-40);
      flex-wrap: wrap;
      li {
        width: calc(
          (100% - (clamp(1.25rem, 0.3992rem + 3.4904vw, 3.75rem) * 2)) / 3
        );
        transition: var(--trans);

        .card {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          .img {
            width: 100%;
            margin-bottom: 20px;
            aspect-ratio: 16 / 9;
            overflow: hidden;

            img {
              width: 100%;
              height: 100%;
              object-fit: cover;
              border-radius: var(--50-20);
            }
          }
          h3.title {
            font-size: var(--16-14);
            margin-bottom: 10px;
            flex: 1;
          }
          .flex {
            gap: 20px;
            align-items: center;
            padding-top: 0;
            justify-content: start;
            margin: 0;
            .date {
              font-size: 14px;
            }
            .category {
              font-size: 12px;
              background-color: #ffefe0;
              display: grid;
              place-items: center;
              color: var(--color1);
              border-radius: 2px;
              padding: 4px;
            }
          }
        }
      }
      li:hover {
        scale: 1.02;
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .under.news {
    .inner1 {
      .blog-list {
        flex-direction: column;
        li {
          width: 100%;
          .card {
            flex-direction: row;
            align-items: center;
            justify-content: start;
            gap: 15px;
            .img {
              width: 30%;
              margin-bottom: 0;
            }
            h3.title {
              margin-bottom: 8px;
            }
            .flex {
              gap: 15px;
              align-items: center;
              justify-content: start;
              margin: 0;
              .date {
                font-size: 12px;
              }
              .category {
                font-size: 10px;
              }
            }
          }
        }
      }
    }
  }
}

/* ----------------------------

お問い合わせ

------------------------------*/

.under.contact {
  .contents {
    border-radius: 50px;
    max-width: 1200px;
    background-color: #fff;
    margin: 0 auto;
    padding: 120px 0;

    .info {
      text-align: center;
      p {
        font-size: 14px;
      }
      .desc.mb-40 {
        margin-bottom: 40px;
      }
      .desc.il {
        font-weight: 700;
        font-size: 20px;
        color: var(--color1);
      }
      .workday {
        margin-bottom: 40px;
        color: var(--color1);
      }
      a {
        display: flex;
        gap: 20px;
        margin: 0 auto 20px auto;
        align-items: center;
        justify-content: center;
        transition: var(--trans);
        .img {
          width: clamp(0.9375rem, 0.6185rem + 1.3089vw, 1.875rem);
          img {
            width: 100%;
          }
        }
        span {
          font-size: clamp(1.5rem, 0.9895rem + 2.0942vw, 3rem);
          color: var(--color1);
        }
      }
      a:hover {
        opacity: 0.7;
      }
    }

    /* フォーム */
    .contact-area {
      max-width: 700px;
      margin: 0 auto;
      margin-bottom: 40px;
      width: 100%;

      table {
        width: 100%;

        tr {
          padding: 20px 0;
          display: flex;
          align-items: start;
          flex-direction: column;
          width: fit-content;
          width: 100%;

          th {
            padding: 0px 10px;
            font-size: 16px;
            margin: 20px 0;
          }

          th.il::after {
            content: "必須";
            padding: 2px 10px;
            background-color: var(--color1);
            color: #fff;
            font-size: 12px;
            border-radius: 100px;
            margin-left: 20px;
            font-weight: 400;
          }
        }
        tr.notes {
          margin-top: 20px;
          padding: 5px 10px;
          background-color: #f6cdaa;
          width: fit-content;
          border-radius: 2px;
          th {
            margin: 0;
            font-size: 14px;
            color: var(--color1);
            font-weight: 500;
          }
        }
        td {
          width: 100%;
        }
        td.half {
          width: 50%;
        }
        td.flex-area {
          display: flex;
          justify-content: space-between;
          gap: 20px;
          width: 70%;
          @media screen and (max-width: 768px) {
            gap: 5px;
            width: 100%;
          }
          .wrapper {
            display: flex;
            gap: 10px;
            align-items: center;
            width: 100%;
            text-wrap: nowrap;
          }
        }
        p {
          font-size: 14px;
          margin-bottom: 20px;
        }
      }

      .privacy-policy-box {
        background-color: var(--background-c-lb);
        border-radius: 4px;
        overflow-y: scroll;
        padding: 20px;
        width: 100%;
        height: 150px;
        margin: 20px 0;
        p,
        li {
          font-size: 14px;
        }
        p {
          margin: 1em 0;
        }
      }

      .policy-desc {
        margin-bottom: 20px;
        text-align: center;
        font-size: 14px;
      }
      .check-area {
        margin-bottom: 40px;
        display: flex;
        justify-content: center;
      }
      .thanks-message {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin: 60px 0;
        text-align: center;
        .thanks-title {
          font-size: var(--38-20);
          color: var(--background-c-db);
          font-weight: 700;
          margin-bottom: 10px;
        }
      }
    }
    .send-btn-area {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px;
    }

    .send-btn {
      background-color: var(--color1);
      border-radius: 30px;
      padding: 0px 30px;
      border: 1px var(--color1) solid;
      cursor: pointer;
      color: #fff;
      width: fit-content;
      transition: var(--trans);
    }
    .send-btn:hover {
      background-color: #fff;
      color: #3f3f3f;
    }
    .back-btn {
      background-color: #eee;
      border-radius: 30px;
      padding: 0px 30px;
      border: 1px #eee solid;
      cursor: pointer;
      color: #999;
      width: fit-content;
      transition: var(--trans);
    }

    .back-btn:hover {
      opacity: 0.7;
    }
  }
  .recha-info {
    font-size: 14px;
    padding-top: 40px;
    text-align: center;
  }
}

input,
select,
textarea {
  width: 100%;
  height: 50px;
  border-radius: 4px;
  border: #999 0.5px solid;
  background-color: rgb(255, 255, 255, 0.6);
  padding: 10px;
  font-size: var(--16-14);
}
textarea {
  height: 300px;
}

input[type="checkbox"] {
  width: 18px;
  height: 18px;
  translate: 0 3px;
  margin-right: 10px;
  border: 1px #3f3f3f solid;
  font-size: var(--16-14);
}

input,
select,
textarea:focus {
  outline: none;
  box-shadow: none;
}

@media screen and (max-width: 768px) {
  .under.contact {
    .contents {
      padding: 60px 20px;
      .info {
        p {
          font-size: 12px;
        }
        a {
          gap: 10px;
          margin: 0 auto 10px auto;
        }
        a:hover {
          opacity: 0.7;
        }
      }
      /* フォーム */
      .contact-area {
        margin-bottom: 20px;
        table {
          tr {
            padding: 10px 0;
            th {
              font-size: 14px;
              margin: 10px 0;
            }

            th.il::after {
              padding: 2px 8px;
              font-size: 10px;
              margin-left: 10px;
            }
          }
          td {
            width: 100%;
          }
        }
        .privacy-policy-box {
          padding: 10px;
          height: 100px;
          margin: 20px 0;
          p,
          li {
            font-size: 10px;
          }
        }
        .policy-desc {
          font-size: 12px;
        }
        .check-area {
          font-size: 14px;
        }
        .thanks-message {
          gap: 10px;
          margin: 40px 0;
        }
      }
      .flex {
        .btn-privacy-policy {
          padding-left: 20px;
          margin-bottom: 60px;
        }
      }
      .recha-info {
        font-size: 12px;
      }
    }
  }
}

/* ブログ記事ページ */

.under.blog {
  .to-archive {
    font-size: 14px;
    display: block;
    padding: 20px 0;
    color: #3f3f3f;
    width: fit-content;
    transition: var(--trans);
  }
  .to-archive:hover {
    opacity: 0.6;
  }
  .blog-contents-area {
    width: 100%;
    text-align: left;
    background-color: #fff;
    border-radius: 50px;
    padding: 40px 80px 200px 80px;

    .inner1 {
      width: 100%;
    }
  }

  .blog-dates {
    margin-bottom: var(--40-20);
    color: #5c5575;
    font-size: 14px;
  }
  .blog-page-title {
    padding: 20px 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--background-c-db);
  }
  .blog-content {
    padding: 40px 0;
  }
  .company-info {
    display: flex;
    flex-direction: column;

    h4 {
      font-size: 24px;
      font-weight: normal;
    }
    p.sub-title {
      font-size: 20px;
    }

    p {
      font-size: var(--16-14);
    }
    a {
      text-decoration: none;
      font-size: var(--16-14);
    }
    a.contact {
      text-decoration: none;
      font-size: var(--16-14);
      color: #3c3c3c;
    }
  }
}

@media screen and (max-width: 768px) {
  .under.blog {
    .inner1.il {
      display: contents;
    }
    .blog-contents-area {
      padding: 40px 20px 200px 20px;
      .inner1 {
        width: 100%;
      }
    }

    .blog-dates {
      font-size: 10px;
      margin-bottom: 20px;
    }
    .blog-page-title {
      font-size: 18px;
      padding: 0;
      margin-bottom: 10px;
    }
  }
}
/* ----------------------------

プライバシーポリシー

------------------------------*/

#privacy-policy {
  .policy-contents-area {
    background-color: #fff;
    border-radius: 80px;
    padding: 40px 80px;
  }

  h3 {
    font-weight: normal;
    margin: 30px 0 10px 0;
    font-size: 16px;
  }

  .title {
    text-align: center;
    margin-bottom: 40px;
    padding: 40 0px;
    font-size: 28px;
    font-weight: 700;
  }
  p,
  li {
    font-size: 14px;
  }

  .policy-info {
    margin: 40px 0;
  }
}

@media screen and (max-width: 677px) {
  #privacy-policy {
    .inner2 {
      width: calc(100% - 20px);
    }
    .policy-contents-area {
      padding: 20px;
    }

    h3 {
      font-weight: normal;
      margin: 30px 0 10px 0;
    }

    .title {
      margin-bottom: 20px;
      padding: 0px;
    }

    .policy-info {
      margin: 40px 0;
    }
  }
}

/* ----------------------------

フェードインアニメーション

------------------------------*/

.fadeIn {
  transform: translate3d(0, 50px, 0);
  transition: 1.5s;
  opacity: 0;
}
.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
/* ----------------------------

固定フェードインアニメーション

------------------------------*/
.fadeIn-fixed {
  animation-name: fadeIn;
  animation-duration: 1.5s;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* ----------------------------

ページネーション

------------------------------*/

.page-nation {
  width: 100%;
  padding: var(--60-30) 0;
  display: flex;
  justify-content: center;

  .wp-pagenavi {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: center;
  }

  .wp-pagenavi a,
  .current {
    padding: 8px 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    font-size: 16px;
    color: #3d3d3d;
    background-color: #fff8f3;
    width: 40px;
    aspect-ratio: 1;
    border-radius: 100px;
  }
  .wp-pagenavi a:hover {
    background-color: var(--color1);
    color: #fff;
  }

  .current {
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color1);
    color: #fff;
  }

  .nextpostslink {
    width: 40px;
    aspect-ratio: 1;
    padding: 0;
    svg {
      width: 17px;
      height: 9px;
    }
  }
}

/* ----------------------------

リキャプチャ非表示

------------------------------*/

.grecaptcha-badge {
  visibility: hidden;
}
