/* ドクタータックル 宅配買取サイト 共通スタイル */
:root{
  --green:#00805A;
  --green-d:#00603F;
  --blue:#0080CB;
  --ink:#10231F;
  --paper:#F2F5F4;
  --orange:#F08A24;
  --line:#D3DEDA;
  --muted:#5C6B66;

  --disp:'Zen Kaku Gothic New',sans-serif;
  --body:'Noto Sans JP',sans-serif;
  --util:'Barlow Condensed',sans-serif;

  --wrap:1140px;
  --pad:clamp(20px,5vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
section{padding:clamp(56px,8vw,104px) 0}
section.tight{padding-top:0}

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--util);font-weight:600;font-size:14px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--green);margin:0 0 10px
}
h2{
  font-family:var(--disp);font-weight:900;line-height:1.35;
  font-size:clamp(24px,3.6vw,38px);margin:0 0 16px;letter-spacing:.01em
}
h3{font-family:var(--disp);font-weight:700;font-size:19px;margin:0 0 8px;line-height:1.5}
.lede{color:var(--muted);margin:0 0 40px;max-width:62ch}
.num{font-family:var(--util);font-weight:700;font-variant-numeric:tabular-nums}

/* ---------- signature: 仕舞寸法スケール ---------- */
.scale{position:relative;height:34px;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.scale i{
  position:absolute;left:var(--pad);right:var(--pad);top:16px;height:1px;background:var(--line);
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.16,1,.3,1)
}
.scale u{
  position:absolute;left:var(--pad);right:var(--pad);top:6px;height:11px;display:block;
  background-image:repeating-linear-gradient(to right,var(--line) 0 1px,transparent 1px 20px);
  background-position:left bottom;background-size:100% 6px;background-repeat:repeat-x;
  clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1)
}
.scale u::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:11px;
  background-image:repeating-linear-gradient(to right,var(--line) 0 1px,transparent 1px 100px)
}
.scale b{
  position:absolute;right:var(--pad);top:19px;font-family:var(--util);font-weight:600;
  font-size:12px;letter-spacing:.12em;color:var(--muted);opacity:0;transition:opacity .5s .5s
}
.scale.on i{transform:scaleX(1)}
.scale.on u{clip-path:inset(0 0 0 0)}
.scale.on b{opacity:1}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--disp);font-weight:700;font-size:16px;text-decoration:none;
  padding:17px 30px;border-radius:14px;border:2px solid transparent;transition:.2s
}
.btn-p{background:var(--orange);color:#fff;box-shadow:0 6px 0 #C56D14}
.btn-p:hover{transform:translateY(2px);box-shadow:0 4px 0 #C56D14}
.btn-s{background:#fff;color:var(--green);border-color:var(--green)}
.btn-s:hover{background:var(--green);color:#fff}
.btn-g{background:var(--green);color:#fff}
.btn-g:hover{background:var(--green-d)}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;background:rgba(242,245,244,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)
}
.hd{display:flex;align-items:center;gap:20px;height:86px}
.hd .logo{height:44px;width:auto;display:block}
.hd .logo-link{flex:none;display:flex;align-items:center;transition:opacity .2s}
.hd .logo-link:hover{opacity:.72}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.hd nav{display:flex;gap:20px;font-size:14px}
.hd nav a{text-decoration:none;color:var(--muted)}
.hd nav a:hover{color:var(--green)}
.hd .home{flex:none;white-space:nowrap;font-size:13px;text-decoration:none;color:var(--muted);
  border:1px solid var(--line);border-radius:999px;padding:8px 15px;transition:.2s;background:#fff}
.hd .home:hover{border-color:var(--green);color:var(--green)}
.hd .home::after{content:"↗";margin-left:6px;font-size:11px}
.hd .btn{padding:11px 18px;font-size:14px;border-radius:10px}
@media(max-width:1000px){.hd .home{display:none}}
@media(max-width:860px){.hd nav{display:none}}
@media(max-width:860px){.hd{height:72px}.hd .logo{height:36px}}
@media(max-width:520px){.hd{gap:12px;height:66px}.hd .logo{height:31px}}

/* 追従ヘッダーの下に見出しが隠れないようにする */
#items,#flow,#records,#faq,#shop,#form{scroll-margin-top:100px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(52px,7vw,96px) 0 clamp(40px,5vw,64px)}
.hero .bg{
  position:absolute;inset:0;background:url("fv-hero-wide.png") right center/cover no-repeat;
  z-index:0
}
.hero .wrap{position:relative;z-index:1}
.hero h1{
  font-family:var(--disp);font-weight:900;letter-spacing:.005em;
  font-size:clamp(34px,6.6vw,62px);line-height:1.22;margin:0 0 18px
}
.hero p.sub{max-width:30ch;color:var(--ink);margin:0 0 30px;font-weight:500}
.zeros{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none}
.zeros li{
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:8px 15px 8px 12px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:7px
}
.zeros .z{font-family:var(--util);font-weight:700;font-size:20px;color:var(--green);line-height:1}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.trust{font-size:13px;color:var(--muted);margin:0}
@media(max-width:820px){
  .hero .bg{background-image:url("fv-hero-portrait.png");background-position:center bottom}
  .hero{padding-bottom:clamp(220px,46vw,320px)}
}

/* ---------- reasons ---------- */
.reasons{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.reasons article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.reasons .k{font-family:var(--util);font-size:13px;font-weight:600;letter-spacing:.16em;color:var(--green);display:block;margin-bottom:12px}
.reasons p{margin:0;font-size:14.5px;color:var(--muted)}
@media(max-width:860px){.reasons{grid-template-columns:1fr}}

/* ---------- tackle tray ---------- */
.tray{
  display:grid;gap:12px;padding:14px;background:#E7EDEA;border:1px solid var(--line);border-radius:20px;
  grid-template-columns:repeat(4,1fr);
  grid-template-areas:"lure lure rod rod" "reel box wear acc"
}
.tray>div{
  background:#fff;border-radius:12px;padding:18px;display:flex;align-items:center;gap:14px;
  box-shadow:inset 0 0 0 1px #E2EAE7
}
.tray .lure{grid-area:lure}.tray .rod{grid-area:rod}.tray .reel{grid-area:reel}
.tray .box{grid-area:box}.tray .wear{grid-area:wear}.tray .acc{grid-area:acc}
.tray img{width:46px;height:46px;object-fit:contain;flex:none}
.tray b{font-family:var(--disp);font-weight:700;font-size:15px;display:block}
.tray span{font-size:12.5px;color:var(--muted);line-height:1.7}
.tray .reel,.tray .box,.tray .wear,.tray .acc{flex-direction:column;align-items:flex-start;text-align:left}
.note{margin:22px 0 0;font-size:14px;color:var(--muted)}
.rodrule{margin:24px 0 0;background:#fff;border:2px solid var(--green);border-radius:18px;padding:24px 26px}
.rodrule b{font-family:var(--disp);font-size:16px;display:block;margin-bottom:12px;color:var(--green)}
.rodrule ul{margin:0 0 20px;padding-left:1.2em}
.rodrule li{font-size:14.5px;margin-bottom:8px}
.rodrule .btn{padding:13px 24px;font-size:15px}
@media(max-width:820px){
  .tray{grid-template-columns:repeat(2,1fr);
    grid-template-areas:"lure lure" "rod rod" "reel box" "wear acc"}
}

/* ---------- my-danbaru ---------- */
.mydan{background:var(--ink);color:#fff;border-radius:24px;padding:clamp(28px,4vw,48px);overflow:hidden}
.mydan .top{display:flex;gap:32px;align-items:center;flex-wrap:wrap}
.stamp{position:relative;flex:none;width:172px;height:172px;display:grid;place-items:center}
.stamp img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.stamp em{
  position:relative;font-style:normal;font-family:var(--util);font-weight:700;color:var(--orange);
  font-size:44px;line-height:.95;text-align:center;letter-spacing:-.01em
}
.stamp em small{display:block;font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.04em}
.mydan h2{color:#fff;margin-bottom:10px}
.mydan .top p{margin:0;color:#B9CBC5;font-size:14.5px;max-width:46ch}
.mydan .top p.fine{font-size:12.5px;margin-top:10px;color:#8FA5A0}
.sources{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:36px 0 0;padding:0;list-style:none}
.sources li{background:rgba(255,255,255,.06);border-radius:14px;padding:18px}
.sources b{display:block;font-family:var(--disp);font-size:14.5px;margin-bottom:6px}
.sources span{font-size:12.5px;color:#B9CBC5;line-height:1.75}
.warnbox{margin:20px 0 0;padding:16px 18px;border-left:3px solid var(--orange);background:rgba(240,138,36,.09);border-radius:0 12px 12px 0;font-size:13.5px;color:#DCE7E4}
.packimg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.packimg figure{margin:0;background:rgba(255,255,255,.06);border-radius:14px;padding:18px;text-align:center}
.packimg img{margin:0 auto;max-height:150px;width:auto;filter:brightness(0) invert(1) opacity(.85)}
.packimg figcaption{font-family:var(--disp);font-weight:700;font-size:13px;margin-top:10px}
@media(max-width:860px){.sources{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.sources,.packimg{grid-template-columns:1fr}}

/* ---------- routes ---------- */
.routes{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;font-size:14.5px}
.routes th,.routes td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line)}
.routes thead th{background:#EDF3F1;font-family:var(--disp);font-size:14px}
.routes thead th:nth-child(2){color:var(--green)}
.routes tbody th{font-weight:500;color:var(--muted);width:38%}
.routes td{font-family:var(--disp);font-weight:700}
.routes tr:last-child th,.routes tr:last-child td{border-bottom:0}
.routes .hl{background:#F5FAF8}
.routes .free{color:var(--green)}
.routes .pay{color:#B4552B}
.tblwrap{overflow-x:auto}

/* ---------- flow ---------- */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0;margin:0;list-style:none;counter-reset:s}
.flow li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.flow img{width:56px;height:56px;object-fit:contain;margin-bottom:14px}
.flow .st{font-family:var(--util);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--green);display:block;margin-bottom:4px}
.flow p{margin:0;font-size:14px;color:var(--muted)}
@media(max-width:860px){.flow{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.flow{grid-template-columns:1fr}}

/* ---------- records ---------- */
.records{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rec{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.rec>img{aspect-ratio:6/5;object-fit:cover;width:100%}
.rec .band{background:var(--ink);color:#fff;font-family:var(--disp);font-weight:700;font-size:12.5px;text-align:center;padding:7px}
.rec .amt{padding:14px 16px 10px;text-align:center;border-bottom:1px solid var(--line)}
.rec .amt .n{font-family:var(--util);font-weight:700;font-size:34px;line-height:1;letter-spacing:-.01em}
.rec .amt .u{font-size:12px;color:var(--muted);margin-left:3px}
.rec .nm{padding:12px 16px 16px;font-size:13px;line-height:1.7}
.rec .nm span{display:block;color:var(--muted);font-size:12px}
@media(max-width:900px){.records{grid-template-columns:1fr 1fr}}

/* ---------- blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;display:block;transition:.2s}
.post:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(16,35,31,.08)}
.post img{aspect-ratio:4/3;object-fit:contain;background:#fff;width:100%;padding:10px}
.post .m{padding:14px 16px 18px;border-top:1px solid var(--line)}
.post .cat{font-family:var(--util);font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--green)}
.post .ti{font-family:var(--disp);font-weight:700;font-size:14.5px;line-height:1.6;margin:5px 0 6px}
.post .dt{font-family:var(--util);font-size:13px;color:var(--muted);letter-spacing:.04em}
@media(max-width:900px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.posts{grid-template-columns:1fr}}

/* ---------- instagram ---------- */
.insta-panel{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.insta-head{margin-bottom:16px}
.insta-head b{font-family:var(--disp);font-size:17px;display:block;margin-top:2px}
.insta-head span{font-size:13px;color:var(--muted)}
.insta-frame{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#EDF3F1}
.insta-frame iframe{display:block;width:100%;height:640px;border:0}
.insta-follow{margin-top:16px;text-align:center}
.btn-insta{background:var(--ink);color:#fff}
.btn-insta:hover{background:#000}
@media(max-width:640px){.insta-frame iframe{height:560px}}

/* ---------- buyer ---------- */
.buyer{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,4vw,52px);align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,40px)}
.buyer .ph{display:grid;grid-template-columns:1fr;gap:12px}
.buyer .ph img{border-radius:16px;width:100%;object-fit:cover}
.buyer blockquote{font-family:var(--disp);font-weight:700;font-size:clamp(17px,2.2vw,22px);line-height:1.6;margin:0 0 20px;color:var(--green)}
.buyer p{font-size:14.5px;color:var(--muted);margin:0 0 14px}
@media(max-width:860px){.buyer{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer;list-style:none;padding:20px 44px 20px 0;position:relative;
  font-family:var(--disp);font-weight:700;font-size:15.5px
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--green);border-bottom:2px solid var(--green);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq .a{padding:0 0 22px;font-size:14.5px;color:var(--muted);max-width:74ch}

/* ---------- shop ---------- */
.shop{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.shop img{border-radius:20px}
.shop dl{margin:18px 0 0;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:14.5px}
.shop dt{font-family:var(--util);font-weight:600;letter-spacing:.08em;color:var(--green);font-size:13px;padding-top:3px}
.shop dd{margin:0}
@media(max-width:860px){.shop{grid-template-columns:1fr}}

/* ---------- final ---------- */
.final{background:var(--green);color:#fff;text-align:center}
.final h2{color:#fff}
.final p{color:#CDE7DE;margin:0 auto 30px;max-width:52ch}
.final .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.final .btn-s{border-color:#fff;color:var(--green)}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#9FB4AF;font-size:13px;padding:52px 0 96px}
footer .cols{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between}
footer b{color:#fff;font-family:var(--disp);display:block;margin-bottom:8px}
footer ul{list-style:none;margin:0;padding:0}
footer a{color:#9FB4AF;text-decoration:none}
footer a:hover{color:#fff}
footer .legal{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}

/* ---------- sticky mobile cta ---------- */
.sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:8px;padding:10px;
  background:rgba(242,245,244,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line)
}
.sticky .btn{flex:1;padding:14px 8px;font-size:14px;box-shadow:none}
@media(max-width:820px){.sticky{display:flex}footer{padding-bottom:110px}}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .scale i{transform:scaleX(1)}.scale u{clip-path:inset(0)}.scale b{opacity:1}
}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}

/* ---------- 下層ページ用 ---------- */
.page{padding:clamp(40px,6vw,72px) 0}
.page h1{font-family:var(--disp);font-weight:900;font-size:clamp(26px,4vw,40px);
  line-height:1.35;margin:0 0 10px}
.page .crumb{font-size:13px;color:var(--muted);margin:0 0 26px}
.page .crumb a{color:var(--muted);text-decoration:none}
.page .crumb a:hover{color:var(--green)}
.page h2{font-size:clamp(19px,2.6vw,25px);margin:44px 0 14px;padding-bottom:8px;
  border-bottom:2px solid var(--green)}
.page h3{margin:26px 0 8px}
.page p,.page li{font-size:14.5px}
.page table{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14px;margin:14px 0}
.page th,.page td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
.page thead th{background:#EDF3F1;font-family:var(--disp)}
.page tr:last-child th,.page tr:last-child td{border-bottom:0}
.page .box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:20px 0}
.page .box.accent{border:2px solid var(--green)}
.page .box b{font-family:var(--disp);color:var(--green);display:block;margin-bottom:8px}
.page ol.legal{padding-left:1.4em}
.page ol.legal>li{margin-bottom:10px}
