:root { color-scheme:light; }
html { margin-top:0 !important; scroll-behavior:smooth; }
body.kabeyaburukun-lp {
  --navy:#513b5c;
  --yellow:#f7d7df;
  --orange:#d66f89;
  --green:#7da897;
  --blue-bg:#f7f0f8;
  --cream:#fff8f5;
  --ink:#403344;
  margin:0;
  color:var(--ink);
  background:#f6f1f4;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.75;
  overflow-x:hidden;
}
body.kabeyaburukun-lp * { box-sizing:border-box; }
body.kabeyaburukun-lp #wpadminbar { display:none !important; }
body.kabeyaburukun-lp img { display:block; max-width:100%; height:auto; }
body.kabeyaburukun-lp a { color:inherit; }
.kabe-page { width:min(900px,100%); margin:auto; background:#fff; box-shadow:0 0 36px rgba(23,36,87,.14); }

.kabe-header { position:sticky; top:0; z-index:30; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:62px; padding:9px 28px; color:#fff; background:rgba(23,36,87,.97); border-bottom:5px solid var(--yellow); }
.kabe-brand { font-size:1.35rem; font-weight:1000; text-decoration:none; letter-spacing:.04em; }
.kabe-header>span { font-size:.72rem; font-weight:900; letter-spacing:.08em; text-align:center; }
.kabe-header-cta { justify-self:end; padding:9px 20px; border-radius:999px; color:#fff; background:var(--green); text-decoration:none; font-size:.82rem; font-weight:1000; box-shadow:0 4px 0 #087450; }

.kabe-hero { position:relative; display:grid; grid-template-columns:1fr; gap:14px; padding:38px 50px 34px; background:var(--blue-bg); text-align:center; overflow:hidden; }
.kabe-hero::before { content:""; position:absolute; inset:0; opacity:.28; background-image:radial-gradient(var(--yellow) 1.5px,transparent 1.5px); background-size:22px 22px; mask-image:linear-gradient(to bottom,transparent,black 22%,transparent 80%); }
.kabe-hero-copy,.kabe-price-card,.kabe-hero .kabe-cta { position:relative; z-index:2; }
.kabe-hero-badge { display:inline-block; margin:0 auto 14px; padding:7px 18px; border-radius:999px; color:#fff; background:var(--green); font-size:.8rem; font-weight:1000; letter-spacing:.08em; }
.kabe-kicker { margin:0 0 11px; color:var(--green); font-size:.78rem; font-weight:1000; letter-spacing:.11em; text-transform:uppercase; text-align:center; }
.kabe-hero .kabe-kicker { color:var(--navy); }
.kabe-hero h1 { margin:0; color:var(--navy); font-size:clamp(2.15rem,5.4vw,3.85rem); font-weight:1000; line-height:1.16; letter-spacing:-.035em; }
.kabe-hero h1 span { display:inline-block; font-size:.63em; letter-spacing:.01em; }
.kabe-hero h1 em { display:inline-block; color:var(--navy); background:linear-gradient(transparent 62%,var(--yellow) 62%); font-size:.78em; font-style:normal; white-space:nowrap; }
.kabe-hero-lead { max-width:720px; margin:14px auto 0; color:#24335f; font-size:.98rem; font-weight:800; text-align:center; }
.kabe-hero-points { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; max-width:760px; margin:18px auto 0; padding:0; list-style:none; }
.kabe-hero-points li { overflow:hidden; border:2px solid var(--navy); border-radius:14px; background:#fff; box-shadow:0 6px 0 rgba(23,36,87,.12); }
.kabe-hero-points b,.kabe-hero-points span { display:block; }
.kabe-hero-points b { padding:7px; color:#fff; background:var(--navy); font-size:.88rem; }
.kabe-hero-points span { padding:10px 8px; font-size:.78rem; font-weight:800; line-height:1.45; }
.kabe-price-card { order:3; width:min(720px,100%); margin:2px auto 0; padding:20px 24px; border:3px solid var(--navy); border-radius:20px; background:#fff; box-shadow:8px 8px 0 var(--yellow); text-align:center; }
.kabe-price-card>span { display:block; color:var(--navy); font-size:.78rem; font-weight:1000; }
.kabe-price-card>strong { display:block; margin:4px 0; color:var(--orange); font-size:3.05rem; line-height:1.1; }
.kabe-price-card>strong small { color:var(--navy); font-size:.95rem; }
.kabe-price-card p { margin:8px auto; font-size:.88rem; font-weight:800; }
.kabe-price-card div { display:inline-block; padding:7px 14px; color:#fff; background:var(--navy); border-radius:8px; font-weight:1000; line-height:1.45; }
.kabe-price-card div small { color:#fff; font-weight:700; }

.kabe-cta { grid-column:1/-1; display:grid; grid-template-columns:1.2fr 1fr; gap:12px; width:min(760px,100%); margin:6px auto 0; }
.kabe-hero>.kabe-cta { order:2; }
.kabe-button { display:flex; min-height:78px; flex-direction:column; align-items:center; justify-content:center; padding:13px 18px; border-radius:16px; color:#fff; text-decoration:none; font-size:1.08rem; font-weight:1000; text-align:center; border:2px solid rgba(23,36,87,.3); box-shadow:0 6px 0 rgba(23,36,87,.22); transition:transform .18s ease,filter .18s ease; }
.kabe-button:hover { transform:translateY(-2px); filter:brightness(1.04); }
.kabe-button small { display:block; font-size:.69rem; font-weight:800; line-height:1.35; }
.kabe-button.is-line { background:var(--green); }
.kabe-button.is-consultation { background:var(--orange); }
.kabe-button::after { content:" 〉"; }
body.kabeyaburukun-lp .kabe-button,body.kabeyaburukun-lp .kabe-sticky a { color:#fff; }

.kabe-proof-strip { display:grid; grid-template-columns:repeat(4,1fr); color:#fff; background:var(--navy); }
.kabe-proof-strip div { display:grid; gap:2px; place-items:center; padding:18px 8px; border-right:1px solid rgba(255,255,255,.24); text-align:center; font-weight:1000; }
.kabe-proof-strip div:nth-child(1) { border-bottom:7px solid var(--yellow); }
.kabe-proof-strip div:nth-child(2) { border-bottom:7px solid var(--orange); }
.kabe-proof-strip div:nth-child(3) { border-bottom:7px solid var(--green); }
.kabe-proof-strip div:nth-child(4) { border-bottom:7px solid #4c78d9; }
.kabe-proof-strip b { color:var(--yellow); font-size:.78rem; }
.kabe-proof-strip span { font-size:.88rem; }

.kabe-section { padding:72px 50px; }
.kabe-section-head { max-width:760px; margin:0 auto 34px; text-align:center; }
.kabe-section-head h2,.kabe-fit h2,.kabe-plan h2,.kabe-final h2 { margin:0; color:var(--navy); font-size:clamp(1.8rem,4.2vw,3.05rem); font-weight:1000; line-height:1.35; letter-spacing:-.025em; text-align:center; }
.kabe-section-head>p:last-child { max-width:700px; margin:16px auto 0; text-align:center; font-weight:700; }
mark { color:inherit; background:linear-gradient(transparent 58%,var(--yellow) 58%); }
.kabe-problems { background:#fff; }
.kabe-problem-grid,.kabe-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.kabe-problem-grid article { position:relative; padding:26px 20px 22px; border:3px solid var(--navy); border-radius:20px; background:#fff; text-align:center; box-shadow:7px 7px 0 #dce5fb; }
.kabe-problem-grid article::before { content:"?"; display:grid; width:42px; height:42px; margin:0 auto 10px; place-items:center; border-radius:50%; color:#fff; background:var(--orange); font-size:1.25rem; font-weight:1000; }
.kabe-problem-grid span { display:inline-block; padding:5px 10px; border-radius:6px; color:var(--navy); background:var(--yellow); font-size:.72rem; font-weight:1000; }
.kabe-problem-grid h3 { margin:12px 0 6px; color:var(--navy); font-size:1.08rem; }
.kabe-problem-grid p { margin:0; font-size:.84rem; font-weight:700; }

.kabe-manga { background:var(--cream); }
.kabe-manga>.kabe-section-head { margin-bottom:40px; }
.kabe-story { position:relative; display:grid; gap:32px; max-width:760px; margin:auto; }
.kabe-story-scene { overflow:hidden; border:4px solid var(--navy); border-radius:20px; background:#fff; box-shadow:9px 9px 0 rgba(23,36,87,.12); }
.kabe-story-scene figure { margin:0; }
.kabe-story-scene img { width:100%; }
.kabe-story-turn { padding:34px 28px 40px; color:#fff; background:var(--navy); text-align:center; clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%); }
.kabe-story-turn small,.kabe-story-close>span { display:block; color:var(--yellow); font-size:.72rem; font-weight:1000; letter-spacing:.12em; }
.kabe-story-turn strong { display:block; margin-top:8px; font-size:clamp(1.35rem,3vw,2rem); font-weight:1000; line-height:1.55; }
.kabe-story-cta { padding:26px; border:4px solid var(--navy); background:#fff; text-align:center; box-shadow:8px 8px 0 var(--yellow); }
.kabe-story-cta>p { margin:0 0 14px; color:var(--navy); font-size:1.25rem; font-weight:1000; }
.kabe-story-close { padding:46px 34px; color:#fff; background:var(--navy); text-align:center; border-radius:20px; }
.kabe-story-close h3 { margin:10px 0; color:#fff; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.35; }
.kabe-story-close>p { max-width:640px; margin:0 auto; font-weight:700; }
.kabe-story-close>.kabe-cta { margin-top:24px; }

.kabe-solution { background:var(--blue-bg); border-top:10px solid var(--navy); border-bottom:10px solid var(--navy); }
.kabe-section-head.is-light h2 { color:var(--navy); }
.kabe-section-head.is-light>p:last-child { color:var(--ink); }
.kabe-service-grid article { min-height:210px; padding:24px 18px; border:3px solid var(--navy); border-radius:18px; background:#fff; text-align:center; box-shadow:6px 6px 0 rgba(23,36,87,.12); }
.kabe-service-grid b { display:grid; width:44px; height:44px; margin:auto; place-items:center; border-radius:50%; color:#fff; background:var(--green); }
.kabe-service-grid article:nth-child(2n) b { background:var(--orange); }
.kabe-service-grid article:nth-child(3n) b { color:var(--navy); background:var(--yellow); }
.kabe-service-grid h3 { margin:12px 0 6px; color:var(--navy); font-size:1.05rem; }
.kabe-service-grid p { margin:0; font-size:.84rem; font-weight:700; }

.kabe-cases { background:var(--cream); }
.kabe-case-notice { padding:10px 14px; border:1px solid #d8cfb9; border-radius:8px; color:#5d5545; background:#fff; font-size:.72rem; font-weight:600 !important; line-height:1.6; }
.kabe-case-grid { display:grid; gap:24px; max-width:760px; margin:auto; }
.kabe-case-card { overflow:hidden; border:4px solid var(--navy); border-radius:22px; background:#fff; box-shadow:9px 9px 0 rgba(23,36,87,.12); }
.kabe-case-card.is-restaurant { box-shadow:9px 9px 0 rgba(233,79,29,.18); }
.kabe-case-card.is-gym { box-shadow:9px 9px 0 rgba(18,160,110,.18); }
.kabe-case-header { display:flex; gap:18px; align-items:center; padding:20px 24px; color:#fff; background:var(--navy); }
.kabe-case-avatar { display:grid; flex:0 0 78px; width:78px; height:78px; place-items:center; border:4px solid var(--yellow); border-radius:50%; background:#fff; font-size:2.7rem; line-height:1; }
.kabe-case-header span { color:var(--yellow); font-size:.7rem; font-weight:1000; letter-spacing:.1em; }
.kabe-case-header h3 { margin:2px 0 0; color:#fff; font-size:1.45rem; line-height:1.35; }
.kabe-case-header p { margin:2px 0 0; color:#dfe6ff; font-size:.8rem; font-weight:800; }
.kabe-case-before,.kabe-case-route { display:grid; grid-template-columns:190px 1fr; align-items:center; gap:18px; padding:18px 24px; }
.kabe-case-before { background:#fff4ee; border-bottom:1px solid #efd8cc; }
.kabe-case-route { background:#eef9f5; border-bottom:1px solid #d2e8df; }
.kabe-case-before b,.kabe-case-route b { color:var(--navy); font-size:.85rem; text-align:center; }
.kabe-case-before b::before { content:"BEFORE"; display:block; margin-bottom:4px; color:var(--orange); font-size:.64rem; letter-spacing:.12em; }
.kabe-case-route b::before { content:"DESIGN"; display:block; margin-bottom:4px; color:var(--green); font-size:.64rem; letter-spacing:.12em; }
.kabe-case-before p,.kabe-case-route p { margin:0; font-size:.84rem; font-weight:700; line-height:1.7; }
.kabe-case-result { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0; padding:20px 24px; list-style:none; }
.kabe-case-result li { min-width:0; padding:13px 11px; border:2px solid #d8dfef; border-radius:12px; background:#f8faff; text-align:center; }
.kabe-case-result strong,.kabe-case-result span { display:block; }
.kabe-case-result strong { margin-bottom:6px; color:#fff; background:var(--navy); border-radius:999px; font-size:.72rem; }
.kabe-case-result span { font-size:.75rem; font-weight:700; line-height:1.55; }
.kabe-case-card footer { display:grid; grid-template-columns:120px 1fr; align-items:center; gap:14px; padding:15px 24px; color:var(--navy); background:var(--yellow); }
.kabe-case-card footer span { font-size:.72rem; font-weight:1000; text-align:center; }
.kabe-case-card footer b { font-size:.95rem; line-height:1.55; }
.kabe-case-cta { max-width:760px; margin:30px auto 0; padding:26px; border:4px solid var(--navy); border-radius:18px; background:#fff; box-shadow:7px 7px 0 var(--yellow); text-align:center; }
.kabe-case-cta>p { margin:0; color:var(--orange); font-size:.84rem; font-weight:1000; }
.kabe-case-cta>strong { display:block; margin:5px 0 16px; color:var(--navy); font-size:1.25rem; line-height:1.55; }

.kabe-flow { background:#fff; }
.kabe-flow-list { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.kabe-flow-list article { position:relative; padding:22px 15px; border:3px solid var(--navy); border-radius:16px; background:#fff; text-align:center; }
.kabe-flow-list article::after { content:""; position:absolute; top:50%; right:-14px; z-index:2; width:18px; height:18px; border-top:5px solid var(--orange); border-right:5px solid var(--orange); transform:rotate(45deg); }
.kabe-flow-list article:last-child::after { display:none; }
.kabe-flow-list span { display:inline-block; padding:3px 10px; color:#fff; background:var(--navy); border-radius:999px; font-size:.7rem; font-weight:1000; }
.kabe-flow-list h3 { margin:11px 0 6px; color:var(--navy); font-size:1rem; }
.kabe-flow-list p { margin:0; font-size:.79rem; font-weight:700; }

.kabe-plan { position:relative; background:var(--yellow); overflow:hidden; }
.kabe-plan::before { content:""; position:absolute; inset:0; opacity:.25; background-image:radial-gradient(var(--navy) 1px,transparent 1px); background-size:18px 18px; }
.kabe-plan-card { position:relative; max-width:760px; margin:auto; padding:38px; border:4px solid var(--navy); border-radius:24px; background:#fff; box-shadow:10px 10px 0 var(--orange); text-align:center; }
.kabe-plan-price { margin:18px 0; }
.kabe-plan-price strong { display:inline-block; padding:7px 18px; color:#fff; background:var(--orange); border-radius:12px; font-size:2.25rem; line-height:1.2; }
.kabe-plan-card>ul { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; max-width:620px; margin:22px auto; padding:0; list-style:none; }
.kabe-plan-card>ul li { padding:8px 10px; border:2px solid #cfd8ef; border-radius:8px; font-size:.86rem; font-weight:800; text-align:center; }
.kabe-plan-card>ul li::before { content:"✓"; margin-right:6px; color:var(--green); font-weight:1000; }
.kabe-plan-card>p { font-weight:700; }

.kabe-fit { background:var(--blue-bg); }
.kabe-fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.kabe-fit-grid>div { padding:30px 26px; border:3px solid var(--navy); border-radius:20px; background:#fff; box-shadow:7px 7px 0 var(--green); text-align:center; }
.kabe-fit-grid>div.is-muted { box-shadow:7px 7px 0 #aeb7ca; }
.kabe-fit-grid h2 { font-size:1.55rem; }
.kabe-fit-grid ul { margin:18px 0 0; padding:0; list-style:none; }
.kabe-fit-grid li { margin:8px 0; padding:8px; background:#f6f8fd; border-radius:8px; font-size:.88rem; font-weight:800; }

.kabe-faq { background:#fff; }
.kabe-faq details { max-width:760px; margin:0 auto 10px; border:3px solid var(--navy); border-radius:12px; background:#fff; box-shadow:4px 4px 0 #dbe2f3; }
.kabe-faq summary { padding:17px 20px; color:var(--navy); font-weight:1000; cursor:pointer; text-align:center; }
.kabe-faq details[open] summary { color:#fff; background:var(--navy); }
.kabe-faq details p { margin:0; padding:18px 24px 22px; font-weight:700; text-align:center; }

.kabe-final { padding:68px 50px 94px; color:#fff; background:var(--navy); text-align:center; border-top:10px solid var(--yellow); }
.kabe-final .kabe-kicker { color:var(--yellow); }
.kabe-final h2 { color:#fff; }
.kabe-final mark { color:var(--navy); background:var(--yellow); padding:0 .12em; }
.kabe-final>p { font-weight:700; }
.kabe-final>.kabe-cta { max-width:760px; margin:26px auto 0; }

.kabe-sticky { position:fixed; right:16px; bottom:16px; z-index:40; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:3px solid var(--navy); border-radius:14px; box-shadow:0 10px 30px rgba(23,36,87,.25); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(16px); transition:opacity .24s ease,transform .24s ease,visibility .24s ease; }
.kabe-sticky.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.kabe-sticky a { padding:13px 16px; color:#fff; text-decoration:none; font-size:.8rem; font-weight:1000; text-align:center; }
.kabe-sticky .is-line { background:var(--green); }
.kabe-sticky .is-consultation { background:var(--orange); }
.kabe-footer { display:grid; gap:10px; padding:30px 40px 88px; color:#dfe4f3; background:#0d1638; font-size:.76rem; text-align:center; }
.kabe-footer>a { color:#fff; font-size:1.15rem; font-weight:1000; text-decoration:none; }
.kabe-footer nav { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }

/* Feminine, calm visual direction: warm rose, lavender and sage. */
.kabe-page { background:#fffdfc; box-shadow:0 0 44px rgba(81,59,92,.12); }
.kabe-header { background:linear-gradient(105deg,rgba(81,59,92,.98),rgba(111,76,113,.98)); border-bottom-color:#edb8c6; }
.kabe-brand { font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.02em; }
.kabe-header-cta { background:linear-gradient(135deg,#c86581,#dc8398); box-shadow:0 4px 0 #9f4c65; }
.kabe-hero { background:
  radial-gradient(circle at 8% 16%,rgba(247,215,223,.72) 0 80px,transparent 81px),
  radial-gradient(circle at 92% 72%,rgba(218,205,232,.65) 0 105px,transparent 106px),
  linear-gradient(145deg,#fff9f7 0%,#f8f1f8 56%,#fff 100%); }
.kabe-hero::before { opacity:.22; background-image:radial-gradient(#d89aae 1.3px,transparent 1.3px); }
.kabe-hero-badge { background:linear-gradient(135deg,#b7627b,#d67d92); box-shadow:0 6px 16px rgba(183,98,123,.18); }
.kabe-kicker { color:#ae617c; }
.kabe-hero .kabe-kicker { color:#76536f; }
.kabe-hero h1,.kabe-section-head h2,.kabe-fit h2,.kabe-plan h2,.kabe-final h2,.kabe-story-close h3,.kabe-case-header h3 {
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;
  letter-spacing:.01em;
}
.kabe-hero h1 em,mark { background:linear-gradient(transparent 62%,#f4c8d4 62%); }
.kabe-hero-lead { color:#57465e; }
.kabe-hero-points li { border-color:#76536f; border-radius:20px; box-shadow:0 8px 20px rgba(81,59,92,.09); }
.kabe-hero-points b { background:linear-gradient(135deg,#76536f,#9a6686); }
.kabe-price-card { border:2px solid #76536f; border-radius:28px; box-shadow:10px 12px 0 #f2ced8; }
.kabe-price-card>strong { color:#c85f7a; }
.kabe-price-card div { background:linear-gradient(135deg,#6a4d70,#8f6484); border-radius:14px; }
.kabe-button { border-color:rgba(81,59,92,.18); border-radius:999px; box-shadow:0 7px 18px rgba(81,59,92,.15); }
.kabe-button.is-line { background:linear-gradient(135deg,#759f8f,#91b7a8); }
.kabe-button.is-consultation { background:linear-gradient(135deg,#ca627f,#df8499); }
.kabe-proof-strip { background:linear-gradient(105deg,#5a4163,#76536f); }
.kabe-proof-strip div:nth-child(1) { border-bottom-color:#f3c9d4; }
.kabe-proof-strip div:nth-child(2) { border-bottom-color:#dc8ba0; }
.kabe-proof-strip div:nth-child(3) { border-bottom-color:#a7c5b9; }
.kabe-proof-strip div:nth-child(4) { border-bottom-color:#c7b4d8; }
.kabe-proof-strip b { color:#f7d7df; }
.kabe-section-head h2,.kabe-fit h2,.kabe-plan h2 { color:#513b5c; }
.kabe-problems { background:linear-gradient(180deg,#fff,#fffafc); }
.kabe-problem-grid article,.kabe-service-grid article { border:2px solid #836783; border-radius:26px; box-shadow:0 12px 28px rgba(81,59,92,.10); }
.kabe-problem-grid article::before { background:linear-gradient(135deg,#ce6983,#e294a6); }
.kabe-problem-grid span { background:#f4d4dc; }
.kabe-manga { background:linear-gradient(180deg,#fff9f5,#faf2f8); }
.kabe-story-scene { border:2px solid #755775; border-radius:28px; box-shadow:10px 12px 0 rgba(218,176,194,.30); }
.kabe-story-turn,.kabe-story-close { background:linear-gradient(135deg,#513b5c,#74526c); }
.kabe-story-turn small,.kabe-story-close>span { color:#f4c8d4; }
.kabe-story-cta,.kabe-case-cta { border:2px solid #76536f; border-radius:24px; box-shadow:10px 12px 0 #f2ced8; }
.kabe-solution { background:linear-gradient(180deg,#f8f1f8,#f1f7f4); border-top:6px solid #9a718d; border-bottom:6px solid #9a718d; }
.kabe-service-grid b { background:#7da897; }
.kabe-service-grid article:nth-child(2n) b { background:#d87890; }
.kabe-service-grid article:nth-child(3n) b { background:#d6c1e3; }
.kabe-cases { background:linear-gradient(180deg,#fff9f7,#f8f1f8); }
.kabe-case-notice { border-color:#ead8df; color:#6b5a67; background:rgba(255,255,255,.82); }
.kabe-case-card { border:2px solid #76536f; border-radius:28px; box-shadow:10px 12px 0 rgba(227,187,201,.30); }
.kabe-case-card.is-restaurant { box-shadow:10px 12px 0 rgba(221,149,166,.24); }
.kabe-case-card.is-gym { box-shadow:10px 12px 0 rgba(148,188,171,.24); }
.kabe-case-header { background:linear-gradient(105deg,#513b5c,#77546e); }
.kabe-case-avatar { border-color:#efbdca; background:#fff9fb; }
.kabe-case-header span { color:#f4c8d4; }
.kabe-case-before { background:#fff5f7; border-bottom-color:#eddce2; }
.kabe-case-route { background:#f2f8f5; border-bottom-color:#dce9e3; }
.kabe-case-result li { border-color:#e2d6e4; border-radius:16px; background:#fcf9fc; }
.kabe-case-result strong { background:#76536f; }
.kabe-case-card footer { background:linear-gradient(90deg,#f4ced8,#f7e3e8); }
.kabe-flow { background:#fffdfd; }
.kabe-flow-list article { border:2px solid #76536f; border-radius:24px; box-shadow:0 10px 24px rgba(81,59,92,.08); }
.kabe-flow-list span { background:#76536f; }
.kabe-flow-list article::after { border-color:#d66f89; }
.kabe-plan { background:linear-gradient(145deg,#f3c9d5,#eadcf0); }
.kabe-plan::before { opacity:.16; background-image:radial-gradient(#9c738e 1px,transparent 1px); }
.kabe-plan-card { border:2px solid #76536f; border-radius:30px; box-shadow:12px 14px 0 rgba(200,114,139,.25); }
.kabe-plan-price strong { background:linear-gradient(135deg,#c95f7b,#dd8297); border-radius:999px; }
.kabe-plan-card>ul li { border-color:#eadbe4; border-radius:14px; background:#fffafd; }
.kabe-plan-card>ul li::before { color:#7da897; }
.kabe-fit { background:linear-gradient(180deg,#f7f0f8,#f3f8f6); }
.kabe-fit-grid>div { border:2px solid #806380; border-radius:28px; box-shadow:8px 10px 0 rgba(125,168,151,.24); }
.kabe-fit-grid>div.is-muted { box-shadow:8px 10px 0 rgba(178,161,181,.24); }
.kabe-fit-grid li { background:#fbf7fb; }
.kabe-faq { background:#fff9fb; }
.kabe-faq details { border:2px solid #806380; border-radius:18px; box-shadow:0 8px 20px rgba(81,59,92,.08); }
.kabe-faq details[open] summary { background:linear-gradient(105deg,#62476a,#80607b); }
.kabe-final { background:linear-gradient(145deg,#513b5c,#74526c); border-top-color:#efbdca; }
.kabe-final mark { color:#513b5c; background:#f4c8d4; }
.kabe-sticky { border-color:#76536f; box-shadow:0 10px 30px rgba(81,59,92,.22); }
.kabe-sticky .is-line { background:#7da897; }
.kabe-sticky .is-consultation { background:#d66f89; }
.kabe-footer { background:#392d40; }

@media (max-width:760px) {
  html,body.kabeyaburukun-lp { width:100%; max-width:100%; overflow-x:clip; }
  .kabe-page,.kabe-page main,.kabe-page section { width:100%; max-width:100%; min-width:0; }
  .kabe-page { box-shadow:none; overflow:clip; }
  .kabe-header { grid-template-columns:1fr auto; min-height:50px; padding:5px 12px; border-bottom-width:3px; }
  .kabe-header>span { display:none; }
  .kabe-brand { font-size:1.12rem; }
  .kabe-header-cta { padding:6px 12px; font-size:.72rem; box-shadow:0 3px 0 #087450; }
  .kabe-hero { padding:30px 12px 24px; gap:11px; }
  .kabe-hero-badge { margin-bottom:8px; padding:6px 13px; font-size:.7rem; }
  .kabe-kicker { font-size:.68rem; letter-spacing:.07em; overflow-wrap:anywhere; }
  .kabe-hero h1 { font-size:clamp(1.8rem,9.2vw,2.2rem); line-height:1.18; overflow-wrap:anywhere; }
  .kabe-hero h1 span { font-size:.56em; }
  .kabe-hero h1 em { font-size:.92em; white-space:normal; }
  .kabe-hero-lead { margin-top:10px; font-size:.84rem; line-height:1.65; }
  .kabe-hero-points { grid-template-columns:1fr; gap:7px; margin-top:12px; }
  .kabe-hero-points li { border-radius:11px; box-shadow:0 4px 0 rgba(23,36,87,.12); }
  .kabe-hero-points b { padding:5px; font-size:.79rem; }
  .kabe-hero-points span { padding:7px 6px; font-size:.72rem; }
  .kabe-price-card { min-width:0; padding:15px 11px; border-radius:20px; box-shadow:5px 6px 0 #f2ced8; }
  .kabe-price-card>strong { font-size:2.25rem; }
  .kabe-price-card p { margin:6px auto; font-size:.79rem; line-height:1.6; }
  .kabe-price-card div { max-width:100%; padding:6px 9px; font-size:.82rem; }
  .kabe-cta { min-width:0; max-width:100%; grid-template-columns:1fr; gap:7px; }
  .kabe-button { width:100%; max-width:100%; min-width:0; min-height:54px; padding:8px 10px; border-radius:999px; font-size:.84rem; line-height:1.35; box-shadow:0 5px 14px rgba(81,59,92,.15); overflow-wrap:anywhere; }
  .kabe-button small { font-size:.59rem; line-height:1.25; }
  .kabe-proof-strip { grid-template-columns:1fr 1fr; }
  .kabe-proof-strip div { min-width:0; padding:10px 4px; }
  .kabe-proof-strip span { font-size:.78rem; }
  .kabe-section { padding:42px 12px; }
  .kabe-section-head { min-width:0; max-width:100%; margin-bottom:22px; }
  .kabe-section-head h2,.kabe-plan h2,.kabe-final h2 { max-width:100%; font-size:clamp(1.45rem,7vw,1.7rem); line-height:1.42; overflow-wrap:anywhere; }
  .kabe-section-head>p:last-child { margin-top:12px; font-size:.84rem; line-height:1.7; }
  .kabe-problem-grid,.kabe-service-grid,.kabe-flow-list,.kabe-fit-grid { grid-template-columns:1fr; }
  .kabe-problem-grid,.kabe-service-grid { gap:11px; }
  .kabe-problem-grid article,.kabe-service-grid article { min-width:0; min-height:0; padding:18px 13px 16px; border-radius:20px; box-shadow:0 8px 20px rgba(81,59,92,.09); }
  .kabe-problem-grid article::before,.kabe-service-grid b { width:36px; height:36px; }
  .kabe-problem-grid h3,.kabe-service-grid h3 { margin:8px 0 4px; font-size:.97rem; }
  .kabe-problem-grid p,.kabe-service-grid p { font-size:.79rem; line-height:1.65; }
  .kabe-case-notice { padding:9px 10px; font-size:.65rem; }
  .kabe-case-grid { min-width:0; max-width:100%; gap:17px; }
  .kabe-case-card { min-width:0; max-width:100%; border-width:2px; border-radius:20px; box-shadow:5px 6px 0 rgba(227,187,201,.30); }
  .kabe-case-card.is-restaurant { box-shadow:5px 6px 0 rgba(221,149,166,.24); }
  .kabe-case-card.is-gym { box-shadow:5px 6px 0 rgba(148,188,171,.24); }
  .kabe-case-header { gap:11px; padding:14px 12px; }
  .kabe-case-avatar { flex-basis:54px; width:54px; height:54px; border-width:3px; font-size:1.8rem; }
  .kabe-case-header span { font-size:.58rem; }
  .kabe-case-header h3 { font-size:1.05rem; }
  .kabe-case-header p { font-size:.68rem; }
  .kabe-case-before,.kabe-case-route { grid-template-columns:1fr; gap:5px; padding:13px 11px; }
  .kabe-case-before b,.kabe-case-route b { font-size:.78rem; }
  .kabe-case-before p,.kabe-case-route p { font-size:.76rem; line-height:1.65; text-align:center; }
  .kabe-case-result { grid-template-columns:1fr; gap:6px; padding:13px 11px; }
  .kabe-case-result li { padding:9px 8px; }
  .kabe-case-result strong { display:inline-block; min-width:82px; margin:0 7px 0 0; padding:2px 8px; vertical-align:middle; }
  .kabe-case-result span { display:inline; font-size:.72rem; vertical-align:middle; }
  .kabe-case-card footer { grid-template-columns:1fr; gap:3px; padding:11px; text-align:center; }
  .kabe-case-card footer span { font-size:.63rem; }
  .kabe-case-card footer b { font-size:.82rem; }
  .kabe-case-cta { margin-top:21px; padding:18px 9px; border-width:3px; border-radius:14px; box-shadow:4px 4px 0 var(--yellow); }
  .kabe-case-cta>p { font-size:.74rem; }
  .kabe-case-cta>strong { margin:4px 0 11px; font-size:.98rem; line-height:1.5; }
  .kabe-manga>.kabe-section-head { margin-bottom:25px; }
  .kabe-story { min-width:0; max-width:100%; gap:18px; }
  .kabe-story-scene { min-width:0; max-width:100%; border-width:2px; border-radius:18px; box-shadow:5px 6px 0 rgba(218,176,194,.28); }
  .kabe-story-scene figure { width:100%; max-width:100%; overflow:hidden; }
  .kabe-story-scene img { width:100%; max-width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  .kabe-story-turn { min-width:0; padding:23px 12px 32px; }
  .kabe-story-turn strong { font-size:1.08rem; line-height:1.5; overflow-wrap:anywhere; }
  .kabe-story-cta { min-width:0; max-width:100%; padding:16px 9px; border-width:3px; box-shadow:4px 4px 0 var(--yellow); }
  .kabe-story-cta>p { margin-bottom:10px; font-size:1rem; }
  .kabe-story-close { min-width:0; max-width:100%; padding:29px 10px; border-radius:14px; }
  .kabe-story-close h3 { font-size:1.55rem; }
  .kabe-story-close>p { font-size:.84rem; line-height:1.7; }
  .kabe-story-close>.kabe-cta { margin-top:16px; }
  .kabe-flow-list article::after { top:auto; right:calc(50% - 9px); bottom:-16px; transform:rotate(135deg); }
  .kabe-flow-list { gap:11px; }
  .kabe-flow-list article { min-width:0; padding:16px 11px; border-radius:13px; }
  .kabe-flow-list p { font-size:.76rem; line-height:1.6; }
  .kabe-plan-card { min-width:0; max-width:100%; padding:24px 10px; border-radius:22px; box-shadow:6px 7px 0 rgba(200,114,139,.25); }
  .kabe-plan-price { margin:13px 0; }
  .kabe-plan-price strong { max-width:100%; padding:6px 12px; font-size:1.75rem; }
  .kabe-plan-card>ul { grid-template-columns:1fr; }
  .kabe-plan-card>ul { gap:6px; margin:16px auto; }
  .kabe-plan-card>ul li { padding:7px 6px; font-size:.78rem; }
  .kabe-plan-card>p { font-size:.82rem; line-height:1.65; }
  .kabe-fit-grid { gap:14px; }
  .kabe-fit-grid>div { min-width:0; max-width:100%; padding:22px 12px; border-radius:15px; box-shadow:4px 4px 0 var(--green); }
  .kabe-fit-grid>div.is-muted { box-shadow:4px 4px 0 #aeb7ca; }
  .kabe-fit-grid h2 { font-size:1.32rem; }
  .kabe-fit-grid li { margin:6px 0; padding:7px; font-size:.8rem; }
  .kabe-faq details { min-width:0; max-width:100%; border-width:2px; box-shadow:3px 3px 0 #dbe2f3; }
  .kabe-faq summary { padding:13px 11px; font-size:.84rem; line-height:1.5; overflow-wrap:anywhere; }
  .kabe-faq details p { padding:14px 12px 17px; font-size:.8rem; line-height:1.7; }
  .kabe-final { padding:45px 12px 83px; }
  .kabe-final>p { font-size:.84rem; line-height:1.7; }
  .kabe-final>.kabe-cta { margin-top:18px; }
  .kabe-sticky { right:5px; bottom:5px; left:5px; border-width:2px; border-radius:10px; box-shadow:0 6px 18px rgba(23,36,87,.23); }
  .kabe-sticky a { display:flex; min-width:0; min-height:38px; align-items:center; justify-content:center; padding:6px 4px; font-size:.62rem; line-height:1.25; overflow-wrap:anywhere; }
  .kabe-footer { padding:25px 12px 72px; }
  .kabe-footer nav { gap:9px; }
}

@media (max-width:374px) {
  .kabe-hero { padding-right:10px; padding-left:10px; }
  .kabe-section { padding-right:10px; padding-left:10px; }
  .kabe-hero h1 { font-size:1.72rem; }
  .kabe-section-head h2,.kabe-plan h2,.kabe-final h2 { font-size:1.38rem; }
  .kabe-button { font-size:.79rem; }
  .kabe-button small { font-size:.55rem; }
  .kabe-sticky a { font-size:.57rem; }
}

/* v1.0.43 — Carnet-inspired, feminine editorial art direction */
body.kabeyaburukun-lp {
  --navy:#617da3;
  --yellow:#f5d8e3;
  --orange:#c9839f;
  --green:#7fa79f;
  --blue-bg:#f7edf3;
  --cream:#fffaf7;
  --ink:#5a4d59;
  color:var(--ink);
  background:#f3dfe8;
}
.kabe-page { width:min(900px,100%); background:#fffdfb; box-shadow:0 18px 60px rgba(122,84,107,.14); }
.kabe-header {
  min-height:68px;
  color:#617da3;
  background:rgba(255,251,249,.94);
  border-bottom:1px solid #efd4df;
  box-shadow:0 6px 18px rgba(128,91,112,.08);
  backdrop-filter:blur(12px);
}
.kabe-brand { display:flex; align-items:center; gap:9px; color:#617da3; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; }
.kabe-brand img { width:42px; height:42px; object-fit:cover; border:2px solid #fff; border-radius:50%; box-shadow:0 4px 12px rgba(120,88,106,.16); }
.kabe-brand span { font-size:1rem; letter-spacing:.03em; }
.kabe-header>span { color:#97778a; }
.kabe-header-cta { background:linear-gradient(135deg,#c57d9a,#dda5b8); box-shadow:0 4px 0 #a66580; }

.kabe-hero {
  grid-template-columns:minmax(330px,.94fr) minmax(0,1.06fr);
  column-gap:28px;
  padding:44px 42px 36px;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.92) 0 110px,transparent 111px),
    radial-gradient(circle at 91% 9%,rgba(215,231,235,.65) 0 130px,transparent 131px),
    linear-gradient(155deg,#fffdfb 0%,#f8e9f0 55%,#f4e1ea 100%);
  text-align:left;
}
.kabe-hero::before {
  opacity:.22;
  background-image:
    radial-gradient(#d6a6b8 1.2px,transparent 1.2px),
    linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.55) 48% 52%,transparent 52%);
  background-size:24px 24px,100% 100%;
}
.kabe-hero-copy { grid-column:2; grid-row:1; align-self:center; text-align:left; }
.kabe-hero-badge { margin:0 0 13px; color:#fff; background:#c886a1; box-shadow:none; }
.kabe-hero .kabe-kicker { color:#718aaa; text-align:left; }
.kabe-hero h1 { color:#5d769b; font-size:clamp(2rem,4.8vw,3.35rem); font-weight:700; line-height:1.28; letter-spacing:.015em; text-align:left; }
.kabe-hero h1 em { color:#5d769b; background:linear-gradient(transparent 69%,rgba(228,168,190,.55) 69%); font-size:.76em; white-space:normal; }
.kabe-hero-lead { color:#655964; font-size:.9rem; font-weight:600; line-height:1.9; text-align:left; }
.kabe-hero-points { grid-template-columns:1fr; gap:7px; margin:16px 0 0; }
.kabe-hero-points li {
  display:grid;
  grid-template-columns:115px 1fr;
  align-items:center;
  border:1px solid rgba(113,138,170,.28);
  border-radius:999px;
  box-shadow:none;
  background:rgba(255,255,255,.84);
}
.kabe-hero-points b { padding:7px 11px; border-radius:999px; background:#718aaa; text-align:center; }
.kabe-hero-points span { padding:7px 12px; }
.kabe-hero-visual { position:relative; z-index:2; grid-column:1; grid-row:1; min-height:550px; align-self:end; }
.kabe-hero-photo-shape {
  position:absolute;
  bottom:18px;
  left:-36px;
  width:400px;
  height:485px;
  border-radius:48% 52% 42% 58% / 54% 38% 62% 46%;
  background:
    radial-gradient(circle at 40% 30%,rgba(255,255,255,.95),rgba(231,211,224,.72) 58%,rgba(205,221,227,.76));
  box-shadow:0 24px 42px rgba(117,84,103,.14);
}
.kabe-hero-woman {
  position:absolute;
  bottom:-5px;
  left:-13px;
  z-index:2;
  width:390px;
  max-height:540px;
  object-fit:contain;
  object-position:bottom;
  filter:drop-shadow(0 18px 16px rgba(90,63,78,.15));
  transform-origin:50% 100%;
  will-change:transform,opacity;
}
.kabe-hero-woman.is-poyon {
  animation:kabe-woman-poyon 1.42s cubic-bezier(.22,1.18,.32,1) both;
}
@keyframes kabe-woman-poyon {
  0% { opacity:.08; transform:translate3d(0,88px,0) scale(.76,1.16) rotate(-2.2deg); }
  38% { opacity:1; transform:translate3d(0,-24px,0) scale(1.13,.89) rotate(1.4deg); }
  56% { transform:translate3d(0,13px,0) scale(.91,1.11) rotate(-.8deg); }
  70% { transform:translate3d(0,-10px,0) scale(1.075,.94) rotate(.5deg); }
  82% { transform:translate3d(0,5px,0) scale(.965,1.045) rotate(-.25deg); }
  91% { transform:translate3d(0,-3px,0) scale(1.025,.98) rotate(.12deg); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1) rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
  .kabe-hero-woman { will-change:auto; }
  .kabe-hero-woman.is-poyon { animation:none; }
}
.kabe-hero-icon {
  position:absolute;
  right:-3px;
  bottom:32px;
  z-index:4;
  width:118px;
  padding:8px;
  border:5px solid #fff;
  border-radius:50%;
  background:#fff;
  box-shadow:0 12px 26px rgba(92,70,85,.18);
  transform:rotate(-5deg);
}
.kabe-hero-icon img { width:100%; aspect-ratio:1/1; border-radius:50%; object-fit:cover; }
.kabe-hand-note {
  position:absolute;
  top:40px;
  right:-8px;
  z-index:4;
  margin:0;
  color:#b5728d;
  font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;
  font-size:1rem;
  font-weight:700;
  line-height:1.7;
  text-align:center;
  transform:rotate(4deg);
}
.kabe-hand-note::after { content:""; display:block; width:60px; height:22px; margin:-4px 0 0 8px; border-bottom:2px solid #b5728d; border-radius:50%; transform:rotate(-9deg); }
.kabe-price-card,.kabe-hero>.kabe-cta { grid-column:1/-1; }
.kabe-price-card {
  width:min(690px,100%);
  margin-top:14px;
  border:1px solid #ddb6c6;
  border-radius:28px;
  box-shadow:8px 10px 0 rgba(231,190,205,.46);
  background:rgba(255,255,255,.94);
}
.kabe-price-card>strong { color:#bd6f8c; font-weight:600; }
.kabe-price-card>strong small { color:#6c7f9d; }
.kabe-price-card div { background:linear-gradient(135deg,#6d88ac,#8ba1be); }

.kabe-proof-strip { background:#718aaa; }
.kabe-proof-strip b { color:#fae5ec; }
.kabe-section { position:relative; }
.kabe-kicker { color:#c17b98; font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif; letter-spacing:.07em; }
.kabe-section-head h2,.kabe-fit h2,.kabe-plan h2,.kabe-final h2 { color:#617da3; font-weight:700; letter-spacing:.01em; }
.kabe-problems { padding-top:82px; background:#fffaf7; }
.kabe-mascot-idea { position:absolute; top:36px; right:34px; width:150px; filter:drop-shadow(0 12px 13px rgba(91,69,83,.14)); transform:rotate(3deg); }
.kabe-problem-grid article,.kabe-service-grid article {
  border:1px solid #e3c2cf;
  border-radius:28px;
  box-shadow:0 12px 28px rgba(123,86,106,.08);
  background:linear-gradient(160deg,#fff,#fff8fb);
}
.kabe-problem-grid article::before { background:#c985a0; }
.kabe-problem-grid span { color:#617da3; background:#f4dce5; border-radius:999px; }
.kabe-problem-grid h3,.kabe-service-grid h3 { color:#617da3; }
.kabe-manga,.kabe-cases,.kabe-faq { background:#fff7fa; }
.kabe-solution,.kabe-fit { background:#f2f6f6; border-color:#d7e4e1; }
.kabe-story-turn,.kabe-story-close,.kabe-case-header,.kabe-final { background:linear-gradient(135deg,#687fa3,#8ca0bc); }
.kabe-story-scene,.kabe-case-card,.kabe-flow-list article,.kabe-fit-grid>div,.kabe-faq details {
  border-color:#d8b5c4;
  box-shadow:0 10px 25px rgba(106,79,94,.09);
}
.kabe-plan { background:linear-gradient(145deg,#f5dce5,#eef4f5); }
.kabe-plan-card { border-color:#d6adbe; box-shadow:10px 12px 0 rgba(214,171,188,.28); }
.kabe-plan-price strong { background:linear-gradient(135deg,#be7895,#d99bb1); }
.kabe-button { border-color:rgba(104,83,97,.14); box-shadow:0 8px 18px rgba(100,73,89,.13); }
.kabe-button { position:relative; min-height:72px; padding:11px 44px; font-size:1.16rem; line-height:1.35; }
.kabe-button small { margin-bottom:3px; font-size:.72rem; line-height:1.3; }
.kabe-button::after { position:absolute; top:50%; right:20px; transform:translateY(-50%); }
.kabe-button.is-line { background:linear-gradient(135deg,#769f97,#97b8b1); }
.kabe-button.is-consultation {
  border-color:#a85d79;
  background:linear-gradient(135deg,#c86f91,#e59ab4);
  box-shadow:0 7px 0 #984b69,0 16px 30px rgba(174,87,120,.25);
  text-shadow:0 1px 2px rgba(82,32,54,.28);
}
.kabe-footer { background:#6b6070; }
body.kabeyaburukun-lp .kabe-final h2 { color:#fff !important; text-shadow:0 2px 8px rgba(48,55,92,.24); }
body.kabeyaburukun-lp .kabe-final h2 mark { color:#513b5c !important; text-shadow:none; background:#f4c8d4; }

/* v1.0.45: 60秒チェック特典とCTAの光彩 */
.kabe-button,.kabe-header-cta,.kabe-sticky a,.kabe-check-gift-button { position:relative; overflow:hidden; isolation:isolate; }
.kabe-button::after,.kabe-header-cta::after,.kabe-sticky a::after,.kabe-check-gift-button::after {
  content:""; position:absolute; z-index:1; inset:-45% auto -45% -42%; width:28%; transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  animation:kabeCtaShine 2.8s ease-in-out infinite; pointer-events:none;
}
.kabe-button:hover,.kabe-header-cta:hover,.kabe-check-gift-button:hover { filter:brightness(1.06); transform:translateY(-2px); }
@keyframes kabeCtaShine { 0%,36%{left:-42%;opacity:0} 45%{opacity:1} 66%,100%{left:118%;opacity:0} }

.kabe-check-gift {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); gap:clamp(24px,5vw,64px); align-items:center;
  padding:clamp(42px,7vw,78px) clamp(20px,6vw,72px); color:#513b5c;
  background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.9),transparent 28%),linear-gradient(135deg,#fff8fb,#f6dce6 56%,#eef6f2);
}
.kabe-check-gift h2 { margin:10px 0 18px; color:#513b5c; font-size:clamp(1.8rem,4vw,3.2rem); line-height:1.35; }
.kabe-check-gift h2 mark { color:#513b5c; background:linear-gradient(transparent 58%,#f7d270 58%); }
.kabe-check-gift-copy>p:not(.kabe-kicker) { max-width:720px; margin:0; font-weight:800; line-height:1.9; }
.kabe-check-type-list { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.kabe-check-type-list span { padding:8px 13px; border:1px solid #dc9fb5; border-radius:999px; background:#fff; font-size:.82rem; font-weight:1000; }
.kabe-check-gift-button { display:inline-grid; place-items:center; min-width:min(100%,390px); padding:15px 30px; border-radius:999px; color:#fff; background:linear-gradient(135deg,#b64770,#da6f91); box-shadow:0 8px 0 #883653,0 18px 34px rgba(174,70,107,.24); text-decoration:none; font-size:1.18rem; font-weight:1000; line-height:1.35; transition:.2s ease; text-shadow:0 1px 2px rgba(72,28,48,.28); }
body.kabeyaburukun-lp .kabe-check-gift-button { color:#fff !important; }
.kabe-check-gift-button small { font-size:.72rem; }
.kabe-check-gift-card { position:relative; min-height:330px; padding:32px 24px; overflow:hidden; border:8px solid #fff; border-radius:28px; color:#fff; background:linear-gradient(145deg,#695372,#c06d8a 62%,#e9a6b9); box-shadow:0 24px 55px rgba(81,59,92,.24); }
.kabe-check-gift-card span,.kabe-check-gift-card strong,.kabe-check-gift-card b { position:relative; z-index:2; display:block; }
.kabe-check-gift-card span { font-size:.8rem; font-weight:1000; letter-spacing:.08em; }
.kabe-check-gift-card strong { width:46%; margin-top:12px; color:#fff; font-family:Georgia,"Yu Mincho",serif; font-size:2.2rem; line-height:1.05; text-shadow:0 3px 10px rgba(46,23,55,.42); }
.kabe-check-gift-card strong em { display:block; margin-top:8px; color:#fff; font-family:Georgia,serif; font-size:1.68rem; font-style:normal; line-height:.96; letter-spacing:.05em; }
.kabe-check-gift-card b { display:inline-block; margin-top:16px; padding:7px 12px; border-radius:999px; color:#513b5c; background:#f7d270; }
.kabe-check-gift-card img { position:absolute; right:-16px; bottom:-38px; width:176px; transform:rotate(-3deg); filter:drop-shadow(0 12px 16px rgba(40,24,48,.2)); }

@media (max-width:760px) {
  .kabe-check-gift { grid-template-columns:1fr; padding:38px 16px; text-align:center; }
  .kabe-check-gift-copy>p:not(.kabe-kicker) { font-size:.94rem; }
  .kabe-check-type-list { justify-content:center; }
  .kabe-check-gift-button { width:100%; min-width:0; padding:14px 18px; font-size:1.04rem; }
  .kabe-check-gift-card { width:min(100%,340px); min-height:290px; margin:auto; text-align:left; }
  .kabe-check-gift-card strong { width:44%; font-size:2rem; }
  .kabe-check-gift-card strong em { font-size:1.5rem; }
  .kabe-check-gift-card img { right:-12px; width:168px; }
}
@media (prefers-reduced-motion:reduce) {
  .kabe-button::after,.kabe-header-cta::after,.kabe-sticky a::after,.kabe-check-gift-button::after { animation:none; }
}

/* v1.0.47: 60秒チェックCTAの色・文言・視認性を統一 */
body.kabeyaburukun-lp .kabe-button.is-line,
body.kabeyaburukun-lp .kabe-header-cta,
body.kabeyaburukun-lp .kabe-sticky .is-line,
body.kabeyaburukun-lp .kabe-check-gift-button {
  color:#fff !important;
  border-color:#0e6d4e;
  background:linear-gradient(135deg,#13855f,#32ad80) !important;
  box-shadow:0 7px 0 #0b6448,0 15px 28px rgba(19,133,95,.24);
  text-shadow:0 1px 2px rgba(0,50,35,.34);
}
body.kabeyaburukun-lp .kabe-button.is-consultation {
  color:#fff !important;
  border-color:#a85d79;
  background:linear-gradient(135deg,#c86f91,#e59ab4) !important;
  box-shadow:0 7px 0 #984b69,0 16px 30px rgba(174,87,120,.25);
  text-shadow:0 1px 2px rgba(82,32,54,.28);
}
.kabe-header-cta {
  display:flex; min-width:174px; min-height:50px; flex-direction:column; align-items:center; justify-content:center;
  padding:7px 14px; text-align:center; line-height:1.12;
}
.kabe-header-cta small,.kabe-sticky .is-line small { display:block; font-size:.6rem; font-weight:900; letter-spacing:.02em; }
.kabe-header-cta strong,.kabe-sticky .is-line strong { display:block; margin-top:3px; font-size:.78rem; font-weight:1000; }
.kabe-check-gift-copy { position:relative; z-index:2; min-width:0; }
.kabe-check-gift h2 { max-width:100%; font-size:clamp(1.75rem,3.25vw,2.85rem); overflow-wrap:anywhere; }
.kabe-check-gift h2 mark { display:inline; }
.kabe-check-gift-card { z-index:1; }
.kabe-sticky .is-line { display:flex; min-width:0; flex-direction:column; align-items:center; justify-content:center; line-height:1.12; }

@media (max-width:760px) {
  .kabe-header-cta { min-width:132px; min-height:44px; padding:5px 8px; }
  .kabe-header-cta small { font-size:.51rem; }
  .kabe-header-cta strong { font-size:.66rem; }
  .kabe-check-gift h2 { font-size:clamp(1.62rem,8vw,2.25rem); line-height:1.4; }
  .kabe-sticky .is-line { padding:5px 3px; }
  .kabe-sticky .is-line small { font-size:.48rem; }
  .kabe-sticky .is-line strong { font-size:.59rem; }
}

@media (max-width:760px) {
  .kabe-header { min-height:54px; padding:5px 10px; }
  .kabe-brand { gap:6px; }
  .kabe-brand img { width:36px; height:36px; }
  .kabe-brand span { font-size:.8rem; }
  .kabe-hero { grid-template-columns:1fr; padding:28px 12px 24px; text-align:center; }
  .kabe-hero-copy { grid-column:auto; grid-row:auto; text-align:center; }
  .kabe-hero .kabe-kicker,.kabe-hero h1,.kabe-hero-lead { text-align:center; }
  .kabe-hero h1 { font-size:clamp(1.75rem,8.7vw,2.15rem); }
  .kabe-hero-lead { font-size:.82rem; }
  .kabe-hero-points li { grid-template-columns:105px 1fr; text-align:left; }
  .kabe-hero-visual { grid-column:auto; grid-row:auto; min-height:390px; }
  .kabe-hero-photo-shape { right:calc(50% - 190px); bottom:8px; left:auto; width:350px; height:350px; }
  .kabe-hero-woman { right:calc(50% - 165px); left:auto; width:310px; max-height:370px; }
  .kabe-hero-icon { right:auto; bottom:18px; left:6px; width:92px; padding:5px; border-width:4px; }
  .kabe-hand-note { top:16px; right:7px; font-size:.82rem; }
  .kabe-price-card { margin-top:4px; }
  .kabe-price-card>strong { font-size:2.05rem; }
  .kabe-price-card>strong small { font-size:.72rem; }
  .kabe-mascot-idea { position:relative; top:auto; right:auto; width:112px; margin:-20px auto 8px; }
  .kabe-problems { padding-top:54px; }
  .kabe-section { padding-right:12px; padding-left:12px; }
  .kabe-button { min-height:62px; padding:9px 34px; font-size:.98rem; }
  .kabe-button small { margin-bottom:2px; font-size:.64rem; }
  .kabe-button::after { right:14px; }
}

@media (max-width:374px) {
  .kabe-brand span { display:none; }
  .kabe-hero-visual { min-height:345px; }
  .kabe-hero-woman { right:calc(50% - 150px); left:auto; width:285px; max-height:340px; }
  .kabe-hero-photo-shape { right:calc(50% - 170px); left:auto; width:320px; height:320px; }
}

/* v1.0.95: mobile Japanese line-break and overflow polish */
@media (max-width:760px) {
  .kabe-hero h1,
  .kabe-section-head h2,
  .kabe-plan h2,
  .kabe-final h2,
  .kabe-story-turn strong,
  .kabe-faq summary {
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }

  .kabe-hero h1 br { display:none; }
  .kabe-hero h1 span { display:block; }
  .kabe-hero h1 em {
    display:block;
    margin-top:.34em;
    font-size:clamp(1rem,4.65vw,1.14rem);
    line-height:1.45;
    letter-spacing:-.045em;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
  }

  .kabe-section-head h2,
  .kabe-plan h2,
  .kabe-final h2 {
    font-size:clamp(1.32rem,5.8vw,1.5rem);
    line-height:1.48;
  }

  .kabe-button,
  .kabe-header-cta,
  .kabe-sticky a {
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }

  .kabe-story-turn strong {
    font-size:.88rem;
    letter-spacing:-.02em;
    text-wrap:balance;
  }

  .kabe-faq summary {
    padding-right:42px;
    font-size:.81rem;
    text-wrap:balance;
  }

  .kabe-page p {
    text-wrap:pretty;
  }
}

@media (max-width:374px) {
  .kabe-hero h1 em {
    font-size:clamp(.9rem,4.5vw,1rem);
    letter-spacing:-.055em;
  }

  .kabe-section-head h2,
  .kabe-plan h2,
  .kabe-final h2 {
    font-size:1.18rem;
  }

  .kabe-case-card footer b {
    font-size:.76rem;
    letter-spacing:-.02em;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }
}
