@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--paper:#fcfaf7;--beige:#eee5dc;--pink:#cfa6ad;--wine:#682c40;--ink:#352e30;--muted:#74686a;--line:#e2d8d1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.95 'Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--wine);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:5;background:white;padding:10px}header{padding:23px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px;background:var(--paper)}.brand{font-family:'Noto Serif JP',serif;font-size:23px;letter-spacing:.08em}.brand small{display:block;font:10px/1.5 sans-serif;letter-spacing:.27em;color:var(--wine);margin-top:4px}nav{display:flex;gap:30px;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:7px}.hero{background:linear-gradient(90deg,rgba(252,250,247,.3),transparent),url('assets/hero.png') center/cover;min-height:620px;display:flex;align-items:center;padding:70px 9%}.hero-inner{max-width:710px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--wine)}h1,h2,h3,.serif{font-family:'Noto Serif JP',serif;font-weight:500}h1{font-size:clamp(36px,4.1vw,61px);line-height:1.65;letter-spacing:.05em;margin:20px 0}h1 em{font-style:normal;color:var(--wine)}.hero p{max-width:530px;font-size:17px}.btn{display:inline-flex;background:var(--wine);color:white;padding:15px 25px;gap:40px;align-items:center;font-size:15px;margin-top:19px}.btn:hover{background:#4e2030}.btn span{font-size:22px}.subhero{border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:65px;padding:20px;font-size:13px;color:var(--muted)}.wrap{max-width:1180px;margin:auto;padding:85px 35px}.sectionhead{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}h2{font-size:34px;line-height:1.7;margin:10px 0 0}.sectionhead p{max-width:410px;color:var(--muted);font-size:15px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 32px}.filters button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:9px 24px;cursor:pointer;font-size:15px;border-radius:25px}.filters button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;padding:30px;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-4px);border-color:var(--pink)}.card[hidden]{display:none}.cardtop{display:flex;align-items:center;justify-content:space-between;color:var(--wine);font-size:12px}.number{font-family:Georgia,serif;font-size:36px;color:#b78e98}.card h3{font-size:22px;line-height:1.8;margin:20px 0 10px}.card p{font-size:14px;color:var(--muted);margin:0 0 26px}.cardbottom{border-top:1px solid var(--line);padding-top:17px;margin-top:auto;display:flex;justify-content:space-between;font-size:13px;color:var(--wine)}.count{font-size:13px;color:var(--muted)}.feature{background:var(--beige)}.feature .wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.feature p{font-size:15px;color:var(--muted)}.steps{border-top:1px solid #ccbbb1}.step{display:flex;gap:25px;padding:22px 0;border-bottom:1px solid #ccbbb1}.step b{font:27px Georgia;color:var(--wine)}.step h3{margin:0;font-size:21px}.step p{margin:5px 0 0;font-size:14px}.editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.editorial h2{font-size:30px}.editorial p{font-size:15px;color:var(--muted)}.principles{list-style:none;padding:0;margin:10px 0}.principles li{padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}.principles span{color:var(--wine);margin-right:15px;font-size:12px}.social{background:#f2e6e5;padding:38px 45px;display:flex;align-items:center;justify-content:space-between;gap:35px}.social h2{font-size:25px;margin:0}.social p{font-size:14px;margin:8px 0;color:var(--muted)}.social-labels{white-space:nowrap;display:flex;gap:12px}.social-labels span{border:1px solid #c9aaae;padding:9px 18px;font-size:14px}.social-labels small{display:block;font-size:10px;color:var(--muted)}footer{margin-top:50px;padding:35px 5%;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:30px}.crumb{font-size:13px;color:var(--muted);margin-bottom:35px}.article{max-width:850px;margin:auto;padding:45px 30px 70px}.article h1{font-size:38px}.article h2{font-size:27px;margin-top:45px}.article .intro{font-size:19px}.article li{margin:15px 0}.article a.source{text-decoration:underline;color:var(--wine);overflow-wrap:anywhere}.article .note{background:var(--beige);padding:22px;font-size:14px;margin:30px 0}.criteria{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;list-style:none}.criteria li{padding:15px 20px;background:white;border:1px solid var(--line);font-size:15px;margin:0}.backlink{display:inline-block;color:var(--wine);border-bottom:1px solid;margin-top:25px}.preview-note{font-size:12px;background:#f2e6e5;text-align:center;padding:7px 15px;color:var(--wine)}@media(max-width:800px){header{padding:18px 6%;align-items:start}.brand{font-size:18px}nav{gap:14px;font-size:12px;flex-wrap:wrap;justify-content:end;max-width:140px}.hero{min-height:560px;padding:55px 7%;background-position:60% center}.hero-inner{max-width:540px}.hero p{font-size:15px;max-width:350px}.subhero{gap:16px;flex-wrap:wrap;font-size:11px}.wrap{padding:55px 23px}.sectionhead{display:block}.sectionhead p{max-width:none}.grid{grid-template-columns:1fr 1fr}.feature .wrap,.editorial{grid-template-columns:1fr;gap:30px}.social{padding:27px;display:block}.social-labels{margin-top:22px}h2{font-size:28px}footer{flex-direction:column;gap:8px}.article h1{font-size:29px}}@media(max-width:520px){.grid{grid-template-columns:1fr}.card{padding:25px}.hero{min-height:570px;background-position:55% center}.hero h1{font-size:35px}.hero p{background:rgba(252,250,247,.55);padding:5px 0}.filters button{padding:8px 18px}.subhero span:last-child{display:none}.criteria{grid-template-columns:1fr}.article{padding:30px 22px}.social-labels{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
/* Illustrated concern entrances */
.card{padding:0;overflow:hidden}.card-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.card-body{padding:25px;display:flex;flex-direction:column;flex:1}.card-body .cardtop{gap:10px}.image-note{font-size:12px;color:var(--muted);margin:0 0 20px}.card-body h3{margin-top:14px}@media(max-width:520px){.card{padding:0}.card-body{padding:23px}}

/* General answers: concern -> basics -> individual product needs */
.general-guide{max-width:920px}.crumb{display:flex;gap:12px;flex-wrap:wrap;max-width:none;font-size:13px}.guide-flow{display:flex;gap:0;margin:0 0 40px;border:1px solid var(--line);font-size:13px;background:white}.guide-flow>*{flex:1;padding:12px;text-align:center}.guide-flow strong{background:var(--wine);color:white;font-weight:500}.guide-flow>span{color:var(--muted)}.general-guide h1{line-height:1.65;margin:18px 0}.guide-meta{font-size:12px;color:var(--muted)}.guide-figure{margin:30px 0}.guide-figure img{width:100%;height:330px;object-fit:cover;display:block}.guide-figure figcaption{text-align:right;font-size:11px;color:var(--muted);margin-top:5px}.answer-box{background:#f1e6e4;border-left:4px solid var(--wine);padding:30px 34px;margin:35px 0}.general-guide .answer-box h2{font-size:26px;line-height:1.8;margin:12px 0 20px}.answer-box p{margin-bottom:0}.guide-toc{display:flex;max-width:none;gap:10px;flex-wrap:wrap;padding:18px 0;border-block:1px solid var(--line);margin:35px 0 45px;font-size:13px}.guide-toc a{padding:5px 10px}.care-list{padding-left:28px}.care-list li{padding:15px 0 20px 12px;border-bottom:1px solid var(--line)}.care-list li::marker{color:var(--wine);font-family:Georgia;font-size:24px}.care-list h3{font-size:22px;margin:0 0 10px}.care-list p{margin:0}.guide-question{background:white;border:1px solid var(--line);padding:28px;margin:40px 0}.general-guide .guide-question h2{font-size:23px;margin:10px 0}.needs-section{margin-top:55px}.need-option{border:1px solid var(--line);background:white;margin:13px 0}.need-option summary{cursor:pointer;padding:20px 23px;display:flex;justify-content:space-between;gap:20px;font-weight:500;list-style:none}.need-option summary::-webkit-details-marker{display:none}.need-option summary span{color:var(--wine)}.need-option[open] summary{background:#f2e6e5}.need-option[open] summary span{transform:rotate(45deg)}.need-option summary:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.need-body{padding:5px 23px 23px}.need-body p{font-size:15px}.need-body strong{font-size:12px;color:var(--wine)}.coming-label{display:inline-block;background:var(--beige);padding:7px 12px;font-size:12px;color:var(--muted)}.needs-note,.care-notice{font-size:13px;color:var(--muted)}.care-notice{border-top:1px solid var(--line);margin-top:40px;padding-top:20px}.guide-sources{margin-top:40px}.general-guide .guide-sources h2{font-size:21px}.guide-sources ul{padding-left:22px;font-size:13px}.guide-sources p{font-size:12px;color:var(--muted)}.related-guide{display:block;border-block:1px solid var(--line);padding:23px 0;margin-top:35px}.related-guide small{display:block;color:var(--muted);font-size:12px}.related-guide span{color:var(--wine);font-size:17px}@media(max-width:600px){.guide-flow{font-size:11px}.guide-flow>*{padding:10px 5px}.guide-figure img{height:230px}.answer-box{padding:23px 20px}.general-guide .answer-box h2{font-size:22px}.general-guide h1{font-size:28px}.guide-question{padding:23px 20px}.care-list h3{font-size:20px}.guide-toc{display:block}.guide-toc a{display:block;padding:8px 0}.need-option summary{padding:18px;font-size:16px}}

.brand{font-size:20px;line-height:1.65}.brand>span{display:block}.brand small{font-size:9px}@media(max-width:600px){header{gap:12px}.brand{font-size:15px;letter-spacing:.03em}.brand small{font-size:8px;letter-spacing:.12em}nav{max-width:110px}}

.site-footer{align-items:start}.site-footer small{display:block;margin-top:5px}.site-footer nav{max-width:none;flex-wrap:wrap;gap:15px;font-size:13px}.info-page h1{font-size:36px}.operator-table{margin:35px 0}.operator-table>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.operator-table dt{font-weight:500;color:var(--wine);font-size:14px}.operator-table dd{margin:0;overflow-wrap:anywhere}.form-intro{font-size:16px}.contact-form{margin:32px 0}.form-field{margin:25px 0}.form-field label{display:block;font-weight:600;margin-bottom:8px}.required{font-size:11px;color:var(--wine);background:#f2e6e5;padding:3px 7px;margin-left:12px;font-weight:500}.optional{font-size:11px;color:var(--muted);margin-left:12px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px;border:1px solid #b6a7a3;border-radius:3px;font:inherit;background:white;color:var(--ink)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--wine);outline-offset:2px}.form-help{font-size:13px;color:var(--muted);margin:5px 0}.contact-form textarea{min-height:220px;resize:vertical}.consent-row{display:flex;align-items:start;gap:12px;margin:25px 0}.consent-row input{width:22px;height:22px;flex-shrink:0;margin-top:6px;accent-color:var(--wine)}.consent-row label{font-size:15px}.contact-form button.btn{border:0;cursor:pointer}.contact-form button.secondary{background:white;color:var(--wine);border:1px solid var(--line);margin-right:12px}.form-errors{padding:18px 22px;background:#fff0ef;border:1px solid #b34b50;color:#762e33}.form-errors ul{margin:6px 0}.confirm-values{white-space:pre-wrap;overflow-wrap:anywhere}.contact-success{padding:25px;background:#f1e6e4;border-left:4px solid var(--wine)}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-note{background:var(--beige);padding:20px;font-size:14px}@media(max-width:600px){.operator-table>div{grid-template-columns:1fr;gap:5px}.info-page h1{font-size:29px}.site-footer nav{justify-content:start}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}}
