:root {
  --color1: #fcc919;
  --color2: #fffde8;
  --color3: #c38e46;
  --text-color: #624b30;
  --text-sub-color: #c38e46;
  --border: 2px solid #fcc919;
  --border1: 2px solid #c38e46;
  --border2: 2px solid #624b30;
  --trans: all 0.3s;
  --shadow: 0px 0px 20px 0px #0000000d;
  --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);
}

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

共通項目

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

/* SP表示 関連 */
.disp-pc {
	display: block;
}
.disp-sp {
	display: none;
}
.disp-tab {
	display: none;
}
@media screen and (max-width: 1080px) {
.disp-pc {
	display: none;
}
.disp-tab {
	display: block;
}
.disp-sp {
	display: none;
}
}
@media screen and (max-width: 667px) {
.disp-pc {
	display: none;
}
.disp-tab {
	display: none;
}
.disp-sp {
	display: block;
}
}


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

body {
  font-family: "Sawarabi Gothic", "YuGothic", "Yu Gothic", sans-serif;
  color: var(--text-color);
  background-color: #fff;
  min-height: 100vh;
  overflow-x: hidden;
  line-height: 1.5;
}
.bg {
  background-image: url(../img/bg.jpg);
  background-repeat: repeat;
  background-size: 100%;
  width: 100vw;
  background-position: 0 0;
}
.bg-or {
  background-color: var(--color1);
}

section {
  padding: 200px 0;
  @media screen and (max-width: 960px) {
    padding: 100px 0;
  }
}
.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);
  }
}
.text-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.t-xs {
  font-size: 12px;
}
a {
  width: fit-content;
}

.sec-title {
  font-size: clamp(1.875rem, 1.4583rem + 1.7094vw, 3.125rem);
  line-height: 1.5;
  margin-bottom: var(--40-20);
  font-weight: normal;
}
.sub-title {
  font-size: clamp(0.875rem, 0.6326rem + 0.5051vw, 1.125rem);
  color: var(--color3);
  margin-bottom: 10px;
  display: block;
}

.desc {
  font-size: clamp(1rem, 0.9066rem + 0.224vw, 1.125rem);
  line-height: 2;
}
.mb-20 {
  margin-bottom: 20px;
}

.mb-40 {
  margin-bottom: var(--40-20);
}
.mb-80 {
  margin-bottom: var(--80-40);
}

.marker {
  background-color: var(--color1);
  border-radius: 2px;
}
.marker2 {
  background-color: #ffeba6;
  border-radius: 2px;
}

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

ボタン

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

.btn-area {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  justify-content: center;
  span {
    font-size: 18px;
  }
}
.btn {
  display: block;
  background-image: linear-gradient(
    180deg,
    rgba(128, 98, 65, 1),
    rgba(98, 75, 48, 1)
  );
  padding: 25px 40px;
  padding-right: 76px;
  border-radius: 10px;
  transition: all 0.3s;
  width: fit-content;
  box-shadow: var(--shadow);
  position: relative;
  span {
    color: #fff;
    font-size: clamp(1.125rem, 0.8826rem + 0.5051vw, 1.375rem);
  }
  span::after {
    position: absolute;
    top: 50%;
    right: 40px;
    translate: 0 -50%;
    content: "";
    background-image: url(../img/arrow-r.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 6px;
    height: 12px;
  }
}
.btn:hover {
  scale: 1.02;
}
@media screen and (max-width: 768px) {
  .btn-area {
    gap: 10px;
    span {
      font-size: 16px;
    }
  }
  .btn {
    padding: 15px 30px;
    padding-right: 56px;
    span {
      font-size: 18px;
    }
    span::after {
      right: 30px;
    }
  }
}

.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;
}

/* モバイル改行 */

.sp {
  display: none;
}

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

.pc {
  display: block;
}

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

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

ヘッダー

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

header {
  position: fixed;
  top: 0px;
  width: 100vw;
  z-index: 800;

  .header {
    display: flex;
    justify-content: space-between;
    height: 135px;
    @media screen and (max-width: 1250px) {
      height: fit-content;
    }
    .logo {
      height: 100%;
      background-color: #fff;
      box-shadow: var(--shadow);
      border-radius: 0 0 80px 0;
      padding: 30px;
      padding-right: 53px;
      @media screen and (max-width: 1350px) {
        padding: 15px 30px 15px 20px;
        height: fit-content;
        border-radius: 0 0 40px 0;
      }
      img {
        height: clamp(2.375rem, 0.6477rem + 4.1433vw, 4.6875rem);
        object-fit: cover;
        transition: var(--trans);
      }
      img:hover {
        opacity: 0.7;
      }
    }

    .spacer {
      flex: 1;
    }

    nav {
      background-color: #fff;
      margin-top: 30px;
      margin-right: 30px;
      border-radius: 10px;
      padding-left: 15px;
      box-shadow: var(--shadow);
      width: fit-content;
      height: fit-content;
      ul.flex {
        li {
          transition: var(--trans);
          a {
            display: block;
            font-size: 14px;
            padding: 15px;
          }
        }
        li.bg-or {
          background-color: var(--color1);
          font-size: 14px;
          padding: 15px 25px;
          position: relative;
          border-radius: 0 10px 10px 0;
        }
        li:hover {
          color: var(--color1);
        }
        li.bg-or:hover {
          color: var(--text-color);
        }

        .info-wrap {
          position: absolute;
          left: 0;
          /* bottom: -70px; */
          bottom: -100px;
          width: 100%;
          visibility: hidden;
          opacity: 0;
          transition: all 0.5s;
          padding: 20px 0;

          .pc-btn-info {
            width: 100%;
            padding: 10px;
            border-radius: 10px;
            background-color: var(--text-color);
            color: #fff;
            margin-bottom: 5px;
            display: block;
            position: relative;
            transition: var(--trans);
            span {
              font-size: 14px;
            }
            span::after {
              position: absolute;
              top: 50%;
              translate: 0 -50%;
              right: 10px;
              content: "";
              background-image: url(../img/link-icon3.svg);
              background-repeat: no-repeat;
              background-size: contain;
              width: 11px;
              height: 11px;
            }
          }
          .pc-btn-info:hover {
            opacity: 0.7;
          }
        }
        li.bg-or:hover .info-wrap {
          visibility: visible;
          opacity: 1;
          /* bottom: -80px; */
          bottom: -120px;
        }
      }
      @media screen and (max-width: 1250px) {
        display: none;
      }
    }
  }
}

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

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

    span {
      display: block;
      height: 1px;
      width: 18px;
      background: var(--text-color);
      transition: 0.3s all ease-in-out;
      border-radius: 100px;
    }
  }
}

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

/* spメニュー */

#sp-header {
  width: 250px;
  height: 100vh;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 800;
  transition: var(--trans);
  background-color: var(--color1);
  border-radius: 40px 0 0 40px;

  .wrapper {
    padding: 80px 40px;
  }

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

      li {
        text-align: left;
        transition: var(--trans);
        cursor: pointer;
        a {
          width: 100%;
          display: inline-block;
          padding: 10px 0;
          font-size: 14px;
        }
        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;
  }

  .btn.sp-btn {
    width: 100%;
    padding: 15px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    span {
      font-size: 14px;
    }
    span::after {
      display: none;
    }
  }
  p {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .sp-btn-info {
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    background-color: var(--color2);
    margin-bottom: 5px;
    display: block;
    position: relative;
    span {
      font-size: 14px;
    }
    span::after {
      position: absolute;
      top: 50%;
      translate: 0 -50%;
      right: 10px;
      content: "";
      background-image: url(../img/link-icon2.svg);
      background-repeat: no-repeat;
      background-size: contain;
      width: 11px;
      height: 11px;
    }
  }
}

#sp-header.active {
  right: 0;
}

.line-cta-btn {
  width: 206px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 777;
  filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.05));
  transition: var(--trans);
  border-radius: 1000px;
  overflow: hidden;
  img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .line-cta-btn {
    width: 120px;
    right: 20px;
    bottom: 20px;
  }
}
.line-cta-btn:hover {
  scale: 1.02;
}

.line-cta-btn::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -30px;
  left: 0;
  width: 8px;
  height: 100%;
  background-color: #fbfbfb;
  animation: btn_animation 2.5s ease-in-out infinite;
}

@-webkit-keyframes btn_animation {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

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

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

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

.mv {
  width: 100vw;
  padding: 0;
  position: relative;
  .swiper-slide {
    height: 100vh;
    display: flex;
    align-items: center;
  }

  .swiper-slide.item1 {
    background-image: url(../img/mv-img1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .swiper-slide.item2 {
    background-image: url(../img/mv-img2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .swiper-slide.item3 {
    background-image: url(../img/mv-img3.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .swiper-slide.item4 {
    background-image: url(../img/mv-img4.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .mv-text-area {
    margin-left: var(--50-20);
    @media screen and (min-width: 1500px) {
      margin-left: calc((100vw - 1400px) / 2);
    }
    .sec-title {
      font-size: clamp(1.375rem, -0.322rem + 3.5354vw, 3.125rem);
    }
    .desc {
      margin-bottom: 60px;
    }
  }
  .btn {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .mv {
    .swiper-slide {
      height: 520px;
      display: flex;
      align-items: end;
    }

    .swiper-slide.item1 {
      background-image: url(../img/mv-img-sp1.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
    }
    .swiper-slide.item2 {
      background-image: url(../img/mv-img-sp2.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
    }
    .swiper-slide.item3 {
      background-image: url(../img/mv-img-sp3.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
    }
    .swiper-slide.item4 {
      background-image: url(../img/mv-img-sp4.jpg);
      background-repeat: no-repeat;
      background-size: 100%;
    }
    .mv-text-area {
      margin-bottom: 20px;
      padding-right: 20px;
      .desc {
        margin-bottom: 30px;
        font-size: 14px;
      }
    }
  }
}

.about {
  .content1 {
    justify-content: space-between;
    margin-bottom: var(--80-40);
    @media screen and (max-width: 960px) {
      flex-direction: column;
      gap: 40px;
    }
    .l-cont {
      .desc {
        max-width: 400px;
        @media screen and (max-width: 960px) {
          max-width: 100%;
        }
      }
    }
    .r-cont {
      ul {
        display: flex;
        flex-direction: column;
        gap: 20px;
        li {
          border-radius: 10px;
          overflow: hidden;
          border: var(--border);
          padding: 20px 0;
          padding-left: 74px;
          padding-right: 66px;
          position: relative;
          background-color: #fff;
          p {
            margin-left: 40px;
            font-size: clamp(1.125rem, 0.9383rem + 0.4479vw, 1.375rem);
          }
        }
        li.item1::before {
          content: "01";
          background-color: var(--color1);
          color: #fff;
          display: grid;
          place-items: center;
          width: 74px;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          font-size: 22px;
        }
        li.item2::before {
          content: "02";
          background-color: var(--color1);
          color: #fff;
          display: grid;
          place-items: center;
          width: 74px;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          font-size: 22px;
        }
        li.item3::before {
          content: "03";
          background-color: var(--color1);
          color: #fff;
          display: grid;
          place-items: center;
          width: 74px;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          font-size: 22px;
        }
        li.item4::before {
          content: "04";
          background-color: var(--color1);
          color: #fff;
          display: grid;
          place-items: center;
          width: 74px;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          font-size: 22px;
        }
        li.item5::before {
          content: "05";
          background-color: var(--color1);
          color: #fff;
          display: grid;
          place-items: center;
          width: 74px;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          font-size: 22px;
        }
      }
    }
  }
  .content2 {
    ul {
      display: flex;
      gap: var(--40-20);
      flex-direction: column;
      margin-bottom: var(--80-40);
      li {
        border: var(--border);
        padding: clamp(2.5rem, 1.3125rem + 2.5vw, 3.75rem)
          clamp(1.25rem, -2.3125rem + 7.5vw, 5rem);
        border-radius: 20px;
        background-color: #fff;
        align-items: center;
        gap: var(--80-40);
        .l-cont {
          width: clamp(15.5625rem, 12.9483rem + 6.271vw, 19.0625rem);
          display: flex;
          justify-content: center;
          img {
            max-height: 220px;
          }
        }
        .r-cont {
          flex: 1;
          h3 {
            font-size: clamp(1.25rem, 0.5498rem + 1.6797vw, 2.1875rem);
            margin-bottom: var(--40-20);
          }
          .desc {
            font-size: 16px;
          }
        }
      }
    }
  }
}

@media screen and (max-width: 760px) {
  .about {
    .content1 {
      .r-cont {
        ul {
          gap: 10px;
          li {
            padding: 18px 0;
            padding-left: 64px;
            padding-right: 0;
            p {
              margin-left: 15px;
            }
          }
          li.item1::before {
            width: 64px;
          }
          li.item2::before {
            width: 64px;
          }
          li.item3::before {
            width: 64px;
          }
          li.item4::before {
            width: 64px;
          }
          li.item5::before {
            width: 64px;
          }
        }
      }
    }
    .content2 {
      ul {
        li {
          padding: 40px 20px;
          flex-direction: column;
          .r-cont {
            .desc {
              font-size: 14px;
            }
          }
        }
      }
    }
  }
}

.recommend {
  .sec-title {
    margin-bottom: 150px;
  }
  .flex {
    gap: var(--80-40);
    margin-bottom: var(--80-40);
    @media screen and (max-width: 1000px) {
      gap: 40px;
    }
    @media screen and (max-width: 768px) {
      flex-direction: column;
    }

    .content-box {
      background-color: #fff;
      border-radius: 20px;
      border: var(--border1);
      padding: var(--40-20);
      padding-top: 70px;
      display: flex;
      flex-direction: column;
      flex: 1;
      .top {
        margin: -130px auto 40px auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        .top-box {
          display: block;
          padding: 20px 25px;
          color: #fff;
          font-size: clamp(1.125rem, 0.8826rem + 0.5051vw, 1.375rem);
          background-color: #c38e46;
          border-radius: 10px;
          @media screen and (max-width: 1000px) {
            font-size: 16px;
            padding: 15px 20px;
          }
        }
        span {
          font-size: 14px;
          text-wrap: nowrap;
        }
      }

      .img {
        height: 273px;
        display: flex;
        justify-content: center;
        margin-bottom: var(--40-20);
        img {
          height: 100%;
          object-fit: cover;
        }
      }
      ul {
        margin-bottom: var(--40-20);
        display: flex;
        flex-direction: column;
        gap: 20px;
        li {
          font-size: 18px;
          padding-left: 45px;
          position: relative;
        }
        li::before {
          content: "";
          width: 25px;
          height: 25px;
          border-radius: 5px;
          background-color: #ffeba6;
          border: 1px solid #fcc919;
          position: absolute;
          top: 50%;
          left: 0;
          translate: 0 -50%;
        }
      }
      .desc {
        font-size: clamp(1.125rem, 0.8826rem + 0.5051vw, 1.375rem);
      }
    }
    .content-box.il {
      border: var(--border2);
      .top {
        .top-box {
          background-color: #624b30;
        }
      }
    }
  }
  .t-s {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .t-l {
    font-size: 35px;
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .recommend {
    .sec-title {
      margin-bottom: 75px;
    }
    .flex {
      flex-direction: column;
      gap: 120px;

      .content-box {
        .img {
          height: 180px;
          margin-bottom: 20px;
        }
        ul {
          gap: 10px;
          li {
            font-size: 16px;
            padding-left: 33px;
            position: relative;
          }
          li::before {
            width: 23px;
            height: 23px;
          }
        }
        .desc {
          font-size: 18px;
        }
      }
      .content-box.il {
        border: var(--border2);
        .top {
          .top-box {
            background-color: #624b30;
          }
        }
      }
    }
    .t-s {
      font-size: 16px;
      margin-bottom: 10px;
      text-align: left;
    }
    .t-l {
      font-size: 20px;
      text-align: left;
    }
  }
}

.simulation {
  .content-box {
    margin-top: 115px;
    margin-bottom: var(--80-40);
    background-color: #fff;
    border-radius: 20px;
    border: var(--border1);
    padding: clamp(1.875rem, 0.0568rem + 3.7879vw, 3.75rem)
      clamp(1.25rem, -2.3864rem + 7.5758vw, 5rem);
    display: flex;
    flex-direction: column;
    flex: 1;
    .top {
      margin: -110px auto 40px auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 20px 25px;
      color: #fff;
      font-size: clamp(1.125rem, 0.8826rem + 0.5051vw, 1.375rem);
      background-color: #c38e46;
      border-radius: 10px;
      text-wrap: nowrap;
      text-align: center;
    }
    table {
      border-collapse: collapse;
      margin-bottom: var(--40-20);
      th,
      td {
        padding: 20px 0;
        font-size: clamp(0.875rem, 0.6326rem + 0.5051vw, 1.125rem);
        font-weight: normal;
        width: 33%;
      }
      th {
        border-bottom: var(--border);
        text-align: left;
        color: #c38e46;
      }
      td {
        border-bottom: #fcc919 0.5px solid;
      }
      .last-table {
        td {
          border-bottom: 0;
        }
      }
    }
  }
}
@media screen and (max-width: 768px) {
  .simulation {
    .sec-title {
      text-align: left;
    }
    .desc {
      text-align: left;
    }
    .content-box {
      margin-top: 80px;
      padding-top: 71px;
      .top {
        top: -40px;
        padding: 15px 20px;
      }
      table {
        th,
        td {
          padding: 10px 0;
        }
      }
      span {
        font-size: 14px;
      }
    }
  }
}

.merit {
  padding-bottom: 0;
  .content1 {
    margin-bottom: var(--80-40);
    justify-content: space-between;
    .l-cont {
      .desc {
        margin-bottom: var(--40-20);
      }
      .tag-area {
        display: flex;
        gap: var(--40-20);
        .tag-box {
          padding: 20px 25px;
          padding-left: 75px;
          background-color: #fffde8;
          border-radius: 10px;
          position: relative;
          font-size: clamp(1.125rem, 0.8826rem + 0.5051vw, 1.375rem);
          width: fit-content;
        }
        .tag-box::before {
          content: "";
          position: absolute;
          top: 50%;
          left: 25px;
          translate: 0 -50%;
          background-image: url(../img/tag-img.svg);
          background-repeat: no-repeat;
          background-size: contain;
          width: 30px;
          height: 30px;
        }
      }
    }
    .r-cont {
      .img {
        height: 282px;
        img {
          height: 100%;
          object-fit: cover;
        }
      }
      @media screen and (max-width: 1180px) {
        display: none;
      }
    }
  }
  ul.flex {
    display: flex;
    gap: 30px;

    .box {
      border: var(--border2);
      border-radius: 20px;
      background-color: #fff;
      padding: var(--40-20);
      flex: 1;
      .img {
        height: 120px;
        display: grid;
        place-items: center;
        margin-bottom: 20px;
      }
      .title {
        font-size: clamp(1.125rem, 0.8826rem + 0.5051vw, 1.375rem);
        margin-bottom: 20px;
      }
      .desc {
        font-size: 16px;
      }
    }
  }
}

.info {
  .flex {
    align-items: end;
    justify-content: space-between;
    margin-bottom: 115px;
    .r-cont {
      .img {
        width: 272px;
        img {
          width: 100%;
        }
      }
      @media screen and (max-width: 1180px) {
        display: none;
      }
    }
  }
  .flex.content1 {
    gap: var(--80-40);
    align-items: stretch;
  }
  .content-box {
    background-color: #fff;
    border: var(--border2);
    border-radius: 20px;
    padding: var(--40-20);
    padding-top: 75px;
    flex: 1;
    .top {
      margin: -110px auto 40px auto;
      width: fit-content;
      .top-box {
        background-color: #fffde8;
        border: var(--border2);
        border-radius: 10px;
        padding: 20px 25px;
      }
    }
    ul {
      margin-bottom: 20px;
      li {
        padding: 20px 0;
        display: flex;
        justify-content: space-between;
        font-size: 18px;
        border-bottom: 0.5px solid var(--color1);
      }
      .title {
        border-bottom: 2px solid var(--color1);
        color: var(--color3);
      }
      li:first-child {
        padding-top: 0;
      }
      li:last-child {
        border-bottom: 0;
      }
    }
  }
  .flow {
    margin-bottom: var(--80-40);
    .flex {
      margin-bottom: 0;
      align-items: center;
      gap: var(--40-20);
      span {
        font-size: 18px;
      }
      .line {
        flex: 1;
        height: 1px;
        background-color: var(--text-color);
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .merit {
    .content1 {
      .l-cont {
        .tag-area {
          flex-direction: column;
          .tag-box {
            padding: 15px 20px;
            padding-left: 55px;
          }
          .tag-box::before {
            top: 15px;
            translate: 0 0;
            left: 20px;
            width: 25px;
            height: 25px;
          }
        }
      }
    }
    ul.flex {
      gap: 15px;
      flex-direction: column;
      .box {
        .title {
          margin-bottom: 10px;
        }
        .desc {
          font-size: 14px;
        }
      }
    }
  }

  .info {
    .flex {
      margin-bottom: 68px;
    }
    .flex.content1 {
      flex-direction: column;
      gap: 57px;
      margin-bottom: 57px;
    }
    .content-box {
      .top {
        margin-bottom: 20px;
        .top-box {
          padding: 15px 20px;
        }
      }
      ul {
        margin-bottom: 10px;
        li {
          padding: 10px 0;
          font-size: 14px;
          .desc {
            font-size: 15px;
          }
        }
      }
    }
    .flow {
      .flex {
        flex-direction: column;
        justify-content: center;
        gap: 11px;
        align-items: center;
        span {
          font-size: 16px;
        }
        .line {
          flex: auto;
          width: 1px;
          height: 20px;
          display: block;
        }
      }
    }
  }
}

footer {
  position: relative;
  z-index: 999;
  .footer {
    background-color: var(--color2);
    position: relative;
    padding: 90px 0 40px 0;
    .to-top-btn {
      position: absolute;
      top: -40px;
      right: 50px;
      font-size: 16px;
    }
    .to-top-btn:hover {
      opacity: 0.7;
    }
  }
  a {
    display: block;
    margin-right: auto;
    margin-left: auto;
  }
  .logo {
    margin-bottom: var(--80-40);
    width: fit-content;
    height: 75px;
    transition: var(--trans);
    img {
      height: 100%;
    }
  }
  .logo:hover {
    opacity: 0.7;
  }

  .footer-under {
    .flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      a {
        font-size: 12px;
        transition: var(--trans);
      }
      a:hover {
        opacity: 0.7;
      }
      small {
        font-size: 12px;
        display: block;
        width: fit-content;
      }
      .spacer {
        flex: 1;
      }
    }
  }
}

@media screen and (max-width: 768px) {
  footer {
    .footer {
      padding: 40px 0 20px 0;
      .to-top-btn {
        top: -30px;
        right: 20px;
        font-size: 14px;
      }
    }
    .logo {
      height: 38px;
    }

    .footer-under {
      .flex {
        gap: 10px;
        a {
          font-size: 9px;
        }
        small {
          font-size: 9px;
        }
      }
    }
  }
}

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

下層ページ

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

.under-mv {
  text-align: center;
  position: relative;
  margin-top: 135px;
  padding: 100px 0 0 0;
  .sec-title {
    font-size: clamp(1.375rem, -0.322rem + 3.5354vw, 3.125rem);
  }
  .desc {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .under-mv {
    margin-top: 70px;
    padding: 50px 0 0 0;
  }
}

.about.under {
  .sec-title {
    margin: 200px 0;
  }
  .content {
    display: flex;
    margin-bottom: 120px;
    align-items: center;
    .text-area {
      width: 100%;
      font-size: 18px;
      ul {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-bottom: var(--40-20);
        li {
          color: var(--color3);
          padding-left: 45px;
          position: relative;
        }
        li.check-box::before {
          content: "";
          width: 25px;
          height: 25px;
          background-color: #ffeba6;
          border: 1px solid var(--color1);
          position: absolute;
          top: 50%;
          translate: 0 -50%;
          left: 0;
          border-radius: 5px;
        }
        li.circle-b::before {
          content: "";
          width: 25px;
          height: 25px;
          background-color: var(--text-color);
          position: absolute;
          top: 50%;
          translate: 0 -50%;
          left: 0;
          border-radius: 50%;
        }
      }
    }
    .img-area {
      width: 100%;
      max-width: 500px;
      display: flex;
      justify-content: center;
      .img {
        height: 260px;
        img {
          height: 100%;
        }
      }
    }
  }
}

.notes {
  margin-top: -40px;
  margin-bottom: 95px;
  p {
    font-size: 16px;
    padding-left: 15px;
    position: relative;
    line-height: 2;
  }
  p::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 3px;
    font-size: 12px;
  }
}

.merit.under {
  .tag-area {
    .tag-box {
      border: 2px solid var(--color1);
    }
  }
}
@media screen and (max-width: 768px) {
  .about.under {
    .sec-title {
      margin: 100px 0;
    }
    .content {
      margin-bottom: 60px;
      flex-direction: column;
      gap: 40px;
      .text-area {
        order: 1;
        font-size: 16px;
        ul {
          gap: 15px;
          li {
            padding-left: 33px;
          }
          li.check-box::before {
            top: 0;
            translate: 0 0;
            width: 23px;
            height: 23px;
          }
          li.circle-b::before {
            width: 23px;
            height: 23px;
            top: 0;
            translate: 0 0;
          }
        }
      }
      .img-area {
        order: 2;
        .img {
          height: 180px;
          img {
            height: 100%;
          }
        }
      }
    }
  }
  .message {
    .text-center {
      text-align: left;
    }
  }

  .notes {
    margin-top: -40px;
    margin-bottom: 95px;
    p {
      font-size: 16px;
      padding-left: 15px;
      position: relative;
      line-height: 2;
    }
    p::before {
      content: "※";
      position: absolute;
      left: 0;
      top: 3px;
      font-size: 12px;
    }
  }

  .merit.under {
    .tag-area {
      .tag-box {
        border: 2px solid var(--color1);
      }
    }
  }
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 40px;

  .faq-item {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border: 1px solid var(--color1);
    border-radius: 20px;
    padding: 10px 60px;
    transition: var(--trans);
    .q,
    .a {
      display: flex;
      align-items: top;
      gap: 40px;
      padding: 30px 0;
      span {
        display: block;
        color: var(--color1);
        font-weight: 700;
        font-size: 30px;
        translate: 0 -5px;
      }
      p {
        font-size: 18px;
        line-height: 2;
      }
    }
    .q {
      border-bottom: 1px #ddd solid;
    }
    .a p {
      font-size: 16px;
    }
  }
}
@media screen and (max-width: 960px) {
  .faq-list {
    gap: 20px;
    .faq-item {
      padding: 5px 20px;
      .q,
      .a {
        gap: 10px;
        padding: 15px 0;
        span {
          font-size: 20px;
          translate: 0 0;
        }
        p {
          font-size: 16px;
        }
      }
      .a p {
        font-size: 14px;
      }
    }
  }
}

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

        .title {
          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 {
          width: 50px;
          aspect-ratio: 1/1;
          border-radius: 50%;
          background-color: var(--color1);
          display: grid;
          place-items: center;
          margin-right: 0;
          margin-left: auto;
        }
      }
    }
    .card:hover {
      scale: 1.02;
    }
  }
}
@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: 18px;
          }
          .desc {
            margin-bottom: 15px;
            font-size: 14px;
          }
          .icon {
            width: 30px;
            img {
              scale: 0.9;
            }
          }
        }
      }
    }
  }
}
@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: 20px;
            }
          }
          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;
              color: var(--color3);
            }
          }
          time {
            color: var(--color3);
          }
        }
      }
      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.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 {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    font-size: 20px;
    background-color: var(--color2);
    border: #ffeba6 1px solid;
    width: 65px;
    aspect-ratio: 1;
    border-radius: 20px;
  }
  .wp-pagenavi a:hover {
    background-color: #ffeba6;
  }

  .current {
    background-color: #ffeba6;
    border: #ffeba6 1px solid;
  }

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

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

リキャプチャ非表示

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

.grecaptcha-badge {
  visibility: hidden;
}
