/* biz.kenchiro.com 共通スタイル。配色はkenchiro.com(SWELL)実測値:
   main=#d09940 / bg=#1f2535 / link=#2196f3 (2026-08-17 けんちろさん指示で統一) */
:root{
  --navy:#1f2535;
  --navy-dark:#141927;
  --gold:#d09940;
  --gold-dark:#b8842f;
  --gold-ink:#1a1408;
  --amber:#b45309;
  --amber-bg:#fef3c7;
  --ink:#1f2937;
  --muted:#6b7280;
  --line:#e5e7eb;
  --bg:#ffffff;
  --bg-soft:#f5f7fa;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic Medium","Meiryo",sans-serif;
  color:var(--ink);line-height:1.9;background:var(--bg);
  font-feature-settings:"palt";
}
.wrap{max-width:960px;margin:0 auto;padding:0 20px;}
a{color:#2196f3;}
img{max-width:100%;height:auto;}

/* header */
header.site-header{position:sticky;top:0;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);z-index:10;}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;max-width:960px;margin:0 auto;}
.brand{font-weight:700;color:var(--navy);font-size:15px;letter-spacing:.02em;text-decoration:none;display:block;}
.brand small{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.05em;}
.gnav{display:flex;gap:18px;align-items:center;font-size:13.5px;}
.gnav a{color:var(--navy);text-decoration:none;font-weight:500;}
.gnav a:hover{color:var(--gold-dark);}
.btn{display:inline-block;background:var(--gold);color:var(--gold-ink);text-decoration:none;
  padding:10px 22px;border-radius:6px;font-weight:700;font-size:14px;transition:background .2s;}
.btn:hover{background:var(--gold-dark);}
.btn-lg{padding:16px 40px;font-size:17px;border-radius:8px;box-shadow:0 4px 14px rgba(208,153,64,.35);}

/* flyer banner (hidden by default) */
#flyer-banner{display:none;background:var(--amber-bg);border-bottom:1px solid #fcd34d;}
#flyer-banner .wrap{padding:14px 20px;text-align:center;font-size:14px;color:var(--amber);}
#flyer-banner strong{font-size:16px;}

/* hero(トップ) / page-hero(下層) */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;
  padding:72px 0 64px;text-align:center;}
.hero .tag{display:inline-block;border:1px solid rgba(255,255,255,.4);border-radius:999px;
  padding:4px 18px;font-size:13px;letter-spacing:.1em;margin-bottom:24px;}
.hero h1{font-size:34px;line-height:1.5;letter-spacing:.03em;margin-bottom:20px;}
.hero h1 .accent{color:#e9b96b;}
.hero p{font-size:16px;color:#d1d9e2;max-width:640px;margin:0 auto 32px;}
.hero .note{font-size:13px;color:#9fb0c0;margin-top:14px;}
.page-hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;
  padding:52px 0 44px;text-align:center;}
.page-hero .tag{display:inline-block;border:1px solid rgba(255,255,255,.4);border-radius:999px;
  padding:3px 16px;font-size:12px;letter-spacing:.1em;margin-bottom:18px;}
.page-hero h1{font-size:28px;line-height:1.55;letter-spacing:.03em;margin-bottom:14px;}
.page-hero h1 .accent{color:#e9b96b;}
.page-hero p{font-size:15px;color:#d1d9e2;max-width:640px;margin:0 auto;}

/* breadcrumb */
.breadcrumb{font-size:12px;color:var(--muted);padding:12px 0;}
.breadcrumb a{color:var(--muted);}

/* sections */
section{padding:64px 0;}
section.alt{background:var(--bg-soft);}
h2.sec{color:var(--navy);font-size:26px;text-align:center;letter-spacing:.05em;margin-bottom:8px;}
.h2-sub{text-align:center;color:var(--muted);font-size:13px;letter-spacing:.15em;margin-bottom:40px;}

/* 記事・下層ページ本文 */
.article{max-width:760px;margin:0 auto;padding:40px 20px 64px;}
.article h2{color:var(--navy);font-size:24px;line-height:1.5;letter-spacing:.03em;
  margin:56px 0 20px;padding-bottom:10px;border-bottom:3px solid var(--gold);}
.article h2:first-child{margin-top:0;}
.article h3{color:var(--navy);font-size:18px;margin:36px 0 12px;padding-left:12px;border-left:4px solid var(--gold);}
.article p{margin-bottom:18px;font-size:15.5px;}
.article ul,.article ol{margin:0 0 22px 24px;font-size:15.5px;}
.article li{margin-bottom:8px;}
.article figure{margin:26px 0;text-align:center;}
.article figure img{border-radius:8px;}
.article blockquote{background:var(--bg-soft);border-left:4px solid var(--gold);border-radius:6px;
  padding:16px 20px;margin:0 0 18px;font-size:14.5px;color:#374151;}
.article blockquote p{margin:0;}
.article .video-wrap{position:relative;padding-top:56.25%;margin:26px 0;}
.article .video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:8px;}

/* 価格の帯 */
.price-stripe{background:repeating-linear-gradient(-45deg,#faf6ee,#faf6ee 6px,#f4ecdc 6px,#f4ecdc 12px);
  border-radius:8px;text-align:center;padding:18px;margin:0 0 22px;font-size:26px;font-weight:700;color:var(--navy);}
.price-stripe small{display:block;font-size:12px;font-weight:500;color:var(--muted);}

/* 見出し付きカード(SWELLキャップボックス相当) */
.capcard{border:1px solid var(--line);border-radius:10px;margin:0 0 24px;overflow:hidden;background:#fff;}
.capcard .cap-ttl{background:var(--navy);color:#fff;font-weight:700;font-size:16.5px;padding:12px 18px;}
.capcard .cap-body{padding:20px 22px;}
.capcard .cap-body p{margin-bottom:14px;}
.capcard .cap-price{font-size:22px;font-weight:700;color:var(--navy);}
.capcard .cap-price small{font-size:12px;color:var(--muted);font-weight:500;}
.capcard .cap-meta{font-size:13.5px;color:var(--muted);}

/* プロフィールカード */
.profile-card{display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:24px;margin:26px 0;}
.profile-card img{width:140px;height:140px;object-fit:cover;border-radius:50%;flex-shrink:0;}
.profile-card h3{margin:0 0 6px;padding:0;border:0;color:var(--navy);font-size:18px;}
.profile-card .role{font-size:13px;color:var(--muted);margin-bottom:10px;}
.profile-card p{font-size:14px;margin:0;}

/* トップ用パーツ */
.worries{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:800px;margin:0 auto;}
.worries li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:14px 18px 14px 44px;font-size:14.5px;position:relative;}
.worries li::before{content:"✓";position:absolute;left:16px;color:var(--gold);font-weight:700;}
.worries-close{text-align:center;margin-top:28px;font-size:15px;}
.policies{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:800px;margin:0 auto;}
.policy{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;}
.policy h3{color:var(--navy);font-size:17px;margin-bottom:8px;}
.policy p{font-size:14px;color:var(--muted);}
.services{display:grid;gap:16px;max-width:800px;margin:0 auto;}
.service{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 28px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.service .body{flex:1;min-width:260px;}
.service h3{color:var(--navy);font-size:17px;margin-bottom:6px;}
.service h3 a{color:var(--navy);text-decoration:none;}
.service h3 a:hover{color:var(--gold-dark);}
.service .desc{font-size:13.5px;color:var(--muted);}
.service .more{font-size:13px;}
.service .price{text-align:right;white-space:nowrap;}
.service .price strong{color:var(--navy);font-size:20px;}
.service .price span{display:block;font-size:12px;color:var(--muted);}
.service.main{border:2px solid var(--gold);position:relative;}
.service.main::before{content:"メイン支援";position:absolute;top:-12px;left:20px;background:var(--gold);
  color:var(--gold-ink);font-size:12px;font-weight:700;padding:2px 12px;border-radius:999px;}
.services-note{max-width:800px;margin:20px auto 0;font-size:12.5px;color:var(--muted);}
.flow{max-width:680px;margin:0 auto;counter-reset:step;}
.flow li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:20px 24px 20px 72px;margin-bottom:14px;position:relative;font-size:15px;}
.flow li::before{counter-increment:step;content:counter(step);position:absolute;left:22px;top:50%;
  transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;
  font-weight:700;display:flex;align-items:center;justify-content:center;font-size:16px;}
.flow strong{color:var(--navy);}
.faq{max-width:720px;margin:0 auto;}
.faq dt{font-weight:700;color:var(--navy);padding:18px 0 6px;font-size:15.5px;}
.faq dt::before{content:"Q. ";color:var(--gold-dark);}
.faq dd{border-bottom:1px solid var(--line);padding:0 0 18px;font-size:14.5px;color:var(--ink);}
.faq dd::before{content:"A. ";color:var(--amber);font-weight:700;}
.profile{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:32px;}
.profile h3{color:var(--navy);font-size:18px;margin-bottom:12px;}
.profile p{font-size:14.5px;margin-bottom:12px;}
.profile .links{font-size:13px;color:var(--muted);}

/* CTA */
.cta{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;text-align:center;}
.cta h2.sec{color:#fff;}
.cta .price-box{margin:24px auto 28px;font-size:15px;}
.cta .price-box strong{font-size:30px;}
.cta .price-box small{font-size:12px;color:#9fb0c0;display:block;margin-top:4px;}
.cta p.lead{color:#d1d9e2;font-size:15px;}

/* 問い合わせフォーム */
.form-wrap{max-width:720px;margin:0 auto;padding:40px 20px 64px;}
.form-sec-ttl{color:var(--navy);font-size:18px;margin:32px 0 14px;padding-left:12px;border-left:4px solid var(--gold);}
.f-row{margin-bottom:18px;}
.f-row label{display:block;font-weight:700;font-size:14px;color:var(--navy);margin-bottom:6px;}
.f-req,.f-opt{display:inline-block;font-size:11px;font-weight:700;border-radius:4px;padding:1px 8px;margin-right:8px;vertical-align:1px;}
.f-req{background:#b91c1c;color:#fff;}
.f-opt{background:#e5e7eb;color:#4b5563;}
.f-row input[type=text],.f-row input[type=email],.f-row input[type=tel],.f-row input[type=url],
.f-row select,.f-row textarea{
  width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:12px 14px;font-size:15px;
  font-family:inherit;background:#fff;color:var(--ink);}
.f-row textarea{min-height:150px;resize:vertical;}
.f-row input:focus,.f-row select:focus,.f-row textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);}
.f-consent{font-size:14px;margin:24px 0 16px;text-align:center;}
.f-submit{text-align:center;margin:20px 0 8px;}
.f-submit button{border:0;cursor:pointer;}
.f-note{text-align:center;font-size:12.5px;color:var(--muted);}
.f-msg{display:none;border-radius:8px;padding:16px 18px;margin:18px 0;font-size:14.5px;}
.f-msg.ok{display:block;background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;}
.f-msg.ng{display:block;background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;}
.f-hp{position:absolute;left:-9999px;top:-9999px;}

footer.site-footer{background:var(--navy-dark);color:#9fb0c0;font-size:12.5px;text-align:center;padding:28px 20px;}
footer.site-footer a{color:#c9d4de;}
footer.site-footer .foot-links{margin-bottom:8px;}
footer.site-footer .foot-links a{margin:0 8px;}

@media(max-width:640px){
  .hero h1{font-size:25px;}
  .page-hero h1{font-size:21px;}
  .gnav{display:none;}
  .worries,.policies{grid-template-columns:1fr;}
  .service{flex-direction:column;align-items:flex-start;}
  .service .price{text-align:left;}
  .header-in .btn{padding:8px 14px;font-size:13px;}
  .profile-card{flex-direction:column;align-items:center;text-align:center;}
  .article h2{font-size:20px;}
}
