:root{--ink:#073f40;--teal:#075452;--gold:#ad7e20;--cream:#faf7f0;--line:#ded8cd;--violet:#815bb0;--blue:#4779b2;--green:#66953a;--shadow:0 5px 18px rgba(53,54,45,.13);--font-jp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:#202d2b;font-family:var(--font-jp);font-size:16px;line-height:1.75}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
main{overflow:hidden;background:linear-gradient(90deg,#f8f4eb,#fff 18%,#fff 82%,#f8f4eb)}

.site-header{height:72px;background:#fff;border-bottom:1px solid #ddd;position:relative;z-index:10}
.header-inner{width:min(1180px,calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand-wrap{display:flex;align-items:center;gap:16px}
.brand{font-family:Georgia,serif;color:var(--teal);font-size:31px;font-weight:700;font-style:italic;line-height:1}
.brand-wrap span{font-family:"Yu Gothic",sans-serif;font-size:12px;font-weight:700;color:#194847}
.header-inner nav{display:flex;align-items:center;gap:38px;font-family:"Yu Gothic",sans-serif;color:#174747;font-size:13px;font-weight:700}
.header-inner button{border:0;background:transparent;display:grid;gap:5px;padding:8px;cursor:pointer}
.header-inner button i{width:25px;height:1px;background:var(--teal)}

.hero{height:680px;position:relative;background:#fff}
.hero-visual{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 31%,rgba(255,255,255,.25) 53%,rgba(255,255,255,0) 72%),url('./assets/hero.jpg') center/cover no-repeat}
.hero-inner{position:relative;width:min(1100px,calc(100% - 40px));height:100%;margin:auto}
.hero-copy{padding-top:58px;width:520px}
.hero h1{font-size:clamp(44px,5.5vw,66px);font-weight:500;letter-spacing:.06em;line-height:1.36;color:var(--ink);margin:0 0 26px}
.hero-copy>p{font-size:21px;font-weight:600;letter-spacing:.08em;line-height:1.65;margin:0 0 24px}
.functional-label{display:inline-block;padding:7px 18px;border-radius:999px;background:var(--teal);color:#fff;font-size:15px;letter-spacing:.04em}
.product-lineup{height:210px;display:flex;align-items:flex-end;gap:12px;margin-top:20px}
.product-lineup img{height:100%;width:auto;max-width:24%;object-fit:contain;filter:drop-shadow(0 12px 10px rgba(0,0,0,.13))}
.hero-cta{position:absolute;z-index:3;left:50%;bottom:-34px;transform:translateX(-50%);width:430px;height:58px;border-radius:999px;background:linear-gradient(#146765,#074947);color:#fff;display:flex;justify-content:center;align-items:center;box-shadow:0 7px 14px rgba(0,0,0,.22);font-size:18px;letter-spacing:.08em}
.hero-cta>span{display:block;line-height:1.4}
.hero-cta b{position:absolute;right:76px;top:50%;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg)}

.concern-section{padding:72px 24px 25px;background:#faf8f2}
.concern-cards{width:min(1050px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.concern-card{display:block;background:#fff;border:1px solid #d8d0c7;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:.2s}
.concern-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(53,54,45,.18)}
.concern-title{height:82px;display:flex;align-items:center;gap:14px;padding:12px}
.concern-title span{width:55px;height:55px;display:grid;place-items:center;color:#fff;border-radius:50%;font-size:28px}
.concern-title h2{margin:0;font-size:31px;font-weight:600;letter-spacing:.07em}
.concern-card img{width:100%;height:170px;object-fit:cover}
.concern-copy{min-height:94px;display:flex;align-items:center;justify-content:space-between;padding:15px 17px 16px}
.concern-copy p{font-size:16px;margin:0;font-weight:600;line-height:1.55}
.concern-copy b{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff}
.concern-copy b:before{content:"";position:relative;left:-2px;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.concern-card.see .concern-title{color:var(--violet)}
.concern-card.see .concern-title span,.concern-card.see .concern-copy b{background:var(--violet)}
.concern-card.sleep .concern-title{color:var(--blue)}
.concern-card.sleep .concern-title span,.concern-card.sleep .concern-copy b{background:var(--blue)}
.concern-card.walk .concern-title{color:var(--green)}
.concern-card.walk .concern-title span,.concern-card.walk .concern-copy b{background:var(--green)}

.check-panel{width:min(1060px,calc(100% - 48px));margin:0 auto 30px;padding:25px 42px 18px;background:rgba(255,255,255,.94);border-radius:16px;box-shadow:0 3px 12px rgba(60,58,48,.08);text-align:center}
.check-panel h2,.story-heading h2{color:var(--ink);font-size:35px;font-weight:500;letter-spacing:.08em;margin:0 0 18px}
.checks{display:grid;grid-template-columns:1fr 1fr;column-gap:58px;text-align:left}
.checks p{margin:0;padding:8px 0;border-bottom:1px dotted #c7c0b4;font-size:15px}
.checks span{display:inline-grid;place-items:center;width:23px;height:23px;border:2px solid var(--green);border-radius:50%;color:var(--green);margin-right:10px;font-family:Arial,sans-serif;font-weight:800}
.continue-note{display:flex;justify-content:center;align-items:center;gap:17px;color:var(--gold);padding-top:16px;font-size:20px;letter-spacing:.04em}
.continue-note i{font-style:normal;transform:rotate(45deg);opacity:.7}

.story{width:min(1080px,calc(100% - 40px));margin:auto;padding:0 0 30px;text-align:center}
.story-heading{display:flex;align-items:baseline;justify-content:center;gap:15px}
.story-heading h2{margin:0}
.story-heading small{font-family:"Yu Gothic",sans-serif;font-size:11px}
.story-cards{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;margin-top:10px}
.story-cards article{text-align:center}
.story-label{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:12px;padding-left:15px;min-height:58px}
.story-label b{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f2ebfa;border:1px solid #9d83b8;font-size:18px}
.story-cards article:nth-of-type(2) .story-label b{background:#eaf3df;border-color:#7da85a}
.story-cards article:nth-of-type(3) .story-label b{background:#e8eef8;border-color:#7591b6}
.story-label span{font-size:14px;font-weight:700}
.story-cards img{width:100%;height:185px;object-fit:cover}
.story-cards article:first-child img{object-position:66% center}
.story-cards article:nth-of-type(2) img{object-position:center}
.story-cards p{font-size:13px;line-height:1.55;margin:10px 0 0}
.story-cards>i{font-size:35px;color:var(--teal);font-style:normal}

.emotional{min-height:285px;display:grid;grid-template-columns:41% 59%;background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee}
.emotional-photo{background:linear-gradient(90deg,transparent 72%,#fff),url('./assets/hero.jpg') 69% 35%/cover no-repeat}
.emotional-copy{padding:32px 55px 25px;position:relative}
.emotional-copy:after{content:"❧";position:absolute;right:38px;bottom:10px;color:#c5a65a;font-size:80px;opacity:.45}
.emotional h2{color:var(--ink);font-size:34px;font-weight:500;line-height:1.35;text-align:center;letter-spacing:.08em;margin:0}
.emotional-copy>span{display:block;width:160px;height:1px;background:#cdbd98;margin:12px auto}
.emotional p{font-size:14px;line-height:1.8;margin:0}
.emotional strong{display:block;color:var(--gold);font-size:16px;margin-top:8px}

.philosophy{padding:24px max(20px,calc((100% - 1080px)/2)) 0;background:linear-gradient(90deg,#f8f4eb,#fff 20%,#fff 80%,#f8f4eb)}
.philosophy h2{display:flex;align-items:center;gap:18px;color:var(--ink);font-size:29px;font-weight:500;letter-spacing:.04em;text-align:center;margin:0 0 12px;white-space:nowrap}
.philosophy h2 span{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}
.philosophy h2 span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.philosophy-body{display:grid;grid-template-columns:45% 55%;align-items:center;min-height:210px}
.philosophy-copy p{font-size:12px;line-height:1.9;margin:0}
.mini-products{height:105px;display:flex;justify-content:center;align-items:flex-end;gap:6px;margin-top:8px}
.mini-products img{height:100%;width:auto;max-width:24%;object-fit:contain}
.choice-map>p{text-align:center;font-size:11px;margin:0 0 8px}
.choice-map>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative}
.choice-map article{padding:13px 5px;border-radius:9px;text-align:center}
.choice-map article b{display:block;font-size:23px;font-weight:500}
.choice-map article small{font-size:11px;line-height:1.4}
.choice-map .see{color:var(--violet);background:#f0e8f6}
.choice-map .sleep{color:var(--blue);background:#e7eff8}
.choice-map .walk{color:var(--green);background:#eaf1df}
.choice-map>strong{display:block;text-align:center;color:var(--ink);font-size:12px;margin-top:10px}
.bottom-cta{height:58px;background:var(--teal);color:#d9ad4b;display:flex;align-items:center;justify-content:center;gap:260px;font-size:21px;letter-spacing:.08em}
.bottom-cta b{font-size:26px;font-weight:400;color:#d9ad4b}

@media(max-width:800px){.site-header{height:62px}
.header-inner nav a{display:none}
.brand-wrap span{font-size:10px}
.hero{height:770px}
.hero-visual{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.1) 40%,rgba(255,255,255,.97) 59%),url('./assets/hero.jpg') 67% top/auto 470px no-repeat}
.hero-copy{width:100%;padding-top:420px}
.hero h1{font-size:39px}
.hero-copy>p{font-size:17px}
.product-lineup{height:115px;margin-top:10px}
.hero-cta{width:86%;bottom:-28px}
.concern-section{padding-top:62px}
.concern-cards{grid-template-columns:1fr}
.concern-card{display:grid;grid-template-columns:105px 1fr}
.concern-title{grid-column:1/3}
.concern-card img{height:120px}
.checks{grid-template-columns:1fr}
.check-panel{padding:28px 20px}
.check-panel h2,.story-heading h2{font-size:28px}
.continue-note{font-size:15px}
.story-heading{display:block}
.story-cards{grid-template-columns:1fr}
.story-cards>i{transform:rotate(90deg)}
.story-cards img{height:230px}
.emotional{grid-template-columns:1fr}
.emotional-photo{height:280px;background:linear-gradient(180deg,transparent 70%,#fff),url('./assets/hero.jpg') 68% 32%/cover no-repeat}
.emotional-copy{padding:20px 25px 35px}
.emotional h2{font-size:29px}
.philosophy h2{font-size:24px;white-space:normal}
.philosophy-body{grid-template-columns:1fr}
.philosophy-copy{text-align:center}
.choice-map{padding-bottom:25px}
.bottom-cta{gap:35px;font-size:17px}
}

@media(max-width:460px){.brand{font-size:26px}
.header-inner{width:calc(100% - 24px)}
.hero-inner{width:calc(100% - 30px)}
.hero h1{font-size:33px}
.hero-copy>p{font-size:15px}
.functional-label{font-size:12px}
.product-lineup{height:92px}
.concern-section{padding-left:14px;padding-right:14px}
.check-panel{width:calc(100% - 28px)}
.story{width:calc(100% - 28px)}
.choice-map article b{font-size:17px}
.bottom-cta{gap:18px}
.philosophy{padding-left:14px;padding-right:14px}
}


.product-selector{background:#fff}
.step-guide{padding:34px 24px 30px;background:linear-gradient(90deg,#fffaf2,#fff,#fffaf2);text-align:center}
.step-guide h2{margin:0;color:var(--ink);font-size:37px;font-weight:600;letter-spacing:.07em}
.step-guide>p{margin:2px 0 16px;color:#31706e;font-family:"Yu Gothic",sans-serif;font-size:17px;font-weight:700}
.steps{width:min(980px,100%);margin:auto;display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;align-items:center}
.steps>i{font-family:Arial,sans-serif;font-style:normal;font-size:29px;font-weight:700;color:#999}
.step{height:105px;border:2px solid;border-radius:16px;display:grid;grid-template-columns:32px 80px 1fr;align-items:center;padding:10px 16px;background:rgba(255,255,255,.9);text-align:left;font-family:"Yu Gothic",sans-serif;transition:.2s}
.step:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(0,0,0,.08)}
.step>b{align-self:start;width:30px;height:30px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:17px}
.step-icon{font-family:"Yu Mincho",serif;font-size:53px;line-height:1;text-align:center}
.step>strong{font-size:25px;line-height:1.1}
.step>strong small{display:block;color:#323232;font-size:12px;line-height:1.35;margin-top:7px}
.step.see{color:var(--violet);border-color:#aa8ac8}
.step.see>b{background:var(--violet)}
.step.sleep{color:#3768a9;border-color:#76a3d4}
.step.sleep>b{background:#3768a9}
.step.walk{color:var(--green);border-color:#8eb472}
.step.walk>b{background:var(--green)}

.vision-block{padding:46px max(22px,calc((100% - 1180px)/2)) 34px;background:linear-gradient(90deg,rgba(249,245,255,.97) 0%,rgba(249,245,255,.88) 46%,rgba(255,255,255,.12) 72%),url('./assets/vision-choice-bg.png') 78% 8%/58% auto no-repeat,#f8f4ff}
.vision-lead{min-height:240px;padding:2px 0 28px}
.vision-lead h2{margin:0 0 10px;color:#66458f;font-size:45px;font-weight:600;letter-spacing:.08em}
.vision-lead p{font-size:20px;font-weight:600;line-height:1.8;margin:0}
.vision-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.detail-card{--tone:var(--violet);position:relative;background:rgba(255,255,255,.96);border:1px solid #ded9e8;border-radius:20px;padding:16px 20px 13px;box-shadow:0 9px 22px rgba(66,51,83,.12);font-family:"Yu Gothic",sans-serif}
.detail-card.blue{--tone:#3768a9}
.detail-card.green{--tone:#548b42}
.detail-card header{min-height:42px;display:flex;align-items:center;gap:12px;padding-bottom:8px}
.detail-card header h3{margin:0;color:#292138;font-family:"Yu Mincho",serif;font-size:23px;line-height:1.25}
.detail-card header>span{margin-left:auto;border:1px solid #b59048;color:#9d762a;border-radius:999px;padding:4px 13px;font-size:12px;white-space:nowrap}
.card-mark{align-self:stretch;margin:-16px 0 -8px -20px;width:46px;display:grid;place-items:center;background:var(--tone);color:#fff;font-family:Georgia,serif;font-size:27px;clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%)}
.detail-body{display:grid;grid-template-columns:42% 58%;align-items:center;min-height:225px}
.detail-product{height:225px;position:relative;display:grid;place-items:center}
.detail-product>img{width:100%;height:100%;object-fit:contain}
.detail-product>i{position:absolute;right:-4px;bottom:8px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 42% 38%,#fff 0 34%,#cc875c 37% 45%,#f8f3ec 47%);border:2px solid #d5a58d;box-shadow:0 3px 8px rgba(0,0,0,.16)}
.detail-card.violet:nth-child(2) .detail-product>i{background:radial-gradient(circle at 48% 44%,#202025 0 30%,#777 34%,#fafafa 39%);border-color:#b8797c}
.detail-card.blue .detail-product>i{background:radial-gradient(ellipse at center,#fff 0 42%,#e7e9ec 45% 56%,#fff 60%);border-color:#7898c8}
.detail-card.green .detail-product>i{background:radial-gradient(circle at 35% 45%,#e9ddbb 0 12%,transparent 14%),radial-gradient(circle at 65% 55%,#e9ddbb 0 12%,transparent 14%),#fff;border-color:#c9a766}
.detail-copy{padding-left:18px}
.detail-copy ul{list-style:none;margin:0;padding:0 0 15px;border-bottom:1px solid #d8d2de}
.detail-copy li{position:relative;padding:3px 0 3px 28px;font-size:15px;font-weight:700;line-height:1.45}
.detail-copy li:before{content:"✓";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--tone);color:#fff;font-size:13px}
.detail-copy p{color:var(--tone);font-family:"Yu Mincho",serif;font-size:17px;font-weight:700;line-height:1.6;margin:13px 0 0}
.detail-price{display:flex;align-items:baseline;justify-content:center;margin:5px 0 11px!important;color:#111}
.detail-price strong{font-family:Georgia,"Times New Roman",serif;font-size:46px;line-height:1}
.detail-price span{font-size:15px;margin-left:4px}
.detail-price small{font-size:10px;margin-left:18px;color:#555}
.product-button{height:55px;border-radius:7px;background:linear-gradient(#0e6870,#07525a);border:2px solid #0d727a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:.04em}
.product-button:hover{filter:brightness(1.08)}
.product-button b{font-size:25px}
.product-url{display:block;text-align:center;color:#777;margin-top:5px;font-size:12px}
.choice-hint{margin:25px 25px 8px;border:2px solid #9273b3;border-radius:13px;display:grid;grid-template-columns:170px 1fr 1px 1fr;align-items:center;padding:10px 15px;color:#6a498f}
.choice-hint>b{justify-self:start;padding:8px 14px;background:#79569d;color:#fff;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}
.choice-hint p{margin:0;text-align:center;font-size:14px;line-height:1.4}
.choice-hint p strong{display:block;font-size:19px}
.choice-hint>span{height:52px;background:#d8cce3}
.move-note{display:block;text-align:center;color:#6f686f;font-size:12px}

.sleep-block{min-height:690px;background:url('./assets/sleep-choice-collage.png') center/cover no-repeat;position:relative}
.sleep-stage{width:min(1120px,calc(100% - 40px));min-height:690px;margin:auto;padding:42px 0;position:relative}
.sleep-stage>h2{margin:0;text-align:center;color:#174b88;font-size:45px;font-weight:600;line-height:1.35;letter-spacing:.09em;text-shadow:0 1px 0 #fff}
.sleep-stage>.detail-card{position:absolute;left:50%;top:180px;transform:translateX(-50%);width:560px}
.sleep-stage .detail-card header{display:none}
.sleep-stage .detail-body{min-height:260px}
.sleep-stage .detail-product{height:260px}
.sleep-stage .detail-copy li{font-size:16px}
.sleep-stage .detail-copy p{font-size:18px}
.sleep-stage .product-button{font-size:21px}

.walk-block{min-height:630px;padding:34px max(22px,calc((100% - 1180px)/2)) 38px;background:linear-gradient(90deg,rgba(249,252,239,.05),rgba(249,252,239,.32) 42%,rgba(249,252,239,.9) 65%),url('./assets/walk-choice-bg.png') 20% center/cover no-repeat;position:relative}
.walk-block>h2{margin:0 0 18px 43%;color:#285e51;font-size:43px;font-weight:600;letter-spacing:.08em}
.walk-card{width:68%;margin-left:auto}
.walk-card .detail-card{padding:22px 28px 16px}
.walk-card .detail-card header{display:none}
.walk-card .detail-body{grid-template-columns:43% 57%;min-height:310px}
.walk-card .detail-product{height:310px}
.walk-card .detail-copy{padding-left:28px}
.walk-card .detail-copy li{font-size:17px}
.walk-card .detail-copy p{font-size:20px}
.walk-card .detail-price{justify-content:flex-end;padding-right:22px}
.walk-card .detail-price strong{font-size:51px}
.next-section-cta{height:116px;padding:0 max(22px,calc((100% - 1180px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;color:#b4831c;background:#fffaf1}
.next-section-cta>span{height:1px;background:#b4831c;position:relative}
.next-section-cta>span:after{content:"◆";position:absolute;right:-12px;top:-12px;background:#fffaf1;padding:0 5px}
.next-section-cta strong{font-size:38px;font-weight:500;letter-spacing:.07em}
.next-section-cta>b{justify-self:end;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#b4831c;color:#fff;font-size:31px;font-weight:400}

@media(max-width:800px){.step-guide{padding:28px 14px}
.step-guide h2{font-size:28px}
.step-guide>p{font-size:14px}
.steps{grid-template-columns:1fr;gap:8px}
.steps>i{transform:rotate(90deg);line-height:22px}
.step{height:88px}
.vision-block{padding:30px 14px;background:linear-gradient(180deg,rgba(249,245,255,.15),rgba(249,245,255,.98) 19%),url('./assets/vision-choice-bg.png') center top/auto 310px no-repeat,#f8f4ff}
.vision-lead{min-height:300px;padding-top:175px}
.vision-lead h2{font-size:34px}
.vision-lead p{font-size:16px}
.vision-cards{grid-template-columns:1fr;gap:16px}
.choice-hint{margin:20px 0 8px;grid-template-columns:1fr;padding:14px}
.choice-hint>b{justify-self:center}
.choice-hint>span{width:80%;height:1px;margin:8px auto}
.sleep-block{min-height:880px;background-position:center}
.sleep-stage{min-height:880px;width:calc(100% - 28px);padding-top:30px}
.sleep-stage>h2{font-size:35px}
.sleep-stage>.detail-card{top:310px;width:100%}
.walk-block{min-height:820px;padding:32px 14px;background:linear-gradient(180deg,rgba(249,252,239,.05),rgba(249,252,239,.98) 42%),url('./assets/walk-choice-bg.png') 28% top/auto 470px no-repeat,#f5f8eb}
.walk-block>h2{margin:0;text-align:center;font-size:33px}
.walk-card{width:100%;margin-top:340px}
.walk-card .detail-card{padding:18px}
.next-section-cta{height:100px;padding:0 14px;gap:10px}
.next-section-cta strong{font-size:23px;text-align:center}
.next-section-cta>b{width:34px;height:34px}
}

@media(max-width:520px){.step{grid-template-columns:30px 56px 1fr;padding:8px 10px}
.step-icon{font-size:40px}
.step>strong{font-size:21px}
.detail-card{padding:14px 12px 12px}
.detail-card header h3{font-size:19px}
.detail-card header>span{padding:3px 8px;font-size:10px}
.card-mark{margin:-14px 0 -8px -12px;width:40px}
.detail-body,.walk-card .detail-card .detail-body{grid-template-columns:42% 58%;min-height:190px}
.detail-product,.walk-card .detail-product,.sleep-stage .detail-product{height:190px}
.detail-copy,.walk-card .detail-copy{padding-left:10px}
.detail-copy li,.walk-card .detail-copy li,.sleep-stage .detail-copy li{font-size:12px;padding-left:22px}
.detail-copy li:before{width:17px;height:17px;font-size:11px}
.detail-copy p,.walk-card .detail-copy p,.sleep-stage .detail-copy p{font-size:13px}
.detail-price strong,.walk-card .detail-price strong{font-size:38px}
.product-button,.sleep-stage .product-button{height:50px;font-size:17px}
.sleep-block,.sleep-stage{min-height:760px}
.sleep-stage>.detail-card{top:270px}
.walk-block{min-height:750px}
.walk-card{margin-top:300px}
.next-section-cta strong{font-size:19px}
}


.assurance-section{background:#fbfaf3;color:#122f31;position:relative}
.assurance-section:before,.assurance-section:after{content:"❧";position:absolute;top:5px;color:#a9b995;font-size:110px;opacity:.45;z-index:0}
.assurance-section:before{left:1%;transform:rotate(48deg)}
.assurance-section:after{right:1%;transform:rotate(132deg)}
.assurance-inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:34px 0 22px;position:relative;z-index:1}
.assurance-inner>h2{margin:0 0 18px;text-align:center;color:var(--ink);font-size:45px;font-weight:600;letter-spacing:.07em}
.assurance-inner>h2 i{color:#b68a20;font-size:34px;font-style:normal;margin:0 24px}
.fact-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:min(1020px,100%);margin:0 auto 24px}
.fact-badges article{height:140px;border:1px solid #c9ae70;border-radius:16px;background:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 7px rgba(84,67,30,.05)}
.fact-badges b{color:#b28c24;font-family:Georgia,serif;font-size:42px;line-height:1.05}
.fact-badges span{font-size:19px;font-weight:700}
.comparison-wrap{border:1px solid #4c6566;border-radius:12px;overflow:auto;background:rgba(255,255,255,.86)}
.comparison-wrap table{width:100%;border-collapse:collapse;min-width:880px;font-family:"Yu Gothic",sans-serif}
.comparison-wrap th,.comparison-wrap td{border-right:1px solid #aab2ad;border-bottom:1px solid #aab2ad;padding:9px 12px;text-align:center;font-size:17px}
.comparison-wrap tr:last-child th,.comparison-wrap tr:last-child td{border-bottom:0}
.comparison-wrap th:last-child,.comparison-wrap td:last-child{border-right:0}
.comparison-wrap thead th{background:linear-gradient(#075956,#064744);color:#fff;font-family:"Yu Mincho",serif;font-size:18px}
.comparison-wrap thead th:first-child{background:#fff}
.comparison-wrap tbody th{width:350px;text-align:left;display:table-cell;vertical-align:middle}
.comparison-wrap tbody th>img{width:92px;height:115px;object-fit:contain}
.comparison-wrap tbody th>span{font-size:17px}
.comparison-wrap td:nth-child(2){width:190px}
.comparison-wrap td:nth-child(3),.comparison-wrap td:nth-child(4){width:160px;font-family:Georgia,"Times New Roman",serif;font-size:23px}
.comparison-wrap td:last-child{width:220px}
.comparison-wrap td>a{display:inline-flex;align-items:center;justify-content:center;min-width:185px;height:55px;padding:0 12px;border-radius:7px;background:linear-gradient(#09635f,#034642);color:#fff;font-size:16px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.quality-notes{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(950px,100%);margin:16px auto}
.quality-notes p{margin:0;border:1px solid #c69e45;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;gap:22px;padding:10px 20px;font-size:16px;line-height:1.25}
.quality-notes b{color:#b48a1e;font-size:44px}
.quality-notes strong{font-size:20px}
.habit-panel{border:1px solid #cfd8bb;border-radius:18px;background:linear-gradient(90deg,#f4f7e9,#fff,#f4f7e9);box-shadow:0 4px 12px rgba(78,89,53,.12);padding:18px 35px 9px;margin-top:12px;text-align:center}
.habit-panel>h2{margin:0;color:var(--ink);font-size:39px;font-weight:600;letter-spacing:.08em}
.habit-flow{display:grid;grid-template-columns:150px 1fr 150px 1fr 150px 260px;align-items:center;gap:8px;margin:8px auto 0;width:min(1000px,100%)}
.habit-flow>div{display:flex;flex-direction:column;align-items:center}
.habit-flow>div b{width:118px;height:118px;border-radius:50%;border:1px solid #cdd8c5;background:rgba(255,255,255,.85);display:grid;place-items:center;color:#5d859d;font-size:56px;font-family:Arial,sans-serif;font-weight:400}
.habit-flow>div:nth-of-type(2) b{color:#9b8060}
.habit-flow>div:nth-of-type(3) b{color:#29292c}
.habit-flow>div span{font-size:13px;margin-top:4px}
.habit-flow>i{font-style:normal;color:#7d8d80;letter-spacing:.25em}
.habit-flow>p{text-align:left;font-size:17px;line-height:1.7;margin:0}
.habit-panel>small{display:block;font-size:12px}
.faq{padding:16px 5px 0}
.faq>h2{display:flex;align-items:center;gap:26px;margin:0 0 8px;color:var(--ink);font-size:35px;font-weight:600;letter-spacing:.1em}
.faq>h2 span{height:1px;flex:1;background:#b98b2b}
.faq details{border:1px solid #cfc7b7;border-radius:8px;background:rgba(255,255,255,.72);margin:5px 0;overflow:hidden;font-family:"Yu Gothic",sans-serif}
.faq summary{list-style:none;min-height:45px;display:grid;grid-template-columns:45px 1fr 30px;align-items:center;padding:5px 12px;font-size:16px;font-weight:700;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary>b{font-family:Georgia,serif;font-size:25px}
.faq summary>i{width:25px;height:25px;border:2px solid var(--teal);border-radius:50%;position:relative}
.faq summary>i:before,.faq summary>i:after{content:"";position:absolute;left:5px;right:5px;top:10px;height:2px;background:var(--teal)}
.faq summary>i:after{transform:rotate(90deg)}
.faq details[open] summary>i{background:var(--teal)}
.faq details[open] summary>i:before{background:#fff}
.faq details[open] summary>i:after{display:none}
.faq details>p{margin:-5px 20px 8px 57px;font-size:13px;line-height:1.6}
.support-banner{min-height:330px;margin-top:18px;border:2px solid #93ad96;border-radius:18px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 37%,rgba(255,255,255,.04) 62%),url('./assets/ropping-support-scene.png') center/cover no-repeat;position:relative}
.support-copy{width:48%;padding:28px 38px}
.support-copy h2{margin:0 0 13px;color:var(--ink);font-size:32px;line-height:1.35;letter-spacing:.05em}
.support-copy p{font-size:15px;font-weight:600;line-height:1.75;margin:0 0 15px}
.support-copy strong{font-family:"Yu Gothic",sans-serif;color:var(--ink);font-size:17px;line-height:1.25}
.support-copy strong:before{content:"✉";margin-right:8px}
.support-copy strong a{font-family:Georgia,serif;font-size:31px;letter-spacing:.05em}
.support-copy strong small{font-size:12px}
.final-choice{background:linear-gradient(135deg,#075451,#003d3d);color:#fff;padding:18px max(20px,calc((100% - 1120px)/2)) 8px}
.final-choice>h2{display:flex;align-items:center;gap:20px;justify-content:center;margin:0 0 15px;color:#f1d78d;font-size:34px;font-weight:600;letter-spacing:.08em;text-align:center}
.final-choice>h2 span{height:1px;flex:1;background:#d8b95a}
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.final-product{min-height:225px;background:#fff;color:#132b2c;border-radius:11px;display:grid;grid-template-columns:34% 66%;padding:13px;overflow:hidden}
.final-product>img{width:100%;height:195px;object-fit:contain}
.final-product>div{padding-left:10px;display:flex;flex-direction:column;align-items:flex-start}
.final-product>div>span{display:inline-block;min-width:125px;padding:3px 12px;border-radius:4px;color:#fff;text-align:center;font-family:"Yu Gothic",sans-serif;font-weight:700;font-size:13px}
.final-product.orange>div>span{background:#eb7b18}
.final-product.violet>div>span{background:#785196}
.final-product.blue>div>span{background:#3e78ad}
.final-product.gold>div>span{background:#9d7c11}
.final-product h3{margin:6px 0 0;font-size:23px;line-height:1.3;min-height:58px}
.final-product p{margin:0 0 5px;font-size:14px}
.final-product p strong{font-family:Georgia,serif;font-size:34px}
.final-product a{width:100%;height:38px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#126763,#074a47);border-radius:4px;color:#fff;font-family:"Yu Gothic",sans-serif;font-size:14px;font-weight:700}
.final-product small{width:100%;text-align:center;color:#344243;font-size:11px}
.final-notes{display:flex;justify-content:space-around;font-size:12px;margin-top:4px}
.disclaimer{min-height:105px;background:linear-gradient(90deg,#f3eff6,#fff,#f3eff6);display:flex;align-items:center;justify-content:center;gap:25px;padding:14px 24px}
.disclaimer>b{width:60px;height:60px;border:3px solid #172829;border-radius:50%;display:grid;place-items:center;font-size:44px;font-family:Arial,sans-serif}
.disclaimer ul{margin:0;padding-left:23px;font-family:"Yu Gothic",sans-serif;font-weight:600;font-size:14px}
.assurance-section footer{min-height:105px;background:#074747;color:#fff;display:flex;align-items:center;justify-content:center;gap:100px;padding:16px 24px}
.footer-brand{font-family:Georgia,serif;font-size:43px}
.assurance-section footer nav{display:grid;grid-template-columns:repeat(2,auto);gap:5px 24px}
.assurance-section footer nav a{font-size:13px}
.assurance-section footer nav a:hover{text-decoration:underline}
@media(max-width:800px){.assurance-inner{width:calc(100% - 24px);padding-top:28px}.assurance-inner>h2{font-size:31px;line-height:1.35}.assurance-inner>h2 i{display:none}.fact-badges{grid-template-columns:1fr 1fr;gap:8px}.fact-badges article{height:110px}.fact-badges b{font-size:34px}.fact-badges span{font-size:15px}.comparison-wrap{border-radius:8px}.quality-notes{grid-template-columns:1fr;gap:8px}.quality-notes p{justify-content:flex-start;padding-left:23%}.habit-panel{padding:15px 12px}.habit-panel>h2{font-size:29px}.habit-flow{grid-template-columns:1fr 35px 1fr 35px 1fr}.habit-flow>div b{width:85px;height:85px;font-size:40px}.habit-flow>p{grid-column:1/6;text-align:center;font-size:15px}.faq>h2{font-size:30px;gap:12px}.faq summary{grid-template-columns:35px 1fr 28px;font-size:14px}.faq details>p{margin:0 15px 10px 49px}.support-banner{min-height:560px;background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.12) 42%,rgba(255,255,255,.98) 60%),url('./assets/ropping-support-scene.png') 61% top/auto 360px no-repeat,#fff}.support-copy{width:100%;padding:330px 24px 22px}.support-copy h2{font-size:29px}.final-choice{padding-left:12px;padding-right:12px}.final-choice>h2{font-size:26px}.final-grid{grid-template-columns:1fr}.final-product{min-height:205px}.final-product>img{height:175px}.final-notes{display:block;text-align:center}.final-notes span{display:block}.disclaimer{align-items:flex-start}.disclaimer>b{flex:0 0 52px;width:52px;height:52px;font-size:35px}.assurance-section footer{gap:30px;justify-content:space-between}.footer-brand{font-size:34px}.assurance-section footer nav{grid-template-columns:1fr;gap:2px}}
@media(max-width:480px){.assurance-section:before,.assurance-section:after{font-size:75px}.assurance-inner>h2{font-size:26px}.fact-badges article{height:95px}.fact-badges b{font-size:29px}.fact-badges span{font-size:13px}.quality-notes p{padding-left:12px}.quality-notes b{font-size:36px}.quality-notes strong{font-size:17px}.habit-panel>h2{font-size:24px}.habit-flow{grid-template-columns:1fr 18px 1fr 18px 1fr}.habit-flow>div b{width:68px;height:68px;font-size:31px}.habit-flow>div span{font-size:10px}.habit-flow>i{font-size:10px;letter-spacing:0}.faq>h2{font-size:27px}.support-banner{min-height:535px;background-position:57% top}.support-copy{padding:318px 17px 20px}.support-copy h2{font-size:25px}.support-copy p{font-size:13px}.support-copy strong a{font-size:26px}.final-choice>h2{font-size:22px}.final-product{grid-template-columns:37% 63%;padding:9px}.final-product>img{height:160px}.final-product h3{font-size:19px;min-height:50px}.final-product p strong{font-size:29px}.final-product a{font-size:12px}.disclaimer{padding:14px 12px;gap:12px}.disclaimer ul{font-size:11px}.assurance-section footer{display:block;text-align:center}.assurance-section footer nav{margin-top:8px}}
.habit-flow-icon{width: 4em;}

/* Senior-friendly typography: one readable Japanese sans-serif across the LP. */
main,main button,main input,main select,main textarea,main table{font-family:var(--font-jp)!important}
body{letter-spacing:.015em}.brand,.footer-brand{letter-spacing:-.03em}.product-button,.comparison-wrap td>a,.final-product a{min-height:52px}
@media(max-width:800px){body{font-size:17px;line-height:1.8}.hero{height:850px}.hero-visual{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.06) 36%,rgba(255,255,255,.88) 50%,#fff 62%),url('./assets/hero-mobile.png') center top/100% auto no-repeat,#fff}.hero-copy{padding-top:390px}.hero h1{font-size:36px;line-height:1.42;margin-bottom:18px}.hero-copy>p{font-size:17px;line-height:1.85}.functional-label{font-size:14px;padding:8px 15px}.product-lineup{height:105px;gap:5px;margin-top:13px}.hero-cta{bottom:-34px;width:calc(100% - 34px);max-width:430px;font-size:18px}.concern-copy p{font-size:17px}.checks p{font-size:16px;line-height:1.7}.story-label span{font-size:16px}.story-cards p{font-size:15px;line-height:1.75}.emotional p{font-size:16px}.emotional strong{font-size:17px}.philosophy-copy p{font-size:15px}.choice-map article small{font-size:14px}.choice-map>strong{font-size:14px}.step>strong small{font-size:14px}.vision-lead p{font-size:17px}.detail-copy li,.walk-card .detail-copy li,.sleep-stage .detail-copy li{font-size:15px;line-height:1.6}.detail-copy p,.walk-card .detail-copy p,.sleep-stage .detail-copy p{font-size:16px;line-height:1.65}.product-button,.sleep-stage .product-button{font-size:18px}.product-url{font-size:13px}.choice-hint p{font-size:15px}.move-note{font-size:14px}.sleep-block{min-height:930px;background:url('./assets/sleep-mobile.png') center top/100% auto no-repeat,#edf3fa}.sleep-stage{min-height:930px;padding-top:205px}.sleep-stage>h2{font-size:34px;line-height:1.5}.sleep-stage>.detail-card{top:360px}.walk-block{min-height:820px;background:url('./assets/walk-mobile.png') center top/100% auto no-repeat,#f4f7e8;padding-top:22px}.walk-block>h2{width:58%;margin:0 0 0 auto;text-align:left;font-size:31px;line-height:1.55;padding-top:10px}.walk-card{margin-top:360px}.comparison-wrap th,.comparison-wrap td{font-size:16px}.faq summary{font-size:16px;line-height:1.55}.faq details>p{font-size:15px}.support-copy p{font-size:15px}.final-product h3{font-size:21px}.final-product a{font-size:15px}.disclaimer ul{font-size:13px}.assurance-section footer nav a{font-size:14px}}
@media(max-width:480px){.hero{height:835px}.hero-copy{padding-top:370px}.hero h1{font-size:33px}.hero-copy>p{font-size:16px}.product-lineup{height:96px}.sleep-block,.sleep-stage{min-height:910px}.sleep-stage{padding-top:190px}.sleep-stage>.detail-card{top:345px}.walk-block{min-height:790px}.walk-block>h2{font-size:28px}.walk-card{margin-top:335px}.detail-copy li,.walk-card .detail-copy li,.sleep-stage .detail-copy li{font-size:14px}.detail-copy p,.walk-card .detail-copy p,.sleep-stage .detail-copy p{font-size:15px}.product-button,.sleep-stage .product-button{font-size:17px}.support-copy p{font-size:15px}.final-product a{font-size:14px}.disclaimer ul{font-size:13px}}

/* Final alignment corrections */
.hero{height:760px}.product-lineup{height:185px}.hero-cta{bottom:-30px}
.checks p{display:flex;align-items:flex-start;gap:10px}.checks span{flex:0 0 23px;margin:3px 0 0;line-height:1;font-size:14px;transform:none}
.detail-product>i{display:none!important}
.comparison-wrap table{table-layout:fixed}.comparison-wrap th,.comparison-wrap td{display:table-cell;vertical-align:middle;height:132px}.comparison-wrap thead th{height:54px}.comparison-wrap thead th:first-child{width:32%;background:linear-gradient(#075956,#064744)}.comparison-wrap th:nth-child(2){width:24%}.comparison-wrap th:nth-child(3){width:14%}.comparison-wrap th:nth-child(4){width:12%}.comparison-wrap th:nth-child(5){width:18%}.comparison-wrap tbody th{width:auto;text-align:left}.compare-product{display:flex;align-items:center;gap:22px;min-width:0}.compare-product>img{flex:0 0 92px;width:92px;height:110px;object-fit:contain}.compare-product>span{font-size:17px;line-height:1.55;font-weight:700}.comparison-wrap td:nth-child(2),.comparison-wrap td:nth-child(3),.comparison-wrap td:nth-child(4),.comparison-wrap td:last-child{width:auto}.comparison-wrap td>a{min-width:0;width:100%;padding:0 8px}
.detail-price strong,.final-product p strong{font-family:var(--font-jp)!important;font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:700}.detail-price{line-height:1.2}.detail-price strong{font-size:42px}.final-product p{display:flex;align-items:baseline;gap:2px;line-height:1.2}.final-product p strong{font-size:32px}
.disclaimer>b{display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.disclaimer>b>span{display:block;line-height:1;transform:translateY(-1px)}
@media(max-width:800px){.hero{height:930px}.product-lineup{height:105px}.hero-cta{bottom:-30px}.comparison-wrap th,.comparison-wrap td{height:126px}.comparison-wrap thead th{height:54px}.compare-product{gap:15px}.compare-product>img{flex-basis:82px;width:82px;height:100px}.disclaimer>b{align-self:center}}
@media(max-width:480px){.hero{height:910px}.hero-cta{bottom:-28px}.detail-price strong{font-size:36px}.final-product p strong{font-size:28px}}

@media(max-width:800px){.hero-cta b{right:18%}}
@media(max-width:480px){.hero-cta b{right:15%}}
/* Icon alignment corrections */
.category-icon{display:block;object-fit:contain;filter:brightness(0) invert(1)}

/* 「見る・眠る・歩く」：上部のお悩みカード */
.concern-title>span{flex:0 0 55px}
.concern-title>span .category-icon{width:42px;height:42px;max-width:none}

/* 「見る・眠る・歩く」：中段の選択マップ */
.choice-map article .choice-icon{width:44px;height:44px;margin:0 auto 4px;border-radius:50%;display:grid;place-items:center;background:currentColor}
.choice-map article .choice-icon .category-icon{width:35px;height:35px;max-width:none}

/* 「見る・眠る・歩く」：3ステップガイド */
.step-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;justify-self:center;background:currentColor}
.step-icon .category-icon{width:46px;height:46px;max-width:none}

/* 「おすすめする理由」4アイコン */
#common-assurance .fact-badges article img{width:82px;height:82px;max-width:82px;object-fit:contain;display:block;margin-bottom:3px}
#common-assurance .fact-badges article span{line-height:1.3;text-align:center}

@media(max-width:800px){
  #common-assurance .fact-badges article img{width:66px;height:66px;max-width:66px}
}

@media(max-width:520px){
  .step-icon{width:50px;height:50px}
  .step-icon .category-icon{width:39px;height:39px}
}

@media(max-width:480px){
  #common-assurance .fact-badges article img{width:56px;height:56px;max-width:56px}
  .choice-map article .choice-icon{width:40px;height:40px}
  .choice-map article .choice-icon .category-icon{width:32px;height:32px}
}

/* 3袋セット導線 */
.three-pack-recommend{margin:8px 0 9px;padding:9px 12px;border-radius:9px;background:#fff8e7;border:1px solid #d8b96d;color:#5b4931;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;font-family:var(--font-jp)}
.three-pack-recommend strong{flex:0 0 auto;color:#8f6818;font-size:16px;line-height:1.35}
.three-pack-recommend span{font-size:13px;line-height:1.5;font-weight:600}
.product-cta-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.product-cta-group .product-button{min-width:0;padding:0 8px;font-size:17px;text-align:center}
.product-button-set{background:linear-gradient(#c59535,#9f711e);border-color:#b4862d}
.product-button-set:hover{filter:brightness(1.07)}

/* 睡眠セクションはCTA追加分の高さを確保 */
.sleep-block,.sleep-stage{min-height:770px}

/* 最終商品一覧の3袋セット導線 */
.final-three-pack-note{max-width:760px;margin:0 auto 16px;text-align:center;color:#fff;font-size:15px;line-height:1.6}
.final-three-pack-note strong{color:#f1d78d;font-size:18px}
.final-three-pack-note small{display:block;font-size:11px;color:#d8e5e3;margin-top:2px}
.final-product{min-height:275px}
.final-cta-group{width:100%;display:grid;gap:5px;margin-top:auto}
.final-product .final-cta-group a{width:100%;min-height:38px;height:38px}
.final-product .final-cta-group .final-set-button{background:linear-gradient(#c59535,#9f711e)}

/* LP最下部：こちらもおすすめ */
.recommend-section{padding:42px 24px 48px;background:linear-gradient(135deg,#f8f2df,#fff 48%,#f4f7e8);border-top:1px solid #d8d0ba}
.recommend-inner{width:min(1040px,100%);margin:auto}
.recommend-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:20px}
.recommend-heading span{height:1px;background:linear-gradient(90deg,transparent,#b98b2b)}
.recommend-heading span:last-child{background:linear-gradient(90deg,#b98b2b,transparent)}
.recommend-heading h2{margin:0;color:var(--ink);font-size:36px;font-weight:600;letter-spacing:.08em;white-space:nowrap}
.recommend-card{display:grid;grid-template-columns:250px 1fr;align-items:center;gap:36px;padding:28px 38px;border:1px solid #cbb67f;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 7px 20px rgba(72,63,40,.10)}
.recommend-emblem{width:205px;height:205px;margin:auto;border-radius:50%;background:radial-gradient(circle,#fff 0 57%,#f6efdc 58% 100%);border:1px solid #ccb272;display:flex;align-items:center;justify-content:center;gap:8px;color:#173f3e;box-shadow:inset 0 0 0 8px rgba(190,153,70,.08)}
.recommend-emblem span{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-jp);font-size:30px;font-weight:700}
.recommend-emblem span:first-child{background:#272727;color:#fff}
.recommend-emblem span:last-child{background:#fff;color:#8c6d2e;border:2px solid #d3bd86}
.recommend-emblem i{font-style:normal;font-size:23px;color:#ad7e20;font-weight:700}
.recommend-copy{min-width:0}
.recommend-kicker{display:inline-block;padding:4px 14px;border-radius:999px;background:#edf3df;color:#4e7934;font-size:14px;font-weight:700}
.recommend-copy h3{margin:7px 0 5px;color:var(--ink);font-size:30px;line-height:1.4;letter-spacing:.03em}
.recommend-copy p{margin:0 0 16px;font-size:16px;line-height:1.8;font-weight:600}
.recommend-cta-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.recommend-cta-group a{min-height:56px;border-radius:8px;background:linear-gradient(#126763,#074a47);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.recommend-cta-group a:hover{filter:brightness(1.08)}
.recommend-cta-group .recommend-subscription{background:linear-gradient(#c59535,#9f711e)}
.recommend-copy>small{display:block;margin-top:8px;color:#6f6a5f;font-size:11px;line-height:1.5}

@media(max-width:800px){
  .three-pack-recommend{display:block;padding:8px 10px}
  .three-pack-recommend strong{display:block;margin-bottom:2px}
  .three-pack-recommend span{font-size:12px}
  .product-cta-group .product-button{font-size:15px}
  .sleep-block,.sleep-stage{min-height:1030px}
  .final-product{min-height:270px}
  .recommend-section{padding:34px 14px 38px}
  .recommend-heading h2{font-size:30px}
  .recommend-card{grid-template-columns:170px 1fr;gap:22px;padding:22px}
  .recommend-emblem{width:155px;height:155px}
  .recommend-emblem span{width:51px;height:51px;font-size:24px}
  .recommend-copy h3{font-size:25px}
  .recommend-copy p{font-size:15px}
  .recommend-cta-group a{font-size:16px}
}

@media(max-width:520px){
  .product-cta-group{grid-template-columns:1fr}
  .product-cta-group .product-button{font-size:16px}
  .sleep-block,.sleep-stage{min-height:1110px}
  .final-product{min-height:305px}
  .recommend-heading{gap:10px}
  .recommend-heading h2{font-size:26px}
  .recommend-card{grid-template-columns:1fr;padding:20px 16px;gap:15px;text-align:center}
  .recommend-emblem{width:140px;height:140px}
  .recommend-emblem span{width:46px;height:46px;font-size:21px}
  .recommend-copy h3{font-size:23px}
  .recommend-copy p{font-size:14px}
  .recommend-cta-group{grid-template-columns:1fr}
  .recommend-copy>small{text-align:left}
}


/* ===== 2026-09-11 final adjustments ===== */
/* アイコンを少し大きめに再調整 */
.concern-title>span .category-icon{width:46px;height:46px;max-width:none}
.choice-map article .choice-icon{width:48px;height:48px;margin:0 auto 4px;border-radius:50%;display:grid;place-items:center;background:currentColor}
.choice-map article .choice-icon .category-icon{width:39px;height:39px;max-width:none}
.step-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;justify-self:center;background:currentColor}
.step-icon .category-icon{width:50px;height:50px;max-width:none}
#common-assurance .fact-badges article img{width:88px;height:88px;max-width:88px;object-fit:contain;display:block;margin-bottom:3px}

/* 3袋セットの啓蒙セクション */
.set-guidance{padding:0 24px 34px;background:linear-gradient(180deg,#fffaf2 0%,#fff 100%)}
.set-guidance-inner{width:min(980px,100%);margin:0 auto;padding:22px 28px;border:1px solid #d8c39a;border-radius:18px;background:linear-gradient(135deg,#fff9ed 0%,#fffef9 100%);box-shadow:0 8px 20px rgba(87,70,31,.08);text-align:center}
.set-guidance-kicker{display:inline-block;padding:5px 16px;border-radius:999px;background:#fff0c9;color:#8a651b;font-size:13px;font-weight:700;letter-spacing:.06em}
.set-guidance h3{margin:10px 0 8px;color:var(--ink);font-size:30px;line-height:1.45;letter-spacing:.04em}
.set-guidance p{margin:0 auto;color:#53493b;font-size:16px;line-height:1.85;font-weight:600;max-width:780px}
.set-guidance small{display:block;margin-top:10px;color:#6c665c;font-size:12px;line-height:1.6}

/* 3袋セットCTA */
.product-cta-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.product-cta-group .product-button{min-width:0;padding:0 8px;font-size:17px;text-align:center}
.product-button-set{background:linear-gradient(#c59535,#9f711e);border-color:#b4862d}
.product-button-set:hover{filter:brightness(1.07)}
.sleep-block,.sleep-stage{min-height:760px}

/* 最終商品一覧のCTA */
.final-product{min-height:275px}
.final-cta-group{width:100%;display:grid;gap:5px;margin-top:auto}
.final-product .final-cta-group a{width:100%;min-height:38px;height:38px}
.final-product .final-cta-group .final-set-button{background:linear-gradient(#c59535,#9f711e)}

/* LP最下部：こちらもおすすめ */
.recommend-section{padding:42px 24px 48px;background:linear-gradient(135deg,#f8f2df,#fff 48%,#f4f7e8);border-top:1px solid #d8d0ba}
.recommend-inner{width:min(1040px,100%);margin:auto}
.recommend-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:20px}
.recommend-heading span{height:1px;background:linear-gradient(90deg,transparent,#b98b2b)}
.recommend-heading span:last-child{background:linear-gradient(90deg,#b98b2b,transparent)}
.recommend-heading h2{margin:0;color:var(--ink);font-size:36px;font-weight:600;letter-spacing:.08em;white-space:nowrap}
.recommend-card{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:36px;padding:28px 38px;border:1px solid #cbb67f;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 7px 20px rgba(72,63,40,.10)}
.recommend-visual{width:100%;max-width:280px;margin:auto}
.recommend-visual img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;border:1px solid #d8c7a2;box-shadow:0 8px 22px rgba(81,66,32,.12)}
.recommend-copy{min-width:0}
.recommend-kicker{display:inline-block;padding:4px 14px;border-radius:999px;background:#edf3df;color:#4e7934;font-size:14px;font-weight:700}
.recommend-copy h3{margin:7px 0 5px;color:var(--ink);font-size:30px;line-height:1.4;letter-spacing:.03em}
.recommend-copy p{margin:0 0 16px;font-size:16px;line-height:1.8;font-weight:600}
.recommend-cta-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.recommend-cta-group a{min-height:56px;border-radius:8px;background:linear-gradient(#126763,#074a47);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.recommend-cta-group a:hover{filter:brightness(1.08)}
.recommend-cta-group .recommend-subscription{background:linear-gradient(#c59535,#9f711e)}
.recommend-copy>small{display:block;margin-top:8px;color:#6f6a5f;font-size:11px;line-height:1.5}

@media(max-width:800px){
  #common-assurance .fact-badges article img{width:72px;height:72px;max-width:72px}
  .step-icon{width:56px;height:56px}
  .step-icon .category-icon{width:44px;height:44px}
  .set-guidance{padding:0 14px 28px}
  .set-guidance-inner{padding:18px 16px}
  .set-guidance h3{font-size:24px}
  .set-guidance p{font-size:14px;line-height:1.75}
  .product-cta-group .product-button{font-size:15px}
  .sleep-block,.sleep-stage{min-height:980px}
  .final-product{min-height:270px}
  .recommend-section{padding:34px 14px 38px}
  .recommend-heading h2{font-size:30px}
  .recommend-card{grid-template-columns:190px 1fr;gap:22px;padding:22px}
  .recommend-visual{max-width:190px}
  .recommend-copy h3{font-size:25px}
  .recommend-copy p{font-size:15px}
  .recommend-cta-group a{font-size:16px}
}

@media(max-width:520px){
  .choice-map article .choice-icon{width:44px;height:44px}
  .choice-map article .choice-icon .category-icon{width:35px;height:35px}
  .step-icon{width:52px;height:52px}
  .step-icon .category-icon{width:41px;height:41px}
  .product-cta-group{grid-template-columns:1fr}
  .product-cta-group .product-button{font-size:16px}
  .sleep-block,.sleep-stage{min-height:1060px}
  .final-product{min-height:305px}
  .recommend-heading{gap:10px}
  .recommend-heading h2{font-size:26px}
  .recommend-card{grid-template-columns:1fr;padding:20px 16px;gap:15px;text-align:center}
  .recommend-visual{max-width:220px}
  .recommend-copy h3{font-size:23px}
  .recommend-copy p{font-size:14px}
  .recommend-cta-group{grid-template-columns:1fr}
  .recommend-copy>small{text-align:left}
}

@media(max-width:480px){
  #common-assurance .fact-badges article img{width:60px;height:60px;max-width:60px}
  .choice-map article .choice-icon{width:42px;height:42px}
  .choice-map article .choice-icon .category-icon{width:34px;height:34px}
  .set-guidance-kicker{font-size:12px}
  .set-guidance h3{font-size:22px;line-height:1.5}
}

/* ===== 2026-09-11 smartphone layout corrections ===== */
/* Step numbers are removed in HTML, so the icon + copy use the available width cleanly. */
.step{grid-template-columns:80px 1fr;column-gap:14px}

/* Final product cards: CTAs sit in their own full-width row under image + text. */
.final-product{min-height:0!important;height:auto;display:grid;grid-template-columns:34% 66%;grid-template-rows:auto auto;align-items:start;padding:13px}
.final-product>img{grid-column:1;grid-row:1;width:100%;height:170px;object-fit:contain}
.final-product>.final-product-info{grid-column:2;grid-row:1;padding-left:12px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.final-product>.final-product-info>span{display:inline-block;min-width:125px;padding:3px 12px;border-radius:4px;color:#fff;text-align:center;font-weight:700;font-size:13px}
.final-product.orange>.final-product-info>span{background:#eb7b18}
.final-product.violet>.final-product-info>span{background:#785196}
.final-product.blue>.final-product-info>span{background:#3e78ad}
.final-product.gold>.final-product-info>span{background:#9d7c11}
.final-product>.final-product-info h3{margin:6px 0 0;font-size:23px;line-height:1.3;min-height:58px}
.final-product>.final-product-info p{margin:0 0 5px;display:flex;align-items:baseline;gap:2px;line-height:1.2}
.final-product>.final-product-info p strong{font-size:32px}
.final-product>.final-cta-group{grid-column:1/-1;grid-row:2;width:100%;padding:0;margin:10px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-self:start}
.final-product>.final-cta-group a{width:100%;min-height:42px;height:auto;padding:8px 10px;text-align:center}
.final-product>.final-cta-group .final-set-button{background:linear-gradient(#c59535,#9f711e)}
.final-product>.final-cta-single{grid-template-columns:1fr}

@media(max-width:800px){
  /* ③ 朝・昼・夜：丸アイコンと右側テキストの間隔を広げる */
  .story-label{gap:20px}

  /* ④ 番号なしの2カラム構成。アイコンとコピーの間隔も拡大 */
  .step{grid-template-columns:64px 1fr;column-gap:20px;height:92px;padding:10px 16px}

  /* ⑤ 睡眠の商品カードを通常フローに戻し、カード下の固定余白を解消 */
  .sleep-block{min-height:0!important;height:auto;padding-bottom:0}
  .sleep-stage{min-height:0!important;height:auto;padding:205px 0 32px}
  .sleep-stage>.detail-card{position:relative;left:auto;top:auto;transform:none;width:100%;margin:24px auto 0}

  /* ⑥⑦ 最終一覧：カードの固定高を撤廃し、CTAをカード幅いっぱいに */
  .final-product{min-height:0!important;height:auto}
  .final-product>img{height:160px}
  .final-product>.final-cta-group{grid-template-columns:1fr 1fr}
  .final-product>.final-cta-single{grid-template-columns:1fr}
}

@media(max-width:520px){
  /* ① FV：商品画像をコピーより先に見せる */
  .hero{height:860px}
  .hero-copy{display:flex;flex-direction:column;padding-top:300px}
  .hero-copy .product-lineup{order:-1;width:100%;height:94px;margin:0 0 16px;align-items:flex-end;gap:5px}
  .hero-copy h1{order:0;margin-bottom:16px}
  .hero-copy>p{order:1}
  .hero-copy>.functional-label{order:2;align-self:flex-start}

  /* ② 「眠る」カード：人物側へトリミング位置を移し、顔の見切れを軽減 */
  .concern-card.sleep>img{object-position:13% center}

  /* ③ 朝・昼・夜：さらに少しゆったり */
  .story-label{gap:22px}

  /* ④ 悩み選択：番号を除いたぶん、アイコンと文字を離す */
  .step{grid-template-columns:58px 1fr;column-gap:22px;height:92px;padding:10px 14px}
  .step-icon{justify-self:center}

  /* ⑤ 睡眠セクション：固定min-heightを完全解除 */
  .sleep-stage{padding-top:190px;padding-bottom:26px}
  .sleep-stage>.detail-card{margin-top:22px}

  /* ⑥⑦ 最終商品カード：画像下までCTAを伸ばし、余白を残さない */
  .final-product{grid-template-columns:38% 62%;grid-template-rows:auto auto;padding:10px;min-height:0!important}
  .final-product>img{height:145px;align-self:start}
  .final-product>.final-product-info{padding-left:10px}
  .final-product>.final-product-info>span{min-width:120px;font-size:12px;padding:3px 9px}
  .final-product>.final-product-info h3{font-size:19px;min-height:0;margin-top:6px}
  .final-product>.final-product-info p{margin-top:5px}
  .final-product>.final-product-info p strong{font-size:29px}
  .final-product>.final-cta-group{grid-template-columns:1fr;margin-top:10px;gap:5px}
  .final-product>.final-cta-group a{min-height:42px;padding:8px 10px;font-size:13px}
}

@media(max-width:480px){
  .hero{height:850px}
  .hero-copy{padding-top:290px}
  .hero-copy .product-lineup{height:90px;margin-bottom:14px}
}



/* ===== 2026-09-11 mobile follow-up corrections ===== */
@media(max-width:520px){
  /* ① FV：固定高をやめ、CTAまでの不自然な空白を解消 */
  .hero{
    height:auto!important;
    min-height:0!important;
    padding:0;
  }
  .hero-inner{
    height:auto!important;
    min-height:0!important;
  }
  .hero-copy{
    display:flex;
    flex-direction:column;
    width:100%;
    padding-top:290px;
    padding-bottom:72px;
  }
  .hero-copy .product-lineup{
    order:-1;
    width:100%;
    height:90px;
    margin:0 0 14px;
    align-items:flex-end;
    gap:5px;
  }
  .hero-copy h1{order:0;margin-bottom:16px}
  .hero-copy>p{order:1;margin-bottom:20px}
  .hero-copy>.functional-label{order:2;align-self:flex-start}
  .hero-cta{bottom:-28px}

  /* ② 睡眠・歩行の商品名をスマホでも表示 */
  .sleep-stage .detail-card header,
  .walk-card .detail-card header{
    display:block!important;
    min-height:0;
    padding:0 0 12px;
    text-align:center;
  }
  .sleep-stage .detail-card header h3,
  .walk-card .detail-card header h3{
    margin:0;
    color:var(--ink);
    font-family:var(--font-jp)!important;
    font-size:21px;
    font-weight:700;
    line-height:1.45;
    letter-spacing:.03em;
  }

  /* ③ 送料をスマホでも十分なコントラスト・サイズで表示 */
  .detail-price small,
  .walk-card .detail-price small,
  .sleep-stage .detail-price small{
    color:#444!important;
    opacity:1!important;
    font-size:12px!important;
    font-weight:600;
    margin-left:12px;
    white-space:nowrap;
  }
}

@media(max-width:480px){
  .hero-copy{padding-top:280px;padding-bottom:70px}
  .hero-copy .product-lineup{height:88px}
  .sleep-stage .detail-card header h3,
  .walk-card .detail-card header h3{font-size:20px}
  .detail-price small,
  .walk-card .detail-price small,
  .sleep-stage .detail-price small{font-size:11px!important;margin-left:10px}
}


/* ===== 商品詳細カード ヘッダー統一 ===== */

.sleep-stage .detail-card header,
.walk-card .detail-card header{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:48px;
    margin:0 0 10px;
    padding:0 2px 12px;
    border-bottom:1px solid #e5e1da;
}

/* 商品名 */
.sleep-stage .detail-card header h3,
.walk-card .detail-card header h3{
    margin:0;
    color:#292138;
    font-family:var(--font-jp) !important;
    font-size:22px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:.03em;
}

/* 「睡眠ケア」「歩行ケア」ラベル */
.sleep-stage .detail-card header > span,
.walk-card .detail-card header > span{
    flex:0 0 auto;
    margin-left:auto;
    padding:5px 14px;
    border:1px solid #b59048;
    border-radius:999px;
    color:#9d762a;
    font-size:12px;
    font-weight:600;
    line-height:1.4;
    white-space:nowrap;
}


/* スマホ */
@media(max-width:520px){

    .sleep-stage .detail-card header,
    .walk-card .detail-card header{
        display:flex !important;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:7px;
        margin-bottom:8px;
        padding-bottom:11px;
        text-align:center;
    }

    .sleep-stage .detail-card header h3,
    .walk-card .detail-card header h3{
        font-size:20px;
    }

    .sleep-stage .detail-card header > span,
    .walk-card .detail-card header > span{
        margin-left:0;
        padding:4px 12px;
        font-size:11px;
    }
}

/* 2026-09-15 Word指示対応：3カテゴリを並列表示 */
.product-selector .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
/* 届出表示は埋め込み表の4列構成に合わせ、長文の省略や固定高さを避ける */
.comparison-wrap .notification-table{table-layout:fixed;min-width:1000px}
.comparison-wrap .notification-table th,.comparison-wrap .notification-table td{display:table-cell;vertical-align:middle;height:auto;white-space:normal;overflow-wrap:anywhere}
.comparison-wrap .notification-table thead th:nth-child(1){width:23%}
.comparison-wrap .notification-table thead th:nth-child(2){width:14%}
.comparison-wrap .notification-table thead th:nth-child(3){width:47%}
.comparison-wrap .notification-table thead th:nth-child(4){width:16%}
.comparison-wrap .notification-table tbody td:nth-child(2){font-family:var(--font-jp);font-size:16px}
.comparison-wrap .notification-table td.notification-copy{font-family:var(--font-jp);font-size:14px;line-height:1.8;text-align:left;padding:16px;word-break:normal}
.comparison-wrap .notification-table td:last-child{font-family:var(--font-jp);font-size:16px}
.comparison-wrap .notification-table .compare-product{gap:12px}
.comparison-wrap .notification-table .compare-product>img{flex-basis:66px;width:66px;height:90px}
.comparison-wrap .notification-table .compare-product>span{font-size:15px}
.comparison-wrap:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.habit-panel .habit-flow{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);max-width:700px}
.detail-price .shipping-note-link{display:block;font-size:12px;line-height:1.5}
.shipping-note-link,.faq details>p>a{text-decoration:underline;text-underline-offset:3px}
.final-notes .shipping-note-link{display:block;margin-top:4px}
#shipping-faq{scroll-margin-top:24px}
.assurance-inner>h2{font-size:clamp(22px,3vw,36px);line-height:1.5;overflow-wrap:anywhere}
@media(max-width:800px){
 .product-selector .steps{grid-template-columns:1fr;gap:8px}
 .habit-panel .habit-flow{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr)}
}

.comparison-scroll-note{font-size:13px;line-height:1.6;margin:12px 0 8px}


/* スマホの価格欄：金額と通貨を1行に保ち、送料は次の行へ */
@media(max-width:800px){
  .detail-card .detail-price{
    display:grid;
    grid-template-columns:max-content max-content;
    justify-content:center;
    align-items:baseline;
    column-gap:6px;
    row-gap:6px;
    padding-right:0;
  }
  .detail-card .detail-price>strong{
    grid-column:1;
    grid-row:1;
    font-size:36px;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
  }
  .detail-card .detail-price>span{
    grid-column:2;
    grid-row:1;
    margin-left:0;
    white-space:nowrap;
  }
  .detail-card .detail-price>small{
    grid-column:1 / -1;
    grid-row:2;
    margin-left:0;
    text-align:center;
    white-space:normal;
    line-height:1.5;
  }
}
