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

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

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

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

/* .top-body img,
.under-body img {
  display: block;
  object-fit: contain;
} */

html {
  /* font-size: 10px; */
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: var(--jp);
  font-size: var(--f15);
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: 0.08em;
  color: var(--cbase);
  background: var(--bg);
}

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

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

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

@media(max-width:1423px) {
  main {
    padding-top: 90px;
  }
}

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

@media(max-width:600px) {
  main {
    padding-top: 45px;
  }
}

:root {
  --jp: "Shippori Mincho", serif;
  --jp02: "Zen Kaku Gothic New", sans-serif;
  --en: "Cormorant Garamond", serif;
  --num: "Arial", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}

.jp {
  font-family: var(--jp);
}

.jp02 {
  font-family: var(--jp02);
}

.en {
  font-family: var(--en);
  font-weight: 400;
}

.num {
  font-family: var(--num);
  font-weight: 400;
}

.italic {
  font-style: italic;
}


/* -------------------------
 * フォントサイズのroot
 * ------------------------- */
:root {
  --txt16: 1.6rem;
  --txt18: 1.8rem;
  --f10: 1rem;
  --f10all: 1rem;
  --f11: 1.1rem;
  --f11all: 1.1rem;
  --f12: 1.2rem;
  --f12all: 1.2rem;
  --f13: 1.3rem;
  --f13all: 1.3rem;
  --f14: 1.4rem;
  --f14all: 1.4rem;
  --f15: 1.5rem;
  --f15all: 1.5rem;
  --f16: 1.6rem;
  --f17: 1.7rem;
  --f18: 1.8rem;
  --f19: 1.9rem;
  --f20: 2rem;
  --f21: 2.1rem;
  --f22: 2.4rem;
  --f24: 2.4rem;
  --f26: 2.6rem;
  --f28: 2.8rem;
  --f30: 3rem;
  --f32: 3.2rem;
  --f34: 3.4rem;
  --f36: 3.6rem;
  --f38: 3.8rem;
  --f40: 4rem;
  --f42: 4.2rem;
  --f44: 4.4rem;
  --f46: 4.6rem;
  --f48: 4.8rem;
  --f50: 5rem;
  --f52: 5.2rem;
  --f54: 5.4rem;
  --f56: 5.6rem;
  --f58: 5.8rem;
  --f60: 6rem;
  --f62: 6.2rem;
  --f64: 6.4rem;
  --f70: 7rem;
  --f80: 8rem;
  --f90: 9rem;
  --f100: 10rem;
  --f120: 12rem;
}

@media(max-width:1423px) {
  :root {
    --txt16: 1.6rem;
    --txt18: 1.7rem;
    --f10: 1rem;
    --f10all: 1rem;
    --f11: 1.1rem;
    --f11all: 1.1rem;
    --f12: 1.2rem;
    --f12all: 1.2rem;
    --f13: 1.3rem;
    --f13all: 1.3rem;
    --f14: 1.4rem;
    --f14all: 1.4rem;
    --f15: 1.5rem;
    --f15all: 1.5rem;
    --f16: 1.6rem;
    --f17: 1.7rem;
    --f18: 1.8rem;
    --f19: 1.9rem;
    --f20: 1.85rem;
    --f21: 1.9rem;
    --f22: 2rem;
    --f24: 2.1rem;
    --f26: 2.25rem;
    --f28: 2.4rem;
    --f30: 2.6rem;
    --f32: 2.8rem;
    --f34: 2.8rem;
    --f36: 3rem;
    --f38: 3rem;
    --f40: 3.15rem;
    --f42: 3.2rem;
    --f44: 3.3rem;
    --f46: 3.4rem;
    --f48: 3.9rem;
    --f50: 4rem;
    --f52: 4.1rem;
    --f54: 4.2rem;
    --f56: 4.3rem;
    --f58: 4.4rem;
    --f60: 4.5rem;
    --f62: 4.5rem;
    --f64: 4.6rem;
    --f70: 5rem;
    --f80: 5.5rem;
    --f90: 6rem;
    --f100: 6.75rem;
    --f120: 8rem;
  }
}

@media(max-width:834px) {
  :root {
    --txt16: 1.4rem;
    --txt18: 1.6rem;
    --f10: 0.9rem;
    --f10all: 1rem;
    --f11: 1rem;
    --f11all: 1.1rem;
    --f12: 1.1rem;
    --f12all: 1.2rem;
    --f13: 1.2rem;
    --f13all: 1.3rem;
    --f14: 1.3rem;
    --f14all: 1.4rem;
    --f15: 1.4rem;
    --f15all: 1.5rem;
    --f16: 1.5rem;
    --f17: 1.6rem;
    --f18: 1.6rem;
    --f19: 1.6rem;
    --f20: 1.675rem;
    --f21: 1.7rem;
    --f22: 1.75rem;
    --f24: 1.8rem;
    --f26: 1.825rem;
    --f28: 1.85rem;
    --f30: 1.875rem;
    --f32: 1.9rem;
    --f34: 2.0rem;
    --f36: 2.0rem;
    --f38: 2.1rem;
    --f40: 2.15rem;
    --f42: 2.4rem;
    --f44: 2.4rem;
    --f46: 2.4rem;
    --f48: 2.4rem;
    --f50: 2.4rem;
    --f52: 2.5rem;
    --f54: 2.6rem;
    --f56: 2.7rem;
    --f58: 2.8rem;
    --f60: 3.0rem;
    --f62: 3.1rem;
    --f64: 3.2rem;
    --f70: 3.6rem;
    --f80: 4.2rem;
    --f90: 4.6rem;
    --f100: 5rem;
    --f120: 6rem;
  }
}

.txt16 {
  font-size: var(--txt16);
  font-family: var(--jp02);
  font-weight: 400;
  line-height: 1.75;
}

.under-body .txt16 {
  line-height: 2;
}

.txt18 {
  font-size: var(--txt18);
  font-family: var(--jp02);
  font-weight: 400;
  line-height: 2;
}

.f120 {
  font-size: var(--f120);
}

.f100 {
  font-size: var(--f100);
}

.f90 {
  font-size: var(--f90);
}

.f80 {
  font-size: var(--f80);
}

.f70 {
  font-size: var(--f70);
}

.f64 {
  font-size: var(--f64);
}

.f62 {
  font-size: var(--f62);
}

.f60 {
  font-size: var(--f60);
}

.f56 {
  font-size: var(--f56);
}

.f54 {
  font-size: var(--f54);
}

.f52 {
  font-size: var(--f52);
}

.f50 {
  font-size: var(--f50);
}

.f48 {
  font-size: var(--f48);
}

.f44 {
  font-size: var(--f44);
}

.f42 {
  font-size: var(--f42);
}

.f40 {
  font-size: var(--f40);
}

.f36 {
  font-size: var(--f36);
}

.f32 {
  font-size: var(--f32);
}

.f30 {
  font-size: var(--f30);
}

.f28 {
  font-size: var(--f28);
}

.f26 {
  font-size: var(--f26);
}

.f24 {
  font-size: var(--f24);
}

.f22 {
  font-size: var(--f22);
}

.f21 {
  font-size: var(--f21);
}

.f20 {
  font-size: var(--f20);
}

.f18 {
  font-size: var(--f18);
}

.f18all {
  font-size: 1.8rem;
}

.f17 {
  font-size: var(--f17);
}

.f16 {
  font-size: var(--f16);
}

.f15 {
  font-size: var(--f15);
}

.f15all {
  font-size: var(--f15all);
}

.f14 {
  font-size: var(--f14);
}

.f14all {
  font-size: var(--f14all);
}

.f13 {
  font-size: var(--f13);
}

.f13all {
  font-size: var(--f13all);
}

.f12 {
  font-size: var(--f12);
}

.f12all {
  font-size: var(--f12all);
}

.f10 {
  font-size: var(--f10);
}

.f10all {
  font-size: var(--f10all);
}

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

.lh22 {
  line-height: 2.2;
}

.lh20 {
  line-height: 2;
}

.lh17 {
  line-height: 1.7
}

.lh16 {
  line-height: 1.6
}

.lh15 {
  line-height: 1.5
}

.lh12 {
  line-height: 1.2
}

.lh10 {
  line-height: 1;
}

.ls0 {
  letter-spacing: 0em;
}

.ls1 {
  letter-spacing: 0.1em;
}

.ls02 {
  letter-spacing: 0.02em;
}

:root {
  --cbase: #1F3758;
  --cw: #fff;
  --cgy: #b5b5b5;
  --cbk: #555;
  --cbl: #58A1EC;
  --crd: #E54642;
  --cor: #FF9854;
}

.fcw {
  color: var(--cw);
}

.fcgy {
  color: var(--cgy);
}

.fcbk {
  color: var(--cbk);
}

.fcbl {
  color: var(--cbl);
}

.fcrd {
  color: var(--crd);
}

.fcor {
  color: var(--cor);
}

.underline {
  text-decoration: underline 1px solid currentColor;
}

.underline02 {
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.1rem;
}

.op1 {
  opacity: 1;
}

.op03 {
  opacity: .3;
}

.tac {
  text-align: center;
}

.tas {
  text-align: start;
}

.tae {
  text-align: end;
}

:root {
  --bg: #fff;
  --bgw: #fff;
  --bgbl: #F4F7FA;
  --bg-grad1: linear-gradient(270deg, rgba(94, 199, 182, 0.9) 0%, rgba(48, 158, 221, 0.9) 100%);
  --bg-grad2: linear-gradient(270deg, rgba(237, 142, 187, 0.9) 0%, rgba(65, 150, 235, 0.9) 100%);
  --bg-grad3: linear-gradient(90deg, rgba(255, 166, 178, 0.9) 0%, rgba(255, 141, 65, 0.9) 100%);
  --bg-grad4: linear-gradient(270deg, rgba(203, 214, 98, 0.9) 0%, rgba(75, 186, 55, 0.9) 100%);
}

.bg {
  background: var(--bg);
}

.bgw {
  background: #fff;
}

.bgbl {
  background: #F4F7FA;
}

.bglgn {
  background: #f3faf0;
}

.bg_grad1 {
  background: var(--bg-grad1);
}

.bg_grad2 {
  background: var(--bg-grad2);
}

.bg_grad3 {
  background: var(--bg-grad3);
}

.bg_grad4 {
  background: var(--bg-grad4);
}

.pad {
  padding: 150px 0;
}

.padtop {
  padding-top: 150px;
}

.padbtm {
  padding-bottom: 150px;
}

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

  .padtop {
    padding-top: 9vw;
  }

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

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

  .padtop {
    padding-top: 60px;
  }

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


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

  .padtop {
    padding-top: 50px;
  }

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

.s_pad {
  padding: 100px 0;
}

.s_padtop {
  padding-top: 100px;
}

.s_padbtm {
  padding-bottom: 100px;
}

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

  .s_padtop {
    padding-top: 6vw;
  }

  .s_padbtm {
    padding-bottom: 6vw;
  }
}

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

  .s_padtop {
    padding-top: 50px;
  }

  .s_padbtm {
    padding-bottom: 50px;
  }
}


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

  .s_padtop {
    padding-top: 50px;
  }

  .s_padbtm {
    padding-bottom: 50px;
  }
}

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

.mrgt60_30 {
  margin-top: 60px;
}

.mrgt50 {
  margin-top: 50px;
}

.mrgt40 {
  margin-top: 40px;
}

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

  .mrgt60_30 {
    margin-top: 30px;
  }

  .mrgt40_20 {
    margin-top: 20px;
  }
}

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

  .mrgtop {
    margin-top: 45px;
  }

  .mrgbtm {
    margin-bottom: 45px;
  }

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

.br20 {
  border-radius: 20px;
}

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

.sec__ttl-area.border {
  display: flex;
  align-items: end;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
  padding-bottom: 15px;
}

.sec__ttl-wrap {
  display: flex;
  align-items: center;
  gap: 25px;
}

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

.sec__ttl-wrap.border {
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
}

.top-information .sec__ttl-wrap.border {
  width: fit-content;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0px;
}

.top-gallery .sec__ttl-wrap {
  flex-direction: column;
  align-items: start;
  gap: 5px;
}

.sec__ttl-en {
  position: relative;
  font-size: var(--f32);
  font-family: var(--en);
  color: var(--cbase);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

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

.top-information .sec__ttl-en {
  font-size: var(--f24);
}

.sec__ttl-jp {
  font-size: var(--f18);
  font-weight: 400;
  letter-spacing: 0.1em;
}

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

.top-information .sec__ttl-jp {
  font-size: var(--f16);
}

@media(max-width:1423px) {

  .sec__ttl-en {
    /* font-size: 2.8rem; */
  }

  .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-wrap {
    display: flex;
    align-items: center;
    gap: 25px;
  }

  .top-information .sec__ttl-wrap.border {
    flex-direction: column;
    gap: 0;
    width: fit-content;
    border-bottom: 1px solid currentColor;
    padding: 0 30px 5px;
  }

  .top-column .sec__ttl-wrap,
  .top-news .sec__ttl-wrap,
  .top-schedule .sec__ttl-wrap {
    flex-direction: column;
    align-items: start;
    gap: 2px;
  }

  .top-column .sec__ttl-en,
  .top-news .sec__ttl-en,
  .top-schedule .sec__ttl-en {
    font-size: 2.4rem;
  }

  .top-column .sec__ttl-jp,
  .top-news .sec__ttl-jp,
  .top-schedule .sec__ttl-jp {
    font-size: 1.4rem;
  }
}

@media(max-width:500px) {

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


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

.inner90 {
  width: 90%;
  margin: 0 auto;
}

.inner96 {
  width: 96%;
  margin: 0 auto;
}

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

.inner1440_100 {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}

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

.inner1500_100 {
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
}

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

.inner980 {
  max-width: 980px;
  width: 90%;
  margin: 0 auto;
}

/* max1089 */

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

.max1200 {
  display: none;
}

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


.max1024 {
  display: none;
}

.min1025 {
  display: block;
}

@media(max-width:1024px) {
  .max1024 {
    display: block;
  }

  .min1025 {
    display: none;
  }
}

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

.max700 {
  display: none;
}

.min701 {
  display: block;
}

@media(max-width:700px) {
  .max700 {
    display: block;
  }

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

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

.h-grad3:hover {
  background: var(--bg-grad3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all .3s ease-in-out;
}


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

.btn {
  position: relative;
  width: 240px;
  max-width: 100%;
  height: 58px;
  line-height: 1.3;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  background: #fff;
  font-size: var(--f16);
  font-weight: 400;
  font-family: var(--jp02);
  border: 1px solid #ddd;
  /* box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1); */
  padding: 0 20px;
  transition: all .4s ease-in-out;
}

.btn:hover {
  color: var(--cw);
  background: var(--cbase);
  opacity: .7;
}

.btn02 {
  color: var(--cw);
  background: var(--cbase);
  opacity: .7;
}

.btn02:hover {
  color: var(--cbase);
  background: #fff;
  opacity: .7;
}

.btn.long {
  width: 300px;
}

.btn.small {
  width: 180px;
  height: 30px;
  line-height: 30px;
  font-size: var(--f14);
}

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

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

@media(max-width:834px) {
  .btn {
    width: 200px;
    height: 48px;
  }

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

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

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

@media(max-width:834px) {
  .btn::after {
    top: 50%;
    right: 8px;
    transform: translate(0, -50%);
    font-size: 2rem;
  }
}

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


.btn_txt_ar_link {
  display: flex;
  align-items: center;
  gap: 15px;
  width: fit-content;
}

.btn_txt_ar_link.center {
  margin-right: auto;
  margin-left: auto;
}

.btn_txt_ar_link.end {
  margin-right: 0;
  margin-left: auto;
}

@media(max-width:500px) {
  .btn_txt_ar_link {
    gap: 5px;
    letter-spacing: 0;
  }
}

.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: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #ddd;
}

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

.arrow-back {
  position: relative;
  width: 30px;
  height: 30px;
  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: 20px;
    height: 20px;
  }

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

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

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

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

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

.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 .3s ease-in-out;
}

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

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

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

.fadein_sc04.show {
  opacity: 1;
  transform: scale(1);
  transition: all .6s .9s 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;
}


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

header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: var(--bg);
}

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

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

.header-logo__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.header-logo {
  width: 254px;
}

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

.header-r__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 35px;
  padding-right: 2vw;
}

@media(max-width:1423px) {
  /* header {
    height: 90px;
  }

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

  /* .header-logo__wrap {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 10px;
    line-height: 1;
  } */

  .header-logo {
    /* width: 220px; */
  }

  .header-r {
    /* position: absolute; */

    /* top: unset;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 0); */

    /* 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 {
    padding: 0;
    /* padding-right: 100px; */
    /* display: none; */
    /* display: flex;
    flex-direction: column;
    width: 100%;
    height: fit-content;
    padding: 70px 0 0px;
    margin: 0 auto; */
  }

  .header-nav__list {
    gap: 20px;
    /* margin-right: 100px; */
  }

}


@media(max-width:1000px) {
  .header-nav {
    display: none;
  }
}

@media(max-width:600px) {
  header {
    height: 45px;
  }

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

  .header-logo__wrap {
    gap: 5px;
  }

  .header-logo {
    width: 140px;
  }

  .header-logo__txt {
    font-size: 1rem;
  }
}

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

.header-reservation__list {
  display: flex;
  gap: 7px;
}

.header-reservation__item-link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  width: 160px;
  height: 46px;
}

.header-reservation__item-web .header-reservation__item-link {
  background: #1F3758;
}

.header-reservation__item-line .header-reservation__item-link {
  background: #06C755;
}

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

@media(max-width:1423px) {
  .header-nav {
    /* width: 100%; */
    display: none;
  }

  .header-reservation__list {
    display: none;
  }

  .header-reservation__item-link {
    height: 56px;
    border-radius: 4px 4px 0 0;
  }

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

@media(max-width:834px) {
  /* .header-reservation__list {
    display: flex;
    gap: 0px;
  } */
}

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

  .header-reservation__item {
    width: 33.3333%;
  }

  .header-reservation__item-link {
    width: 33.333vw;
  }
}

.header-btn__wrap {
  display: none;
}

.header-btn {
  position: relative;
  width: 90px;
  height: 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2%;
  background: var(--cbase);
}

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

.header-btn__ham {
  position: relative;
  width: 45px;
  height: 45px;
  overflow: hidden;
}

.header-btn__ham span {
  position: absolute;
  top: 30%;
  left: 0%;
  width: 100%;
  height: 1px;
  background-color: #fff;
  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 .header-btn__ham span:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
}

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

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

.header-btn__txt {
  color: var(--cw);
  font-size: var(--f16);
  font-family: var(--jp02);
}

.header-btn .header-btn__txt-close {
  display: none;
}

.header-btn .header-btn__txt-menu {
  display: block;
}

.header-btn.active .header-btn__txt-close {
  display: block;
}

.header-btn.active .header-btn__txt-menu {
  display: none;
}

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

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

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

  .header-btn {}
}

@media(max-width:600px) {
  .header-btn {
    width: 45px;
    height: 45px;
  }

  .header-btn__ham {
    width: 22px;
    height: 22px;
  }

  .header-btn__txt {
    font-size: var(--f10);
  }
}

.menu_back {
  position: fixed;
  z-index: 7;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #000;
  opacity: .3;
  display: none;
}

.menu_back.active {
  display: block;
}


.menu {
  position: fixed;
  z-index: 200;
  top: 90px;
  right: 0px;
  width: 500px;
  height: calc(100dvh - 90px);
  background: rgba(244, 247, 250, 0.9);
  backdrop-filter: blur(7px);

  padding: 50px 4% 70px;
  opacity: 0;
  visibility: hidden;
  transition: all .3s ease-in-out;
  overflow: scroll;
}

.menu.active {
  opacity: 1;
  visibility: visible;
}

.menu-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: fit-content;
  /* padding-top: 50px; */
  margin: 0 auto;
}


.menu-nav {}

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

.menu-nav__item-link {
  display: block;
}

.menu-nav__item-children {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 15px;
}

.menuimplant-nav__item-children {
  grid-template-columns: repeat(1, 1fr);
}

.menu-nav__item-child__link {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 2rem;
}

.menu-nav__item-child__link::before {
  position: absolute;
  top: 58%;
  left: 0;
  transform: translate(0, -50%);
  font-family: "Material Symbols Outlined";
  content: '\e5cc';
  font-size: 2rem;
  font-weight: 200;
}

/*  */
/* 
.menu-nav__list {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.menu-nav__item {
  position: relative;
  display: flex;
  gap: 20px;
  padding: 25px 0 25px 2%;
}

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

.menu-nav__item-children {
  display: flex;
  flex-direction: column;
  gap: 1em;
  color: #b1b1b1;
}

.menu-nav__item-ttl {
  line-height: 1;
}

p.menu-nav__item-ttl {
  width: 50%;
}

.menu-contact__btn {
  width: 100%;
  background: #32634b;
  margin-top: 15px;
} */

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

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

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

@media(max-width:600px) {
  .menu {
    top: 45px;
    right: 0px;
    width: 100%;
    height: calc(100% - 45px);
    border-radius: 0px;
    align-items: center;
    padding: 40px 8%;
  }

  .menu-inner {
    padding-top: 25px;
    padding-bottom: 40px;
  }

}

@media(max-width:380px) {
  /* .menu {
    padding: 40px 8%;
  } */
}



.menu-reservation__list {
  position: fixed;
  z-index: 300;
  bottom: 0;
  left: 0;
  width: 100%;
  /* display: grid; */
  display: none;
  grid-template-columns: repeat(3, 1fr);
  height: 48px;
}

.menu-reservation__item-link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  height: 100%;
}

.menu-reservation__item-web .menu-reservation__item-link {
  background: #1F3758;
}

.menu-reservation__item-line .menu-reservation__item-link {
  background: #06C755;
}

.menu-reservation__item-contact .menu-reservation__item-link {
  background: #444444;
}

@media(max-width:1200px) {
  .menu-reservation__list {
    display: grid;
  }
}

.mega-menu {
  position: fixed;
  z-index: 200;
  top: 80px;
  right: 50%;
  transform: translate(50%, 0);
  width: 98%;
  max-width: 850px;
  height: fit-content;
  max-height: fit-content;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.1);
  padding: 40px 25px;
  justify-content: center;
  display: none;
  overflow: scroll;
}

.mega-menu-implant {
  max-width: 1400px;
}

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

.mega-menu__inner {
  height: fit-content;
  width: 100%;
}

/* .mega-menu__ttl {
  text-align: center;
  border-right: 1px solid #fff;
  padding-top: 30px;
} */

.mega-menu__navlist {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 20px;
  padding: 0 20px;
}

.mega-menu__navitem {
  width: fit-content;
  overflow: hidden;
  display: flex;
}

.mega-menu__navitem-link {
  position: relative;
  height: 37px;
  line-height: 37px;
  border-radius: 25px;
  padding: 0px 0 0 30px;
  text-align: center;
  transition: all .3s ease-in-out;
}

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


.mega-menu__navitem-link:hover {
  background-color: #ffffff33;
}

@media(max-width:1423px) {
  .mega-menu {
    position: static;
    z-index: 200;
    top: 90px;
    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; */
  }

  .mega-menu__inner {
    padding-bottom: 0px;
  }
}

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

@media(max-width:500px) {
  .mega-menu__navlist {
    gap: 20px;
    padding: 20px;
  }

  .mega-menu__navitem {
    width: 170px;
  }
}

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

  .mega-menu__navitem {
    width: 150px;
  }
}

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

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

.common-access {
  padding: 60px 0 70px;
}

.common-access__inner {
  display: grid;
  grid-template-columns: auto 420px;
  /* align-items: center; */
}

.common-access__cont {
  background-color: #fff;
  padding: 20px 0 20px 8%;
  /* width: 50%; */
  /* padding-right: 5%; */
}

/* .common-access__r {
  width: 50%;
} */

.common-access__cont-ttl {
  padding-bottom: 10px;
  border-bottom: 1px solid #dedede;
}

.common-access__cont-tel {
  display: block;
  margin-top: 15px;
}

.common-access__cont-tel__txt {
  margin-top: 10px;
}

.common-access__cont-txt01 {
  margin-top: 17px;
}

.common-access__cont-txt02 {
  margin-top: 15px;
}

.common-access__map {
  width: 100%;
  height: 100%;
  /* width: 50%; */
  /* height: 100%; */
}

.common-info__table {
  font-size: 1.4rem;
  width: 100%;
  border-collapse: collapse;
  margin-top: 30px;
}

.maru {
  position: relative;
}

.maru::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--cbase);
}

.hishi {
  position: relative;
}

.hishi::after {
  content: '■';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 27px;
  font-size: 1.7rem;
  text-align: center;
  /* border-radius: 50%;
  background: var(--cbase); */
}

.sankaku {
  position: relative;
}

.sankaku::after {
  content: '▲';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 27px;
  height: 27px;
  font-size: 1.8rem;
  text-align: center;
  /* border-radius: 50%;
  background: var(--cbase); */
}

.kome.maru::after {
  top: 50%;
  left: 50%;
  transform: translate(-85%, -50%);
}

.kome {
  position: relative;
}

.kome::before {
  content: '※';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(60%, -110%);
  width: 10px;
  height: 10px;
  font-size: 1rem;
}

.common-info__table th {
  font-size: 1.4rem;
}

.common-info__table thead th {
  font-weight: 400;
  height: 40px;
  width: calc((100% - 100px) / 8);
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}

.common-info__table th:nth-of-type(1) {
  width: 100px;
  text-align: center;
  padding: 10px 16px;
}

.common-info__table tbody th,
.common-info__table tbody td {
  text-align: center;
  font-weight: 400;
  height: 50px;
  border-bottom: 1px solid #dedede;
}

.common-info__table tr td,
.common-info__table tr th {}

.common-info__table tr th:nth-child(8) {
  padding-right: 5px;
}

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

@media(max-width:1024px) {
  .common-access__inner {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }

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

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

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

@media(max-width:500px) {
  .common-access__map {
    width: 100%;
    height: 300px;
  }
}

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

.common-reservation {
  padding-right: 5%;
  padding-left: 5%;
  background: linear-gradient(90deg, #FFEFF0 0%, #FFFFFF 35.95%, #FFFFFF 63.7%, #FFEFF0 100%), #FFE2E3;
  box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.1);
}

.common-reservation__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 15px 10px;
  margin-top: 35px;
}

.common-reservation__item-link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  text-align: center;
  width: 350px;
  height: 100px;
  border-radius: 50px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
}

.common-reservation__item-tel .common-reservation__item-link {
  background: linear-gradient(270deg, rgba(237, 142, 187, 0.9) 0%, rgba(65, 150, 235, 0.9) 100%);
}

.common-reservation__item-web .common-reservation__item-link {
  flex-direction: column;
  background: linear-gradient(270deg, rgba(94, 199, 182, 0.9) 0%, rgba(48, 158, 221, 0.9) 100%);
}

.common-reservation__item-line .common-reservation__item-link {
  background: #00B900;
}

.common-reservation__item-icon {
  display: inline-block;
}

.common-reservation__item-tel .common-reservation__item-icon {
  width: 30px;
}

.common-reservation__item-web .common-reservation__item-icon {
  width: 23px;
}

.common-reservation__item-line .common-reservation__item-icon {
  width: 38px;
}

.common-reservation__item-wrap {
  display: flex;
  align-items: center;
  gap: 7px;
}

/* .common-reservation__item-lead {
  width: 100%;
} */

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

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

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

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

@media(max-width:500px) {
  .common-reservation__list {
    gap: 7px 10px;
    margin-top: 35px;
  }

  .common-reservation__item-link {
    gap: 7px;
    width: 300px;
    height: 80px;
    border-radius: 50px;
  }

}

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

.footer {
  padding: 0 0 50px;
}

.footer-inner {
  padding-top: 40px;
  border-top: 1px solid #ddd;
}

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

.footer-nav {
  width: calc(100% - 600px);
}

.footer-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 40px;
}

.footer-nav__item {
  height: 56px;
  line-height: 56px;
}


.footer-reservation__list {
  display: flex;
  gap: 7px;
}

.footer-reservation__item-link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  width: 190px;
  height: 56px;
}

.footer-reservation__item-web .footer-reservation__item-link {
  background: #1F3758;
}

.footer-reservation__item-line .footer-reservation__item-link {
  background: #06C755;
}

.footer-reservation__item-contact .footer-reservation__item-link {
  background: #444444;
}

.footer-plivacy {
  display: block;
  width: fit-content;
  margin: 15px 0 0 auto;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

.footer-copy {
  text-align: end;
}

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

@media(max-width:1200px) {
  .footer-top {
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: space-between;
    margin-bottom: 45px;
  }

  .footer-nav {
    width: 100%;
  }
}

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

@media(max-width:834px) {
  .footer-inner {
    width: 100%;
    padding-top: 0px;
    border-top: none;
  }

  .footer-nav {
    width: 90%;
    border-top: 1px solid #ddd;
    padding-top: 45px;
    margin: 0 auto 10px;
  }

  .footer-nav__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px 40px;
  }

  .footer-nav__item {
    height: fit-content;
    line-height: 1.3;
  }


  .footer-reservation__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
  }

  .footer-reservation__item-link {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    width: 100%;
    height: 56px;
  }

  .footer-plivacy {
    display: block;
    width: fit-content;
    margin: 15px auto 0;
  }

  .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    margin-top: 25px;
  }

  .footer-copy {
    text-align: calc();
  }
}

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

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


.top-fv {
  position: relative;
  z-index: 3;
  width: 100%;
  /* height: 100vh; */
  aspect-ratio: 1280 / 720;
}

.top-fv__inner {
  height: 100%;
}

.top-fv__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

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

@media(max-width:834px) {
  .top-fv__inner {
    width: 100%;
  }

  .top-fv {
    aspect-ratio: 406 / 720;
  }

}

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

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

.top-information {}

.top-information__inner {
  display: grid;
  grid-template-columns: 3fr 4fr;
  gap: 30px;
  align-items: center;
  border: 1px solid #ddd;
  max-width: 880px;
  width: 90%;
  padding: 40px 4%;
  margin: 0 auto;
}

.top-information__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 30px;
  margin-bottom: 25px;
}

.top-information__item {
  position: relative;
  padding-left: 2.6rem;
}

.top-information__item::before {
  position: absolute;
  top: 57%;
  left: 0px;
  transform: translate(0, -50%);
  color: var(--cbase);

  font-family: "Material Symbols Outlined";
  content: '\e86c';
  /* check_circle */
  font-size: 1.8rem;
  font-variation-settings:
    'FILL' 1,
    /* 塗り 「0」→塗りなし 「1」→塗りあり*/
    'wght' 600,
    /* 線の太さ */
    'GRAD' 0,
    /* 線の太さ（wghtよりも微調整が可能）*/
    'opsz' 48;
  /* アイコンのサイズ */
}

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

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

@media(max-width:834px) {

  .top-information__inner {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-content: center;
    gap: 30px;
    width: 90%;
    padding: 25px 4%;
    margin: 0 auto;
  }

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

  .top-information__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    margin-bottom: 25px;
  }

  .top-information__item {
    position: relative;
    padding-top: 2.7rem;
    padding-left: 0;
  }

  .top-information__item::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0%);
    font-size: 1.6rem;
  }

}

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

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

.top-feature {
  position: relative;
}

.top-feature::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -4vw;
  right: 4.5%;
  width: 8.9vw;
  height: 8.9vw;
  background: #8EABD1;
  opacity: 0.1;
}

.top-feature::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 4%;
  left: 0;
  width: 85.2%;
  height: 45%;
  background: #8EABD1;
  opacity: 0.1;
}

.top-feature__cont {
  position: relative;
}

.top-feature__img01 {
  position: absolute;
  bottom: 26%;
  right: 2.5%;
  width: 14.86%;
}

.top-feature__img02 {
  position: absolute;
  bottom: 0;
  right: 10%;
  width: 12.7%;
}

.top-feature__head {
  display: grid;
  /* grid-template-columns: auto 300px; */
  grid-template-columns: 72fr 28fr;
}

.top-feature__ttl-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  writing-mode: vertical-rl;
  border-top: 1px solid currentColor;
  width: fit-content;
  padding-top: 20px;
  margin: 0 auto auto 5.5vw;
}

.top-feature__txt {
  margin-top: 45px;
}

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

/* max1280 */
@media(max-width:1423px) {
  .top-feature::after {
    top: 4%;
    width: 85.2%;
    height: 52%;
  }
}

@media(max-width:1200px) {
  .top-feature__txt {
    padding-right: 18vw;
    margin-top: 45px;
  }
}

@media(max-width:834px) {

  .top-feature::before {
    top: 20px;
    right: 0%;
    width: 12.5vw;
    height: 12.5vw;
  }

  .top-feature::after {
    top: 32vw;
    bottom: unset;
    left: 0;
    width: 90vw;
    height: 68%;
  }

  .top-feature__cont {
    position: relative;
    padding-bottom: 55vw;
  }

  .top-feature__head {
    display: grid;
    grid-template-columns: auto 160px;
  }

  .top-feature__ttl-wrap {
    line-height: 1.1;
    gap: 8px;
    padding-top: 15px;
    margin: 0 auto auto 40px;
  }

  .top-feature__ttl02 {
    font-size: 3.6rem;
  }

  .top-feature__img01 {
    position: absolute;
    bottom: 7vw;
    right: unset;
    left: 45vw;
    width: 41vw;
  }

  .top-feature__img02 {
    position: absolute;
    bottom: 0;
    right: unset;
    left: 5vw;
    width: 34.87vw;
  }

  .top-feature__txt {
    padding-right: 0;
    margin-top: 45px;
  }

}

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

  .top-feature::after {
    top: 51vw;
    bottom: unset;
    left: 0;
    width: 90vw;
    height: 74%;
  }

  .top-feature__head-img__wrap {
    aspect-ratio: 260 / 225;
  }

  img.top-feature__head-img {
    height: 100%;
    object-fit: cover;
  }
}

@media(max-width:430px) {

  .top-feature__head {
    display: grid;
    grid-template-columns: 260px auto;
  }

  .top-feature__ttl-area {
    padding-left: 20px;
  }

  .top-feature__ttl-wrap {
    gap: 5px;
    padding-top: 15px;
    margin: 0 auto;
  }

  .top-feature__ttl01 {
    font-size: 1.7rem;
  }

  .top-feature__ttl02 {
    font-size: 3rem;
  }
}


.top-feature__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 70px;
}

.top-feature__item {
  border: 1px solid #ddd;
  background: #FCFDFF;
  padding: 20px 25px;
}

.top-feature__item-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-bottom: 1px solid #ddd;
  padding-bottom: 18px;
  margin-bottom: 17px;
}

.top-feature__item:nth-of-type(5) .top-feature__item-ttl,
.top-feature__item:nth-of-type(6) .top-feature__item-ttl,
.top-feature__item:nth-of-type(7) .top-feature__item-ttl,
.top-feature__item:nth-of-type(8) .top-feature__item-ttl {
  height: 80px;
}

.top-feature__item-txt {
  text-align: center;
  line-height: 1.75;
}

.top-feature__bottom-img {
  margin-top: 150px;
}

/* max1280 */
@media(max-width:1423px) {
  .top-feature__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 70px;
  }

  .top-feature__item:nth-of-type(4) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(5) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(6) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(7) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(8) .top-feature__item-ttl {
    height: 80px;
  }

  .top-feature__bottom-img {
    margin-top: 15vw;
  }
}

@media(max-width:1024px) {
  .top-feature__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 70px;
  }

  .top-feature__item:nth-of-type(4) .top-feature__item-ttl {
    height: fit-content;
  }

  .top-feature__item:nth-of-type(5) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(6) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(7) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(8) .top-feature__item-ttl {
    height: 80px;
  }
}

@media(max-width:700px) {
  .top-feature__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 50px;
  }

  .top-feature__item:nth-of-type(5) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(6) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(7) .top-feature__item-ttl,
  .top-feature__item:nth-of-type(8) .top-feature__item-ttl {
    height: fit-content;
  }
}

@media(max-width:370px) {
  .top-feature__item-ttl {
    font-size: 1.7rem;
  }
}

.top-price {
  position: relative;
}

.top-price::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0px;
  right: 0;
  width: 88vw;
  max-width: calc(640px + 46vw);
  height: 100%;
  background: #8EABD1;
  opacity: 0.1;
}

.top-price__ttl-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top-price__ttl01 {
  line-height: 1.7;
}

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

.top-price__item {
  padding-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}

.top-price__item:first-child {
  padding-top: 0;
}

.top-price__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.top-price__item-ttl {
  margin-top: 15px;
  margin-bottom: 15px;
}

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

@media(max-width:1200px) {
  .top-price__ttl-wrap {
    position: relative;
    width: 100%;
  }

  .top-price__ttl02 {
    position: absolute;
    top: 0;
    right: -3.5vw;
    writing-mode: vertical-lr;
    white-space: nowrap;
  }
}

@media(max-width:1024px) {
  .top-price::before {
    top: 0px;
    right: 0;
    width: 95vw;
    max-width: calc(640px + 46vw);
    height: 100%;
    background: #8EABD1;
    opacity: 0.1;
  }

  .top-price__inner {
    width: 100%;
  }

  .top-price__ttl-wrap {
    width: 90%;
    margin: 0 auto;
  }

  .top-price__ttl02 {
    right: -2.5vw;
  }

  .top-price__cont {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    margin-top: 50px;
  }

  .top-price__img {
    width: 90%;
    margin: 0 auto 0 0;
  }

  .top-price__list {
    width: 85%;
    margin: 0 5vw 0 auto;
  }

}

@media(max-width:834px) {
  .top-price__ttl01 {
    font-size: 2.6rem;
  }

  .top-price__ttl01 .f44 {
    font-size: 3.2rem;
  }
}

@media(max-width:600px) {
  .top-price__ttl01 {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 15px;
  }
}

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


.top-happy {}

.top-happy__head {
  position: relative;
}

.top-happy__img01-wrap {
  position: absolute;
  top: -80px;
  right: 0;
  width: 25.3%;
}

.top-happy__img02-wrap {
  position: absolute;
  top: 50px;
  left: 3%;
  width: 15.2%;
}

.top-happy__img02-wrap::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: -12%;
  right: -12%;
  width: 103%;
  height: 70%;
  background: #8EABD1;
  opacity: 0.1;
}

.top-happy__img03-wrap {
  position: absolute;
  bottom: 20%;
  right: 5.5%;
  width: 17.7%;
}

.top-happy__ttl-wrap {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 550px;
  width: 90%;
  margin: 0 auto;
}

.top-happy__ttl-en {
  margin-left: 5rem;
}

.top-happy__ttl-jp {
  letter-spacing: 0.14em;
  line-height: 2;
}

.top-happy__ttl-jp02 {
  margin-left: 1em;
}

.top-happy__cont {
  display: flex;
  flex-direction: row-reverse;
  justify-content: start;
  align-items: start;
  width: 100%;
  max-width: 1500px;
  margin: 90px auto 0;
}

.top-happy__txt01 {
  writing-mode: vertical-rl;
  line-height: 2.8;
}

.top-happy__txt02 {
  writing-mode: vertical-rl;
  border-right: 1px solid currentColor;
  height: fit-content;
  padding-right: .4em;
  margin-right: 4rem;
}

.top-happy__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  border: 1px solid #ddd;
  background: #fff;
  padding: 30px 30px;
  margin-top: 80px;
  margin-right: 8rem;
  margin-left: 5vw;
}

.top-happy__list::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: -8%;
  left: -5vw;
  width: calc(85% + 5vw);
  height: 100%;
  background: #8EABD1;
  opacity: 0.1;
}

.top-happy__item-link {
  position: relative;
  display: block;
  padding-left: 3rem;
}

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

.top-happy__img-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3%;
  margin-top: 90px;
}

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

@media(max-width:1280px) {
  .top-happy__txt02 {
    padding-right: .3em;
    margin-right: 3rem;
  }

  .top-happy__list {
    padding: 30px 30px;
    margin-top: 60px;
    margin-right: 5rem;
    margin-left: 5vw;
  }
}

@media(max-width:1170px) {
  .top-happy__head {
    position: relative;
    padding-top: 100vw;
  }

  .top-happy__img01-wrap {
    position: absolute;
    top: 0px;
    right: 0;
    width: 48.2%;
  }

  .top-happy__img02-wrap {
    position: absolute;
    top: 34vw;
    left: 0%;
    width: 30%;
  }

  .top-happy__img03-wrap {
    position: absolute;
    top: 61vw;
    bottom: unset;
    right: 44.5%;
    width: 21%;
  }
}

@media(max-width:900px) {
  .top-happy__ttl-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    max-width: 550px;
    width: 90%;
    margin: 0 auto;
  }

  .top-happy__ttl-en {
    font-size: 1rem;
    margin-left: 0rem;
  }

  .top-happy__ttl-jp01 {
    font-size: 2.8rem;
  }

  .top-happy__ttl-jp02 {
    margin-left: 0em;
  }

  .top-happy__cont {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    width: 90%;
    margin: 50px auto 0;
  }

  .top-happy__txt02 {
    line-height: 1.75;
    text-align: center;
    writing-mode: horizontal-tb;
    border-right: none;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    height: fit-content;
    width: 100%;
    padding-right: 0;
    padding-top: 1em;
    padding-bottom: 1em;
    margin-right: 0;
    margin-top: 40px;
  }

  .top-happy__list {
    position: relative;
    display: grid;
    grid-template-columns: 3fr 3fr;
    gap: 20px;
    padding: 30px 30px;
    margin-top: 50px;
    margin-right: 0vw;
    margin-left: 0vw;
  }

  .top-happy__list::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 8%;
    left: unset;
    right: -5vw;
    width: 100%;
    height: 100%;
  }
}

@media(max-width:834px) {
  .top-happy__img-list {
    width: 100%;
    aspect-ratio: 390 / 200;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0px;
    margin-top: 50px;
  }

  img.top-happy__img-img {
    object-fit: cover;
    height: 100%;
  }
}

@media(max-width:500px) {
  .top-happy__ttl-wrap {
    gap: 20px;
    max-width: 550px;
    width: 90%;
    margin: 0 auto;
  }

  .top-happy__txt01 {
    line-height: 2.5;
  }

  .top-happy__list {
    font-size: 1.4rem;
    position: relative;
    display: grid;
    grid-template-columns: 3fr 3fr;
    gap: 20px 15px;
    padding: 22px 15px;
    margin-top: 50px;
    margin-right: 0vw;
    margin-left: 0vw;
  }
}

@media(max-width:400px) {
  .top-happy__txt01 {
    line-height: 2.3;
  }

  .top-happy__txt02 {
    letter-spacing: 0.00em;
  }
}

@media(max-width:400px) {
  .top-happy__txt02 {
    font-size: 1.65rem;
  }
}


.top-reason {
  border-bottom: 1px solid #ddd;
}

.top-reason__head {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  text-align: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.top-reason__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.top-reason__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.top-reason__item {
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.top-reason__item:nth-of-type(3),
.top-reason__item:nth-of-type(6) {
  border-right: none;
}

.top-reason__item:nth-of-type(10) {
  border-bottom: none;
}

.top-reason__item-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 25px 40px 50px;
}

.top-reason__item-img {
  margin-top: 20px;
}

.top-reason__item-mess {
  height: 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.5;
  padding-top: .5em;
}

.top-reason__item-more {
  display: block;
  width: fit-content;
  border-bottom: 1px solid currentColor;
  margin-top: 40px;
}

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

@media(max-width:1024px) {
  .top-reason__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .top-reason__item:nth-of-type(3) {
    border-right: 1px solid #ddd;
  }

  .top-reason__item:nth-of-type(even),
  .top-reason__item:nth-of-type(6) {
    border-right: none;
  }

  .top-reason__item:nth-of-type(9),
  .top-reason__item:nth-of-type(10) {
    border-bottom: none;
  }
}

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

  .top-reason__head {
    height: 140px;
  }

  .top-reason__ttl {
    font-size: 2.5rem;
  }

  .top-reason__item-mess {
    height: 90px;
    font-size: 1.8rem;
  }
}

@media(max-width:700px) {
  .top-reason__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }

  .top-reason__item {
    border-right: none;
  }

  .top-reason__item:nth-of-type(3) {
    border-right: none;
  }

  .top-reason__item:nth-of-type(9) {
    border-bottom: 1px solid #ddd;
  }
}

@media(max-width:500px) {
  .top-reason__item {
    padding: 25px 5% 50px;
  }
}

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

.top-case {}

.top-case__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

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

.top-case__item {
  border: 1px solid #ddd;
}

.top-case__item-img__area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.top-case__item-img__wrap {
  position: relative;
}

.top-case__item-img__txt {
  position: absolute;
  bottom: 7px;
  left: 7px;
}

.top-case__item-cont {
  padding: 20px 25px 25px;
}

.top-case__item-head {
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: 1px solid #ddd;
}

.top-case__item-head__txt {
  margin-top: 5px;
}

.top-case__item-img__wrap img {
  aspect-ratio: 3/2;
  width: 100%;
  object-fit: cover;
}

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

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

@media(max-width:834px) {
  .top-case__ttl-wrap {
    width: 100%;
    justify-content: space-between;
  }

  .top-case__ttl01 {
    font-size: 2.8rem;
  }

  .top-case__ttl02 {
    font-size: 1.4rem;
    text-align: end;
  }

  .top-case__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px 10px;
    margin-top: 35px;
  }

  .top-case__link {
    margin: 40px auto 0;
  }
}

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

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

.top-message {
  position: relative;
}

.top-message::before {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 91vw;
  height: 95%;
  background: #F4F7FA;
}

.top-message__img01 {
  position: absolute;
  top: 0;
  right: 6vw;
  width: 13.3vw;
}

.top-message__img02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 18.8vw;
}

.top-message__inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
}

.top-message__ttl {
  position: relative;
  padding-left: 3rem;
  margin-left: 5vw;
}

.top-message__ttl::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 20px;
  height: 1px;
  background: var(--cbase);
}

.top-message__img-wrap {
  position: relative;
  padding-bottom: 30px;
  margin-top: 60px;
}

.top-message__profile {
  position: absolute;
  bottom: 0;
  right: 0;
  width: fit-content;
}

.top-message__profile-name {
  position: relative;
  background: var(--cbase);
  padding: 5px 0 5px 20px;
}

.top-message__profile-name::before {
  position: absolute;
  content: '';
  top: 50%;
  left: 0;
  width: 10px;
  height: 1px;
  background: var(--cw);
}

.top-message__profile-list {
  background: var(--cw);
  padding: 15px 20px;
}

.top-message__cont {
  padding-left: 50px;
}

.top-message__mess-wrap {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 1rem;
  margin-bottom: 40px;
}

.top-message__end {
  margin-top: 25px;
}

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

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

@media(max-width:1200px) {
  .top-message::before {
    bottom: 0;
    left: 0;
    width: 91vw;
    height: 98%;
  }

  .top-message__img01 {
    position: absolute;
    top: 0;
    right: 0vw;
    width: 13.3vw;
  }

  .top-message__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .top-message__img-wrap {
    width: 85%;
    position: relative;
    padding-bottom: 30px;
    margin-top: 60px;
  }

  .top-message__profile {
    position: absolute;
    bottom: 0;
    right: -15vw;
    width: fit-content;
  }
}

@media(max-width:1024px) {
  .top-message::before {
    height: 98%;
  }
}

@media(max-width:834px) {
  .top-message::before {
    height: 100%;
  }

  .top-message__img02 {
    display: none;
  }

  .top-message__cont {
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .top-message__mess {
    font-size: 2.2rem;
  }

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

@media(max-width:500px) {
  .top-message__img01 {
    position: absolute;
    top: -5vw;
    right: 0vw;
    width: 18vw;
  }

  .top-message__mess01 {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 10px;
  }

}

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


.top-gallery {
  position: relative;
}

.top-gallery::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 91vw;
  height: 100%;
  background: #F4F7FA;
}

.top-gallery__inner {
  position: relative;
  /* display: grid; */
  /* grid-template-columns: auto 900px; */
  border-top: 1px solid #ddd;
  padding-top: 50px;
}

.top-gallery__head {
  position: absolute;
  top: 90px;
  left: 0;
}

.top-gallery__slider-area {
  position: relative;
  padding-left: calc(100% - 900px);
}

.top-gallery__slider {
  width: 900px;
}

.top-gallery__slider-area .swiper-button-prev,
.top-gallery__slider-area .swiper-button-next {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #ddd;
}

.top-gallery__slider-area .swiper-button-prev {
  left: 0;
  right: unset;
  top: unset;
  bottom: 50px;
}

.top-gallery__slider-area .swiper-button-next {
  left: 60px;
  right: unset;
  top: unset;
  bottom: 50px;
}

/* > */
.top-gallery__slider-area .swiper-button-next:after {
  font-size: 2.4rem;
  font-weight: 100;
  content: '\e5cc';
  color: var(--cbase);
  font-family: "Material Symbols Outlined";
}

/* < */
.top-gallery__slider-area .swiper-button-prev:after {
  font-size: 2.4rem;
  font-weight: 100;
  color: var(--cbase);
  content: '\e5cb';
  font-family: "Material Symbols Outlined";
}

/* ページネーション */
.top-gallery__slider-area .swiper-pagination {
  font-family: var(--en);
  font-size: var(--f20);
  text-align: start;
  padding-left: 140px;
  padding-bottom: 50px;
}

/* 現在のスライド番号 */
.top-gallery__slider-area .swiper-pagination-current {}

/* スライド総数 */
.top-gallery__slider-area .swiper-pagination-total {}


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

@media(max-width:1250px) {
  .top-gallery__slider-area {
    position: relative;
    padding-left: 250px;
  }

  .top-gallery__slider {
    width: 100%;
  }
}

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

@media(max-width:834px) {
  .top-gallery__head {
    position: absolute;
    top: 50px;
    left: 0;
  }

  .top-gallery__slider-area {
    position: relative;
    padding-top: 90px;
    padding-left: 0;
  }

  .top-gallery__slider-area .swiper-button-prev,
  .top-gallery__slider-area .swiper-button-next {
    width: 40px;
    height: 40px;
  }

  .top-gallery__slider-area .swiper-button-prev {
    left: unset;
    right: 115px;
    top: 40px;
    bottom: unset;
  }

  .top-gallery__slider-area .swiper-button-next {
    left: unset;
    right: 70px;
    top: 40px;
    bottom: unset;
  }

  /* ページネーション */
  .top-gallery__slider-area .swiper-pagination {
    font-size: var(--f20);
    text-align: end;
    padding-left: 0;
    padding-bottom: 0;
    top: 27px;
  }
}

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

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

.top-news-schedule-column__area-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 60px;
}

.top-news {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}

.top-schedule {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

.top-column {
  grid-row: 2 / 3;
  grid-column: 1 / 3;
}

.top-news,
.top-schedule {
  border-bottom: 1px solid #ddd;
  padding-bottom: 30px;
}

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

@media(max-width:1024px) {
  .top-news-schedule-column__area-inner {
    display: flex;
    flex-direction: column;
    gap: 0 60px;
    width: 100%;
  }

  .top-news {
    order: 1;
  }

  .top-schedule {
    order: 3;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .top-column {
    order: 2;
    border-bottom: 1px solid #ddd;
  }

  .top-news__inner,
  .top-column__inner,
  .top-schedule__inner {
    width: 90%;
    margin: 0 auto;
  }
}

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

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

.top-news__list {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 35px;
}

.top-news__item-link {
  display: grid;
  grid-template-columns: 100px auto;
  gap: 20px;
}

.top-news__item-ttl {
  margin: 10px 0;
}

.top-news__link {
  display: flex;
  align-items: center;
  gap: 15px;
  width: fit-content;
  margin: 30px 0 0 auto;
}

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

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

@media(max-width:1024px) {
  .top-news__link {
    gap: 10px;
    margin: 0;
  }
}

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

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

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

.common-schedule__slider-area {
  position: relative;
  width: 88%;
  max-width: 610px;
  padding-bottom: 60px;
  margin: 35px auto 0;
}


.common-schedule__slider-area .swiper-button-prev,
.common-schedule__slider-area .swiper-button-next {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #ddd;
}

.common-schedule__slider-area .swiper-button-prev {
  left: 50%;
  right: unset;
  transform: translate(-100%, 0);
  top: unset;
  bottom: 0px;
}

.common-schedule__slider-area .swiper-button-next {
  left: calc(50% + 60px);
  transform: translate(-100%, 0);
  right: unset;
  top: unset;
  bottom: 0px;
}

/* > */
.common-schedule__slider-area .swiper-button-next:after {
  font-size: 2.4rem;
  font-weight: 100;
  content: '\e5cc';
  color: var(--cbase);
  font-family: "Material Symbols Outlined";
}

/* < */
.common-schedule__slider-area .swiper-button-prev:after {
  font-size: 2.4rem;
  font-weight: 100;
  color: var(--cbase);
  content: '\e5cb';
  font-family: "Material Symbols Outlined";
}


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

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

@media(max-width:834px) {

  .common-schedule__slider-area .swiper-button-prev,
  .common-schedule__slider-area .swiper-button-next {
    width: 40px;
    height: 40px;
  }

  .common-schedule__slider-area .swiper-button-prev {
    left: 50%;
    right: unset;
    transform: translate(-100%, 0);
    top: unset;
    bottom: 0px;
  }

  .common-schedule__slider-area .swiper-button-next {
    left: calc(50% + 50px);
    transform: translate(-100%, 0);
    right: unset;
    top: unset;
    bottom: 0px;
  }
}

@media(max-width:500px) {
  .common-schedule__slider-area {
    width: 100%;
  }
}

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


.top-column {}

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

.top-column__item-ttl {
  text-align: center;
  background: var(--cbase);
  padding: 5px 0;
}

.top-column__item-child {
  border-bottom: 1px solid #ddd;
}

.top-column__item-child:last-of-type {
  border-bottom: none;
}

.top-column__item-child__link {
  display: block;
  padding-top: 20px;
  padding-bottom: 20px;
}

.top-column__link {
  display: flex;
  align-items: center;
  gap: 15px;
  width: fit-content;
  margin: 30px 0 0 auto;
}

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

@media(max-width:1024px) {
  .top-column__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 3%;
    margin-top: 25px;
  }
}

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

@media(max-width:600px) {
  .top-column__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px 3%;
    margin-top: 25px;
  }
}

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


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


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

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

.under-fv {
  position: relative;
  width: 100%;
  aspect-ratio: 1440 / 240;
  background: #F4F7FA;
  display: flex;
  justify-content: center;
  align-items: center;
}

.under-fv__cont {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.under-fv__ttl {
  font-size: var(--f36);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}

.breadcrumb.inner {
  max-width: 980px;
}

.breadcrumb {
  font-family: var(--jp02);
}

.breadcrumb li {
  font-weight: 500;
}

.breadcrumb li::after {
  content: "/";
  position: absolute;
  right: -27px;

  content: '\e5cc';
  top: 0;
  width: 1.6rem;
  height: 1.6rem;
  font-size: 1.6rem;
  font-weight: 100;
  font-family: "Material Symbols Outlined";
}

/* 
.breadcrumb {
  display: flex;
  align-items: center;
  margin-top: 15px;
}

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

.breadcrumb__item:not(:first-of-type)::before {
  content: '\e5cc';
  position: absolute;
  top: 0;
  left: 0.4em;
  width: 1.6rem;
  height: 1.6rem;
  font-size: 1.6rem;
  font-weight: 100;
  font-family: "Material Symbols Outlined";
} */

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

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

@media(max-width:834px) {

  .under-fv {
    width: 100%;
    aspect-ratio: 390 / 200;
  }

  .under-fv__ttl {
    font-size: 2.8rem;
  }

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

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

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

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

.under-nav__inner {}

.under-nav__ttl {
  line-height: 1.8;
  border-bottom: 1px solid #B5B5B5;
  width: fit-content;
  margin: 0 auto;
}

.under-nav__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2em 1em;
  margin-top: 40px;
}

.under-nav__item-link.btn {
  border: 1px solid #B5B5B5;
  width: fit-content;
  padding: 0 35px 0 20px;
}


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

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

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

  .under-nav__ttl {
    font-size: 2.5rem;
  }
}

@media(max-width:500px) {
  .under-nav__list {
    gap: .5em .5em;
    margin-top: 30px;
  }
}

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

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

@media(max-width:1423px) {
  .chap {
    padding-top: 7vw;
  }
}

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

.under-sec__ttl {
  display: block;
  position: relative;
  font-size: var(--f28);
  font-weight: 400;
  padding-bottom: 10px;
  margin-bottom: 45px;
}

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

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

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

.under-sec__ttl::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 40px;
  height: 1px;
  background: var(--cbase);
}

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

.under-sec__subttl {
  font-size: var(--f24);
  font-weight: 400;
  line-height: 1.7;
  background: var(--bgbl);
  padding: 20px 25px;
  margin-bottom: 25px;
}

.bgbl .under-sec__subttl {
  background: var(--bgw);
}

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

@media(max-width:834px) {
  .under-sec__subttl {
    /* font-size: 2rem; */
    padding: 15px 20px;
    margin-bottom: 20px;
  }
}

.under-sec__subsubttl {
  font-size: var(--f22);
  font-weight: 400;
  line-height: 1.7;
  margin-top: 40px;
  margin-bottom: 20px;
}

.under-sec__subsubttl.mrgt60 {
  margin-top: 60px;
}

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

@media(max-width:834px) {
  .under-sec__subsubttl {
    margin-top: 35px;
    margin-bottom: 20px;
  }
}



.under-img {
  max-width: 560px;
  width: 90%;
  margin-inline: auto;
}

.under-img.center {
  width: 50%;
  margin-inline: auto;
}

@media(max-width:834px) {
  .under-img.center {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
  }
}

.under-img__list {
  display: flex;
  justify-content: center;
  aspect-ratio: 888 / 260;
}

.under-img__item {
  width: 35.4%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.under-img__item:first-of-type {
  width: fit-content;
}

.under-img__item-img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@media(max-width:1100px) {

  .under-img__list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: fit-content;
  }

  .under-img__item {
    width: 100%;
    max-width: 560px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .under-img__item:first-of-type {
    width: 100%;
    max-width: 560px;
  }

}

.under-cont {
  display: grid;
  grid-template-columns: 62% 36%;
  gap: 25px 2%;
}

@media(max-width:834px) {
  .under-cont {
    display: flex;
    flex-direction: column-reverse;
    gap: 25px;
  }
}

.under-price__cont {
  display: grid;
  grid-template-columns: 36% 1fr;
  gap: 30px 25px;
}

@media(max-width:834px) {
  .under-price__cont {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
}

.under-case__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.under-case__item {
  position: relative;
}

.under-case__item-ttl {
  position: absolute;
  bottom: 10px;
  left: 15px;
  color: #fff;
  /* border: 1px solid #4876b7; */
  /* background: var(--bgbl);
  background: #fff; */
  /* text-align: center; */
  /* height: 38px;
  line-height: 38px; */
}

.faq-q,
.faq-a {
  position: relative;
  font-size: var(--f22);
  font-weight: 400;
  line-height: 1.7;
  padding: 20px 25px 20px 60px;
}

.faq-q {
  background: var(--bgbl);
  margin-top: 25px;
}

.bgbl .faq-q {
  background: var(--bgw);
}

.faq-a {
  font-family: var(--jp02);
  font-size: var(--txt18);
}

.faq-q:first-of-type {
  margin-top: 0;
}

.faq-q::before,
.faq-a::before {
  content: 'Q.';
  font-size: var(--f24);
  font-family: var(--jp);
  position: absolute;
  top: 27px;
  left: 25px;
  height: 1em;
  width: 1em;
  line-height: 1;
}

.faq-a::before {
  content: 'A.';
  top: 24px;
}

@media(max-width:834px) {

  .faq-q,
  .faq-a {
    padding-left: 48px;
  }

  .faq-q::before,
  .faq-a::before {
    top: 21px;
    left: 17px;
    height: 30px;
    width: 20px;
    font-size: 2.2rem;
  }
}

.under-checklist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 25px;
  padding: 30px 40px;
  background: var(--bgbl);
}

.bgbl .under-checklist {
  background: var(--bgw);
}

.under-checklist.no-bg {
  background: transparent;
  padding: 0px 15px;
}

.under-checklist>li {
  position: relative;
  display: inline-block;
  padding-left: 1.8em;
  line-height: 1.7;
}

.under-checklist>li::before {
  content: '';
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1.4em;
  height: 1.4em;
  background: url(../img/common/check.svg) no-repeat center / contain;
}

/* inner980 */
@media(max-width:1089px) {
  .under-checklist {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
    padding: 30px 40px;
  }
}

@media(max-width:500px) {
  .under-checklist {
    gap: 15px;
    padding: 20px 20px;
  }
}

.under-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 15px 25px;
  padding: 30px 40px;
  background: var(--bgbl);
}

.bgbl .under-list {
  background: var(--bgw);
}

.under-list.no-bg {
  background: none;
  padding: 0 15px;
}

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

.under-list>li::before {
  content: '';
  position: absolute;
  top: 0.8em;
  left: 0;
  width: .3rem;
  height: .3rem;
  border-radius: 100vmax;
  background: currentColor;
}

/* inner980 */
@media(max-width:1089px) {
  .under-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
    padding: 30px 40px;
  }
}

@media(max-width:500px) {
  .under-list {
    gap: 15px;
    padding: 20px 20px;
  }
}

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

.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-dl {
  display: grid;
  grid-template-columns: 150px 1fr;
}

.under-dl-case {
  grid-template-columns: 170px 1fr;
}

.under-dt,
.under-dd {
  /* display: flex; */
  /* align-items: center; */
  border-bottom: 1px solid #ddd;
  height: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
}

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

.under-dt {
  /* width: 150px; */
  font-weight: 500;
}

.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: 130px 1fr;
  }
}

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

  .under-dl__clinic {
    grid-template-columns: 1fr;
  }

  .under-dl__clinic {
    display: grid;
    grid-template-columns: 77px 1fr;
  }

  dl.under-dl__clinic {
    display: flex;
    flex-direction: column;
  }

  .clinic-access .under-dl {
    display: grid;
    grid-template-columns: 1fr;
  }

  .under-dl__clinic .under-dt {
    border-bottom: none;
    padding-top: 20px;
    padding-bottom: 10px;
  }

  .under-dl__clinic .under-dd {
    padding-top: 0px;
  }
}

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


.under-child-dl {
  display: grid;
  grid-template-columns: 180px 1fr;
}

.under-child-dt,
.under-child-dd {
  display: flex;
  /* align-items: center; */
  height: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}

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

.under-child-dt {
  font-weight: 400;
}

.under-child-dd {}

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

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

@media(max-width:834px) {
  .under-child-dl {
    display: grid;
    grid-template-columns: 160px 1fr;
  }
}

@media(max-width:500px) {
  .under-child-dl {
    display: grid;
    grid-template-columns: 1fr;
  }

  .under-child-dt,
  .under-child-dd {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .under-child-dt {
    margin-bottom: 8px;
  }

  .under-child-dd {
    margin-bottom: 20px;
  }
}


.table01 {
  width: 100%;
  border-collapse: collapse;
  caption-side: bottom;
}

.table01 th,
.table01 td {
  position: relative;
  border: #ddd 1px solid;
  padding: 12px 10px;
}

.table01 td {
  text-align: start;
  padding: 12px 3px 12px 10px;
}

.table01 thead th {
  font-weight: 500;
}

.table01 tbody th {
  width: 130px;
  font-weight: 500;
}

.medical08_implant01.table01 tbody th {
  width: 50%;
  font-weight: 500;
}

.medical08_implant02 thead th:nth-of-type(4) {
  width: 90px;
}

.price.table01 tbody th {
  width: 60%;
  font-weight: 500;
}

.price02.table01 tbody th {
  width: 36%;
  font-weight: 500;
}

.price.table01 tbody td,
.price02.table01 tbody td {
  font-family: var(--num);
}

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

@media(max-width:1024px) {
  .table01 tbody th {
    width: 110px;
  }
}

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

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

  .table01 tbody th {
    width: 90px;
  }

  .medical08_implant02 thead th:nth-of-type(4) {
    width: 75px;
  }

  .price.table01,
  .price02.table01 {
    margin: 0px 0;
  }
}

@media(max-width:600px) {
  .medical08_implant02 thead th:nth-of-type(4) {
    width: 30px;
    writing-mode: vertical-rl;
  }

  .table01.th-ver tbody th {
    width: 30px;
    writing-mode: vertical-rl;
  }
}



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



/* change-reservations 専用（他ページに影響しにくいようスコープ） */
.reserve-change {
  --rc-border: #e6e6e6;
  --rc-bg: #fafafa;
  --rc-bg2: #ffffff;
  --rc-text: #131313;
  --rc-muted: #666;
  --rc-accent: #b19243;
  /* 案件メインカラー */
}

.reserve-change__block-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 50px;
}

.reserve-change__block {
  position: relative;
  border: 1px solid var(--rc-border);
  background: var(--rc-bg2);
  border-radius: 16px;
  padding: 28px;
}

.change-reservations__block-left:before,
.change-reservations__block-right:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  bottom: 170px;
}

.change-reservations__block-left:before {
  right: -45px;
  border-width: 25px 0 25px 30px;
  border-color: transparent transparent transparent #00b5d4;
}

.change-reservations__block-right:before {
  left: -45px;
  border-width: 25px 30px 25px 0;
  border-color: transparent #eb7387 transparent transparent;
}

.reserve-change__ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  padding-left: 12px;
  border-left: 4px solid var(--rc-accent);
}

.change-reservations__block-left .reserve-change__ttl {
  border-left: 4px solid #00b5d4;
}

.change-reservations__block-right .reserve-change__ttl {
  border-left: 4px solid #eb7387;
}

.reserve-change__lead {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--rc-text);
}

.reserve-change__examples {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.reserve-change__ex {
  background: var(--rc-bg);
  border: 1px solid var(--rc-border);
  border-radius: 14px;
  padding: 16px 18px;
}

.reserve-change__ex-ttl {
  font-weight: 700;
  font-size: 15px;
  color: var(--rc-text);
}

.reserve-change .under-list {
  font-family: var(--jp02);
  padding: 10px 10px;
  margin-top: 10px;
}

.reserve-change .under-list>li {
  padding-left: 1em;
  line-height: 1.5;
}

.reserve-change__imgwrap {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--rc-border);
  background: #fff;
}

.reserve-change__imgwrap img {
  width: 100%;
  height: auto;
  display: block;
}

.reserve-change__note {
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--rc-muted);
}

.reserve-change__note-red {
  color: red;
}

.reserve-change__btn {
  display: flex;
  justify-content: center;
  margin: 40px auto 0;
}

.reserve-change__btn-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 66px;
  width: 260px;
  padding: 0 22px;
  border-radius: 20px;
  background: var(--rc-text);
  color: #fff;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.reserve-change__btn-link:hover {
  opacity: 0.85;
}

@media(max-width:834px) {

  .reserve-change__block-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px 50px;
  }

  .reserve-change__imgwrap {
    order: 1;
  }

  .change-reservations__block-left {
    order: 2;
  }

  .change-reservations__block-right {
    order: 3;
  }

  .change-reservations__block-left:before,
  .change-reservations__block-right:before {
    display: none;
  }


}

@media screen and (max-width: 834px) {
  .reserve-change__block {
    padding: 20px;
    border-radius: 14px;
  }

  .reserve-change__ttl {
    font-size: 18px;
  }

  .reserve-change__examples {
    grid-template-columns: 1fr;
  }
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}



/* ===== タブ ===== */
.calendar-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 16px;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 25px;
}

.tab-btn {
  padding: 10px 24px;
  font-size: 14px;
  font-family: inherit;
  cursor: pointer;
  border-radius: 4px;
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  line-height: 1;
  letter-spacing: 0.02em;
}

.tab-btn:hover {
  border-color: #1a3a5c;
  color: #1a3a5c;
}

.tab-btn.is-active {
  background: #1a3a5c;
  color: #fff;
  border-color: #1a3a5c;
}

/* ===== カレンダー画像エリア ===== */
.calendar-panels {
  position: relative;
  /* aspect-ratio: 329/302; */
}

.calendar-panel {
  display: none;
}

.calendar-panel.is-active {
  display: block;
}

.calendar-panel img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #ddd;
}

/* ===== フェードアニメーション ===== */
.calendar-panel.is-active {
  animation: fadeIn 0.25s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===== レスポンシブ ===== */
@media (max-width: 480px) {
  .tab-btn {
    padding: 8px 16px;
    font-size: 13px;
  }
}


.reserve-web {
  --rw-border: #e7e2d7;
  --rw-bg: #faf8f3;
  --rw-card: #ffffff;
  --rw-text: #131313;
  --rw-muted: #666666;
  --rw-accent: #b19243;
}

.reserve-web__notice-ttl {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--rw-text);
}

.reserve-web__cta-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.reserve-web__cta {
  width: 100%;
}

.reserve-web__cta:hover {
  opacity: .85;
}

.reserve-web__checklist {
  display: grid;
  gap: 10px;
}

.reserve-web__checklist li {
  /* position: relative;
  padding: 14px 16px 14px 44px;
  border: 1px solid var(--rw-border);
  background: var(--rw-card);
  border-radius: 14px;
  font-size: 1.5rem;
  line-height: 1.8; */
}

.reserve-web__checklist li::before {
  /* content: "✓";
  position: absolute;
  left: 16px;
  top: 14px;
  color: var(--rw-accent);
  font-weight: 700; */
}

.reserve-web__imgbox {
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--rw-border);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.reserve-web__imgbox img {
  display: block;
  width: 100%;
  height: auto;
}

.reserve-web__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.reserve-web__steps--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reserve-web__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 18px;
  border: 1px solid var(--rw-border);
  border-radius: 18px;
  background: var(--rw-card);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.reserve-web__step-no {
  margin-bottom: 12px;
  font-size: var(--f18);
  line-height: 1.6;
  /* font-weight: 700; */
  color: var(--rw-accent);
}

.reserve-web__step img {
  display: block;
  width: 100%;
  max-width: 330px;
  margin: auto;
  height: auto;
  /* border-radius: 12px; */
  /* border: 1px solid #eee; */
}

.reserve-web__step-txt {
  margin-top: 12px;
  font-size: 1.5rem;
  line-height: 1.8;
  color: var(--rw-text);
  font-family: var(--jp02);
}

.reserve-web__def-area {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 30px 3%;
}

.reserve-web__def {
  border-top: 1px solid var(--rw-border);
}

.reserve-web__def dt {
  padding: 18px 0 10px;
  font-size: var(--f18);
  line-height: 1.7;
  /* font-weight: 700; */
  color: var(--rw-text);
  border-top: 1px solid var(--rw-border);
}

.reserve-web__def dd {
  font-family: var(--jp02);
  padding: 0 0 18px;
  font-size: 1.5rem;
  line-height: 1.9;
  color: var(--rw-text);
}

.reserve-web__def dt:first-child {
  border-top: none;
}

@media screen and (max-width: 1089px) {
.reserve-web__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
}

@media screen and (max-width: 834px) {
  .reserve-web__cta-wrap,
  .reserve-web__steps,
  .reserve-web__steps--three {
    grid-template-columns: 1fr;
  }

  .reserve-web__notice {
    padding: 18px;
    border-radius: 14px;
  }

  .reserve-web__step {
    padding: 14px;
    border-radius: 14px;
  }

  .reserve-web__def-area {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 3%;
}
}

.clinic-mynumber__wrap {
  display: flex;
  margin-top: 20px;
}

.clinic-mynumber {
  max-width: 350px;
  width: 100%;
}

.clinic-meisai {
  display: block;
  max-width: 250px;
  margin: 20px auto 0 0;
}

.clinic-credit {
  display: block;
  max-width: 500px;
  width: 100%;
  margin: 15px 0 20px;
}

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

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

@media(max-width:834px) {
  .clinic-mynumber__wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}
}

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

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


.pagetop {
    position: fixed;
    bottom: 40px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: #333; /* 好みで変更 */
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0.4s;
    z-index: 100;
    padding-bottom: 12px;
}

@media(max-width:834px) {
    .pagetop {
        bottom: 65px;
        right: 20px;
    }
}

.pagetop.is-show {
    opacity: 1;
    visibility: visible;
}

.pagetop.is-footer {
    opacity: 0;
    visibility: hidden;
}

.pagetop__arrow {
    display: block;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(-45deg);
    margin: auto;
    margin-top: 18px;
}