/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--cream:#fffaf4;--cream-deep:#f7eee5;--paper:#fffdf9;--ink:#17213a;--ink-soft:#4e566d;--coral:#e96f69;--coral-dark:#cb5652;--coral-soft:#f9d8d2;--gold:#f2c266;--sage:#698b7a;--line:#e8ddd3;--shadow:0 24px 70px #3a251e1f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:102px}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.04}h2{margin-bottom:20px;font-size:clamp(2.3rem,4vw,4.15rem)}h3{line-height:1.25}.section-shell{width:min(1180px,100% - 48px);margin:0 auto}.section{padding-top:118px;padding-bottom:118px}.announcement{background:var(--ink);color:#fff;letter-spacing:.04em;justify-content:center;align-items:center;gap:10px;min-height:38px;padding:8px 20px;font-size:.78rem;display:flex}.announcement strong{color:#ffd9b0}.announcement-dot{color:var(--coral)}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf4f0;border-bottom:1px solid #17213a14;justify-content:space-between;align-items:center;gap:28px;width:100%;min-height:82px;margin:0;padding:0 max(24px,50% - 620px);display:flex;position:sticky;top:0;box-shadow:0 10px 32px #37262012}.brand,.footer-brand{align-items:center;gap:11px;display:flex}.brand-mark{background:var(--coral);color:#fff;border-radius:50% 50% 44% 52%;flex:none;place-items:center;width:43px;height:43px;font-family:Georgia,serif;font-size:1.2rem;display:grid;transform:rotate(-4deg);box-shadow:inset 0 -4px #762a2724}.brand-logo{background:#fff7f2;border:1px solid #efd7cf;border-radius:50%;flex:none;width:48px;height:48px;position:relative;overflow:hidden;box-shadow:0 7px 18px #492b261f}.brand-logo img{width:120px;max-width:none;position:absolute;top:-9px;left:-25px}.brand>span:last-child,.footer-brand>div{flex-direction:column;line-height:1.15;display:flex}.brand strong,.footer-brand strong{letter-spacing:-.02em;font-family:Georgia,serif;font-size:1.18rem}.brand small,.footer-brand small{color:var(--ink-soft);letter-spacing:.11em;text-transform:uppercase;margin-top:4px;font-size:.68rem}.site-header nav{color:var(--ink-soft);align-items:center;gap:32px;font-size:.9rem;font-weight:650;display:flex}.site-header nav a{position:relative}.site-header nav a:after{background:var(--coral);content:"";height:2px;transition:transform .18s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}.mobile-menu-toggle,.mobile-menu-panel{display:none}.button{border:1px solid var(--coral);background:var(--coral);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:14px;min-height:54px;padding:14px 24px;font-weight:750;line-height:1.15;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex;box-shadow:0 12px 28px #d7575238}.button:hover,.button:focus-visible{background:var(--coral-dark);transform:translateY(-2px);box-shadow:0 15px 34px #d7575247}.button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #e96f6954}.button-small{min-height:44px;padding:10px 19px;font-size:.84rem}.button-outline{border-color:var(--ink);color:var(--ink);box-shadow:none;background:0 0}.button-outline:hover,.button-outline:focus-visible{background:var(--ink);color:#fff}.eyebrow{color:var(--coral-dark);letter-spacing:.16em;margin-bottom:22px;font-size:.75rem;font-weight:800}.hero{grid-template-columns:1.03fr .97fr;align-items:center;gap:78px;min-height:690px;padding-top:60px;padding-bottom:94px;display:grid;position:relative}.hero:before{z-index:-1;color:#e96f690e;content:"日本語";letter-spacing:-.2em;writing-mode:vertical-rl;font-family:Georgia,serif;font-size:14rem;position:absolute;top:4%;left:-8%}.hero h1{max-width:680px;margin-bottom:25px;font-size:clamp(3.2rem,6vw,6.1rem)}.hero h1 em{color:var(--coral-dark);font-weight:500;position:relative}.hero h1 em:after{background:var(--gold);content:"";opacity:.62;border-radius:50%;height:9px;position:absolute;bottom:-8px;left:0;right:0;transform:rotate(-1deg)scaleX(.96)}.hero-lead{max-width:600px;color:var(--ink-soft);margin-bottom:32px;font-size:1.18rem}.hero-actions{align-items:center;gap:26px;display:flex}.text-link{border-bottom:1px solid var(--ink);font-size:.94rem;font-weight:750}.hero-proof{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;font-size:.82rem;display:flex}.stars{color:#f3a638;letter-spacing:.08em;font-size:.94rem}.proof-divider{background:var(--line);width:1px;height:18px;margin:0 3px}.hero-visual{justify-self:end;width:min(100%,500px);position:relative}.hero-visual:before{border:2px solid var(--coral-soft);content:"";border-radius:52% 48% 44% 56%/43% 47% 53% 57%;width:82%;height:86%;position:absolute;top:-35px;right:-38px;transform:rotate(4deg)}.photo-frame{aspect-ratio:.8;box-shadow:var(--shadow);background:#fff;border:10px solid #fff;border-radius:48% 48% 45% 45%/36% 38% 52% 54%;position:relative;overflow:hidden;transform:rotate(1.2deg)}.photo-frame img{object-fit:cover;object-position:center center;width:100%;height:100%}.floating-note{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf9f0;border:1px solid #262b4014;border-radius:16px;flex-direction:column;min-width:166px;padding:13px 17px;line-height:1.25;display:flex;position:absolute;box-shadow:0 16px 35px #281e1b29}.floating-note span{color:var(--coral-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:800}.floating-note strong{font-family:Georgia,serif;font-size:.96rem}.note-one{top:17%;left:-65px;transform:rotate(-3deg)}.note-two{bottom:12%;right:-32px;transform:rotate(2deg)}.goal-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);padding:28px max(24px,50% - 590px)}.goal-strip p{color:var(--ink-soft);letter-spacing:.15em;text-align:center;text-transform:uppercase;margin-bottom:14px;font-size:.73rem;font-weight:800}.goal-strip div{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.goal-strip span{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:7px 13px;font-size:.78rem;font-weight:650}.section-heading{max-width:720px;margin-bottom:52px}.section-heading p,.method-copy>p,.about-copy>p,.booking-intro>p{color:var(--ink-soft);font-size:1.04rem}.centered-heading{text-align:center;margin-left:auto;margin-right:auto}.pain-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.pain-card{border:1px solid var(--line);background:var(--paper);border-radius:28px;min-height:430px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden;box-shadow:0 14px 36px #3f2c260f}.pain-card:hover{border-color:#e96f696b;transform:translateY(-7px);box-shadow:0 24px 55px #3f2c261a}.pain-media{background:var(--coral-soft);height:190px;position:relative;overflow:hidden}.pain-media:after{content:"";background:linear-gradient(#0000 48%,#17213a47);position:absolute;inset:0}.pain-media img{object-fit:cover;filter:saturate(.78)contrast(.94);width:100%;height:100%;transition:transform .5s,filter .3s}.pain-card:hover .pain-media img{filter:saturate(.95)contrast(.98);transform:scale(1.045)}.kanji-mark{z-index:2;width:57px;height:57px;color:var(--coral-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf4eb;border:1px solid #ffffffbd;border-radius:19px;place-items:center;font-family:Georgia,serif;font-size:1.45rem;display:grid;position:absolute;bottom:20px;right:22px;box-shadow:0 10px 26px #17213a29}.pain-card-copy{padding:29px 30px 32px}.pain-solution{color:var(--coral-dark);letter-spacing:.13em;text-transform:uppercase;margin-bottom:13px;font-size:.62rem;font-weight:850;display:block}.pain-card h3{max-width:280px;margin-bottom:12px;font-family:Georgia,serif;font-size:1.34rem}.pain-card p{color:var(--ink-soft);margin-bottom:0;font-size:.92rem}.method-section{grid-template-columns:1.2fr .8fr;align-items:center;gap:90px;display:grid}.method-copy h2{max-width:700px}.check-list{gap:14px;margin:32px 0 0;padding:0;list-style:none;display:grid}.check-list li{color:var(--ink-soft);align-items:center;gap:12px;font-weight:620;display:flex}.check-list span{width:25px;height:25px;color:var(--sage);background:#dce9df;border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:900;display:grid}.progress-card{background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:34px;padding:48px;position:relative;overflow:hidden}.progress-card:after{content:"";border:28px solid #e96f6929;border-radius:50%;width:155px;height:155px;position:absolute;top:-38px;right:-30px}.progress-kicker{color:#f5c7a7;letter-spacing:.14em;margin-bottom:26px;font-size:.7rem;font-weight:800;display:block}.progress-card>strong{letter-spacing:-.07em;margin-bottom:13px;font-family:Georgia,serif;font-size:clamp(3.3rem,6vw,5.8rem);font-weight:500;line-height:1;display:block}.progress-card p{color:#ffffffbf;max-width:360px}.progress-card small{color:#ffffffa6}.mini-wave{align-items:flex-end;gap:7px;height:60px;margin:30px 0 16px;display:flex}.mini-wave i{background:var(--coral);border-radius:99px;width:12px;display:block}.mini-wave i:first-child{height:18%}.mini-wave i:nth-child(2){height:32%}.mini-wave i:nth-child(3){height:26%}.mini-wave i:nth-child(4){height:53%}.mini-wave i:nth-child(5){height:68%}.mini-wave i:nth-child(6){height:76%}.mini-wave i:nth-child(7){background:var(--gold);height:100%}.about-section{background:var(--cream-deep);overflow:hidden}.about-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:90px;display:grid}.logo-card{position:relative}.logo-card>img{width:100%;box-shadow:var(--shadow);border:10px solid #fff;border-radius:38% 40% 35% 38%/31% 34% 40% 40%;transform:rotate(-1.5deg)}.certificate-stack{background:#fff;border-radius:18px;gap:8px;width:min(330px,82%);padding:18px;font-size:.76rem;font-weight:700;display:grid;position:absolute;bottom:-28px;right:-55px;box-shadow:0 18px 45px #372a2526}.certificate-stack span{color:var(--sage)}.about-copy h2{max-width:750px}.about-facts{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.about-facts span{color:var(--ink-soft);border:1px solid #17213a1c;border-radius:999px;padding:10px 14px;font-size:.78rem}.about-facts strong{color:var(--ink)}.steps-section .section-heading{max-width:800px}.steps-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.steps-grid article{padding:42px 38px 10px 0;position:relative}.steps-grid article:not(:last-child):after{color:var(--coral);content:"→";font-size:1.5rem;position:absolute;top:40px;right:38px}.steps-grid article>span{color:var(--coral-dark);margin-bottom:48px;font-family:Georgia,serif;font-size:1.1rem;display:block}.steps-grid h3{margin-bottom:10px;font-family:Georgia,serif;font-size:1.45rem}.steps-grid p{max-width:290px;color:var(--ink-soft);font-size:.9rem}.reviews-section{background:var(--ink);color:#fff}.reviews-section .eyebrow{color:#f2b8a5}.reviews-header{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:55px;display:flex}.reviews-header h2{max-width:720px;margin-bottom:0}.rating-card{grid-template-columns:auto 1fr;align-items:center;column-gap:14px;min-width:210px;display:grid}.rating-card>strong{letter-spacing:-.08em;grid-row:span 2;font-family:Georgia,serif;font-size:4rem;font-weight:500;line-height:1}.rating-card small{color:#ffffff94;font-size:.72rem}.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.testimonial-grid blockquote{background:#ffffff0e;border:1px solid #ffffff1f;border-radius:27px;flex-direction:column;min-height:330px;margin:0;padding:34px;display:flex}.quote-mark{height:52px;color:var(--coral);font-family:Georgia,serif;font-size:4.4rem;line-height:1;display:block}.testimonial-grid blockquote>p{margin-bottom:34px;font-family:Georgia,serif;font-size:1.23rem;line-height:1.5}.testimonial-grid footer{align-items:center;gap:11px;margin-top:auto;display:flex}.testimonial-grid footer>span:last-child{flex-direction:column;line-height:1.3;display:flex}.testimonial-grid footer small{color:#ffffff8f;font-size:.72rem}.avatar{background:var(--coral-soft);width:38px;height:38px;color:var(--coral-dark);border-radius:50%;place-items:center;font-weight:800;display:grid}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;display:grid}.price-card{border:1px solid var(--line);background:var(--paper);border-radius:26px;flex-direction:column;min-height:510px;padding:31px;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s,border-color .26s,background .26s;display:flex;position:relative;box-shadow:0 10px 30px #3f2c260a}.price-card.featured{border:2px solid var(--coral);background:#fff4ee;transform:translateY(-12px);box-shadow:0 25px 60px #673b3024}@media (hover:hover){.price-card:hover{z-index:2;background:#fff9f5;border-color:#e96f69b8;transform:translateY(-12px)scale(1.015);box-shadow:0 30px 70px #5b372f29}.price-card.featured:hover{background:#fff0e9;transform:translateY(-20px)scale(1.02)}.price-card:hover .price strong{color:var(--coral-dark)}.price-card:hover .button{transform:translateY(-3px)}}@media (hover:none){.price-card:active{border-color:var(--coral);transform:scale(.99);box-shadow:0 18px 42px #5b372f21}}.best-value{background:var(--coral);color:#fff;letter-spacing:.11em;border-radius:99px;padding:6px 12px;font-size:.62rem;font-weight:900;position:absolute;top:-14px;right:24px}.price-top>span{color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:850}.price-top h3{min-height:52px;margin:9px 0 25px;font-family:Georgia,serif;font-size:1.35rem}.price{align-items:baseline;gap:9px;display:flex}.price strong{letter-spacing:-.06em;font-family:Georgia,serif;font-size:3.3rem;font-weight:500;line-height:1;transition:color .22s}.price span,.original-price,.per-lesson{color:var(--ink-soft);font-size:.76rem}.original-price{margin-top:9px;text-decoration:line-through}.per-lesson{margin-top:13px;font-weight:750}.price-card>p{color:var(--ink-soft);margin:26px 0 28px;font-size:.86rem}.price-card .button{width:100%;margin-top:auto;padding-left:14px;padding-right:14px;font-size:.78rem}.pricing-note{max-width:810px;color:var(--ink-soft);text-align:center;margin:28px auto 0;font-size:.76rem}.booking-section{background:var(--cream-deep);position:relative;overflow:hidden}.booking-section:before{content:"";opacity:.42;background:linear-gradient(90deg,#f7eee5c7,#f7eee5f2 52%,#f7eee5fc),url(/pain-plan.jpg) 50%/cover;position:absolute;inset:0}.booking-grid{grid-template-columns:.78fr 1.22fr;align-items:start;gap:72px;display:grid;position:relative}.booking-intro{position:sticky;top:104px}.booking-includes{gap:16px;margin:36px 0 27px;display:grid}.booking-includes span{align-items:center;gap:12px;font-size:.91rem;font-weight:680;display:flex}.booking-includes b{background:var(--coral-soft);width:30px;height:30px;color:var(--coral-dark);border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;display:grid}.booking-intro>small{border-top:1px solid var(--line);color:var(--ink-soft);padding-top:22px;font-size:.76rem;display:block}.booking-panel{border:1px solid var(--line);background:var(--paper);min-height:720px;box-shadow:var(--shadow);border-radius:30px;overflow:hidden}.booking-panel form{padding:36px}.calendar-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.calendar-header>div{flex-direction:column;display:flex}.calendar-header>div span,.time-section>span,.form-section>span{color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:850}.calendar-header>div strong{margin-top:4px;font-family:Georgia,serif;font-size:1.35rem}.calendar-header label{min-width:165px;max-width:270px;color:var(--ink-soft);font-size:.68rem}.timezone-hint{color:#7b8090;font-size:.57rem;font-weight:550;line-height:1.35}label{color:var(--ink-soft);flex-direction:column;gap:7px;font-size:.74rem;font-weight:700;display:flex}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px}input,select{min-height:48px;padding:10px 12px}textarea{resize:vertical;min-height:94px;padding:12px}input::placeholder,textarea::placeholder{color:#9ba0ad}.month-calendar{border:1px solid var(--line);background:#fffdfa;border-radius:22px;margin-top:28px;padding:24px}.month-calendar-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.month-calendar-heading>strong{letter-spacing:-.03em;font-family:Georgia,serif;font-size:1.55rem;font-weight:600}.month-calendar-heading>div{gap:8px;display:flex}.month-calendar-heading button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;font-size:1.35rem;transition:border-color .16s,color .16s,transform .16s;display:grid}.month-calendar-heading button:hover{border-color:var(--coral);color:var(--coral-dark);transform:translateY(-1px)}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{color:var(--ink-soft);letter-spacing:.08em;text-align:center;text-transform:uppercase;padding:5px 0;font-size:.65rem;font-weight:850}.calendar-days button{border:1px solid var(--line);min-width:0;min-height:70px;color:var(--ink);cursor:pointer;background:#fff;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;transition:border-color .16s,background .16s,color .16s,transform .16s,box-shadow .16s;display:flex}.calendar-days button:not(:disabled):hover{border-color:var(--coral);transform:translateY(-2px);box-shadow:0 8px 20px #5938301a}.calendar-days button strong{font-family:Georgia,serif;font-size:1.12rem}.calendar-days button small{color:var(--sage);letter-spacing:.03em;text-transform:uppercase;margin-top:3px;font-size:.52rem;font-weight:850}.calendar-days button.selected{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:0 10px 24px #17213a2e}.calendar-days button.selected small{color:#ffd1c5}.calendar-days button:disabled{color:#b8bcc5;cursor:not-allowed;background:0 0;border-color:#0000}.calendar-days button.outside{opacity:.58}.calendar-legend{color:var(--ink-soft);align-items:center;gap:8px;margin:17px 0 0;font-size:.68rem;display:flex}.calendar-legend i{background:var(--sage);border-radius:50%;width:8px;height:8px;display:block}.time-grid button.selected{border-color:var(--ink);background:var(--ink);color:#fff}.time-section,.form-section{border-top:1px solid var(--line);margin-top:28px;padding-top:27px}.time-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px;display:grid}.time-grid button{border:1px solid var(--line);min-height:55px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;transition:border-color .16s,background .16s,color .16s,transform .16s;display:flex}.time-grid button:hover{border-color:var(--coral);transform:translateY(-2px)}.time-grid button small{opacity:.65;font-size:.6rem}.booking-choice-summary{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:1.25fr .8fr auto;align-items:center;gap:18px;margin-top:18px;padding:15px 17px;display:grid}.booking-choice-summary>span{flex-direction:column;line-height:1.3;display:flex}.booking-choice-summary small{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:850}.booking-choice-summary strong{margin-top:4px;font-family:Georgia,serif;font-size:.92rem}.booking-choice-summary b{color:#527261;letter-spacing:.06em;white-space:nowrap;background:#e5efe8;border-radius:999px;padding:7px 10px;font-size:.6rem}.form-section{gap:15px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.consent{flex-direction:row;align-items:flex-start;gap:9px;font-weight:500;display:flex}.consent input{width:16px;min-height:16px;accent-color:var(--coral);margin-top:3px}.form-submit{border-radius:14px;width:100%;margin-top:2px}.form-submit:disabled{box-shadow:none;cursor:not-allowed;background:#ccc5be;border-color:#ccc5be;transform:none}.form-microcopy{color:var(--ink-soft);text-align:center;font-size:.67rem}.form-error{color:#9b3734;text-align:center;background:#fff1ef;border:1px solid #e7aaa4;border-radius:11px;margin:0;padding:11px 13px;font-size:.72rem}.success-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:720px;padding:55px;display:flex}.success-state>span{color:var(--coral-dark);margin-bottom:24px;font-family:Georgia,serif;font-size:1.5rem}.success-state h3{margin-bottom:13px;font-family:Georgia,serif;font-size:2.5rem}.success-state p{max-width:430px;color:var(--ink-soft);margin-bottom:30px}.faq-section{grid-template-columns:1fr;gap:42px;display:grid}.faq-section .section-heading{text-align:center;max-width:980px;margin:0 auto}.faq-section .section-heading h2{margin-bottom:0}.faq-section .section-heading h2 span,.faq-section .section-heading h2 em{display:block}.faq-section .section-heading h2 em{color:var(--coral-dark);letter-spacing:.02em;margin-top:10px;font-style:normal}.faq-list{border-top:1px solid var(--line);width:min(960px,100%);margin:0 auto}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:27px 45px 27px 0;font-family:Georgia,serif;font-size:1.15rem;font-weight:600;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{color:var(--coral-dark);content:"+";font-family:sans-serif;font-size:1.5rem;font-weight:400;position:absolute;top:26px;right:6px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:620px;color:var(--ink-soft);padding:0 50px 26px 0;font-size:.9rem}.footer{color:#fff;background:#121a30;padding:65px 0 24px}.footer-grid{grid-template-columns:1fr auto auto;align-items:center;gap:40px;padding-bottom:50px;display:grid}.footer .brand-mark{background:var(--coral)}.footer-brand small,.footer-grid p{color:#ffffff94}.footer-grid p{margin:0;font-size:.85rem}.footer-bottom{color:#ffffff73;border-top:1px solid #ffffff1a;justify-content:space-between;padding-top:22px;font-size:.68rem;display:flex}.mobile-cta{display:none}.thank-you-page{background:radial-gradient(circle at 16% 18%, #e96f6924, transparent 28%), radial-gradient(circle at 84% 82%, #698b7a24, transparent 30%), var(--cream);min-height:100vh}.thank-you-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf4d1;justify-content:center;align-items:center;min-height:88px;padding:18px 24px;display:flex}.thank-you-shell{place-items:center;min-height:calc(100vh - 88px);padding:64px 24px;display:grid}.thank-you-card{border:1px solid var(--line);width:min(780px,100%);box-shadow:var(--shadow);text-align:center;background:#fffdf9f0;border-radius:34px;padding:68px 72px 54px;position:relative;overflow:hidden}.thank-you-card:after{color:#e96f690e;content:"ありがとう";pointer-events:none;font-family:Georgia,serif;font-size:8rem;line-height:1;position:absolute;bottom:-125px;right:-58px;transform:rotate(-8deg)}.thank-you-seal{color:#527261;background:#e2eee5;border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 26px;font-size:1.5rem;font-weight:900;display:grid;box-shadow:0 12px 30px #52726129}.thank-you-card .eyebrow{margin-bottom:18px}.thank-you-card h1{max-width:650px;margin:0 auto 22px;font-size:clamp(3rem,7vw,5.2rem)}.thank-you-lead{max-width:610px;color:var(--ink-soft);margin:0 auto;font-size:1.04rem}.thank-you-next{text-align:left;gap:12px;margin:40px 0;display:grid}.thank-you-next>span{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:15px;padding:17px 19px;display:flex}.thank-you-next b{color:var(--coral-dark);font-family:Georgia,serif;font-size:.85rem}.thank-you-next>span>span{flex-direction:column;display:flex}.thank-you-next strong{font-family:Georgia,serif;font-size:1rem}.thank-you-next small{color:var(--ink-soft);font-size:.75rem}.thank-you-actions{z-index:1;justify-content:center;align-items:center;gap:24px;display:flex;position:relative}.thank-you-note{z-index:1;color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-top:38px;font-size:.7rem;display:block;position:relative}@media (width<=1050px){.site-header nav{display:none}.mobile-menu-toggle{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;display:flex}.mobile-menu-toggle span{background:var(--ink);border-radius:99px;width:17px;height:2px;transition:transform .18s,opacity .18s;display:block}.mobile-menu-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu-panel.open{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf9fa;border-radius:18px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);left:24px;right:24px;overflow:hidden;box-shadow:0 20px 48px #37262029}.mobile-menu-panel a{color:var(--ink-soft);border-radius:11px;padding:12px 14px;font-size:.88rem;font-weight:750}.mobile-menu-panel a:hover,.mobile-menu-panel a:focus-visible{background:var(--coral-soft);color:var(--ink)}.hero{gap:45px}.hero h1{font-size:clamp(3.2rem,7vw,5.2rem)}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:14px}.price-card{padding:24px}.price-card.featured{transform:translateY(-8px)}.booking-grid{grid-template-columns:1fr}.booking-intro{max-width:720px;position:static}}@media (width<=820px){.section-shell{width:min(100% - 32px,720px)}.site-header{padding-left:16px;padding-right:16px}.mobile-menu-panel.open{left:16px;right:16px}.section{padding-top:86px;padding-bottom:86px}.hero{grid-template-columns:1fr;padding-top:44px}.hero-copy{text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.hero-proof{justify-content:center}.hero-visual{justify-self:center;width:min(90%,500px);margin-top:24px}.pain-grid,.testimonial-grid{grid-template-columns:1fr}.pain-card{min-height:0}.kanji-mark{bottom:17px;right:18px}.method-section,.about-grid,.faq-section{grid-template-columns:1fr;gap:60px}.about-grid{max-width:690px}.logo-card{width:min(86%,440px);margin:0 auto}.reviews-header{flex-direction:column;align-items:flex-start}.testimonial-grid blockquote{min-height:260px}.steps-grid{grid-template-columns:1fr}.steps-grid article{border-bottom:1px solid var(--line);padding-right:0}.steps-grid article:not(:last-child):after{display:none}.steps-grid article>span{margin-bottom:18px}.faq-section .section-heading{margin-bottom:0}.pricing-grid{grid-template-columns:1fr;gap:20px}.price-card,.price-card.featured{min-height:450px;transform:none}}@media (width<=620px){body{padding-bottom:66px}body:has(.thank-you-page){padding-bottom:0}.thank-you-header{min-height:76px}.thank-you-shell{min-height:calc(100vh - 76px);padding:26px 16px 44px}.thank-you-card{border-radius:25px;padding:42px 24px 36px}.thank-you-card h1{font-size:clamp(2.55rem,13vw,3.45rem)}.thank-you-lead{font-size:.92rem}.thank-you-next{margin:30px 0}.thank-you-actions{flex-direction:column;align-items:stretch;gap:15px}.thank-you-actions .button{width:100%}.announcement{text-align:center;min-height:34px;font-size:.67rem}.announcement span:first-child,.announcement-dot{display:none}.site-header{min-height:72px}.site-header>.button{display:none}.brand-mark,.brand-logo{width:38px;height:38px}.brand-logo img{width:98px;top:-7px;left:-20px}.brand strong{font-size:.98rem}.brand small{letter-spacing:.08em;max-width:170px;font-size:.56rem}.mobile-menu-toggle{width:38px;height:38px}.hero{min-height:0;padding-top:35px;padding-bottom:74px}.hero h1{font-size:clamp(2.85rem,15vw,4.35rem)}.hero-lead{font-size:1.02rem}.hero-actions{flex-direction:column;gap:16px}.hero-actions .button{width:100%}.hero-proof{gap:8px}.proof-divider{display:none}.note-one{top:10%;left:-14px}.note-two{bottom:7%;right:-10px}.floating-note{min-width:145px;padding:10px 13px}h2{font-size:clamp(2.2rem,11vw,3.2rem)}.section-heading{margin-bottom:38px}.pain-card,.progress-card,.testimonial-grid blockquote{border-radius:22px;padding:28px}.pain-card{padding:0}.pain-media{height:180px}.pain-card-copy{padding:26px 26px 29px}.certificate-stack{right:-22px}.booking-grid{width:100%}.booking-intro{width:calc(100% - 32px);margin:0 auto}.booking-panel{border-left:0;border-right:0;border-radius:0}.booking-panel form{padding:27px 20px}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-header label{width:100%}.month-calendar{border-radius:18px;margin-top:22px;padding:14px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-weekdays span{font-size:.54rem}.calendar-days button{border-radius:9px;min-height:48px}.calendar-days button strong{font-size:.9rem}.calendar-days button small{display:none}.time-grid{grid-template-columns:repeat(2,1fr)}.booking-choice-summary{grid-template-columns:1fr 1fr}.booking-choice-summary b{grid-column:1/-1;justify-self:start}.form-row{grid-template-columns:1fr}.success-state{min-height:620px;padding:35px 24px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-grid .button{display:none}.footer-bottom{flex-direction:column;gap:7px}.mobile-cta{z-index:50;background:var(--coral);color:#fff;border:1px solid #ffffff47;border-radius:999px;justify-content:center;align-items:center;gap:16px;min-height:52px;font-size:.88rem;font-weight:800;display:flex;position:fixed;bottom:10px;left:12px;right:12px;box-shadow:0 10px 35px #301e1d42}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
