:root{--navy:#001e4b;--cream:#faf5eb;--red:#fa1400;--white:#fff;--ink:#001e4b;--line:#d9ddd9;--shell:#e8e8e4;--ease:cubic-bezier(.22,1,.36,1);--page-max:480px;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:var(--shell);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--shell)}button,a,input{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:4px}button:active,a:active{filter:brightness(.95)}img,video{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}button:disabled{cursor:default}h1,h2,h3{letter-spacing:.04em;overflow-wrap:anywhere}[hidden]{display:none!important}[inert]{pointer-events:none}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent}
html.modal-open,html.modal-open body{overflow:hidden}
.app-shell{max-width:var(--page-max);margin:0 auto;background:var(--cream);min-height:100vh;position:relative;overflow-x:clip}
#page-main{padding-bottom:calc(66px + max(9px,env(safe-area-inset-bottom)))}
#page-main>*{scroll-margin-top:16px}
.brand-header{height:78px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:10px 26px}.brand-header img{width:73px;height:auto}.brand-header span{color:var(--cream);font-size:11px;line-height:1.8;text-align:right}
.hero{position:relative;background:var(--cream);isolation:isolate}.hero-photo{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.hero-copy{position:absolute;top:25px;left:24px;right:12px;font-size:28px;font-weight:800;line-height:1.55;letter-spacing:.04em}.hero-copy span{display:block;animation:hero-copy-in .7s var(--ease) both}.hero-copy span+span{animation-delay:.1s}.hero-scroll{position:absolute;bottom:14px;right:18px;width:44px;height:44px;border-radius:50%;background:var(--cream);display:grid;place-items:center}.hero-scroll .icon{width:19px;height:19px}
.welcome{padding:25px 24px 30px}.welcome>p{font-size:14px;line-height:1.95}.welcome-links{display:flex;align-items:center;gap:17px;margin-top:20px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--red);color:var(--white);min-height:49px;padding:13px 18px;border-radius:5px;font-size:13px;font-weight:600}.primary-button .icon{width:18px;height:18px}.welcome-links .primary-button{flex:1}.quiet-link{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;min-height:48px;white-space:nowrap}.quiet-link .icon{width:17px;height:17px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:35px 24px 23px;gap:12px}.section-heading h2,.product-heading h2{font-size:27px;line-height:1.5;letter-spacing:.04em;font-weight:700}.section-kicker{font-size:12px;line-height:1.6;font-weight:500;margin-bottom:10px}.photo-counter{font-size:12px;color:#657084;padding-bottom:5px;font-variant-numeric:tabular-nums}
.scenes{background:var(--white);padding-bottom:29px}.scene-tabs{display:flex;padding:0 24px;gap:20px;margin-bottom:17px}.scene-tabs button{padding:11px 0 8px;background:transparent;color:#637082;border-bottom:2px solid transparent;font-size:12px;min-height:44px;white-space:nowrap}.scene-tabs button[aria-selected=true]{border-color:var(--red);color:var(--navy);font-weight:700}.scene-photo-wrap{overflow:hidden;touch-action:pan-y;background:var(--cream)}.scene-photo{width:100%;aspect-ratio:1200/628;object-fit:cover}.scene-photo.is-changing{animation:scene-in .35s var(--ease) both}.scene-caption{display:flex;gap:13px;align-items:center;justify-content:space-between;padding:21px 24px 14px;min-height:105px}.scene-caption h3{font-size:15px;line-height:1.65;font-weight:700}.scene-caption p{font-size:12px;line-height:1.8;margin-top:6px;color:#5c6776}.round-button{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--cream)}.round-button .icon{width:18px;height:18px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;min-height:44px;margin:0 24px;border-bottom:1px solid var(--line)}.text-link .icon{width:17px;height:17px}
.how-section{background:var(--navy);color:var(--cream);padding-bottom:28px}.how-section .section-heading{padding-top:34px;padding-bottom:23px}.how-section .section-kicker{opacity:.8}.how-photo-wrap{position:relative;margin:0 24px;overflow:hidden;border-radius:3px}.how-photo-wrap>img,.how-photo-wrap>video{width:100%;aspect-ratio:1.65;object-fit:cover}.step-photo-label{position:absolute;left:12px;bottom:12px;display:inline-block;background:var(--cream);color:var(--navy);font-size:12px;padding:7px 10px;border-radius:3px;font-weight:600}.step-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:19px 24px 0}.step-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:relative;min-height:91px;background:#122e56;color:#c8d2df;padding:10px 11px 16px;border-radius:3px;overflow:hidden;font-size:12px}.step-number{font-size:23px;line-height:1.5;font-weight:700}.step-button[aria-pressed=true]{background:var(--cream);color:var(--navy)}.step-progress{position:absolute;left:0;bottom:0;right:0;height:3px;background:transparent;transform-origin:left;transform:scaleX(0)}.step-button[aria-pressed=true] .step-progress{background:var(--red);transform:scaleX(1)}.is-playing .step-button[aria-pressed=true] .step-progress{animation:step-progress var(--step-duration,2.1s) linear both}.step-copy{padding:20px 24px 0;min-height:118px}.step-copy h3{font-size:16px;line-height:1.7}.step-copy p{font-size:13px;line-height:1.85;margin-top:8px;color:#dbe2eb}.step-footer{padding:16px 24px 0}.play-button{background:transparent;display:inline-flex;align-items:center;gap:9px;color:var(--cream);border:1px solid #8392a7;border-radius:22px;padding:9px 15px;min-height:44px;font-size:12px}.play-button .icon{width:17px;height:17px}.step-footer>span{display:block;font-size:11px;color:#d2dbe5;line-height:1.8;margin-top:13px}
.video-section{background:var(--white);padding-bottom:33px}.video-section .section-lead,.section-lead{font-size:13px;line-height:1.9;color:#5c6776;padding:0 24px;margin:-9px 0 20px}.video-scroll{display:flex;gap:12px;overflow-x:auto;padding:0 24px 4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.video-scroll::-webkit-scrollbar{display:none}.video-card{flex:0 0 76%;padding:0;background:transparent;border-radius:3px;overflow:hidden;scroll-snap-align:start}.video-card>img{width:100%;height:auto}
.care-section{background:var(--cream);padding-bottom:29px}.care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 24px}.care-card{padding:0;background:transparent;text-align:left}.care-card>img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:3px}.care-card>span{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:12px;font-weight:600;min-height:55px}.care-card .icon{width:17px;height:17px}.care-video-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 48px);margin:16px 24px 0;padding:0 0 14px;border-bottom:1px solid var(--line);background:transparent;font-size:12px;font-weight:600;min-height:44px}.care-video-link .icon{width:17px;height:17px}.care-note{font-size:12px;line-height:1.8;color:#617083;padding:0 24px;margin-top:9px}
.product-section{background:var(--white);padding-top:32px}.product-heading{padding:0 24px}.product-photo{width:86%;margin:-3px auto -17px;aspect-ratio:1;object-fit:contain}.product-description{padding:0 24px 26px;position:relative}.product-description h3{font-size:21px;line-height:1.6;letter-spacing:.04em;margin-bottom:17px}.navy-button{background:var(--navy);color:var(--cream)}.product-description>.primary-button{width:100%}.formula-link{background:var(--cream);padding:12px 24px;display:flex;align-items:center;width:100%;gap:15px;text-align:left}.formula-link>img{width:69px;height:80px;object-fit:contain;mix-blend-mode:multiply}.formula-link>span{flex:1}.formula-link small{display:block;font-size:11px;line-height:1.8;margin-bottom:5px}.formula-link strong{display:block;font-size:14px;line-height:1.6;font-weight:600}.formula-link>.icon{width:19px;height:19px}
.faq-section{background:var(--white);padding-bottom:36px}.faq-section .section-heading{padding-top:38px}details{margin:0 24px;border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:70px;padding:17px 0;font-size:13px;font-weight:600;line-height:1.8;cursor:pointer}summary::-webkit-details-marker{display:none}summary>.icon{width:18px;height:18px;transition:transform .2s}details[open] summary>.icon{transform:rotate(45deg)}details>div{padding:0 0 20px;font-size:13px;line-height:1.95;color:#526074}details a,details button{display:block;margin-top:12px;font-size:13px;font-weight:600;color:var(--navy);background:transparent;padding:5px 0;min-height:44px;text-decoration:underline;text-underline-offset:5px}.contact-block{padding:35px 24px 0;text-align:center}.contact-block>.icon{margin:0 auto 14px;width:31px;height:31px}.contact-block h3{font-size:23px;line-height:1.55;letter-spacing:.04em}.contact-block p{font-size:13px;line-height:1.9;color:#5a6777;margin:15px 0 21px}.contact-block .primary-button{width:100%}
.brand-footer{padding:28px 24px;background:var(--navy);color:var(--cream);display:flex;align-items:center;gap:20px;flex-wrap:wrap}.brand-footer img{width:61px;height:auto}.brand-footer>span{font-size:11px;line-height:1.7}.brand-footer>a{font-size:11px;width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:10px;min-height:36px;opacity:.85}.brand-footer>a .icon{width:16px;height:16px;transform:rotate(180deg)}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:var(--page-max);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--white);border-top:1px solid #e2e4e7;padding:8px 10px max(9px,env(safe-area-inset-bottom));min-height:64px;z-index:10}.bottom-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:500;background:transparent;min-height:47px}.bottom-nav .icon{width:20px;height:20px}.bottom-nav [aria-current=true]{color:var(--red)}
.sheet{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet-shade{position:absolute;inset:0;background:#00152a88}.sheet-panel{position:relative;width:100%;max-width:var(--page-max);max-height:93%;background:var(--cream);border-radius:22px 22px 0 0;overflow-y:auto;overscroll-behavior:contain;animation:sheet-in .24s var(--ease) both;scrollbar-width:thin}.sheet-handle{height:4px;width:34px;border-radius:4px;background:#bdc3c9;margin:11px auto 14px}.sheet-close{position:absolute;right:9px;top:4px;background:var(--cream);border-radius:50%;z-index:1}.sheet-close .icon{width:20px;height:20px}.sheet-panel>img{width:100%;max-height:245px;object-fit:cover}.sheet-panel>img.contain{object-fit:contain;height:200px;background:var(--white)}.sheet-content{padding:25px 25px 30px}.sheet-content h2{font-size:24px;line-height:1.5;letter-spacing:.04em}.sheet-content>p:not(.section-kicker){font-size:13px;line-height:1.95;margin-top:17px;white-space:pre-line}.sheet-content .primary-button{width:100%;margin-top:24px}.sheet-facts{margin:18px 0 0;padding:0;list-style:none;display:flex;gap:7px;flex-wrap:wrap}.sheet-facts li{font-size:11px;background:var(--white);border-radius:3px;padding:7px 10px}.video-frame{position:relative;aspect-ratio:16/9;margin-top:18px;border-radius:3px;overflow:hidden;background:#000}.video-frame>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-in{from{opacity:.4;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes step-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:359px){.hero-copy{font-size:24px;left:20px;top:20px}.brand-header{padding:10px 20px;height:70px}.welcome{padding:23px 20px}.welcome-links{gap:11px}.primary-button{padding:12px 14px;font-size:12px}.quiet-link{font-size:11px}.section-heading{padding-left:20px;padding-right:20px}.section-heading h2,.product-heading h2{font-size:24px}.scene-tabs{padding:0 20px;gap:17px}.scene-caption{padding-left:20px;padding-right:20px}.scene-caption h3{font-size:13px}.care-grid{padding:0 20px;gap:9px}.care-card>span{font-size:11px}.care-video-link{width:calc(100% - 40px);margin-left:20px;margin-right:20px}.video-scroll{padding-left:20px;padding-right:20px}.section-lead{padding-left:20px;padding-right:20px}.step-buttons{padding-left:20px;padding-right:20px;gap:7px}.step-button{font-size:11px;padding-left:8px}.contact-block h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
