:root{
  --sk-linen:#f3efe6;
  --sk-paper:#faf8f3;
  --sk-aqua:#f0a46a;
  --sk-teal:#e07a3a;
  --sk-teal-deep:#b85722;
  --sk-ink:#2e2218;
  --sk-muted:#6f5e52;
  --sk-line:rgba(184,87,34,.16);
  --sk-shadow:0 20px 50px rgba(46,34,24,.12);
  --sk-shell:min(1100px,calc(100% - 48px));
  --sk-ease:cubic-bezier(.22,.7,.2,1);
  --sk-nav-pad:7.5rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{
  margin:0;
  background:
    radial-gradient(ellipse 820px 480px at 6% 0%,rgba(240,164,106,.2),transparent 55%),
    radial-gradient(ellipse 700px 420px at 100% 8%,rgba(224,122,58,.1),transparent 50%),
    radial-gradient(ellipse 540px 340px at 50% 100%,rgba(243,239,230,.95),transparent 60%),
    linear-gradient(168deg,#e8e2d6 0%,var(--sk-linen) 40%,#f0ebe3 72%,#e6e0d4 100%);
  color:var(--sk-ink);
  font-family:"Noto Sans JP",sans-serif;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
body.sk-menu-open{overflow:hidden}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.sk-shell{width:var(--sk-shell);margin-inline:auto}
.sk-skip{position:fixed;z-index:2000;top:-100px;left:20px;background:var(--sk-teal-deep);color:#fff;padding:10px 18px;border-radius:999px}
.sk-skip:focus{top:14px}
.sk-kicker{
  position:relative;display:inline-block;
  font:700 .7rem/1.3 Sora,sans-serif;letter-spacing:.2em;text-transform:uppercase;
  color:var(--sk-teal-deep);margin:0 0 14px;padding-bottom:10px;
}
.sk-kicker:after{
  content:"";position:absolute;left:0;bottom:0;width:2.4rem;height:2px;
  background:linear-gradient(90deg,var(--sk-teal),var(--sk-aqua));
  transform-origin:left center;animation:sk-line-grow 1s var(--sk-ease) both;
}
@keyframes sk-line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.sk-section{position:relative;padding:96px 0}
.sk-section--teal{background:linear-gradient(152deg,#e07a3a 0%,#c96a30 45%,#b85722 100%);color:var(--sk-linen)}
.sk-section--teal .sk-kicker{color:#ffd4b0}
.sk-section--teal .sk-kicker:after{background:linear-gradient(90deg,#ffd4b0,var(--sk-aqua))}
.sk-section--teal .sk-head>p{color:#ffe6d0}
.sk-section--linen{background:linear-gradient(180deg,#e8e2d6 0%,#f3efe6 55%,#e6e0d4 100%)}
.sk-section--faq{background:linear-gradient(160deg,#ece6dc 0%,#e6e0d4 100%)}
.sk-section--grain:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;mix-blend-mode:multiply;
}
.sk-section--teal.sk-section--grain:before{opacity:.07;mix-blend-mode:soft-light}
.sk-section--grain>.sk-shell,.sk-section--grain>.sk-cta{position:relative;z-index:1}
.sk-media{overflow:hidden;border-radius:26px;position:relative}
.sk-media img{height:100%;object-fit:cover;transition:transform .7s var(--sk-ease)}
a:hover .sk-media img,.sk-media:hover img{transform:scale(1.04)}
.sk-media--soft{border-radius:32px 14px 32px 14px}
.sk-media--frame{
  box-shadow:0 0 0 1px var(--sk-line);
  outline:1px solid rgba(224,122,58,.26);
  outline-offset:10px;
}

/* —— Brand float —— */
.sk-top{
  position:fixed;z-index:100;top:0;left:0;right:0;
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:18px 20px;pointer-events:none;
}
.sk-brand,.sk-bubble-toggle{pointer-events:auto}
.sk-brand{
  display:inline-flex;align-items:center;gap:12px;
  padding:10px 16px 10px 10px;
  background:rgba(250,248,243,.92);
  border:1px solid rgba(224,122,58,.2);
  border-radius:999px;
  backdrop-filter:blur(14px);
  box-shadow:0 10px 28px rgba(46,34,24,.08);
  transition:transform .35s var(--sk-ease),box-shadow .35s;
}
.sk-top.is-scrolled .sk-brand{transform:translateY(-2px);box-shadow:0 8px 22px rgba(46,34,24,.12)}
.sk-brand__mark{
  display:grid;place-items:center;width:40px;height:40px;
  background:linear-gradient(145deg,var(--sk-aqua),var(--sk-teal-deep));
  color:#fff;font:800 .72rem/1 Sora,sans-serif;letter-spacing:.04em;
  border-radius:50%;
}
.sk-brand__text{line-height:1;font-family:Sora,"Noto Sans JP",sans-serif}
.sk-brand__text b{display:block;letter-spacing:.1em;font-size:.9rem}
.sk-brand__text small{display:block;margin-top:6px;font-size:.56rem;letter-spacing:.1em;color:var(--sk-muted);font-weight:600}

/* Mobile: one bubble + sheet */
.sk-bubble-toggle{
  display:none;align-items:center;gap:8px;
  height:48px;padding:0 14px 0 8px;border:1px solid rgba(224,122,58,.22);
  background:rgba(250,248,243,.94);backdrop-filter:blur(12px);
  border-radius:999px;cursor:pointer;
  box-shadow:0 8px 22px rgba(46,34,24,.1);
  font:700 .62rem/1 Sora,sans-serif;letter-spacing:.16em;color:var(--sk-teal-deep);
}
.sk-bubble-toggle__orb{
  width:32px;height:32px;border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%,#fff8,transparent 40%),
    linear-gradient(145deg,var(--sk-aqua),var(--sk-teal));
  box-shadow:inset 0 -2px 6px rgba(184,87,34,.25);
  animation:sk-orb-pulse 3.2s ease-in-out infinite;
}
@keyframes sk-orb-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.06)}
}

/* —— Soft top-left bubble trail (UNIQUE NAV) —— */
.sk-bubbles{
  position:fixed;z-index:90;
  top:5.6rem;left:1.1rem;
  pointer-events:none;
}
.sk-bubbles__trail{
  pointer-events:auto;
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  position:relative;
}
.sk-bubbles__trail:before{
  content:"";position:absolute;left:1.35rem;top:.6rem;bottom:.6rem;width:2px;
  background:linear-gradient(180deg,transparent,rgba(240,164,106,.45),rgba(224,122,58,.25),transparent);
  border-radius:2px;z-index:0;
}
.sk-bubble{
  --sk-size:3.1rem;
  position:relative;z-index:1;
  display:inline-flex;align-items:center;gap:8px;
  min-height:var(--sk-size);padding:0 14px 0 6px;
  margin-left:calc((var(--sk-i) - 1) * 10px);
  background:
    radial-gradient(circle at 28% 28%,rgba(255,255,255,.55),transparent 42%),
    linear-gradient(160deg,rgba(250,248,243,.96),rgba(243,239,230,.9));
  border:1px solid rgba(224,122,58,.18);
  border-radius:999px;
  backdrop-filter:blur(12px);
  box-shadow:
    0 10px 26px rgba(46,34,24,.08),
    inset 0 1px 0 rgba(255,255,255,.7);
  transform:translateY(0);
  animation:sk-bubble-rise 4.8s ease-in-out infinite;
  animation-delay:calc(var(--sk-i) * -.55s);
  transition:transform .35s var(--sk-ease),box-shadow .35s,background .3s,border-color .3s;
}
.sk-bubble:nth-child(odd){animation-duration:5.4s}
.sk-bubble:nth-child(even){animation-duration:4.5s}
@keyframes sk-bubble-rise{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
.sk-bubbles.is-scrolled .sk-bubble{
  box-shadow:0 8px 20px rgba(46,34,24,.1);
}
.sk-bubble__num{
  display:grid;place-items:center;
  width:calc(var(--sk-size) - 10px);height:calc(var(--sk-size) - 10px);
  border-radius:50%;
  background:linear-gradient(145deg,var(--sk-aqua),var(--sk-teal));
  color:#fff;font:700 .62rem/1 Sora,sans-serif;letter-spacing:.04em;
  box-shadow:inset 0 -2px 5px rgba(184,87,34,.28);
}
.sk-bubble__label{
  font:700 .78rem/1 "Noto Sans JP",sans-serif;
  letter-spacing:.04em;color:var(--sk-ink);padding-right:4px;
}
.sk-bubble:hover{
  border-color:rgba(224,122,58,.4);
  transform:translateY(-3px) scale(1.03);
  animation-play-state:paused;
}
.sk-bubble[aria-current=page]{
  background:linear-gradient(160deg,rgba(240,164,106,.28),rgba(250,248,243,.95));
  border-color:rgba(224,122,58,.45);
  box-shadow:0 12px 28px rgba(224,122,58,.18);
}
.sk-bubble[aria-current=page] .sk-bubble__num{
  background:linear-gradient(145deg,var(--sk-teal),var(--sk-teal-deep));
}
.sk-bubble--1{--sk-size:2.7rem}
.sk-bubble--2{--sk-size:2.9rem}
.sk-bubble--3{--sk-size:3.15rem}
.sk-bubble--4{--sk-size:2.95rem}
.sk-bubble--5{--sk-size:3.2rem}

/* Mobile sheet */
.sk-sheet-shade{
  position:fixed;inset:0;z-index:110;
  background:rgba(46,34,24,.35);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.sk-sheet-shade.is-open{opacity:1;pointer-events:auto}
.sk-sheet{
  position:fixed;z-index:120;top:0;right:0;width:min(340px,92vw);height:100%;
  background:linear-gradient(180deg,var(--sk-paper),var(--sk-linen));
  box-shadow:-16px 0 40px rgba(46,34,24,.12);
  transform:translateX(105%);transition:transform .4s var(--sk-ease);
  padding:24px 22px;display:flex;flex-direction:column;gap:18px;
}
.sk-sheet.is-open{transform:translateX(0)}
.sk-sheet__head{display:flex;justify-content:space-between;align-items:center;font:700 .85rem Sora,sans-serif;letter-spacing:.08em}
.sk-sheet__head button{border:0;background:transparent;font-size:1.6rem;cursor:pointer;line-height:1;color:var(--sk-ink)}
.sk-sheet nav{display:flex;flex-direction:column;gap:8px}
.sk-sheet nav a{
  display:flex;align-items:baseline;gap:14px;padding:14px 16px;
  border-radius:18px;background:rgba(255,255,255,.55);border:1px solid var(--sk-line);
}
.sk-sheet nav a small{font:700 .7rem Sora,sans-serif;color:var(--sk-teal)}
.sk-sheet nav a[aria-current=page]{background:rgba(240,164,106,.22);border-color:rgba(224,122,58,.35)}
.sk-sheet>p{margin-top:auto;font-size:.82rem;color:var(--sk-muted);line-height:1.7}

/* Hero — wavy split + carousel */
.sk-hero{min-height:100svh;display:flex;align-items:stretch;padding:0}
.sk-hero__split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);width:100%;min-height:100svh}
.sk-hero__panel--copy{
  display:flex;align-items:center;
  padding:calc(var(--sk-nav-pad) + 2rem) 4% 4rem max(4%,calc(var(--sk-nav-pad) + 1.5rem));
  background:
    radial-gradient(ellipse 420px 280px at 20% 30%,rgba(240,164,106,.18),transparent 60%),
    linear-gradient(135deg,rgba(250,248,243,.7),transparent 50%);
}
.sk-hero__copy{max-width:34rem}
.sk-brand-hero{
  margin:0 0 10px;font:800 clamp(1.1rem,2.4vw,1.55rem)/1 Sora,sans-serif;
  letter-spacing:.18em;color:var(--sk-teal);text-transform:uppercase;
}
.sk-hero h1{
  margin:0 0 18px;font:800 clamp(2.2rem,5.2vw,3.6rem)/1.15 "Noto Sans JP",sans-serif;
  letter-spacing:-.02em;color:var(--sk-ink);
}
.sk-lead{margin:0 0 28px;font-size:1.02rem;color:var(--sk-muted);max-width:32rem}
.sk-actions{display:flex;flex-wrap:wrap;gap:12px}
.sk-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 22px;border-radius:999px;border:1px solid transparent;
  font:700 .9rem/1 "Noto Sans JP",sans-serif;cursor:pointer;
  background:var(--sk-teal);color:#fff;
  box-shadow:0 12px 28px rgba(224,122,58,.28);
  transition:transform .3s var(--sk-ease),box-shadow .3s;
}
.sk-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(224,122,58,.32)}
.sk-btn--teal{background:linear-gradient(135deg,var(--sk-teal),var(--sk-teal-deep))}
.sk-btn--ghost{
  background:rgba(250,248,243,.75);color:var(--sk-ink);
  border-color:rgba(224,122,58,.25);box-shadow:none;
}
.sk-btn--light{background:var(--sk-paper);color:var(--sk-teal-deep);box-shadow:0 10px 24px rgba(46,34,24,.12)}
.sk-hero__panel--media{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#b85722,#e07a3a 55%,#f0a46a);
}
.sk-hero__wave{
  position:absolute;z-index:2;left:-1px;top:0;bottom:0;width:min(18%,110px);pointer-events:none;
}
.sk-hero__wave svg{width:100%;height:100%;display:block}
.sk-hero__wave path{fill:var(--sk-linen)}
.sk-hero__frame{position:absolute;inset:0}
.sk-hero__track{position:relative;width:100%;height:100%}
.sk-hero__slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1s var(--sk-ease);margin:0;
}
.sk-hero__slide.is-active{opacity:1}
.sk-hero__slide img{width:100%;height:100%;object-fit:cover}
.sk-hero__dots{
  position:absolute;z-index:3;bottom:28px;right:28px;
  display:flex;gap:8px;
}
.sk-hero__dots button{
  width:10px;height:10px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.45);transition:transform .25s,background .25s;
}
.sk-hero__dots button.is-active{background:#fff;transform:scale(1.25)}

/* Stats */
.sk-stats{padding:48px 0 20px}
.sk-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sk-stat{
  text-align:center;padding:28px 16px;
  background:rgba(250,248,243,.72);border:1px solid var(--sk-line);border-radius:24px;
  backdrop-filter:blur(8px);
}
.sk-stat__value{margin:0;font:800 clamp(1.8rem,3vw,2.4rem)/1 Sora,sans-serif;color:var(--sk-teal-deep)}
.sk-stat__label{margin:10px 0 0;font-size:.85rem;color:var(--sk-muted)}

.sk-trust{overflow:hidden;padding:18px 0 8px;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
.sk-trust__track{
  display:flex;gap:22px;width:max-content;white-space:nowrap;
  animation:sk-marquee 32s linear infinite;
  font:600 .88rem/1 Sora,"Noto Sans JP",sans-serif;letter-spacing:.06em;color:var(--sk-teal-deep);
}
.sk-trust__track i{opacity:.4}
@keyframes sk-marquee{to{transform:translateX(-50%)}}

.sk-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:36px}
.sk-head h2{margin:0;font:700 clamp(1.7rem,3vw,2.35rem)/1.35 "Noto Sans JP",sans-serif}
.sk-head>p{max-width:22rem;margin:0;color:var(--sk-muted);font-size:.95rem}
.sk-link{font-weight:700;color:var(--sk-teal-deep);border-bottom:1px solid rgba(224,122,58,.35)}
.sk-link:hover{border-color:var(--sk-teal)}

.sk-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sk-card a{display:block;height:100%}
.sk-card__body{padding:18px 6px 0}
.sk-card__body span{font:700 .72rem Sora,sans-serif;letter-spacing:.12em;color:var(--sk-teal)}
.sk-card__body h3{margin:8px 0;font-size:1.15rem}
.sk-card__body p{margin:0 0 12px;color:var(--sk-muted);font-size:.92rem}
.sk-card__body b{font-size:.88rem;color:var(--sk-teal-deep)}

/* Philosophy */
.sk-philosophy__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.sk-philosophy__copy h2{margin:0 0 16px;font:700 clamp(1.7rem,3vw,2.4rem)/1.35 "Noto Sans JP",sans-serif}
.sk-philosophy__copy>p{margin:0 0 18px;color:var(--sk-muted);max-width:34rem}
.sk-philosophy__list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.sk-philosophy__list li{
  padding:16px 18px;border-radius:18px;
  background:rgba(250,248,243,.78);border:1px solid var(--sk-line);
}
.sk-philosophy__list strong{display:block;margin-bottom:4px;font-size:.95rem;color:var(--sk-teal-deep)}
.sk-philosophy__list span{font-size:.9rem;color:var(--sk-muted)}
.sk-philosophy__media img{min-height:420px;object-fit:cover}

/* Priced care menu */
.sk-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sk-menu__card a{display:block;height:100%}
.sk-menu__body{padding:16px 4px 0}
.sk-menu__meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.sk-menu__meta span{font:700 .68rem Sora,sans-serif;letter-spacing:.12em;color:var(--sk-teal)}
.sk-menu__meta b{font:800 .95rem/1 Sora,sans-serif;color:var(--sk-teal-deep);letter-spacing:.02em}
.sk-menu__body h3{margin:0 0 8px;font-size:1.12rem}
.sk-menu__body p{margin:0 0 12px;color:var(--sk-muted);font-size:.9rem}
.sk-menu__body em{font-style:normal;font-size:.88rem;font-weight:700;color:var(--sk-teal-deep)}

/* Seasons 春夏秋冬 */
.sk-seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sk-season span{display:inline-block;margin:14px 0 6px;font:700 .72rem Sora,sans-serif;letter-spacing:.16em;color:var(--sk-teal)}
.sk-season h3{margin:0 0 8px;font-size:1.05rem}
.sk-season p{margin:0;font-size:.88rem;color:var(--sk-muted)}
.sk-season .sk-media img{aspect-ratio:4/3;object-fit:cover}

/* Process 01–04 */
.sk-process{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.sk-process li{
  padding:26px 22px;border-radius:24px;
  background:rgba(250,248,243,.14);border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(6px);
}
.sk-process__num{
  display:block;margin-bottom:14px;
  font:800 1.6rem/1 Sora,sans-serif;letter-spacing:.04em;opacity:.9;
}
.sk-process h3{margin:0 0 10px;font-size:1.1rem}
.sk-process p{margin:0;font-size:.9rem;opacity:.9}

/* Before / After + Spotlight */
.sk-ba{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:56px}
.sk-ba__card{margin:0}
.sk-ba__card figcaption{padding:16px 4px 0}
.sk-ba__card span{font:700 .7rem Sora,sans-serif;letter-spacing:.16em;color:var(--sk-teal);text-transform:uppercase}
.sk-ba__card h3{margin:8px 0;font-size:1.15rem}
.sk-ba__card p{margin:0;color:var(--sk-muted);font-size:.9rem}
.sk-ba__card .sk-media img{aspect-ratio:5/4;object-fit:cover}
.sk-spotlight{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
  padding:28px;border-radius:28px;
  background:rgba(250,248,243,.65);border:1px solid var(--sk-line);
}
.sk-spotlight h2{margin:0 0 14px;font-size:clamp(1.35rem,2.4vw,1.85rem)}
.sk-spotlight>div>p{margin:0 0 16px;color:var(--sk-muted)}

/* Trust pillars */
.sk-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sk-pillar{
  padding:26px 22px;border-radius:22px;
  background:rgba(250,248,243,.8);border:1px solid var(--sk-line);
}
.sk-pillar span{font:800 1.35rem/1 Sora,sans-serif;color:var(--sk-aqua)}
.sk-pillar h3{margin:12px 0 8px;font-size:1.08rem}
.sk-pillar p{margin:0;font-size:.88rem;color:var(--sk-muted)}

.sk-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sk-quotes blockquote{
  margin:0;padding:26px 24px;border-radius:24px;
  background:rgba(250,248,243,.78);border:1px solid var(--sk-line);
}
.sk-quotes blockquote div{color:#e0a84a;letter-spacing:.08em;margin-bottom:10px}
.sk-quotes p{margin:0 0 14px}
.sk-quotes cite{font-style:normal;font-size:.82rem;color:var(--sk-muted)}

/* Team */
.sk-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sk-person .sk-media img{aspect-ratio:1;object-fit:cover}
.sk-person h3{margin:16px 0 4px;font-size:1.15rem}
.sk-person span{display:block;font:700 .72rem Sora,sans-serif;letter-spacing:.1em;color:#ffd4b0;margin-bottom:10px}
.sk-section:not(.sk-section--teal) .sk-person span{color:var(--sk-teal)}
.sk-person p{margin:0;font-size:.9rem;opacity:.92}
.sk-section:not(.sk-section--teal) .sk-person p{color:var(--sk-muted);opacity:1}

/* Area coverage */
.sk-areas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sk-area{
  padding:24px 20px;border-radius:22px;
  background:rgba(250,248,243,.78);border:1px solid var(--sk-line);
}
.sk-area span{font:800 1.2rem/1 Sora,sans-serif;color:var(--sk-aqua)}
.sk-area h3{margin:10px 0 8px;font-size:1.05rem}
.sk-area p{margin:0;font-size:.88rem;color:var(--sk-muted)}

/* Home journal */
.sk-home-journal{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sk-home-journal time{display:block;margin:14px 0 6px;font-size:.8rem;color:var(--sk-muted);letter-spacing:.04em}
.sk-home-journal h3{margin:0 0 8px;font-size:1.08rem}
.sk-home-journal p{margin:0;font-size:.88rem;color:var(--sk-muted)}
.sk-home-journal .sk-media img{aspect-ratio:4/3;object-fit:cover}

.sk-cta--finale{margin-top:8px}

.sk-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
.sk-faq details{
  border:1px solid var(--sk-line);border-radius:18px;padding:0 18px;
  background:rgba(250,248,243,.7);margin-bottom:10px;
}
.sk-faq summary{cursor:pointer;padding:16px 0;font-weight:700;list-style:none}
.sk-faq summary::-webkit-details-marker{display:none}
.sk-faq details[open] summary{color:var(--sk-teal-deep)}
.sk-faq p{margin:0 0 16px;color:var(--sk-muted)}

.sk-cta{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  margin:20px auto 80px;padding:36px 40px;border-radius:28px;
  background:linear-gradient(135deg,var(--sk-teal),var(--sk-teal-deep));color:var(--sk-linen);
  box-shadow:var(--sk-shadow);
}
.sk-cta .sk-kicker{color:#ffd4b0}
.sk-cta .sk-kicker:after{background:#ffd4b0}
.sk-cta h2{margin:0 0 8px;font-size:clamp(1.4rem,2.5vw,1.9rem)}
.sk-cta p{margin:0;opacity:.9}

/* Page hero */
.sk-page-hero{padding:calc(var(--sk-nav-pad) + 2.5rem) 0 40px}
.sk-page-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end}
.sk-page-hero h1{margin:0;font:700 clamp(1.9rem,4vw,2.8rem)/1.3 "Noto Sans JP",sans-serif}
.sk-page-hero p:last-child{margin:0;color:var(--sk-muted)}

.sk-service-list{display:flex;flex-direction:column;gap:64px}
.sk-service-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sk-service-row--rev .sk-media{order:2}
.sk-num{font:700 .75rem Sora,sans-serif;letter-spacing:.14em;color:var(--sk-teal)}
.sk-service-row h2{margin:8px 0 14px;font-size:clamp(1.4rem,2.5vw,1.9rem)}
.sk-checks{list-style:none;margin:18px 0;padding:0}
.sk-checks li{padding:8px 0 8px 1.4rem;position:relative;border-bottom:1px solid var(--sk-line)}
.sk-checks li:before{content:"";position:absolute;left:0;top:1em;width:8px;height:8px;border-radius:50%;background:var(--sk-aqua)}
.sk-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sk-split h2{margin:0 0 14px;font-size:clamp(1.5rem,2.8vw,2rem)}

.sk-story{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.sk-story__copy h2{margin:0 0 16px;font-size:clamp(1.5rem,2.8vw,2.1rem)}
.sk-values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.sk-values>div{padding:16px;border-radius:18px;background:rgba(250,248,243,.7);border:1px solid var(--sk-line)}
.sk-values b{font:700 .68rem Sora,sans-serif;letter-spacing:.12em;color:var(--sk-teal)}
.sk-values h3{margin:6px 0;font-size:1rem}
.sk-values p{margin:0;font-size:.85rem;color:var(--sk-muted)}
.sk-team{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sk-team h2{margin:0 0 14px;font-size:clamp(1.5rem,2.8vw,2.1rem)}
.sk-team dl{margin:24px 0 0}
.sk-team dt{font:700 .72rem Sora,sans-serif;letter-spacing:.1em;color:#ffd4b0;margin-bottom:4px}
.sk-team dd{margin:0 0 14px}
.sk-studio-info{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px}
.sk-studio-info h2{margin:0;font-size:clamp(1.5rem,2.8vw,2.1rem)}
.sk-studio-info dl{display:grid;gap:18px;margin:0}
.sk-studio-info dt{font:700 .72rem Sora,sans-serif;letter-spacing:.1em;color:var(--sk-teal);margin-bottom:4px}
.sk-studio-info dd{margin:0}

.sk-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;margin-bottom:48px}
.sk-feature h2{margin:8px 0 12px;font-size:clamp(1.3rem,2.4vw,1.7rem)}
.sk-tag{
  display:inline-block;padding:4px 10px;border-radius:999px;margin-right:8px;
  background:rgba(240,164,106,.2);color:var(--sk-teal-deep);font:700 .68rem Sora,sans-serif;letter-spacing:.1em;
}
.sk-feature time,.sk-journal time{font-size:.82rem;color:var(--sk-muted)}
.sk-journal{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.sk-journal h2{margin:8px 0;font-size:1.15rem}
.sk-journal p{margin:0;color:var(--sk-muted);font-size:.92rem}

.sk-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:36px}
.sk-contact__info h2{margin:0 0 16px;font-size:clamp(1.5rem,2.8vw,2rem)}
.sk-contact dl{margin:22px 0}
.sk-contact dt{font:700 .72rem Sora,sans-serif;letter-spacing:.1em;color:var(--sk-teal);margin-bottom:4px}
.sk-contact dd{margin:0 0 14px}
.sk-route{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:16px 18px;border-radius:18px;background:rgba(240,164,106,.15);font-size:.88rem;
}
.sk-route i{opacity:.5}
.sk-form{
  padding:28px;border-radius:28px;
  background:rgba(250,248,243,.85);border:1px solid var(--sk-line);
  box-shadow:var(--sk-shadow);
}
.sk-form h2{margin:0 0 20px}
.sk-field{margin-bottom:16px}
.sk-field label{display:block;margin-bottom:6px;font-weight:600;font-size:.9rem}
.sk-field em{font-style:normal;color:var(--sk-teal);font-size:.75rem;margin-left:4px}
.sk-field input,.sk-field select,.sk-field textarea{
  width:100%;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(224,122,58,.22);background:#fff;color:var(--sk-ink);
}
.sk-field--pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sk-consent{display:flex;gap:10px;align-items:flex-start;margin:8px 0 18px;font-size:.88rem;color:var(--sk-muted)}
.sk-success{text-align:center;padding:20px 10px}
.sk-success span{
  display:grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;
  border-radius:50%;background:var(--sk-aqua);color:#fff;font-size:1.4rem;
}

.sk-404{padding:calc(var(--sk-nav-pad) + 4rem) 0 100px;text-align:center}
.sk-404 strong{display:block;font:800 5rem/1 Sora,sans-serif;color:var(--sk-aqua);margin:10px 0}
.sk-404 h1{margin:0 0 14px}

.sk-footer{
  padding:64px 0 28px;
  background:linear-gradient(180deg,#b85722,#7a3a16);
  color:#ffe8d6;
}
.sk-footer__main{display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:36px;margin-bottom:36px}
.sk-footer__brand{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}
.sk-footer__brand span:last-child{display:flex;flex-direction:column;line-height:1.2}
.sk-footer__brand b{font-family:Sora,sans-serif;letter-spacing:.08em}
.sk-footer__brand small{font-size:.65rem;opacity:.75;margin-top:4px}
.sk-footer h2{margin:0 0 12px;font:700 .75rem Sora,sans-serif;letter-spacing:.14em;color:var(--sk-aqua)}
.sk-footer a,.sk-footer p{display:block;margin:0 0 8px;font-size:.9rem;opacity:.9}
.sk-footer a:hover{opacity:1;color:#fff}
.sk-footer__bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;
}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--sk-ease),transform .8s var(--sk-ease)}
[data-reveal].is-visible{opacity:1;transform:none}
.no-js [data-reveal]{opacity:1;transform:none}

@media (min-width:981px){
  #main{padding-left:clamp(0px,4vw,5.5rem)}
}
@media (max-width:980px){
  :root{--sk-nav-pad:5.5rem}
  .sk-bubbles{display:none}
  .sk-bubble-toggle{display:inline-flex}
  .sk-hero__split{grid-template-columns:1fr}
  .sk-hero__panel--copy{padding:6.5rem 6% 2.5rem;min-height:auto}
  .sk-hero__panel--media{min-height:min(52vw,420px)}
  .sk-hero__wave{display:none}
  .sk-stats__grid,.sk-cards,.sk-menu,.sk-quotes,.sk-team-grid,.sk-home-journal,.sk-ba{grid-template-columns:1fr 1fr}
  .sk-seasons,.sk-process,.sk-pillars,.sk-areas{grid-template-columns:1fr 1fr}
  .sk-philosophy__grid,.sk-spotlight,.sk-gallery,.sk-service-row,.sk-service-row--rev .sk-media,.sk-split,.sk-story,.sk-team,.sk-feature,.sk-contact,.sk-faq-layout,.sk-page-hero__grid,.sk-studio-info,.sk-footer__main{
    grid-template-columns:1fr;
  }
  .sk-service-row--rev .sk-media{order:0}
  .sk-cta{flex-direction:column;align-items:flex-start;padding:28px}
  .sk-head{flex-direction:column;align-items:flex-start}
  .sk-spotlight{padding:18px}
}
@media (max-width:640px){
  .sk-shell{width:min(100% - 28px,1100px)}
  .sk-stats__grid,.sk-cards,.sk-menu,.sk-quotes,.sk-journal,.sk-values,.sk-field--pair,
  .sk-seasons,.sk-process,.sk-pillars,.sk-areas,.sk-team-grid,.sk-home-journal,.sk-ba{grid-template-columns:1fr}
  .sk-brand__text small{display:none}
  .sk-hero h1{font-size:2rem}
  .sk-footer__bottom{flex-direction:column;gap:8px;text-align:center}
  .sk-menu__meta{flex-direction:column;align-items:flex-start;gap:4px}
}
@media (prefers-reduced-motion:reduce){
  .sk-bubble,.sk-bubble-toggle__orb,.sk-trust__track{animation:none!important}
  [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
