@charset "utf-8";

*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

ul,
ol,
li {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover,
button:hover {
  cursor: pointer;
}

button {
  color: inherit;
  background-color: transparent;
  border-style: none;
}

img,
picture {
  max-width: 100%;
  height: auto;
  display: block;
}

.top-body img,
.under-body img {
  object-fit: contain;
}

.br20 {
  border-radius: 20px;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
}

*[id] {
  scroll-margin-top: 161px;
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #4C423C;
  background: url(../img/common/bg.webp) repeat-y;
}

.mrgt120{
  margin-top: 120px;
}

/* body.fixed main {
  filter: blur(20px);
} */

@media(max-width:834px) {
  body {
    font-size: 1.4rem;
  }
}

body.fixed {
  height: 100%;
  overflow-y: hidden;
}

main {
  position: relative;
  padding-top: 118px;
}

@media(max-width:1024px) {
  main {
    padding-top: 100px;
  }
  *[id] {
    scroll-margin-top: 100px;
  }
  .mrgt120{
    margin-top: 80px;
  }
}

@media(max-width:834px) {}

.jp {
  font-family: "Noto Sans JP", sans-serif;
}

.jp02 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

.en {
  font-family: "Cinzel", serif;
  letter-spacing: 0;
}

.ls0 {
  letter-spacing: 0em;
}

.ls1 {
  letter-spacing: 0.1em;
}

.ls02 {
  letter-spacing: 0.02em;
}

.txt21 {
  font-size: 2.1rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  line-height: 2.57;
}

.txt {
  font-size: 1.6rem;
  line-height: 2.3;
}

@media(max-width:1423px) {
  .txt21 {
    font-size: 1.9rem;
  }

  .txt {
    font-size: 1.5rem;
  }
}

@media(max-width:834px) {
  .txt21 {
    font-size: 1.7rem;
  }

  .txt {
    font-size: 1.4rem;
  }
}

.f120 {
  font-size: 12rem;
}

.f80 {
  font-size: 8rem;
}

.f70 {
  font-size: 7rem;
}

.f62 {
  font-size: 6.2rem;
}

.f60 {
  font-size: 6rem;
}

.f54 {
  font-size: 5.4rem;
}

.f50 {
  font-size: 5rem;
}

.f42 {
  font-size: 4.2rem;
}

.f40 {
  font-size: 4rem;
}

.f36 {
  font-size: 3.6rem;
}

.f32 {
  font-size: 3.2rem;
}

.f30 {
  font-size: 3rem;
}

.f28 {
  font-size: 2.8rem;
}

.f24 {
  font-size: 2.4rem;
}

.f21 {
  font-size: 2.1rem;
}

.f20 {
  font-size: 2rem;
}

.f18 {
  font-size: 1.8rem;
}

.f17 {
  font-size: 1.7rem;
}

.f16 {
  font-size: 1.6rem;
}

.f15 {
  font-size: 1.5rem;
}

.f14 {
  font-size: 1.4rem;
}

.f14all {
  font-size: 1.4rem;
}

.f13 {
  font-size: 1.3rem;
}

.f13all {
  font-size: 1.3rem;
}

.f12 {
  font-size: 1.2rem;
}

.f12all {
  font-size: 1.2rem;
}

.f11 {
  font-size: 1.1rem;
}

.f10 {
  font-size: 1rem;
}

.f10all {
  font-size: 1rem;
}

@media(max-width:1423px) {

  .f120 {
    font-size: 8rem;
  }

  .f80 {
    font-size: 5.5rem;
  }

  .f70 {
    font-size: 5rem;
  }

  .f62 {
    font-size: 4.5rem;
  }

  .f60 {
    font-size: 4.4rem;
  }

  .f54 {
    font-size: 4.2rem;
  }

  .f50 {
    font-size: 4rem;
  }

  .f42 {
    font-size: 3.6rem;
  }

  .f40 {
    font-size: 3.5rem;
  }

  .f36 {
    font-size: 3rem;
  }

  .f32 {
    font-size: 2.8rem;
  }

  .f30 {
    font-size: 2.7rem;
  }

  .f28 {
    font-size: 2.4rem;
  }

  .f24 {
    font-size: 2.1rem;
  }

  .f21 {
    font-size: 1.9rem;
  }

  .f20 {
    font-size: 1.85rem;
  }

  .f18 {
    font-size: 1.7rem;
  }

  .f17 {
    font-size: 1.6rem;
  }

  .f16 {
    font-size: 1.5rem;
  }

  .f15 {
    font-size: 1.4rem;
  }

  .f14 {
    font-size: 1.3rem;
  }

  .f13 {
    font-size: 1.2rem;
  }

  .f12 {
    font-size: 1.1rem;
  }

  .f10 {
    font-size: 1rem;
  }
}

@media(max-width:834px) {

  .f120 {
    font-size: 6rem;
  }

  .f80 {
    font-size: 4.2rem;
  }

  .f70 {
    font-size: 3.6rem;
  }

  .f62 {
    font-size: 3rem;
  }

  .f60 {
    font-size: 2.9rem;
  }

  .f54 {
    font-size: 2.6rem;
  }

  .f50 {
    font-size: 2.5rem;
  }

  .f42 {
    font-size: 2.4rem;
  }

  .f40 {
    font-size: 2.4rem;
  }

  .f36 {
    font-size: 2.35rem;
  }

  .f32 {
    font-size: 2.3rem;
  }

  .f30 {
    font-size: 2.2rem;
  }

  .f28 {
    font-size: 2rem;
  }

  .f24 {
    /* font-size: 1.8rem; */
    font-size: 2rem;
  }

  .f21 {
    font-size: 1.7rem;
  }

  .f20 {
    font-size: 1.7rem;
  }

  .f18 {
    font-size: 1.6rem;
  }

  .f17 {
    font-size: 1.5rem;
  }


  .f16 {
    font-size: 1.4rem;
  }

  .f15 {
    font-size: 1.3rem;
  }

  .f14 {
    font-size: 1.2rem;
  }

  .f13 {
    font-size: 1.1rem;
  }

  .f12 {
    font-size: 1.05rem;
  }

  .f10 {
    font-size: 1rem;
  }
}

.h {
  font-weight: 900;
}

.eb {
  font-weight: 800;
}

.b {
  font-weight: 700;
}

.sb {
  font-weight: 600;
}

.m {
  font-weight: 500;
}

.r {
  font-weight: 400;
}

.l {
  font-weight: 300;
}

.el {
  font-weight: 200;
}

.t {
  font-weight: 100;
}

.fcw {
  color: #fff;
}

.fcbk {
  color: #000;
}

.fcb {
  color: #4C423C;
}

.fcgl {
  color: #AB8D64;
}

.fcr {
  color: #D2364D;
}

.fcgy {
  color: #919191;
}

.fcgn {
  color: #718768;
}

.tac {
  text-align: center;
}

.tas {
  text-align: start;
}

.tae {
  text-align: end;
}

.pad {
  padding: 140px 0;
}

.padtop {
  padding-top: 140px;
}

.padbtm {
  padding-bottom: 140px;
}

.s-pad {
  padding: 60px 0;
}

.s-padtop {
  padding-top: 60px;
}

.s-padbtm {
  padding-bottom: 60px;
}

@media(max-width:1423px) {
  .pad {
    padding: 8vw 0;
  }

  .padtop {
    padding-top: 8vw;
  }

  .padbtm {
    padding-bottom: 8vw;
  }
}

@media(max-width:834px) {
  .pad {
    padding: 60px 0;
  }

  .padtop {
    padding-top: 60px;
  }

  .padbtm {
    padding-bottom: 60px;
  }

  .s-pad {
    padding: 45px 0;
  }

  .s-padtop {
    padding-top: 45px;
  }

  .s-padbtm {
    padding-bottom: 45px;
  }
}

@media(max-width:500px) {
  .pad {
    padding: 45px 0;
  }

  .padtop {
    padding-top: 45px;
  }

  .padbtm {
    padding-bottom: 45px;
  }
}


.mrg {
  margin: 140px 0;
}

.mrgtop {
  margin-top: 140px;
}

.mrgbtm {
  margin-bottom: 140px;
}

.mrgt100 {
  margin-top: 100px;
}

.mrgt90 {
  margin-top: 90px;
}

.mrgt80 {
  margin-top: 80px;
}

.mrgt70 {
  margin-top: 70px;
}

.mrgt60 {
  margin-top: 60px;
}

.mrgt50 {
  margin-top: 50px;
}

.mrgt40 {
  margin-top: 40px;
}

.mrgt40_10 {
  margin-top: 40px;
}

.mrgt35 {
  margin-top: 35px;
}

.mrgt30 {
  margin-top: 30px;
}

.mrgt25 {
  margin-top: 25px;
}

.mrgt20 {
  margin-top: 20px;
}

.mrgt15 {
  margin-top: 15px;
}

.mrgt10 {
  margin-top: 10px;
}

@media(max-width:1423px) {
  .mrg {
    margin: 8vw 0;
  }

  .mrgtop {
    margin-top: 8vw;
  }

  .mrgbtm {
    margin-bottom: 8vw;
  }
}

@media(max-width:834px) {
  .mrg {
    margin: 60px 0;
  }

  .mrgtop {
    margin-top: 60px;
  }

  .mrgbtm {
    margin-bottom: 60px;
  }

  .mrgt100 {
    margin-top: 50px;
  }
}

@media(max-width:500px) {
  .mrg {
    margin: 45px 0;
  }

  .mrgtop {
    margin-top: 45px;
  }

  .mrgbtm {
    margin-bottom: 45px;
  }

  .mrgt40_10 {
    margin-top: 10px;
  }
}

.sec__ttl-wrap {
  display: flex;
  flex-direction: column;
}

.sec__ttl-wrap.center {
  align-items: center;
}

.sec__ttl-en {
  position: relative;
  font-size: 3rem;
  font-weight: 400;
  font-family: "Cinzel", serif;
  line-height: 1.4;
  color: #AB8D64;
  margin-bottom: 20px;
}

.sec__ttl-en.large {
  font-size: 6rem;
  line-height: 1.2;
}

.sec__ttl-en::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #AB8D64;
}

.sec__ttl-wrap.center .sec__ttl-en::after {
  left: 50%;
  transform: translate(-50%, 0);
}

.sec__ttl-jp {
  font-size: 2.4rem;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
}

.fcw .sec__ttl-jp {
  color: #fff;
}

@media(max-width:1423px) {

  .sec__ttl-en {
    font-size: 2.8rem;
    margin-bottom: 10px;
  }

  .sec__ttl-en.large {
    font-size: 4vw;
  }

  .sec__ttl-jp {
    font-size: 1.6vw;
  }

}

@media(max-width:1024px) {
  .sec__ttl-wrap.center_1024 {
    align-items: center;
  }

  .sec__ttl-wrap.center_1024 .sec__ttl-en::after {
    left: 50%;
    transform: translate(-50%, 0);
  }
}

@media(max-width:834px) {

  .sec__ttl-wrap {
    align-items: center;
  }

  .sec__ttl-wrap.center_sp {
    align-items: center;
  }

  .sec__ttl-wrap.center_sp .sec__ttl-en::after {
    left: 50%;
    transform: translate(-50%, 0);
  }

  .sec__ttl-en {
    font-size: 2.4rem;
    margin-bottom: 12px;
  }

  .sec__ttl-en.large {
    font-size: 4rem;
    line-height: 1.35;
  }

  .sec__ttl-en::after {
    width: 30px;
    height: 2px;
    left: 50%;
    transform: translate(-50%, 0);
  }

  .sec__ttl-jp {
    font-size: 1.2rem;
  }
}

@media(max-width:500px) {

  /* .sec__ttl-en {
    font-size: 2.4rem;
    margin-bottom: 7px;
  } */
}


.inner {
  max-width: 1280px;
  width: 90%;
  margin: 0 auto;
}

.inner12 {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}

.inner-w {
  max-width: 1500px;
  width: 90%;
  margin: 0 auto;
}

.inner-s {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

.u-inner {
  max-width: 1280px;
  width: 90%;
  margin: 0 auto;
}

.u-inner12 {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}

.u-inner-w {
  max-width: 1500px;
  width: 90%;
  margin: 0 auto;
}

.u-inner-s {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

@media(max-width:834px) {
  .u-inner {
    width: 82%;
  }

  .u-inner12 {
    width: 82%;
  }

  .u-inner-w {
    width: 82%;
  }

  .u-inner-s {
    width: 82%;
  }
}

.max1200 {
  display: none;
}

@media(max-width:1200px) {
  .max1200 {
    display: block;
  }
}

.max834 {
  display: none;
}

.sp {
  display: none;
}

.min835 {
  display: block;
}

.pc {
  display: block;
}

.pc_inline {
  display: inline-block;
}

@media(max-width:834px) {

  .max834 {
    display: block;
  }

  .min835 {
    display: none;
  }

  .sp {
    display: block;
  }

  .pc {
    display: none;
  }

  .pc_inline {
    display: none;
  }
}

.max600 {
  display: none;
}

.min601 {
  display: block;
}

@media(max-width:600px) {
  .max600 {
    display: block;
  }

  .min601 {
    display: none;
  }
}

.max550 {
  display: none;
}

@media(max-width:550px) {
  .max550 {
    display: block;
  }
}

.max500 {
  display: none;
}

@media(max-width:500px) {
  .max500 {
    display: block;
  }
}

.max450 {
  display: none;
}

@media(max-width:450px) {
  .max450 {
    display: block;
  }
}

.max400 {
  display: none;
}

@media(max-width:400px) {
  .max400 {
    display: block;
  }
}

.h-sc {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 20px;
}

.h-sc__img {
  transition: all .3s ease-in-out;
}

.h-sc:hover .h-sc__img {
  transform: scale(1.05);
}

.h-op {
  transition: all .3s ease-in-out;
}

.h-op:hover {
  cursor: pointer;
  opacity: .7;
  transition: all .3s ease-in-out;
}


/* ----------　矢印とリンク　↓　----------- */

.btn {
  position: relative;
  width: 300px;
  height: 60px;
  line-height: 60px;
  border-radius: 40px;
  display: flex;
  align-items: center;
  color: #fff;
  background: #718768;
  padding: 0 20px;
  transition: all .4s ease-in-out;
}

.btn:hover {
  opacity: .7;
}

.btn.small {
  width: 200px;
  height: 40px;
  line-height: 40px;
}

.btn.center {
  margin: 0 auto;
}

@media(max-width:1024px) {
  .btn.center_1024 {
    margin: 0 auto;
  }
}

@media(max-width:834px) {
  .btn {
    width: 260px;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
  }

  .btn.small {
    width: 260px;
    height: 40px;
    line-height: 40px;
  }

  .btn.center_sp {
    margin: 0 auto;
  }
}

.btn::after {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translate(0, -50%);
  content: '\e5cc';
  font-size: 2.2rem;
  font-weight: 100;
  font-family: "Material Symbols Outlined";
  color: currentColor;
}

@media(max-width:834px) {}

@media(max-width:500px) {}

.h-ripple {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #424553;
}

.h-ripple__link:hover .h-ripple {
  transform: scale(1.1);
}

.h-ripple::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #424553bb;
}

.h-ripple__link:hover .h-ripple::before {
  animation: ripple .6s linear;
}

@keyframes ripple {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }

  90% {
    transform: translate(-50%, -50%) scale(3);
  }

  100% {
    opacity: 0;
  }
}


.h-line {
  position: relative;
  display: inline-block;
  width: fit-content;
}

.h-line:hover {
  opacity: .7;
  transition: all .4s ease-in-out;
}

.h-line::before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000000aa;
}

.fcw .h-line::before {
  background: #ffffffaa;
}

.h-line:hover::before {
  width: 100%;
  animation: line-dash .6s ease-in-out;
}

@keyframes line-dash {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}



.arrow {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid currentColor;
}

.arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Material Symbols Outlined";
  content: '\e5cc';
  font-size: 3rem;
  font-weight: 100;
}

.arrow-back {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid currentColor;
}

.arrow-back::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Material Symbols Outlined";
  content: '\e5cb';
  font-size: 3rem;
  font-weight: 100;
}

@media(max-width:834px) {

  .arrow {
    width: 30px;
    height: 30px;
  }

  .arrow::after {
    font-size: 2.3rem;
  }

  .arrow-back {
    width: 30px;
    height: 30px;
  }

  .arrow-back::after {
    font-size: 2.5rem;
  }
}

.loadin01 {
  opacity: 0;
}

.loadin01.show {
  opacity: 1;
  transition: all .4s 0s ease-in-out;
}

.loadin02 {
  opacity: 0;
}

.loadin02.show {
  opacity: 1;
  transition: all 1.4s .6s ease-in-out;
}

.loadin03 {
  opacity: 0;
}

.loadin03.show {
  opacity: 1;
  transition: all 1.4s 1.3s ease-in-out;
}

.fadein {
  opacity: 0;
  transform: translate(0, 55px);
}

.fadein.show {
  opacity: 1;
  transition: all 1s ease-in-out;
  transform: translate(0, 0);
}

.fadein_sc {
  opacity: 0;
  transform: scale(0.6);
}

.fadein_sc.show {
  opacity: 1;
  transform: scale(1);
  transition: all .6s ease-in-out;
}

.fadein_sc02 {
  opacity: 0;
  transform: scale(0.6);
}

.fadein_sc02.show {
  opacity: 1;
  transform: scale(1);
  transition: all .6s .4s ease-in-out;
}

.fadein_sc03 {
  opacity: 0;
  transform: scale(0.6);
}

.fadein_sc03.show {
  opacity: 1;
  transform: scale(1);
  transition: all .6s .8s ease-in-out;
}

.fadein_sc04 {
  opacity: 0;
  transform: scale(0.6);
}

.fadein_sc04.show {
  opacity: 1;
  transform: scale(1);
  transition: all .6s 1.2s ease-in-out;
}

.fadein_sc05 {
  opacity: 0;
  transform: scale(0.6);
}

.fadein_sc05.show {
  opacity: 1;
  transform: scale(1);
  transition: all .6s 1.6s ease-in-out;
}

.fadein02 {
  opacity: 0;
  transform: translate(0, 150px);
}

.fadein02.show {
  opacity: 1;
  transform: translate(0, 0px);
  transition: all .3s linear .4s;
}

.fadein03 {
  opacity: 0;
  transform: translate(0, 150px);
}

.fadein03.show {
  opacity: 1;
  transform: translate(0, 0px);
  transition: all .3s linear .7s;
}


.fadeout {
  opacity: 1;
  transform: translate(0, 0px);
  transition: all .8s ease-in-out;
}

.fadeout.hidden {
  opacity: 0;
  transform: translate(0, -30px);
  transition: all .8s ease-in-out;
}

.fadeout02 {
  opacity: 1;
  transform: translate(0, 0px);
  transition: all .8s ease-in-out;
}

.fadeout02.hidden {
  opacity: 0;
  transform: translate(0, -30px);
  transition: all .8s ease-in-out;
}

@media(max-width:450px) {}

.fadeout03 {
  opacity: 1;
  transform: translate(0, 0px);
  transition: all .8s ease-in-out;
}

.fadeout03.hidden {
  opacity: 0;
  transform: translate(0, -30px);
  transition: all .8s ease-in-out;
}

.bg_w {
  background: #fff;
}

.bg_fa {
  background-color: #FAF8F7;
}

.bg_curve {
  position: relative;
  background: #fff;
  margin: 7vw 0;
}

.bg_curve::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, -98%);
  width: 100%;
  aspect-ratio: 1440 / 180;
  background: url(../img/common/bg_curve_top.webp) no-repeat center / 100% auto;
}

.bg_curve::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(0, 98%);
  width: 100%;
  aspect-ratio: 1440 / 180;
  background: url(../img/common/bg_curve_btm.webp) no-repeat center / 100% auto;
}

@media(max-width:1024px) {
  .bg_curve {
    padding-top: 50px;
  }
}

@media(max-width:834px) {
  .bg_curve {
    padding-top: 15px;
    padding-bottom: 25px;
  }
}

/* ＝＝＝＝＝＝＝＝＝ */

header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 118px;
  background: url(../img/common/bg.webp) no-repeat center / cover;
}

.header-l {
  position: fixed;
  z-index: 300;
  top: 20px;
  left: 40px;
  display: flex;
  align-items: center;
}

.header-l.hidden {
  display: none;
}

.header-logo__wrap {
  line-height: 1;
}

.header-logo {
  width: 200px;
}

.header-r {
  position: fixed;
  z-index: 300;
  top: 0px;
  right: 0px;
}

.header-r__inner {
  height: 100%;
  display: flex;
  flex-direction: column-reverse;
  align-items: end;
  gap: 15px;
  padding-right: 35px;
  padding-top: 20px;
}

@media(max-width:1024px) {
  header {
    height: 100px;
  }

  .header-l {
    top: 15px;
    left: 40px;
  }

  .header-logo {
    width: 180px;
  }

  .header-r {
    position: fixed;
    z-index: 200;
    top: 0px;
    right: 0px;
    width: 100%;
    height: 100%;
    border-radius: 0px;
    padding: 50px 4%;
    background: #fcf9f6;
    overflow: auto;
    display: none;
    /* visibility: hidden;
    opacity: 0;
    transition: all .4s ease-in-out; */
  }

  .header-r.active {
    display: flex;
    /* visibility: visible;
    opacity: 1; */
  }

  .header-r__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: fit-content;
    padding: 70px 0 0px;
    margin: 0 auto;
  }
}

@media(max-width:834px) {
  header {
    height: 0px;
  }
}

@media(max-width:500px) {
  .header-l {
    top: 20px;
    left: 20px;
  }

  .header-logo {
    width: 150px;
  }
}

.header-nav__list {
  display: flex;
  gap: 20px;
}

.header-nav__treatment-link__btn {
  display: none;
}

.header-reserve__list {
  display: flex;
  gap: 10px;
}

.header-reserve__item-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 170px;
  height: 48px;
  border-radius: 30px;
  padding: 0 20px;
  background-color: #fff;
}

.header-reserve__item:nth-of-type(1) .header-reserve__item-link {
  color: #718768;
  border: 1px solid #718768;
}

.header-reserve__item:nth-of-type(2) .header-reserve__item-link {
  color: #4C423C;
  border: 1px solid #4C423C;
}

.header-reserve__item:nth-of-type(3) .header-reserve__item-link {
  color: #00B900;
  border: 1px solid #00B900;
}

.header-reserve__item-txt {
  line-height: 1;
  padding-bottom: 2px;
}

.header-reserve__item-txt small{
  text-align: center;
  font-size: 10px!important;
}

.non-link{
  /* 押せないcursor */
  pointer-events: none;
  cursor: default;
  opacity: 0.6;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {
  .header-nav {
    width: 100%;
  }

  .header-nav__list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }

  .header-nav__item {
    width: calc(50% - 7px);
  }

  .header-nav__item:nth-of-type(3) {
    width: 100%;
  }

  .header-nav__item-link {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    gap: 10px;
    height: 50px;
    width: 100%;
    background-color: #fff;
    border: 1px solid #4C423C;
    border-radius: 20px;
  }

  .header-nav__treatment-link {}

  .header-nav__treatment-link.active {
    border-radius: 20px 20px 0 0;
    border-bottom: none;
  }

  .header-nav__treatment-link__ham {
    position: relative;
    width: 16px;
    height: 16px;
    border-radius: 100vmax;
    border: 1px solid #4C423C;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .header-nav__treatment-link__ham::before,
  .header-nav__treatment-link__ham::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    height: 1px;
    background-color: #4C423C;
    transition: all .4s ease;
  }

  .header-nav__treatment-link__ham::before {
    transform: translate(-50%, -50%);
  }

  .header-nav__treatment-link__ham::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  .header-nav__treatment-link.active .header-nav__treatment-link__ham::before {
    transform: translate(-50%, -50%);
  }

  .header-nav__treatment-link.active .header-nav__treatment-link__ham::after {
    transform: translate(-50%, -50%);
  }

  .header-reserve__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-top: 20px;
  }

  .header-reserve__item {
    width: 100%;
  }

  .header-reserve__item-link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 60px;
    border-radius: 30px;
    padding: 0 20px;
    background-color: #fff;
  }

  .header-reserve__item:nth-of-type(1) .header-reserve__item-link {
    color: #fff;
    background-color: #718768;
    border: 1px solid #718768;
  }

  .header-reserve__item:nth-of-type(2) .header-reserve__item-link {
    color: #fff;
    background-color: #4C423C;
    border: 1px solid #4C423C;
  }

  .header-reserve__item:nth-of-type(3) .header-reserve__item-link {
    color: #fff;
    background-color: #06C755;
    border: 1px solid #06C755;
  }
}

.header-btn__wrap {
  display: none;
}

.header-btn {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 100vmax;
  background-color: #fff;
  /* background: transparent;
  border: none; */
}

.header-btn:hover {
  cursor: pointer;
}

.header-btn__ham {
  position: relative;
  width: 30px;
  height: 30px;
  margin: auto;
  overflow: hidden;
}

.header-btn__ham span {
  position: absolute;
  top: 30%;
  left: 0%;
  width: 100%;
  height: 1px;
  background-color: #4C423C;
  transition: all .4s ease;
}

.header-btn__ham span:nth-of-type(1) {
  top: 25%;
}

.header-btn__ham span:nth-of-type(2) {
  top: 50%;
}

.header-btn__ham span:nth-of-type(3) {
  top: 75%;
}

.header-btn.active span:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
}

.header-btn.active span:nth-of-type(2) {
  opacity: 0;
}

.header-btn.active span:nth-of-type(3) {
  top: 50%;
  transform: rotate(-45deg);
}

@media(max-width:1423px) {}

@media(max-width:1024px) {
  .header-btn__wrap {
    display: block;
    position: fixed;
    z-index: 1000;
    top: 20px;
    right: 20px;

    /* visibility: hidden;
    opacity: 0; */
    /* transition: all .6s ease-in-out; */
  }

  /* .header-btn__wrap.active {
    visibility: visible;
    opacity: 1;
  } */

  .header-btn {}
}


.menu_back {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
}

.menu_back.active {
  display: block;
}

.menu-treatment {
  position: fixed;
  z-index: 200;
  top: 118px;
  right: 50%;
  transform: translate(50%, 0);
  width: 90%;
  max-width: 1280px;
  height: calc(100% - 138px);
  max-height: 661px;
  background: #ffffffee;
  border-radius: 0 0 60px 60px;
  padding: 0px 0;
  justify-content: center;
  display: none;
  overflow: scroll;
}

.menu-treatment.active {
  display: flex;
}

.menu-treatment__inner {
  height: fit-content;
  width: 100%;
  padding-bottom: 30px;
}

.menu-treatment__navlist {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px;
  background: #D5CBC3;
}

.menu-treatment__navitem {
  width: 200px;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
}

.menu-treatment__navitem-img {
  width: 40%;
}

.menu-treatment__navitem-ttl {
  width: 60%;
  line-height: 61px;
  text-align: center;
  background-color: #fff;
}

.menu-treatment__navitem.active .menu-treatment__navitem-ttl {
  color: #fff;
  background-color: #718768;
}

.menu-treatment__item {
  display: none;
}

.menu-treatment__item.active {
  display: block;
}

.menu-treatment__item-head {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
}

.menu-treatment__item-img {
  width: 120px;
  height: 120px;
  border-radius: 100vmax;
}

.menu-treatment__item-navchildren {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px 10px;
  background: #D5CBC3;
}

.menu-treatment__item-navchild {
  text-align: center;
  padding: 2px 16px 3px;
  border-radius: 30px;
  background-color: #fff;
}

.menu-treatment__item-navchild.active {
  color: #fff;
  background-color: #97A691;
}

.menu-treatment__item-child {
  display: none;
}

.menu-treatment__item-child.active {
  display: block;
}

.menu-treatment__item-grandchildren {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 30px;
  margin-top: 10px;
}

.menu-treatment__item:first-of-type .menu-treatment__item-grandchildren {
  margin-top: 35px;
}

.menu-treatment__item-grandchild {
  width: 340px;
  max-width: 100%;
  height: 70px;
}

.menu-treatment__item-grandchild__link {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  line-height: 1.3;
  border-radius: 20px;
  border: 1px solid #AB8D64;
  background-color: #fff;
  padding: 0px 20px;
}

.menu-treatment__item-grandchild__link:hover {
  background: #F0E6DE;
}

.menu-treatment__item-grandchild__link::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  content: '\e5cc';
  font-size: 1.6rem;
  font-weight: 200;
  font-family: "Material Symbols Outlined";
  border: 1px solid #AB8D64;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  padding-left: 2px;
  border-radius: 100vmax;
}

.menu-treatment__item-grandchild__link:hover::after {
  background: #fff;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {
  .menu-treatment {
    position: static;
    z-index: 200;
    top: 118px;
    right: 0;
    transform: translate(0, 0);
    width: 100%;
    max-width: 1280px;
    height: fit-content;
    max-height: unset;
    background: #fcf9f6;
    border-radius: 0 0 0px 0px;

    justify-content: center;
    display: none;
    overflow: visible;
    /* overflow: scroll; */
  }

  .menu-treatment__inner {
    padding-bottom: 0px;
  }

  .menu-treatment__item-grandchildren {
    padding: 0px 0 30px;
    margin-bottom: 15px;
    border-bottom: 1px solid #4C423C;
  }
}

@media(max-width:834px) {
  .menu-treatment__item-navchild {
    font-size: 1.6rem;
  }

  .menu-treatment__item-grandchildren {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .menu-treatment__item-grandchild {
    width: 100%;
    height: 70px;
  }

  .menu-treatment__item-grandchild__link {
    padding: 0px 37px 0 13px;
  }
}

@media(max-width:600px) {
  .menu-treatment__navlist {
    gap: 20px;
    padding: 20px;
  }

  .menu-treatment__navitem {
    width: 170px;
  }

  .menu-treatment__navitem-ttl {
    line-height: 51px;
  }

  .menu-treatment__item-img {
    width: 100px;
    height: 100px;
  }

  .menu-treatment__item-grandchild__link::after {
    right: 12px;
  }

}

@media(max-width:450px) {
  .menu-treatment__navlist {
    gap: 15px;
    padding: 15px;
  }

  .menu-treatment__navitem {
    width: 150px;
  }

  .menu-treatment__navitem-ttl {
    line-height: 45px;
  }

}

@media(max-width:390px) {
  .menu-treatment__navlist {
    gap: 10px;
    padding: 10px;
  }
}

/* =================== */

.common-reserve__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 80px 5% 100px;
  gap: 60px;

  box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.15);
  border-radius: 60px;
  background: url(../img/common/reserve_bg.webp) no-repeat center / cover;
}

.common-reserve__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.common-reserve__item {
  width: 340px;
  height: 140px;
}

.common-reserve__item-link {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 10px 20px;
  gap: 10px;

  width: 100%;
  height: 100%;

  background: #718768;
  border-radius: 20px;

}

.common-reserve__item:nth-of-type(2) .common-reserve__item-link {
  background: #AB8D64;
}

.common-reserve__item:nth-of-type(3) .common-reserve__item-link {
  background: #00B900;
}

.common-reserve__item-icon {
  width: 50px;
}

.common-reserve__item-txt {}

@media(max-width:1423px) {
  .common-reserve__inner {
    background: url(../img/common/reserve_bg_sp.webp) no-repeat center / cover;
  }
}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .common-reserve__inner {
    padding: 40px 5% 50px;
    gap: 30px;
  }

  .common-reserve__item {
    width: 340px;
    height: 100px;
    max-width: 100%;
  }

  .common-reserve__item-link {
    padding: 10px 20px;
    gap: 10px;
  }
}

@media(max-width:500px) {}

@media(max-width:359px) {}

.common-access {
  background: #F1EAE6;
}

.common-access__inner {
  display: flex;
  align-items: center;
}

.common-access__cont {
  width: 50%;
  padding-right: 5%;
}

.common-access__r {
  width: 50%;
}

.common-access__img-area {
  width: 100%;
  display: flex;
  gap: 4%;
}

.common-access__img-wrap {
  /* flex: 1; */
  /* 均等割り当て */
}

.common-access__img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.common-access__map {
  width: 100%;
  aspect-ratio: 628 / 300;
  border-radius: 20px;
  margin-top: 30px;
}

.common-access__dl {
  color: #575C5D;
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
  margin-top: 25px;
}

.common-access__dt,
.common-access__dd {
  padding: 15px 10px;
  border-bottom: 1px solid #B2BEBF;
}

.common-access__dt {
  width: 100px;
  display: flex;
  align-items: center;
}

.common-access__dd {
  width: calc(100% - 120px);
}

.common-access__dd:nth-of-type(3) {
  padding-top: 40px;
}

.common-access__dd-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.common-access__dd-item {
  position: relative;
  padding-left: 1.6rem;
}

.common-access__dd-item:before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {

  .common-access__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  .common-access__cont {
    width: 100%;
    padding-right: 0%;
  }

  .common-access__r {
    width: 100%;
  }

  .common-access__dt {
    width: 80px;
  }

  .common-access__dd {
    width: calc(100% - 100px);
  }

  .common-access__dd:nth-of-type(3) {
    padding-top: 15px;
  }
}

@media(max-width:500px) {}

@media(max-width:359px) {}


.footer {
  padding-top: 80px;
  padding-bottom: 50px;
}

.footer-inner {
  display: flex;
  gap: 30px;
}

.footer-logo {
  width: 256px;
}

.footer-r {
  width: 980px;
  max-width: calc(100% - 260px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5%;
}

.footer-nav__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 30px;
}

.footer-nav__item {}

.footer-nav__item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 1px;
  background: #4d4d4d;
}

.footer-nav__item-ttl {
  letter-spacing: 0.08em;
  color: #AB8D64;
  border-top: 1px solid #AB8D64;
  border-bottom: 1px solid #AB8D64;
  padding: 12px 0;
}

.footer-nav__item-children {
  letter-spacing: 0.08em;
  display: flex;
  flex-direction: column;
}

.footer-nav__item-child {
  margin-top: 30px;
}

.footer-nav__item-child:nth-of-type(1) {
  margin-top: 22px;
}

.footer-nav__list:nth-of-type(2) .footer-nav__item-child:nth-of-type(1) {
  margin-top: 0px;
}

.footer-nav__item-child__ttl {
  position: relative;
  padding-left: 2.5rem;
}

.footer-nav__item-child__ttl::before {
  content: '▶︎';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.9em;
  width: 0.9em;
  height: 0.9em;
}

.footer-nav__item-child__ttl.active::before {
  content: '▼';
}

.footer-nav__list:nth-of-type(3) .footer-nav__item-child__ttl {
  display: block;
  margin-top: 17px;
}

.footer-nav__list:nth-of-type(3) .footer-nav__item-child__ttl:first-of-type {
  margin-top: 0px;
}

.footer-nav__item-grandchildren {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 15px;
}

.footer-nav__item-grandchild__link {
  position: relative;
  padding-left: 2rem;
}

.footer-nav__item-grandchild__link::before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
}

.footer-copy {
  text-align: center;
  margin-top: 50px;
}

@media(max-width:1423px) {}

@media(max-width:1200px) {

  .footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
  }

  .footer-logo {
    width: 256px;
  }

  .footer-r {
    width: 980px;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5%;
  }
}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .footer {
    padding-top: 60px;
    padding-bottom: 85px;
  }

  .footer-inner {
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 60px;
    align-items: center;
  }

  .footer-logo {
    width: 206px;
  }

  .footer-r {
    width: 980px;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    margin-right: auto;
    margin-left: auto;
  }

  .footer-nav__list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 20px;
  }
}


/* ========================== */


.top-fv {
  position: relative;
  z-index: 3;
  /* box-shadow: 0px 5px 40px rgba(0, 0, 0, 0.15); */
}

.top-fv__slider-area {
  width: 100%;
}

.top-fv__slider {
  width: 100%;
  padding-bottom: 40px;
}

.top-fv__slider .swiper-slide {
  width: 100%;
}

img.top-fv__slide-img {
  width: 100%;
  object-fit: cover;
  filter: drop-shadow(0px 10px 20px rgba(0, 0, 0, 0.15));
}

.top-fv__cont {
  position: absolute;
  z-index: 3;
  top: 40%;
  left: calc(50vw - 640px);
  transform: translate(0, -50%);
}

.top-fv__open {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.top-fv__open01 {
  font-size: 6.669rem;
}

.top-fv__open01-num {
  font-size: 16.672rem;
}

.top-fv__open02 {
  font-size: 10.2rem;
}

.top-fv__mess {
  margin: 5px 0 30px;
}

.top-fv__dl {
  display: flex;
  justify-content: start;
  width: fit-content;
  border: 1px solid #718768;
}

.top-fv__dt {
  background-color: #718768;
  padding: 5px 15px 6px;
}

.top-fv__dd {
  background-color: #fff;
  padding: 5px 15px 6px;
}

.top-fv__point {
  position: absolute;
  z-index: 3;
  bottom: 0;
  right: 5vw;
  transform: translate(0, 42%);
  display: flex;
  align-items: center;
}

.top-fv__point-txt {
  width: 140px;
  height: 140px;
  border-radius: 100vmax;
  border: 1px solid #AB8D64;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: -22px;
}

@media(max-width:1423px) {
  .top-fv__cont {
    position: absolute;
    left: 5vw;
  }

  .top-fv__open01 {
    font-size: 4.9vw;
  }

  .top-fv__open01-num {
    font-size: 12.4vw;
  }

  .top-fv__open02 {
    font-size: 7.6vw;
  }

  .top-fv__mess {
    margin: 5px 0 30px;
  }
}

@media(max-width:1024px) {
  .top-fv__point {
    right: 5vw;
    transform: translate(0, 12%);
  }

  .top-fv__point-txt {
    width: 120px;
    height: 120px;
    margin-right: -22px;
  }

  .top-fv__point-person {
    width: 110px;
  }
}

@media(max-width:834px) {
  .top-fv__open01 {
    font-size: 6.669vw;
  }

  .top-fv__open01-num {
    font-size: 16.672vw;
  }

  .top-fv__open02 {
    font-size: 10.2vw;
  }

  .top-fv__point {
    right: 5vw;
    transform: translate(0, 0%);
  }
}

@media(max-width:500px) {
  .top-fv__open01 {
    font-size: 12.9vw;
  }

  .top-fv__open01-num {
    font-size: 24.9vw;
  }

  .top-fv__open02 {
    font-size: 17.1vw;
  }

  .top-fv__mess {
    font-size: 1.72rem;
    margin: 5px 0 20px;
  }

  .top-fv__dl {
    font-size: 1.65rem;
  }

  .top-fv__point-txt {
    font-size: 1rem;
    width: 105px;
    height: 105px;
    margin-right: -16px;
  }

  .top-fv__point-person {
    width: 100px;
  }
}

@media(max-width:390px) {
  .top-fv__point-person {
    width: 90px;
  }
}

@media(max-width:370px) {
  .top-fv__mess {
    font-size: 1.65rem;
    margin: 5px 0 20px;
  }
}

.top-campaign {
  position: relative;
  z-index: 2;
  width: 100%;
  /* aspect-ratio: 1440 / 639; */
  aspect-ratio: 1440 / 679;
  background: url(../img/top/campaign_bg.webp) no-repeat center bottom 40px / 100% auto;
  padding-top: 8.2vw;
  padding-bottom: 8vw;
  margin-top: -8vw;
}

.top-campaign__banner-link {
  display: block;
  border-radius: 20px;
  overflow: hidden;
  max-width: 700px;
  width: 50%;
  margin: 20px auto;
}

.top-campaign__btn {
  display: none;
  margin: 0 auto;
}

@media(max-width:1423px) {

  .top-campaign {
    padding-top: 8vw;
    padding-bottom: 8vw;
    margin-top: -8.5vw;
  }

  .top-campaign__banner-link {
    max-width: 700px;
    width: 45%;
    margin: 12px auto;
  }
}

@media(max-width:1024px) {
  .top-campaign {
    padding-top: 8vw;
    padding-bottom: 8vw;
    margin-top: -9.5vw;
  }
}

@media(max-width:834px) {
  .top-campaign {
    display: flex;
    align-items: end;
    padding-top: 15vw;
    padding-bottom: 8vw;
    padding-bottom: 26vw;
    margin-top: -15vw;
    aspect-ratio: 43000 / 53066;
    background: url(../img/top/campaign_bg_sp.webp) no-repeat center bottom 40px / 100% auto;
  }

  .top-campaign__banner-link {
    display: block;
    border-radius: 20px;
    overflow: hidden;
    max-width: 700px;
    width: 90%;
    margin: 25px auto 30px;
  }

  .top-campaign__btn {
    display: block;
    margin: 0 auto;
  }
}

@media(max-width:500px) {
  .top-campaign {
    padding-top: 15vw;
    padding-bottom: 23vw;
    margin-top: -15.8vw;
  }

  .top-campaign__banner-link {
    border-radius: 10px;
    margin: 25px auto 30px;
  }
}

@media(max-width:359px) {}


.top-treatment__inner {
  margin-top: 40px;
}

.top-treatment__navlist {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px;
  background: #D5CBC3;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.top-treatment__navitem {
  width: 200px;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
}

.top-treatment__navitem-img {
  width: 40%;
}

.top-treatment__navitem-ttl {
  width: 60%;
  line-height: 61px;
  text-align: center;
  background-color: #fff;
}

.top-treatment__navitem.active .top-treatment__navitem-ttl {
  color: #fff;
  background-color: #718768;
}

.top-treatment__item {
  display: none;
}

.top-treatment__item.active {
  display: block;
}

.top-treatment__item-head {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
}

.top-treatment__item-img {
  width: 120px;
  height: 120px;
  border-radius: 100vmax;
}

.top-treatment__item-navchildren {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px 10px;
  background: #D5CBC3;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.top-treatment__item-navchild {
  text-align: center;
  padding: 2px 16px 3px;
  border-radius: 30px;
  background-color: #fff;
}

.top-treatment__item-navchild.active {
  color: #fff;
  background-color: #718768;
}

.top-treatment__item-child {
  display: none;
}

.top-treatment__item-child.active {
  display: block;
}

.top-treatment__item-grandchildren {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 30px;
  margin-top: 10px;
}

.top-treatment__item:first-of-type .top-treatment__item-grandchildren {
  margin-top: 35px;
}

.top-treatment__item-grandchild {
  width: 340px;
  height: 70px;
}

.top-treatment__item-grandchild__link {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  line-height: 1.3;
  border-radius: 20px;
  border: 1px solid #AB8D64;
  background-color: #fff;
  padding: 0px 20px;
}

.top-treatment__item-grandchild__link:hover {
  background: #F0E6DE;
}

.top-treatment__item-grandchild__link::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  content: '\e5cc';
  font-size: 1.6rem;
  font-weight: 200;
  font-family: "Material Symbols Outlined";
  border: 1px solid #AB8D64;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  padding-left: 2px;
  border-radius: 100vmax;
}

.top-treatment__item-grandchild__link:hover::after {
  background: #fff;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .top-treatment {
    padding-top: 40px;
  }

  .top-treatment__item-navchild {
    font-size: 1.6rem;
  }

  .top-treatment__item-grandchildren {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 35px;
  }

  .top-treatment__item-grandchild {
    width: 100%;
    height: 70px;
  }

  .top-treatment__item-grandchild__link {
    padding: 0px 37px 0 13px;
  }

  .top-treatment__item-grandchild__link::after {
    right: 12px;
  }
}

@media(max-width:600px) {
  .top-treatment {
    padding-top: 20px;
  }

  .top-treatment__navlist {
    gap: 20px;
    padding: 20px;
  }

  .top-treatment__navitem {
    width: 170px;
  }

  .top-treatment__navitem-ttl {
    line-height: 51px;
  }

  .top-treatment__item-img {
    width: 100px;
    height: 100px;
  }

}

@media(max-width:450px) {
  .top-treatment__navlist {
    gap: 15px;
    padding: 15px;
  }

  .top-treatment__navitem {
    width: 150px;
  }

  .top-treatment__navitem-ttl {
    line-height: 45px;
  }

}

@media(max-width:390px) {
  .top-treatment__navlist {
    gap: 10px;
    padding: 10px;
  }
}

@media(max-width:370px) {
  .top-treatment__navlist {
    gap: 8px;
    padding: 8px;
  }
}

.top-about {}

.top-about__inner {
  display: flex;
  align-items: center;
  gap: 3.5%;
}

.top-about__cont {
  width: 50%;
  padding-left: calc(50vw - 640px);
}

.top-about__img-area {
  width: 50%;
}

.top-about__img {
  width: 100%;
  border-radius: 60px 0 0 60px;
}

.top-about__txt {
  margin: 45px 0 60px;
}

.top-about__slider-area {
  position: relative;
  padding: 30px 60px;
  margin-top: 40px;
}

.top-about__slider-comingsoon {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.3);
}

.top-about__slider-area .swiper-button-prev {
  position: absolute;
}

.top-about__slider-area .swiper-button-next {
  position: absolute;
}

.top-about__slide-img {
  border-radius: 20px;
}

@media(max-width:1423px) {
  .top-about__cont {
    width: 50%;
    padding-left: 5vw;
  }
}

@media(max-width:1024px) {}

@media(max-width:834px) {

  .top-about__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 45px;
  }

  .top-about__cont {
    width: 90%;
    padding-left: 0;
  }

  .top-about__img-area {
    width: 100%;
  }

  .top-about__img {
    width: 100%;
    border-radius: 0;
  }

  .top-about__txt {
    margin: 35px 0 40px;
  }

  .top-about__slider-area {
    width: 100%;
    padding: 10px 60px;
    margin-top: 20px;
  }

  .top-about__slider-area .swiper-button-prev {
    left: 15px;
  }

  .top-about__slider-area .swiper-button-next {
    right: 15px;
  }
}

@media(max-width:500px) {}

@media(max-width:359px) {}

.top-features {}

.top-features__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-top: 50px;
}

.top-features__item {
  display: flex;
  align-items: center;
  gap: 5%;
}

.top-features__item:nth-of-type(even) {
  flex-direction: row-reverse;
}

.top-features__item-img {
  width: 38%;
  border-radius: 20px;
}

.top-features__item-cont {
  width: 62%;
  /* padding-left: 5%; */
}

.top-features__item-ttl {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 100%;
  border-bottom: 1px solid #AB8D64;
  margin-bottom: 30px;
}

.top-features__item-ttl01 {
  position: relative;
  padding-left: 37px;
  display: flex;
  flex-direction: column;
  font-size: 2.3rem;
  line-height: 1.1;
  font-weight: 400;
}

.top-features__item-ttl01::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 29px;
  height: 33px;
  background: url(../img/common/point.svg) no-repeat center / contain;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {

  .top-features__item {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 25px;
  }

  .top-features__item:nth-of-type(even) {
    flex-direction: column;
  }

  .top-features__item-img {
    width: 100%;
  }

  .top-features__item-cont {
    width: 100%;
  }

  /* .top-features__item-ttl01::before {
    width: 25px;
    height: 29px;
} */
}

@media(max-width:500px) {
  .top-features__list {
    gap: 45px;
    margin-top: 25px;
  }

  .top-features__item-ttl {
    padding-bottom: 3px;
    margin-bottom: 18px;
  }

  .top-features__item-ttl02 {
    font-size: 1.8rem;
  }

}

@media(max-width:359px) {}

.top-doctor {
  background: #fff;
}

.top-doctor__inner {
  position: relative;
  display: flex;
  gap: 3%;
}

.top-doctor__img-area {
  width: 50%;
}

.top-doctor__cont {
  width: 50%;
}

.top-doctor__name {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 50px;
}

.top-doctor__txt {
  border-top: 1px solid currentColor;
  padding-top: 25px;
  margin: 8px 0 50px;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {
  .top-doctor__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0px;
    padding-top: 100px;
  }

  .top-doctor__img-area {
    width: 40%;
  }

  .top-doctor__cont {
    width: 100%;
  }

  .top-doctor__ttl {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translate(-50%, 0);
  }

  .top-doctor__name {
    gap: 15px;
    margin-top: 30px;
  }

  .top-doctor__txt {
    padding-top: 25px;
    margin: 15px 0 30px;
  }
}

@media(max-width:834px) {}

@media(max-width:500px) {
  .top-doctor__inner {
    padding-top: 80px;
  }

  .top-doctor__name {
    font-size: 1.2rem;
    margin-top: 20px;
  }

  .top-doctor__name01 {
    font-size: 1.8rem;
  }

  .top-doctor__txt {
    padding-top: 25px;
    margin: 12px 0 30px;
  }
}

@media(max-width:359px) {}

.top-price {
  margin-bottom: 40px;
}

.top-price__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4%;
  border: 1px solid #AB8D64;
  border-radius: 60px;
  padding: 50px 4.5%;
}

.top-price__img {
  border-radius: 20px;
}

.top-price__cont {
  width: 50%;
}

.top-price__txt {
  margin: 15px 0 30px;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .top-price__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    border: 1px solid #AB8D64;
    border-radius: 60px;
    padding: 130px 4.5% 50px;
  }

  .top-price__img {
    border-radius: 20px;
  }

  .top-price__cont {
    width: 100%;
  }

  .top-price__ttl {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translate(-50%, 0);
  }

}

@media(max-width:500px) {}

@media(max-width:359px) {}

.top-case__list-area {
  position: relative;
}

.top-case__list-area .swiper-button-prev {
  position: absolute;
  display: none;
}

.top-case__list-area .swiper-button-next {
  position: absolute;
  display: none;
}

.top-case__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 50px auto;
}

.top-case__item-link {
  display: block;
  border-radius: 20px;
  filter: drop-shadow(0px 7px 12px rgba(0, 0, 0, 0.15));
}

.top-case__item-ttl {
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  background: #736D68;
  border-radius: 20px 20px 0 0;
}

.top-case__item-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  padding: 15px 15px 25px;
  border-radius: 0 0 20px 20px;
}

.top-case__item-img__area {
  position: relative;
  display: flex;
  gap: 25px;
}

.top-case__item-img__area::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  content: '\e5cc';
  font-size: 2.8rem;
  font-weight: 100;
  font-family: "Material Symbols Outlined";
  color: #736D68;
}

.top-case__item-img {
  border-radius: 10px;
}

.top-case__item-name {
  margin: 10px auto;
}

.top-case__item-dl__area {
  display: flex;
  justify-content: center;
  gap: 20px;
  color: #736D68;
}

.top-case__item-dl {
  display: flex;
  align-items: center;
  gap: 7px;
}

.top-case__item-dt {
  line-height: 1;
  border: 1px solid currentColor;
  padding: 1px 2px 2px;
}

.top-case__item-data {
  margin: 10px auto;
}

.top-case__item-txt {
  line-height: 1.6;
}

.top-case__btn {
  margin: 30px auto 0;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .top-case__list-area {
    width: 95%;
    padding: 0 35px;
  }

  .top-case__list-area .swiper-button-prev {
    display: block;
  }

  .top-case__list-area .swiper-button-next {
    display: block;
  }

  .top-case__list.swiper {
    display: flex;
    /* Swiperがflexベースで動く */
    gap: 0;
  }

  .top-case__list.swiper .top-case__item {
    /* width: 100%; */
    width: auto;
    padding: 18px;
  }

  .top-case__btn {
    margin: 10px auto 0;
  }
}

@media(max-width:500px) {}

@media(max-width:359px) {}

.top-information {
  background: linear-gradient(transparent 0%, transparent 20%, #fff 66%, #fff 100%), url(../img/top/information_bg.webp) no-repeat center top / 100% auto;
  filter: drop-shadow(0px 7px 30px rgba(0, 0, 0, 0.15));
}

.top-information__testers-link {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 20px;
  overflow: hidden;
  width: 800px;
  max-width: 100%;
  aspect-ratio: 800 / 200;
  background: url(../img/top/testers.webp) no-repeat center / cover;
  padding-left: 5%;
  margin: 30px auto 40px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
}

.top-information__testers-mess {
  display: flex;
  flex-direction: column;
}

.top-information__testers-mess__jp {
  position: relative;
  padding-right: 60px;
}

.top-information__testers-mess__jp::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  content: '\e5cc';
  font-size: 2.6rem;
  font-weight: 100;
  font-family: "Material Symbols Outlined";
  color: #fff;
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 100vmax;
  background: #718768;
}

.top-information__mess {
  margin-bottom: 15px;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .top-information {
    background: linear-gradient(transparent 0%, transparent 10%, #fff 66%, #fff 100%), url(../img/top/information_bg_sp.webp) no-repeat center top / 100% auto;
    filter: drop-shadow(0px 7px 30px rgba(0, 0, 0, 0.15));
  }

  .top-information__mess {
    font-size: 1.8rem;
  }

  .top-information__testers-mess__en {
    font-size: 1rem;
  }

  .top-information__testers-mess__jp {
    font-size: 2rem;
    padding-right: 30px;
  }

  .top-information__testers-mess__jp::after {
    font-size: 1.7rem;
    width: 20px;
    height: 20px;
    line-height: 20px;
    padding-left: 1px;
  }
}

@media(max-width:500px) {
  .top-information__testers-link {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.15);
  }
}

@media(max-width:359px) {}

.top-news {
  position: relative;
}

.top-news__inner {
  display: flex;
  justify-content: space-between;
  gap: 8%;
}

.top-news__l {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.top-news__l .sec__ttl-jp{
  margin-bottom: 20px;
}

.top-news__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.top-news__item-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 15px;
  padding-right: 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid #AB8D64;
}

.top-news__item-link::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  content: '\e5cc';
  font-size: 2.2rem;
  font-weight: 100;
  font-family: "Material Symbols Outlined";
  color: currentColor;
}

.top-news__item-img {
  width: 120px;
}

.top-news__item-txt {
  margin-top: 7px;
}

.top-news__item-date {}

@media(max-width:1423px) {}

@media(max-width:1024px) {
  .top-news {
    padding-bottom: 100px;
  }

  .top-news__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
  }

  .top-news__l {
    width: 100%;
  }

  .top-news__list-area {
    width: 100%;
  }

  .top-news__btn {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

@media(max-width:834px) {
  .top-news__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
}

@media(max-width:500px) {}

@media(max-width:359px) {}

.top-column {
  position: relative;
}

.top-column__inner {
  display: flex;
  justify-content: space-between;
  gap: 8%;
}

.top-column__l {
  width: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.top-column__list-area {
  position: relative;
  width: calc(92% - 200px);
}

.top-column__list-area .swiper-button-prev {
  position: absolute;
  display: none;
}

.top-column__list-area .swiper-button-next {
  position: absolute;
  display: none;
}

.top-column__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

@media screen and (max-width: 1200px) {
.news-sec .top-column__list {
  grid-template-columns: repeat(2, 1fr);
}
}

@media screen and (max-width: 500px) {
.news-sec .top-column__list {
  grid-template-columns: 1fr;
}
}

.txt-404{
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  margin-bottom: 40px;
}

.btn-404{
  margin-left: auto;
  margin-right: auto;
}

.top-column__item-img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover!important;
  object-position: center;
}

.campaign-item-img{
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover!important;
  object-position: center;
}

.top-column__item-txt {
  margin: 15px 0 10px;
}

.top-column__item-head {
  display: flex;
  justify-content: space-between;
}

.top-column__item-date {}

.top-column__item-cate {
  text-align: center;
  padding: 0 14px;
  width: 110px;
  height: 22px;
  line-height: 22px;
  color: #fff;
  background: #736D68;
  border-radius: 100px;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {
  .top-column {
    padding-bottom: 100px;
  }

  .top-column__inner {
    width: 95%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
  }

  .top-column__l {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .top-column__list-area {
    width: 100%;
    padding: 0 50px;
  }

  .top-column__btn {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

@media(max-width:834px) {
  .top-column__inner {
    gap: 30px;
  }

  .top-column__list-area .swiper-button-prev {
    display: block;
  }

  .top-column__list-area .swiper-button-next {
    display: block;
  }

  .top-column__list.swiper {
    display: flex;
    /* Swiperがflexベースで動く */
    gap: 0;
  }

  .top-column__list.swiper .top-column__item {
    width: 100%;
  }

}

@media(max-width:500px) {}

@media(max-width:359px) {}


/* =================== 下層 =================== */


@media(max-width:1423px) {}

@media(max-width:834px) {}

.under-fv {
  position: relative;
  width: 100%;
  aspect-ratio: 144000 / 39784;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}

.under-fv picture {
  width: 100%;
}

.under-fv__img {
  width: 100%;
  filter: drop-shadow(0px 10px 20px rgba(0, 0, 0, 0.15));
}

.under-fv__cont {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}

.under-fv__ttl {
  line-height: 1.3;
}

.breadcrumb {
  display: flex;
  align-items: center;
  margin-top: 30px;
}

.breadcrumb__item:not(:first-of-type) {
  position: relative;
  padding-left: 2em;
}

.breadcrumb__item:not(:first-of-type)::before {
  content: '/';
  position: absolute;
  top: 0;
  left: .75em;
  width: 1em;
  height: 1em;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .under-fv {
    width: 100%;
    aspect-ratio: 43000 / 23816;
  }

  /* img.under-fv__img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center top;
    filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.15));
  } */

  .under-fv__ttl {
    text-align: center;
  }

  .breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
  }
}

@media(max-width:500px) {}

@media(max-width:370px) {}

.under-nav {
  padding: 60px 0 0px;
}

.under-nav__inner {
  border-bottom: 1px solid #4C423C;
  padding-bottom: 35px;
  margin-bottom: 100px;
}

.under-nav__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.4em 30px;
}

.under-nav__item-link {
  position: relative;
  padding-right: 1.8em;
}

.under-nav__item-link::after {
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translate(0, -48%);
  content: '\e313';
  font-size: 1.7rem;
  font-weight: 200;
  font-family: "Material Symbols Outlined";
  border: 1px solid #AB8D64;
  color: #AB8D64;
  background-color: #fff;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  padding-left: 1px;
  border-radius: 100vmax;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .under-nav {
    padding: 50px 0 0px;
  }

  .under-nav__inner {
    margin-bottom: 45px;
  }

  .under-nav__item-link {
    padding-right: 1.6em;
  }

  .under-nav__item-link::after {
    font-size: 1.4rem;
    font-weight: 200;
    width: 16px;
    height: 16px;
    line-height: 16px;
    padding-left: 0px;
    padding-right: 1px;
  }

}

@media(max-width:500px) {}

@media(max-width:370px) {}


.chap {
  scroll-margin-top: 150px;
}

.under-sec__ttl {
  display: inline-block;
  position: relative;
  font-size: 3rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 60px;
}

@media(max-width:1423px) {
  .under-sec__ttl {
    font-size: 2.7rem;
  }
}

@media(max-width:834px) {
  .under-sec__ttl {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
}

.under-sec__ttl.center {
  display: block;
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.under-sec__ttl::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 1em;
  height: 2px;
  background-color: #AB8D64;
}

.under-sec__ttl.center::after {
  left: 50%;
  transform: translate(-50%, 0);
}

@media(max-width:834px) {
  .under-sec__ttl.center_sp {
    display: block;
    width: fit-content;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .under-sec__ttl.center_sp::after {
    left: 50%;
    transform: translate(-50%, 0);
  }
}

.under-sec__subttl {
  font-size: 2.2rem;
  font-weight: 500;
  color: #AB8D64;
  margin-bottom: 20px;
}

@media(max-width:1423px) {
  .under-sec__subttl {
    font-size: 2rem;
  }
}

@media(max-width:834px) {
  .under-sec__subttl {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }

  .under-plan .under-sec__subttl {
    text-align: center;
  }

}

.under-sec__bgttl {
  font-weight: 500;
  color: #fff;
  background: #718768;
  width: 100%;
  width: fit-content;
  padding: 3px 8px 4px 11px;
  margin-bottom: 15px;
}

@media(max-width:1423px) {}

.under-list2c {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 4%;
}

.under-list2c li {
  width: 48%;
  position: relative;
  display: inline-block;
  padding-left: 1.4em;
  line-height: 2.3;
}

.under-list2c li::before {
  content: '';
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 100vmax;
  background-color: #AB8D64;
}

@media(max-width:834px) {
  .under-list2c li {
    width: 100%;
  }
}


.under-list {
  display: flex;
  flex-direction: column;
  /* gap: 2px; */
}

.under-list:has(h3) {
  gap: 25px;
}

.under-list>li {
  position: relative;
  display: inline-block;
  padding-left: 1.4em;
  line-height: 2.3;
}


.under-list>li::before {
  content: '';
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 100vmax;
  background-color: #AB8D64;
}

.under-list:has(h3)>li::before {
  top: 1.1em;
}

@media(max-width:834px) {
  .under-list:has(h3)>li::before {
    top: 0.8em;
  }
}

.under-numlist {
  display: flex;
  flex-direction: column;
  /* gap: 2px; */
}

.under-numlist>li {
  position: relative;
  display: inline-block;
  padding-left: 1.6em;
  line-height: 2.3;
}

.under-numlist>li::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  font-weight: 500;
  color: #AB8D64;
}

.under-numlist>li:nth-of-type(1):before {
  content: '1.';
}

.under-numlist>li:nth-of-type(2):before {
  content: '2.';
}

.under-numlist>li:nth-of-type(3):before {
  content: '3.';
}

.under-numlist>li:nth-of-type(4):before {
  content: '4.';
}

.under-numlist>li:nth-of-type(5):before {
  content: '5.';
}

.under-numlist>li:nth-of-type(6):before {
  content: '6.';
}

.under-numlist>li:nth-of-type(7):before {
  content: '7.';
}

.under-numlist>li:nth-of-type(8):before {
  content: '8.';
}

.under-numlist>li:nth-of-type(9):before {
  content: '9.';
}

.under-numlist>li:nth-of-type(10):before {
  content: '10.';
}

.under-plan__head {
  padding: 20px 5%;
}

.brs-right,
.brs-left {
  position: relative;
  padding-bottom: 50px;
}

.brs-right::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 170px;
  left: 0;
  width: calc(50vw + 640px);
  height: calc(100% - 150px);
  background: #fff;
  border-radius: 0 60px 60px 0;
  filter: drop-shadow(0px 10px 20px rgba(0, 0, 0, 0.15));
}

.brs-left::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 170px;
  right: 0;
  width: calc(50vw + 640px);
  height: calc(100% - 150px);
  background: #fff;
  border-radius: 60px 0 0 60px;
  filter: drop-shadow(0px 10px 20px rgba(0, 0, 0, 0.15));
}

.brs-right__cont:not(:nth-of-type(1)),
.brs-left__cont:not(:nth-of-type(1)) {
  margin-top: 100px;
}

.brs-right__cont.img-no,
.brs-left__cont.img-no {
  margin-top: 65px;
}

.brs-right .under-sec__ttl,
.brs-left .under-sec__ttl {
  padding-top: 75px;
  margin-bottom: 100px;
}

.float-right {
  width: 50%;
  float: right;
  margin: 0 0 20px 5%;
}

.float-left {
  width: 50%;
  float: left;
  margin: 0 5% 20px 0;
}

.ttl-long .float-right {
  width: 42%;
  float: right;
  margin: 0 0 20px 5%;
}

.float-right-w20 {
  width: 25%;
}

@media(max-width:1423px) {
  .brs-right::before {
    z-index: -1;
    top: 170px;
    left: 0;
    width: calc(50vw + 47.5%);
    height: calc(100% - 150px);
  }

  .brs-left::before {
    z-index: -1;
    top: 170px;
    width: calc(50vw + 47.5%);
    height: calc(100% - 150px);
  }
}

@media(max-width:1024px) {}

@media(max-width:834px) {

  .brs-right .under-sec__ttl,
  .brs-left .under-sec__ttl {
    padding-top: 0px;
    margin-bottom: 30px;
  }

  .float-right {
    width: 85%;
    float: none;
    margin: 0px 5% 20px;
  }

  .ttl-long .float-right {
    width: 85%;
    float: none;
    margin: 0px 5% 20px;
  }

  .float-right-w20 {
    width: 30%;
    margin: 0 auto 30px;
  }

  .float-left {
    width: 85%;
    float: none;
    margin: 0 5% 20px;
  }

  .brs-right::before {
    z-index: -1;
    top: 100px;
    left: 0;
    width: calc(50vw + 47.5%);
    height: calc(100% - 110px);
  }

  .brs-left::before {
    z-index: -1;
    top: 100px;
    width: calc(50vw + 47.5%);
    height: calc(100% - 110px);
  }

  .brs-right__inner,
  .brs-left__inner {
    width: 85%;
  }

  .brs-right__cont:not(:nth-of-type(1)),
  .brs-left__cont:not(:nth-of-type(1)) {
    margin-top: 30px;
  }

  .brs-right__cont.img-no,
  .brs-left__cont.img-no {
    margin-top: 30px;
  }
}

@media(max-width:500px) {}


.cont-flex {
  display: flex;
  align-items: center;
  gap: 30px 5%;
}

.cont-flex.reverse {
  flex-direction: row-reverse;
}

.cont-flex__main {
  width: 50%;
}

.cont-flex__main60 {
  width: 60%;
}

.cont-flex__img {
  width: 50%;
}

.cont-flex__img40 {
  width: 40%;
}

.w100 {
  width: 100%;
}

.cont-flex .cont-flex__img40 + div{
  width: 55%;
}

.cont-flex .cont-flex__img50 + div{
  width: 45%;
}

.w575 {
  width: 57.5%;
}

.pt35{
  padding-top: 35px!important;
}

.price__table{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #bababa;
}

.price__table th,
.price__table td{
  border-bottom: 1px solid #bababa;
  border-right: 1px solid #bababa;
  padding: 10px;
}

.price__table tr *:last-child{
  border-right: none;
}

.price__table tbody tr:last-child *{
  border-bottom: none;
}

.price__table thead th{
  text-align: center;
  background-color: #e4e4e4;
}

.price__table tbody th{
  text-align: center;
  background-color: #f2f2f2;
}

.price__table td{
  text-align: right;
  background-color: #fff;
}

.info__main-bl table{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #bababa;
}

.info__main-bl table th,
.info__main-bl table td{
  border-bottom: 1px solid #bababa;
  border-right: 1px solid #bababa;
  border-left: none;
  border-top: none;
  padding: 10px;
}

.info__main-bl table tr *:last-child{
  border-right: none;
}

.info__main-bl table tbody tr:last-child *{
  border-bottom: none;
}

.info__main-bl table tbody td:first-of-type{
  text-align: center;
  background-color: #e4e4e4;
}

.info__main-bl table td{
  text-align: right;
  background-color: #fff;
}

.top-modal{
  position: fixed;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100vh;
}

.top-modal-txt{
  position: fixed;
  top: 50%;
  left: 50%;
  width: 600px;
  max-width: 90%;
  transform: translate(-50%, -50%);
  z-index: 1001;
}

.top-modal-close-btn{
  width: 100%;
  aspect-ratio: 657/56;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1001;
  background-image: url(../img/top/bnr-close-btn.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* background: url(../img/top/close_btn.png) no-repeat center / contain; */
}

.mv-ttl{
  width: 50vw;
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.top-fv__point-name .add{
  font-size: 12px;
  border: 1px solid #4C423C;
  padding: 0 4px 2px;
}

.top-fv__point-name .name{
  font-size: 14px;
}

.top-fv__point-name {
  position: absolute;
  white-space: nowrap;
  right: 10px;
  bottom: -32px;
  color: #4C423C;
  display: flex;
  align-items: center;
  gap: 5px;
}

.feature-line {
  width: 3em;
  height: 1px;
  background-color: #4C423C;
  display: inline-block;
  transform: translateY(-0.3em);
  margin: 0 0.3em;
}

@media(max-width:834px) {
  .cont-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px 5%;
  }

  .cont-flex.reverse {
    flex-direction: column;
  }

  .cont-flex__main {
    width: 100%;
  }

  .cont-flex__main60 {
    width: 100%;
  }

  .cont-flex__img {
    width: 90%;
  }

  .cont-flex__img40 {
    width: 90%;
  }

  .w575 {
    width: 100%;
  }

  .cont-flex .cont-flex__img40 + div{
  width: 100%;
}

.cont-flex .cont-flex__img50 + div{
  width:100%;
}

.pt0{
  padding-top: 0px!important;
}

.mv-ttl {
  width: 80vw;
}

.top-modal-close-btn{
  aspect-ratio: 390/56;
  background-image: url(../img/top/bnr-close-btn-sp.png);
}
}

.under-img {
  max-width: 600px;
  width: 90%;
  margin: 0 auto;
}

.under-sec__img-area {
  position: relative;
  display: flex;
}

.under-sec__img {
  border-radius: 60px;
}

.under-sec__img-ttl {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 7.8%;
  transform: translate(0, -50%);
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .under-sec__img-area {
    width: 100%;
    aspect-ratio: 430 / 162;
    border-radius: 60px 60px 0 0;
    overflow: hidden;
  }

  img.under-sec__img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: left bottom;
    border-radius: 0 0;
  }

  .under-sec__img-ttl {
    top: 50%;
    left: 5%;
    transform: translate(0, -50%);
  }
}

@media(max-width:500px) {}

@media(max-width:370px) {}

.under-product__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px 4%;
}

.under-product__item {
  width: calc((100% - 4%) / 2);
}

.under-product__item-head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 25px;
}

@media(max-width:1423px) {}

@media(max-width:1024px) {
  .under-product__item {
    width: 100%;
  }

  .under-product__item-head {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 30px;
    margin-bottom: 0px;
  }

  .under-product__item-head .under-sec__subttl {
    width: 100%;
  }

  .under-product__item-img {
    max-width: 600px;
    width: 90%;
  }
}

@media(max-width:834px) {
  .under-product__item-head {
    gap: 20px;
    margin-bottom: 0px;
  }
}

@media(max-width:500px) {}

@media(max-width:370px) {}

.under-plan {}

@media(max-width:834px) {}

@media(max-width:500px) {}

@media(max-width:370px) {}

.under-dl {
  /* display: flex;
  flex-wrap: wrap;
  align-items: center; */
  display: grid;
  grid-template-columns: 150px 100%;
}

.under-dt,
.under-dd {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #AB8D64;
  height: 100%;
  padding-top: 18px;
  padding-bottom: 3px;
}

.under-dt:first-of-type,
.under-dd:first-of-type {
  padding-top: 0;
}

.under-dt {
  width: 150px;
  font-weight: 500;
  color: #AB8D64;
}

.under-dd {
  width: calc(100% - 150px);
}

@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .under-dl {
    display: grid;
    grid-template-columns: 120px 100%;
  }

  .under-dt {
    width: 120px;
  }

  .under-dd {
    width: calc(100% - 120px);
  }
}

@media(max-width:500px) {
  .under-dl {
    display: grid;
    grid-template-columns: 110px 100%;
  }

  .under-dt {
    width: 110px;
  }

  .under-dd {
    width: calc(100% - 110px);
  }
}

@media(max-width:370px) {}



.table01 {
  letter-spacing: 0.2em;
  width: 100%;
  border-collapse: collapse;
  caption-side: bottom;
}

.table01 thead {
  color: #fff;
}

.table01 th,
.table01 td {
  position: relative;
  text-align: center;
  border: #A1A1A1 1px solid;
  padding: 12px 10px;
}

.table01 td {
  width: 196px;
  background-color: #fff;
  padding: 12px 3px 12px 10px;
}

.table01.table01-tdw td {
  width: 40%;
}

.table01 thead th {
  font-weight: 500;
  color: #fff;
  border-right: #fff 1px solid;
}

.table01 thead th:nth-of-type(odd) {
  background-color: #AB8D64;
}

.table01 thead th:nth-of-type(even) {
  background-color: #A1A1A1;
}

.table01 thead th:nth-of-type(1) {
  color: #000;
  background-color: #fff;
  border-right: #A1A1A1 1px solid;
}

.table01 thead th:last-of-type {
  border-right: #A1A1A1 1px solid;
}

.table01 tbody th {
  font-weight: 400;
  background-color: #FAF8F7;
}

.table01 tbody td:nth-of-type(even) {
  color: #AB8D64;
  font-weight: 500;
}


@media(max-width:1423px) {}

@media(max-width:1024px) {}

@media(max-width:834px) {
  .table01 {
    margin: 35px 0;
  }

  .table01 th,
  .table01 td {
    font-size: 1.3rem;
    padding: 10px 5px;
  }
}



.table01_sp {
  letter-spacing: 0.2em;
  width: 100%;
  border-collapse: collapse;
  caption-side: bottom;
}

.table01_sp thead {
  font-size: 1.6rem;
  /* color: #fff; */
}

.table01_sp th,
.table01_sp td {
  position: relative;
  text-align: center;
  border: #A1A1A1 1px solid;
  padding: 12px 10px;
}

.table01_sp td {
  width: 50%;
  background-color: #fff;
  padding: 12px 3px 12px 10px;
}

.table01_sp thead th {
  font-weight: 500;
  background-color: #FAF8F7;
  /* border-right: #fff 1px solid; */
}

.table01_sp tbody th {
  color: #fff;
  font-weight: 500;
}

.table01_sp tbody th:nth-of-type(odd) {
  background-color: #A1A1A1;
  border-right: #fff 1px solid;
}

.table01_sp tbody th:nth-of-type(even) {
  background-color: #AB8D64;
}

.table01_sp tbody td:nth-of-type(even) {
  color: #AB8D64;
  font-weight: 500;
}

@media(max-width:500px) {}

@media(max-width:370px) {}


.table02_sp {
  letter-spacing: 0.2em;
  width: 100%;
  border-collapse: collapse;
  caption-side: bottom;
}

.table02_sp thead {
  font-size: 1.6rem;
  /* color: #fff; */
}

.table02_sp th,
.table02_sp td {
  position: relative;
  text-align: center;
  border: #A1A1A1 1px solid;
  padding: 12px 10px;
}

.table02_sp td {
  width: 50%;
  background-color: #fff;
  padding: 12px 3px 12px 10px;
}

.table02_sp thead th {
  font-weight: 500;
  background-color: #FAF8F7;
  /* border-right: #fff 1px solid; */
}

.table02_sp thead tr:last-of-type th {
  color: #fff;
  font-weight: 500;
}

.table02_sp thead tr:last-of-type th:nth-of-type(odd) {
  background-color: #A1A1A1;
  border-right: #fff 1px solid;
}

.table02_sp thead tr:last-of-type th:nth-of-type(even) {
  background-color: #AB8D64;
}

.table02_sp tbody td:nth-of-type(even) {
  color: #AB8D64;
  font-weight: 500;
}

.fixed-nav{
  display: none;
}

.footer__insta-link{
  display: block;
  margin: 30px 0 0;
  width: 100%;
  transition: all .3s ease-in-out;
}

.footer__insta-link:hover{
  opacity: 0.7;
}

.price-box .under-sec__ttl::after{
  width: 100%;
}


.under-main .under-sec__ttl::after{
  width: 100%;
}


/*  */
@media(max-width:1423px) {}

@media(max-width:1024px) {
  .fixed-nav{
    display: flex!important;
    flex-direction: row!important;
    gap: 0!important;
    z-index: 10;
    position: fixed!important;
    left: 0;
    bottom: -55px;
    transition: all .5s ease-in-out;
  }
  .fixed-nav.active{
    bottom: 0;
  }
  .fixed-nav .header-reserve__item-link {
    border-radius: 15px 15px 0 0!important;
    padding: 0 10px!important;
    font-size: 13px!important;
    gap: 5px;
    height: 50px!important;
  }
}

@media(max-width:834px) {
  .info__main-bl table th, .info__main-bl table td {
    padding: 5px;
    font-size: 12px;
}
.top-fv__point-name {
    right: -3px;
    bottom: -27px;
    gap: 5px;
}
.top-fv__point-name .name {
    font-size: 12px;
}
.top-fv__point-name .add {
    font-size: 10px;
    padding: 0 4px 0px;
}
.top-fv__point {
    bottom: 35px;
}
.slide-bl {
  overflow-x: auto;
  padding-bottom: 10px;
}
.slide-bl .column3{
  width: 400px;
}
.slide-bl .column4{
  width: 500px;
}
.slide-bl .column5{
  width: 700px;
}
}
 @media(max-width:600px) {
    .price__table.column3 th, .price__table.column3 td {
       width: auto;
    }
    .price__table.column3 tr:first-child th:first-child {
      width: 40%;
    }
    .price__table.column3 tr:first-child th:nth-last-child(-n+2) {
      width: 30%!important;
    }
 }

@media(max-width:500px) {}

@media(max-width:370px) {}