/*-------post------*/
.post-thumbnail img {
  height: clamp(150px, var(--px-350), 350px);
}
.post-thumbnail {
  text-align: center;
  margin-bottom: 30px;
}
.archive-post-title {
  font-size: var(--b-fs);
  font-weight: var(--b-fw);
}
.single-post-title {
  font-size: var(--b-fs);
  font-weight: var(--b-fw);
}
.breadcrumb {
  background: var(--blue);
  padding-inline: 5.55%;
  display: flex;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-bottom: clamp(50px, var(--px-100), 100px);
}
.breadcrumb li::after {
  content: ">";
  margin: 0 1em;
  display: inline-block;
}
.breadcrumb li:last-child::after {
  content: none;
}
.breadcrumb li a,
.breadcrumb li {
  color: #fff;
}
.single-wrap {
  max-width: 950px;
  width: 100%;
  margin-inline: auto;
}
.pagination-area {
  margin-top: clamp(40px, var(--px-80), 80px);
}
.nav-links {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
}
/*-------hd------*/
.hd-group-part1 {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hd-group-part1 .insta-icon {
  margin-top: 16px;
}
.hd-group-part1 .insta-icon img {
  height: max(var(--px-68), 30px);
}
.hd-group-part1 .youtube-icon {
  margin-top: 16px;
}
.hd-group-part1 .youtube-icon img {
  height: max(var(--px-68), 30px);
}
.hd-logo-box {
  max-width: max(var(--px-241), 118px);
  width: 100%;
  margin-top: 16px;
  margin-left: 24px;
}
.hd-link-wrap {
  display: grid;
  grid-template-columns: auto auto max(var(--px-294), 260px);
  gap: max(var(--px-33), 15px);
}
.hd-info {
  position: absolute;
  width: 100%;
  text-align: center;
  bottom: -2.083vw;
  left: 0;
  transform: translate(0, 100%);
  font-weight: 700;
  line-height: 1.6;
}
/*-------ft-----*/
.ft-info-wrap .schedule-table tbody {
  border-left: 1px solid #d6d6d6;
  border-right: 1px solid #d6d6d6;
}
.ft-info-wrap {
  border-top: 1px solid #53929a;
  padding-top: clamp(60px, var(--px-80), 80px);
  padding-bottom: clamp(40px, var(--px-80), 80px);
}
.ft-info-wrap .dfl {
  gap: max(var(--px-100), 70px);
}
.ft-link-wrap {
  display: grid;
  grid-template-columns:
    max(var(--px-294), 260px)
    max(var(--px-68), 30px)
    max(var(--px-80), 30px);
  gap: 30px;
  justify-content: space-between;
}
.ft-link-wrap .btn-tel {
  border: 1px solid #d6d6d6;
}
.ft-logo-box {
  max-width: max(var(--px-342), 341px);
  width: 100%;
  margin-bottom: 1.5em;
}
.ft-banner-wrap {
  background: #f3f3f3;
  padding-top: clamp(50px, var(--px-80), 80px);
  padding-bottom: clamp(50px, var(--px-80), 80px);
}
.ft-banner-wrap .dfl {
  gap: max(var(--px-60), 30px);
}
.ft-banner-wrap .img-box {
  max-width: max(var(--px-580), 580px);
  width: 100%;
}
.ft-g-wrap {
  height: clamp(259px, var(--px-288), 288px);
}
.copyright-container {
  padding: 20px 0;
}
.pagetop img {
  width: max(var(--px-83), 40px);
}
.footerwrap {
  padding-top: 90px;
  padding-bottom: 70px;
}
.footerwrap .left {
  max-width: max(var(--px-378), 378px);
  width: 100%;
}
.footerwrap .right {
  max-width: max(var(--px-599), 599px);
  width: 100%;
}
.ft-main-menu .menu-item {
  padding: 0;
  margin-bottom: 10px;
}
.ft-main-menu .menu-item:last-child {
  margin-bottom: 0;
}
.ft-main-menu .menu-item a {
  font-weight: 400;
}
.ft-main-menu .menu-item a::before {
  content: "▶";
  color: #f1d04e;
  margin-right: 1em;
}
.ft-menu-tit {
  font-size: max(var(--px-30), 30px);
  color: var(--blue);
  border-bottom: 1px solid var(--blue);
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 30px;
}
.ft-menu-tit::first-letter {
  color: var(--yellow);
}
.ft-group {
  gap: max(var(--px-128), 30px);
  flex-wrap: wrap;
}
.footerwrap .nav-inner-wrap {
  padding-left: max(var(--px-36), 20px);
}
.footerwrap .right .dfl {
  gap: max(var(--px-70), 30px);
}
/*-------btn------*/
.btn-tel {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.btn-tel em {
  display: block;
  text-align: center;
  line-height: 1;
  width: 100%;
}
.btn-tel .s-txt {
  font-size: var(--b-fs);
}
.btn-tel .m-txt {
  font-size: max(var(--px-30), 3rem);
}
.btn-tel .m-txt::before {
  content: "";
  background: url(../../../uploads/2026/03/phone-icon.webp) no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  max-width: max(var(--px-33), 33px);
  width: 100%;
  aspect-ratio: 1 / 1;
}
.hd-group-part1 .btn-tel {
  background: #fff;
  width: 100%;
  height: max(var(--px-100), 68px);
}
.btn1 {
  max-width: max(var(--px-268), 268px);
  width: 100%;
  font-size: max(var(--px-20), 2rem);
  line-height: 1.6;
  padding-top: max(var(--px-20), 15px);
  padding-bottom: max(var(--px-20), 15px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--blue);
  color: #fff;
}
.btn1 em {
  display: block;
  width: calc(100% - max(var(--px-52), 52px));
  text-align: center;
}
.btn1::after {
  content: "";
  display: block;
  width: max(var(--px-52), 52px);
  height: 1px;
  background: #fff;
}
.btn1:hover {
  background: var(--yellow);
  opacity: 1;
}
/*-------table------*/
.schedule-table {
  width: 100%;
  max-width: 700px;
  margin: 0 auto 1.5em;
  border-collapse: collapse;
  font-size: max(var(--px-16), 1.4rem);
}
.schedule-table thead th {
  background: #53929a;
  color: #fff;
  padding-top: max(var(--px-10), 5px);
  padding-bottom: max(var(--px-10), 5px);
  padding-right: max(var(--px-10), 5px);
  padding-left: max(var(--px-10), 5px);
  font-weight: 600;
}
.schedule-table thead tr th:first-child {
  text-align: left;
  padding-left: max(var(--px-35), 10px);
}
.schedule-table tbody th,
.schedule-table tbody td {
  background: #fff;
  padding-top: max(var(--px-10), 5px);
  padding-bottom: max(var(--px-10), 5px);
  padding-right: max(var(--px-10), 5px);
  padding-left: max(var(--px-10), 5px);
  text-align: center;
  border-bottom: 1px solid #ddd;
}
.schedule-table tbody th {
  text-align: left;
  font-weight: 600;
  padding-left: max(var(--px-35), 10px);
}
.is-ok::before {
  content: "●";
}
.is-off::before {
  content: "／";
}
.is-limited::before {
  content: "◎";
}
/*-------tit------*/
.font40 {
  font-size: max(var(--px-40), 4rem);
}
.font1816 {
  font-size: max(var(--px-18), 1.6rem);
}
/*-------mv------*/
.fv-video {
  width: 100%;
  object-fit: cover;
}
.mvtxt-wrap {
  position: absolute;
  top: calc(50% - var(--px-60));
  left: 50%;
  z-index: 1;
  width: 100%;
  transform: translate(-50%, -50%);
}
.mvtxt {
  text-align: center;
  align-items: center;
  font-size: max(var(--px-60), 3rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 2;
  text-shadow: 0 4px 8px #000;
}
.mvtxt em {
  border-bottom: 1px solid #fff;
}
.mvtxt-wrap p {
  margin-top: 15px;
  line-height: 1;
  font-size: max(var(--px-24), 1.6rem);
}
.mvicon-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  width: 100%;
  gap: max(var(--px-26), 15px);
  padding-inline: 5.55%;
  padding-bottom: var(--px-60);
}
.mvicon {
  max-width: max(var(--px-229), 130px);
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.mvicon p {
  color: #fff;
  font-size: max(var(--px-26), 1.4rem);
  line-height: 1.6;
  text-align: center;
}
.mvicon .l-txt {
  font-size: max(var(--px-40), 3.2rem);
  line-height: 1;
}
.icon-circle_yellow {
  background: url(../../../uploads/2026/03/circle-icon-yellow.webp) no-repeat;
  background-size: contain;
  background-position: center center;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-circle_blue {
  background: url(../../../uploads/2026/03/circle-icon-blue.webp) no-repeat;
  background-size: contain;
  background-position: center center;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
/*-------sec1------*/
.sec1 .inner {
  background: #f3f3f3;
  padding-top: 80px;
  padding-bottom: 120px;
}
.sec1 .wrap {
  gap: max(var(--px-60), 20px);
}
.sec1 .section-tit {
  margin-bottom: clamp(40px, var(--px-50), 60px);
}
.top-post-wrap {
  height: max(var(--px-300), 300px);
  overflow: auto;
}
.top-post-wrap::-webkit-scrollbar {
  width: 5px;
}
.top-post-wrap::-webkit-scrollbar-track {
  background: #f3f3f3;
}
.top-post-wrap::-webkit-scrollbar-thumb {
  background: #53929a;
}
.top-post-wrap::-webkit-scrollbar-thumb:hover {
  background: #53929a;
}
.top-post-wrap article {
  margin-bottom: 60px;
}
.top-post-wrap .post-meta {
  margin-bottom: 20px;
}
.top-post-wrap .post-thumb {
  margin-bottom: 30px;
}
.top-post-wrap .post-thumb img {
  max-width: max(var(--px-245), 245px);
  width: 100%;
  height: max(var(--px-175), 175px);
  object-fit: cover;
}
.table-desc {
  margin-bottom: 30px;
}
.table-desc .box {
  display: grid;
  grid-template-columns: max(var(--px-114), 90px) auto;
  align-items: flex-start;
}
.table-desc-tit {
  font-size: max(var(--px-16), 1.4rem);
  background: var(--yellow);
  border-radius: 34px;
  padding-inline: 10px;
  max-width: max(var(--px-93), 77px);
  width: 100%;
  text-align: center;
  letter-spacing: 0;
}
.table-desc-co {
  font-size: max(var(--px-16), 1.4rem);
}
.info-point-box {
  display: flex;
  align-items: center;
  justify-content: center;
}
.info-point-box .icon-point {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  height: max(var(--px-142), 112px);
}
/*-------sec2------*/
.concept-wrap {
  height: clamp(636px, var(--px-726), 1000px);
  background: url(../../../uploads/2026/03/top-concept-bg.jpg) no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: 1;
}
.concept-wrap::after {
  content: "";
  width: 50%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  clip-path: polygon(50% 0, 100% 0%, 100% 100%, 0% 100%);
  -webkit-clip-path: polygon(50% 0, 100% 0%, 100% 100%, 0% 100%);
  background: rgba(106, 186, 196, 0.69);
}
.scroll-container {
  margin: 0;
  padding: 0;
  aspect-ratio: 1 / 1;
  height: max(var(--px-533), 340px);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: absolute;
  z-index: 3;
  right: 0;
  top: 0;
  transform: translateY(-20%);
  transition: 0.2s ease-in-out;
}
.circle-text {
  position: absolute;
  width: 100%;
  height: 100%;
  animation: rotate 20s linear infinite;
}
.circle-text span {
  position: absolute;
  font-family: "Cormorant Garamond", serif;
  left: 50%;
  font-size: max(var(--px-70), 5rem);
  font-weight: 600;
  color: var(--yellow);
  transform-origin: 0 calc(max(var(--px-533), 340px) / 2);
}
.concept-tit-wrap {
  position: absolute;
  top: 70px;
  left: 50%;
  z-index: 3;
  transform: translate(-50%, 0);
}
.concept-tit {
  font-size: max(var(--px-36), 2.4rem);
  gap: 30px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
}
.concept-tit em {
  display: inline-block;
  padding: max(var(--px-25), 15px);
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
  background: #fff;
  letter-spacing: 0.13em;
  box-shadow: 7px 8px 0px #f1d04e;
}
.concept-desc-box {
  justify-content: flex-end;
  gap: max(var(--px-40), 30px);
  padding-bottom: 150px;
}
.concept-desc-box .txt-box {
  max-width: max(var(--px-599), 300px);
  width: 100%;
  padding-top: 60px;
}
.concept-desc-tit {
  font-size: max(var(--px-32), 2.8rem);
  margin-bottom: 40px;
  line-height: 1.6;
}
.concept-desc-box .img-box {
  max-width: max(var(--px-722), 300px);
  width: 100%;
  margin-top: -110px;
  position: relative;
  z-index: 1;
}
.concept-dr-tit {
  border-bottom: 2px solid #333333;
  padding-bottom: 25px;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
}
.concept-dr-tit .s-txt {
  font-size: max(var(--px-24), 2rem);
}
.concept-dr-tit .l-txt {
  font-size: max(var(--px-36), 3rem);
}
.concept-dr-tit em {
  margin-right: 1em;
}
.concept-dr-tit em:last-child {
  margin-right: 0;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*-------sec3------*/
.reason-sec7-1 .cs-inner {
  padding-left: max(var(--px-211), 80px);
  padding-bottom: 120px;
}
.reason-sec7-1-tit-group {
  position: absolute;
  left: 0;
  top: 30px;
}
.reason-sec7-1-tit {
  font-size: max(var(--px-200), 70px);
  writing-mode: tb;
  color: #f3f3f3;
  font-weight: 400;
  white-space: nowrap;
  letter-spacing: 0.1em;
}
.reason-sec7-1-tit-ja {
  writing-mode: tb;
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  font-size: max(var(--px-30), 24px);
  white-space: nowrap;
  letter-spacing: 0.1em;
  font-weight: 600;
}
.reason-sec7-1-tit-ja .l-txt {
  writing-mode: lr;
  font-size: max(var(--px-64), 40px);
  line-height: 1;
}
.reason-sec7-1-wrap {
  justify-content: start;
  z-index: 1;
  padding-bottom: 30px;
}
.reason-sec7-1-wrap .img-box {
  max-width: max(var(--px-627), 342px);
  margin-inline: auto;
  width: 100%;
  transform: translateY(-20.8333vw);
  margin-bottom: -20.8333vw;
  position: relative;
  z-index: 1;
}
.reason-sec7-1-wrap .txt-box {
  max-width: max(var(--px-555), 555px);
  width: 100%;
  padding-top: 40px;
}
.reason-sec7-1-wrap-tit {
  font-size: max(var(--px-32), 24px);
  margin-bottom: 40px;
  line-height: 1.45;
}
.reason-sec7-1-wrap-desc {
  position: relative;
  z-index: 1;
}
.reason-sec7-1-wrap-desc::after {
  content: "01";
  font-family: "Noto Serif JP", serif;
  color: #f3f3f3;
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  transform: translate(20%, 30%);
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-180), 120px);
}
.reason-sec7-1-icon-wrap {
  display: flex;
  gap: max(var(--px-30), 10px);
}
.reason-sec7-1-icon {
  max-width: max(var(--px-229), 229px);
  width: 100%;
  aspect-ratio: 1 / 1;
}
.reason-sec7-1-icon p {
  font-size: max(var(--px-22), 16px);
}
/*-------sec4------*/
.reason-sec7-2 {
  margin-bottom: 120px;
}
.reason-sec7-2-wrap {
  background: url(../../../uploads/2026/03/top-reason-2-img.webp) no-repeat;
  background-position: center left;
  padding-top: var(--px-80);
  background-size: var(--px-986) 100%;
}
.reason-sec7-2-wrap .txt-box {
  max-width: max(var(--px-456), 300px);
  width: 100%;
  margin-right: max(var(--px-80), 20px);
  margin-left: auto;
  position: relative;
  z-index: 1;
}
.reason-sec7-2-txt-co-txt {
  position: relative;
  z-index: 1;
}
.reason-sec7-2-txt-co-txt::after {
  content: "02";
  font-family: "Noto Serif JP", serif;
  color: #f3f3f3;
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  transform: translate(5%, 30%);
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-180), 120px);
}
.reason-sec7-2-txt-box-txt1 {
  font-size: max(var(--px-40), 26px);
  line-height: 1.5;
  padding: 5px 20px;
  width: fit-content;
  margin-bottom: clamp(15px, var(--px-30), 30px);
  background: #fff;
  box-shadow: 7px 8px 0px #f1d04e;
}
.reason-sec7-2-txt-box-txt2 {
  font-size: max(var(--px-40), 26px);
  line-height: 1;
  padding: 8px 35px;
  width: fit-content;
  color: #fff;
  background: #333;
  margin-bottom: clamp(40px, var(--px-80), 80px);
  box-shadow: 7px 8px 0px #f1d04e;
}
.reason-sec7-2-txt-box-txt2 .l-txt {
  font-size: max(var(--px-64), 40px);
}
.reason-sec7-2-txt-co-tit {
  font-size: max(var(--px-30), 24px);
  margin-bottom: clamp(20px, var(--px-30), 30px);
  line-height: 1.7;
}
.reason-sec7-3-wrap-txt {
  max-width: max(var(--px-692), 692px);
  width: 100%;
  margin-inline: auto;
}
/*-------sec5------*/
.reason-sec7-3 {
  margin-bottom: 140px;
}
.reason-sec7-3-wrap-txt::after {
  content: "03";
  font-family: "Noto Serif JP", serif;
  color: #fff;
  position: absolute;
  z-index: -1;
  bottom: -50px;
  right: 0;
  transform: translateX(60%);
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-180), 120px);
}
.reason-sec7-3-wrap {
  padding-top: 65px;
  padding-bottom: 70px;
  position: relative;
  z-index: 1;
}
.reason-sec7-3-wrap::before {
  content: "";
  background: #f3f3f3;
  width: 87.5%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -2;
}
.reason-sec7-3-wrap::after {
  content: "";
  background-image: url(../../../uploads/2026/03/stripe-bg.webp);
  background-color: #fcf6dc;
  width: 87.5%;
  height: 35%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.reason-sec7-3-wrap-tit {
  font-size: max(var(--px-30), 24px);
  text-align: center;
  margin-bottom: 55px;
}
.reason-sec7-3-wrap-txt {
  margin-bottom: 70px;
}
.top-ga1-tit {
  font-size: max(var(--px-20), 20px);
  line-height: 1;
  padding: 20px 0;
  text-align: center;
  color: #fff;
  background: #53929a;
  width: 100%;
  font-weight: 500;
}
/*-------sec6------*/
.reason-sec7-4 {
  margin-bottom: 120px;
}
.reason-sec7-4 .cs-inner {
  padding-inline: 20px;
}
.reason-sec7-4 .dfl {
  gap: 20px;
}
.reason-sec7-4-card img {
  display: inline-block;
  margin-bottom: 40px;
}
.reason-sec7-4-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 90px;
  padding-top: max(var(--px-34), 30px);
  padding-inline: max(var(--px-34), 20px);
  background: #f3f3f3;
  position: relative;
  z-index: 1;
}
.reason-sec7-4-card.st02 {
  background: #f6f2e2;
}
.reason-sec7-4-card-tit {
  font-size: max(var(--px-30), 24px);
  color: var(--blue);
  margin-bottom: 30px;
}
.reason-sec7-4-card.st01::after {
  content: "04";
  font-family: "Noto Serif JP", serif;
  color: #fff;
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-180), 120px);
}
.reason-sec7-4-card.st02::after {
  content: "05";
  font-family: "Noto Serif JP", serif;
  color: #fff;
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-180), 120px);
}
.reason-sec7-4-card.st03::after {
  content: "06";
  font-family: "Noto Serif JP", serif;
  color: #fff;
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-180), 120px);
}
/*-------sec7------*/
.illustration-box {
  max-width: max(var(--px-651), 651px);
  width: 100%;
  height: max(var(--px-687), 350px);
  position: relative;
  margin-left: 30px;
}
.kids-img {
  position: absolute;
}
.kids-img.st01 {
  top: 0;
  left: 30px;
  width: max(var(--px-401), 215px);
}
.kids-img.st02 {
  bottom: 20px;
  right: 0;
  width: max(var(--px-353), 188px);
}
.kids-img.st03 {
  bottom: 0;
  left: 0;
  width: max(var(--px-290), 154px);
}
.kids-icon {
  position: absolute;
}
.kids-icon.st01 {
  right: 0;
  top: 0;
  transform: translate(15%, 40%);
  width: max(var(--px-356), 190px);
}
.kids-icon.st02 {
  left: -15px;
  bottom: 0;
  width: max(var(--px-106), 57px);
}
.kids-icon.st03 {
  right: 50%;
  bottom: 0;
  transform: translateX(35%);
  width: max(var(--px-121), 65px);
}
.reason-kids {
  background: linear-gradient(
    172deg,
    #fff 0%,
    #fff 14%,
    #f6f1e3 14%,
    #f6f1e3 100%
  );
  padding-bottom: 90px;
  margin-bottom: 100px;
}
.reason-kids .cs-inner {
  padding-bottom: 120px;
  background-image:
    url(../../../uploads/2026/03/ki-left-icon.webp),
    url(../../../uploads/2026/03/ki-right-icon.webp);
  background-repeat: no-repeat, no-repeat;
  background-position:
    left 40px bottom,
    right 40px bottom;
  background-size: max(var(--px-229), 101px), max(var(--px-229), 101px);
}
.reason-kids-tit {
  font-size: max(var(--px-96), 64px);
  font-weight: 400;
  margin-bottom: clamp(15px, var(--px-30), 30px);
}
.reason-kids-tit-ja {
  font-size: max(var(--px-30), 24px);
  margin-bottom: clamp(15px, var(--px-30), 30px);
}
.reason-kids-txt-box {
  max-width: max(var(--px-616), 616px);
  width: 100%;
}
.reason-kids-wrap {
  gap: max(var(--px-70), 30px);
  margin-bottom: 65px;
}
.reason-kids-list-wrap {
  padding-inline: 5.55%;
}
.reason-kids-list {
  max-width: max(var(--px-1072), 1072px);
  width: 100%;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: max(var(--px-40), 35px) max(var(--px-35), 25px);
}
.reason-kids-list li {
  max-width: max(var(--px-332), 140px);
  width: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: max(var(--px-40), 5px);
  padding: 5px 0 5px 15px;
}
.kids-list-icon::before {
  content: "";
  max-width: max(var(--px-62), 62px);
  width: 100%;
  aspect-ratio: 1 / 1;
  display: inline-block;
}
.kids-list-icon.st01::before {
  background: url(../../../uploads/2026/03/kids-point1.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.kids-list-icon.st02::before {
  background: url(../../../uploads/2026/03/kids-point2.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.kids-list-icon.st03::before {
  background: url(../../../uploads/2026/03/kids-point3.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.kids-list-icon.st04::before {
  background: url(../../../uploads/2026/03/kids-point4.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.kids-list-icon.st05::before {
  background: url(../../../uploads/2026/03/kids-point5.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.kids-list-icon.st06::before {
  background: url(../../../uploads/2026/03/kids-point6.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.illustration-box-st2 {
  max-width: max(var(--px-225), 120px);
  width: 100%;
  height: max(var(--px-193), 100px);
  position: absolute;
  right: 40px;
  top: 0px;
  transform: translateY(-20%);
}
.illustration-box-st2 .kids-icon.st04 {
  width: max(var(--px-137), 79px);
  right: 0;
  top: 0;
}
.illustration-box-st2 .kids-icon.st05 {
  width: max(var(--px-132), 56px);
  left: 0;
  bottom: 0;
}
.reason-kids-btn {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.co-slider2 img {
  object-fit: cover;
}
/*-------sec8------*/
.medical-sec1-tit {
  font-size: max(var(--px-150), 64px);
  color: var(--blue);
  text-align: center;
  margin-bottom: 20px;
  font-weight: 400;
}
.medical-sec1-tit span:first-child {
  color: var(--yellow);
}
.medical-sec1-tit-ja {
  font-size: max(var(--px-30), 30px);
  text-align: center;
  line-height: 1;
  margin-bottom: 70px;
}
.medical-sec1-wrap-tit {
  font-size: max(var(--px-40), 32px);
  text-align: center;
  margin-bottom: clamp(20px, var(--px-40), 40px);
  line-height: 1;
}
.medical-sec1-wrap-tit-en {
  font-size: max(var(--px-32), 24px);
  color: var(--yellow);
  font-weight: 400;
  text-align: center;
  line-height: 1;
  margin-bottom: clamp(20px, var(--px-40), 40px);
}
.medical-sec1-wrap {
  background: #f3f3f3;
}
.medical-sec1-wrap.st1 .img-box {
  max-width: max(var(--px-794), 550px);
  width: 100%;
  position: relative;
  z-index: 1;
}
.medical-sec1-wrap.st1 .img-box img {
  height: 100%;
  object-fit: cover;
  object-position: right;
}
.medical-sec1-wrap.st1 .img-box::before {
  content: "";
  width: max(var(--px-167), 167px);
  height: 100%;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../../../uploads/2026/03/decoration-yellow-icon.webp);
  background-size: cover;
  background-position: center center;
  z-index: -1;
  clip-path: polygon(0 0, 0 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 0);
}
.medical-sec1-wrap.st2 .img-box {
  max-width: max(var(--px-800), 550px);
  width: 100%;
  position: relative;
  z-index: 1;
}
.medical-sec1-wrap.st2 .img-box img:not(.medical-sec1-icon) {
  height: 100%;
  object-fit: cover;
  object-position: left;
}
.medical-sec1-wrap.st2 .img-box::before {
  content: "";
  width: max(var(--px-167), 167px);
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../../../uploads/2026/03/decoration-blue-icon.webp);
  background-size: cover;
  background-position: center center;
  z-index: -1;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.medical-sec1-wrap .txt-box {
  padding-top: clamp(45px, var(--px-130), 130px);
  padding-inline: 20px;
  padding-bottom: 20px;
}
.medical-sec1-wrap-desc {
  max-width: max(var(--px-492), 492px);
  width: 100%;
  margin-inline: auto;
  margin-bottom: clamp(30px, var(--px-50), 50px);
}
.medical-sec1-wrap .medical-sec1-icon {
  position: absolute;
  bottom: 15px;
  left: 0;
  width: max(var(--px-272), 179px);
}
/*-------sec9------*/
.medical-sec2 {
  margin-bottom: 120px;
  position: relative;
  background: url(../../../uploads/2026/03/stripe-bg.webp);
  background-size: cover;
  background-position: center top -20px;
}
.medical-sec2 .inner {
  padding-top: max(var(--px-120), 60px);
  padding-bottom: max(var(--px-120), 60px);
  position: relative;
}
.medical-sec2 .inner::before {
  content: "";
  width: max(var(--px-180), 180px);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: #53929a;
  z-index: -1;
  clip-path: polygon(0 0, 0 100%, 100% 0);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 0);
}
.medical-sec2 .inner::after {
  content: "";
  width: max(var(--px-180), 180px);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #f7eda2;
  z-index: -1;
  clip-path: polygon(100% 100%, 0 100%, 100% 0);
  -webkit-clip-path: polygon(100% 100%, 0 100%, 100% 0);
}
.medical-sec2-wrap {
  display: grid;
  gap: max(var(--px-25), 15px);
  grid-template-columns: repeat(4, max(var(--px-302), 162px));
}
.medical-card {
  background: #f3f3f3;
  position: relative;
  z-index: 1;
  padding-top: 40px;
  padding-bottom: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.medical-card span {
  font-size: max(var(--px-20), 1.6rem);
  font-weight: 500;
  display: block;
  text-align: center;
}
.medical-card span::before {
  content: "";
  width: max(var(--px-102), 78px);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  display: block;
  margin-bottom: 10px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.general-card span::before {
  background-image: url(../../../uploads/2026/03/general-icon.webp);
}
.endodontics-card span::before {
  background-image: url(../../../uploads/2026/03/endodontics-icon.webp);
}
.implant-card span::before {
  background-image: url(../../../uploads/2026/03/implant-icon.webp);
}
.orthodontics-card span::before {
  background-image: url(../../../uploads/2026/03/orthodontics-icon.webp);
}
.tmj-card span::before {
  background-image: url(../../../uploads/2026/03/tmj-icon.webp);
}
.cosmetic-card span::before {
  background-image: url(../../../uploads/2026/03/cosmetic-icon.webp);
}
.occlusion-card span::before {
  background-image: url(../../../uploads/2026/03/occlusion-icon.webp);
}
.tooth-transplant-card span::before {
  background-image: url(../../../uploads/2026/03/tooth-transplant-icon.webp);
}
.medical-card::before {
  content: "";
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  display: block;
  border: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.medical-card::after {
  content: "";
  display: block;
  width: max(var(--px-32), 25px);
  aspect-ratio: 1 / 1;
  background: var(--blue);
  clip-path: polygon(100% 100%, 0 100%, 100% 0);
  -webkit-clip-path: polygon(100% 100%, 0 100%, 100% 0);
  position: absolute;
  right: 0;
  bottom: 0;
}
/*-------sec10------*/
.recruit-sec-tit {
  font-size: max(var(--px-90), 64px);
  font-weight: 400;
}
.recruit-sec-tit-ja {
  font-size: max(var(--px-30), 30px);
  line-height: 1.2;
  margin-bottom: clamp(30px, var(--px-50), 50px);
}
.recruit-sec-desc {
  margin-bottom: clamp(30px, var(--px-75), 75px);
}
.recruit-sec {
  padding-bottom: 120px;
}
.recruit-wrap {
  background: #f3f3f3;
}
.recruit-sec .txt-area {
  max-width: max(var(--px-475), 475px);
  width: 100%;
  display: flex;
  align-items: center;
}
.recruit-sec .img-box {
  position: relative;
  z-index: 1;
}
.recruit-sec .img-box.right img {
  height: 100%;
  object-fit: cover;
  object-position: left;
}
.recruit-sec .img-box.left img {
  height: 100%;
  object-fit: cover;
  object-position: right;
}
.recruit-sec .img-box.right::before {
  content: "";
  width: max(var(--px-80), 80px);
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../../../uploads/2026/03/decoration-blue-icon.webp) no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -1;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  -webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.recruit-sec .img-box.left::before {
  content: "";
  width: max(var(--px-80), 80px);
  height: 100%;
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: url(../../../uploads/2026/03/decoration-yellow-icon.webp)
    no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -1;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%);
}
/*-------sec11------*/
.youtube-sec .cs-inner {
  padding-inline: 20px;
  padding-bottom: 140px;
}
.youtube-sec .dfl {
  gap: 70px 60px;
}
.youtube-sec-tit {
  font-size: max(var(--px-30), 20px);
  border-bottom: 2px solid var(--blue);
  margin-bottom: 15px;
}
.youtube-sec-tit::before {
  content: "";
  display: inline-block;
  width: max(var(--px-12), 12px);
  height: max(var(--px-40), 12px);
  background: linear-gradient(180deg, var(--yellow) 50%, var(--blue) 50%);
  vertical-align: text-top;
  margin-right: 10px;
}
/*-------sec12------*/
.sns-sec .inner {
  padding-bottom: 120px;
}
.sns-sec .wrap {
  gap: max(var(--px-132), 75px);
}
.sns-sec-tit {
  font-size: max(var(--px-50), 5rem);
  text-align: center;
  margin-bottom: 30px;
}
.sns-sec-tit span {
  vertical-align: middle;
}
.sns-sec-tit span::first-letter {
  color: var(--yellow);
}
.sns-sec-tit.insta-home {
  margin-bottom: 15px;
}
.insta-home::before {
  content: "";
  background: url(../../../uploads/2026/03/insta-home-icon.webp) no-repeat;
  background-size: contain;
  max-width: max(var(--px-80), 80px);
  width: 100%;
  aspect-ratio: 1 / 1;
  display: inline-block;
  vertical-align: middle;
  margin-right: 16px;
}
.top-insta-wrap {
  background: var(--blue);
  height: 100%;
  width: 100%;
}
.top-blog-post-wrap article {
  display: flex;
  gap: max(var(--px-20), 5px);
  background: #f3f3f3;
  padding: max(var(--px-15), 5px);
  margin-bottom: 15px;
}
.top-blog-post-wrap article:last-child {
  margin-bottom: 0;
}
.top-blog-post-wrap article .post-thumb {
  max-width: max(var(--px-132), 132px);
  width: 100%;
}
.top-blog-post-wrap article .post-meta {
  flex: 1;
}
.top-blog-post-wrap .post-content {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.6;
  max-height: calc(1.6em * 1);
}
.reason-kids-num {
  font-family: "Noto Serif JP", serif;
  color: #fff;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-180), 120px);
  text-align: center;
}
/*-------ipad----*/
@media screen and (max-width: 1180px) {
  .concept-dr-tit .l-txt {
    margin-right: 0;
  }
  .illustration-box-st2 {
    transform: translateY(-70%);
  }
  .ft-link-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .ft-link-wrap .btn-tel {
    width: 100%;
  }
}
/*-------ipad-air----*/
@media screen and (max-width: 820px) {
  .concept-desc-box .img-box {
    margin-top: 0;
  }
  .illustration-box-st2 {
    transform: translateY(-100%);
  }
  .reason-sec7-3-wrap-txt::after {
    transform: none;
  }
}
/*-------iphone----*/
@media screen and (max-width: 680px) {
  .fv-video {
    height: 100svh;
  }
  .mvicon {
    max-width: 166px;
  }
  .hd-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    padding-top: 25px;
    padding-bottom: 25px;
    transform: none;
    line-height: 2;
  }
  .mvicon-wrap {
    padding-bottom: 0;
    bottom: calc(83px + 33px);
  }
  /*-------sec1------*/
  .sec1 .inner {
    padding-top: 40px;
    padding-bottom: 90px;
  }
  .sec1 .wrap {
    gap: 90px;
  }
  .table-desc {
    margin-bottom: 40px;
  }
  /*-------sec2------*/
  .concept-tit-wrap {
    top: auto;
    bottom: 35px;
  }
  .concept-wrap::after {
    height: 200px;
    width: 100%;
    background: #53929a;
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 75%);
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 75%);
  }
  .concept-tit em {
    letter-spacing: 0.14em;
  }
  .concept-desc-box {
    padding-inline: 5.55%;
    padding-bottom: 70px;
  }
  .concept-desc-box .txt-box {
    max-width: 100%;
    padding-top: 15px;
  }
  .concept-desc-box .img-box {
    max-width: 100%;
  }
  .concept-desc-tit {
    margin-bottom: 30px;
  }
  .concept-dr-tit {
    padding-top: 25px;
    padding-bottom: 5px;
    width: 100%;
  }
  /*-------sec3------*/
  .reason-sec7-1 .cs-inner {
    padding-bottom: 60px;
  }
  .reason-sec7-1-tit-group {
    position: relative;
    top: auto;
    left: auto;
  }
  .reason-sec7-1-tit {
    white-space: normal;
    writing-mode: unset;
    text-align: center;
    line-height: 1;
  }
  .reason-sec7-1-tit::first-letter {
    color: var(--blue);
  }
  .reason-sec7-1-tit-ja {
    position: relative;
    white-space: normal;
    writing-mode: unset;
    top: auto;
    left: auto;
    transform: none;
    text-align: center;
    margin-bottom: 60px;
  }
  .reason-sec7-1 .cs-inner {
    padding-left: 0;
  }
  .reason-sec7-1-wrap .txt-box {
    padding-inline: 5.55%;
  }
  .reason-sec7-1-wrap-desc {
    z-index: 0;
  }
  .reason-sec7-1-wrap-tit {
    position: relative;
    z-index: 1;
  }
  .reason-sec7-1-wrap-desc::after {
    bottom: auto;
    top: 0;
    right: 0;
    transform: translate(0, -100%);
  }
  .reason-sec7-1-icon-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  /*-------sec4------*/
  .reason-sec7-2-wrap {
    background: none;
  }
  .reason-sec7-2-wrap .txt-box {
    margin: 0;
    max-width: 100%;
    padding-inline: 5.55%;
  }
  .reason-sec7-2 {
    margin-bottom: 60px;
  }
  .reason-sec7-2-txt-co-txt::after {
    bottom: auto;
    top: 0;
    right: 0;
    transform: translate(0, -100%);
  }
  .reason-sec7-2-txt-co-txt {
    z-index: 0;
  }
  .reason-sec7-2-txt-co-tit {
    position: relative;
    z-index: 1;
  }
  /*-------sec5------*/
  .reason-sec7-3 {
    margin-bottom: 60px;
  }
  body .reason-sec7-3-wrap-txt {
    padding-inline: 20px;
    z-index: 0;
    margin-bottom: 25px;
  }
  .reason-sec7-3-wrap {
    padding-top: 50px;
    padding-bottom: 60px;
  }
  .reason-sec7-3-wrap-txt::after {
    bottom: auto;
    top: 0;
    right: 0;
    transform: translate(0, -75%);
  }
  .reason-sec7-3-wrap-tit {
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
  }
  /*-------sec6------*/
  .reason-sec7-4-card img {
    margin-bottom: 30px;
  }
  .reason-sec7-4-card-tit {
    margin-bottom: 20px;
  }
  .reason-sec7-4-card {
    padding-bottom: 70px;
  }
  /*-------sec7------*/
  .illustration-box {
    margin-left: 0;
    overflow: hidden;
  }
  .reason-kids {
    background: linear-gradient(
      172deg,
      #fff 0%,
      #fff 3%,
      #f6f1e3 3%,
      #f6f1e3 100%
    );
  }
  .illustration-box-st2 {
    transform: none;
    bottom: 50%;
    top: auto;
    right: 0;
  }
  .reason-kids-txt-box {
    padding-inline: 20px;
  }
  .reason-kids-list li {
    justify-content: center;
    padding: 5px 0;
  }
  /*-------sec8------*/
  .medical-sec1-tit-ja {
    margin-bottom: 40px;
  }
  .medical-sec1-wrap .txt-box {
    padding-top: 40px;
    padding-bottom: 60px;
  }
  .medical-sec1-wrap-tit {
    margin-bottom: 20px;
  }
  .medical-sec1-wrap .medical-sec1-icon {
    left: 15px;
  }
  /*-------sec9------*/
  .medical-sec2 {
    margin-bottom: 40px;
    background-image: repeating-linear-gradient(
      90deg,
      #f9eee4,
      #f9eee4 2px,
      #fff9f5 2px,
      #fff9f5 4px
    );
    background-size: 100% 100%;
    z-index: 1;
  }
  .medical-sec2-wrap {
    grid-template-columns: repeat(2, max(var(--px-302), 162px));
  }
  /*-------sec10------*/
  .recruit-sec-desc {
    padding-inline: 20px;
  }
  /*-------sec9------*/
  /*-------sec9------*/
  /*-------ft------*/
  .ft-link-wrap {
    display: flex;
    flex-wrap: wrap;
  }
  .ft-link-wrap .btn-tel {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .ft-link-wrap .insta-icon,
  .ft-link-wrap .youtube-icon {
    width: 60px;
  }
  #page-top {
    display: none;
  }
}
/* CSS Document */
