@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap" rel="stylesheet');

body {
  font-family:
    "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM,
    "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo,
    sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  letter-spacing: 0.05em;
  margin: 0 auto;
}

ol,
ul {
  list-style: none;
}
main a {
  color: inherit;
  text-decoration: none;
}
main img,
main picture {
  display: block;
}
main i {
  font-style: normal;
}
main :is(dl, dt, dd) {
  margin: 0;
}

html,
body,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
address,
img,
small,
ul {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}
* {
  box-sizing: border-box;
}
img {
  height: auto;
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}
.inner__wrap {
  margin-inline: auto;
}

/* @media (max-width: 768px) {
  .inner__wrap {
    width: 87.69%;
  }
}

@media (min-width: 769px) {
  .inner__wrap {
    width: 100%;
    max-width: calc(1120px + 40px);
    padding: 0 20px;
  }
} */

.bg__dark {
  background: #001124;
  color: #fff;
}
.bg__light {
  background: #eae6db;
}

#vantan-main {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  /*  sp  */

  html {
    font-size: 62.5%;
  }
  :root {
    --px9: min(2.31vw, 9px);
    --px10: min(2.56vw, 10px);
    --px11: min(2.82vw, 11px);
    --px12: min(3.08vw, 12px);
    --px13: min(3.33vw, 13px);
    --px14: min(3.59vw, 14px);
    --px15: min(3.85vw, 15px);
    --px16: min(4.1vw, 16px);
    --px17: min(4.36vw, 17px);
    --px18: min(4.62vw, 18px);
    --px19: min(4.87vw, 19px);
    --px20: min(5.13vw, 20px);
    --px21: min(5.38vw, 21px);
    --px22: min(5.64vw, 22px);
    --px23: min(5.9vw, 23px);
    --px24: min(6.15vw, 24px);
    --px25: min(6.41vw, 25px);
    --px26: min(6.67vw, 26px);
    --px27: min(6.92vw, 27px);
    --px28: min(7.18vw, 28px);
    --px29: min(7.44vw, 29px);
    --px30: min(7.69vw, 30px);
    --px31: min(7.95vw, 31px);
    --px32: min(8.21vw, 32px);
    --px33: min(8.46vw, 33px);
    --px34: min(8.72vw, 34px);
    --px35: min(8.97vw, 35px);
    --px36: min(9.23vw, 36px);
    --px37: min(9.49vw, 37px);
    --px38: min(9.74vw, 38px);
  }
  .inner__wrap {
    width: 84.62%;
  }
  .inner__wrap .narrow__wrap {
    margin-inline: auto;
    width: 94.2%;
  }
  .sp__only {
    display: block;
  }
  .pc__only {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */

  :root {
  }
  .inner__wrap {
    max-width: 1160px;
    padding: 0 20px;
  }
  .sp__only {
    display: none;
  }
  .pc__only {
    display: block;
  }
  a {
    transition: all 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
}

/* -----------------------------------------------
header
----------------------------------------------- */
header {
  position: sticky;
  width: 100%;
  top: 0;
  z-index: 99;
}
.header__inner {
  margin-inline: auto;
}
.header__inner .sub__nav ul {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}
.sub__nav ul li a {
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub__nav ul li:nth-child(1) a {
  background: #9d8763;
}
.sub__nav ul li:nth-child(2) a {
  background: #561826;
}
.sub__nav ul li:nth-child(3) a {
  background: #55a662;
}

@media screen and (max-width: 767px) {
  /*  sp  */
  header h1#vantan-logo {
    max-width: 80px;
    margin-left: 5.3%;
    width: 20.513%;
  }
  header a {
    text-decoration: none;
  }
  .header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .sub__nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
  }
  .sub__nav ul li a {
    aspect-ratio: 1 / 1;
    width: 60px;
    height: auto;
    color: #fff;
    font-size: var(--px16);
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-align: center;
  }
  .sub__nav .header__menu-button {
    aspect-ratio: 1 / 1;
    width: 60px;
    height: auto;
    background: #001124;
    border: 0;
    position: relative;
  }
  .header__menu-button span {
    width: 30px;
    height: 2px;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    background: #fff;
    position: absolute;
    transition:
      transform 0.6s ease-in-out,
      top 0.5s ease;
  }
  .header__menu-button span:nth-child(1) {
    top: calc(50% - 6px);
  }
  .header__menu-button span:nth-child(2) {
    top: 50%;
  }
  .header__menu-button span:nth-child(3) {
    top: calc(50% + 6px);
  }
  body.is-menu-open .header__menu-button span:nth-child(1) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  body.is-menu-open .header__menu-button span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  body.is-menu-open .header__menu-button span:nth-child(3) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .header__nav {
    transform: translateX(100%);
    transition: all 0.3s;
    height: 100vh;
    background-color: #001124;
    position: absolute;
    top: 60px;
    right: 0;
    margin: 0 calc(50% - 50vw);
    overflow-y: scroll;
    z-index: 9;
    width: 0;
    /* overflow: hidden; */
    padding: 0;
  }
  body.is-menu-open .header__nav {
    transform: translateX(0);
    padding: 48px 9% 150px;
    width: 100vw;
  }
  .header__nav ul {
    display: flex;
    flex-direction: column;
    gap: 27px 0;
    padding: 0 10% 136px;
  }
  .header__nav li {
    font-size: 17px;
  }
  .header__nav li a {
    display: block;
    padding: 0.5em 0;
    position: relative;
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header__inner {
    max-width: 1366px;
  }
  .header__inner a {
    color: #fff;
    text-decoration: none;
    font-size: min(1.099vw, 15px);
    letter-spacing: 0.14em;
  }
  .header__inner h1#vantan-logo {
    margin-left: 2.6%;
    width: 8.785%;
  }
  .header__inner .header__nav {
    margin-inline: auto 2.4%;
  }
  .header__nav ul li {
    margin-inline: 0.4em;
  }
  .header__nav ul li a {
    padding: 1em 0.5em;
  }
  .header__inner .header__nav ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .sub__nav ul li a {
    height: min(7.321vw, 100px);
  }
}

/* -----------------------------------------------
footer
----------------------------------------------- */
footer {
  width: 100%;
  text-align: center;
}
footer strong {
  display: inline-block;
}
footer a {
  color: #fff;
  text-decoration: none;
  line-height: 1;
}
.footer__link__link li {
  line-height: 1;
}
.footer__link__link a[target="_blank"]::after {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  background: url(../images/icon_blank.svg) 100% 80% / 1em no-repeat;
}
@media screen and (max-width: 767px) {
  /*  sp  */
  footer {
    padding: 0 0 43px;
  }
  body:has(.fixed__link__wrap) footer {
    padding: 0 0 103px;
  }
  footer strong {
    max-width: 100px;
    width: 30.31%;
    margin-bottom: 42px;
  }
  footer a {
    font-size: 12px;
  }
  footer .footer__link__link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    width: 74.55%;
    margin-inline: auto;
  }
  .footer__link__link li {
    position: relative;
  }
  .footer__link__link li:nth-child(odd) {
    padding-right: 0.5em;
  }
  .footer__link__link li:nth-child(odd)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 12px;
    display: block;
    background: #fff;
    top: 50%;
    right: 0;
    transform: translateY(-5px);
  }
  .footer__link__link a {
    display: block;
    font-size: var(--px12);
    letter-spacing: 0.1em;
    padding: 0.5em;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */

  footer {
    padding: 148px 62px 60px;
  }
  body:has(.fixed__link__wrap) footer {
    padding: 148px 62px 140px;
  }

  footer strong {
    max-width: 102px;
    margin-bottom: 46px;
  }
  footer a {
    font-size: 12px;
  }
  footer .footer__link__link {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .footer__link__link li {
    position: relative;
  }
  .footer__link__link li:nth-child(-n + 3)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 12px;
    display: block;
    background: #fff;
    top: 50%;
    right: 0;
    transform: translateY(-3px);
  }
  .footer__link__link a {
    letter-spacing: 0.1em;
    padding-inline: 1.5em;
  }
}
/* -----------------------------------------------
fixed__link__wrap
----------------------------------------------- */
.fixed__link__wrap {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.fixed__link__wrap ul {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}
.fixed__link__wrap ul li {
  width: calc(100% / 3);
}
.fixed__link__wrap ul li a {
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fixed__link__wrap ul li:nth-child(1) a {
  background: #9d8763;
}
.fixed__link__wrap ul li:nth-child(2) a {
  background: #561826;
}
.fixed__link__wrap ul li:nth-child(3) a {
  background: #55a662;
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .fixed__link__wrap ul li a {
    font-size: var(--px14);
    height: 60px;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .fixed__link__wrap ul li a {
    font-size: 18px;
    height: 80px;
  }
}

/* -----------------------------------------------
kv
----------------------------------------------- */
.kv__wrap {
  position: relative;
  display: grid;
}
.kv__wrap h2 {
  /* color: #333333;
  font-weight: 600; */
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .kv__wrap > picture,
  .kv__wrap > .inner__wrap {
    grid-column: 1;
    grid-row: 1;
  }
  .kv__wrap > picture {
    width: 100%;
  }
  .kv__wrap > picture img {
    display: block;
    width: 100%;
    height: auto;
  }
  .kv__wrap > .inner__wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin-inline: auto;
    display: flex;
    align-items: center;
  }
  .kv__wrap h2 {
    width: 48.6%;
    margin-top: 12%;
    margin-left: 10.4%;
    margin-bottom: auto;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .kv__wrap > picture,
  .kv__wrap > .inner__wrap {
    grid-column: 1;
    grid-row: 1;
  }

  .kv__wrap > picture {
    width: 100%;
  }

  .kv__wrap > picture img {
    display: block;
    width: 100%;
    height: auto;
  }

  .kv__wrap > .inner__wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin-inline: auto;
    display: flex;
    align-items: center;
  }

  .kv__wrap h2 {
    width: 34.108%;
    margin-bottom: 2%;
    margin-left: 7%;
  }
}

/* -----------------------------------------------
kinds__list__wrap
----------------------------------------------- */
.kinds__swiper__wrap {
  position: relative;
}
.kinds__section h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.15em;
}
.kinds__section h2::before,
.kinds__section h2::after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #b7a174;
  flex-shrink: 0;
}

.kinds__swiper__wrap,
.kinds__swiper,
.kinds__list__wrap {
  margin-inline: auto;
}
.kinds__list__wrap .kinds__list__item {
  background: rgba(255, 255, 255, 0.9);
}
.kinds__list__item strong {
  color: #9d8763;
  font-weight: normal;
  display: block;
}
.kinds__list__item p {
  color: #000;
}
.swiper-pagination-bullet {
  background: rgb(230 230 230 / 50%);
  width: 10px;
  height: 10px;
}
.swiper-pagination-bullet-active {
  background: #9d8763;
  opacity: var(--swiper-pagination-bullet-opacity, 1);
}
.swiper-pagination-bullet:nth-child(5) {
  margin-left: -68px !important;
}
.swiper-button-prev,
.swiper-button-next {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  display: none;
}
.swiper-button-prev {
  background-image: url(../images/icon_arrow_left.svg);
}
.swiper-button-next {
  background-image: url(../images/icon_arrow_right.svg);
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .kinds__section h2 {
    font-size: var(--px14);
    padding-top: 36px;
  }
  .kinds__swiper {
    padding-block: 36px 47px;
  }
  .kinds__list__item {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .kinds__list__item picture {
    width: 48.18%;
  }
  .kinds__list__item .kinds__list__cap {
    width: calc(100% - 51.82%);
    padding: 6% 0 0 6%;
  }
  .kinds__list__item strong {
    font-size: var(--px14);
    margin-bottom: 2px;
  }
  .kinds__list__item p {
    font-size: var(--px12);
  }
  .kinds__swiper__wrap .swiper-button-prev {
    left: 19px;
  }
  .kinds__swiper__wrap .swiper-button-next {
    right: 19px;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */

  .kinds__swiper__wrap {
    width: 1120px;
  }
  .kinds__section h2 {
    font-size: 24px;
    padding-top: 92px;
  }
  .kinds__swiper {
    padding-block: 67px 85px;
    /* max-width: 1120px; */
  }
  .kinds__swiper .kinds__list__wrap {
    /* width: 1120px; */
  }
  .kinds__list__item picture {
    margin-bottom: 13px;
  }
  .kinds__list__item .kinds__list__cap {
    padding-inline: 16px;
    padding-bottom: 17px;
  }
  .kinds__list__item strong {
    font-size: 17px;
    margin-bottom: 2px;
  }
  .kinds__list__item p {
    font-size: 14px;
  }
  .kinds__swiper__wrap .swiper-button-prev {
    left: -15px;
  }
  .kinds__swiper__wrap .swiper-button-next {
    right: -15px;
  }
}

/* -----------------------------------------------
catch__wrap
----------------------------------------------- */
.catch__wrap h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.15em;
}
.catch__wrap h2::before,
.catch__wrap h2::after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #b7a174;
  flex-shrink: 0;
}
.catch__head__fx h3 {
  color: #9d8763;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.link__wrap a {
  background: #9d8763;
  color: #fff;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.link__wrap a:after {
  content: "";
  background: #fff;
  height: 1px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.link__wrap > span {
  text-align: center;
  display: block;
}

.catch__list__cap h3 {
  color: #9d8763;
  /* font-weight: 500; */
  font-weight: 800;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .catch__wrap {
    padding-block: 38px 55px;
  }
  .catch__wrap .catch__inner {
    margin-bottom: 98px;
  }
  .catch__wrap h2 {
    font-size: var(--px14);
    margin-bottom: 36px;
  }
  .catch__head__fx h3 {
    font-size: var(--px26);
    line-height: 1.54;
  }
  .catch__head__cap {
    padding-top: 22px;
  }
  .catch__head__cap p {
    font-size: var(--px12);
    line-height: 2.083;
    margin-bottom: 44px;
  }
  .link__wrap a {
    font-size: var(--px16);
    width: 100%;
    height: 55px;
    letter-spacing: 0.07em;
    margin-bottom: 16px;
    max-width: 408px;
    padding-left: 1.7em;
    transition: all 0.3s;
  }
  .link__wrap a:after {
    width: 30px;
    right: -15px;
    transition: all 0.3s;
  }
  .link__wrap > span {
    font-size: var(--px12);
  }
  .catch__list__wrap {
    max-width: 1366px;
    margin-inline: auto;
  }
  .catch__list__wrap .catch__list__item:not(:last-child) {
    margin-bottom: 112px;
  }
  .catch__list__item .catch__list__image {
    margin-bottom: 37px;
  }
  .catch__list__cap {
    width: 84.62%;
    margin-inline: auto;
  }
  .catch__list__cap h3 {
    font-size: var(--px26);
    margin-bottom: 23px;
    line-height: 1.54;
  }
  .catch__list__cap p {
    font-size: var(--px12);
    line-height: 2.083;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .catch__wrap {
    padding-block: 88px;
  }
  .catch__wrap .catch__inner {
    margin-bottom: 184px;
  }
  .catch__wrap h2 {
    font-size: 24px;
    margin-bottom: 92px;
  }
  .catch__head__fx {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .catch__head__fx h3 {
    font-size: 37px;
    line-height: 1.76;
    margin-inline: 14% 4.8%;
  }
  .catch__head__cap {
    padding-top: 10px;
  }
  .catch__head__cap p {
    font-size: 16px;
    line-height: 2.36;
    margin-bottom: 65px;
  }
  .catch__head__cap .link__wrap a {
    font-size: 20px;
    width: 100%;
    height: 71px;
    letter-spacing: 0.07em;
    margin-bottom: 21px;
    max-width: 408px;
    padding-left: 1.7em;
    transition: all 0.3s;
  }
  .catch__head__cap .link__wrap a:after {
    width: 30px;
    right: -15px;
    transition: all 0.3s;
  }
  .catch__head__cap .link__wrap > span {
    font-size: 15px;
  }
  .catch__head__cap .link__wrap a:hover {
    background: #b9a586;
  }
  .catch__head__cap .link__wrap a:hover:after {
    right: -30px;
    opacity: 0;
  }
  .catch__list__wrap {
    max-width: 1366px;
    margin-inline: auto;
  }
  .catch__list__wrap .catch__list__item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 100px;
  }
  .catch__list__wrap .catch__list__item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .catch__list__item > * {
    width: 50%;
  }
  .catch__list__cap {
    padding-left: 8.89%;
  }
  /* .catch__list__wrap .catch__list__item:nth-child(even) .catch__list__cap {
    padding-left: 8.89%;
  } */
  .catch__list__cap h3 {
    font-size: 26px;
    margin-bottom: 16px;
    line-height: 1.54;
  }
  .catch__list__cap p {
    font-size: 16px;
    line-height: 1.94;
  }
}

/* -----------------------------------------------
.heading__wrap {}
----------------------------------------------- */
.heading__wrap {
}
.heading__wrap h2 {
  font-weight: 600;
}
.heading__wrap h3 {
  color: #9d8763;
  font-weight: 600;
  text-align: center;
}
.heading__wrap h3 b {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  /*  sp  */
  .heading__wrap {
    padding-block: 62px 45px;
  }
  .heading__wrap h2 {
    font-size: var(--px22);
    letter-spacing: 0;
    line-height: 1.727;
  }
  .heading__wrap:has(h3) h2 {
    margin-bottom: 47px;
  }
  .heading__wrap h3 {
    font-size: var(--px22);
  }
  .heading__wrap h3 b {
    font-size: var(--px22);
  }
  .heading__wrap:has(p) h2 {
    margin-bottom: 38px;
  }
  .heading__wrap p {
    font-size: var(--px12);
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .heading__wrap {
    padding-block: 162px 78px;
  }
  .heading__wrap h2 {
    font-size: 38px;
  }
  .heading__wrap:has(h3) h2 {
    margin-bottom: 124px;
  }
  .heading__wrap h3 {
    font-size: 30px;
  }
  .heading__wrap h3 b {
    font-size: 34px;
  }
  .heading__wrap:has(p) h2 {
    margin-bottom: 38px;
  }
}

/* -----------------------------------------------
promise__wrap
----------------------------------------------- */
.promise__wrap {
}
.promise__wrap .promise__list {
  margin: 0;
  padding: 0;
}
.promise__list li {
  border-top: 1px solid #9d8763;
  text-align: center;
}
.promise__list li span {
  color: #9d8763;
  display: block;
  text-align: left;
}
.promise__list li h4 {
  position: relative;
  font-weight: 600;
}
.promise__list li h4:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 36px;
  height: 1px;
  background: #9d8763;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  /*  sp  */

  .promise__wrap .heading__wrap h2 {
    font-size: var(--px26);
    line-height: 1.46;
  }

  .promise__list li {
    padding-top: 31px;
    padding: 19px 2.8% 39px;
  }
  .promise__list li span {
    font-size: var(--px22);
    line-height: 1;
    margin-bottom: 2px;
  }
  .promise__list li h4 {
    font-size: var(--px20);
    line-height: 1;
    margin-bottom: 17px;
    padding-bottom: 23px;
  }
  .promise__list li p {
    font-size: var(--px12);
    line-height: 2;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .promise__list {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
  }
  .promise__list li {
    border-bottom: 1px solid #9d8763;
    padding-top: 31px;
    padding: 31px 2.8% 76px;
    width: calc(100% / 3);
  }
  .promise__list li:nth-child(2) {
    border-right: 1px solid #9d8763;
    border-left: 1px solid #9d8763;
  }
  .promise__list li span {
    font-size: 22px;
    margin-bottom: 32px;
  }
  .promise__list li h4 {
    font-size: 26px;
    margin-bottom: 42px;
    padding-bottom: 27px;
  }
  .promise__list li p {
    font-size: 16px;
    line-height: 2;
  }
}

/* -----------------------------------------------
voice__wrap
----------------------------------------------- */
.voice__wrap {
}
.voice__wrap .voice__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-inline: auto;
}
.voice__list li {
  border-bottom: 1px solid #9d8763;
}
.voice__list picture {
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .voice__wrap {
    margin-bottom: 87px;
  }
  .voice__wrap .voice__list {
    margin-bottom: 39px;
  }
  .voice__list li {
    border-bottom: 1px solid #9d8763;
    width: 45.45%;
    padding-bottom: 43px;
  }
  .voice__list li:nth-child(n + 3) {
    padding-top: 42px;
  }
  .voice__list picture {
    width: 42.66%;
    max-width: 94px;
    margin-bottom: 29px;
  }
  .voice__list p {
    font-size: var(--px12);
    line-height: 1.833;
  }
  .rate__list__wrap .rate__list {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 26px;
  }
  .rate__list li {
    width: 45.45%;
    max-width: 550px;
  }
  .rate__list__wrap p {
    font-size: var(--px10);
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .voice__wrap {
    margin-bottom: 147px;
  }
  .voice__wrap .voice__list {
    margin-bottom: 74px;
  }
  .voice__list li {
    border-bottom: 1px solid #9d8763;
    width: 31.696%;
    padding-bottom: 88px;
  }
  .voice__list li:nth-child(n + 4) {
    padding-top: 72px;
    padding-bottom: 58px;
  }
  .voice__list picture {
    width: 26.48%;
    max-width: 94px;
    margin-bottom: 51px;
  }
  .voice__list p {
    font-size: 17px;
    line-height: 1.86;
    text-align: center;
  }
  .rate__list__wrap .rate__list {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 49px;
  }
  .rate__list li {
    width: 49.108%;
    max-width: 550px;
  }
  .rate__list__wrap {
    text-align: center;
  }

  .rate__list__wrap p {
    font-size: 12px;
  }
}

/* -----------------------------------------------
kinds__wrap
----------------------------------------------- */
.kinds__wrap {
}
.kinds__wrap .kinds__list__wrap {
}
@media screen and (max-width: 767px) {
  /*  sp  */
  .kinds__wrap {
    margin-bottom: 96px;
  }
  .kinds__wrap .kinds__list__wrap .kinds__list__item {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .kinds__wrap {
    margin-bottom: 120px;
  }
  .kinds__wrap .kinds__list__wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
  }
  .kinds__wrap .kinds__list__wrap .kinds__list__item {
    width: 48.036%;
    max-width: 538px;
    margin-bottom: 50px;
  }
  .kinds__wrap .kinds__list__cap {
    padding-block: 8px 25px;
  }
  .kinds__wrap .kinds__list__cap strong {
    font-size: 20px;
    margin-bottom: 4px;
  }
  .kinds__wrap .kinds__list__cap p {
    font-size: 16px;
  }
}

/* -----------------------------------------------
sec__head__wrap
----------------------------------------------- */

@media screen and (max-width: 767px) {
  /*  sp  */
}

@media screen and (min-width: 768px) {
  /*  pc  */
}

/* -----------------------------------------------
about__wrap
----------------------------------------------- */
.about__wrap .heading__wrap h2 {
  /* font-weight: normal; */
  color: #231815;
}
.about__cap dt {
  color: #a99576;
}
.about__cap h4 {
  color: #231815;
  /* font-weight: normal; */
  font-weight: 800;
}
.price__table {
  border-collapse: collapse;
  font-feature-settings: "palt";
  width: 100%;
}
.price__table th {
  background-color: #9d8763;
  color: #fff;
  font-weight: normal;
}
.price__table td {
  background-color: #fff;
}
.price__recommend {
  background-color: #9d8763;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .about__wrap {
    margin-bottom: 66px;
  }
  .about__wrap .heading__wrap {
    margin-bottom: 48px;
  }
  .about__wrap .heading__wrap h2 {
    font-size: var(--px22);
    line-height: 1.72;
    font-feature-settings: "palt";
    margin-bottom: 22px;
  }
  .about__wrap .heading__wrap p {
    font-size: var(--px12);
    line-height: 2;
  }
  .about__fx + .about__fx {
    padding-top: 66px;
  }
  .about__cap {
    margin-bottom: 36px;
  }
  .about__cap dl + dl {
    margin-top: 16px;
  }
  .about__cap dt {
    font-size: var(--px16);
    margin-bottom: 8px;
  }
  .about__cap dt span {
    font-size: var(--px10);
  }
  .about__cap dd {
    font-size: var(--px12);
    line-height: 1.83;
  }
  .about__cap dd span {
    font-size: var(--px9);
    margin-top: 6px;
    display: inline-block;
  }
  .about__map {
    width: 100%;
    aspect-ratio: 330/194;
  }
  .about__map iframe {
    filter: grayscale(100%);
    width: 100%;
    height: 100%;
  }
  .about__cap h4 {
    font-size: var(--px20);
    line-height: 1.7;
    margin-bottom: 17px;
  }
  .about__cap p {
    font-size: var(--px12);
    line-height: 2;
  }
  .price__table {
    margin-bottom: 18px;
  }
  .price__table__wrap tr:not(:last-child) {
    border-bottom: 1px solid #eae6db;
  }
  .price__table__wrap tr > * {
    padding: 10px 10px;
  }
  .price__table__wrap tr > *:nth-child(1) {
    width: 27.58%;
    border-right: 1px solid #eae6db;
  }
  .price__table__wrap tr > *:nth-child(2) {
    width: 26.36%;
    border-right: 1px solid #eae6db;
    text-align: center;
  }
  .price__table__wrap tr > *:nth-child(3) {
    width: 45.15%;
  }
  .price__table__wrap th {
    font-size: var(--px12);
    height: 53px;
  }
  .price__table__wrap td {
    height: 67px;
  }
  .price__table__wrap td:nth-child(1),
  .price__table__wrap td:nth-child(2) {
    font-size: var(--px12);
    line-height: 1.25;
  }
  .price__table__wrap td:nth-child(3) {
    font-size: var(--px11);
    line-height: 1.54;
  }
  .price__recommend__wrap {
    border: 2px solid #9d8763 !important;
  }
  .price__recommend {
    width: 52px;
    height: 21px;
    margin-bottom: 4px;
    font-size: var(--px11);
  }
  .price__table__wrap > span {
    font-size: var(--px10);
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .about__wrap {
    margin-bottom: 136px;
  }
  .about__wrap .heading__wrap {
    margin-bottom: 108px;
    padding-block: 108px 0;
  }
  .about__wrap .heading__wrap h2 {
    font-size: 38px;
    line-height: 1.63;
    margin-bottom: 30px;
  }
  .about__wrap .heading__wrap p {
    font-size: 16px;
    line-height: 2;
  }
  .about__fx {
    display: flex;
    justify-content: space-between;
    gap: 20px;
  }
  .about__fx + .about__fx {
    padding-top: 135px;
  }
  .about__cap {
    flex: 1;
  }
  .about__cap dl + dl {
    margin-top: 42px;
  }
  .about__cap dt {
    font-size: 20px;
    margin-bottom: 8px;
  }
  .about__cap dt span {
    font-size: 13px;
  }
  .about__cap dd {
    font-size: 16px;
    line-height: 1.625;
  }
  .about__cap dd span {
    font-size: 13px;
    margin-top: 6px;
    display: inline-block;
  }
  .about__map {
    width: 60.54%;
    aspect-ratio: 678/400;
  }
  .about__map iframe {
    filter: grayscale(100%);
    width: 100%;
    height: 100%;
  }
  .about__cap h4 {
    font-size: 26px;
    line-height: 1.61;
    margin-bottom: 17px;
  }
  .about__cap p {
    font-size: 16px;
    line-height: 2;
  }
  .price__table__wrap {
    width: 60.54%;
  }
  .price__table {
    margin-bottom: 16px;
  }
  .price__table__wrap tr:not(:last-child) {
    border-bottom: 2px solid #eae6db;
  }
  .price__table__wrap tr > * {
    height: 67px;
    padding: 14px 15px;
  }
  .price__table__wrap tr > *:nth-child(1) {
    width: 38.79%;
    border-right: 2px solid #eae6db;
  }
  .price__table__wrap tr > *:nth-child(2) {
    width: 20.5%;
    border-right: 2px solid #eae6db;
    text-align: center;
  }
  .price__table__wrap tr > *:nth-child(3) {
    width: 40.12%;
  }
  .price__table__wrap th {
    font-size: 18px;
  }
  .price__table__wrap td:nth-child(1),
  .price__table__wrap td:nth-child(2) {
    font-size: 17px;
  }
  .price__table__wrap td:nth-child(3) {
    font-size: 16px;
    line-height: 1.5625;
  }
  .price__recommend__wrap {
    border: 3px solid #9d8763 !important;
  }
  .price__recommend {
    width: 77px;
    height: 31px;
    font-size: 16px;
    margin-right: 10px;
  }
  .price__table__wrap > span {
    font-size: 12px;
  }
}

/* -----------------------------------------------
faq
----------------------------------------------- */
.faq__wrap .heading__wrap h2 {
  /* font-weight: normal; */
  text-align: center;
  font-weight: 800;
}
.faq__list__wrap .faq__list {
  border-top: 1px solid #808080;
}
.faq__list__wrap .faq__list .faq__acc {
  border-bottom: 1px solid #808080;
}
.faq__acc span {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  border-radius: 50%;
  aspect-ratio: 1/1;
  text-align: center;
  height: auto;
  color: #b08e57;
}
.faq__acc > * {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.faq__acc dt {
  cursor: pointer;
}
dt.question {
  position: relative;
}
dt.question::before {
  content: "";
  height: 1px;
  background-color: #b08e57;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
dt.question::after {
  content: "";
  width: 1px;
  background-color: #b08e57;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.faq__acc.open dt.question::after {
  content: none;
}
dd.answer {
  background: rgba(255, 255, 255, 0.5);
}
.faq__acc p {
  max-width: 700px;
}
.faq__acc p a {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .faq__wrap {
    padding-bottom: 92px;
  }
  .faq__wrap .heading__wrap h2 {
    font-size: var(--px22);
    line-height: 1.73;
    margin-bottom: 48px;
  }
  .faq__acc span {
    aspect-ratio: 1 / 1;
    font-size: var(--px18);
    min-width: 1.889em;
    height: auto;
    line-height: 1.889em;
    margin-right: 0.2em;
  }
  .faq__acc dt {
    padding: 10px 30px 10px 8px;
    -webkit-align-items: center;
    align-items: center;
    min-height: 66px;
  }
  .faq__acc dd {
    padding: 20px 30px 22px 8px;
  }
  dd.answer span {
    width: calc(1.889em - 6px);
    height: auto;
    line-height: 1;
    aspect-ratio: auto;
  }
  .faq__acc p {
    line-height: 2;
  }
  .faq__acc dt p,
  .faq__acc dd p {
    font-size: var(--px12);
    line-height: 1.67;
  }
  dt.question::before {
    width: 11px;
    right: 13px;
  }
  dt.question::after {
    height: 11px;
    right: calc(13px + 5px);
  }
  .faq__acc.open dd {
    margin: 0 auto 25px;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .faq__wrap {
    padding-bottom: 180px;
  }
  .faq__wrap .heading__wrap h2 {
    font-size: 38px;
    margin-bottom: 90px;
  }
  .faq__list__wrap {
    max-width: 900px;
    margin-inline: auto;
  }
  .faq__acc span {
    font-size: 33px;
    width: 34px;
    height: auto;
    line-height: 34px;
    margin-right: 20px;
  }
  .faq__acc dt {
    padding: 32px 50px 32px 32px;
  }
  .faq__acc dd {
    padding: 32px 32px 30px;
  }
  .answer span {
    line-height: 28px;
  }
  .faq__acc p {
    font-size: 18px;
    line-height: 2;
  }
  dt.question::before {
    width: 16px;
    right: 18px;
  }
  dt.question::after {
    height: 16px;
    right: calc(18px + 8px);
  }
  .faq__acc.open dd {
    margin-bottom: 40px !important;
  }
}

/* -----------------------------------------------
application__wrap
----------------------------------------------- */
.application__cap h3 {
  color: #9d8763;
  /* font-weight: normal; */
  font-weight: 800;
}
.application__form__wrap iframe {
  width: 100%;
}
.application__cap > p + p {
  text-align: center;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  /*  sp  */
  .application__wrap {
    padding-bottom: 96px;
  }
  .application__image {
    margin-bottom: 50px;
  }
  .application__cap {
    width: 84.62%;
    margin-inline: auto;
  }
  .application__cap h3 {
    font-size: var(--px26);
    line-height: 1.54;
    font-feature-settings: "palt";
    margin-bottom: 20px;
  }
  .application__cap > p {
    font-size: var(--px12);
    line-height: 2.08;
    margin-bottom: 34px;
  }
  .application__cap > p + p {
    font-size: var(--px15);
  }
  .application__form__wrap p {
    font-size: var(--px12);
    line-height: 2.08;
    margin-bottom: 12px;
  }
}

@media screen and (min-width: 768px) {
  /*  pc  */
  .application__wrap {
    max-width: 1366px;
    margin-inline: auto;
    padding: 139px 9% 148px 0;
    display: flex;
    gap: 0 9.98%;
  }
  .application__image {
    width: 54.95%;
  }
  .application__cap {
    flex: 1;
  }
  .application__cap h3 {
    font-size: 26px;
    line-height: 1.54;
    margin-bottom: 32px;
  }
  .application__cap > p {
    font-size: 16px;
    line-height: 2.375;
    margin-bottom: 52px;
  }
  .application__form__wrap p {
    font-size: 16px;
    line-height: 2.375;
    margin-bottom: 16px;
  }
}
