/* Retail hierarchy: compact navigation, consistent typography and clear product grids. */
:root{--bg:#fff;--paper:#fff;--ink:#222;--muted:#737373;--line:#e5e5e5;--green:#222;--serif:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
body{background:#fff;font-size:14px;line-height:1.7}h1,h2,h3{letter-spacing:.01em}h2{font-size:26px;font-weight:700;line-height:1.5}h3{font-weight:600}.wrap{max-width:1200px;width:calc(100% - 80px)}.section{padding-block:64px}.section-heading{margin-bottom:24px;align-items:center}.section-heading .eyebrow{display:none}.section-heading h2{font-size:25px}.text-link{font-size:12px}.eyebrow{font-family:inherit;font-size:10px;letter-spacing:.12em;color:#777}.button{border-radius:2px;font-size:13px;font-weight:600;letter-spacing:.02em}.demo-note{background:#f7f7f7;border:0;color:#777;font-size:10px;padding:10px 14px;margin-bottom:22px}.preview{font-size:9px;letter-spacing:.02em;background:#f3f0ea;padding:3px 10px}
header{height:84px;gap:18px;padding:0 3%;border-bottom:1px solid #e7e7e7}header .brand{font-family:inherit;font-size:20px;font-weight:700;letter-spacing:-.03em}header .brand-mark{font:italic 48px Georgia,serif}header .brand small{font-size:8px;letter-spacing:.04em;font-weight:400}header nav{display:none}.store-search{display:flex;align-items:center;background:#f3f3f3;border:1px solid #ececec;border-radius:3px;max-width:380px;min-width:180px;flex:1;margin-left:auto;height:42px}.store-search input{min-width:0;width:100%;border:0;background:none;font-size:13px;padding:10px 14px;color:#222;outline-offset:0}.store-search button{display:grid;place-items:center;width:44px;height:40px;background:none;border:0;flex-shrink:0}.store-search svg{width:20px;height:20px;fill:none;stroke:#333;stroke-width:1.4}.header-actions{margin-left:8px;gap:8px}.header-actions>a[aria-label="商品を検索"]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.member-announcement{background:#f4f1eb;border-bottom:0;padding:7px 20px;gap:16px}.member-announcement>span{font-family:inherit;font-size:10px}.member-announcement button{background:transparent;color:#222;padding:4px 8px;min-height:30px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.hero.hero-film{height:680px;min-height:0;max-height:calc(100svh - 150px)}.hero-film-copy{bottom:80px}.hero-film-copy h1{font-size:56px;font-weight:500;letter-spacing:.03em}.hero-film-copy .eyebrow{font-size:10px}.hero-film-copy>p:not(.eyebrow){font-size:13px}.hero-film-links .button{min-height:50px;padding:14px 24px}.browse-tabs{justify-content:center;gap:48px;font-weight:600;font-size:13px;padding:20px;border-bottom:1px solid #ddd}
.rank-grid{gap:20px}.rank-card{background:#f6f5f2!important;border:0;padding:28px 24px;min-height:220px;position:relative}.rank-number{font:700 30px Arial,sans-serif;color:#222;margin-bottom:20px}.rank-label{font-size:9px;color:#888;top:28px;right:20px}.rank-card h3{font-size:21px}.rank-card .eyebrow{font-size:10px;margin-bottom:7px}.rank-card>p:not(.eyebrow){font-size:12px;margin:12px 0 24px}.rank-bottom{border-top:1px solid #dedbd5;padding-top:14px;font-size:11px}.discovery>.muted{font-size:10px;margin-top:16px}.product-grid{gap:22px}.product-card{min-width:0}.product-image{background:#f6f6f6}.placeholder{background:#f3f2ef!important;aspect-ratio:1/1.12;min-height:0}.placeholder-symbol{font:400 64px Arial,sans-serif;color:#d0ccc4}.placeholder-type{font:600 12px Arial,sans-serif;letter-spacing:.14em;color:#666}.placeholder small{font-size:10px;color:#929089}.product-meta{padding-top:16px}.product-meta h3{font-size:16px}.product-meta .eyebrow{font-size:11px;color:#222;letter-spacing:.04em;margin-bottom:5px}.price-lock{font-size:12px;color:#666}.candidate-accordion{border-top:1px solid #ddd;margin-top:14px}.candidate-accordion summary{font-size:12px;font-weight:500}.image-arrow{background:white;color:#222;border:1px solid #ddd}
.sale-banner{padding:28px 32px;margin-top:25px;background:#f3efe7;border:0}.sale-banner h2{font-size:23px}.sale-banner .eyebrow{font-size:9px;margin-bottom:5px}.sale-banner .button{min-width:190px}.voice-card{box-shadow:none;border:1px solid #e5e5e5;padding:26px;background:white}.voice-card h3{font-size:15px}.voice-body{font-size:13px}.avatar{background:#eeeae3;color:#777}.stars{color:#222;letter-spacing:.06em}.carousel-track>.voice-card{flex-basis:calc((100% - 40px)/3)}.carousel-actions{margin-bottom:12px}.carousel-actions button{width:36px;height:36px}.membership-banner{background:#f4f1eb;color:#222;padding:48px 24px}.membership-banner h2{font-size:25px}.membership-banner .eyebrow{display:none}.membership-banner .button{background:#222;color:#fff;border:0;margin-top:20px}.journal-grid{gap:24px}.journal-art{height:180px;background:#eeebe5}.journal-art:before,.journal-art:after{display:none}.journal-art span{font:600 21px Arial,sans-serif;letter-spacing:.05em}.journal-art i{font-size:30px;opacity:.5}.journal-card h3{font-size:16px}.journal-card .eyebrow{font-size:9px}.journal-read{font-size:11px}.journal-section{border-top:0}footer{background:#f7f7f7;border-top:1px solid #e5e5e5;font-size:12px}footer .brand{font-family:inherit;font-weight:700}.page-heading h1{font-size:32px;font-weight:600}.page-heading{padding-block:40px}.store-menu>a,.store-menu summary{font-size:18px;font-weight:500;padding:14px 0}
#hair-diagnosis{background:#f5f2ec;border:0}#hair-diagnosis h2{font-weight:500;line-height:1.6}#hair-diagnosis .diagnosis-intro>p:not(.eyebrow){font-size:14px}.diagnosis-panel .steps h3{font-size:15px}.diagnosis-panel .steps p{font-size:12px}.diagnosis-demo{background:#fff;box-shadow:none}.film-caption h3{font-weight:500}
#line-dock[hidden]{display:none!important}#line-dock{position:fixed;z-index:65;right:16px;top:50%;transform:translateY(-35%);width:130px;background:#141414;color:white;padding:22px 14px 12px;text-align:center;box-shadow:0 6px 22px #0002}.dock-label{display:block;font-size:10px;line-height:1.8;letter-spacing:.1em;color:#ccc}#line-dock>strong{display:block;font:700 34px Arial,sans-serif;margin:14px 0}#line-dock>strong span{font-size:17px}#line-dock>a{display:block;padding:10px 4px;background:#06c755;color:#102b18;font-size:12px;font-weight:700}#line-dock>small{font-size:9px;color:#aaa;margin-top:10px}body:has(dialog[open]) #line-dock{visibility:hidden}
@media(min-width:1400px){body:has(#line-dock:not([hidden])) main>.wrap{max-width:calc(100% - 340px)}}
@media(max-width:1000px){.hero.hero-film{height:560px}.hero-film-copy h1{font-size:44px}.carousel-track>.voice-card{flex-basis:65%}.browse-tabs{justify-content:flex-start;gap:32px}#line-dock{width:108px;padding:16px 10px}#line-dock>strong{font-size:28px}.section{padding-block:48px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}header{height:auto;min-height:72px;display:flex;flex-wrap:wrap;padding:12px 16px 10px;gap:10px}header .brand{font-size:16px}header .brand-mark{font-size:36px}header .brand small{font-size:6px}.header-actions{margin-left:auto;gap:0}.header-icon{width:30px}.store-search{order:5;flex:1 1 100%;max-width:none;min-width:0;height:36px;margin:0}.store-search input{font-size:12px;padding:8px 12px}.store-search button{height:34px}.member-announcement{padding:7px 16px}.member-announcement button{font-size:12px}.hero.hero-film{height:calc(100svh - 240px);min-height:380px;max-height:650px}.hero-film-copy{left:22px;right:22px;bottom:50px}.hero-film-copy h1{font-size:35px}.hero-film-copy>p:not(.eyebrow){font-size:11px}.hero-film-links .button{padding:12px 8px;min-width:0;font-size:12px}.browse-tabs{gap:28px;padding:16px 18px;font-size:12px}.section-heading h2{font-size:21px}.section-heading .text-link{font-size:11px}.rank-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rank-card{padding:14px 10px;min-height:180px}.rank-number{float:none;display:block;font-size:24px;margin:0 0 12px}.rank-label{display:none}.rank-card h3{font-size:14px}.rank-card .eyebrow{font-size:8px;letter-spacing:0}.rank-card>p:not(.eyebrow){display:none}.rank-bottom{font-size:9px;margin-top:18px;padding-top:10px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.product-card{display:block}.placeholder{aspect-ratio:1/1.15}.placeholder-symbol{font-size:42px}.placeholder-type{font-size:9px}.product-meta h3{font-size:14px}.product-meta .eyebrow{font-size:9px}.price-lock{font-size:10px}.candidate-accordion{margin-top:12px}.sale-banner{padding:24px;gap:18px}.sale-banner h2{font-size:20px}.sale-banner .button{width:100%}.carousel-track>.voice-card{flex-basis:85%}.membership-banner h2{font-size:21px}.journal-art{height:140px}.journal-card h3{font-size:14px}#hair-diagnosis{padding:30px 22px;margin-top:32px}#hair-diagnosis h2{font-size:26px}#line-dock{right:10px;top:auto;bottom:calc(80px + env(safe-area-inset-bottom));transform:none;width:105px;padding:10px 10px 8px;border-radius:3px}.dock-label{font-size:8px;letter-spacing:0}#line-dock>strong{font-size:25px;margin:5px 0}#line-dock>strong span{font-size:13px}#line-dock>a{font-size:10px;padding:7px 3px}#line-dock>small{font-size:8px;margin-top:4px}.bottom-navigation{background:#fff}.bottom-navigation a[aria-current]{background:#f5f5f5;color:#222}html{scroll-padding-top:130px}}
.member-announcement button{background:#222;color:#fff;border-radius:2px;text-decoration:none;padding:7px 20px;min-height:36px}
@media(min-width:1001px){.carousel-track>.voice-card{flex-basis:36%}}
