@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');
:root{
  --ink:#1b1714;--muted:#6f685c;--line:#e7e1d3;--bg:#fff;
  --gold:#B89150;--gold-d:#8f6f37;--gold-soft:#D9C083;--gold-pale:#F7F0DE;
  --black:#1c1a17;--black-2:#2a2622;
  --osaka:#0a7d3c;--osaka-d:#066030;--line-green:#06c755;
  --aff:#d35400;--aff-d:#a64200;
  --brand:#1c1a17;--brand-d:#0f0e0c;
  --head:"Zen Maru Gothic","Noto Sans JP",sans-serif
}
*{box-sizing:border-box}
body{margin:0;font-family:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fffdf6;line-height:1.8}
.wrap{max-width:720px;margin:0 auto;padding:20px 16px 56px;background:var(--bg)}
/* ===== 企業サイト共通 ===== */
.site-header{background:#fffdf6;color:var(--ink);border-bottom:3px solid var(--gold)}
.site-header .bar{max-width:880px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;text-decoration:none;color:var(--ink)}
.brand .logo{height:42px;width:auto;display:block}
.brand small{font-weight:400;font-size:.72rem;color:var(--muted)}
.site-header .tel{color:var(--ink);text-decoration:none;font-weight:700;font-size:1.15rem;font-family:var(--head)}
.gnav{background:var(--black)}
.gnav ul{max-width:880px;margin:0 auto;padding:0 8px;display:flex;flex-wrap:wrap;list-style:none;gap:0}
.gnav a{display:block;color:#f3ead6;text-decoration:none;padding:10px 12px;font-size:.9rem}
.gnav a:hover,.gnav a.on{background:var(--gold);color:var(--black)}
.cwrap{max-width:880px;margin:0 auto;padding:22px 16px 56px}
.hero{background:linear-gradient(120deg,#D9C083,#B89150);color:var(--ink);border-radius:16px;padding:30px 24px;margin:6px 0 22px}
.hero h1{color:var(--ink);margin:.1em 0 .4em;font-size:1.65rem;line-height:1.45;font-family:var(--head)}
.hero p{margin:0 0 16px;color:#3f382c}
.hero .btn{display:inline-block;width:auto;background:var(--black);color:#F7EAC8;padding:13px 24px;font-family:var(--head)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff;text-decoration:none;color:var(--ink)}
.card h3{margin:.1em 0 .3em;font-size:1.05rem;font-family:var(--head)}
.card p{margin:0;font-size:.88rem;color:var(--muted)}
.card.feat{border:1px solid var(--gold-d);background:var(--gold-pale)}
.card.feat h3{color:var(--osaka-d)}
.card .ci{width:26px;height:26px;stroke:var(--osaka);fill:none;stroke-width:2;margin-bottom:4px}
@media(max-width:560px){.cards{grid-template-columns:1fr}.hero h1{font-size:1.4rem}}
.site-footer{background:var(--black);color:#d8cfbe}
.site-footer .inner{max-width:880px;margin:0 auto;padding:22px 16px;font-size:.85rem}
.site-footer a{color:var(--gold-soft)}
.site-footer .fnav2{margin:0 0 10px;display:flex;flex-wrap:wrap;gap:10px}
.pr{font-size:12px;color:var(--muted);margin:0 0 8px}
h1{font-size:1.5rem;line-height:1.45;margin:.2em 0 .5em;font-family:var(--head)}
h2{font-size:1.2rem;margin:1.6em 0 .5em;border-left:5px solid var(--gold);padding-left:.5em;font-family:var(--head)}
h3{font-family:var(--head)}
.lead{background:var(--gold-pale);border:1px solid #e7d3a0;border-radius:12px;padding:14px 16px}
.router{margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffdf6}
.router-h{border:0;padding:0;margin:0 0 12px;font-size:1.1rem;font-family:var(--head)}
.field{margin:0 0 12px}
.field label{display:block;font-weight:700;margin-bottom:6px;font-size:.95rem}
.field select,#pref{width:100%;padding:12px;font-size:1rem;border:1px solid #d6cdb6;border-radius:8px;background:#fff}
.consent{font-size:.8rem;color:var(--muted);margin:.6em 0 0;line-height:1.6}
.help{font-size:.85rem;color:var(--muted);margin:.5em 0 0}
.cta-block{margin:18px 0;padding:18px;border-radius:12px}
.cta-block.osaka{background:#eafaf0;border:1px solid #b7e6c8}
.cta-block.affiliate{background:#fdf1e7;border:1px solid #f3cfa8}
.cta-block.soudan{background:var(--gold-pale);border:1px solid #e7d3a0}
.cta-block h2{border:0;padding:0;margin-top:0}
.placeholder{color:var(--muted);text-align:center;margin:0}
.cta{margin:12px 0}
.btn{display:block;text-align:center;padding:15px;border-radius:10px;font-weight:700;text-decoration:none;color:#fff;font-family:var(--head)}
.btn-tel{background:var(--osaka)}.btn-tel:active{background:var(--osaka-d)}
.btn-line{background:var(--line-green)}
.btn-aff{background:var(--aff)}.btn-aff:active{background:var(--aff-d)}
.btn-osaka{background:var(--osaka)}.btn-osaka:active{background:var(--osaka-d)}
.check{margin:.6em 0;padding-left:1.2em}
.check li{margin:.3em 0}
.legal-note{font-size:.85rem;color:var(--muted);background:#fffdf6;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.fnav{font-size:.85rem;margin:.6em 0}
.fnav a{color:var(--osaka-d)}
.note{font-size:.82rem;color:var(--muted);margin:.4em 0 0}
table{width:100%;border-collapse:collapse;margin:.6em 0}
th,td{border:1px solid var(--line);padding:9px 10px;text-align:left;font-size:.95rem}
th{background:var(--gold-pale)}
details{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;background:#fff}
summary{cursor:pointer;font-weight:600}
footer{margin-top:36px;border-top:1px solid var(--line);padding-top:16px}
.eeat{font-size:.9rem;color:var(--muted)}
small{font-size:.78rem;color:var(--muted)}
/* ===== 離脱率対策：信頼バー・手順・追従CTA・ヒーロー図 ===== */
.trustbar{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--gold-pale);border:1px solid var(--gold-d);color:#6e5226;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700;font-family:var(--head)}
.badge svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.flow h2{margin-bottom:10px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.step{position:relative;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 6px 10px}
.step .ic{display:block;width:30px;height:30px;margin:2px auto 6px;stroke:var(--osaka);fill:none;stroke-width:2}
.step b{display:block;font-size:.82rem;font-family:var(--head)}
.step small{display:block;font-size:.68rem;color:var(--muted);margin-top:2px}
.step em{position:absolute;top:5px;left:8px;font-style:normal;font-size:.72rem;font-weight:700;color:var(--gold-d)}
@media(max-width:560px){.steps{grid-template-columns:repeat(2,1fr)}}
.mobilecta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:8px;padding:8px 10px;background:rgba(255,253,246,.97);border-top:2px solid var(--gold)}
.mobilecta a{flex:1;text-align:center;padding:12px 6px;border-radius:10px;font-weight:700;text-decoration:none;color:#fff;font-size:.95rem;font-family:var(--head)}
.mobilecta .m-tel{background:var(--osaka)}.mobilecta .m-line{background:var(--line-green)}.mobilecta .m-aff{background:var(--aff)}
@media(max-width:768px){.mobilecta{display:flex}body{padding-bottom:70px}}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:16px;align-items:center}
.hero-art{width:100%;height:auto;display:block}
@media(max-width:640px){.hero-grid{grid-template-columns:1fr}.hero-art{max-width:260px;margin:4px auto 0}}
