









:root { --g: 16px; --gc: 13px; }   

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.page-top {
  margin: 0;
  background: var(--p-paper);
  color: var(--p-ink2);
  font-family: var(--p-font);
  font-weight: 400;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, ul, ol, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; }
.btn-pill.is-planned { background: #fff; color: var(--muted); box-shadow: inset 0 0 0 1px #DCD6D2; }
.btn-pill.is-planned small { margin-left: .2em; }
.is-planned { cursor: default; }
.is-planned small {
  font-size: 10px; color: var(--muted); font-weight: 400;
  margin-left: .6em; letter-spacing: .1em;
  border: 1px solid currentColor; border-radius: 999px; padding: .1em .6em; }
.hs-video__frame { position: relative; width: min(100%, 520px); margin-inline: auto; border-radius: 20px; overflow: hidden; background: var(--bg); }
.hs-video__el { display: block; width: 100%; height: auto; }
.hs-video__btn {
  position: absolute; right: 10px; bottom: 10px;
  padding: .35em .9em; border: 1.5px solid var(--red); border-radius: 999px;
  background: rgba(255, 255, 255, .92); color: var(--red); font-size: 12px; letter-spacing: .08em; cursor: pointer; }
.hs-video__btn:hover { background: var(--red); color: #fff; }
.hs-video--wide .hs-video__frame { width: 100%; border-radius: 22px; }
@media print {
  .hs-video { display: none !important; }
}
.mark-open {
  display: inline-block;
  width: 24px; height: 24px;
  border: 1.2px solid var(--ink);
  border-radius: 50%;
  vertical-align: middle; }
[data-reveal] {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .9s var(--ease-soft), transform .9s var(--ease-soft); }
[data-reveal].is-visible { opacity: 1; transform: none; }
.deco-sway { animation: sway 6.5s ease-in-out infinite; }
@keyframes sway {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-7px) rotate(2.2deg); }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .deco-sway { animation: none; }
}
@media (max-width: 820px) {
  .mark-open { width: 17px; height: 17px; }
}
@media (min-width: 1161px) {
  .mark-open { display: block; width: calc(30.4 * var(--u)); height: calc(30.4 * var(--u)); margin: calc(-4 * var(--u)) auto 0; border-width: 1px; }
}
.t-grid-pink, .t-grid-blue, .t-grid-cream { background-color: #fff; background-position: 0 0; background-repeat: repeat; }
.t-grid-pink {
  background-image: linear-gradient(to right, var(--p-grid-pink) 1px, transparent 1px), linear-gradient(to bottom, var(--p-grid-pink) 1px, transparent 1px);
  background-size: var(--g) var(--g);
}
.t-grid-blue {
  background-image: linear-gradient(to right, var(--p-grid-blue) 1px, transparent 1px), linear-gradient(to bottom, var(--p-grid-blue) 1px, transparent 1px);
  background-size: var(--g) var(--g);
}
.t-grid-cream {
  background-image: linear-gradient(to right, var(--p-grid-cream) 1px, transparent 1px), linear-gradient(to bottom, var(--p-grid-cream) 1px, transparent 1px);
  background-size: var(--gc) var(--gc);
}
.t-dots.t-grid-cream {
  --dot: radial-gradient(circle, var(--p-ink2) 52%, transparent 60%);
  background-image: var(--dot), var(--dot), var(--dot), var(--dot),
    linear-gradient(to right, var(--p-grid-cream) 1px, transparent 1px), linear-gradient(to bottom, var(--p-grid-cream) 1px, transparent 1px);
  background-size: var(--dotsz, 5px) var(--dotsz, 5px), var(--dotsz, 5px) var(--dotsz, 5px), var(--dotsz, 5px) var(--dotsz, 5px), var(--dotsz, 5px) var(--dotsz, 5px), var(--gc) var(--gc), var(--gc) var(--gc);
  background-position: var(--dotin, 9px) var(--dotin, 9px), calc(100% - var(--dotin, 9px)) var(--dotin, 9px), var(--dotin, 9px) calc(100% - var(--dotin, 9px)), calc(100% - var(--dotin, 9px)) calc(100% - var(--dotin, 9px)), 0 0, 0 0;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat;
}
.t-arrow { width: 30px; height: 10px; flex: 0 0 auto; }
.t-sec { position: relative; overflow-x: clip; }
.t-sec__inner { position: relative; max-width: 640px; margin: 0 auto; padding: 48px 20px; }
.t-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin: 0 0 24px; font-weight: 400; }
.t-head__en { order: -1; font-size: 28px; font-weight: 500; line-height: 1; color: var(--p-black); }   
.t-head__ja { display: inline-flex; gap: 0; padding-bottom: 4px; border-bottom: .5px solid var(--p-black); }   
.t-head__ja span { font-size: 13px; line-height: 1; letter-spacing: .1em; color: var(--p-black); }
.t-feat .t-head__ja span { font-size: 12px; letter-spacing: .05em; }   
.t-more, .news__more { margin: 20px 0 0; }
.t-frame .t-more { margin: 16px 0 0; }
.news__more { text-align: right; }
.t-more--right { text-align: right; }
.t-more--center { text-align: center; }
.t-more a, .news__more a {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  font-size: 14px;
  line-height: 1.2;
  color: var(--p-ink2);
  text-decoration: none;
  border-bottom: .5px solid var(--p-ink2);
  padding-bottom: 1px;
}
.t-more .btn-pill { flex-direction: row-reverse; }
.t-more .arrow { font-weight: 400; }
.t-frame { border: .75px solid var(--p-ink2); padding: 22px 18px; font-size: 15px; line-height: 1.95; text-align: justify; color: #111; }
.t-frame p + p { margin-top: 1.9em; }
.t-hero { position: relative; background: var(--p-grey); overflow-x: clip; }
.t-hero__stage { position: relative; padding: 24px 20px 0; }
.t-hero__copy { color: #fff; font-weight: 500; font-size: clamp(22px, 6vw, 31px); letter-spacing: .05em; }
.t-hero__copy span { display: inline-block; line-height: 1.2; padding-bottom: 3px; border-bottom: .5px solid #fff; margin: 0 0 .55em; }
.t-hero__scroll { display: flex; align-items: flex-start; gap: 10px; color: #fff; font-size: 11px; font-weight: 500; letter-spacing: .17em; line-height: 1.2; }
.t-hero__scroll svg { width: 12px; height: 16px; }
.t-hero__art { position: relative; width: 150%; margin: 10px 0 0 -28%; }   
.t-hero__scene { width: 100%; max-width: none; margin: 0; }
.t-badge {
  position: absolute;
  left: 82.29%;              
  top: 22.86%;               
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--p-mustard);
  color: #fff;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 10.5px;
  line-height: 1.35;
  text-decoration: none;
}
.t-hero__photo { margin: 0; aspect-ratio: 4 / 3; }
.t-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.t-news__box { border: .5px solid var(--p-ink2); padding: 4px 16px 22px; position: relative; }
.news__item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; padding: 16px 0 12px; border-bottom: 1px solid var(--p-rule); color: var(--p-ink2); text-decoration: none; font-size: 14px; line-height: 1.6; }
.news__item time { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.news__item:hover .news__item-title { text-decoration: underline; }
.t-news .t-sec__inner { padding-bottom: 78px; }   
.t-news__kid { position: absolute; left: 20px; bottom: -2px; width: 56px; margin: 0; }   
.t-cong { background: #fff; }
.t-cong__lead { font-size: 14px; line-height: 1.8; margin: -8px 0 20px; }
.congestion__day { display: inline-block; border: .75px solid var(--p-black); border-radius: 999px; padding: 8px 22px; font-size: 14px; line-height: 1.2; letter-spacing: .08em; color: var(--p-black); margin: 0 auto 20px; }
.t-cong__card { text-align: center; }
.congestion__slots { display: grid; grid-template-columns: 1fr 1fr; text-align: center; }
.congestion__slot { position: relative; border-left: .5px solid var(--p-ink2); padding: 6px 4px 18px; }
.congestion__slot:nth-child(2n) { border-right: .5px solid var(--p-ink2); }
.congestion__time { display: block; font-size: 15px; line-height: 1.2; color: var(--p-black); letter-spacing: .02em; }
.congestion__faces { display: none; }
.congestion__status {
  margin: 14px auto 0;
  width: 104px;
  height: 101px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-weight: 500;
}
.congestion__status-main { font-size: 15px; line-height: 1; }
.congestion__status-sub { font-size: 11px; line-height: 1; }
.congestion__slot--busy .congestion__status { border: 1.5px solid var(--p-red2); color: var(--p-red2); }
.congestion__slot--semi .congestion__status {
  color: var(--p-orange);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 134 130'%3E%3Cellipse cx='67' cy='65' rx='65.5' ry='63.5' fill='none' stroke='%23D56B00' stroke-width='2' stroke-dasharray='3 4'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.congestion__slot--closed { grid-column: 1 / -1; border-right: .5px solid var(--p-ink2); }
.congestion__slot--closed .congestion__status { border: 1.5px solid var(--p-ink2); color: var(--p-ink2); }
.congestion__sample-note { margin: 14px 0 0; font-size: 11px; line-height: 1.6; color: var(--muted); text-align: center; }
.t-about__loop, .t-about__kid { display: none; }
.t-about__photo { border: .5px solid var(--p-black); background: #fff; padding: 0; aspect-ratio: 352 / 490; max-width: 300px; margin: 0 auto 24px; }
.t-about__photo img { width: 100%; height: 100%; object-fit: cover; }
.t-feat__kid { display: none; }
.t-feat__list { display: grid; gap: 40px; }
.t-feat__item { position: relative; display: grid; grid-template-columns: 48px 1fr; column-gap: 14px; }
.t-feat__num { grid-row: 1 / 3; width: auto; height: 96px; justify-self: center; }
.t-feat__title { font-size: 18px; font-weight: 500; line-height: 1.6; letter-spacing: .07em; margin: 0 0 10px; }
.t-feat__title--hang { text-indent: -.5em; }
.t-feat__item--1 .t-feat__title { color: var(--p-red); }
.t-feat__item--2 .t-feat__title { color: var(--p-navy); }
.t-feat__item--3 .t-feat__title { color: var(--p-green); }
.t-feat__item--4 .t-feat__title { color: var(--p-mustard); }
.t-feat__body { font-size: 15px; line-height: 1.95; text-align: justify; color: var(--p-ink2); }
.t-feat__body a { text-decoration: underline; text-underline-offset: .2em; }
.t-feat__art { grid-column: 2; position: relative; display: block; width: 200px; aspect-ratio: 418.8 / 288.5; margin: 14px 0 0; }
.t-feat__photo { position: absolute; z-index: 1; left: 0.478%; top: 0.693%; width: 67.93%; aspect-ratio: 1; height: auto; border-radius: 50%; object-fit: cover; }
.t-feat__circles { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; margin: 0; }   
.t-int__house, .t-int__kid { display: none; }
.t-int__frame { border: .5px solid var(--p-ink); background: #fff; }
.t-int__frame .hs-video { margin: 0; }
.t-int__frame .hs-video__frame { width: 100%; border-radius: 0; background: transparent; }
.t-int__frame .hs-video__cap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); margin: -1px; }
.t-int__stills { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.t-int__still { margin: 0; border: .5px solid var(--p-ink); background: #fff; aspect-ratio: 436 / 260; overflow: hidden; }
.t-int__still img { width: 100%; height: 100%; object-fit: cover; }
.t-svc { background: #fff; }
.t-svc__lead { font-size: 14px; line-height: 1.8; margin: -8px 0 20px; }
.t-svc__grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 560px) {
  .t-svc__grid { grid-template-columns: 1fr 1fr; }
}
.t-card {
  position: relative;
  display: block;
  min-height: 190px;
  border: .75px solid var(--p-black);
  background: #fff;
  color: var(--p-black);
  text-decoration: none;
  transition: background .25s var(--ease-soft);
}
a.t-card:hover { background: var(--p-paper); }
.t-card__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 52px; padding: 0 12px 0 20px; border-bottom: .5px solid var(--p-black); }
.t-card__name { font-size: 18px; font-weight: 400; line-height: 1.2; letter-spacing: .03em; margin: 0; }
.service-card__sub { font-size: .7em; }
.t-card__desc { padding: 14px 20px 0 18px; font-size: 13px; line-height: 1.7; letter-spacing: .05em; width: 78%; }
.t-card__en { position: absolute; left: 14px; bottom: 14px; font-size: 14px; line-height: 1; letter-spacing: .02em; }
.t-card__icon { position: absolute; right: 14px; bottom: 12px; width: 62px; height: auto; }
.t-card__icon--sprite { width: 56px; height: 56px; color: #808080; --ic-paper: #fff; }
.t-card__soon { font-size: 11px; line-height: 1; letter-spacing: .06em; border: .5px solid var(--p-rule); color: var(--p-rule); padding: 5px 8px; white-space: nowrap; }
.t-card--soon { color: #555; }
.t-card--hidden, .t-svc__grid li[hidden] { display: none !important; }
.t-card--soon .t-card__row { border-bottom-color: var(--p-rule); }
.service__more { margin-top: 12px; }
.t-greet__loop, .t-greet__kid { display: none; }
.t-greet__photo { position: relative; border: .75px solid var(--p-ink2); background: #fff; aspect-ratio: 432 / 492; max-width: 300px; margin: 0 auto 24px; display: grid; place-content: center; text-align: center; color: var(--p-rule); }
.t-greet__soon { font-size: 15px; letter-spacing: .2em; }
.t-greet__soon-en { font-size: 11px; letter-spacing: .12em; }
.t-greet__name { margin: 0 0 10px; }
.t-greet__name-ja { display: inline-block; border: 1px solid var(--p-red); color: var(--p-red); font-size: 20px; font-weight: 500; line-height: 1; letter-spacing: .03em; padding: 10px 16px; }
.t-greet__name-en { font-size: 18px; line-height: 1.2; color: var(--p-black); margin: 0 0 14px; }
.t-greet__role, .t-greet__cred { font-size: 15px; line-height: 1.8; letter-spacing: .04em; color: var(--p-black); }
.t-frame.t-greet__text p + p { margin-top: 0; }
.t-frame.t-greet__text p.t-greet__name-en { margin: 10px 0 14px; }
.greeting__msg { border-top: 1px solid var(--p-black); margin-top: 16px; padding-top: 16px; }
.greeting__msg p + p { margin-top: 0; }
.t-hours { background: #fff; }
.t-hours__card { border: 1px solid var(--p-ink); overflow-x: auto; }
.hours__table { width: 100%; min-width: 440px; border-collapse: collapse; table-layout: fixed; color: var(--p-ink); background: transparent; }
.hours__table th, .hours__table td { font-weight: 400; text-align: center; padding: 14px 4px; border-bottom: 1px solid var(--p-ink); font-size: 14px; line-height: 1.2; letter-spacing: .06em; }
.hours__table tbody tr:last-child th, .hours__table tbody tr:last-child td { border-bottom: 0; }
.hours__table th:first-child { border-right: 1px solid var(--p-ink); width: 32%; }
.hours__table .mark-open { display: inline-block; width: 16px; height: 16px; border: 1px solid var(--p-ink); border-radius: 50%; vertical-align: middle; background: transparent; }
.hours__notes { margin: 22px 0 0; display: grid; gap: 10px; font-size: 13px; line-height: 1.7; }
.hours__notes li { position: relative; padding-left: 18px; }
.hours__notes li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--p-red); }
.hours__notes strong { font-weight: 500; }
@media (min-width: 1161px) {
  :root { --g: calc(16.8 * var(--u)); --gc: calc(13.7 * var(--u)); }
  .t-arrow { width: calc(30 * var(--u)); height: calc(10 * var(--u)); }
  
  .t-hero { height: calc(1441 * var(--u)); }
  .t-hero__stage { position: absolute; left: 50%; top: 0; width: calc(1440 * var(--u)); height: 100%; margin-left: calc(-720 * var(--u)); padding: 0; }
  .t-hero__copy { position: absolute; left: calc(65 * var(--u)); top: calc(113 * var(--u)); font-size: calc(31 * var(--u)); margin: 0; }
  .t-hero__copy span { display: block; line-height: calc(31 * var(--u)); padding-bottom: calc(3 * var(--u)); margin: 0 0 calc(22.5 * var(--u)); }
  .t-hero__scroll { position: absolute; left: calc(71.7 * var(--u)); top: calc(233.4 * var(--u)); font-size: calc(11 * var(--u)); gap: calc(11 * var(--u)); }
  .t-hero__scroll svg { width: calc(12.2 * var(--u)); height: calc(16.1 * var(--u)); }
  .t-hero__art { position: absolute; left: calc(-101.5 * var(--u)); top: calc(184.3 * var(--u)); width: calc(1574.1 * var(--u)); margin: 0; }
  .t-badge { width: calc(103.8 * var(--u)); height: calc(101.4 * var(--u)); font-size: calc(15 * var(--u)); line-height: calc(20 * var(--u)); }   
  .t-hero__photo { position: absolute; left: 0; top: calc(669 * var(--u)); width: 100%; height: calc(772 * var(--u)); aspect-ratio: auto; }
  .t-sec__inner { width: calc(1440 * var(--u)); max-width: none; margin: 0 auto; padding: 0; }
  .t-head { position: absolute; left: calc(145 * var(--u)); margin: 0; display: block; }
  .t-head__ja { display: flex; flex-direction: row-reverse; gap: calc(11 * var(--u)); padding-bottom: 0; border-bottom: 0; }
  .t-head__ja span { position: relative; writing-mode: vertical-rl; font-size: calc(20 * var(--u)); line-height: calc(20 * var(--u)); letter-spacing: calc(2.3 * var(--u)); border: 0; padding: 0 calc(0.5 * var(--u)) 0 0; }
  .t-head__ja span::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; border-right: .5px solid var(--p-black); }
  .t-head__en { position: absolute; order: 0; top: calc(-14 * var(--u)); font-size: calc(35 * var(--u)); white-space: nowrap; }
  .t-head--2 { left: calc(114 * var(--u)); }
  .t-more { position: absolute; margin: 0; }
  .t-more a, .news__more a { font-size: calc(15 * var(--u)); padding-bottom: calc(1 * var(--u)); }
  .t-frame { padding: 0; font-size: calc(19 * var(--u)); line-height: calc(45.4 * var(--u)); }
  .t-news .t-sec__inner { min-height: calc(472.7 * var(--u)); padding: calc(101.2 * var(--u)) 0 calc(98.7 * var(--u)); }
  .t-news .t-head { top: calc(117 * var(--u)); }
  .t-news .t-head__en { left: calc(65 * var(--u)); }
  .t-news__box {
    position: relative;
    margin: 0 0 0 calc(533.2 * var(--u));
    width: calc(759.8 * var(--u));
    min-height: calc(232.6 * var(--u));
    padding: calc(7.4 * var(--u)) calc(35.3 * var(--u)) calc(75 * var(--u)) calc(37.3 * var(--u));
  }
  .t-dots.t-grid-cream { --dotsz: calc(5.2 * var(--u)); --dotin: calc(9.5 * var(--u)); }
  .news__item { flex-wrap: nowrap; align-items: flex-end; min-height: calc(75 * var(--u)); padding: 0 0 calc(18 * var(--u)); gap: 0; font-size: calc(17 * var(--u)); line-height: 1.5; letter-spacing: .02em; }
  .news__item time { flex: 0 0 calc(146 * var(--u)); }
  .t-news .news__more { position: static; text-align: right; margin: calc(22.2 * var(--u)) calc(154 * var(--u)) 0 0; }
  .t-news__kid { position: absolute; left: calc(122.4 * var(--u)); bottom: calc(-2 * var(--u)); width: calc(82.5 * var(--u)); margin: 0; }
  .t-cong .t-sec__inner { height: calc(615.4 * var(--u)); }
  .t-cong .t-head { top: calc(92.3 * var(--u)); }
  .t-cong .t-head__en { left: calc(64 * var(--u)); }
  .t-cong__lead { position: absolute; left: calc(530 * var(--u)); top: calc(89 * var(--u)); margin: 0; font-size: calc(17 * var(--u)); line-height: 1.2; white-space: nowrap; }
  .t-cong__card { position: static; }
  .congestion__day { position: absolute; left: calc(659.1 * var(--u)); top: calc(190 * var(--u)); width: calc(272.3 * var(--u)); height: calc(45.6 * var(--u)); padding: 0; margin: 0; display: grid; place-items: center; font-size: calc(18 * var(--u)); border-width: .75px; }
  .congestion__slots { position: absolute; left: calc(303.4 * var(--u)); top: calc(281.1 * var(--u)); width: calc(940.4 * var(--u)); height: calc(213.9 * var(--u)); grid-template-columns: repeat(4, 1fr); }
  .congestion__slot { padding: 0; border-left: .5px solid var(--p-ink2); }
  .congestion__slot:nth-child(2n) { border-right: 0; }
  .congestion__slot:last-child { border-right: .5px solid var(--p-ink2); }
  .congestion__time { position: absolute; left: 0; right: 0; top: calc(1 * var(--u)); font-size: calc(21 * var(--u)); }
  .congestion__status { position: absolute; left: 50%; top: calc(77.6 * var(--u)); width: calc(133.4 * var(--u)); height: calc(129.8 * var(--u)); margin: 0 0 0 calc(-66.7 * var(--u)); gap: calc(10 * var(--u)); }
  .congestion__slot--busy .congestion__status { border-width: calc(1.5 * var(--u)); }
  .congestion__status-main { font-size: calc(20 * var(--u)); }
  .congestion__status-sub { font-size: calc(15 * var(--u)); }
  .congestion__slot--closed { border-right: .5px solid var(--p-ink2); }
  .congestion__sample-note { position: absolute; left: 0; right: 0; top: calc(515 * var(--u)); margin: 0; font-size: calc(12 * var(--u)); }
  .t-about .t-sec__inner { height: calc(989.3 * var(--u)); }
  .t-about .t-head { top: calc(111.9 * var(--u)); }
  .t-about .t-head__en { left: calc(94 * var(--u)); }
  .t-about__loop { display: block; position: absolute; left: calc(148 * var(--u)); top: calc(157.9 * var(--u)); width: calc(789.7 * var(--u)); }
  .t-about__photo { position: absolute; left: calc(288.5 * var(--u)); top: calc(321.2 * var(--u)); width: calc(352.3 * var(--u)); height: calc(489.6 * var(--u)); max-width: none; margin: 0; aspect-ratio: auto; }
  .t-about__kid { display: block; position: absolute; left: calc(343.8 * var(--u)); top: calc(231.6 * var(--u)); width: calc(75.2 * var(--u)); }
  .t-about__text { position: absolute; left: calc(694.9 * var(--u)); top: calc(111.4 * var(--u)); width: calc(561.7 * var(--u)); min-height: calc(641.3 * var(--u)); padding: calc(40 * var(--u)) calc(41.6 * var(--u)) calc(30 * var(--u)) calc(43.1 * var(--u)); }
  .t-about__text p + p { margin-top: calc(45.4 * var(--u)); }
  .t-about__cta { right: calc(15.6 * var(--u)); top: 100%; margin-top: calc(17.2 * var(--u)); }
  .t-feat .t-sec__inner { height: calc(1805.9 * var(--u)); }
  .t-feat .t-head { top: calc(118.6 * var(--u)); }
  .t-feat .t-head__en { left: calc(92 * var(--u)); }
  .t-feat__kid { display: block; position: absolute; left: calc(1091.7 * var(--u)); top: calc(117.8 * var(--u)); width: calc(94.6 * var(--u)); }
  .t-feat__list { display: block; }
  .t-feat__item { position: absolute; inset: 0; display: block; }
  .t-feat__num { position: absolute; height: auto; }
  .t-feat__title { position: absolute; margin: 0; width: calc(433 * var(--u)); font-size: calc(24 * var(--u)); line-height: calc(42 * var(--u)); }
  .t-feat__body { position: absolute; width: calc(433 * var(--u)); font-size: calc(18 * var(--u)); line-height: calc(35.3 * var(--u)); }
  .t-feat__art { position: absolute; width: calc(418.8 * var(--u)); margin: 0; }
  .t-feat__item--1 .t-feat__num { left: calc(249.4 * var(--u)); top: calc(275.1 * var(--u)); width: calc(40.9 * var(--u)); }
  .t-feat__item--1 .t-feat__title { left: calc(338 * var(--u)); top: calc(262.6 * var(--u)); }
  .t-feat__item--1 .t-feat__body { left: calc(336 * var(--u)); top: calc(375 * var(--u)); }
  .t-feat__item--1 .t-feat__art { left: calc(887 * var(--u)); top: calc(245.4 * var(--u)); }
  .t-feat__item--2 .t-feat__num { left: calc(760.1 * var(--u)); top: calc(646.8 * var(--u)); width: calc(84.1 * var(--u)); }
  .t-feat__item--2 .t-feat__title { left: calc(867 * var(--u)); top: calc(635.6 * var(--u)); }
  .t-feat__item--2 .t-feat__body { left: calc(867 * var(--u)); top: calc(748 * var(--u)); }
  .t-feat__item--2 .t-feat__art { left: calc(279.8 * var(--u)); top: calc(617.1 * var(--u)); }
  .t-feat__item--3 .t-feat__num { left: calc(233.2 * var(--u)); top: calc(1007.8 * var(--u)); width: calc(71 * var(--u)); }
  .t-feat__item--3 .t-feat__title { left: calc(338 * var(--u)); top: calc(995.6 * var(--u)); }
  .t-feat__item--3 .t-feat__body { left: calc(338 * var(--u)); top: calc(1108 * var(--u)); }
  .t-feat__item--3 .t-feat__art { left: calc(887 * var(--u)); top: calc(994.5 * var(--u)); }
  .t-feat__item--4 .t-feat__num { left: calc(758.9 * var(--u)); top: calc(1379.6 * var(--u)); width: calc(86.5 * var(--u)); }
  .t-feat__item--4 .t-feat__title { left: calc(867 * var(--u)); top: calc(1382.6 * var(--u)); }
  .t-feat__item--4 .t-feat__body { left: calc(867 * var(--u)); top: calc(1495 * var(--u)); }
  .t-feat__item--4 .t-feat__art { left: calc(266.1 * var(--u)); top: calc(1355.4 * var(--u)); }
  .t-int .t-sec__inner { height: calc(1070.1 * var(--u)); }
  .t-int .t-head { left: calc(135 * var(--u)); top: calc(94.7 * var(--u)); }
  .t-int .t-head__en { left: calc(61 * var(--u)); }
  .t-int__house { display: block; position: absolute; left: calc(510.6 * var(--u)); top: calc(110.6 * var(--u)); width: calc(815.1 * var(--u)); }
  .t-int__frame { position: absolute; left: calc(273.2 * var(--u)); top: calc(232.2 * var(--u)); width: calc(892.1 * var(--u)); height: calc(479.1 * var(--u)); }
  .t-int__frame .hs-video, .t-int__frame .hs-video__frame { height: 100%; }
  .t-int__frame .hs-video__el { height: 100%; object-fit: cover; }
  .t-int__kid { display: block; position: absolute; left: calc(152.8 * var(--u)); top: calc(873.2 * var(--u)); width: calc(76.9 * var(--u)); }
  .t-int__stills { position: absolute; left: calc(267.2 * var(--u)); top: calc(731.1 * var(--u)); width: auto; grid-template-columns: repeat(2, calc(163.3 * var(--u))); gap: calc(21.5 * var(--u)); margin: 0; }
  .t-int__still { aspect-ratio: 163.3 / 125.3; border-width: 1px; }
  .t-int__more { left: 0; right: 0; top: calc(881.7 * var(--u)); text-align: center; }
  .t-svc .t-sec__inner { min-height: calc(899.5 * var(--u)); padding-bottom: calc(92 * var(--u)); }
  .t-svc .t-head { left: calc(135 * var(--u)); top: calc(100.6 * var(--u)); }
  .t-svc .t-head__en { left: calc(69 * var(--u)); }
  .t-svc__lead { position: absolute; left: calc(472 * var(--u)); top: calc(100.6 * var(--u)); margin: 0; font-size: calc(17 * var(--u)); line-height: 1.2; white-space: nowrap; }
  .t-svc__grid { grid-template-columns: repeat(3, calc(302 * var(--u))); column-gap: calc(34.5 * var(--u)); row-gap: calc(44.4 * var(--u)); margin: 0 0 0 calc(259.3 * var(--u)); padding-top: calc(217.1 * var(--u)); }
  .t-card { height: calc(242 * var(--u)); min-height: 0; }
  .t-card__row { height: calc(65.8 * var(--u)); padding: 0 calc(12 * var(--u)) 0 calc(26.7 * var(--u)); gap: calc(8 * var(--u)); }
  .t-card__name { font-size: calc(23 * var(--u)); }
  .t-card__desc { position: absolute; left: calc(22.7 * var(--u)); top: calc(80 * var(--u)); width: calc(245 * var(--u)); padding: 0; font-size: calc(15 * var(--u)); line-height: calc(25 * var(--u)); }
  .t-card__en { left: calc(16.7 * var(--u)); bottom: calc(17.5 * var(--u)); font-size: calc(18 * var(--u)); }
  .t-card__icon { right: calc(18 * var(--u)); bottom: calc(16 * var(--u)); }
  .t-card[data-service="pediatrics"] .t-card__icon { width: calc(91.2 * var(--u)); }
  .t-card[data-service="vaccine"] .t-card__icon { width: calc(83.2 * var(--u)); }
  .t-card[data-service="checkup"] .t-card__icon { width: calc(96.8 * var(--u)); }
  .t-card[data-service="allergy"] .t-card__icon { width: calc(73.9 * var(--u)); }
  .t-card[data-service="development"] .t-card__icon { width: calc(82.3 * var(--u)); }
  .t-card[data-service="head-shape"] .t-card__icon { width: calc(92.9 * var(--u)); }
  .t-card__icon--sprite { width: calc(80 * var(--u)) !important; height: calc(80 * var(--u)); }
  .t-card__soon { font-size: calc(12 * var(--u)); padding: calc(5 * var(--u)) calc(8 * var(--u)); }
  .t-svc .service__cta { position: static; text-align: center; margin: calc(44.9 * var(--u)) 0 0; }
  .t-svc .service__more { position: static; text-align: center; margin: calc(18 * var(--u)) 0 0; }
  .t-greet .t-sec__inner { height: calc(1044.4 * var(--u)); }
  .t-greet .t-head { left: calc(135 * var(--u)); top: calc(114.1 * var(--u)); }
  .t-greet .t-head__en { left: calc(67 * var(--u)); }
  .t-greet__loop { display: block; position: absolute; left: calc(117.5 * var(--u)); top: calc(263.2 * var(--u)); width: calc(895.7 * var(--u)); }
  .t-greet__photo { position: absolute; left: calc(256.7 * var(--u)); top: calc(320.9 * var(--u)); width: calc(432.3 * var(--u)); height: calc(492 * var(--u)); max-width: none; margin: 0; aspect-ratio: auto; }
  .t-greet__soon { font-size: calc(18 * var(--u)); }
  .t-greet__soon-en { font-size: calc(12 * var(--u)); }
  .t-greet__text { position: absolute; left: calc(726.4 * var(--u)); top: calc(105.6 * var(--u)); width: calc(561.7 * var(--u)); min-height: calc(559.8 * var(--u)); padding: calc(52.1 * var(--u)) calc(41 * var(--u)) calc(24 * var(--u)) calc(52 * var(--u)); font-size: calc(18 * var(--u)); line-height: calc(37.6 * var(--u)); }
  .t-greet__name { margin: 0 0 0 calc(-12.7 * var(--u)); line-height: 0; }
  .t-greet__name-ja { height: calc(41.6 * var(--u)); min-width: calc(158.7 * var(--u)); padding: 0 calc(17 * var(--u)); line-height: calc(39.6 * var(--u)); font-size: calc(24 * var(--u)); text-align: center; }
  .t-frame.t-greet__text p.t-greet__name-en { margin: calc(21.5 * var(--u)) 0 0; font-size: calc(23 * var(--u)); line-height: 1.2; letter-spacing: .02em; }
  .t-frame.t-greet__text p.t-greet__role { margin-top: calc(34 * var(--u)); }
  .t-greet__role, .t-greet__cred { font-size: calc(19 * var(--u)); line-height: calc(38 * var(--u)); }
  .greeting__msg { margin-top: calc(22.8 * var(--u)); padding-top: calc(38.4 * var(--u)); }
  .t-greet__cta { right: calc(10 * var(--u)); top: 100%; margin-top: calc(17.7 * var(--u)); }
  .t-greet__kid { display: block; position: absolute; left: calc(1121.5 * var(--u)); top: calc(924 * var(--u)); width: calc(66.9 * var(--u)); }
  .t-hours .t-sec__inner { height: calc(950 * var(--u)); }
  .t-hours .t-head { left: calc(129 * var(--u)); top: calc(82.7 * var(--u)); }
  .t-hours .t-head__en { left: calc(52 * var(--u)); }
  .t-hours__card { position: absolute; left: calc(291 * var(--u)); top: calc(174.2 * var(--u)); width: calc(903.1 * var(--u)); height: calc(382.7 * var(--u)); overflow: visible; }
  .hours__table { height: 100%; min-width: 0; }
  .hours__table th, .hours__table td { padding: 0; font-size: calc(28 * var(--u)); letter-spacing: .09em; }
  .hours__table thead th { font-size: calc(29 * var(--u)); }
  .hours__table tbody th { font-size: calc(31 * var(--u)); letter-spacing: .04em; }
  .hours__table th:first-child { width: 32.2%; }
  .hours__table .mark-open { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
  .hours__notes { position: absolute; left: calc(343 * var(--u)); top: calc(617 * var(--u)); margin: 0; gap: calc(17.5 * var(--u)); font-size: calc(16 * var(--u)); line-height: calc(27 * var(--u)); }
  .hours__notes li { padding-left: 0; }
  .hours__notes li::before { left: calc(-26 * var(--u)); top: calc(9.35 * var(--u)); width: calc(8.3 * var(--u)); height: calc(8.3 * var(--u)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
