@charset "utf-8";

@media (min-width:1280px),
print {
  .main {
    padding-top: 0
  }

  .mv {
    position: relative;
    overflow: hidden
  }

  .mv__pic {
    width: 100%;
    height: 100vh;
    display: block
  }

  .mv__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }

  .mv-content {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
    max-width: 1060px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end
  }

  .mv-content__inner {
    width: 462px
  }

  .mv-ttl {
    border-bottom: 1px solid rgba(255, 255, 255, .5)
  }

  .mv-ttl__sub {
    background: linear-gradient(90deg, rgba(184, 138, 86, .8)0, rgba(225, 151, 125, .8) 51%, rgba(184, 138, 86, .8) 100%);
    box-shadow: 0 0 24px 0#ffffff40;
    display: block;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 3.4rem;
    line-height: 1;
    letter-spacing: .15em;
    color: #fff;
    padding: 14px;
    min-height: 77px
  }

  .mv-ttl__sub small {
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: .1em;
    margin-right: 13px;
    margin-left: 6px;
    text-align: justify;
    display: block
  }

  .mv-ttl__sub small span {
    letter-spacing: .42em
  }

  .mv-logo {
    display: block;
    padding: 40px 19px
  }

  .mv-logo img {
    width: 424px;
    height: auto
  }

  .mv-sub {
    color: #fff;
    text-align: center;
    margin-top: 19px
  }

  .mv-sub__top {
    font-weight: 500;
    font-size: 3.8rem;
    line-height: 1.7;
    letter-spacing: .39em;
    white-space: nowrap;
    display: block
  }

  .mv-sub__main {
    display: block;
    white-space: nowrap;
    margin-top: 4px
  }

  .mv-sub__main span {
    font-weight: 700;
    font-size: 6rem;
    line-height: 1;
    letter-spacing: .15em;
    background: linear-gradient(90deg, #feffd8 0, #ffded7 51%, #feffd8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
  }

  .mv-sub__main small {
    font-weight: 400;
    font-size: 3.7rem;
    line-height: 1.7;
    letter-spacing: 0;
    color: #fff
  }

  .mv-sub__bot {
    font-weight: 500;
    font-size: 2.7rem;
    line-height: 1.7;
    letter-spacing: .15em;
    white-space: nowrap;
    display: block;
    margin-top: 2px
  }

  .mv-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 28px
  }

  .mv-list__item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 20px 22px;
    border-radius: 30px;
    text-align: center;
    background: #fff;
    font-size: 2.2rem;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: .1em;
    text-align: center
  }

  .mv-list__item span {
    font-weight: 600;
    color: var(--primary-color)
  }

  .nav {
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    height: 70px;
    background: rgba(229, 221, 214, .7);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    z-index: var(--z_upper);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    transition: height .3s ease-in-out;
    will-change: height
  }

  .nav-list {
    display: flex;
    align-items: center;
    justify-content: center
  }

  .nav-list__item {
    position: relative;
    display: flex;
    align-items: center
  }

  .nav-list__item a {
    padding: 0 48px;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center
  }

  .nav-list__item:not(:last-child):after {
    content: "";
    width: 1px;
    height: 30px;
    background: #fff;
    display: inline-block
  }

  .nav__logo {
    display: none
  }

  .nav__logo a img {
    width: 146px;
    height: auto
  }

  .nav.is-fixed {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px 0 40px
  }

  .nav.is-fixed .nav__logo {
    display: block
  }

  .nav.is-fixed .nav-list a {
    padding: 0 32px
  }

  .medical {
    padding: 75px 0 120px;
    overflow: hidden
  }

  .medical__wrapper {
    display: flex
  }

  .medical__text {
    padding-right: 100px
  }

  .medical-list {
    display: flex;
    font-family: var(--font-base);
    width: fit-content;
    margin-bottom: 55px
  }

  .medical-list__item {
    width: 160px
  }

  .medical-list__item:not(:last-of-type) {
    margin-right: 100px
  }

  .medical-list__item .item-txt {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 200%;
    text-align: center;
    letter-spacing: .05em;
    margin-top: 30px;
    color: var(--text-color)
  }

  .medical-list__item .item-img {
    height: 320px;
    display: flex;
    align-items: flex-end
  }

  .medical-list__item .item-img img {
    height: auto
  }

  .medical-box {
    background: rgba(255, 255, 255, .5);
    padding: 22px 32px;
    font-weight: 400;
    text-align: center;
    border-radius: 10px
  }

  .about {
    background: url(../images/lp/about_bg.jpg?vce7c0267d1e27682e15ee77fcca549ad)center/cover no-repeat;
    padding: 117px 0 120px;
    overflow: hidden
  }

  .about .page-tl {
    color: #fff
  }

  .about .page-tl__en {
    color: #fff
  }

  .about-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 32px;
    counter-reset: section
  }

  .about-list__item {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 48px;
    border-radius: 10px
  }

  .about-list__item:nth-child(odd) {
    flex-direction: row-reverse
  }

  .about-list__content {
    width: calc(100% - 364px);
    margin-bottom: 14px
  }

  .about-list__img {
    width: 300px
  }

  .about-list__tt {
    font-weight: 500;
    font-size: 3rem;
    line-height: 1.5;
    letter-spacing: .08em;
    color: var(--primary-color);
    margin-bottom: 20px
  }

  .about-list__tt:before {
    counter-increment: section;
    content: counter(section, decimal-leading-zero)".";
    display: block;
    font-family: var(--font-en03);
    font-weight: 400;
    font-size: 4.8rem;
    line-height: 1;
    letter-spacing: -.04em;
    margin-bottom: 6px
  }

  .btn-fixed {
    position: fixed;
    right: 0;
    bottom: 35px;
    width: 136px;
    height: 155px;
    background: var(--primary-color);
    border: 1px solid #c9ac9b;
    border-radius: 15px 0 0 15px;
    z-index: var(--z_upper);
    font-weight: 600;
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    padding: 16px 10px 55px 13px;
    transition: background .3s ease-in-out;
    will-change: background
  }

  .btn-fixed:before {
    content: "";
    width: 40px;
    height: 30px;
    background: url(../images/lp/btn.png?v7ce67eab88099d55fd269d3f32c48af9)center/contain no-repeat;
    position: absolute;
    bottom: 15px;
    left: 2px;
    right: 0;
    margin: auto;
    transition: transform .3s ease-in-out;
    will-change: transform
  }

  .btn-fixed__cat {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: linear-gradient(320.53deg, #ffcb47 13.65%, #ffe3a5 52.76%, #ffcb47 91.87%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 800;
    font-size: 1.9rem;
    line-height: 1.2;
    letter-spacing: .07em;
    color: #894900;
    position: absolute;
    top: -22px;
    left: -15px
  }

  @media (hover:hover) {
    .btn-fixed:hover {
      opacity: 1;
      background: #ad8456
    }

    .btn-fixed:hover:before {
      transform: translateX(5px)
    }
  }

  .reservation {
    padding: 71px 0 120px;
    overflow: hidden
  }

  .reservation .page-tl {
    text-align: center
  }

  .reservation__content {
    background: #fff;
    padding: 70px 78px
  }

  .reservation__tt {
    font-weight: 600;
    font-size: 2.4rem;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
    background: #eee;
    padding: 5px;
    margin-bottom: 40px
  }

  .reservation-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 64px
  }

  .reservation-tab {
    padding: 0 2px
  }

  .reservation-tab__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 22px
  }

  .reservation-tab__trigger {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
    border: 1px solid #e6e0d6;
    padding: 9px 50px 9px 30px;
    cursor: pointer;
    transition: opacity .3s ease-in-out;
    will-change: opacity;
    position: relative
  }

  .reservation-tab__trigger:after {
    content: "";
    width: 20px;
    height: 20px;
    background: url(../images/lp/ic_arrow.png?veed84798a975b3529e958073a41f2fba)center/100% 100%no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto
  }

  @media (hover:hover) {
    .reservation-tab__trigger:hover {
      opacity: .7
    }
  }

  .reservation-tab__trigger.active {
    background: #c9ac9b;
    border-color: #c9ac9b;
    color: #fff;
    font-weight: 600
  }

  .reservation-tab__trigger.active:after {
    background-image: url(../images/lp/ic_arrow02.png?v224c5aacf0c234cef1324158d1715119)
  }

  .reservation-tab__catch {
    margin-bottom: 58px
  }

  .reservation-tab__catch:last-child {
    margin-bottom: 0
  }

  .reservation-tab__catch>p {
    margin-bottom: 18px;
    line-height: 1.5
  }

  .reservation-tab__catch>ul li {
    line-height: 1.5
  }

  .reservation-tab__box {
    border: 2px solid #ffdcdd;
    padding: 32.5px 39px 38px
  }

  .reservation-tab__warning {
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
    color: #dd4141;
    margin-bottom: 15px
  }

  .reservation-tab__mail {
    text-align: center;
    margin-bottom: 24px
  }

  .reservation-tab__mail span {
    background: #ffdcdd;
    font-weight: 500;
    font-size: 1.5630000000000002rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #dd4141;
    padding: 7px 35px;
    min-width: 150px;
    min-height: 30px;
    display: inline-block
  }

  .reservation-tab__box02 {
    border: 2px solid #ccc;
    background: #f6f6f6;
    padding: 25px 29px;
    line-height: 1.5;
    color: #333
  }

  .reservation-tab__box02 dl {
    margin-top: 13px
  }

  .reservation-tab__box02 dl+dl {
    margin-top: 15px
  }

  .reservation-tab__box02 dl dt {
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.5;
    letter-spacing: .05em;
    margin-bottom: 6px
  }

  .reservation-tab__box02 dl dd {
    font-size: 1.3rem;
    line-height: 1.5;
    letter-spacing: .05em
  }
}

@media (min-width:768px) and (max-width:1279px) {
  .main {
    padding-top: 0
  }

  .mv {
    position: relative;
    overflow: hidden
  }

  .mv__pic {
    width: 100%;
    height: 100vh;
    display: block
  }

  .mv__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }

  .mv-content {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
    max-width: 82.81vw;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end
  }

  .mv-content__inner {
    width: 36.09vw
  }

  .mv-ttl {
    border-bottom: 1px solid rgba(255, 255, 255, .5)
  }

  .mv-ttl__sub {
    background: linear-gradient(90deg, rgba(184, 138, 86, .8)0, rgba(225, 151, 125, .8) 51%, rgba(184, 138, 86, .8) 100%);
    box-shadow: 0 0 1.88vw 0#ffffff40;
    display: block;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 2.66vw;
    line-height: 1;
    letter-spacing: .15em;
    color: #fff;
    padding: 1.09vw;
    min-height: 6.02vw
  }

  .mv-ttl__sub small {
    font-weight: 500;
    font-size: 1.56vw;
    line-height: 1.2;
    letter-spacing: .1em;
    margin-right: 1.02vw;
    margin-left: .47vw;
    text-align: justify;
    display: block
  }

  .mv-ttl__sub small span {
    letter-spacing: .42em
  }

  .mv-logo {
    display: block;
    padding: 3.13vw 1.48vw
  }

  .mv-logo img {
    width: 33.13vw;
    height: auto
  }

  .mv-sub {
    color: #fff;
    text-align: center;
    margin-top: 1.48vw
  }

  .mv-sub__top {
    font-weight: 500;
    font-size: 2.97vw;
    line-height: 1.7;
    letter-spacing: .39em;
    white-space: nowrap;
    display: block
  }

  .mv-sub__main {
    display: block;
    white-space: nowrap;
    margin-top: .31vw
  }

  .mv-sub__main span {
    font-weight: 700;
    font-size: 4.69vw;
    line-height: 1;
    letter-spacing: .15em;
    background: linear-gradient(90deg, #feffd8 0, #ffded7 51%, #feffd8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
  }

  .mv-sub__main small {
    font-weight: 400;
    font-size: 2.89vw;
    line-height: 1.7;
    letter-spacing: 0;
    color: #fff
  }

  .mv-sub__bot {
    font-weight: 500;
    font-size: 2.11vw;
    line-height: 1.7;
    letter-spacing: .15em;
    white-space: nowrap;
    display: block;
    margin-top: .16vw
  }

  .mv-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .78vw;
    margin-top: 2.19vw
  }

  .mv-list__item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.41vw 1.56vw 1.72vw;
    border-radius: 2.34vw;
    text-align: center;
    background: #fff;
    font-size: 1.72vw;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: .1em;
    text-align: center
  }

  .mv-list__item span {
    font-weight: 600;
    color: var(--primary-color)
  }

  .nav {
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    height: 5.47vw;
    background: rgba(229, 221, 214, .7);
    -webkit-backdrop-filter: blur(.63vw);
    backdrop-filter: blur(.63vw);
    z-index: var(--z_upper);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 .63vw;
    transition: height .3s ease-in-out;
    will-change: height
  }

  .nav-list {
    display: flex;
    align-items: center;
    justify-content: center
  }

  .nav-list__item {
    position: relative;
    display: flex;
    align-items: center
  }

  .nav-list__item a {
    padding: 0 3.75vw;
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center
  }

  .nav-list__item:not(:last-child):after {
    content: "";
    width: 1px;
    height: 2.34vw;
    background: #fff;
    display: inline-block
  }

  .nav__logo {
    display: none
  }

  .nav__logo a img {
    width: 11.41vw;
    height: auto
  }

  .nav.is-fixed {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 .63vw 0 3.13vw
  }

  .nav.is-fixed .nav__logo {
    display: block
  }

  .nav.is-fixed .nav-list a {
    padding: 0 2.5vw
  }

  .medical {
    padding: 5.86vw 0 9.38vw;
    overflow: hidden
  }

  .medical__wrapper {
    display: flex
  }

  .medical__text {
    padding-right: 7.81vw
  }

  .medical-list {
    display: flex;
    font-family: var(--font-base);
    width: fit-content;
    margin-bottom: 4.3vw
  }

  .medical-list__item {
    width: 12.5vw
  }

  .medical-list__item:not(:last-of-type) {
    margin-right: 7.81vw
  }

  .medical-list__item .item-txt {
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 200%;
    text-align: center;
    letter-spacing: .05em;
    margin-top: 2.34vw;
    color: var(--text-color)
  }

  .medical-list__item .item-img {
    height: 25vw;
    display: flex;
    align-items: flex-end
  }

  .medical-list__item .item-img img {
    height: auto
  }

  .medical-box {
    background: rgba(255, 255, 255, .5);
    padding: 1.72vw 2.5vw;
    font-weight: 400;
    text-align: center;
    border-radius: .78vw
  }

  .about {
    background: url(../images/lp/about_bg.jpg?vce7c0267d1e27682e15ee77fcca549ad)center/cover no-repeat;
    padding: 9.14vw 0 9.38vw;
    overflow: hidden
  }

  .about .page-tl {
    color: #fff
  }

  .about .page-tl__en {
    color: #fff
  }

  .about-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5vw;
    counter-reset: section
  }

  .about-list__item {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3.75vw;
    border-radius: .78vw
  }

  .about-list__item:nth-child(odd) {
    flex-direction: row-reverse
  }

  .about-list__content {
    width: calc(100% - 28.44vw);
    margin-bottom: 1.09vw
  }

  .about-list__img {
    width: 23.44vw
  }

  .about-list__tt {
    font-weight: 500;
    font-size: 2.34vw;
    line-height: 1.5;
    letter-spacing: .08em;
    color: var(--primary-color);
    margin-bottom: 1.56vw
  }

  .about-list__tt:before {
    counter-increment: section;
    content: counter(section, decimal-leading-zero)".";
    display: block;
    font-family: var(--font-en03);
    font-weight: 400;
    font-size: 3.75vw;
    line-height: 1;
    letter-spacing: -.04em;
    margin-bottom: .47vw
  }

  .btn-fixed {
    position: fixed;
    right: 0;
    bottom: 2.73vw;
    width: 10.63vw;
    height: 12.11vw;
    background: var(--primary-color);
    border: 1px solid #c9ac9b;
    border-radius: 1.17vw 0 0 1.17vw;
    z-index: var(--z_upper);
    font-weight: 600;
    font-size: 1.56vw;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    padding: 1.25vw .78vw 4.3vw 1.02vw;
    transition: background .3s ease-in-out;
    will-change: background
  }

  .btn-fixed:before {
    content: "";
    width: 3.13vw;
    height: 2.34vw;
    background: url(../images/lp/btn.png?v7ce67eab88099d55fd269d3f32c48af9)center/contain no-repeat;
    position: absolute;
    bottom: 1.17vw;
    left: .16vw;
    right: 0;
    margin: auto;
    transition: transform .3s ease-in-out;
    will-change: transform
  }

  .btn-fixed__cat {
    width: 4.3vw;
    height: 4.3vw;
    border-radius: 50%;
    background: linear-gradient(320.53deg, #ffcb47 13.65%, #ffe3a5 52.76%, #ffcb47 91.87%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 800;
    font-size: 1.48vw;
    line-height: 1.2;
    letter-spacing: .07em;
    color: #894900;
    position: absolute;
    top: -1.72vw;
    left: -1.17vw
  }

  @media (hover:hover) {
    .btn-fixed:hover {
      opacity: 1;
      background: #ad8456
    }

    .btn-fixed:hover:before {
      transform: translateX(.39vw)
    }
  }

  .reservation {
    padding: 6.14vw 0 9.38vw;
    overflow: hidden
  }

  .reservation .page-tl {
    text-align: center
  }

  .reservation__content {
    background: #fff;
    padding: 5.47vw 6.09vw
  }

  .reservation__tt {
    font-weight: 600;
    font-size: 1.88vw;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
    background: #eee;
    padding: .39vw;
    margin-bottom: 3.13vw
  }

  .reservation-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25vw;
    margin-bottom: 5vw
  }

  .reservation-tab {
    padding: 0 .16vw
  }

  .reservation-tab__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.88vw;
    margin-bottom: 1.72vw
  }

  .reservation-tab__trigger {
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
    border: 1px solid #e6e0d6;
    padding: .7vw 3.91vw .7vw 2.34vw;
    cursor: pointer;
    transition: opacity .3s ease-in-out;
    will-change: opacity;
    position: relative
  }

  .reservation-tab__trigger:after {
    content: "";
    width: 1.56vw;
    height: 1.56vw;
    background: url(../images/lp/ic_arrow.png?veed84798a975b3529e958073a41f2fba)center/100% 100%no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.56vw;
    margin: auto
  }

  @media (hover:hover) {
    .reservation-tab__trigger:hover {
      opacity: .7
    }
  }

  .reservation-tab__trigger.active {
    background: #c9ac9b;
    border-color: #c9ac9b;
    color: #fff;
    font-weight: 600
  }

  .reservation-tab__trigger.active:after {
    background-image: url(../images/lp/ic_arrow02.png?v224c5aacf0c234cef1324158d1715119)
  }

  .reservation-tab__catch {
    margin-bottom: 4.53vw
  }

  .reservation-tab__catch:last-child {
    margin-bottom: 0
  }

  .reservation-tab__catch>p {
    margin-bottom: 1.41vw;
    line-height: 1.5
  }

  .reservation-tab__catch>ul li {
    line-height: 1.5
  }

  .reservation-tab__box {
    border: .16vw solid #ffdcdd;
    padding: 2.54vw 3.05vw 2.97vw
  }

  .reservation-tab__warning {
    font-weight: 400;
    font-size: 1.17vw;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
    color: #dd4141;
    margin-bottom: 1.17vw
  }

  .reservation-tab__mail {
    text-align: center;
    margin-bottom: 1.88vw
  }

  .reservation-tab__mail span {
    background: #ffdcdd;
    font-weight: 500;
    font-size: 1.22vw;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #dd4141;
    padding: .55vw 2.73vw;
    min-width: 11.72vw;
    min-height: 2.34vw;
    display: inline-block
  }

  .reservation-tab__box02 {
    border: .16vw solid #ccc;
    background: #f6f6f6;
    padding: 1.95vw 2.27vw;
    line-height: 1.5;
    color: #333
  }

  .reservation-tab__box02 dl {
    margin-top: 1.02vw
  }

  .reservation-tab__box02 dl+dl {
    margin-top: 1.17vw
  }

  .reservation-tab__box02 dl dt {
    font-weight: 700;
    font-size: 1.02vw;
    line-height: 1.5;
    letter-spacing: .05em;
    margin-bottom: .47vw
  }

  .reservation-tab__box02 dl dd {
    font-size: 1.02vw;
    line-height: 1.5;
    letter-spacing: .05em
  }
}

@media only screen and (max-width:767px) {
  .main {
    padding-top: 0
  }

  .mv {
    position: relative;
    overflow: hidden
  }

  .mv__pic {
    width: 100%;
    height: 100vh;
    height: 160.31vw;
    display: block
  }

  .mv__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }

  .mv-content {
    position: absolute;
    left: 0;
    right: 0;
    top: 7.63vw;
    height: 100%;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center
  }

  .mv-content__inner {
    width: 74.81vw
  }

  .mv-ttl {
    border-bottom: 1px solid rgba(255, 255, 255, .5)
  }

  .mv-ttl__sub {
    background: linear-gradient(90deg, rgba(184, 138, 86, .8)0, rgba(225, 151, 125, .8) 51%, rgba(184, 138, 86, .8) 100%);
    box-shadow: 0 0 6.11vw 0#ffffff40;
    display: block;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 5.51vw;
    line-height: 1;
    letter-spacing: .15em;
    color: #fff;
    padding: 1.78vw 3.56vw;
    min-height: 12.21vw
  }

  .mv-ttl__sub small {
    font-weight: 500;
    font-size: 3.24vw;
    line-height: 1.2;
    letter-spacing: .1em;
    margin-right: 3.31vw;
    margin-left: 1.53vw;
    text-align: justify;
    display: block
  }

  .mv-ttl__sub small span {
    letter-spacing: .42em
  }

  .mv-logo {
    display: block;
    padding: 6.11vw 0 6.36vw
  }

  .mv-logo img {
    width: 100%;
    height: auto
  }

  .mv-sub {
    color: #fff;
    text-align: center;
    margin-top: 1.78vw
  }

  .mv-sub__top {
    font-weight: 500;
    font-size: 6.16vw;
    line-height: 1.7;
    letter-spacing: .39em;
    white-space: nowrap;
    display: block
  }

  .mv-sub__main {
    display: block;
    white-space: nowrap;
    margin-top: -1px
  }

  .mv-sub__main span {
    font-weight: 700;
    font-size: 9.72vw;
    line-height: 1;
    letter-spacing: .15em;
    background: linear-gradient(90deg, #feffd8 0, #ffded7 51%, #feffd8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
  }

  .mv-sub__main small {
    font-weight: 400;
    font-size: 5.99vw;
    line-height: 1.7;
    letter-spacing: 0;
    color: #fff
  }

  .mv-sub__bot {
    font-weight: 500;
    font-size: 4.37vw;
    line-height: 1.7;
    letter-spacing: .15em;
    white-space: nowrap;
    display: block;
    margin-top: -.76vw
  }

  .mv-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.62vw;
    margin-top: 2.54vw
  }

  .mv-list__item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4.07vw 1.27vw;
    border-radius: 2.54vw;
    text-align: center;
    background: #fff;
    font-size: 3.31vw;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: .1em;
    text-align: center
  }

  .mv-list__item span {
    font-weight: 600;
    color: var(--primary-color)
  }

  .nav {
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    background: rgba(229, 221, 214, .7);
    -webkit-backdrop-filter: blur(2.04vw);
    backdrop-filter: blur(2.04vw);
    z-index: var(--z_upper);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
  }

  .nav-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap
  }

  .nav-list__item {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1
  }

  .nav-list__item a {
    width: 100%;
    height: 17.3vw;
    padding: 0 2.54vw;
    font-weight: 400;
    font-size: 4.07vw;
    line-height: 2;
    letter-spacing: -.05em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    transition: height .3s ease-in-out;
    will-change: height
  }

  .nav-list__item a:after {
    content: "";
    width: 5.34vw;
    height: 5.34vw;
    background: url(../images/lp/ic_arrow.png?veed84798a975b3529e958073a41f2fba)center/100% 100%no-repeat;
    margin-left: 2.29vw;
    flex-shrink: 0
  }

  .nav-list__item:not(:last-child):after {
    content: "";
    width: 1px;
    height: calc(100% - 5.09vw);
    background: #fff;
    display: inline-block
  }

  .nav-list__item:nth-child(-n+2) {
    flex: 0 0 50%
  }

  .nav-list__item:not(:nth-child(-n+2)) {
    border-top: 1px solid #fff
  }

  .nav__logo {
    display: none
  }

  .nav__logo a img {
    width: 37.15vw;
    height: auto
  }

  .nav.is-fixed .nav-list__item a {
    height: 11.7vw
  }

  .medical {
    padding: 17.81vw 0 18.32vw;
    overflow: hidden
  }

  .medical__wrapper {
    display: flex
  }

  .medical__text {
    padding-right: 25.45vw
  }

  .medical-list {
    display: flex;
    font-family: var(--font-base);
    width: fit-content;
    margin-bottom: 12.21vw;
    transform: translateX(-135.11vw)
  }

  .medical-list__item {
    width: 26.06vw
  }

  .medical-list__item:not(:last-of-type) {
    margin-right: 12.21vw
  }

  .medical-list__item .item-txt {
    font-weight: 400;
    font-size: 3.56vw;
    line-height: 200%;
    text-align: center;
    letter-spacing: .05em;
    margin-top: 4.33vw;
    color: var(--text-color);
    white-space: nowrap
  }

  .medical-list__item .item-img {
    height: 52.16vw;
    display: flex;
    align-items: flex-end
  }

  .medical-list__item .item-img img {
    height: auto
  }

  .medical-box {
    background: rgba(255, 255, 255, .5);
    padding: 3.82vw 8.14vw 4.07vw;
    font-weight: 400;
    text-align: left;
    border-radius: 2.54vw
  }

  .about {
    background: url(../images/lp/about_bg.jpg?vce7c0267d1e27682e15ee77fcca549ad)center/cover no-repeat;
    padding: 17.56vw 0 18.07vw;
    overflow: hidden
  }

  .about .page-tl {
    color: #fff;
    text-align: center;
    margin-bottom: 12.47vw
  }

  .about .page-tl__en {
    color: #fff
  }

  .about-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 6.11vw;
    counter-reset: section
  }

  .about-list__item {
    background: #fff;
    padding: 8.14vw 6.62vw 6.36vw;
    border-radius: 2.54vw
  }

  .about-list__item:first-child .about-list__img img {
    width: 63.61vw
  }

  .about-list__item:nth-child(even) .about-list__img img {
    width: 54.71vw
  }

  .about-list__content {
    padding: 0 1.53vw
  }

  .about-list__img {
    width: 100%;
    text-align: center;
    margin-bottom: 5.6vw
  }

  .about-list__img img {
    width: 76.34vw;
    height: auto;
    display: block;
    margin: auto
  }

  .about-list__tt {
    font-weight: 500;
    font-size: 5.6vw;
    line-height: 1.5;
    letter-spacing: .08em;
    color: var(--primary-color);
    margin-bottom: 2.04vw
  }

  .about-list__tt:before {
    counter-increment: section;
    content: counter(section, decimal-leading-zero)".";
    display: block;
    font-family: var(--font-en03);
    font-weight: 400;
    font-size: 10.18vw;
    line-height: 1;
    letter-spacing: -.04em;
    margin-bottom: .76vw
  }

  .btn-fixed {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 18.07vw;
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 5.09vw 5.09vw 0 0;
    z-index: var(--z_upper);
    font-weight: 600;
    font-size: 5.09vw;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    padding: 2.54vw 5.09vw 3.05vw;
    transition: background .3s ease-in-out;
    will-change: background;
    display: flex;
    align-items: center;
    justify-content: center
  }

  .btn-fixed__txt {
    position: relative;
    display: flex;
    align-items: center
  }

  .btn-fixed__txt:after {
    content: "";
    width: 8.91vw;
    height: 6.62vw;
    background: url(../images/lp/btn.png?v7ce67eab88099d55fd269d3f32c48af9)center/contain no-repeat;
    display: inline-block;
    margin: auto;
    transition: transform .3s ease-in-out;
    will-change: transform;
    margin-left: 5.09vw
  }

  .btn-fixed__cat {
    width: 12.47vw;
    height: 12.47vw;
    border-radius: 50%;
    background: linear-gradient(320.53deg, #ffcb47 13.65%, #ffe3a5 52.76%, #ffcb47 91.87%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 800;
    font-size: 3.82vw;
    line-height: 1.2;
    letter-spacing: .07em;
    color: #894900;
    margin-right: 3.56vw
  }

  .reservation {
    padding: 9.56vw 0;
    overflow: hidden
  }

  .reservation .page-tl {
    text-align: center
  }

  .reservation__content {
    background: #fff;
    padding: 5.09vw
  }

  .reservation__tt {
    font-weight: 600;
    font-size: 4.58vw;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
    background: #eee;
    padding: 2.04vw 2.54vw 2.54vw;
    margin-bottom: 6.11vw
  }

  .reservation-gallery {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 4.07vw;
    margin-bottom: 12.21vw
  }

  .reservation-tab__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 4.07vw;
    margin-bottom: 5.34vw
  }

  .reservation-tab__trigger {
    font-weight: 400;
    font-size: 3.56vw;
    line-height: 1.6;
    letter-spacing: .05em;
    text-align: center;
    border: 1px solid #e6e0d6;
    padding: 2.29vw 12.72vw 2.29vw 7.63vw;
    min-height: 13.23vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity .3s ease-in-out;
    will-change: opacity;
    position: relative
  }

  .reservation-tab__trigger:after {
    content: "";
    width: 5.34vw;
    height: 5.34vw;
    background: url(../images/lp/ic_arrow.png?veed84798a975b3529e958073a41f2fba)center/100% 100%no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5.09vw;
    margin: auto
  }

  .reservation-tab__trigger.active {
    background: #c9ac9b;
    border-color: #c9ac9b;
    color: #fff;
    font-weight: 600
  }

  .reservation-tab__trigger.active:after {
    background-image: url(../images/lp/ic_arrow02.png?v224c5aacf0c234cef1324158d1715119)
  }

  .reservation-tab__catch {
    margin-bottom: 10.94vw
  }

  .reservation-tab__catch>p {
    margin-bottom: 4.33vw;
    line-height: 1.5
  }

  .reservation-tab__catch>ul li {
    line-height: 1.5
  }

  .reservation-tab__box {
    border: .51vw solid #ffdcdd;
    padding: 8.4vw 5.09vw 9.67vw
  }

  .reservation-tab__warning {
    font-weight: 400;
    font-size: 3.56vw;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center;
    color: #dd4141;
    margin-bottom: 3.82vw
  }

  .reservation-tab__mail {
    text-align: center;
    margin-bottom: 6.11vw
  }

  .reservation-tab__mail span {
    background: #ffdcdd;
    font-weight: 500;
    font-size: 3.98vw;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #dd4141;
    padding: 1.78vw 8.91vw;
    min-width: 38.17vw;
    min-height: 7.63vw;
    display: inline-block
  }

  .reservation-tab__box02 {
    border: .51vw solid #ccc;
    background: #f6f6f6;
    padding: 6.36vw 7.38vw;
    line-height: 1.5;
    color: #333
  }

  .reservation-tab__box02 dl {
    margin-top: 3.31vw
  }

  .reservation-tab__box02 dl+dl {
    margin-top: 3.82vw
  }

  .reservation-tab__box02 dl dt {
    font-weight: 700;
    font-size: 3.31vw;
    line-height: 1.5;
    letter-spacing: .05em;
    margin-bottom: 1.53vw
  }

  .reservation-tab__box02 dl dd {
    font-size: 3.31vw;
    line-height: 1.5;
    letter-spacing: .05em
  }
}

@media (min-width:1280px),
print {
  .faq-box {
    margin: 24px 0;
    padding: 36px 42px 32px;
    border-radius: 10px;
    background-color: #fff
  }

  .faq-box:first-child {
    margin-top: 0
  }

  .faq-box:last-child {
    margin-bottom: 0
  }

  .faq-box__tl {
    position: relative;
    padding-left: 56px;
    margin-bottom: 30px;
    color: var(--primary-color);
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .08em
  }

  .faq-box__tl:before {
    position: absolute;
    top: 2px;
    left: 0;
    content: "";
    width: 40px;
    height: 34px;
    background-image: url(../images/lp/ic_faq.png?v577e0db5d7b1f38c8cdeb9023df1ee07);
    background-repeat: no-repeat;
    background-size: 100% 100%
  }

  .faq-box__item:not(:last-of-type):not(:last-of-type) {
    margin-bottom: 31px
  }

  .faq-box__item.accordion {
    padding: 0;
    border-top: 1px solid #e6e0d6
  }

  .faq-box__item.accordion:not(:last-of-type) {
    margin-bottom: 0
  }

  .faq-box__item.accordion+.accordion .accordion__trigger {
    padding-top: 40px
  }

  .faq-box__item.accordion+.accordion .accordion__trigger:before {
    top: 26px
  }

  .faq-box__item:last-of-type {
    padding-bottom: 0
  }

  .faq-box__item .item-trigger {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-height: 50px;
    padding-left: 70px;
    margin-bottom: 26px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .05em
  }

  .faq-box__item .item-trigger:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "Q";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f8f2ef;
    color: var(--text-color);
    font-family: var(--font-en);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .02em
  }

  .faq-box__item .item-trigger.accordion__trigger {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 41px 60px 52px 64px;
    margin-bottom: 0
  }

  .faq-box__item .item-trigger.accordion__trigger:before {
    top: 31px;
    width: 45px;
    height: 45px
  }

  .faq-box__item .item-trigger.accordion__trigger:after {
    position: absolute;
    top: calc(50% - 5px);
    right: 2px;
    content: "";
    width: 35px;
    height: 35px;
    background-image: url(../images/lp/ic_accord_open.png?v771586c24b0dc980b6748899caecc659);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    transition: background .25s ease-out;
    will-change: background
  }

  .faq-box__item .item-trigger.accordion__trigger.active:after {
    background-image: url(../images/lp/ic_accord_close.png?vc66d722f8dd5f806f4b435352bbdb9fb)
  }

  .faq-box__item .item-target.accordion__target {
    margin-top: -15px
  }

  .faq-box__item .item-inner {
    position: relative;
    position: relative;
    min-height: 50px;
    padding-left: 70px
  }

  .faq-box__item .item-inner:before {
    position: absolute;
    top: -8px;
    left: 0;
    content: "A";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #c9ac9b;
    color: #fff;
    font-family: var(--font-en);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .02em
  }

  .faq-box__item .item-inner.accordion__inner {
    padding: 0 15px 25px 64px;
    margin-top: 5px;
    min-height: 45px;
    line-height: 2
  }

  .faq-box__item .item-inner.accordion__inner:before {
    top: -2px;
    width: 45px;
    height: 45px
  }

  .menu {
    padding: 116px 0 104px;
    overflow: hidden
  }

  .menu .note {
    padding-left: 1.35em;
    text-indent: -1.35em;
    color: #988981;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: .05em
  }

  .menu__catch {
    margin-top: 62px;
    font-size: 2rem;
    font-weight: 400;
    text-align: center;
    line-height: 2.4;
    letter-spacing: .05em
  }

  .menu__catch:first-child {
    margin-top: 0
  }

  .menu .tab-switch__triggers,
  .menu .anchor__triggers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 59px
  }

  .menu .tab-switch__trigger,
  .menu .anchor__trigger {
    position: relative;
    display: flex;
    align-items: center;
    padding: 19px 74px 19px 24px;
    border-radius: 10px;
    background-color: #fff;
    border: 1px solid transparent;
    cursor: pointer;
    opacity: .5;
    transition: opacity .3s ease-out, border .3s ease-out;
    will-change: opacity, border
  }

  .menu .tab-switch__trigger .trigger-icon,
  .menu .anchor__trigger .trigger-icon {
    flex-shrink: 0;
    width: 110px;
    margin-right: 20px
  }

  .menu .tab-switch__trigger .trigger-text,
  .menu .anchor__trigger .trigger-text {
    width: 100%;
    color: var(--text-color);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .05em
  }

  .menu .tab-switch__trigger:after,
  .menu .anchor__trigger:after {
    position: absolute;
    top: 50%;
    right: 24px;
    content: "";
    width: 30px;
    height: 30px;
    background-image: url(../images/lp/ic_arrow.png?veed84798a975b3529e958073a41f2fba);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: translateY(-50%)
  }

  @media (hover:hover) {

    .menu .tab-switch__trigger:hover,
    .menu .anchor__trigger:hover {
      opacity: 1;
      border-color: var(--primary-color)
    }
  }

  .menu .tab-switch__trigger.active,
  .menu .anchor__trigger.active {
    opacity: 1;
    border-color: var(--primary-color)
  }

  .menu .tab-switch__content,
  .menu .anchor__content {
    display: none
  }

  .menu .tab-switch__content.active,
  .menu .anchor__content.active {
    display: block
  }

  .menu .tab-switch__content .content-group:not(:last-of-type),
  .menu .anchor__content .content-group:not(:last-of-type) {
    margin-bottom: 100px
  }

  .menu .tab-switch__content .content-group__info,
  .menu .anchor__content .content-group__info {
    display: flex
  }

  .menu .tab-switch__content .content-group__info .info-photo,
  .menu .anchor__content .content-group__info .info-photo {
    flex-shrink: 0;
    width: 258px;
    margin-top: 22px;
    margin-left: 80px
  }

  .menu .tab-switch__content .content-group__info .info-desc,
  .menu .anchor__content .content-group__info .info-desc {
    width: 100%
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-name,
  .menu .anchor__content .content-group__info .info-desc .desc-name {
    margin-bottom: 31px;
    font-size: 4.8rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags,
  .menu .anchor__content .content-group__info .info-desc .desc-tags {
    display: flex;
    flex-wrap: wrap;
    margin: 32px 0 43px;
    gap: 5px
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-tags:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-tags:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags__item,
  .menu .anchor__content .content-group__info .info-desc .desc-tags__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-width: 65px;
    min-height: 36px;
    padding: 5px 17px;
    border-radius: 65px;
    background-color: #fff;
    color: var(--primary-color);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .05em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__tl,
  .menu .anchor__content .content-group__info .info-desc .desc-about__tl {
    margin-bottom: 12px;
    color: var(--primary-color);
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p {
    margin: 31px 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price,
  .menu .anchor__content .content-group__info .info-desc .desc-price {
    margin: 26px 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main {
    margin-bottom: 5px;
    font-size: 4.8rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main small,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main small {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table,
  .menu .anchor__content .content-group__info .info-desc .desc-table {
    display: flex;
    align-items: center;
    margin: 48px 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-table:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-table:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table+.desc-table,
  .menu .anchor__content .content-group__info .info-desc .desc-table+.desc-table {
    margin-top: -30px
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table__th,
  .menu .anchor__content .content-group__info .info-desc .desc-table__th {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 140px;
    min-height: 45px;
    margin-right: 20px;
    background-color: #c9ac9b;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table__td,
  .menu .anchor__content .content-group__info .info-desc .desc-table__td {
    width: 100%;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5
  }

  .menu .tab-switch__content .content-group__price,
  .menu .anchor__content .content-group__price {
    margin-top: 50px
  }

  .menu .tab-switch__content .content-group__use,
  .menu .anchor__content .content-group__use {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    padding: 39px 40px 40px;
    margin-top: 77px;
    border-radius: 10px;
    background-color: #fff
  }

  .menu .tab-switch__content .content-group__use:first-child,
  .menu .anchor__content .content-group__use:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__use .use-item img,
  .menu .anchor__content .content-group__use .use-item img {
    width: 100%
  }

  .menu .tab-switch__content .content-group__use .use-item .caption,
  .menu .anchor__content .content-group__use .use-item .caption {
    position: relative;
    margin-top: 18px;
    padding-left: 50px;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.6
  }

  .menu .tab-switch__content .content-group__use .use-item .caption:before,
  .menu .anchor__content .content-group__use .use-item .caption:before {
    position: absolute;
    top: 1px;
    left: 1px;
    content: "";
    width: 30px;
    height: 30px;
    background-image: url(../images/lp/ic_use.png?v7540e2e305d5eaceea0826ad4b4de849);
    background-repeat: no-repeat;
    background-size: 100% 100%
  }

  .menu .tab-switch__content .content-group .faq-box__tl,
  .menu .anchor__content .content-group .faq-box__tl {
    margin-bottom: 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e6e0d6
  }

  .menu .anchor__triggers {
    margin-bottom: 0
  }

  .menu .anchor__content {
    display: block
  }

  .menu .anchor__content+.anchor__content {
    margin-top: 57px
  }

  .doctor {
    position: relative;
    z-index: 1;
    padding: 95px 0 100px;
    transform: translateZ(0);
    background-color: #c9ac9b;
    overflow: hidden
  }

  .doctor .page-tl {
    color: #fff;
    text-align: center;
    margin-bottom: 57px
  }

  .doctor .page-tl__en {
    color: #fff
  }

  .doctor:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/doctor_bg.png?v0f29374412922825aead594677b83ff1);
    background-repeat: no-repeat;
    background-size: cover
  }

  .doctor__main {
    display: flex;
    align-items: flex-start
  }

  .doctor__text {
    color: #fff;
    width: 100%;
    padding-top: 18px
  }

  .doctor__text .doctor-sub {
    margin-bottom: 23px;
    font-weight: 400;
    font-size: 2.8rem;
    line-height: 200%;
    letter-spacing: .05em
  }

  .doctor__text .doctor-catch {
    margin-bottom: 25px
  }

  .doctor__text .doctor-catch:last-child {
    margin-bottom: 0
  }

  .doctor__text .doctor-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 3px;
    font-weight: 400;
    font-size: 3.4rem;
    line-height: 1.9;
    letter-spacing: .05em
  }

  .doctor__text .doctor-name small {
    margin-top: 5px;
    margin-right: 20px;
    color: #fff;
    font-size: 2rem;
    line-height: 1.9;
    letter-spacing: .05em
  }

  .doctor__text .doctor-name span {
    margin-left: 18px;
    margin-top: 4px;
    font-family: var(--font-en);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: .02em
  }

  .doctor__text .d-biography {
    margin-bottom: 31px
  }

  .doctor__text .d-biography:last-child {
    margin-bottom: 0
  }

  .doctor__text .d-biography__year {
    display: flex
  }

  .doctor__text .d-biography__year span {
    flex-shrink: 0;
    width: 86px;
    margin-right: 10px
  }

  .doctor__text .d-biography__tt {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 65px;
    min-height: 36px;
    margin-bottom: 9px;
    padding: 0 16px;
    background: rgba(255, 255, 255, .14);
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: .05em;
    color: #fff
  }

  .doctor__text .d-certificate {
    display: flex;
    align-items: center;
    padding: 23px 27px 23px 29px;
    border: 1px solid #e6e0d6;
    border-radius: 10px
  }

  .doctor__text .d-certificate__tt {
    display: block;
    margin-bottom: 2px;
    color: #fff;
    font-size: 2.2rem;
    line-height: 2;
    letter-spacing: .05em
  }

  .doctor__text .d-certificate__img {
    flex-shrink: 0;
    width: 250px;
    margin-left: 15px
  }

  .doctor__text .d-certificate__img img {
    width: 100%
  }

  .doctor__text .d-certificate__txt {
    width: 100%;
    margin-top: -7px
  }

  .doctor__thumb {
    flex-shrink: 0;
    width: 491px;
    margin-right: 73px;
    filter: drop-shadow(23px 23px 90px rgba(165, 143, 130, .32));
    transform: translateZ(0)
  }

  .faq {
    padding: 115px 0 118px;
    overflow: hidden
  }

  .faq .faq-box {
    margin: 28px 0;
    padding: 48px 46px 32px 47px
  }

  .faq .faq-box:first-child {
    margin-top: 0
  }

  .faq .faq-box:last-child {
    margin-bottom: 0
  }

  .faq .faq-box__tl {
    margin-bottom: 37px;
    padding-left: 60px
  }

  .access {
    position: relative;
    z-index: 1;
    padding: 120px 0 110px;
    color: #fff;
    background-color: #ab9d93;
    overflow: hidden
  }

  .access:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/access_bg.png?v0b516468f8704b9cb6c6d7a2c978c160);
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .3
  }

  .access .page-tl {
    margin-bottom: 52px
  }

  .access .page-tl__en {
    color: #fff
  }

  .access .text-lead {
    margin-bottom: 10px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .05em
  }

  .access__main {
    display: flex;
    align-items: center
  }

  .access__text {
    width: 100%;
    padding-bottom: 5px
  }

  .access__text .txt+.txt {
    margin-top: 19px
  }

  .access__map {
    flex-shrink: 0;
    width: 750px;
    margin-left: 56px
  }

  .access__map iframe {
    width: 100%;
    height: 500px
  }

  .table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-radius: 20px;
    overflow: hidden;
    border-style: hidden;
    box-shadow: 0 0 0 1px #e6e0d6
  }

  .table table th,
  .table table td {
    padding: 13px 24px 14px;
    border: 1px solid #e6e0d6;
    font-size: 1.5rem;
    font-weight: 400
  }

  .table table td {
    background-color: #fff;
    text-align: center
  }

  .table table td>* {
    margin: 0
  }

  .table table td img+img {
    margin-top: 20px
  }

  .table table tbody th {
    width: 223px;
    background-color: #e6e0d6;
    color: var(--text-color);
    border-bottom-color: #fff
  }

  .table table thead th {
    background-color: var(--primary-color);
    color: #fff;
    text-align: center
  }

  .table table thead th:first-of-type {
    width: 350px
  }

  .table table thead th.count {
    width: 100px
  }
}

@media (min-width:768px) and (max-width:1279px) {
  .faq-box {
    margin: 1.88vw 0;
    padding: 2.81vw 3.28vw 2.5vw;
    border-radius: .78vw;
    background-color: #fff
  }

  .faq-box:first-child {
    margin-top: 0
  }

  .faq-box:last-child {
    margin-bottom: 0
  }

  .faq-box__tl {
    position: relative;
    padding-left: 4.38vw;
    margin-bottom: 2.34vw;
    color: var(--primary-color);
    font-size: 1.88vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .08em
  }

  .faq-box__tl:before {
    position: absolute;
    top: .16vw;
    left: 0;
    content: "";
    width: 3.13vw;
    height: 2.66vw;
    background-image: url(../images/lp/ic_faq.png?v577e0db5d7b1f38c8cdeb9023df1ee07);
    background-repeat: no-repeat;
    background-size: 100% 100%
  }

  .faq-box__item:not(:last-of-type):not(:last-of-type) {
    margin-bottom: 2.42vw
  }

  .faq-box__item.accordion {
    padding: 0;
    border-top: 1px solid #e6e0d6
  }

  .faq-box__item.accordion:not(:last-of-type) {
    margin-bottom: 0
  }

  .faq-box__item.accordion+.accordion .accordion__trigger {
    padding-top: 3.13vw
  }

  .faq-box__item.accordion+.accordion .accordion__trigger:before {
    top: 2.03vw
  }

  .faq-box__item:last-of-type {
    padding-bottom: 0
  }

  .faq-box__item .item-trigger {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-height: 3.91vw;
    padding-left: 5.47vw;
    margin-bottom: 2.03vw;
    font-size: 1.17vw;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .05em
  }

  .faq-box__item .item-trigger:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "Q";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 3.91vw;
    height: 3.91vw;
    border-radius: 50%;
    background-color: #f8f2ef;
    color: var(--text-color);
    font-family: var(--font-en);
    font-size: 1.56vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .02em
  }

  .faq-box__item .item-trigger.accordion__trigger {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 3.2vw 4.69vw 4.06vw 5vw;
    margin-bottom: 0
  }

  .faq-box__item .item-trigger.accordion__trigger:before {
    top: 2.42vw;
    width: 3.52vw;
    height: 3.52vw
  }

  .faq-box__item .item-trigger.accordion__trigger:after {
    position: absolute;
    top: calc(50% - .39vw);
    right: .16vw;
    content: "";
    width: 2.73vw;
    height: 2.73vw;
    background-image: url(../images/lp/ic_accord_open.png?v771586c24b0dc980b6748899caecc659);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    transition: background .25s ease-out;
    will-change: background
  }

  .faq-box__item .item-trigger.accordion__trigger.active:after {
    background-image: url(../images/lp/ic_accord_close.png?vc66d722f8dd5f806f4b435352bbdb9fb)
  }

  .faq-box__item .item-target.accordion__target {
    margin-top: -1.17vw
  }

  .faq-box__item .item-inner {
    position: relative;
    position: relative;
    min-height: 3.91vw;
    padding-left: 5.47vw
  }

  .faq-box__item .item-inner:before {
    position: absolute;
    top: -.63vw;
    left: 0;
    content: "A";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 3.91vw;
    height: 3.91vw;
    border-radius: 50%;
    background-color: #c9ac9b;
    color: #fff;
    font-family: var(--font-en);
    font-size: 1.56vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .02em
  }

  .faq-box__item .item-inner.accordion__inner {
    padding: 0 1.17vw 1.95vw 5vw;
    margin-top: .39vw;
    min-height: 3.52vw;
    line-height: 2
  }

  .faq-box__item .item-inner.accordion__inner:before {
    top: -.16vw;
    width: 3.52vw;
    height: 3.52vw
  }

  .menu {
    padding: 9.06vw 0 8.13vw;
    overflow: hidden
  }

  .menu .note {
    padding-left: 1.35em;
    text-indent: -1.35em;
    color: #988981;
    font-size: .94vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .menu__catch {
    margin-top: 4.84vw;
    font-size: 1.56vw;
    font-weight: 400;
    text-align: center;
    line-height: 2.4;
    letter-spacing: .05em
  }

  .menu__catch:first-child {
    margin-top: 0
  }

  .menu .tab-switch__triggers,
  .menu .anchor__triggers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.56vw;
    margin-bottom: 4.61vw
  }

  .menu .tab-switch__trigger,
  .menu .anchor__trigger {
    position: relative;
    display: flex;
    align-items: center;
    padding: 1.48vw 5.78vw 1.48vw 1.88vw;
    border-radius: .78vw;
    background-color: #fff;
    border: 1px solid transparent;
    cursor: pointer;
    opacity: .5;
    transition: opacity .3s ease-out, border .3s ease-out;
    will-change: opacity, border
  }

  .menu .tab-switch__trigger .trigger-icon,
  .menu .anchor__trigger .trigger-icon {
    flex-shrink: 0;
    width: 8.59vw;
    margin-right: 1.56vw
  }

  .menu .tab-switch__trigger .trigger-text,
  .menu .anchor__trigger .trigger-text {
    width: 100%;
    color: var(--text-color);
    font-size: 1.56vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .05em
  }

  .menu .tab-switch__trigger:after,
  .menu .anchor__trigger:after {
    position: absolute;
    top: 50%;
    right: 1.88vw;
    content: "";
    width: 2.34vw;
    height: 2.34vw;
    background-image: url(../images/lp/ic_arrow.png?veed84798a975b3529e958073a41f2fba);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: translateY(-50%)
  }

  @media (hover:hover) {

    .menu .tab-switch__trigger:hover,
    .menu .anchor__trigger:hover {
      opacity: 1;
      border-color: var(--primary-color)
    }
  }

  .menu .tab-switch__trigger.active,
  .menu .anchor__trigger.active {
    opacity: 1;
    border-color: var(--primary-color)
  }

  .menu .tab-switch__content,
  .menu .anchor__content {
    display: none
  }

  .menu .tab-switch__content.active,
  .menu .anchor__content.active {
    display: block
  }

  .menu .tab-switch__content .content-group:not(:last-of-type),
  .menu .anchor__content .content-group:not(:last-of-type) {
    margin-bottom: 7.81vw
  }

  .menu .tab-switch__content .content-group__info,
  .menu .anchor__content .content-group__info {
    display: flex
  }

  .menu .tab-switch__content .content-group__info .info-photo,
  .menu .anchor__content .content-group__info .info-photo {
    flex-shrink: 0;
    width: 20.16vw;
    margin-top: 1.72vw;
    margin-left: 6.25vw
  }

  .menu .tab-switch__content .content-group__info .info-desc,
  .menu .anchor__content .content-group__info .info-desc {
    width: 100%
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-name,
  .menu .anchor__content .content-group__info .info-desc .desc-name {
    margin-bottom: 2.42vw;
    font-size: 3.75vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags,
  .menu .anchor__content .content-group__info .info-desc .desc-tags {
    display: flex;
    flex-wrap: wrap;
    margin: 2.5vw 0 3.36vw;
    gap: .39vw
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-tags:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-tags:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags__item,
  .menu .anchor__content .content-group__info .info-desc .desc-tags__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-width: 5.08vw;
    min-height: 2.81vw;
    padding: .39vw 1.33vw;
    border-radius: 5.08vw;
    background-color: #fff;
    color: var(--primary-color);
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .05em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__tl,
  .menu .anchor__content .content-group__info .info-desc .desc-about__tl {
    margin-bottom: .94vw;
    color: var(--primary-color);
    font-size: 2.19vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p {
    margin: 2.42vw 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price,
  .menu .anchor__content .content-group__info .info-desc .desc-price {
    margin: 2.03vw 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main {
    margin-bottom: .39vw;
    font-size: 3.75vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main small,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main small {
    font-size: 1.56vw;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table,
  .menu .anchor__content .content-group__info .info-desc .desc-table {
    display: flex;
    align-items: center;
    margin: 3.75vw 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-table:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-table:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table+.desc-table,
  .menu .anchor__content .content-group__info .info-desc .desc-table+.desc-table {
    margin-top: -2.34vw
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table__th,
  .menu .anchor__content .content-group__info .info-desc .desc-table__th {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 10.94vw;
    min-height: 3.52vw;
    margin-right: 1.56vw;
    background-color: #c9ac9b;
    color: #fff;
    font-size: 1.41vw;
    font-weight: 500;
    line-height: 1.5
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table__td,
  .menu .anchor__content .content-group__info .info-desc .desc-table__td {
    width: 100%;
    font-size: 1.41vw;
    font-weight: 500;
    line-height: 1.5
  }

  .menu .tab-switch__content .content-group__price,
  .menu .anchor__content .content-group__price {
    margin-top: 3.91vw
  }

  .menu .tab-switch__content .content-group__use,
  .menu .anchor__content .content-group__use {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5vw;
    padding: 3.05vw 3.13vw 3.13vw;
    margin-top: 6.02vw;
    border-radius: .78vw;
    background-color: #fff
  }

  .menu .tab-switch__content .content-group__use:first-child,
  .menu .anchor__content .content-group__use:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__use .use-item img,
  .menu .anchor__content .content-group__use .use-item img {
    width: 100%
  }

  .menu .tab-switch__content .content-group__use .use-item .caption,
  .menu .anchor__content .content-group__use .use-item .caption {
    position: relative;
    margin-top: 1.41vw;
    padding-left: 3.91vw;
    font-size: 1.56vw;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.6
  }

  .menu .tab-switch__content .content-group__use .use-item .caption:before,
  .menu .anchor__content .content-group__use .use-item .caption:before {
    position: absolute;
    top: 1px;
    left: 1px;
    content: "";
    width: 2.34vw;
    height: 2.34vw;
    background-image: url(../images/lp/ic_use.png?v7540e2e305d5eaceea0826ad4b4de849);
    background-repeat: no-repeat;
    background-size: 100% 100%
  }

  .menu .tab-switch__content .content-group .faq-box__tl,
  .menu .anchor__content .content-group .faq-box__tl {
    margin-bottom: 2.5vw;
    padding-bottom: 2.19vw;
    border-bottom: 1px solid #e6e0d6
  }

  .menu .anchor__triggers {
    margin-bottom: 0
  }

  .menu .anchor__content {
    display: block
  }

  .menu .anchor__content+.anchor__content {
    margin-top: 4.45vw
  }

  .doctor {
    position: relative;
    z-index: 1;
    padding: 7.42vw 0 7.81vw;
    transform: translateZ(0);
    background-color: #c9ac9b;
    overflow: hidden
  }

  .doctor .page-tl {
    color: #fff;
    text-align: center;
    margin-bottom: 4.45vw
  }

  .doctor .page-tl__en {
    color: #fff
  }

  .doctor:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/doctor_bg.png?v0f29374412922825aead594677b83ff1);
    background-repeat: no-repeat;
    background-size: cover
  }

  .doctor__main {
    display: flex;
    align-items: flex-start
  }

  .doctor__text {
    color: #fff;
    width: 100%;
    padding-top: 1.41vw
  }

  .doctor__text .doctor-sub {
    margin-bottom: 1.8vw;
    font-weight: 400;
    font-size: 2.19vw;
    line-height: 200%;
    letter-spacing: .05em
  }

  .doctor__text .doctor-catch {
    margin-bottom: 1.95vw
  }

  .doctor__text .doctor-catch:last-child {
    margin-bottom: 0
  }

  .doctor__text .doctor-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: .23vw;
    font-weight: 400;
    font-size: 2.66vw;
    line-height: 1.9;
    letter-spacing: .05em
  }

  .doctor__text .doctor-name small {
    margin-top: .39vw;
    margin-right: 1.56vw;
    color: #fff;
    font-size: 1.56vw;
    line-height: 1.9;
    letter-spacing: .05em
  }

  .doctor__text .doctor-name span {
    margin-left: 1.41vw;
    margin-top: .31vw;
    font-family: var(--font-en);
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 1.5;
    letter-spacing: .02em
  }

  .doctor__text .d-biography {
    margin-bottom: 2.42vw
  }

  .doctor__text .d-biography:last-child {
    margin-bottom: 0
  }

  .doctor__text .d-biography__year {
    display: flex
  }

  .doctor__text .d-biography__year span {
    flex-shrink: 0;
    width: 6.72vw;
    margin-right: .78vw
  }

  .doctor__text .d-biography__tt {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 5.08vw;
    min-height: 2.81vw;
    margin-bottom: .7vw;
    padding: 0 1.25vw;
    background: rgba(255, 255, 255, .14);
    font-size: 1.25vw;
    line-height: 1.5;
    letter-spacing: .05em;
    color: #fff
  }

  .doctor__text .d-certificate {
    display: flex;
    align-items: center;
    padding: 1.8vw 2.11vw 1.8vw 2.27vw;
    border: 1px solid #e6e0d6;
    border-radius: .78vw
  }

  .doctor__text .d-certificate__tt {
    display: block;
    margin-bottom: .16vw;
    color: #fff;
    font-size: 1.72vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .doctor__text .d-certificate__img {
    flex-shrink: 0;
    width: 19.53vw;
    margin-left: 1.17vw
  }

  .doctor__text .d-certificate__img img {
    width: 100%
  }

  .doctor__text .d-certificate__txt {
    width: 100%;
    margin-top: -.55vw
  }

  .doctor__thumb {
    flex-shrink: 0;
    width: 38.36vw;
    margin-right: 5.7vw;
    filter: drop-shadow(1.8vw 1.8vw 7.03vw rgba(165, 143, 130, .32));
    transform: translateZ(0)
  }

  .faq {
    padding: 8.98vw 0 9.22vw;
    overflow: hidden
  }

  .faq .faq-box {
    margin: 2.19vw 0;
    padding: 3.75vw 3.59vw 2.5vw 3.67vw
  }

  .faq .faq-box:first-child {
    margin-top: 0
  }

  .faq .faq-box:last-child {
    margin-bottom: 0
  }

  .faq .faq-box__tl {
    margin-bottom: 2.89vw;
    padding-left: 4.69vw
  }

  .access {
    position: relative;
    z-index: 1;
    padding: 9.38vw 0 8.59vw;
    color: #fff;
    background-color: #ab9d93;
    overflow: hidden
  }

  .access:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/access_bg.png?v0b516468f8704b9cb6c6d7a2c978c160);
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .3
  }

  .access .page-tl {
    margin-bottom: 4.06vw
  }

  .access .page-tl__en {
    color: #fff
  }

  .access .text-lead {
    margin-bottom: .78vw;
    font-size: 1.41vw;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .05em
  }

  .access__main {
    display: flex;
    align-items: center
  }

  .access__text {
    width: 100%;
    padding-bottom: .39vw
  }

  .access__text .txt+.txt {
    margin-top: 1.48vw
  }

  .access__map {
    flex-shrink: 0;
    width: 58.59vw;
    margin-left: 4.38vw
  }

  .access__map iframe {
    width: 100%;
    height: 39.06vw
  }

  .table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-radius: 1.56vw;
    overflow: hidden;
    border-style: hidden;
    box-shadow: 0 0 0 1px #e6e0d6
  }

  .table table th,
  .table table td {
    padding: 1.02vw 1.88vw 1.09vw;
    border: 1px solid #e6e0d6;
    font-size: 1.17vw;
    font-weight: 400
  }

  .table table td {
    background-color: #fff;
    text-align: center
  }

  .table table td>* {
    margin: 0
  }

  .table table td img+img {
    margin-top: 1.56vw
  }

  .table table tbody th {
    width: 17.42vw;
    background-color: #e6e0d6;
    color: var(--text-color);
    border-bottom-color: #fff
  }

  .table table thead th {
    background-color: var(--primary-color);
    color: #fff;
    text-align: center
  }

  .table table thead th:first-of-type {
    width: 27.34vw
  }

  .table table thead th.count {
    width: 7.81vw
  }
}

@media only screen and (max-width:767px) {
  .faq-box {
    margin: 6.11vw 0;
    padding: 7.63vw 7.89vw 8.14vw;
    border-radius: 2.54vw;
    background-color: #fff
  }

  .faq-box:first-child {
    margin-top: 0
  }

  .faq-box:last-child {
    margin-bottom: 0
  }

  .faq-box__tl {
    position: relative;
    padding-left: 12.98vw;
    margin-bottom: 7.63vw;
    color: var(--primary-color);
    font-size: 5.09vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .08em
  }

  .faq-box__tl:before {
    position: absolute;
    top: .51vw;
    left: 0;
    content: "";
    width: 9.41vw;
    height: 7.63vw;
    background-image: url(../images/lp/ic_faq.png?v577e0db5d7b1f38c8cdeb9023df1ee07);
    background-repeat: no-repeat;
    background-size: 100% 100%
  }

  .faq-box__item:not(:last-of-type):not(:last-of-type) {
    margin-bottom: 5.09vw
  }

  .faq-box__item.accordion {
    padding: 0;
    border-top: 1px solid #e6e0d6
  }

  .faq-box__item.accordion:not(:last-of-type) {
    margin-bottom: 0
  }

  .faq-box__item:last-of-type {
    padding-bottom: 0
  }

  .faq-box__item .item-trigger {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-left: 11.96vw;
    min-height: 8.91vw;
    font-size: 3.56vw;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .05em
  }

  .faq-box__item .item-trigger:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "Q";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 8.91vw;
    height: 8.91vw;
    border-radius: 50%;
    background-color: #f8f2ef;
    color: var(--text-color);
    font-family: var(--font-en);
    font-size: 4.07vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .02em
  }

  .faq-box__item .item-trigger.accordion__trigger {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 6.36vw 12.72vw 11.7vw 11.7vw;
    line-height: 2
  }

  .faq-box__item .item-trigger.accordion__trigger:before {
    top: calc(50% - 3.05vw);
    transform: translateY(-50%)
  }

  .faq-box__item .item-trigger.accordion__trigger:after {
    position: absolute;
    top: calc(50% - 2.29vw);
    right: 0;
    content: "";
    width: 7.63vw;
    height: 7.63vw;
    background-image: url(../images/lp/ic_accord_open.png?v771586c24b0dc980b6748899caecc659);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    transition: background .25s ease-out;
    will-change: background
  }

  .faq-box__item .item-trigger.accordion__trigger.active:after {
    background-image: url(../images/lp/ic_accord_close.png?vc66d722f8dd5f806f4b435352bbdb9fb)
  }

  .faq-box__item .item-target.accordion__target {
    margin-top: -5.85vw
  }

  .faq-box__item .item-inner {
    position: relative;
    margin-top: 4.07vw;
    position: relative;
    min-height: 8.91vw;
    padding-left: 11.96vw;
    font-size: 3.56vw;
    line-height: 1.8
  }

  .faq-box__item .item-inner:before {
    position: absolute;
    top: -.76vw;
    left: 0;
    content: "A";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 8.91vw;
    height: 8.91vw;
    border-radius: 50%;
    background-color: #c9ac9b;
    color: #fff;
    font-family: var(--font-en);
    font-size: 4.07vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .02em
  }

  .faq-box__item .item-inner.accordion__inner {
    margin-top: 2.54vw;
    padding: 0 0 5.85vw 11.7vw
  }

  .faq-box__item .item-inner.accordion__inner:before {
    top: -1.78vw
  }

  .menu {
    padding: 18.32vw 0 15.78vw;
    overflow: hidden
  }

  .menu .page-tl {
    margin-bottom: 12.72vw;
    text-align: center
  }

  .menu .note {
    padding-left: 1.35em;
    text-indent: -1.35em;
    color: #988981;
    font-size: 2.54vw;
    line-height: 1.8;
    letter-spacing: .05em
  }

  .menu__catch {
    margin-top: 11.2vw;
    font-size: 4.07vw;
    font-weight: 500;
    text-align: center;
    line-height: 2;
    letter-spacing: .08em
  }

  .menu__catch:first-child {
    margin-top: 0
  }

  .menu .tab-switch__triggers,
  .menu .anchor__triggers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.05vw;
    margin-bottom: 14.5vw
  }

  .menu .tab-switch__trigger,
  .menu .anchor__trigger {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 4.07vw 3.56vw 10.69vw;
    border-radius: 2.54vw;
    background-color: #fff;
    border: 1px solid transparent;
    cursor: pointer;
    opacity: .5;
    transition: opacity .3s ease-out, border .3s ease-out;
    will-change: opacity, border
  }

  .menu .tab-switch__trigger .trigger-icon,
  .menu .anchor__trigger .trigger-icon {
    flex-shrink: 0;
    width: 18.58vw;
    margin-bottom: 2.04vw
  }

  .menu .tab-switch__trigger .trigger-text,
  .menu .anchor__trigger .trigger-text {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: var(--text-color);
    font-size: 3.82vw;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .05em;
    text-align: center
  }

  .menu .tab-switch__trigger:after,
  .menu .anchor__trigger:after {
    position: absolute;
    bottom: 4.07vw;
    left: 50%;
    content: "";
    width: 5.34vw;
    height: 5.34vw;
    background-image: url(../images/lp/ic_arrow.png?veed84798a975b3529e958073a41f2fba);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: translateX(-50%)
  }

  .menu .tab-switch__trigger.active,
  .menu .anchor__trigger.active {
    opacity: 1;
    border-color: var(--primary-color)
  }

  .menu .tab-switch__content,
  .menu .anchor__content {
    display: none
  }

  .menu .tab-switch__content.active,
  .menu .anchor__content.active {
    display: block
  }

  .menu .tab-switch__content .content-group:not(:last-of-type),
  .menu .anchor__content .content-group:not(:last-of-type) {
    margin-bottom: 14.5vw
  }

  .menu .tab-switch__content .content-group__info,
  .menu .anchor__content .content-group__info {
    display: flex;
    flex-direction: column-reverse;
    align-items: center
  }

  .menu .tab-switch__content .content-group__info .info-photo,
  .menu .anchor__content .content-group__info .info-photo {
    width: 53.44vw;
    margin-bottom: 11.7vw
  }

  .menu .tab-switch__content .content-group__info .info-desc,
  .menu .anchor__content .content-group__info .info-desc {
    width: 100%
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-name,
  .menu .anchor__content .content-group__info .info-desc .desc-name {
    margin-bottom: 3.05vw;
    font-size: 8.4vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags,
  .menu .anchor__content .content-group__info .info-desc .desc-tags {
    display: flex;
    flex-wrap: wrap;
    margin: 3.05vw 0 10.18vw;
    gap: 2.04vw
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-tags:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-tags:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-tags__item,
  .menu .anchor__content .content-group__info .info-desc .desc-tags__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-width: 15.52vw;
    min-height: 8.65vw;
    padding: .51vw 4.07vw;
    border-radius: 16.54vw;
    background-color: #fff;
    color: var(--primary-color);
    font-size: 3.56vw;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .05em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__tl,
  .menu .anchor__content .content-group__info .info-desc .desc-about__tl {
    margin-bottom: 3.82vw;
    color: var(--primary-color);
    font-size: 5.85vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p {
    margin: 5.6vw 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-about__content p:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-about__content p:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price,
  .menu .anchor__content .content-group__info .info-desc .desc-price {
    margin: 5.85vw 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main {
    margin-bottom: 2.8vw;
    font-size: 9.16vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-price__main small,
  .menu .anchor__content .content-group__info .info-desc .desc-price__main small {
    font-size: 4.07vw;
    line-height: 1.5;
    letter-spacing: .08em
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table,
  .menu .anchor__content .content-group__info .info-desc .desc-table {
    display: flex;
    flex-direction: column;
    margin: 10.69vw 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table:first-child,
  .menu .anchor__content .content-group__info .info-desc .desc-table:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table:last-child,
  .menu .anchor__content .content-group__info .info-desc .desc-table:last-child {
    margin-bottom: 0
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table+.desc-table,
  .menu .anchor__content .content-group__info .info-desc .desc-table+.desc-table {
    margin-top: -5.09vw
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table__th,
  .menu .anchor__content .content-group__info .info-desc .desc-table__th {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-height: 8.14vw;
    padding: .76vw 2.54vw;
    margin-bottom: 2.8vw;
    background-color: #c9ac9b;
    color: #fff;
    font-size: 4.07vw;
    font-weight: 500;
    line-height: 1.3
  }

  .menu .tab-switch__content .content-group__info .info-desc .desc-table__td,
  .menu .anchor__content .content-group__info .info-desc .desc-table__td {
    width: 100%;
    font-size: 3.82vw;
    font-weight: 400;
    line-height: 2
  }

  .menu .tab-switch__content .content-group__price,
  .menu .anchor__content .content-group__price {
    margin-top: 12.72vw
  }

  .menu .tab-switch__content .content-group__use,
  .menu .anchor__content .content-group__use {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 5.34vw;
    padding: 8.14vw 8.14vw 7.12vw;
    margin-top: 12.72vw;
    border-radius: 2.54vw;
    background-color: #fff
  }

  .menu .tab-switch__content .content-group__use:first-child,
  .menu .anchor__content .content-group__use:first-child {
    margin-top: 0
  }

  .menu .tab-switch__content .content-group__use .use-item img,
  .menu .anchor__content .content-group__use .use-item img {
    width: 100%
  }

  .menu .tab-switch__content .content-group__use .use-item .caption,
  .menu .anchor__content .content-group__use .use-item .caption {
    position: relative;
    margin-top: 3.82vw;
    padding-left: 8.91vw;
    font-size: 3.82vw;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.5
  }

  .menu .tab-switch__content .content-group__use .use-item .caption:before,
  .menu .anchor__content .content-group__use .use-item .caption:before {
    position: absolute;
    top: -1px;
    left: 0;
    content: "";
    width: 6.36vw;
    height: 6.36vw;
    background-image: url(../images/lp/ic_use.png?v7540e2e305d5eaceea0826ad4b4de849);
    background-repeat: no-repeat;
    background-size: 100% 100%
  }

  .menu .tab-switch__content .content-group .faq-box__tl,
  .menu .anchor__content .content-group .faq-box__tl {
    margin-bottom: 4.07vw;
    padding-bottom: 6.11vw;
    border-bottom: 1px solid #e6e0d6
  }

  .menu .anchor__triggers {
    margin-bottom: 0
  }

  .menu .anchor__content {
    display: block
  }

  .menu .anchor__content+.anchor__content {
    margin-top: 15.27vw
  }

  .doctor {
    position: relative;
    z-index: 1;
    padding: 17.81vw 0 18.58vw;
    transform: translateZ(0);
    background-color: #c9ac9b;
    overflow: hidden
  }

  .doctor .page-tl {
    color: #fff;
    text-align: center;
    margin-bottom: 10.18vw
  }

  .doctor .page-tl__en {
    color: #fff
  }

  .doctor:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/doctor_bg_sp.png?v9536cf82c3bda20c506925faa0ed921d);
    background-repeat: no-repeat;
    background-size: cover
  }

  .doctor__main {
    display: flex;
    flex-direction: column;
    align-items: center
  }

  .doctor__text {
    color: #fff;
    width: 100%;
    padding-top: 4.58vw
  }

  .doctor__text .doctor-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2.54vw;
    font-weight: 400;
    font-size: 7.12vw;
    line-height: 1.9;
    letter-spacing: .05em
  }

  .doctor__text .doctor-name small {
    display: block;
    width: 100%;
    color: #fff;
    font-size: 4.07vw;
    line-height: 1.5;
    letter-spacing: .02em
  }

  .doctor__text .doctor-name span {
    margin-left: 3.05vw;
    margin-top: 1.02vw;
    font-family: var(--font-en);
    font-weight: 400;
    font-size: 3.31vw;
    line-height: 1.5;
    letter-spacing: .02em
  }

  .doctor__text .doctor-sub {
    margin-bottom: 5.85vw;
    font-weight: 400;
    font-size: 7.12vw;
    line-height: 200%;
    letter-spacing: .05em
  }

  .doctor__text .doctor-catch {
    margin-bottom: 6.36vw
  }

  .doctor__text .doctor-catch:last-child {
    margin-bottom: 0
  }

  .doctor__text .d-biography {
    margin-bottom: 5.85vw
  }

  .doctor__text .d-biography:last-child {
    margin-bottom: 0
  }

  .doctor__text .d-biography__year {
    display: flex;
    letter-spacing: .04em
  }

  .doctor__text .d-biography__year span {
    flex-shrink: 0;
    width: 18.83vw;
    margin-right: 2.54vw
  }

  .doctor__text .d-biography__tt {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 15.52vw;
    min-height: 6.62vw;
    margin-bottom: 3.05vw;
    padding: 0 4.07vw;
    background: rgba(255, 255, 255, .14);
    font-size: 3.56vw;
    line-height: 1.5;
    letter-spacing: .05em;
    color: #fff
  }

  .doctor__text .d-certificate {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4.07vw 7.38vw 6.87vw 5.85vw;
    border: 1px solid #e6e0d6;
    border-radius: 2.54vw
  }

  .doctor__text .d-certificate__tt {
    display: block;
    margin-bottom: .76vw;
    color: #fff;
    font-size: 4.07vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .doctor__text .d-certificate__img {
    width: 100%
  }

  .doctor__text .d-certificate__img img {
    width: 100%
  }

  .doctor__text .d-certificate__txt {
    width: 100%;
    margin-bottom: 6.11vw
  }

  .doctor__thumb {
    width: 72.77vw;
    margin-bottom: 2.04vw
  }

  .faq {
    padding: 17.81vw 0 18.32vw;
    overflow: hidden
  }

  .faq .faq-box {
    margin: 7.12vw 0;
    padding: 7.63vw 8.14vw 4.33vw 8.14vw
  }

  .faq .faq-box:first-child {
    margin-top: 0
  }

  .faq .faq-box:last-child {
    margin-bottom: 0
  }

  .faq .faq-box__tl {
    margin-bottom: 6.36vw;
    padding-left: 12.72vw
  }

  .access {
    position: relative;
    z-index: 1;
    padding: 17.81vw 0 16.54vw;
    color: #fff;
    background-color: #ab9d93;
    overflow: hidden
  }

  .access:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/access_bg_sp.png?v8ca4a41bd0e59e1e8fd3554cb9fa7ef7);
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .3
  }

  .access .page-tl {
    margin-bottom: 7.12vw
  }

  .access .page-tl__en {
    color: #fff
  }

  .access .text-lead {
    margin-bottom: 3.05vw;
    font-size: 4.07vw;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .05em
  }

  .access__main {
    display: flex;
    flex-direction: column
  }

  .access__text {
    width: 100%;
    margin-bottom: 10.43vw
  }

  .access__text .txt+.txt {
    margin-top: 3.31vw
  }

  .access__map {
    width: 89.82vw
  }

  .access__map iframe {
    width: 100%;
    height: 139.95vw
  }

  .table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-radius: 5.09vw;
    overflow: hidden;
    border-style: hidden;
    box-shadow: 0 0 0 1px #e6e0d6
  }

  .table table th,
  .table table td {
    padding: 3.31vw 2.54vw;
    border: 1px solid #e6e0d6;
    font-size: 3.31vw;
    line-height: 1.8;
    font-weight: 400
  }

  .table table td {
    background-color: #fff;
    padding: 4.07vw 2.54vw 4.33vw;
    text-align: center
  }

  .table table td>* {
    margin: 0
  }

  .table table td img+img {
    margin-top: 2.54vw
  }

  .table table tbody th {
    width: 33.59vw;
    background-color: #e6e0d6;
    color: var(--text-color);
    border-bottom-color: #fff
  }

  .table table thead th {
    padding: 5.34vw 2.54vw;
    background-color: var(--primary-color);
    color: #fff;
    text-align: center;
    line-height: 1.2
  }

  .table table thead th:first-of-type {
    width: 33.59vw
  }

  .table table thead th.count {
    width: 12.72vw
  }
}

@media (min-width:1280px),
print {

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=password] {
    outline: 0;
    box-shadow: none;
    appearance: none;
    width: 100%;
    height: 40px;
    padding: 10px;
    background: 0 0;
    border-radius: 4px;
    border: 1px solid #e6e0d6;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
    white-space: nowrap
  }

  input[type=text].has-error,
  input[type=email].has-error,
  input[type=tel].has-error,
  input[type=password].has-error {
    border-color: #dd4141
  }

  input[type=text]::-ms-clear,
  input[type=email]::-ms-clear,
  input[type=tel]::-ms-clear,
  input[type=password]::-ms-clear {
    display: none
  }

  input[type=text]:-ms-input-placeholder,
  input[type=email]:-ms-input-placeholder,
  input[type=tel]:-ms-input-placeholder,
  input[type=password]:-ms-input-placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  input[type=text]::placeholder,
  input[type=email]::placeholder,
  input[type=tel]::placeholder,
  input[type=password]::placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  select {
    outline: 0;
    box-shadow: none;
    appearance: none;
    width: 100%;
    height: 40px;
    padding: 10px 30px 10px 10px;
    border-radius: 4px;
    border: 1px solid #e6e0d6;
    background-color: transparent;
    background-image: url(../images/lp/ic_select.svg?v88642ed2139ea16629da0729d2fe897f);
    background-position: center right 15px;
    background-repeat: no-repeat;
    background-size: 8px 7px;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: .05em
  }

  select::-ms-expand {
    display: none
  }

  select.has-error {
    border-color: #dd4141
  }

  textarea {
    outline: 0;
    box-shadow: none;
    appearance: none;
    display: block;
    width: 100%;
    height: 120px;
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid #e6e0d6;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
    resize: none
  }

  textarea.has-error {
    border-color: #dd4141
  }

  textarea:-ms-input-placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  textarea::placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  input[type=checkbox] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=checkbox]:checked+.checkbox-mark {
    background-color: #b88a56;
    border-color: #b88a56
  }

  input[type=checkbox]:checked+.checkbox-mark:after {
    transform: scale(1)
  }

  input[type=radio] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=radio]:checked+.radio-mark:before {
    transform: scale(.6)
  }

  .radio-container {
    position: relative;
    display: inline-block;
    padding-left: 33px;
    cursor: pointer
  }

  .radio-container:not(:last-of-type) {
    margin-right: 20px
  }

  .radio-container.has-error .radio-mark {
    border-color: #dd4141
  }

  .radio-mark {
    position: absolute;
    top: 2px;
    left: 0;
    z-index: 1;
    width: 25px;
    height: 25px
  }

  .radio-mark:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #b88a56;
    transform: scale(0);
    transform-origin: 50%, 50%;
    transition: transform .1s ease-out;
    will-change: transform
  }

  .radio-mark:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid #b88a56
  }

  .checkbox-container {
    position: relative;
    min-height: 20px;
    padding-left: 26px;
    cursor: pointer;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .05em
  }

  .checkbox-container.has-error .checkbox-mark {
    border-color: #dd4141
  }

  .checkbox-mark {
    position: absolute;
    top: 5px;
    left: 0;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    border: 1px solid #c9ac9b;
    background-color: transparent;
    transition: background .1s ease-out, border .1s ease-out;
    will-change: background, border
  }

  .checkbox-mark:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/ic_check.svg?vdd600e35e177862164521441c440a9fa);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px 11px;
    transform: scale(0);
    transform-origin: 50%, 50%;
    transition: transform .1s ease-out;
    will-change: transform
  }

  .date-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 24px;
    width: 100%
  }

  .date-group__item {
    display: flex;
    align-items: center
  }

  .date-group__item span {
    flex-shrink: 0;
    margin-left: 10px
  }

  .date-group__item.is-full {
    grid-column: span 3
  }

  .date-group[data-column="2"] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 20px
  }

  .date-group[data-column="2"] .date-group__item.is-full {
    grid-column: span 2
  }

  .checkbox-group {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px 8px;
    width: 100%
  }

  .form {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: .05em
  }

  .form .form-txt {
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: .05em
  }

  .form .form-txt+.input {
    margin-top: 5px
  }

  .form .form-txt+dl {
    margin-top: 10px
  }

  .form .form-note {
    padding-left: 1.1em;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: .05em;
    text-indent: -1.1em
  }

  .form .form-note+.input {
    margin-top: 5px
  }

  .form .form-note+dl {
    margin-top: 10px
  }

  .form .form-notice {
    margin-top: 23px;
    text-align: center
  }

  .form .form-notice:first-child {
    margin-top: 0
  }

  .form .form-button {
    margin-top: 22px;
    text-align: center;
    font-size: 0
  }

  .form .form-button button[type=submit],
  .form .form-button input[type=submit] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 233px;
    min-height: 61px;
    padding: 10px 20px;
    border-radius: 61px;
    border: 0;
    outline: 0;
    cursor: pointer;
    box-shadow: none;
    background-color: #b88a56;
    color: #fff;
    font-family: var(--font-base);
    font-size: 1.8rem;
    font-weight: 400;
    text-align: center;
    line-height: 2;
    letter-spacing: .05em;
    transition: opacity .25s ease-out;
    will-change: opacity
  }

  @media (hover:hover) {

    .form .form-button button[type=submit]:hover,
    .form .form-button input[type=submit]:hover {
      opacity: .7
    }
  }

  .form .input {
    display: flex;
  }

  .form .input input[type=text],
  .form .input input[type=email],
  .form .input input[type=tel],
  .form .input input[type=password],
  .form .input select,
  .form .input textarea {
    width: 100%
  }

  .form .input+.form-txt,
  .form .input+.form-note {
    margin-top: 5px
  }

  .form .input+dl {
    margin-top: 10px
  }

  .form__block {
    margin: 31px 0
  }

  .form__block:first-child {
    margin-top: 0
  }

  .form__block:last-child {
    margin-bottom: 0
  }

  .form__block-head {
    padding: 14px 20px;
    background-color: #c9ac9b;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5
  }

  .form__block-content dl {
    display: flex;
    border-top: 1px solid #e6e0d6;
    border-left: 1px solid #e6e0d6;
    border-right: 1px solid #e6e0d6
  }

  .form__block-content dl>dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 280px;
    min-height: 57px;
    padding: 15px 20px;
    border-right: 1px solid #e6e0d6;
    background-color: #f8f2ef;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: .05em
  }

  .form__block-content dl>dt label {
    width: 100%
  }

  .form__block-content dl>dt.is-required:after {
    content: "必須";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    min-width: 39px;
    min-height: 19px;
    border-radius: 3px;
    background-color: #dd4141;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: .05em
  }

  .form__block-content dl>dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding: 15px 16px
  }

  .form__block-content dl>dd>dl>dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 115px;
    min-height: 70px;
    padding: 16px 10px;
    border-right: 1px solid #e6e0d6;
    background-color: #f8f2ef;
    font-size: 1.3rem;
    font-weight: 400;
    text-align: center;
    line-height: 2;
    letter-spacing: .05em
  }

  .form__block-content dl>dd .form-txt:first-child {
    margin-top: -11px
  }

  .form__block-content dl>dd .has-size-small {
    width: 175px
  }

  .form__block-content dl:last-of-type {
    border-bottom: 1px solid #e6e0d6
  }

  .form__block-content dl:not(:last-of-type)>dt {
    border-bottom: 1px solid #e6e0d6
  }
}

@media (min-width:768px) and (max-width:1279px) {

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=password] {
    outline: 0;
    box-shadow: none;
    appearance: none;
    width: 100%;
    height: 3.13vw;
    padding: .78vw;
    background: 0 0;
    border-radius: .31vw;
    border: 1px solid #e6e0d6;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
    white-space: nowrap
  }

  input[type=text].has-error,
  input[type=email].has-error,
  input[type=tel].has-error,
  input[type=password].has-error {
    border-color: #dd4141
  }

  input[type=text]::-ms-clear,
  input[type=email]::-ms-clear,
  input[type=tel]::-ms-clear,
  input[type=password]::-ms-clear {
    display: none
  }

  input[type=text]:-ms-input-placeholder,
  input[type=email]:-ms-input-placeholder,
  input[type=tel]:-ms-input-placeholder,
  input[type=password]:-ms-input-placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  input[type=text]::placeholder,
  input[type=email]::placeholder,
  input[type=tel]::placeholder,
  input[type=password]::placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  select {
    outline: 0;
    box-shadow: none;
    appearance: none;
    width: 100%;
    height: 3.13vw;
    padding: .78vw 2.34vw .78vw .78vw;
    border-radius: .31vw;
    border: 1px solid #e6e0d6;
    background-color: transparent;
    background-image: url(../images/lp/ic_select.svg?v88642ed2139ea16629da0729d2fe897f);
    background-position: center right 1.17vw;
    background-repeat: no-repeat;
    background-size: .63vw .55vw;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: 1.25vw;
    line-height: 1;
    letter-spacing: .05em
  }

  select::-ms-expand {
    display: none
  }

  select.has-error {
    border-color: #dd4141
  }

  textarea {
    outline: 0;
    box-shadow: none;
    appearance: none;
    display: block;
    width: 100%;
    height: 9.38vw;
    padding: .47vw .78vw;
    border-radius: .31vw;
    border: 1px solid #e6e0d6;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: 1.25vw;
    line-height: 2;
    letter-spacing: .05em;
    resize: none
  }

  textarea.has-error {
    border-color: #dd4141
  }

  textarea:-ms-input-placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  textarea::placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  input[type=checkbox] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=checkbox]:checked+.checkbox-mark {
    background-color: #b88a56;
    border-color: #b88a56
  }

  input[type=checkbox]:checked+.checkbox-mark:after {
    transform: scale(1)
  }

  input[type=radio] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=radio]:checked+.radio-mark:before {
    transform: scale(.6)
  }

  .radio-container {
    position: relative;
    display: inline-block;
    padding-left: 2.58vw;
    cursor: pointer;
    margin: 2vw 0;
  }

  .radio-container:not(:last-of-type) {
    margin-right: 1.56vw
  }

  .radio-container.has-error .radio-mark {
    border-color: #dd4141
  }

  .radio-mark {
    position: absolute;
    top: .16vw;
    left: 0;
    z-index: 1;
    width: 1.95vw;
    height: 1.95vw
  }

  .radio-mark:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #b88a56;
    transform: scale(0);
    transform-origin: 50%, 50%;
    transition: transform .1s ease-out;
    will-change: transform
  }

  .radio-mark:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid #b88a56
  }

  .checkbox-container {
    position: relative;
    min-height: 1.56vw;
    padding-left: 2.03vw;
    cursor: pointer;
    font-size: 1.09vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .checkbox-container.has-error .checkbox-mark {
    border-color: #dd4141
  }

  .checkbox-mark {
    position: absolute;
    top: .39vw;
    left: 0;
    width: 1.56vw;
    height: 1.56vw;
    border-radius: .16vw;
    border: 1px solid #c9ac9b;
    background-color: transparent;
    transition: background .1s ease-out, border .1s ease-out;
    will-change: background, border
  }

  .checkbox-mark:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/ic_check.svg?vdd600e35e177862164521441c440a9fa);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.02vw .86vw;
    transform: scale(0);
    transform-origin: 50%, 50%;
    transition: transform .1s ease-out;
    will-change: transform
  }

  .date-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.09vw 1.88vw;
    width: 100%
  }

  .date-group__item {
    display: flex;
    align-items: center
  }

  .date-group__item span {
    flex-shrink: 0;
    margin-left: .78vw
  }

  .date-group__item.is-full {
    grid-column: span 3
  }

  .date-group[data-column="2"] {
    grid-template-columns: repeat(2, 1fr);
    gap: .94vw 1.56vw
  }

  .date-group[data-column="2"] .date-group__item.is-full {
    grid-column: span 2
  }

  .checkbox-group {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .94vw .63vw;
    width: 100%
  }

  .form {
    font-size: 1.17vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .form .form-txt {
    font-size: 1.02vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .form .form-txt+.input {
    margin-top: .39vw
  }

  .form .form-txt+dl {
    margin-top: .78vw
  }

  .form .form-note {
    padding-left: 1.1em;
    font-size: .94vw;
    line-height: 1.5;
    letter-spacing: .05em;
    text-indent: -1.1em
  }

  .form .form-note+.input {
    margin-top: .39vw
  }

  .form .form-note+dl {
    margin-top: .78vw
  }

  .form .form-notice {
    margin-top: 1.8vw;
    text-align: center
  }

  .form .form-notice:first-child {
    margin-top: 0
  }

  .form .form-button {
    margin-top: 1.72vw;
    text-align: center;
    font-size: 0
  }

  .form .form-button button[type=submit],
  .form .form-button input[type=submit] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 18.2vw;
    min-height: 4.77vw;
    padding: .78vw 1.56vw;
    border-radius: 4.77vw;
    border: 0;
    outline: 0;
    cursor: pointer;
    box-shadow: none;
    background-color: #b88a56;
    color: #fff;
    font-family: var(--font-base);
    font-size: 1.41vw;
    font-weight: 400;
    text-align: center;
    line-height: 2;
    letter-spacing: .05em;
    transition: opacity .25s ease-out;
    will-change: opacity
  }

  @media (hover:hover) {

    .form .form-button button[type=submit]:hover,
    .form .form-button input[type=submit]:hover {
      opacity: .7
    }
  }

  .form .input {
    display: block;
  }

  .form .input input[type=text],
  .form .input input[type=email],
  .form .input input[type=tel],
  .form .input input[type=password],
  .form .input select,
  .form .input textarea {
    width: 100%
  }

  .form .input+.form-txt,
  .form .input+.form-note {
    margin-top: .39vw
  }

  .form .input+dl {
    margin-top: .78vw
  }

  .form__block {
    margin: 2.42vw 0
  }

  .form__block:first-child {
    margin-top: 0
  }

  .form__block:last-child {
    margin-bottom: 0
  }

  .form__block-head {
    padding: 1.09vw 1.56vw;
    background-color: #c9ac9b;
    color: #fff;
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1.5
  }

  .form__block-content dl {
    display: flex;
    border-top: 1px solid #e6e0d6;
    border-left: 1px solid #e6e0d6;
    border-right: 1px solid #e6e0d6
  }

  .form__block-content dl>dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 21.88vw;
    min-height: 4.45vw;
    padding: 1.17vw 1.56vw;
    border-right: 1px solid #e6e0d6;
    background-color: #f8f2ef;
    font-size: 1.17vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: .05em
  }

  .form__block-content dl>dt label {
    width: 100%
  }

  .form__block-content dl>dt.is-required:after {
    content: "必須";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    min-width: 3.05vw;
    min-height: 1.48vw;
    border-radius: .23vw;
    background-color: #dd4141;
    color: #fff;
    font-size: .94vw;
    line-height: 1.2;
    letter-spacing: .05em
  }

  .form__block-content dl>dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding: 1.17vw 1.25vw
  }

  .form__block-content dl>dd>dl>dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8.98vw;
    min-height: 5.47vw;
    padding: 1.25vw .78vw;
    border-right: 1px solid #e6e0d6;
    background-color: #f8f2ef;
    font-size: 1.02vw;
    font-weight: 400;
    text-align: center;
    line-height: 2;
    letter-spacing: .05em
  }

  .form__block-content dl>dd .form-txt:first-child {
    margin-top: -.86vw
  }

  .form__block-content dl>dd .has-size-small {
    width: 13.67vw
  }

  .form__block-content dl:last-of-type {
    border-bottom: 1px solid #e6e0d6
  }

  .form__block-content dl:not(:last-of-type)>dt {
    border-bottom: 1px solid #e6e0d6
  }
}

@media only screen and (max-width:767px) {

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=password] {
    outline: 0;
    box-shadow: none;
    appearance: none;
    width: 100%;
    height: 10.18vw;
    padding: 2.54vw;
    background: 0 0;
    border-radius: 1.02vw;
    border: 1px solid #e6e0d6;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: max(16px, 3.56vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: .05em;
    white-space: nowrap
  }

  input[type=text].has-error,
  input[type=email].has-error,
  input[type=tel].has-error,
  input[type=password].has-error {
    border-color: #dd4141
  }

  input[type=text]::-ms-clear,
  input[type=email]::-ms-clear,
  input[type=tel]::-ms-clear,
  input[type=password]::-ms-clear {
    display: none
  }

  input[type=text]:-ms-input-placeholder,
  input[type=email]:-ms-input-placeholder,
  input[type=tel]:-ms-input-placeholder,
  input[type=password]:-ms-input-placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  input[type=text]::placeholder,
  input[type=email]::placeholder,
  input[type=tel]::placeholder,
  input[type=password]::placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  select {
    outline: 0;
    box-shadow: none;
    appearance: none;
    width: 100%;
    height: 10.18vw;
    padding: 2.54vw 7.63vw 2.54vw 2.54vw;
    border-radius: 1.02vw;
    border: 1px solid #e6e0d6;
    background-color: transparent;
    background-image: url(../images/lp/ic_select.svg?v88642ed2139ea16629da0729d2fe897f);
    background-position: center right 3.05vw;
    background-repeat: no-repeat;
    background-size: 2.04vw 1.78vw;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: max(16px, 3.56vw);
    line-height: 1;
    letter-spacing: .05em
  }

  select::-ms-expand {
    display: none
  }

  select.has-error {
    border-color: #dd4141
  }

  textarea {
    outline: 0;
    box-shadow: none;
    appearance: none;
    display: block;
    width: 100%;
    height: 30.53vw;
    padding: 1.53vw 2.54vw;
    border-radius: 1.02vw;
    border: 1px solid #e6e0d6;
    color: var(--text-color);
    font-family: var(--font-base);
    font-size: max(16px, 3.56vw);
    line-height: 2;
    letter-spacing: .05em;
    resize: none
  }

  textarea.has-error {
    border-color: #dd4141
  }

  textarea:-ms-input-placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  textarea::placeholder {
    opacity: .5;
    color: var(--text-color)
  }

  input[type=checkbox] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=checkbox]:checked+.checkbox-mark {
    border-color: #b88a56;
    background-color: #b88a56
  }

  input[type=checkbox]:checked+.checkbox-mark:after {
    transform: scale(1)
  }

  input[type=radio] {
    display: none;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    opacity: 0
  }

  input[type=radio]:checked+.radio-mark:before {
    transform: scale(.6)
  }

  .radio-container {
    position: relative;
    display: inline-block;
    padding-left: 8.4vw;
    line-height: 1.7;
    cursor: pointer;
    margin: 2vw 0;
  }

  .radio-container:not(:last-of-type) {
    margin-right: 9.92vw
  }

  .radio-container.has-error .radio-mark {
    border-color: #dd4141
  }

  .radio-mark {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 6.36vw;
    height: 6.36vw
  }

  .radio-mark:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #b88a56;
    transform: scale(0);
    transform-origin: 50%, 50%;
    transition: transform .1s ease-out;
    will-change: transform
  }

  .radio-mark:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid #b88a56
  }

  .checkbox-container {
    position: relative;
    min-height: 5.09vw;
    padding-left: 6.62vw;
    cursor: pointer;
    font-size: 3.56vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .checkbox-container.has-error .checkbox-mark {
    border-color: #dd4141
  }

  .checkbox-mark {
    position: absolute;
    top: 1.27vw;
    left: 0;
    width: 5.09vw;
    height: 5.09vw;
    border-radius: .51vw;
    border: 1px solid #c9ac9b;
    background-color: transparent;
    transition: background .1s ease-out, border .1s ease-out;
    will-change: background, border
  }

  .checkbox-mark:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/lp/ic_check.svg?vdd600e35e177862164521441c440a9fa);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 3.31vw 2.8vw;
    transform: scale(0);
    transform-origin: 50%, 50%;
    transition: transform .1s ease-out;
    will-change: transform
  }

  .date-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.05vw 5.09vw;
    width: 100%
  }

  .date-group__item {
    display: flex;
    align-items: center
  }

  .date-group__item span {
    flex-shrink: 0;
    margin-left: 2.04vw
  }

  .date-group__item.is-sp-full,
  .date-group__item.is-full {
    grid-column: span 2
  }

  .date-group[data-column="2"] {
    gap: 3.05vw 2.54vw
  }

  .checkbox-group {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.04vw 0;
    width: 100%;
    margin-top: -1.27vw;
    margin-bottom: -1.02vw
  }

  .form {
    font-size: 3.56vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .form .form-txt {
    font-size: 3.05vw;
    line-height: 2;
    letter-spacing: .05em
  }

  .form .form-txt.is-sp-13 {
    font-size: 3.31vw
  }

  .form .form-txt+.input {
    margin-top: 1.27vw
  }

  .form .form-txt+dl {
    margin-top: 2.54vw
  }

  .form .form-note {
    padding-left: 1.1em;
    font-size: 2.8vw;
    line-height: 1.5;
    letter-spacing: .05em;
    text-indent: -1.1em
  }

  .form .form-note+.input {
    margin-top: 1.27vw
  }

  .form .form-note+dl {
    margin-top: 2.04vw
  }

  .form .form-notice {
    margin-top: 5.85vw;
    text-align: left
  }

  .form .form-notice:first-child {
    margin-top: 0
  }

  .form .form-button {
    margin-top: 5.6vw;
    text-align: center;
    font-size: 0
  }

  .form .form-button button[type=submit],
  .form .form-button input[type=submit] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 55.98vw;
    min-height: 13.23vw;
    padding: 2.54vw 5.09vw;
    border-radius: 15.52vw;
    border: 0;
    outline: 0;
    cursor: pointer;
    box-shadow: none;
    background-color: #b88a56;
    color: #fff;
    font-family: var(--font-base);
    font-size: 4.07vw;
    font-weight: 400;
    text-align: center;
    line-height: 2;
    letter-spacing: .05em;
    transition: opacity .25s ease-out;
    will-change: opacity
  }

  @media (hover:hover) {

    .form .form-button button[type=submit]:hover,
    .form .form-button input[type=submit]:hover {
      opacity: .7
    }
  }

  .form .input {
    display: block;
  }

  .form .input input[type=text],
  .form .input input[type=email],
  .form .input input[type=tel],
  .form .input input[type=password],
  .form .input select,
  .form .input textarea {
    width: 100%
  }

  .form .input+.form-txt,
  .form .input+.form-note {
    margin-top: 1.53vw
  }

  .form .input+dl {
    margin-top: 2.54vw
  }

  .form__block {
    margin: 7.89vw 0
  }

  .form__block:first-child {
    margin-top: 0
  }

  .form__block:last-child {
    margin-bottom: 0
  }

  .form__block-head {
    padding: 3.31vw 5.09vw;
    background-color: #c9ac9b;
    color: #fff;
    font-size: 4.07vw;
    font-weight: 700;
    line-height: 1.5
  }

  .form__block-content dl {
    display: flex;
    flex-direction: column;
    border-top: 1px solid #e6e0d6;
    border-left: 1px solid #e6e0d6;
    border-right: 1px solid #e6e0d6
  }

  .form__block-content dl>dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    min-height: 9.67vw;
    padding: .76vw 3.56vw .76vw 3.82vw;
    background-color: #f8f2ef;
    border-bottom: 1px solid #e6e0d6;
    font-size: 3.56vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: .05em
  }

  .form__block-content dl>dt label {
    width: 100%
  }

  .form__block-content dl>dt.is-required:after {
    content: "必須";
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    min-width: 8.91vw;
    min-height: 4.33vw;
    border-radius: .76vw;
    background-color: #dd4141;
    color: #fff;
    font-size: 2.54vw;
    line-height: 1.8;
    letter-spacing: .05em
  }

  .form__block-content dl>dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding: 4.07vw
  }

  .form__block-content dl>dd>dl>dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    min-height: 8.4vw;
    padding: .76vw 5.09vw;
    background-color: #f8f2ef;
    font-size: 3.31vw;
    font-weight: 400;
    text-align: center;
    line-height: 2;
    letter-spacing: .05em
  }

  .form__block-content dl>dd>dl>dd {
    padding: 3.82vw 3.05vw 3.82vw 4.07vw
  }

  .form__block-content dl>dd .form-txt:first-child {
    margin-top: -2.04vw
  }

  .form__block-content dl:last-of-type {
    border-bottom: 1px solid #e6e0d6
  }
}


.errortxt {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .05em;
  color: #dd4141;
  margin-top: 5px;
  margin-bottom: 1.17vw;
}
