/* お店のIT道具箱（webkoubou-pono.com/dougu/）2026-10-15 */
:root{
  --bg:#FBF8F3; --paper:#FFFFFF; --ink:#1F2A2E; --sub:#5B6770; --line:#E6E0D6;
  --main:#11645F; --main-d:#0B4A46; --main-l:#E3F1EF;
  --acc:#E8A33C; --acc-l:#FCF1DE; --warn:#B4472F; --warn-l:#FBE9E4;
  --r:14px; --shadow:0 2px 10px rgba(31,42,46,.06);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP",system-ui,sans-serif;font-size:17px;line-height:1.85;letter-spacing:.02em}
img{max-width:100%;height:auto;display:block}
a{color:var(--main)}
a:hover{color:var(--main-d)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px;margin:0 auto;padding:0 20px}
.num{font-family:"Outfit","Noto Sans JP",sans-serif;font-feature-settings:"tnum"}

/* PR表記（全ページ最上部） */
.pr{margin:0;background:#2B3438;color:#E9EEF0;font-size:12.5px;line-height:1.6;padding:7px 0;text-align:center}
.pr b{color:#fff;background:var(--acc);color:#2B2410;border-radius:4px;padding:0 6px;margin-right:6px;font-weight:700}
.pr a{color:#E9EEF0}

/* ヘッダー */
.hd{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hd__in{display:flex;align-items:center;justify-content:space-between;gap:12px;height:62px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:17px;letter-spacing:.04em}
.logo__ic{width:34px;height:34px;border-radius:9px;background:var(--main);display:grid;place-items:center;color:#fff}
.logo small{display:block;font-size:10.5px;color:var(--sub);font-weight:500;letter-spacing:.06em;line-height:1.2}
.nav{display:flex;gap:4px}
.nav a{font-size:14px;text-decoration:none;color:var(--ink);padding:8px 12px;border-radius:8px;font-weight:500}
.nav a:hover,.nav a.is-on{background:var(--main-l);color:var(--main-d)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;color:var(--ink)}
@media (max-width:760px){
  .nav{display:none;position:absolute;left:0;right:0;top:62px;background:var(--paper);flex-direction:column;padding:8px 12px 14px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav.is-open{display:flex}
  .nav a{padding:12px;font-size:16px}
  .menu-btn{display:block}
}

/* パンくず */
.crumb{font-size:12.5px;color:var(--sub);margin:18px 0 0}
.crumb a{color:var(--sub)}
.crumb span{margin:0 6px}

/* ヒーロー（トップ） */
.hero{padding:44px 0 36px}
.hero__label{display:inline-block;font-size:13px;font-weight:700;color:var(--main-d);background:var(--main-l);border-radius:99px;padding:3px 12px;margin:0 0 14px}
.hero h1{font-size:clamp(27px,5.6vw,42px);line-height:1.45;margin:0 0 14px;letter-spacing:.03em}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--acc-l) 62%)}
.hero p{color:var(--sub);margin:0;max-width:640px}

/* 道具カード */
.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:8px 0 0}
@media (max-width:860px){.tools{grid-template-columns:1fr}}
.tool{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px 20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.tool:hover{transform:translateY(-2px);border-color:var(--main);color:var(--ink)}
.tool__ic{width:46px;height:46px;border-radius:12px;background:var(--main-l);color:var(--main);display:grid;place-items:center;margin:0 0 12px}
.tool__tag{font-size:12px;font-weight:700;color:var(--acc);letter-spacing:.06em;margin:0}
.tool h3{font-size:19px;margin:2px 0 6px;line-height:1.5}
.tool p{font-size:15px;color:var(--sub);margin:0 0 14px;line-height:1.75}
.tool__go{margin-top:auto;font-size:14.5px;font-weight:700;color:var(--main)}

/* セクション */
.sec{padding:44px 0}
.sec--white{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec h2{font-size:clamp(22px,4.4vw,28px);line-height:1.5;margin:0 0 8px}
.sec__lead{color:var(--sub);margin:0 0 22px}

/* 記事 */
.art{padding-top:8px;padding-bottom:40px}
.art h1{font-size:clamp(25px,5.2vw,34px);line-height:1.5;margin:14px 0 10px}
.art__meta{font-size:13px;color:var(--sub);margin:0 0 22px;display:flex;flex-wrap:wrap;gap:4px 14px}
.art h2{font-size:clamp(21px,4.4vw,25px);line-height:1.5;margin:44px 0 12px;padding:0 0 8px;border-bottom:2px solid var(--main)}
.art h3{font-size:19px;margin:28px 0 8px;line-height:1.55}
.art p{margin:0 0 16px}
.art ul,.art ol{padding-left:1.3em;margin:0 0 18px}
.art li{margin:0 0 6px}
.lead-box{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--main);border-radius:10px;padding:16px 18px;margin:0 0 24px}
.lead-box p:last-child{margin:0}
.note{font-size:13.5px;color:var(--sub);line-height:1.75}
.point{background:var(--acc-l);border-radius:12px;padding:16px 18px;margin:20px 0}
.point b:first-child{display:block;color:#8A5A0F;margin:0 0 4px}
.warn{background:var(--warn-l);border-radius:12px;padding:16px 18px;margin:20px 0}
.warn b:first-child{display:block;color:var(--warn);margin:0 0 4px}
.toc{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:0 0 26px;font-size:15px}
.toc p{font-weight:700;margin:0 0 6px}
.toc ol{margin:0;padding-left:1.3em}

/* 表 */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.tbl table{border-collapse:collapse;width:100%;min-width:620px;font-size:14.5px;line-height:1.6}
.tbl th,.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl thead th{background:#F4F1EB;font-size:13px;white-space:nowrap}
.tbl tbody th{white-space:nowrap;font-weight:700}
.tbl tr:last-child td,.tbl tr:last-child th{border-bottom:0}
.src{font-size:12.5px;color:var(--sub);margin:0 0 22px;line-height:1.7}

/* ボタン */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--main);color:#fff;text-decoration:none;font-weight:700;border-radius:12px;padding:14px 22px;font-size:16px;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--main-d);color:#fff}
.btn--acc{background:var(--acc);color:#2B2410}
.btn--acc:hover{background:#D38F27;color:#2B2410}
.btn--ghost{background:transparent;color:var(--main);border:2px solid var(--main)}
.btn--ghost:hover{background:var(--main-l);color:var(--main-d)}
.btn--block{display:flex;width:100%}

/* サービスカード（比較・診断の結果） */
.svc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 14px;box-shadow:var(--shadow)}
.svc__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.svc h3{margin:0;font-size:20px}
.svc__tag{font-size:12.5px;font-weight:700;color:var(--main-d);background:var(--main-l);border-radius:99px;padding:2px 10px}
.svc__for{color:var(--sub);font-size:15px;margin:6px 0 10px}
.svc dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
@media (max-width:560px){.svc dl{grid-template-columns:1fr;gap:6px}.svc dl div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.svc dt{flex:0 0 auto;white-space:nowrap}.svc dd{text-align:right;font-size:15px}}
.svc dl div{background:var(--bg);border-radius:10px;padding:8px 10px}
.svc dt{font-size:12px;color:var(--sub)}
.svc dd{margin:0;font-weight:700;font-size:15.5px}
.svc ul{margin:0 0 14px;padding-left:1.2em;font-size:15px}
.svc .btn{font-size:15px;padding:12px 18px}
.svc__ad{font-size:11.5px;color:var(--sub);margin:6px 0 0}

/* 計算ツール */
.calc{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin:0 0 26px}
.calc h2{border:0;margin:0 0 4px;padding:0;font-size:21px}
.field{margin:18px 0 0}
.field>label,.field>p{display:block;font-weight:700;font-size:15.5px;margin:0 0 8px}
.field small{font-weight:400;color:var(--sub);font-size:13px;margin-left:4px}
.yen{display:flex;align-items:center;gap:8px}
.yen input{width:100%;max-width:260px;font:inherit;font-size:22px;font-weight:700;padding:10px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.yen input:focus{outline:none;border-color:var(--main)}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.quick button,.chips button{font:inherit;font-size:14px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 14px;cursor:pointer;color:var(--ink)}
.quick button:hover,.chips button:hover{border-color:var(--main)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button.is-on{background:var(--main);border-color:var(--main);color:#fff}
.mix{display:grid;gap:12px}
.mix__row{display:grid;grid-template-columns:150px 1fr 56px;align-items:center;gap:10px;font-size:15px}
@media (max-width:520px){.mix__row{grid-template-columns:1fr 56px}.mix__row input{grid-column:1/-1;grid-row:2}}
.mix__row input[type=range]{width:100%;accent-color:var(--main)}
.mix__row output{text-align:right;font-weight:700}
.mix__sum{font-size:13.5px;color:var(--sub)}
.mix__sum.is-bad{color:var(--warn);font-weight:700}
.chk{display:flex;align-items:center;gap:10px;font-weight:500!important;font-size:15px!important;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--main)}
.res{margin:24px 0 0;display:grid;gap:10px}
.res__row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:var(--bg);border-radius:12px;padding:12px 14px;position:relative;overflow:hidden}
.res__row.is-top{background:var(--main-l);outline:2px solid var(--main)}
.res__name{font-weight:700;font-size:16px;position:relative}
.res__name small{display:block;font-weight:400;font-size:12.5px;color:var(--sub)}
.res__yen{text-align:right;position:relative}
.res__yen b{font-size:22px}
.res__yen small{display:block;font-size:12.5px;color:var(--sub)}
.res__bar{position:absolute;left:0;bottom:0;height:4px;background:var(--main);opacity:.35;border-radius:0 4px 4px 0;transition:width .3s}
.res__row.is-part{opacity:.62}
.res__row.is-part .res__yen b{font-size:17px}
.res__badge{white-space:nowrap;display:inline-block;font-size:11.5px;background:var(--main);color:#fff;border-radius:99px;padding:1px 8px;margin-left:6px;vertical-align:2px}

/* 診断 */
.quiz{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin:0 0 26px}
.quiz__step{font-size:13px;color:var(--sub);margin:0 0 4px}
.quiz__q{font-size:20px;font-weight:700;margin:0 0 14px;line-height:1.55}
.quiz__opts{display:grid;gap:10px}
.quiz__opts button{font:inherit;text-align:left;background:#fff;border:2px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;color:var(--ink);font-size:16px;line-height:1.55}
.quiz__opts button:hover{border-color:var(--main);background:var(--main-l)}
.quiz__opts button small{display:block;color:var(--sub);font-size:13px}
.quiz__back{margin:14px 0 0;background:none;border:0;color:var(--sub);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}
.quiz__bar{height:6px;background:var(--line);border-radius:99px;margin:0 0 18px;overflow:hidden}
.quiz__bar i{display:block;height:100%;background:var(--main);transition:width .25s}

/* 記事カード */
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:700px){.posts{grid-template-columns:1fr}}
.post{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;text-decoration:none;color:var(--ink)}
.post:hover{border-color:var(--main);color:var(--ink)}
.post__cat{font-size:12px;font-weight:700;color:var(--main)}
.post h3{font-size:17.5px;margin:2px 0 6px;line-height:1.55}
.post p{font-size:14.5px;color:var(--sub);margin:0;line-height:1.7}

/* 運営者ボックス */
.owner{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:34px 0 0}
.owner__ic{flex:0 0 52px;height:52px;border-radius:50%;background:var(--main);color:#fff;display:grid;place-items:center;font-weight:700}
.owner p{margin:0;font-size:14.5px;color:var(--sub);line-height:1.75}
.owner b{color:var(--ink);font-size:15.5px}

/* フッター */
.ft{background:#22302F;color:#C9D3D2;padding:34px 0 26px;margin-top:40px;font-size:14px}
.ft a{color:#E8EFEE}
.ft__links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px}
.ft p{margin:0 0 6px;line-height:1.75}
.ft small{color:#93A3A1}

.sp{display:none}
@media (max-width:600px){.sp{display:inline}.pc{display:none}}

@media (max-width:520px){.res__row{grid-template-columns:1fr}.res__yen{text-align:left}.res__yen small{display:inline;margin-left:8px}}
.a8px{position:absolute;width:1px;height:1px;border:0;opacity:0}
