:root{--ink: #2b1e14;--ink-soft: #4a3a2d;--ink-mute: #7a6b5d;--paper: #fdfaf5;--paper-2: #f4ede2;--paper-3: #efe6d5;--line: #e4d9c4;--coral: #f4a090;--marigold: #f3d17a;--forest: #9cc0a3;--indigo: #9badcc;--mauve: #d3a8be;--sky: #9ec6d6;--accent: var(--coral);--h-font: "Shippori Mincho", "Hiragino Mincho ProN", serif;--b-font: "Noto Sans JP", "Hiragino Sans", system-ui, sans-serif;--serif: "Shippori Mincho", "Hiragino Mincho ProN", serif;--hand: "Yomogi", "Zen Maru Gothic", cursive;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--radius: var(--r-lg);--pad-section-sm: clamp(56px, 7vw, 96px);--pad-section-md: clamp(72px, 9vw, 120px);--pad-section-lg: clamp(96px, 11vw, 160px);--maxw: 1120px}*{box-sizing:border-box}html,body{margin:0;padding:0}html,body{overflow-x:hidden;max-width:100%}html{scroll-behavior:smooth;scroll-padding-top:80px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--b-font);color:var(--ink);background:var(--paper);font-feature-settings:"palt";line-height:1.8;-webkit-font-smoothing:antialiased;font-size:16px;padding-top:64px}a{color:inherit}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.nav{position:fixed;top:0;left:0;right:0;z-index:40;background:color-mix(in oklab,var(--paper) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{font-family:var(--h-font);font-weight:900;font-size:20px;letter-spacing:.02em;display:flex;align-items:center;gap:8px;background:linear-gradient(95deg,var(--indigo) 0%,var(--forest) 30%,var(--marigold) 55%,var(--coral) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-decoration:none}.logo .star{background:linear-gradient(95deg,var(--marigold),var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;display:inline-block;animation:spin 6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nav-links{display:flex;gap:22px;font-size:14px;color:var(--ink-soft);align-items:center}.nav-links a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;transition:.2s}.nav-links a:hover{border-bottom-color:var(--ink)}.nav-cta-mobile{display:none}.nav-cta{font-family:var(--h-font);font-weight:700;background:var(--coral);color:#fff;padding:10px 18px;border-radius:999px;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 3px color-mix(in oklab,var(--coral) 60%,black);transition:transform .15s,box-shadow .15s;white-space:nowrap}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px color-mix(in oklab,var(--coral) 60%,black)}.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;width:44px;height:44px;padding:0;position:relative;z-index:60}.nav-toggle span{display:block;position:absolute;left:12px;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .15s,top .25s ease}.nav-toggle span:nth-child(1){top:14px}.nav-toggle span:nth-child(2){top:21px}.nav-toggle span:nth-child(3){top:28px}.nav.is-open .nav-toggle span:nth-child(1){top:21px;transform:rotate(45deg)}.nav.is-open .nav-toggle span:nth-child(2){opacity:0}.nav.is-open .nav-toggle span:nth-child(3){top:21px;transform:rotate(-45deg)}.nav-overlay{position:fixed;inset:0;z-index:30;background:color-mix(in oklab,var(--ink) 35%,transparent);backdrop-filter:blur(2px)}@media(max-width:820px){.nav-toggle{display:block}.nav-cta{display:none}.nav-cta-mobile{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;margin-top:12px;background:var(--coral);color:#fff;font-family:var(--h-font);font-weight:700;font-size:15px;padding:14px 22px;border-radius:999px;box-shadow:0 3px color-mix(in oklab,var(--coral) 60%,black);border-bottom:none!important}.nav-links{position:fixed;top:0;right:0;width:min(86vw,340px);height:100vh;height:100dvh;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:84px 28px 32px;box-shadow:-16px 0 40px -20px #00000040;transform:translate(100%);transition:transform .3s ease;overflow-y:auto;z-index:50}.nav-links a{padding:16px 0;font-family:var(--h-font);font-size:16px;color:var(--ink);border-bottom:1px dashed var(--line)}.nav-links a:last-of-type{border-bottom:none}.nav.is-open .nav-links{transform:translate(0)}}@media(min-width:821px){.nav-overlay{display:none!important}}h1,h2,h3,h4{font-family:var(--h-font);margin:0;letter-spacing:.01em;line-height:1.35}.eyebrow{font-family:var(--h-font);font-weight:700;font-size:13px;letter-spacing:.25em;color:var(--coral);text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:26px;height:1px;background:var(--coral)}.section-title{font-size:clamp(28px,3.2vw,40px);font-weight:700;margin:14px 0 10px;color:var(--ink)}.section-title .small{font-size:.6em;color:var(--ink-mute);display:block;font-weight:500;margin-top:6px}.lead{font-size:16px;color:var(--ink-soft);max-width:620px}section{padding:var(--pad-section-md) 0}.section-pad-sm{padding:var(--pad-section-sm) 0}.section-pad-lg{padding:var(--pad-section-lg) 0}.section-head{margin-bottom:56px}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--h-font);font-weight:700;padding:16px 28px;border-radius:999px;text-decoration:none;font-size:15px;transition:transform .15s,box-shadow .2s;border:1.5px solid transparent;cursor:pointer}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 6px color-mix(in oklab,var(--coral) 60%,black)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px color-mix(in oklab,var(--coral) 60%,black)}.btn-primary:active{transform:translateY(2px);box-shadow:0 2px color-mix(in oklab,var(--coral) 60%,black)}.sticky-cta{display:none}@media(max-width:900px){.sticky-cta{display:inline-flex;position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:100;justify-content:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.sticky-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ghost:hover,.btn-dark{background:var(--ink);color:var(--paper)}.ph{position:relative;background:var(--paper-2);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--ink-mute);font-family:var(--h-font);font-weight:500;font-size:13px;border:1px dashed var(--line)}.ph:before{content:"";position:absolute;inset:0;background-image:linear-gradient(135deg,transparent 49%,color-mix(in oklab,var(--ink) 4%,transparent) 49% 51%,transparent 51%);background-size:18px 18px;opacity:.6}.ph-label{position:relative;background:var(--paper);padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:12px}.art-ph{border:none}.art-ph svg,.art-ph img{width:100%;height:100%;display:block;object-fit:cover}.hero{padding-block:0;position:relative;overflow:hidden;min-height:80vh}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;min-height:80vh;position:relative;gap:72px;align-items:center;padding:96px 0 88px}@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:48px;padding:72px 0 64px}}.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--paper-2);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-soft);border:1px solid var(--line)}.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--forest);box-shadow:0 0 0 4px color-mix(in oklab,var(--forest) 20%,transparent)}.hero-badge small{color:var(--ink-mute);font-size:11px}.hero-badge b{font-weight:700;color:var(--ink)}.hero-badge .ico{display:inline-flex;width:14px;height:14px}.hero-badge .ico svg{width:100%;height:100%;display:block}.hero-badge-coral{background:color-mix(in oklab,var(--coral) 14%,var(--paper));border-color:color-mix(in oklab,var(--coral) 35%,var(--line));color:color-mix(in oklab,var(--coral) 75%,black)}.hero-badge-coral .dot{background:var(--coral);box-shadow:0 0 0 4px color-mix(in oklab,var(--coral) 22%,transparent)}.hero-badge-sky{background:color-mix(in oklab,var(--sky) 18%,var(--paper));border-color:color-mix(in oklab,var(--sky) 40%,var(--line));color:color-mix(in oklab,var(--sky) 70%,black)}.hero-badge-sky .ico{color:color-mix(in oklab,var(--sky) 75%,black)}.hero h1{font-size:clamp(36px,5.2vw,64px);line-height:1.22;font-weight:900;margin:22px 0;letter-spacing:0}.hero h1 .mark{display:inline-block;position:relative}.hero h1 .mark:after{content:"";position:absolute;left:-4px;right:-4px;bottom:.08em;height:.32em;background:color-mix(in oklab,var(--marigold) 60%,transparent);z-index:-1;border-radius:4px}.hero p.sub{font-size:16.5px;color:var(--ink-soft);line-height:1.95;margin:0}.hero-cta{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap}.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;color:var(--ink-mute);font-size:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.hero-meta>div{display:flex;flex-direction:column;gap:4px;padding:0 16px;border-right:1px solid var(--line)}.hero-meta>div:first-child{padding-left:0}.hero-meta>div:last-child{border-right:none}.hero-meta b{color:var(--ink);font-weight:700;font-family:var(--h-font);font-size:13px;letter-spacing:.05em}.hero-meta span{color:var(--ink-soft);font-size:14px}@media(max-width:540px){.hero-meta{grid-template-columns:1fr;gap:0;padding:14px 0}.hero-meta>div{flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-right:none;border-bottom:1px dashed var(--line)}.hero-meta>div:last-child{border-bottom:none;padding-bottom:0}.hero-meta>div:first-child{padding-top:0}.hero-meta b{flex:0 0 auto;white-space:nowrap}.hero-meta span{flex:1 1 auto;min-width:0;text-align:right;word-break:keep-all;overflow-wrap:anywhere}}.hero-copy{position:relative;z-index:1}.hero-art{position:relative;z-index:0;width:100%;aspect-ratio:4/5;min-height:420px}.hero-art .ph{position:absolute;box-shadow:0 24px 60px -20px #00000040;transition:transform .3s;overflow:hidden;border-radius:var(--r-lg)}.hero-art .p1{top:0;left:0;width:70%;height:58%;transform:rotate(-3deg)}.hero-art .p2{bottom:0;right:0;width:68%;height:60%;transform:rotate(3deg)}.hero-art .p2 .ph-label{position:absolute;top:12px;right:12px}.hero-art .p3{top:40%;right:-4%;width:32%;height:32%;transform:rotate(-7deg)}.hero-art .ph:hover{transform:rotate(0) scale(1.03);z-index:5}@media(max-width:900px){.hero-art{max-width:480px;margin:0 auto;aspect-ratio:5/4;min-height:320px;overflow:hidden;border-radius:var(--r-lg)}.hero-art .p3{right:0}}.hero-sparkle{position:absolute;font-family:var(--h-font);color:var(--coral);font-size:28px;animation:twinkle 2.4s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.concept{background:var(--paper-2);padding:var(--pad-section-lg) 0}.concept-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}@media(max-width:820px){.concept-grid{grid-template-columns:1fr;gap:48px}}.concept-list{display:grid;gap:20px}.concept-item{display:flex;gap:22px;padding:24px 28px;background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--line)}.concept-item .num{font-family:var(--serif);font-size:36px;color:var(--coral);font-weight:700;line-height:1;min-width:48px}.concept-item h4{font-size:17px;margin-bottom:6px}.concept-item p{margin:0;font-size:14px;color:var(--ink-soft)}.concept-quote{font-family:var(--serif);font-size:22px;line-height:1.95;color:var(--ink);padding:36px 0 0;position:relative}.concept-quote:before{content:"“";position:absolute;left:-8px;top:-28px;font-size:120px;color:var(--coral);line-height:1;font-family:var(--serif);opacity:.5}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}@media(max-width:820px){.practice-grid{grid-template-columns:1fr;gap:48px}}.practice-copy p{font-size:16px;color:var(--ink-soft);line-height:1.95;margin:0 0 14px}.practice-copy p:last-child{margin-bottom:0}.practice-photos .ph{border-radius:var(--r-lg);overflow:hidden;box-shadow:0 30px 60px -30px #00000040;aspect-ratio:4/5;max-width:460px;margin-inline:auto}.strengths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:820px){.strengths-grid{grid-template-columns:1fr}}.strength{padding:32px 28px 36px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.strength:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px #0000002e}.strength-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}.strength-ico{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--h-font);font-weight:900;font-size:16px;flex-shrink:0}.s1 .strength-ico{background:color-mix(in oklab,var(--coral) 22%,var(--paper));color:var(--coral)}.s2 .strength-ico{background:color-mix(in oklab,var(--marigold) 30%,var(--paper));color:color-mix(in oklab,var(--marigold) 80%,black)}.s3 .strength-ico{background:color-mix(in oklab,var(--forest) 25%,var(--paper));color:var(--forest)}.strength h3{font-size:22px;margin:0}.strength .caption{font-family:var(--hand);font-size:14px;color:var(--coral);margin-bottom:12px}.strength p{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.9}.strength .ph-art{width:100%;aspect-ratio:4/3;border-radius:var(--r-md);margin-bottom:22px}.materials{background:var(--paper-2)}.materials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}@media(max-width:1100px){.materials-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:540px){.materials-grid{grid-template-columns:1fr}}.brand{padding:30px 26px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;transition:transform .25s,box-shadow .25s,border-color .25s;text-decoration:none;color:inherit}.brand:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px #0000002e;border-color:color-mix(in oklab,var(--coral) 40%,var(--line))}.brand-logo{height:56px;border-radius:var(--r-sm);background:var(--paper-3);display:flex;align-items:center;justify-content:center;font-family:var(--h-font);font-weight:900;letter-spacing:.04em;color:var(--ink);font-size:15px;border:1px solid var(--line);overflow:hidden}.brand-logo img{max-width:80%;max-height:70%;object-fit:contain}.brand h4{font-size:15px;margin:2px 0 0;display:flex;align-items:center;gap:6px}.brand-arrow{font-size:12px;color:var(--ink-mute);font-weight:500;transition:transform .2s,color .2s}.brand:hover .brand-arrow{transform:translate(2px,-2px);color:var(--coral)}.brand p{font-size:13px;color:var(--ink-soft);margin:4px 0 0;line-height:1.8}.materials-photos{margin-top:80px;padding-top:48px;border-top:1px dashed var(--line)}.materials-photos-title{font-family:var(--h-font);font-weight:500;font-size:13px;letter-spacing:.12em;color:var(--ink-mute);text-align:center;margin:0 0 28px}.materials-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media(max-width:820px){.materials-photos-grid{grid-template-columns:1fr}}.materials-photos-grid .ph{aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}.color{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}@media(max-width:820px){.color{grid-template-columns:1fr;gap:56px}}.color-wheel{width:100%;max-width:420px;margin:0 auto;aspect-ratio:1;position:relative}.curr{background:var(--ink);color:var(--paper);padding:var(--pad-section-lg) 0}.curr .section-title{color:var(--paper)}.curr .eyebrow{color:var(--marigold)}.curr .eyebrow:before{background:var(--marigold)}.curr .lead{color:color-mix(in oklab,var(--paper) 75%,transparent)}.curr-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:48px}@media(max-width:820px){.curr-grid{grid-template-columns:1fr;gap:24px}}.curr-card{background:color-mix(in oklab,var(--paper) 8%,transparent);border:1px solid color-mix(in oklab,var(--paper) 15%,transparent);border-radius:var(--r-lg);padding:40px 36px}.curr-card h3{font-size:28px;margin:0 0 14px;color:var(--paper)}.curr-card p{color:color-mix(in oklab,var(--paper) 75%,transparent);font-size:14px;line-height:1.95}.curr-masters{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.curr-masters span{font-family:var(--serif);font-style:italic;background:color-mix(in oklab,var(--paper) 10%,transparent);border:1px solid color-mix(in oklab,var(--paper) 20%,transparent);padding:6px 14px;border-radius:999px;font-size:13px;color:var(--paper)}.curr-card .curr-sub{font-family:var(--serif);font-style:italic;color:var(--marigold);font-size:17px;line-height:1.75;margin:0 0 14px}.curr-topics{margin-top:64px;padding-top:40px;border-top:1px solid color-mix(in oklab,var(--paper) 25%,transparent);text-align:center}.curr-topics-title{font-family:var(--h-font);font-weight:700;font-size:13px;letter-spacing:.25em;color:var(--marigold);text-transform:uppercase;margin:0 0 20px}.curr-topics-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.curr-topics-chips span{font-family:var(--serif);font-style:italic;background:color-mix(in oklab,var(--paper) 10%,transparent);border:1px solid color-mix(in oklab,var(--paper) 20%,transparent);padding:8px 18px;border-radius:999px;font-size:14px;color:var(--paper)}.curr-closing{margin:44px auto 0;max-width:640px;text-align:center;font-family:var(--serif);font-size:18px;line-height:2;color:color-mix(in oklab,var(--paper) 88%,transparent)}.curr-art{width:100%;aspect-ratio:16/9;border-radius:var(--r-md);margin-bottom:22px;background:color-mix(in oklab,var(--paper) 4%,transparent);border:1px dashed color-mix(in oklab,var(--paper) 25%,transparent);display:flex;align-items:center;justify-content:center;color:color-mix(in oklab,var(--paper) 50%,transparent);font-size:12px}.curr-art-img{margin:0 0 22px;padding:0;border:none;overflow:hidden;position:relative;background:#000}.curr-art-img img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 35%}.curr-art-img figcaption{position:absolute;left:0;right:0;bottom:0;padding:8px 14px;font-family:var(--serif);font-size:11px;color:color-mix(in oklab,var(--paper) 90%,transparent);background:linear-gradient(to top,#0000008c,#0000);text-align:right}.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}@media(max-width:820px){.group-grid{grid-template-columns:1fr;gap:40px}}.seats{display:flex;gap:16px;flex-wrap:wrap;padding:48px;background:var(--paper-2);border-radius:var(--r-lg);justify-content:center}.seat{width:88px;aspect-ratio:1;border-radius:50%;background:var(--paper);border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--h-font);font-weight:700;color:var(--ink-mute);font-size:24px}.seat.taken{background:var(--coral);color:#fff;border:none;box-shadow:0 6px color-mix(in oklab,var(--coral) 60%,black)}.seat.taken:nth-child(4){background:var(--marigold);color:var(--ink);box-shadow:0 6px color-mix(in oklab,var(--marigold) 50%,black)}.group-photo{margin:64px 0 0;padding:0;border-radius:var(--r-lg);overflow:hidden;position:relative;border:1px solid var(--line)}.group-photo img{width:100%;height:auto;display:block}.group-photo figcaption{position:absolute;left:16px;bottom:16px;background:var(--paper);border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-family:var(--h-font);font-size:12px;color:var(--ink-soft)}.pricing{background:var(--paper-2)}.price-card{max-width:760px;margin:0 auto;background:var(--paper);border-radius:var(--r-xl);padding:56px 56px 48px;border:1px solid var(--line);box-shadow:0 30px 60px -40px #00000026;position:relative}@media(max-width:640px){.price-card{padding:48px 28px 36px}}.price-card .ribbon{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:var(--coral);color:#fff;font-family:var(--h-font);font-weight:700;font-size:13px;padding:8px 22px;border-radius:999px;letter-spacing:.05em;box-shadow:0 4px color-mix(in oklab,var(--coral) 60%,black),0 6px 16px -6px #0003}.price-head{text-align:center;margin-bottom:28px}.price-head h3{font-size:24px;margin-bottom:4px}.price-head .freq{color:var(--ink-mute);font-size:13px}.price{text-align:center;margin:18px 0 28px;display:flex;align-items:baseline;justify-content:center;gap:6px}.price .yen{font-family:var(--serif);font-size:32px;color:var(--ink-soft)}.price .num{font-family:var(--h-font);font-weight:900;font-size:72px;color:var(--ink);line-height:1}.price .per{color:var(--ink-soft);font-size:14px}.price-includes{background:var(--paper-2);border-radius:var(--r-md);padding:24px 28px;display:grid;gap:14px}.price-includes .row{display:flex;gap:12px;align-items:flex-start;font-size:14px}.price-includes .check{min-width:22px;height:22px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.price-table{margin-top:28px;width:100%;border-collapse:collapse;font-size:14px}.price-table th,.price-table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}.price-table th{font-family:var(--h-font);color:var(--ink-mute);font-weight:500;font-size:12px;letter-spacing:.1em}.calendar{background:#fbf5e6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--ink-soft)}.cal-legend .chip{display:inline-flex;align-items:center;gap:8px}.cal-legend .sw{width:14px;height:14px;border-radius:4px;display:inline-block}.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}@media(max-width:900px){.cal-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(max-width:520px){.cal-grid{grid-template-columns:1fr}.cal-grid .cal-month.cal-past{display:none}.cal-grid:not(.show-all) .cal-month.cal-extra{display:none}}.cal-more-btn{display:none;margin:24px auto 0;padding:12px 28px;font-family:var(--h-font);font-weight:700;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background .18s ease,border-color .18s ease}.cal-more-btn:hover{background:var(--paper-2);border-color:var(--ink-mute)}@media(max-width:520px){.cal-more-btn:not([hidden]){display:block}}.cal-month{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 12px 12px;position:relative}.cal-month.is-break{background:color-mix(in oklab,var(--paper-3) 70%,var(--paper));opacity:.85}.cal-month-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:8px}.cal-month-num{font-family:var(--serif);font-weight:900;font-size:24px;color:var(--ink);line-height:1}.cal-month-num .unit{font-size:14px;font-weight:500;color:var(--ink-mute);margin-left:2px}.cal-month-en{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--ink-mute)}.cal-month-year{font-family:var(--h-font);font-size:10px;color:var(--ink-mute);letter-spacing:.12em;position:absolute;top:16px;right:18px}.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);font-family:var(--h-font);font-size:10px;color:var(--ink-mute);text-align:center;margin-bottom:4px}.cal-dow span:nth-child(6){color:var(--indigo)}.cal-dow span:nth-child(7){color:var(--coral)}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:11px;text-align:center}.cal-days .d{padding:5px 0;border-radius:6px;color:var(--ink-soft);font-family:var(--h-font);font-weight:500}.cal-days .d.sat{color:var(--indigo)}.cal-days .d.sun{color:var(--coral)}.cal-days .d.empty{visibility:hidden}.cal-days .d.open{background:color-mix(in oklab,var(--coral) 75%,var(--paper));color:#fff;font-weight:700;box-shadow:inset 0 -2px color-mix(in oklab,var(--coral) 65%,black)}.cal-note{margin-top:10px;padding-top:10px;font-size:11px;color:var(--ink-mute);border-top:1px dashed var(--line);text-align:center;font-family:var(--h-font)}.insurance{padding:var(--pad-section-sm) 0}.insurance-card{display:flex;gap:28px;align-items:flex-start;padding:32px;background:var(--paper-2);border-radius:var(--r-lg)}.insurance-ico{min-width:64px;height:64px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;flex-shrink:0}.insurance-ico svg{width:32px;height:32px;display:block}.insurance-card h3{font-size:20px;margin-bottom:6px}.insurance-card p{font-size:14px;color:var(--ink-soft);margin:0 0 8px}.insurance-list{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:680px){.insurance-list{grid-template-columns:1fr}}.insurance-list li{font-size:13px;display:flex;align-items:flex-start;gap:8px;color:var(--ink-soft)}.insurance-list li:before{content:"◯";color:var(--forest);font-weight:700}.teacher-grid{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:start}@media(max-width:820px){.teacher-grid{grid-template-columns:1fr;gap:40px}}.teacher-photo{aspect-ratio:3/4;border-radius:var(--r-lg)}.teacher h3{font-size:28px;margin-bottom:4px}.teacher .role{font-family:var(--h-font);color:var(--ink-mute);font-size:13px;letter-spacing:.08em;margin-bottom:4px}.teacher .role-message{font-family:var(--hand);color:var(--coral);font-size:16px;margin:0 0 22px}.teacher p{font-size:15px;color:var(--ink-soft);line-height:1.95}.teacher-profile{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 24px;padding:18px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);font-size:14px}.teacher-profile dt{font-family:var(--h-font);font-weight:700;color:var(--ink-mute);letter-spacing:.06em;font-size:12px;align-self:center}.teacher-profile dd{margin:0;color:var(--ink)}.teacher-message{margin:22px 0 0;padding:24px 28px;background:color-mix(in oklab,var(--marigold) 10%,var(--paper));border-left:3px solid color-mix(in oklab,var(--coral) 65%,var(--marigold));border-radius:0 var(--r-md) var(--r-md) 0}.teacher-message p{font-family:var(--serif);margin:0 0 14px;font-size:15px;line-height:2;color:var(--ink)}.teacher-message p:last-child{margin-bottom:0}.teacher-works{background:var(--paper-2)}.tw-carousel{margin-top:36px;position:relative}.tw-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:8px 0 16px;-webkit-overflow-scrolling:touch}.tw-track::-webkit-scrollbar{display:none}.tw-slide{flex:0 0 auto;width:min(85vw,600px);aspect-ratio:4 / 3;scroll-snap-align:center;margin:0;border-radius:var(--r-md);overflow:hidden;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 60px -28px #00000040;display:flex;align-items:center;justify-content:center}.tw-slide:first-child{margin-left:max(16px,calc((100% - min(85vw,600px))/2))}.tw-slide:last-child{margin-right:max(16px,calc((100% - min(85vw,600px))/2))}.tw-slide img{width:100%;height:100%;object-fit:contain;display:block}.tw-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}.tw-dot{width:10px;height:10px;border-radius:50%;background:color-mix(in oklab,var(--ink) 15%,var(--paper));border:0;padding:0;cursor:pointer;transition:background .18s ease,transform .18s ease}.tw-dot.is-active{background:var(--coral);transform:scale(1.25)}.tw-dot:hover{background:color-mix(in oklab,var(--coral) 60%,var(--paper-3))}.gallery{background:var(--paper-2)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:820px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-grid .ph{aspect-ratio:1}.gallery-grid .ph:nth-child(1){grid-row:span 2;aspect-ratio:1/2}.gallery-grid .ph:nth-child(6){grid-column:span 2;aspect-ratio:2/1}@media(max-width:820px){.gallery-grid .ph:nth-child(1){grid-row:auto;aspect-ratio:1}.gallery-grid .ph:nth-child(6){grid-column:auto;aspect-ratio:1}}.faq-head{max-width:820px;margin:0 auto 56px}.faq-list{display:grid;gap:14px;max-width:820px;margin:0 auto}.faq{background:var(--paper-2);border-radius:var(--r-md);border:1px solid var(--line);padding:20px 26px;cursor:pointer;transition:.2s}.faq[open]{background:var(--paper);box-shadow:0 12px 30px -20px #00000026}.faq summary{list-style:none;cursor:pointer;display:flex;gap:16px;align-items:flex-start;font-family:var(--h-font);font-weight:700;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q";font-family:var(--serif);font-weight:900;color:var(--coral);font-size:18px;line-height:1.2;min-width:26px}.faq summary:after{content:"＋";margin-left:auto;color:var(--ink-mute);font-weight:400;transition:transform .2s}.faq[open] summary:after{content:"ー"}.faq .a{padding:16px 0 8px 42px;font-size:14px;color:var(--ink-soft);line-height:1.95}.ig-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}@media(max-width:720px){.ig-grid{grid-template-columns:1fr}}.ig-grid .ph{aspect-ratio:1;border-radius:var(--r-md)}.ig-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.ig-head .section-title{margin-bottom:0}.cta{background:var(--coral);color:#fff;position:relative;overflow:hidden}.cta .section-title,.cta .eyebrow{color:#fff}.cta .eyebrow:before{background:#fff}.cta-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}@media(max-width:820px){.cta-inner{grid-template-columns:1fr;gap:40px}}.cta p{color:color-mix(in oklab,#fff 80%,transparent);font-size:16px;line-height:1.95}.cta-badges{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}.cta-badges .hero-badge{background:color-mix(in oklab,#fff 20%,transparent);color:#fff;border-color:color-mix(in oklab,#fff 30%,transparent)}.cta-badges .hero-badge .dot{background:#fff}.cta form{background:#fff;border-radius:var(--r-lg);padding:36px 32px;color:var(--ink);box-shadow:0 40px 80px -30px #0000004d}.visit-fee{display:flex;align-items:center;justify-content:space-between;gap:16px;background:color-mix(in oklab,var(--coral) 10%,var(--paper-2));border:1px solid color-mix(in oklab,var(--coral) 30%,var(--line));border-radius:var(--r-md);padding:14px 18px;margin-bottom:22px}.visit-fee-label{font-family:var(--h-font);font-weight:700;font-size:13px;color:var(--ink);letter-spacing:.02em}.visit-fee-amount{display:flex;align-items:baseline;gap:2px;color:var(--coral);white-space:nowrap}.visit-fee-amount .yen{font-family:var(--serif);font-size:14px}.visit-fee-amount .num{font-family:var(--h-font);font-weight:900;font-size:26px;line-height:1}.visit-fee-amount .per{font-size:11px;color:var(--ink-soft);margin-left:4px}.form-row{margin-bottom:20px}.form-row label{display:block;font-family:var(--h-font);font-weight:500;font-size:13px;margin-bottom:8px;color:var(--ink-soft)}.form-row input,.form-row select,.form-row textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:inherit;font-size:14px;background:var(--paper)}.form-row input:focus,.form-row select:focus{outline:2px solid var(--coral);outline-offset:2px}.form-submit{width:100%;margin-top:4px}.form-note{font-size:11px;color:var(--ink-mute);margin:10px 0 0;text-align:center}.form-status{margin:12px 0 0;font-size:13px;text-align:center;font-family:var(--h-font);font-weight:500}.form-status[data-state=sending]{color:var(--ink-mute)}.form-status[data-state=error]{color:color-mix(in oklab,var(--coral) 85%,black);background:color-mix(in oklab,var(--coral) 10%,var(--paper));padding:10px 14px;border-radius:var(--r-sm);border:1px solid color-mix(in oklab,var(--coral) 30%,var(--line))}.visit-form-wrap .hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.form-success{background:#fff;border-radius:var(--r-lg);padding:48px 32px;color:var(--ink);text-align:center;box-shadow:0 40px 80px -30px #0000004d}.form-success-ico{width:56px;height:56px;margin:0 auto 16px;color:var(--forest)}.form-success h3{font-size:20px;margin:0 0 12px}.form-success p{font-size:14px;color:var(--ink-soft);line-height:1.95;margin:0}.form-success-back{margin-top:24px}.cta:before,.cta:after{content:"";position:absolute;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,#fff 22%,transparent),color-mix(in oklab,#fff 0%,transparent) 70%);pointer-events:none}.cta:before{width:240px;height:240px;top:-90px;left:-70px}.cta:after{width:340px;height:340px;bottom:-160px;right:-100px}.access{padding:var(--pad-section-sm) 0}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}@media(max-width:820px){.access-grid{grid-template-columns:1fr;gap:40px}}.access-info{font-size:14px;color:var(--ink-soft);line-height:1.95}.access-info dt{font-family:var(--h-font);font-weight:700;color:var(--ink);margin-top:20px;padding-top:20px;font-size:13px;letter-spacing:.08em;border-top:1px dashed var(--line)}.access-info dt:first-of-type{margin-top:0;padding-top:0;border-top:none}.access-info dd{margin:6px 0 0}.access-walk{display:inline-flex;align-items:center;gap:8px;background:color-mix(in oklab,var(--sky) 18%,var(--paper));border:1px solid color-mix(in oklab,var(--sky) 40%,var(--line));border-radius:999px;padding:6px 14px;font-size:14px;color:color-mix(in oklab,var(--sky) 70%,black)}.access-walk b{color:var(--ink);font-weight:700}.access-map{width:100%;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}.access-map iframe{width:100%;height:100%;display:block;border:0}footer{background:var(--ink);color:color-mix(in oklab,var(--paper) 80%,transparent);padding:56px 0 32px}footer a{text-decoration:none}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}@media(max-width:820px){.foot-grid{grid-template-columns:1fr}}.foot-logo{font-family:var(--h-font);font-weight:900;font-size:22px;margin-bottom:12px;background:linear-gradient(95deg,var(--indigo) 0%,var(--forest) 30%,var(--marigold) 55%,var(--coral) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;display:inline-block}.foot-about{font-size:13px;line-height:1.9;max-width:360px}.foot-col h5{font-family:var(--h-font);color:var(--paper);font-size:13px;letter-spacing:.1em;margin:0 0 14px}.foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:13px}.foot-bottom{margin-top:48px;padding-top:20px;border-top:1px solid color-mix(in oklab,var(--paper) 22%,transparent);display:flex;justify-content:space-between;font-size:12px;color:color-mix(in oklab,var(--paper) 55%,transparent)}@media(prefers-reduced-motion:reduce){.logo .star,.hero-sparkle{animation:none}}
