:root{--navy:#001e4b;--cream:#faf5eb;--red:#fa1400;--white:#fff;--ink:#001e4b;--line:#d9ddd9;--shell:#e8e8e4;--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)}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--red);outline-offset:4px}a:active{filter:brightness(.95)}img{display:block;max-width:100%;height:auto}p,h1,h2{margin:0}h2{letter-spacing:.04em;overflow-wrap:anywhere}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

.app-shell{max-width:var(--page-max);margin:0 auto;background:var(--cream);min-height:100vh;overflow-x:clip}
.brand-header{height:70px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:10px 24px}
.brand-header img{width:64px;height:auto}
.brand-header span{color:var(--cream);font-size:11px;line-height:1.8;text-align:right}

.lead{padding:22px 24px 6px}
.lead p{font-size:14px;line-height:1.95}

.product-card{background:var(--white);margin:16px 24px 0;border-radius:8px;padding:22px 20px;display:flex;flex-direction:column;align-items:center;text-align:center}
.product-photo{width:58%;object-fit:contain;margin:0 auto}
.formula-photo{width:36%}
.product-kind{font-size:12px;line-height:1.7;font-weight:600;margin:16px 0 0}
.product-card h2{font-size:17px;line-height:1.6;font-weight:700;margin:4px 0 0}
.product-note{font-size:12px;line-height:1.7;margin:2px 0 0}
.keep{display:inline-block}
.store-buttons{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:18px}
.store-button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--red);color:var(--white);min-height:49px;padding:13px 18px;border-radius:5px;font-size:13px;font-weight:600}

.brand-footer{margin-top:24px;padding:24px;background:var(--navy);color:var(--cream);display:flex;align-items:center;gap:16px}
.brand-footer span{font-size:11px;line-height:1.7}

@media(max-width:359px){
  .brand-header{padding:10px 20px;height:64px}
  .lead{padding:20px 20px 4px}
  .product-card{margin:14px 20px 0;padding:20px 16px}
  .brand-footer{padding:20px}
}
