:root{
  --ink:#222; --sub:#888; --line:#e8e8e8;
  --sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Noto Sans JP",sans-serif;
  --max:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.7;font-size:15px;background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}

header.site{border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:17px;letter-spacing:.02em}
.logo .mk{width:28px;height:28px}
nav.top a{color:var(--sub);font-size:12.5px;margin-left:18px}
nav.top a:hover{color:var(--ink)}

.ttl{font-size:15px;font-weight:700;margin:34px 0 20px;text-align:center;letter-spacing:.02em}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 20px}
@media(max-width:860px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}}

.item{display:block}
.ph{background:#f4f4f4;aspect-ratio:1/1;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.item:hover .ph{opacity:.85}
.i-title{font-size:12.5px;line-height:1.6;margin:9px 0 0;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.i-price{font-size:14px;font-weight:700;margin:5px 0 0}
.i-price span{font-size:11px;font-weight:400;color:var(--sub);margin-left:5px}
.i-tag{font-size:11px;color:var(--sub);margin:3px 0 0}

.ad{margin:44px 0 0;border:1px solid var(--line);padding:12px 14px}
.ad-label{font-size:10.5px;color:var(--sub);letter-spacing:.08em;margin-bottom:5px}
.ad-list{list-style:none;margin:0;padding:0;font-size:13.5px}
.ad-list li{padding:3px 0}

.lead{padding:32px 0 4px}
.lead h1.h1s{font-size:18px;margin:0}
.doc{font-size:13.5px;padding-bottom:20px}
.doc h2{font-size:14.5px;margin:24px 0 6px}
.doc p{margin:0 0 11px;color:#444}
.c-tbl{border-collapse:collapse;font-size:13.5px}
.c-tbl th,.c-tbl td{border-top:1px solid var(--line);padding:7px 16px 7px 0;text-align:left}
.c-tbl th{color:var(--sub);font-weight:400}

footer.site{margin-top:60px;border-top:1px solid var(--line);padding:22px 0 50px;color:var(--sub);font-size:11.5px}
.ft-top{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:10px}
.ft-top a:hover{color:var(--ink)}
.ft-note{margin:0 0 10px}
.ft-c{font-size:11px}

.policy{font-size:12px;color:var(--sub);text-align:center;margin:-8px 0 24px}
.srclist{margin:0 0 11px;padding-left:1.2em;font-size:13px}
.srclist li{margin:2px 0}
.srclist a{color:#2f6fd0;text-decoration:underline}


/* フッターの申し込みボタン */
.cta-wrap{max-width:var(--max);margin:0 auto 26px;padding:0 16px;text-align:center}
.cta-btn{display:inline-block;background:#d81f26;color:#fff;font-weight:800;font-size:16px;
  line-height:1.4;padding:17px 40px;border-radius:6px;box-shadow:0 3px 0 #9c151a;
  letter-spacing:.02em;max-width:100%}
.cta-btn:hover{background:#c11a21}
.cta-btn:active{transform:translateY(2px);box-shadow:0 1px 0 #9c151a}
.cta-note{font-size:11.5px;color:var(--sub);margin:12px 0 0}
@media(max-width:600px){.cta-btn{display:block;font-size:14.5px;padding:15px 16px}}

/* 商品個別ページ */
.item-page{padding-bottom:10px}
.crumb{font-size:12px;color:var(--sub);margin:20px 0 16px}
.crumb a{color:var(--sub);text-decoration:underline}
.i-main{display:grid;grid-template-columns:400px 1fr;gap:34px;align-items:start}
@media(max-width:760px){.i-main{grid-template-columns:1fr;gap:20px}}
.i-img{background:#f4f4f4}
.i-img img{width:100%;height:auto}
.i-body h1{font-size:19px;line-height:1.6;margin:0 0 14px;font-weight:800}
.i-big{font-size:27px;font-weight:800;margin:0 0 16px}
.i-big span{font-size:12px;font-weight:400;color:var(--sub);margin-left:9px}
.i-body .c-tbl{width:100%;margin:0 0 12px}
.i-body .c-tbl th{width:46%}
.i-market{font-size:12px;color:var(--sub);margin:0 0 12px}
.i-note{font-size:13.5px;color:#444;margin:0 0 20px}
.i-body .cta-wrap{padding:0;margin:0 0 16px;text-align:left}
.i-body .cta-btn{display:block}
.i-body .cta-note{text-align:center}
.i-src{font-size:12.5px;margin:0}
.i-src a{color:#2f6fd0;text-decoration:underline}

/* 売り切れ表示 */
.i-tag-sold{color:#d81f26;font-weight:700}
.item .ph{position:relative}

/* 申し込み方法ページ */
.steps{list-style:none;margin:0 0 22px;padding:0}
.steps li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.st-n{flex:0 0 26px;height:26px;border-radius:50%;background:#d81f26;color:#fff;
  font-weight:800;font-size:13px;display:grid;place-items:center;margin-top:3px}
.st-t{font-weight:700;margin:0 0 3px;font-size:14.5px}
.st-d{margin:0;color:#555;font-size:13.5px}
.c-tbl.wide{width:100%;margin:0 0 22px}
.c-tbl.wide th{width:34%}
.bullets{margin:0 0 22px;padding-left:1.3em;font-size:13.5px;color:#444}
.bullets li{margin:5px 0}
.doc .q{font-weight:700;margin:18px 0 4px;font-size:14px}
.doc .cta-wrap{padding:0;margin:0 0 26px}

/* 関連商品 */
.rel{margin-top:50px;padding-top:6px;border-top:1px solid var(--line)}
.rel .ttl{margin:24px 0 18px}
