/* =========================================================
 *  100均 育児トップ（ブロック編集版）スタイル
 *  コアブロックに付けた className を拾って装飾する
 *  すべて .ikb-lp 配下にスコープ（SWELL等と干渉しない）
 *  フォント M PLUS Rounded 1c はプラグインが別途読み込み
 * ========================================================= */

.ikb-lp{
	--ink:#1e332c; --sub:#5e6e68; --line:#e2eae6;
	--bg:#ffffff; --soft:#eaf4ef; --soft-warm:#fff3ee;
	--green:#1fa67a; --green-d:#16805e;
	--coral:#ff7a59; --coral-d:#e85c3c;
	--amber:#e8a317; --muted:#aab4af;
	--r:18px; --r-sm:12px; --pill:999px;
	--sh-sm:0 2px 10px rgba(30,51,44,.06);
	--sh:0 16px 44px rgba(30,51,44,.13);
	--wrap:1080px;

	color:var(--ink); background:var(--bg);
	font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
	line-height:1.85;

	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}
.ikb-lp *{ box-sizing:border-box; }

/* セクション・幅 */
.ikb-lp .ikb-sec{ padding-block:clamp(2.6rem,6vw,5rem); }
.ikb-lp .ikb-soft{ background:var(--soft); }
.ikb-lp .ikb-warm{ background:var(--soft-warm); }
.ikb-lp .ikb-hero{ background:linear-gradient(180deg,var(--soft) 0%, #fff 100%); }
.ikb-lp .ikb-wrap{ max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(1rem,4vw,2rem); }

/* 見出しまわり */
.ikb-lp .ikb-eyebrow{
	display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.1em;
	color:var(--green-d); background:#fff; padding:.35em .9em; border-radius:var(--pill);
	margin:0 0 .5rem; box-shadow:var(--sh-sm);
}
.ikb-lp .ikb-title{ font-size:clamp(1.5rem,1rem + 2.2vw,2.2rem); font-weight:800; line-height:1.3; letter-spacing:-.01em; margin:.3rem 0 .5rem; }
.ikb-lp .ikb-lead{ color:var(--sub); font-size:1.02rem; max-width:42em; margin:.2rem 0 0; }

/* ヒーロー */
.ikb-lp .ikb-hero-cols{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.4rem,4vw,3rem); align-items:center; }
.ikb-lp .ikb-hero-text h1{ font-size:clamp(1.8rem,1.1rem + 3.2vw,3rem); font-weight:800; line-height:1.3; letter-spacing:-.02em; margin:.4rem 0 .6rem; }
.ikb-lp .ikb-hero-text .ikb-lead{ margin-bottom:1.3rem; }

/* ボタン（コアボタンを着色） */
.ikb-lp .wp-block-button__link{ border-radius:var(--pill); padding:.85em 1.7em; font-weight:700; transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.ikb-lp .wp-block-button:not(.is-style-outline) .wp-block-button__link{ background-color:var(--coral); color:#fff; box-shadow:0 8px 20px rgba(255,122,89,.35); }
.ikb-lp .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{ background-color:var(--coral-d); transform:translateY(-2px); }
.ikb-lp .wp-block-button.is-style-outline .wp-block-button__link{ background:#fff; color:var(--green-d); border:2px solid var(--green); }
.ikb-lp .wp-block-button.is-style-outline .wp-block-button__link:hover{ background:var(--green); color:#fff; transform:translateY(-2px); }

/* 取り扱いカード（シグネチャ） */
.ikb-lp .ikb-finder{ position:relative; background:#fff; border-radius:var(--r); box-shadow:var(--sh); padding:1.4rem; border:1px solid var(--line); }
.ikb-lp .ikb-sticker{
	position:absolute; top:-16px; right:-8px; width:60px; height:60px; border-radius:50%;
	background:var(--coral); color:#fff; display:flex; align-items:center; justify-content:center;
	font-weight:800; font-size:.85rem; transform:rotate(12deg); box-shadow:0 8px 18px rgba(232,92,60,.4); margin:0;
}

/* 取り扱いリスト */
.ikb-lp .ikb-avail{ margin-top:.6rem; border-top:1px dashed var(--line); padding-top:.4rem; }
.ikb-lp .ikb-row{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.35rem 0; }
.ikb-lp .ikb-row > *{ margin:0; }
.ikb-lp .ikb-store{ font-weight:500; flex:1; }
.ikb-lp .ikb-store::before{ content:""; display:inline-block; width:11px; height:11px; border-radius:50%; background:var(--dot,#ccc); margin-right:.5rem; vertical-align:middle; }
.ikb-lp .ikb-daiso{ --dot:#e60012; } .ikb-lp .ikb-seria{ --dot:#0f9d58; } .ikb-lp .ikb-cando{ --dot:#0068b7; } .ikb-lp .ikb-watts{ --dot:#f39800; }
.ikb-lp .ikb-mark{ font-weight:800; }
.ikb-lp .ikb-ok{ color:var(--green); } .ikb-lp .ikb-maybe{ color:var(--amber); } .ikb-lp .ikb-no{ color:var(--muted); }

/* グリッド */
.ikb-lp .ikb-grid{ display:grid; gap:1.1rem; margin-top:1.6rem; }
.ikb-lp .ikb-grid-4{ grid-template-columns:repeat(4,1fr); }
.ikb-lp .ikb-grid-3{ grid-template-columns:repeat(3,1fr); }
.ikb-lp .ikb-grid-2{ grid-template-columns:repeat(2,1fr); }

/* カード */
.ikb-lp .ikb-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1.3rem; box-shadow:var(--sh-sm); transition:transform .25s ease, box-shadow .25s ease; }
.ikb-lp .ikb-card:hover{ transform:translateY(-5px); box-shadow:var(--sh); }
.ikb-lp .ikb-card h3{ font-size:1.08rem; font-weight:800; margin:.2rem 0 .3rem; }
.ikb-lp .ikb-note{ font-size:.84rem; color:var(--sub); margin:0 0 .5rem; }

/* 店舗カード：上ボーダーに店カラー */
.ikb-lp .ikb-store-card{ border-top:5px solid var(--c,#ccc); }
.ikb-lp .ikb-c-daiso{ --c:#e60012; } .ikb-lp .ikb-c-seria{ --c:#0f9d58; } .ikb-lp .ikb-c-cando{ --c:#0068b7; } .ikb-lp .ikb-c-watts{ --c:#f39800; }

/* アイコン枠（絵文字を入れる段落） */
.ikb-lp .ikb-ic{ width:52px; height:52px; border-radius:14px; background:var(--soft); display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 0 .6rem; }

/* カテゴリ */
.ikb-lp .ikb-cat{ display:flex; align-items:center; gap:.4rem; background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:1rem 1.1rem; transition:border-color .2s ease, transform .2s ease; }
.ikb-lp .ikb-cat:hover{ border-color:var(--green); transform:translateX(3px); }
.ikb-lp .ikb-cat .ikb-ic{ width:42px; height:42px; font-size:1.3rem; margin:0 .2rem 0 0; }
.ikb-lp .ikb-cat h3{ margin:0; font-size:1rem; }

/* 選び方 */
.ikb-lp .ikb-tip{ background:#fff; border-radius:var(--r); padding:1.4rem; box-shadow:var(--sh-sm); }
.ikb-lp .ikb-num{ width:40px; height:40px; border-radius:50%; background:var(--coral); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 0 .6rem; }

/* FAQ（コア details） */
.ikb-lp .ikb-faq{ background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); margin-bottom:.7rem; padding:0 1.2rem; }
.ikb-lp .ikb-faq summary{ cursor:pointer; list-style:none; padding:1.05rem 2rem 1.05rem 0; font-weight:700; position:relative; }
.ikb-lp .ikb-faq summary::-webkit-details-marker{ display:none; }
.ikb-lp .ikb-faq summary::before{ content:"Q"; color:var(--green-d); font-weight:800; margin-right:.6rem; }
.ikb-lp .ikb-faq summary::after{ content:"+"; position:absolute; right:.1rem; top:50%; transform:translateY(-50%); color:var(--green); font-size:1.4rem; font-weight:800; }
.ikb-lp .ikb-faq[open] summary::after{ content:"–"; }
.ikb-lp .ikb-faq p{ color:var(--sub); font-size:.95rem; padding-bottom:1rem; margin:0; }

/* CTA */
.ikb-lp .ikb-cta-band{ background:var(--ink); border-radius:24px; text-align:center; padding:clamp(2rem,5vw,3.2rem) 1.4rem; }
.ikb-lp .ikb-cta-band h2{ color:#fff; font-size:clamp(1.4rem,1rem + 2vw,1.9rem); font-weight:800; margin:0 0 .5rem; }
.ikb-lp .ikb-cta-band p{ color:#cdd8d3; margin:0 auto 1.3rem; max-width:34em; }

/* 広告表記 */
.ikb-lp .ikb-disclosure{ font-size:.82rem; color:var(--muted); }

/* レスポンシブ */
@media(max-width:900px){
	.ikb-lp .ikb-grid-4{ grid-template-columns:repeat(2,1fr); }
	.ikb-lp .ikb-grid-3{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:760px){
	.ikb-lp .ikb-hero-cols{ grid-template-columns:1fr; }
}
@media(max-width:560px){
	.ikb-lp .ikb-grid-4,.ikb-lp .ikb-grid-3,.ikb-lp .ikb-grid-2{ grid-template-columns:1fr; }
}

/* アクセシビリティ */
.ikb-lp a:focus-visible, .ikb-lp summary:focus-visible, .ikb-lp .wp-block-button__link:focus-visible{ outline:3px solid var(--green); outline-offset:3px; }
@media(prefers-reduced-motion:reduce){ .ikb-lp *{ transition:none !important; } }

/* =========================================================
 *  カラムブロックでの横並び（グリッド依存をやめた版）
 * ========================================================= */
.ikb-lp .wp-block-columns{ gap:1.1rem; margin-top:1.6rem; align-items:stretch; }
.ikb-lp .wp-block-column{ display:flex; flex-direction:column; }
.ikb-lp .wp-block-column > *{ width:100%; }
.ikb-lp .wp-block-column > .ikb-card,
.ikb-lp .wp-block-column > .ikb-cat,
.ikb-lp .wp-block-column > .ikb-tip{ flex:1; }
/* ヒーローの2カラムは中央そろえ */
.ikb-lp .ikb-hero .wp-block-columns{ align-items:center; }
