/* =========================================================
   うんの整骨院・鍼灸院 公式HP 叩き台
   制作：株式会社タッチコード（アテナ・メイクピース）
   デザイン方向性：レンガ調・暖色（テラコッタ〜茶）・背景は白
   ========================================================= */

:root{
  --white:#FFFFFF;
  --beige:#FAF6F1;
  --beige-2:#F3E9DE;
  --terracotta:#B4552D;
  --terracotta-light:#C56A3E;
  --orange:#E8913C;
  --brown:#4A3529;
  --brown-soft:#6B5344;
  --text:#333333;
  --line:#E7DCD1;
  --radius:12px;
  --shadow:0 4px 18px rgba(74,53,41,.08);
  --maxw:1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.85;
  font-size:16px;
  -webkit-text-size-adjust:100%;
}
img{max-width:100%;display:block;}
a{color:var(--terracotta);text-decoration:none;}
a:hover{text-decoration:underline;}

.serif{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;}

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.section{padding:56px 0;}
.section--beige{background:var(--beige);}
.section--tint{background:linear-gradient(180deg,var(--beige) 0%,var(--white) 100%);}
.center{text-align:center;}

/* ---------- Brick ribbon (creed) ---------- */
.topribbon{
  background:
    repeating-linear-gradient(90deg,var(--terracotta) 0 78px,var(--terracotta-light) 78px 80px);
  color:#fff;
  text-align:center;
  font-size:.82rem;
  letter-spacing:.04em;
  padding:6px 12px;
  font-weight:500;
}
.topribbon span{opacity:.97;}

/* ---------- Header / Nav ---------- */
.header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(1.2) blur(4px);
  border-bottom:1px solid var(--line);
}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:10px 20px;max-width:var(--maxw);margin:0 auto;
}
.logo{display:flex;flex-direction:column;line-height:1.2;text-decoration:none;}
.logo__name{font-family:"Noto Serif JP",serif;font-weight:700;font-size:1.1rem;color:var(--brown);white-space:nowrap;}
.logo__sub{font-size:.66rem;color:var(--terracotta);letter-spacing:.06em;}

.nav__list{display:flex;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.nav__list a{
  color:var(--brown);font-size:.9rem;padding:8px 10px;border-radius:8px;
  display:block;font-weight:500;
}
.nav__list a:hover{background:var(--beige);text-decoration:none;color:var(--terracotta);}
.nav__list a.is-active{color:var(--terracotta);}
.nav__jiko a{color:var(--terracotta-light);font-weight:700;}

.header__cta{display:flex;gap:8px;align-items:center;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:999px;font-weight:700;text-align:center;cursor:pointer;
  border:2px solid transparent;padding:10px 18px;font-size:.92rem;transition:.15s;
  line-height:1.3;white-space:nowrap;
}
.btn:hover{text-decoration:none;transform:translateY(-1px);}
.btn--primary{background:var(--orange);color:#fff;}
.btn--primary:hover{background:#d97f26;color:#fff;}
.btn--brick{background:var(--terracotta);color:#fff;}
.btn--brick:hover{background:#9d4826;color:#fff;}
.btn--ghost{background:#fff;color:var(--terracotta);border-color:var(--terracotta);}
.btn--ghost:hover{background:var(--beige);color:var(--terracotta);}
.btn--tel{background:#fff;color:var(--brown);border-color:var(--line);}
.btn--lg{padding:15px 30px;font-size:1.02rem;}
.btn--block{width:100%;}

.header__cta .btn{padding:8px 14px;font-size:.85rem;}
.header__cta{flex:0 0 auto;}

/* Hamburger (mobile) */
.navtoggle{display:none;}
.hamburger{display:none;}

/* ---------- Hero / FV ---------- */
.hero{
  position:relative;
  background:
    linear-gradient(180deg,rgba(250,246,241,.6),rgba(255,255,255,.9)),
    repeating-linear-gradient(0deg,var(--beige-2) 0 26px,#EFE1D3 26px,#EFE1D3 28px),
    repeating-linear-gradient(90deg,transparent 0 118px,rgba(180,85,45,.06) 118px 120px);
  border-bottom:1px solid var(--line);
}
.hero__inner{
  max-width:var(--maxw);margin:0 auto;padding:40px 20px 48px;
  display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;
}
.hero__copy h1{
  font-family:"Noto Serif JP",serif;font-weight:700;color:var(--brown);
  font-size:2.15rem;line-height:1.5;margin:.2em 0 .5em;
}
.hero__copy .lead{font-size:1.02rem;color:var(--brown-soft);margin-bottom:1.4em;}
.hero__badge{
  display:inline-block;background:var(--terracotta);color:#fff;font-size:.82rem;
  font-weight:700;padding:6px 16px;border-radius:999px;letter-spacing:.03em;
}
.hero__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}

/* ---------- Trust ribbon ---------- */
.trust{
  background:var(--brown);color:#fff;border-radius:var(--radius);
  padding:14px 18px;margin:22px auto 0;max-width:var(--maxw);
}
.trust ul{display:flex;flex-wrap:wrap;gap:8px 0;justify-content:center;list-style:none;margin:0;padding:0;}
.trust li{font-size:.82rem;padding:0 16px;position:relative;white-space:nowrap;}
.trust li:not(:last-child)::after{content:"｜";position:absolute;right:-2px;opacity:.4;}
.hero .trust{margin-top:26px;}

/* ---------- Placeholder photo boxes ---------- */
.ph{
  background:
    repeating-linear-gradient(45deg,#f3f3f3 0 12px,#eee 12px 24px);
  border:2px dashed #c9beb3;
  border-radius:var(--radius);
  color:#8a7d70;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:.86rem;padding:20px;min-height:120px;font-weight:500;
}
.ph::before{content:"📷 ";opacity:.7;}
.ph--hero{min-height:340px;font-size:.95rem;}
.ph--portrait{min-height:380px;aspect-ratio:4/5;}
.ph--wide{min-height:200px;}
.ph--sq{aspect-ratio:1/1;min-height:200px;}
.ph--map{min-height:280px;}
.ph--small{min-height:130px;font-size:.8rem;}

/* ---------- FV（1枚画像） ---------- */
.hero-fv{background:#fff;border-bottom:1px solid var(--line);}
.hero-fv picture,.hero-fv img{display:block;width:100%;height:auto;}
.hero-fv__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding:22px 20px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------- Real photos ---------- */
.photo{display:block;width:100%;border-radius:var(--radius);object-fit:cover;}
.photo--small{aspect-ratio:4/3;}
.photo--sq{aspect-ratio:1/1;}
.photo--portrait{aspect-ratio:4/5;}
.photo--wide{aspect-ratio:16/9;}
.map-embed{width:100%;min-height:280px;border:0;border-radius:var(--radius);display:block;}

/* ---------- Section titles ---------- */
.sec-title{text-align:center;margin-bottom:34px;}
.sec-title h2{
  font-family:"Noto Serif JP",serif;font-weight:700;color:var(--brown);
  font-size:1.7rem;margin:0 0 .3em;line-height:1.5;
}
.sec-title h2::after{
  content:"";display:block;width:56px;height:4px;border-radius:4px;
  background:var(--orange);margin:.5em auto 0;
}
.sec-title p{color:var(--brown-soft);font-size:.98rem;margin:0;}
.page-head{
  background:var(--beige);border-bottom:1px solid var(--line);
  padding:44px 20px;text-align:center;
}
.page-head h1{
  font-family:"Noto Serif JP",serif;color:var(--brown);font-weight:700;
  font-size:1.9rem;margin:0 0 .4em;line-height:1.5;
}
.page-head p{color:var(--terracotta);margin:0;font-size:1rem;}
.crumbs{max-width:var(--maxw);margin:0 auto;padding:12px 20px;font-size:.8rem;color:#9a8d80;}
.crumbs a{color:#9a8d80;}

/* ---------- Cards ---------- */
.grid{display:grid;gap:20px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow);
}
.card h3{color:var(--terracotta);font-size:1.12rem;margin:.2em 0 .5em;font-family:"Noto Serif JP",serif;}
.card .num{
  display:inline-block;background:var(--terracotta);color:#fff;font-weight:700;
  border-radius:8px;padding:2px 10px;font-size:.8rem;margin-bottom:8px;letter-spacing:.05em;
}
.card p{margin:.3em 0 0;font-size:.94rem;}
.card--link{display:block;color:inherit;transition:.15s;}
.card--link:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 24px rgba(74,53,41,.14);}
.card--link .more{color:var(--terracotta);font-weight:700;font-size:.86rem;margin-top:10px;display:inline-block;}

/* ---------- Message block (院長の語り) ---------- */
.message{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:center;
}
.message__body{font-family:"Noto Serif JP",serif;font-size:1.05rem;line-height:2.1;color:var(--brown);}
.message__body .sign{display:block;text-align:right;margin-top:1em;font-size:.95rem;color:var(--brown-soft);}
.quote{
  border-left:4px solid var(--orange);padding:4px 0 4px 20px;margin:0 0 1em;
  color:var(--brown);
}

/* ---------- Story (原体験) ---------- */
.story{max-width:760px;margin:0 auto;}
.story h3{
  font-family:"Noto Serif JP",serif;color:var(--terracotta);font-size:1.3rem;
  margin:1.6em 0 .5em;line-height:1.6;
}
.story p{font-size:1.02rem;line-height:2.05;}
.story .lead-q{
  font-family:"Noto Serif JP",serif;font-size:1.25rem;color:var(--brown);
  text-align:center;line-height:1.9;margin:0 0 1.5em;
}

/* ---------- Steps ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.steps li{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px 16px 60px;position:relative;box-shadow:var(--shadow);
}
.steps li .step-n{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border-radius:50%;background:var(--terracotta);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;
}
.steps li strong{display:block;color:var(--brown);margin-bottom:2px;}
.steps li span{font-size:.92rem;color:var(--brown-soft);}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;}
table.price{
  width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);min-width:320px;
}
table.price th,table.price td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);}
table.price thead th{background:var(--terracotta);color:#fff;font-weight:700;}
table.price td:last-child,table.price th:last-child{text-align:right;white-space:nowrap;}
table.price tr:last-child td{border-bottom:none;}
.info-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden;}
.info-table th,.info-table td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.95rem;}
.info-table th{background:var(--beige);color:var(--brown);width:34%;font-weight:700;white-space:nowrap;}
.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:none;}

.tbd{color:var(--terracotta-light);font-weight:700;font-style:normal;} /* 確認中マーク */
.pending{
  display:inline-block;background:#FBEEDF;color:#9d6b1f;border:1px dashed #E0B473;
  border-radius:6px;padding:1px 8px;font-size:.82rem;font-weight:600;
}

/* ---------- Note / disclaimer ---------- */
.note{font-size:.82rem;color:#8a7d70;margin-top:10px;}
.notebox{
  background:var(--beige);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;font-size:.86rem;color:var(--brown-soft);
}
.notebox ul{margin:.4em 0 0;padding-left:1.2em;}

/* ---------- Jiko banner ---------- */
.jiko-banner{
  border:3px solid var(--terracotta);border-radius:16px;background:#fff;
  padding:26px 24px;text-align:center;box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.jiko-banner::before{
  content:"";position:absolute;inset:0;opacity:.06;
  background:repeating-linear-gradient(0deg,var(--terracotta) 0 20px,transparent 20px 22px);
  pointer-events:none;
}
.jiko-banner h3{font-family:"Noto Serif JP",serif;color:var(--terracotta);font-size:1.35rem;margin:.2em 0 .5em;position:relative;}
.jiko-banner p{position:relative;margin:0 0 16px;color:var(--brown-soft);}
.jiko-banner .btn{position:relative;}

/* ---------- CTA block ---------- */
.cta-block{
  background:var(--beige);border:2px solid var(--terracotta);border-radius:16px;
  padding:34px 24px;text-align:center;
}
.cta-block h2{font-family:"Noto Serif JP",serif;color:var(--brown);font-size:1.4rem;margin:0 0 .4em;}
.cta-block p{color:var(--brown-soft);margin:0 0 18px;}
.cta-block .hero__btns{justify-content:center;}
.softlines{font-family:"Noto Serif JP",serif;color:var(--brown);font-size:1.15rem;line-height:2;text-align:center;}

/* ---------- Feature list (checks) ---------- */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.checks li{padding-left:30px;position:relative;font-size:.98rem;}
.checks li::before{
  content:"✓";position:absolute;left:0;top:0;color:#fff;background:var(--orange);
  width:20px;height:20px;border-radius:50%;font-size:.72rem;display:flex;
  align-items:center;justify-content:center;font-weight:700;
}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px;}
.faq details{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:4px 18px;box-shadow:var(--shadow);
}
.faq summary{cursor:pointer;font-weight:700;color:var(--brown);padding:14px 0;list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q. ";color:var(--terracotta);font-family:"Noto Serif JP",serif;}
.faq details[open] summary{border-bottom:1px solid var(--line);}
.faq details p{padding:12px 0;margin:0;font-size:.94rem;}
.faq details p::before{content:"A. ";color:var(--orange);font-weight:700;}

/* ---------- Footer ---------- */
.footer{background:var(--brown);color:#e9ddd2;padding:44px 20px 90px;font-size:.88rem;}
.footer__inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;}
.footer h4{color:#fff;font-family:"Noto Serif JP",serif;font-size:1.05rem;margin:0 0 10px;}
.footer .f-sub{font-size:.78rem;color:#c8b6a6;}
.footer ul{list-style:none;margin:0;padding:0;}
.footer ul li{margin:6px 0;}
.footer a{color:#e9ddd2;}
.footer a:hover{color:#fff;}
.footer__ribbon{
  background:var(--terracotta);color:#fff;text-align:center;font-size:.8rem;
  padding:8px;font-weight:600;margin-bottom:0;
}
.footer__copy{text-align:center;color:#c8b6a6;font-size:.76rem;margin-top:28px;}

/* ---------- Mobile fixed bar ---------- */
.mobilebar{display:none;}

/* =========================================================
   Responsive
   ========================================================= */
@media(max-width:900px){
  .hero__inner{grid-template-columns:1fr;gap:24px;}
  .hero__photo{order:-1;}
  .message{grid-template-columns:1fr;}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}
  .footer__inner{grid-template-columns:1fr 1fr;}
}

@media(max-width:720px){
  body{font-size:15.5px;}
  .section{padding:42px 0;}

  /* --- Mobile nav (hamburger, CSS-only) --- */
  .header__cta{display:none;}
  .hamburger{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:40px;cursor:pointer;border:1px solid var(--line);
    border-radius:8px;padding:0 9px;background:#fff;
  }
  .hamburger span{height:2px;background:var(--brown);border-radius:2px;transition:.2s;}
  .nav{
    position:fixed;inset:0 0 0 auto;width:82%;max-width:320px;
    background:#fff;box-shadow:-8px 0 30px rgba(0,0,0,.16);
    transform:translateX(100%);transition:transform .25s ease;z-index:80;
    padding:70px 20px 30px;overflow-y:auto;
  }
  .navtoggle:checked ~ .nav{transform:translateX(0);}
  .nav__list{flex-direction:column;gap:2px;}
  .nav__list a{font-size:1rem;padding:12px 10px;border-bottom:1px solid var(--line);border-radius:0;}
  .nav__mobcta{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
  .nav__mobcta .btn{width:100%;}
  .navtoggle:checked ~ .navmask{
    display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:70;
  }
  .navmask{display:none;}
  .navclose{
    position:absolute;top:14px;right:16px;font-size:1.8rem;color:var(--brown);
    cursor:pointer;line-height:1;z-index:81;
  }

  .hero__copy h1{font-size:1.62rem;}
  .sec-title h2,.page-head h1{font-size:1.42rem;}
  .grid-2{grid-template-columns:1fr;}
  .footer__inner{grid-template-columns:1fr;}
  .trust li{font-size:.76rem;padding:0 10px;}
  .trust li:not(:last-child)::after{display:none;}

  /* Mobile fixed action bar */
  .mobilebar{
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    position:fixed;left:0;right:0;bottom:0;z-index:65;
    background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08);
  }
  .mobilebar a{
    padding:13px 6px;text-align:center;font-weight:700;font-size:.92rem;
    color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;
  }
  .mobilebar a.tel{background:var(--orange);}
  .mobilebar a.map{background:var(--terracotta);}
  .mobilebar a:hover{text-decoration:none;}
}

@media(min-width:721px){
  .navclose,.navmask{display:none;}
}

/* ---------- FV: 生成画像を全面背景にするヒーロー ---------- */
.hero--img{position:relative;background:#fff;border-bottom:1px solid var(--line);}
.hero--img .hero__bg{position:absolute;inset:0;overflow:hidden;}
.hero--img .hero__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.hero--img.hero--right .hero__bg img{object-position:left center;}
.hero--img.hero--left  .hero__bg img{object-position:right center;}
.hero--img .hero__inner{position:relative;z-index:1;grid-template-columns:1fr 1fr;min-height:600px;align-items:center;}
.hero--img .hero__copy{
  background:rgba(255,255,255,.86);
  border-radius:var(--radius);
  padding:30px 32px;
  box-shadow:0 8px 30px rgba(90,55,30,.10);
}
.hero--img.hero--right .hero__copy{grid-column:2;}
.hero--img.hero--left  .hero__copy{grid-column:1;}
.hero--img .trust{position:relative;z-index:1;background:var(--brown);color:#fff;box-shadow:0 6px 20px rgba(90,55,30,.18);}
@media (max-width:720px){
  .hero--img{display:block;}
  .hero--img .hero__bg{position:static;}
  .hero--img .hero__bg img{height:auto;aspect-ratio:3/2;object-position:center;}
  .hero--img .hero__inner{grid-template-columns:1fr;min-height:0;padding-top:24px;}
  .hero--img .hero__copy{grid-column:1 !important;background:#fff;box-shadow:none;padding:0;}
}

/* ---------- 実績バナー・共感・交通事故・メニューバナー・理由行・推薦（2026-08-03追加） ---------- */
.jisseki img{display:block;width:100%;height:auto;}
.checks--big li{font-size:1.05rem;padding:10px 0 10px 36px;border-bottom:1px dashed var(--line);}
.hitotsu{text-align:center;margin-top:28px;}
.hitotsu__arrow{display:block;color:var(--terracotta);font-size:1.6rem;margin-bottom:10px;}
.hitotsu__msg{font-family:"Noto Serif JP",serif;font-size:1.5rem;font-weight:700;color:var(--brown);line-height:1.6;margin-bottom:10px;}
.hitotsu__msg strong{color:var(--terracotta);}
.jiko-appeal{background:linear-gradient(180deg,#FBF1E8,#F7E7D8);border-top:4px solid var(--terracotta);border-bottom:1px solid var(--line);}
.jiko-appeal__label{color:var(--terracotta);}
.jiko-appeal__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start;}
.jiko-appeal__photo{margin:0;}
.jiko-appeal__photo img{aspect-ratio:4/5;object-fit:cover;}
.jiko-appeal__photo figcaption{text-align:center;font-size:.85rem;color:var(--brown-soft);margin-top:8px;}
.menu-banners{display:grid;gap:20px;max-width:900px;margin:0 auto;}
.menu-banners a{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s;}
.menu-banners a:hover{transform:translateY(-3px);}
.menu-banners img{display:block;width:100%;height:auto;}
.reasons{display:flex;flex-direction:column;gap:34px;max-width:980px;margin:0 auto;}
.reason-row{display:grid;grid-template-columns:2fr 3fr;gap:28px;align-items:center;}
.reason-row--rev{direction:rtl;}
.reason-row--rev>*{direction:ltr;}
.reason-row .photo{aspect-ratio:4/3;}
.reason-row__head{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.reason-row__head h3{font-family:"Noto Serif JP",serif;font-size:1.35rem;color:var(--brown);margin:0;}
.kari-chip{display:inline-block;background:#fff;color:var(--terracotta);border:2px dashed var(--terracotta);border-radius:8px;font-size:.85rem;font-weight:700;padding:3px 12px;margin-right:8px;}
.suisen--placeholder{border:2px dashed #C9BEB3;background:repeating-linear-gradient(45deg,#FDFBF8 0 14px,#F7F1EA 14px 28px);}
.suisen__head{display:flex;gap:16px;align-items:center;margin-bottom:12px;}
.suisen__face{flex:0 0 84px;height:84px;border-radius:50%;background:#EFE6DB;border:2px dashed #C9BEB3;display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#8A7D70;text-align:center;line-height:1.4;}
.suisen__title{font-weight:700;color:var(--brown);margin:0 0 4px;}
.suisen__name{font-size:.9rem;color:var(--brown-soft);margin:0;}
.suisen__body{color:var(--brown-soft);}
@media (max-width:768px){
  .jiko-appeal__grid{grid-template-columns:1fr;}
  .jiko-appeal__photo{max-width:320px;margin:0 auto;}
  .reason-row{grid-template-columns:1fr;gap:14px;}
  .hitotsu__msg{font-size:1.25rem;}
}

/* ---------- スポーツ現場バンド（リングサイド・2026-08-24 追加） ---------- */
.section--sport{background:linear-gradient(160deg,#3E2C22 0%,#4A3529 55%,#5A4032 100%);color:#F4EBE2;}
.section--sport .sec-title h2{color:#FFFFFF;}
.section--sport .sec-title h2::after{background:var(--orange);}
.section--sport .sec-title p{color:#D6C6B8;}
.section--sport .reason-row__head h3{color:#F3B584;}
.section--sport p{color:#E8DCD1;}
.section--sport .photo{box-shadow:0 10px 30px rgba(0,0,0,.35);}
.sport-note{margin-top:26px;text-align:center;font-size:.92rem;color:#C9B8A9;}
.sport-note strong{color:#F3B584;}

/* SPで右側にはみ出すドロワー(.nav)によって横スクロールが発生していた不具合の修正。
   overflow-x:clip はスクロールコンテナを作らないため、position:sticky のヘッダーを壊さない（2026-08-24） */
html,body{overflow-x:clip;}

/* ===== お問い合わせフォーム（2026-09-01 正式公開にあわせて新設） ===== */
.cform{max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--line,#e6ded6);border-radius:14px;padding:26px 22px;box-shadow:0 2px 14px rgba(74,53,41,.06);}
.cform__row{margin-bottom:18px;}
.cform label{display:block;font-weight:700;color:var(--brown);margin-bottom:7px;font-size:.94rem;}
.cform .req{display:inline-block;background:var(--terracotta);color:#fff;font-size:.7rem;font-weight:700;border-radius:4px;padding:2px 7px;margin-left:8px;vertical-align:2px;letter-spacing:.04em;}
.cform .opt{display:inline-block;background:#EFE7DF;color:var(--brown-soft);font-size:.7rem;font-weight:700;border-radius:4px;padding:2px 7px;margin-left:8px;vertical-align:2px;}
.cform input[type=text],.cform input[type=tel],.cform input[type=email],.cform textarea,.cform select{
  width:100%;border:1.5px solid #DCD1C6;border-radius:9px;padding:13px 14px;font-size:16px;font-family:inherit;color:var(--brown);background:#FFFDFB;}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(180,85,45,.12);}
.cform textarea{min-height:130px;resize:vertical;}
.cform__note{font-size:.82rem;color:var(--brown-soft);margin-top:6px;line-height:1.7;}
.cform__submit{width:100%;border:none;cursor:pointer;background:var(--terracotta);color:#fff;font-weight:700;font-size:1.05rem;padding:16px;border-radius:10px;font-family:inherit;letter-spacing:.04em;}
.cform__submit:hover{background:var(--terracotta-light);}
.cform__submit[disabled]{opacity:.55;cursor:default;}
.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cform__msg{margin-top:14px;padding:14px 16px;border-radius:10px;font-size:.92rem;line-height:1.8;display:none;}
.cform__msg.is-ok{display:block;background:#EEF6EC;border:1px solid #B8D8AE;color:#2F5D22;}
.cform__msg.is-ng{display:block;background:#FBEDEA;border:1px solid #E3B5AC;color:#9A3B23;}
.cform__err{color:#B4230F;font-size:.84rem;margin-top:6px;display:none;}
.cform__err.is-on{display:block;}
