/* チャレンジアカデミー 共通スタイル（ロゴ4色：赤・空・黄・緑） */
:root{
  --sky:#0099E0; --sky-deep:#00699F; --sky-soft:#E3F4FD; --sky-line:#BFE4F8;
  --red:#D8322B; --red-soft:#FCE9E8;
  --sun:#F2A900; --sun-soft:#FFF3D4;
  --grass:#3DA94C; --grass-soft:#E7F4E8;
  --cream:#FDFBF4; --ink:#3D4045; --ink-soft:#6F7278; --line:#EAE5D8;
  --maru:'Zen Maru Gothic','Hiragino Maru Gothic ProN',sans-serif;
  --sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);font-size:15.5px;line-height:2;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:4px;}

/* header */
header{position:sticky;top:0;z-index:100;background:rgba(253,251,244,.93);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 4vw;gap:14px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand .mark{width:44px;height:44px;flex-shrink:0;}
.brand .mark img{width:100%;height:100%;object-fit:contain;}
.brand .t{line-height:1.3;}
.brand .t .small{font-size:10px;color:var(--ink-soft);letter-spacing:.08em;}
.brand .t .name{font-family:var(--maru);font-weight:700;font-size:17px;color:var(--sky-deep);letter-spacing:.03em;}
nav.gnav{display:flex;gap:20px;}
nav.gnav a{font-size:13px;font-weight:500;letter-spacing:.06em;position:relative;padding:4px 0;white-space:nowrap;}
nav.gnav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--red) 0 25%,var(--sky) 25% 50%,var(--sun) 50% 75%,var(--grass) 75% 100%);
  transform:scaleX(0);transition:transform .25s;transform-origin:left;}
nav.gnav a:hover::after,nav.gnav a.on::after{transform:scaleX(1);}
.menu-btn{display:none;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--maru);font-weight:700;font-size:14.5px;letter-spacing:.06em;
  border-radius:999px;padding:13px 32px;transition:transform .2s,box-shadow .2s,background .2s;}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 6px 16px rgba(216,50,43,.3);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(216,50,43,.35);}
.btn-ghost{background:#fff;color:var(--sky-deep);border:2px solid var(--sky);}
.btn-ghost:hover{background:var(--sky-soft);}

/* sections */
section{padding:84px 4vw;}
.container{width:min(1080px,100%);margin:0 auto;}
.sec-head{text-align:center;margin-bottom:48px;}
.sec-en{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.32em;color:var(--sky);text-transform:uppercase;margin-bottom:8px;}
.sec-title{font-family:var(--maru);font-weight:900;font-size:clamp(22px,2.8vw,30px);letter-spacing:.06em;color:var(--ink);line-height:1.7;position:relative;display:inline-block;padding-bottom:16px;}
.sec-title::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:88px;height:8px;border-radius:8px;
  background:linear-gradient(90deg,var(--red) 0 25%,var(--sky) 25% 50%,var(--sun) 50% 75%,var(--grass) 75% 100%);}
.sec-note{margin-top:14px;color:var(--ink-soft);font-size:14px;letter-spacing:.03em;}

/* hero (top) */
.hero{position:relative;overflow:hidden;padding:60px 4vw 84px;}
.hero .inner{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;}
.hero h1{font-family:var(--maru);font-weight:900;font-size:clamp(26px,3.5vw,40px);line-height:1.8;letter-spacing:.05em;color:var(--ink);}
.hero h1 .c1{color:var(--red);}.hero h1 .c2{color:var(--sky);}.hero h1 .c3{color:var(--sun);}.hero h1 .c4{color:var(--grass);}
.hero .lead{margin-top:22px;color:var(--ink-soft);font-size:15px;letter-spacing:.03em;max-width:36em;}
.hero-cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}
.hero-ph{position:relative;}
.hero-ph .main{border-radius:32px;overflow:hidden;box-shadow:0 18px 40px rgba(61,64,69,.15);aspect-ratio:4/3.2;}
.hero-ph .main img{width:100%;height:100%;object-fit:cover;}
.confetti{position:absolute;border-radius:50%;z-index:-1;}
.cf1{width:110px;height:110px;background:var(--sun-soft);top:-34px;right:-30px;}
.cf2{width:70px;height:70px;background:var(--sky-soft);bottom:-20px;left:-26px;}
.cf3{width:40px;height:40px;background:var(--grass-soft);top:40%;left:-46px;}
.badges{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap;}
.badge{font-family:var(--maru);font-weight:700;font-size:12.5px;letter-spacing:.04em;background:#fff;border:2px solid var(--line);color:var(--ink);border-radius:999px;padding:6px 16px;}

/* facility cards */
.area-label{display:flex;align-items:center;gap:12px;font-family:var(--maru);font-weight:700;font-size:17px;letter-spacing:.08em;margin:52px 0 22px;}
.area-label::before{content:"";width:16px;height:16px;border-radius:6px;}
.area-sky::before{background:var(--sky);} .area-sky{color:var(--sky-deep);}
.area-grass::before{background:var(--grass);} .area-grass{color:#2A7A36;}
.area-sun::before{background:var(--sun);} .area-sun{color:#A87400;}
.fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fac-card{background:#fff;border:2px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .22s,box-shadow .22s,border-color .22s;}
.fac-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(61,64,69,.12);}
.fac-card.b-sky:hover{border-color:var(--sky);} .fac-card.b-grass:hover{border-color:var(--grass);} .fac-card.b-sun:hover{border-color:var(--sun);}
.fac-card .ph{aspect-ratio:16/9;overflow:hidden;position:relative;}
.fac-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .45s;}
.fac-card:hover .ph img{transform:scale(1.05);}
.fac-card .chip{position:absolute;top:12px;left:12px;font-family:var(--maru);font-weight:700;font-size:11.5px;letter-spacing:.06em;color:#fff;border-radius:999px;padding:4px 13px;}
.chip-sky{background:var(--sky);} .chip-grass{background:var(--grass);} .chip-sun{background:var(--sun);}
.fac-card .tx{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column;}
.fac-card h3{font-family:var(--maru);font-weight:700;font-size:17px;letter-spacing:.04em;margin-bottom:4px;}
.fac-card .tagline{font-size:12.5px;color:var(--ink-soft);line-height:1.8;flex:1;}
.fac-card .addr{font-size:11.5px;color:var(--ink-soft);margin-top:10px;line-height:1.7;}
.fac-card .go{margin-top:12px;font-family:var(--maru);font-weight:700;font-size:13px;color:var(--red);display:inline-flex;gap:8px;align-items:center;}
.fac-card .go .arrow{transition:transform .25s;}
.fac-card:hover .go .arrow{transform:translateX(5px);}

/* philosophy */
.philo{background:#fff;border-top:2px solid var(--line);border-bottom:2px solid var(--line);}
.philo-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.philo blockquote{font-family:var(--maru);font-weight:700;font-size:clamp(18px,2vw,23px);line-height:2.2;letter-spacing:.06em;
  border-left:8px solid;border-image:linear-gradient(var(--red),var(--sky),var(--sun),var(--grass)) 1;padding-left:24px;}
.philo p{color:var(--ink-soft);margin-bottom:1.2em;font-size:14.5px;letter-spacing:.03em;}
.philo p b{color:var(--ink);}

/* steps (利用方法) */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:st;}
.step-card{background:#fff;border:2px solid var(--line);border-radius:22px;padding:26px 20px 22px;text-align:center;counter-increment:st;position:relative;}
.step-card::before{content:counter(st);display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto 12px;border-radius:50%;color:#fff;font-family:var(--maru);font-weight:900;font-size:19px;}
.step-card:nth-child(4n+1)::before{background:var(--red);}
.step-card:nth-child(4n+2)::before{background:var(--sky);}
.step-card:nth-child(4n+3)::before{background:var(--sun);}
.step-card:nth-child(4n+4)::before{background:var(--grass);}
.step-card h4{font-family:var(--maru);font-weight:700;font-size:15px;margin-bottom:6px;letter-spacing:.03em;}
.step-card p{font-size:12.5px;line-height:1.9;color:var(--ink-soft);}
.step-note{margin-top:22px;text-align:center;font-size:12.5px;color:var(--ink-soft);}

/* info cards (費用・送迎など) */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px;margin:0 auto;}
.info-card{background:#fff;border:2px solid var(--line);border-radius:22px;padding:28px 30px 26px;}
.info-card h3{font-family:var(--maru);font-weight:700;font-size:16.5px;letter-spacing:.04em;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.info-card h3::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--sun);}
.info-card ul{list-style:none;}
.info-card li{padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px;color:var(--ink-soft);line-height:1.9;}
.info-card li:last-child{border-bottom:none;}
.info-card li b{color:var(--ink);}
.wide-note{max-width:920px;margin:24px auto 0;font-size:12.5px;color:var(--ink-soft);line-height:2;}

/* 加算表 */
.kasan-wrap{max-width:920px;margin:0 auto;overflow-x:auto;background:#fff;border:2px solid var(--line);border-radius:20px;padding:8px;}
table.kasan{width:100%;border-collapse:collapse;font-size:12.5px;min-width:520px;}
table.kasan th,table.kasan td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;line-height:1.7;}
table.kasan thead th{font-family:var(--maru);font-weight:700;background:var(--sky-soft);color:var(--sky-deep);}
table.kasan tr:last-child td{border-bottom:none;}
table.kasan td.num{text-align:right;font-feature-settings:"tnum";white-space:nowrap;}

/* 一日の流れ */
.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:920px;margin:0 auto;}
.day-card{background:#fff;border:2px solid var(--line);border-radius:22px;padding:26px 28px;}
.day-card h3{font-family:var(--maru);font-weight:700;font-size:16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.day-card.d-heijitsu h3::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--sky);}
.day-card.d-kyujitsu h3::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--sun);}
.tl{position:relative;padding-left:26px;}
.tl::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px;}
.tl-i{position:relative;padding-bottom:16px;}
.tl-i:last-child{padding-bottom:0;}
.tl-i::before{content:"";position:absolute;left:-24px;top:9px;width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid var(--grass);}
.tl-i .t{font-family:var(--maru);font-weight:700;font-size:13.5px;letter-spacing:.03em;color:var(--ink);}
.tl-i .b{font-size:13px;color:var(--ink-soft);line-height:1.8;}

/* FAQ */
.faq-list{max-width:820px;margin:0 auto;}
details.faq{background:#fff;border:2px solid var(--line);border-radius:18px;margin-bottom:14px;overflow:hidden;}
details.faq summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:flex-start;padding:18px 22px;font-family:var(--maru);font-weight:700;font-size:14.5px;line-height:1.8;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary .q{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--sky);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;}
details.faq[open] summary{border-bottom:1px dashed var(--line);}
details.faq .a{display:flex;gap:14px;padding:16px 22px 20px;font-size:13.5px;color:var(--ink-soft);line-height:2;}
details.faq .a .m{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--maru);font-weight:700;font-size:14px;}

/* ===== 施設ページ ===== */
.f-hero{padding:0;}
.f-hero .ph{max-height:440px;overflow:hidden;position:relative;}
.f-hero .ph img{width:100%;height:100%;object-fit:cover;max-height:440px;}
.f-title-band{background:#fff;border-bottom:2px solid var(--line);padding:26px 4vw;}
.f-title-band .container{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.f-title-band .l .area-chip{font-family:var(--maru);font-weight:700;font-size:12px;color:#fff;border-radius:999px;padding:4px 14px;letter-spacing:.06em;}
.f-title-band h1{font-family:var(--maru);font-weight:900;font-size:clamp(21px,2.8vw,29px);letter-spacing:.04em;margin-top:8px;}
.f-title-band .tag{color:var(--ink-soft);font-size:13px;margin-top:2px;}
.f-title-band .r{display:flex;gap:12px;flex-wrap:wrap;}
.breadcrumb{padding:14px 4vw 0;font-size:12px;color:var(--ink-soft);}
.breadcrumb a{color:var(--sky-deep);}
.intro-sec p{max-width:46em;margin:0 auto 1.3em;color:var(--ink-soft);letter-spacing:.03em;}
.intro-sec p b{color:var(--ink);}
.sns-row{display:flex;justify-content:center;gap:12px;margin-top:22px;}
.sns-row a{font-family:var(--maru);font-weight:700;font-size:13px;border:2px solid var(--line);border-radius:999px;padding:8px 20px;background:#fff;transition:border-color .2s;}
.sns-row a:hover{border-color:var(--sky);}

/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.gal-item{background:#fff;border:2px solid var(--line);border-radius:18px;padding:10px 10px 12px;transform:rotate(-1deg);}
.gal-item:nth-child(even){transform:rotate(1.2deg);}
.gal-item .ph{border-radius:12px;overflow:hidden;aspect-ratio:4/3;}
.gal-item img{width:100%;height:100%;object-fit:cover;}
.gal-item p{font-size:11.5px;line-height:1.7;color:var(--ink-soft);margin-top:8px;padding:0 2px;}

/* episode（右肩上がりの階段レイアウト・元サイト踏襲のこだわりポイント） */
.epi{background:var(--sky-soft);}
.epi-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:start;max-width:1000px;margin:0 auto;padding-top:76px;}
.epi-col{display:flex;flex-direction:column;gap:14px;}
.epi-col.c2{transform:translateY(-38px);}
.epi-col.c3{transform:translateY(-76px);}
.epi-card{background:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 6px 16px rgba(0,105,159,.08);}
.epi-col.c3 .epi-card{background:#DCF3EC;}
.epi-col.c1 .season{background:var(--sun);}
.epi-col.c2 .season{background:var(--sky);}
.epi-col.c3 .season{background:var(--grass);}
.epi-card .season{font-family:var(--maru);font-weight:900;font-size:13px;letter-spacing:.1em;display:inline-block;border-radius:999px;padding:3px 14px;color:#fff;margin-bottom:10px;}
.epi-card h4{font-family:var(--maru);font-weight:700;font-size:15px;line-height:1.7;margin-bottom:8px;}
.epi-card p{font-size:12.5px;line-height:1.9;color:var(--ink-soft);}
.epi-note-s{background:#F1EDE6;border-radius:16px;padding:14px 18px;font-size:12px;color:var(--ink-soft);line-height:1.95;}
.epi-arrow{font-size:22px;color:var(--sky);font-weight:700;align-self:start;padding-top:64px;}
.epi-arrow.a1{transform:translateY(-19px) rotate(-22deg);}
.epi-arrow.a2{transform:translateY(-57px) rotate(-22deg);}

/* 概要 */
.spec{background:#fff;border-top:2px solid var(--line);border-bottom:2px solid var(--line);}
.spec-table{max-width:860px;margin:0 auto;}
.spec-row{display:grid;grid-template-columns:170px 1fr;border-bottom:1px dashed var(--line);padding:18px 6px;gap:14px;}
.spec-row:last-child{border-bottom:none;}
.spec-row dt{font-family:var(--maru);font-weight:700;font-size:14px;color:var(--sky-deep);}
.spec-row dd{font-size:14px;color:var(--ink-soft);line-height:2;}
.spec-row dd small{font-size:12px;}
.spec-row dd img{max-width:520px;border:2px solid var(--line);border-radius:14px;margin-top:6px;background:#fff;}

/* access */
.access-card{max-width:920px;margin:0 auto;background:#fff;border:2px solid var(--line);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;}
.access-card .map{min-height:320px;}
.access-card .map iframe,.access-card .map img{width:100%;height:100%;border:0;display:block;object-fit:cover;}
.access-card .tx{padding:30px 32px;}
.access-card h3{font-family:var(--maru);font-weight:700;font-size:18px;margin-bottom:12px;}
.access-card .addr{font-size:14px;color:var(--ink-soft);line-height:2;margin-bottom:18px;}
.access-card .cta{display:flex;gap:12px;flex-wrap:wrap;}
.access-extra{max-width:920px;margin:18px auto 0;}
.access-extra img{border-radius:18px;border:2px solid var(--line);}

/* PDF資料 */
.pdf-list{max-width:860px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pdf-list a{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--line);border-radius:16px;padding:14px 18px;font-size:13px;font-weight:500;transition:border-color .2s;}
.pdf-list a:hover{border-color:var(--red);}
.pdf-list a::before{content:"PDF";flex-shrink:0;font-family:var(--maru);font-weight:900;font-size:10px;color:#fff;background:var(--red);border-radius:6px;padding:3px 7px;}

/* contact */
.contact{text-align:center;background:var(--sun-soft);}
.big-tel{display:flex;justify-content:center;gap:44px;flex-wrap:wrap;margin:10px 0 6px;}
.big-tel .place{font-family:var(--maru);font-weight:700;font-size:13.5px;color:var(--red);letter-spacing:.1em;margin-bottom:2px;}
.big-tel .num{font-family:var(--maru);font-weight:900;font-size:clamp(22px,3vw,30px);letter-spacing:.03em;}
.big-tel .num a:hover{color:var(--sky-deep);}
.big-tel .num.small-note{font-size:14px;font-weight:500;color:var(--ink-soft);padding-top:12px;}

/* other-fac nav */
.other-fac{padding:0 4vw 84px;}
.other-fac .card{max-width:920px;margin:0 auto;background:#fff;border:2px solid var(--line);border-radius:22px;padding:24px 30px;}
.other-fac .t{font-family:var(--maru);font-weight:700;font-size:15px;margin-bottom:12px;}
.other-fac .links{display:flex;gap:10px;flex-wrap:wrap;}
.other-fac .links a{font-size:12.5px;font-weight:500;border:1.5px solid var(--line);border-radius:999px;padding:6px 16px;background:var(--cream);transition:border-color .2s,background .2s;}
.other-fac .links a:hover{border-color:var(--sky);background:var(--sky-soft);}

/* footer */
footer{background:#2E3A44;color:rgba(255,255,255,.8);padding:44px 4vw 26px;font-size:12.5px;}
.f-inner{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:auto 1fr 1fr;gap:40px;align-items:start;}
.f-brand{display:flex;gap:12px;align-items:center;line-height:1.5;}
.f-brand img{width:46px;height:46px;background:#fff;border-radius:12px;padding:4px;}
.f-brand b{font-family:var(--maru);color:#fff;font-size:15px;}
.f-nav{display:flex;flex-direction:column;gap:6px;}
.f-label{font-family:var(--maru);font-weight:700;color:#fff;margin-bottom:4px;letter-spacing:.1em;}
.f-nav a{color:rgba(255,255,255,.75);}
.f-nav a:hover{color:#FFD75E;}
.copy{text-align:center;margin-top:34px;color:rgba(255,255,255,.5);letter-spacing:.06em;}

/* reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;}
.reveal.on{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

/* responsive */
@media (max-width:980px){
  .fac-grid{grid-template-columns:1fr 1fr;}
  .gal-grid{grid-template-columns:1fr 1fr;}
  .step-grid{grid-template-columns:1fr 1fr;}
  .epi-grid{grid-template-columns:1fr;padding-top:0;}
  .epi-col.c2,.epi-col.c3{transform:none;}
  .epi-arrow{padding-top:0;text-align:center;}
  .epi-arrow.a1,.epi-arrow.a2{transform:rotate(90deg);}
  .f-inner{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:720px){
  nav.gnav{display:none;}
  header.open nav.gnav{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:8px 4vw 18px;}
  header.open nav.gnav a{padding:13px 0;border-bottom:1px dashed var(--line);font-size:14px;}
  .menu-btn{display:block;background:#fff;border:2px solid var(--line);color:var(--sky-deep);font-family:var(--maru);font-weight:700;font-size:12px;letter-spacing:.12em;padding:8px 15px;border-radius:999px;cursor:pointer;}
  .hero .inner,.philo-grid,.day-grid,.info-grid{grid-template-columns:1fr;}
  .hero .inner{gap:40px;}
  .fac-grid,.gal-grid,.step-grid,.pdf-list{grid-template-columns:1fr;}
  .access-card{grid-template-columns:1fr;}
  .spec-row{grid-template-columns:1fr;gap:2px;}
  section{padding:60px 6vw;}
}

/* ===== お問い合わせフォーム ===== */
.c-form{max-width:680px;margin:0 auto;background:#fff;border:2px solid var(--line);border-radius:26px;padding:38px 40px;}
.form-row{margin-bottom:22px;}
.form-row label{display:block;font-family:var(--maru);font-weight:700;font-size:14px;margin-bottom:8px;letter-spacing:.03em;}
.req{display:inline-block;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;border-radius:6px;padding:1px 8px;margin-left:8px;vertical-align:middle;letter-spacing:.06em;}
.form-row input,.form-row select,.form-row textarea{
  width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);
  background:var(--cream);border:2px solid var(--line);border-radius:14px;padding:12px 16px;
  transition:border-color .2s,background .2s;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--sky);background:#fff;}
.form-row .ng{border-color:var(--red);background:var(--red-soft);}
.form-row .hint{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:5px;line-height:1.7;}
.hp-field{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden;}
.form-privacy{font-size:12px;color:var(--ink-soft);text-align:center;margin:26px 0 18px;line-height:1.9;}
.form-submit{text-align:center;}
.form-submit .btn{min-width:260px;font-size:15.5px;padding:16px 40px;}
.form-error{margin-top:16px;text-align:center;color:var(--red);font-weight:700;font-size:13.5px;}
/* ぞうさんバナー */
.zousan-banner{display:block;max-width:860px;margin:0 auto;background:#fff;border:2px solid var(--line);border-radius:24px;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s;}
.zousan-banner:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(61,64,69,.12);border-color:var(--grass);}
.zousan-banner img{width:100%;}
.zousan-banner .zb-tx{display:block;padding:16px 24px;font-size:13px;color:var(--ink-soft);line-height:1.9;}
.zousan-banner .zb-tx b{font-family:var(--maru);color:#2A7A36;font-size:15px;}
@media (max-width:720px){.c-form{padding:28px 22px;}}
