/* ============================================================
   阿部農園 ── サブページ共通スタイル
   トップページ（index.html）と同じデザイントークンを使用。
   各サブページ（送料・配送／特定商取引法／プライバシーポリシー）が読み込む。
   ============================================================ */

:root{
  --navy:#1c2c4d;
  --navy-deep:#131e35;
  --navy-darker:#0e1628;
  --gold:#d4af5f;
  --gold-soft:#e3c787;
  --gold-deep:#b8923f;
  --cream:#f6f4ef;
  --cream-deep:#efeae0;
  --white:#ffffff;
  --ink:#26313f;
  --ink-soft:#5a6472;
  --line:rgba(28,44,77,.12);

  --serif:'Noto Serif JP', serif;
  --gothic:'Noto Sans JP', sans-serif;
  --latin:'Marcellus', 'Noto Serif JP', serif;

  --maxw:1160px;
  --gutter:clamp(20px,5vw,64px);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background:var(--navy-deep);overflow-y:scroll;scrollbar-gutter:stable;}
body{font-family:var(--gothic);color:var(--ink);background:var(--cream);line-height:1.85;font-size:16px;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

.latin{font-family:var(--latin);font-weight:500;letter-spacing:.22em;text-transform:uppercase;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.5;letter-spacing:.04em;}
.wrap{max-width:var(--maxw);margin:0 auto;}
.jp-wrap{word-break:keep-all;overflow-wrap:break-word;line-break:strict;}
@media(max-width:640px){.dbr{display:none;}}

.eyebrow{
  font-family:var(--latin);font-size:.82rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold-soft);display:inline-flex;align-items:center;gap:.85em;font-weight:600;white-space:nowrap;
}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7;}

/* ---- buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.7em;
  font-family:var(--gothic);font-weight:500;font-size:.92rem;letter-spacing:.16em;
  padding:1.05em 2.4em;border-radius:2px;cursor:pointer;border:1px solid transparent;
  transition:all .4s cubic-bezier(.2,.7,.3,1);white-space:nowrap;
}
.btn .arr{font-family:var(--latin);font-size:1.1em;transition:transform .4s ease;}
.btn:hover .arr{transform:translateX(5px);}
.btn-gold{background:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:var(--gold-soft);box-shadow:0 12px 30px -12px rgba(212,175,95,.6);}
.btn-outline-gold{border-color:rgba(212,175,95,.5);color:var(--gold-soft);}
.btn-outline-gold:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);}
.btn-outline-navy{border-color:var(--navy);color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:var(--cream);}

/* ---- header (solid navy on sub-pages) ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:0 var(--gutter);
  background:rgba(19,30,53,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(212,175,95,.18);}
.hd-inner{max-width:var(--maxw);margin:0 auto;height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{display:flex;align-items:center;line-height:1;}
.logo-img{height:54px;width:auto;}
.hd-nav{display:flex;gap:2.2em;font-size:.86rem;letter-spacing:.12em;font-weight:400;}
.hd-nav a{color:rgba(246,244,239,.82);transition:color .35s ease;position:relative;padding:.3em 0;white-space:nowrap;}
.hd-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .35s ease;}
.hd-nav a:hover,.hd-nav a.current{color:var(--cream);}
.hd-nav a:hover::after,.hd-nav a.current::after{width:100%;}
.hd-cta{padding:.7em 1.5em;font-size:.8rem;border-color:rgba(212,175,95,.5);color:var(--gold-soft);}
.hd-cta:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);}
@media(max-width:780px){.hd-nav{display:none;}}
@media(max-width:560px){
  .hd-inner{height:64px;}.logo-img{height:44px;}
  .hd-cta{padding:.6em 1.05em;font-size:.72rem;letter-spacing:.08em;}
}

/* ---- page hero band ---- */
.page-hero{
  position:relative;background:var(--navy-deep);color:var(--cream);
  padding:calc(78px + clamp(56px,9vw,104px)) var(--gutter) clamp(56px,9vw,104px);
  overflow:hidden;
}
.page-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 140% at 78% -10%,rgba(212,175,95,.16),transparent 56%);pointer-events:none;}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(212,175,95,.32);}
.page-hero .wrap{position:relative;}
.page-hero .eyebrow{margin-bottom:1.5rem;}
.page-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:500;letter-spacing:.07em;line-height:1.4;}
.page-lead{margin-top:1.4rem;max-width:40em;font-weight:300;line-height:2;letter-spacing:.04em;color:rgba(246,244,239,.72);}

/* ---- content shell ---- */
.page-body{padding:clamp(56px,8vw,104px) var(--gutter) clamp(72px,10vw,128px);}
.measure{max-width:880px;margin:0 auto;}

.lede{font-size:1.06rem;line-height:2.1;letter-spacing:.03em;color:var(--ink);font-weight:300;margin-bottom:clamp(40px,5vw,64px);}

/* section block */
.block{padding-top:clamp(34px,4vw,52px);}
.block + .block{margin-top:clamp(8px,1.4vw,18px);border-top:1px solid var(--line);}
.block-no{font-family:var(--latin);font-size:.74rem;letter-spacing:.28em;color:var(--gold-deep);display:block;margin-bottom:.9rem;}
.block-h{font-size:clamp(1.18rem,2.5vw,1.5rem);font-weight:600;color:var(--navy);letter-spacing:.05em;margin-bottom:1.1rem;line-height:1.6;}
.block p{font-weight:300;line-height:2.05;letter-spacing:.03em;color:var(--ink);margin-bottom:1.1rem;}
.block p:last-child{margin-bottom:0;}
.block a.inline{color:var(--gold-deep);border-bottom:1px solid rgba(184,146,63,.4);transition:color .3s,border-color .3s;}
.block a.inline:hover{color:var(--navy);border-color:var(--navy);}
.block ul{list-style:none;margin:0 0 1.1rem;padding:0;}
.block ul li{position:relative;padding-left:1.4em;font-weight:300;line-height:2;letter-spacing:.03em;color:var(--ink);}
.block ul li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;border-radius:50%;background:var(--gold);}

.note{font-size:.82rem;line-height:1.9;letter-spacing:.03em;color:var(--ink-soft);font-weight:300;}

/* definition list (特商法 / 表形式) */
.deflist{display:grid;grid-template-columns:230px 1fr;border-top:1px solid var(--line);}
.deflist dt{padding:1.15em 1.4em 1.15em 0;border-bottom:1px solid var(--line);
  font-family:var(--serif);font-weight:600;font-size:.94rem;color:var(--navy);letter-spacing:.04em;line-height:1.7;}
.deflist dd{padding:1.15em 0 1.15em 1.4em;border-bottom:1px solid var(--line);border-left:1px solid var(--line);
  font-weight:300;line-height:1.95;letter-spacing:.03em;color:var(--ink);}
.deflist dd .ph-line{color:var(--ink-soft);font-style:normal;}
.deflist .todo{display:inline-block;font-size:.7rem;letter-spacing:.12em;color:var(--gold-deep);
  background:rgba(212,175,95,.12);border:1px solid rgba(212,175,95,.4);border-radius:2px;padding:.2em .7em;margin-left:.2em;}
@media(max-width:620px){
  .deflist{grid-template-columns:1fr;}
  .deflist dt{padding:1.1em 0 .3em;border-bottom:none;}
  .deflist dd{padding:0 0 1.1em;border-left:none;}
}

/* ---- 県別 送料シミュレーター ---- */
.ship-sim{margin-bottom:clamp(40px,5vw,64px);background:var(--white);border:1px solid var(--line);
  border-radius:6px;padding:clamp(26px,4vw,46px);box-shadow:0 30px 70px -46px rgba(28,44,77,.4);}
.sim-head .eyebrow{margin-bottom:1.1rem;}
.sim-title{font-size:clamp(1.3rem,2.8vw,1.85rem);font-weight:600;color:var(--navy);letter-spacing:.05em;line-height:1.55;}
.sim-lead{margin-top:.9rem;font-weight:300;line-height:1.95;letter-spacing:.03em;color:var(--ink);font-size:.94rem;max-width:46em;}
.sim-field{margin-top:clamp(22px,3vw,32px);}
.sim-label{display:block;font-size:.74rem;letter-spacing:.18em;color:var(--gold-deep);font-weight:600;margin-bottom:.7rem;}
.sim-select-wrap{position:relative;max-width:340px;}
.sim-select{
  width:100%;appearance:none;-webkit-appearance:none;
  font-family:var(--serif);font-size:1.06rem;color:var(--navy);letter-spacing:.04em;
  background:var(--cream);border:1px solid var(--line);border-radius:3px;
  padding:.95em 2.6em .95em 1.1em;cursor:pointer;line-height:1.4;
  transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
.sim-select:hover{border-color:rgba(212,175,95,.6);}
.sim-select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,95,.18);background:var(--white);}
.sim-caret{position:absolute;right:1.1em;top:50%;transform:translateY(-50%);color:var(--gold-deep);font-size:.8rem;pointer-events:none;}
.sim-region{margin-top:1.1rem;font-size:.92rem;line-height:1.8;letter-spacing:.03em;color:var(--ink);font-weight:300;}
.sim-region .rg-pin{font-family:var(--serif);font-weight:600;color:var(--navy);}
.sim-region strong{color:var(--gold-deep);font-weight:600;}

.sim-result{margin-top:clamp(22px,3vw,30px);}
.sim-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:clamp(12px,1.8vw,18px);}
.sim-card{border:1px solid var(--line);border-radius:5px;padding:1.2em 1.25em 1.15em;background:var(--cream);
  display:flex;flex-direction:column;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;}
.sim-card:hover{border-color:rgba(212,175,95,.55);box-shadow:0 20px 40px -28px rgba(28,44,77,.4);transform:translateY(-3px);}
.sc-top{display:flex;flex-direction:column;gap:.2em;margin-bottom:.9em;padding-bottom:.85em;border-bottom:1px solid var(--line);}
.sc-name{font-family:var(--serif);font-size:1.04rem;font-weight:600;color:var(--navy);letter-spacing:.05em;line-height:1.4;}
.sc-spec{font-size:.74rem;letter-spacing:.08em;color:var(--ink-soft);}
.sc-rows{display:flex;flex-direction:column;gap:.5em;margin-bottom:.95em;}
.sc-rows > div{display:flex;justify-content:space-between;align-items:baseline;gap:1em;}
.sc-rows dt{font-size:.8rem;font-weight:300;color:var(--ink-soft);letter-spacing:.02em;}
.sc-rows dd{font-family:var(--latin);font-size:.94rem;color:var(--ink);letter-spacing:.02em;}
.sc-ship dd{color:var(--gold-deep);}
.sc-total{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:1em;
  padding-top:.85em;border-top:1px solid var(--line);}
.sc-total span{font-size:.78rem;letter-spacing:.06em;color:var(--navy);font-weight:500;}
.sc-total strong{font-family:var(--latin);font-size:1.18rem;font-weight:400;color:var(--navy);letter-spacing:.02em;}
.sim-note{margin-top:1.3rem;font-size:.76rem;line-height:1.85;letter-spacing:.02em;color:var(--ink-soft);font-weight:300;}
.sim-empty{margin-top:clamp(22px,3vw,30px);padding:1.4em;text-align:center;
  border:1px dashed var(--line);border-radius:5px;background:var(--cream);
  font-size:.86rem;letter-spacing:.04em;color:var(--ink-soft);font-weight:300;}
@media(max-width:560px){
  .sim-select-wrap{max-width:none;}
  .sim-cards{grid-template-columns:1fr;}
}

/* ---- shipping table ---- */
.ship-intro{display:flex;flex-wrap:wrap;gap:clamp(20px,4vw,56px);margin-bottom:clamp(40px,5vw,64px);}
.ship-intro .col{flex:1 1 240px;}
.ship-intro .col h3{font-size:1.02rem;font-weight:600;color:var(--navy);letter-spacing:.05em;margin-bottom:.7rem;
  display:flex;align-items:center;gap:.6em;}
.ship-intro .col h3 .latin{font-size:.68rem;letter-spacing:.2em;color:var(--gold-deep);}
.ship-intro .col p{font-weight:300;line-height:1.95;letter-spacing:.03em;color:var(--ink);font-size:.94rem;}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:3px;background:var(--white);
  -webkit-overflow-scrolling:touch;}
.ship-table{border-collapse:collapse;width:100%;min-width:680px;font-size:.86rem;}
.ship-table caption{text-align:left;padding:1em 1.2em;font-size:.78rem;letter-spacing:.1em;color:var(--ink-soft);
  background:var(--cream-deep);border-bottom:1px solid var(--line);font-weight:400;}
.ship-table th,.ship-table td{padding:.85em 1em;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap;}
.ship-table thead th{background:var(--navy);color:var(--cream);font-family:var(--serif);font-weight:500;
  letter-spacing:.06em;font-size:.82rem;border-bottom:none;position:sticky;top:0;}
.ship-table tbody th{background:var(--cream-deep);color:var(--navy);font-family:var(--serif);font-weight:600;text-align:left;}
.ship-table tbody th small{display:block;font-family:var(--gothic);font-weight:300;font-size:.72rem;color:var(--ink-soft);letter-spacing:.02em;margin-top:.2em;}
.ship-table tbody tr:hover td,.ship-table tbody tr:hover th{background:rgba(212,175,95,.08);}
.ship-table td .yen{font-family:var(--latin);letter-spacing:.02em;color:var(--ink);font-size:.92rem;}
.ship-table .reg{font-size:.8rem;}
.ship-table .reg small{display:block;font-weight:300;font-size:.68rem;color:rgba(246,244,239,.66);letter-spacing:.02em;margin-top:.25em;line-height:1.5;}

.callout{margin-top:clamp(36px,5vw,56px);background:var(--navy-deep);color:var(--cream);
  border-radius:4px;padding:clamp(28px,4vw,44px);display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:24px;}
.callout .ct{max-width:38em;}
.callout h3{color:var(--cream);font-size:1.18rem;font-weight:500;letter-spacing:.05em;margin-bottom:.6rem;}
.callout p{font-weight:300;line-height:1.95;letter-spacing:.03em;color:rgba(246,244,239,.72);font-size:.92rem;}
.callout .acts{display:flex;gap:12px;flex-wrap:wrap;}
.btn-line{background:#06c755;color:#fff;border-color:#06c755;}
.btn-line:hover{background:#05b34c;border-color:#05b34c;color:#fff;box-shadow:0 12px 28px -14px rgba(6,199,85,.8);}

.updated{margin-top:clamp(48px,6vw,72px);padding-top:1.6rem;border-top:1px solid var(--line);
  font-size:.78rem;letter-spacing:.06em;color:var(--ink-soft);font-weight:300;text-align:right;}

/* ---- footer ---- */
.footer{background:var(--navy-darker);color:rgba(246,244,239,.62);padding:clamp(60px,8vw,96px) var(--gutter) 40px;}
.footer .wrap{max-width:var(--maxw);}
.foot-logo{display:block;width:clamp(208px,23vw,272px);max-width:100%;height:auto;margin:0 0 1.6rem 0;}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-start;gap:clamp(40px,6vw,72px);flex-wrap:wrap;padding-bottom:clamp(40px,5vw,60px);border-bottom:1px solid rgba(212,175,95,.16);}
.foot-brand{max-width:338px;}
.foot-addr{font-size:.84rem;line-height:2;letter-spacing:.04em;color:rgba(246,244,239,.55);}
.foot-nav{display:flex;gap:clamp(44px,6vw,84px);}
.foot-col{display:flex;flex-direction:column;gap:.95em;}
.foot-h{font-size:.66rem;letter-spacing:.3em;color:var(--gold-soft);margin-bottom:.4em;font-family:var(--latin);}
.foot-col a{font-size:.88rem;letter-spacing:.05em;color:rgba(246,244,239,.7);transition:color .3s ease,padding .3s ease;}
.foot-col a:hover,.foot-col a.current{color:var(--gold-soft);padding-left:4px;}
.foot-base{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;font-size:.74rem;letter-spacing:.08em;color:rgba(246,244,239,.4);flex-wrap:wrap;}
.foot-grain{color:var(--gold-soft);opacity:.7;font-size:.78rem;}
@media(max-width:760px){
  .foot-grid{gap:36px;}
  .foot-brand{flex:0 0 100%;max-width:none;}
}
@media(max-width:600px){
  .foot-grid{justify-content:center;}
  .foot-brand{text-align:center;}
  .foot-logo{width:min(190px,48vw);margin:0 auto 1.6rem;}
  .foot-nav{width:100%;justify-content:center;text-align:center;}
  .foot-col{align-items:center;}
  .foot-col a:hover,.foot-col a.current{padding-left:0;}
  .foot-base{flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;}
}

/* ---- entrance ---- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.16,.84,.28,1);}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}
html:not(.js) .reveal{opacity:1;transform:none;}
