@charset "utf-8";
/* =========================================================================
   BUZZ トップ リニューアル LP  (mock: 18_04_00 / 臙脂×ゴールド)
   - 自己完結テンプレ page-buzz-lp.php 専用。.buzzlp 配下にスコープ。
   ========================================================================= */

:root{
  --maroon:      #7a1f1f;
  --maroon-dark: #5e1414;
  --gold:        #c8a24a;
  --red-accent:  #b5302a;
  --ink:         #2b2622;
  --body:        #555049;
  --bg:          #ffffff;
  --bg-soft:     #f6f3ef;
  --line:        #e4ddd4;
  --maxw: 1120px;
}

/* ===== サイト共通クロム（下層ページ＝body.buzzlp 無し でも効くよう独立指定） ===== */
.buzzlp-header,.buzzlp-header *,.buzzlp-nav,.buzzlp-nav *,.buzzlp-footer,.buzzlp-footer *,.buzzlp-lightbox,.buzzlp-lightbox *{box-sizing:border-box;}
.buzzlp-header,.buzzlp-nav,.buzzlp-footer{font-family:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;}
.buzzlp-header a,.buzzlp-nav a,.buzzlp-footer a{text-decoration:none;}
.buzzlp-header img,.buzzlp-footer img{max-width:100%;height:auto;}
.buzzlp-header .btn,.buzzlp-footer .btn{display:inline-flex;align-items:center;gap:.5em;justify-content:center;font-weight:700;border-radius:8px;padding:.85em 1.4em;transition:.2s;line-height:1.4;text-align:center;text-decoration:none;}
.buzzlp-header .btn-cta,.buzzlp-footer .btn-cta{background:var(--maroon);color:#fff;box-shadow:0 3px 10px rgba(122,31,31,.25);}
.buzzlp-header .btn-cta:hover,.buzzlp-footer .btn-cta:hover{background:var(--maroon-dark);}

/* ===== 下層ページ 本文をトップ風に（body.buzz-sub。レイアウトは biz-vektor のまま、見出し/余白/配色のみ） ===== */
body.buzz-sub{font-family:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;}
body.buzz-sub #wrap{background:var(--bg-soft);}
/* ページ見出し（赤帯＝白文字。帯色を新デザインの臙脂に統一） */
.buzz-sub #pageTitBnr{background:var(--maroon)!important;}
.buzz-sub #pageTitBnr #pageTit,.buzz-sub #pageTit{font-family:"Noto Serif JP",serif!important;font-weight:700!important;color:#fff!important;}
/* パンくず */
.buzz-sub #panList{font-size:12px;}
.buzz-sub #panList a{color:var(--maroon);}
/* 本文 */
.buzz-sub #content,.buzz-sub .entry-content{line-height:1.9;color:var(--body);}
.buzz-sub .entry-content h1,.buzz-sub .entry-content h2,.buzz-sub #content h2,.buzz-sub .contentTitle,.buzz-sub .entryPostTitle{
	font-family:"Noto Serif JP",serif;font-weight:700;color:var(--maroon);
	background:none;border:0;border-left:6px solid var(--maroon);border-bottom:2px solid var(--line);
	padding:.25em 0 .45em .65em;margin:2em 0 1em;font-size:1.5em;line-height:1.45;}
.buzz-sub .entry-content h3,.buzz-sub #content h3{
	font-family:"Noto Serif JP",serif;font-weight:700;color:var(--ink);
	background:none;border:0;border-left:4px solid var(--gold);
	padding-left:.55em;margin:1.6em 0 .7em;font-size:1.22em;line-height:1.5;}
.buzz-sub .entry-content h4{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--ink);margin:1.3em 0 .5em;}
.buzz-sub .entry-content p{margin:0 0 1.2em;}
.buzz-sub .entry-content a{color:var(--maroon);text-decoration:underline;}
.buzz-sub .entry-content img{border-radius:6px;height:auto;}
.buzz-sub .entry-content table{border-collapse:collapse;width:100%;margin:1.3em 0;}
.buzz-sub .entry-content th,.buzz-sub .entry-content td{border:1px solid var(--line);padding:.6em .8em;}
.buzz-sub .entry-content th{background:var(--bg-soft);color:var(--ink);}
/* サイドバー見出しも軽く合わせる */
.buzz-sub #sideTower h3,.buzz-sub #sideTower .widgettitle{font-family:"Noto Serif JP",serif;color:var(--maroon);}

/* 本文下 お問い合わせCTA（module_mainfoot 差し替え） */
.buzz-cta,.buzz-cta *{box-sizing:border-box;}
.buzz-cta{background:var(--maroon);border-radius:12px;padding:28px 24px;text-align:center;margin:36px 0;box-shadow:0 6px 16px rgba(122,31,31,.18);}
.buzz-cta-lead{color:#fff;font-family:"Noto Serif JP",serif;font-weight:700;font-size:19px;line-height:1.5;margin:0 0 16px;}
.buzz-cta-lead strong{color:var(--gold);font-size:1.12em;}
.buzz-cta-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.buzz-cta .btn{display:inline-flex;align-items:center;gap:.5em;justify-content:center;font-weight:700;border-radius:8px;padding:.85em 1.5em;line-height:1.4;text-decoration:none;transition:.2s;}
.buzz-cta .btn-cta{background:#fff;color:var(--maroon);box-shadow:0 3px 10px rgba(0,0,0,.15);}
.buzz-cta .btn-cta:hover{background:var(--bg-soft);}
.buzz-cta .btn-ghost-line{background:transparent;border:2px solid #fff;color:#fff;}
.buzz-cta .btn-ghost-line:hover{background:rgba(255,255,255,.15);}
@media(max-width:760px){ .buzz-cta .btn{width:100%;} }

/* ---- reset (LP内のみ) ---- */
.buzzlp *,.buzzlp *::before,.buzzlp *::after{box-sizing:border-box;}
.buzzlp{margin:0;color:var(--body);background:var(--bg);
  font-family:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;}
.buzzlp img{max-width:100%;height:auto;display:block;}
.buzzlp a{color:inherit;text-decoration:none;}
.buzzlp h1,.buzzlp h2,.buzzlp h3,.buzzlp p,.buzzlp ul,.buzzlp dl,.buzzlp dd{margin:0;padding:0;}
.buzzlp ul{list-style:none;}
.buzzlp .serif{font-family:"Noto Serif JP","Hiragino Mincho ProN",serif;}
.buzzlp .inner{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.buzzlp .red{color:var(--red-accent);}
.buzzlp .big-num{font-family:"Noto Serif JP",serif;color:var(--red-accent);font-weight:700;line-height:1;}

/* ---- buttons ---- */
.buzzlp .btn{display:inline-flex;align-items:center;gap:.5em;justify-content:center;
  font-weight:700;border-radius:8px;padding:.85em 1.4em;transition:.2s;line-height:1.4;text-align:center;}
.buzzlp .btn-cta{background:var(--maroon);color:#fff;box-shadow:0 3px 10px rgba(122,31,31,.25);}
.buzzlp .btn-cta:hover{background:var(--maroon-dark);}
.buzzlp .btn-ghost{background:#fff;color:var(--maroon);border:2px solid #fff;}
.buzzlp .btn-outline{background:#fff;color:var(--maroon);border:1.5px solid var(--maroon);}
.buzzlp .btn-outline:hover{background:var(--maroon);color:#fff;}

/* =========================== Header =========================== */
.buzzlp-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--maroon);}
.buzzlp-header .bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 20px;max-width:var(--maxw);margin:0 auto;}
.buzzlp-brand{display:flex;align-items:center;gap:12px;}
.buzzlp-brand .crest{width:54px;flex:0 0 54px;}
.buzzlp-brand .small{font-size:11px;color:var(--body);letter-spacing:.02em;}
.buzzlp-brand .logo{font-family:"Noto Serif JP",serif;font-weight:700;font-size:30px;color:var(--maroon);letter-spacing:.06em;line-height:1;}
.buzzlp-brand .catch{font-size:11px;color:var(--ink);}
.buzzlp-head-right{display:flex;align-items:center;gap:16px;}
.buzzlp-tel{ text-align:right;}
.buzzlp-tel .num{font-family:"Noto Serif JP",serif;font-weight:700;font-size:24px;color:var(--maroon);line-height:1.1;}
.buzzlp-tel .num small{font-size:13px;}
.buzzlp-tel .hours{font-size:11px;color:var(--body);}
.buzzlp-header .btn-cta{font-size:14px;padding:.7em 1.1em;}
.buzzlp-nav{background:var(--maroon);}
.buzzlp-nav .menu{display:flex;flex-wrap:wrap;justify-content:center;max-width:var(--maxw);margin:0 auto;list-style:none;padding:0;}
.buzzlp-nav .menu li{position:relative;}
.buzzlp-nav .menu a{display:block;color:#fff;font-size:14px;font-weight:500;padding:13px 15px;}
.buzzlp-nav .menu > li > a{border-left:1px solid rgba(255,255,255,.15);}
.buzzlp-nav .menu > li:last-child > a{border-right:1px solid rgba(255,255,255,.15);}
.buzzlp-nav .menu a:hover{background:var(--maroon-dark);}
.buzzlp-nav .sub-menu{list-style:none;padding:0;margin:0;position:absolute;top:100%;left:0;min-width:220px;background:var(--maroon-dark);display:none;z-index:60;box-shadow:0 8px 18px rgba(0,0,0,.25);}
.buzzlp-nav .menu > li:hover > .sub-menu{display:block;}
.buzzlp-nav .sub-menu a{font-size:13px;padding:11px 16px;border-top:1px solid rgba(255,255,255,.10);white-space:nowrap;}
.buzzlp-navtoggle{display:none;}

/* =========================== Hero =========================== */
.buzzlp-hero{background:linear-gradient(180deg,#fff 0%,var(--bg-soft) 100%);padding:46px 0 0;position:relative;overflow:hidden;}
.buzzlp-hero .grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.buzzlp-hero .sub{color:var(--maroon);font-weight:700;font-size:18px;margin-bottom:10px;}
.buzzlp-hero h1{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--ink);font-size:44px;line-height:1.4;margin-bottom:20px;}
.buzzlp-hero h1 .red{display:inline;}
.buzzlp-hero .lead{font-size:16px;color:var(--body);}
.buzzlp-hero .heroimg{position:relative;}
.buzzlp-hero .heroimg img.main{border-radius:10px;box-shadow:0 12px 30px rgba(43,38,34,.12);}
.buzzlp-hero .heroimg .areaseal{position:absolute;top:-18px;right:-10px;width:130px;}
/* feature badges row */
.buzzlp-herofeat{max-width:var(--maxw);margin:30px auto 0;padding:24px 20px 40px;}
.buzzlp-herofeat ul{display:grid;grid-template-columns:repeat(3,1fr);}
.buzzlp-herofeat li{display:flex;align-items:center;gap:14px;padding:6px 22px;}
.buzzlp-herofeat li+li{border-left:1px solid var(--line);}
.buzzlp-herofeat .ic{width:60px;flex:0 0 60px;}
.buzzlp-herofeat .t{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--maroon);font-size:17px;}
.buzzlp-herofeat .d{font-size:13px;color:var(--body);line-height:1.6;}

/* =========================== CTA band =========================== */
.buzzlp-ctaband{background:var(--maroon);color:#fff;}
.buzzlp-ctaband .inner{display:flex;align-items:center;justify-content:center;gap:26px;padding:26px 20px;flex-wrap:wrap;}
.buzzlp-ctaband .pill{border:2px solid var(--gold);color:var(--gold);border-radius:999px;font-size:13px;font-weight:700;padding:.5em 1.2em;white-space:nowrap;}
.buzzlp-ctaband .head{font-family:"Noto Serif JP",serif;font-weight:700;font-size:26px;}
.buzzlp-ctaband .acts{display:flex;gap:14px;flex-wrap:wrap;}

/* =========================== Section common =========================== */
.buzzlp-sec{padding:64px 0;}
.buzzlp-sec.soft{background:var(--bg-soft);}
.buzzlp-sectit{text-align:center;margin-bottom:40px;}
.buzzlp-sectit h2{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--ink);font-size:32px;display:inline-flex;align-items:center;gap:.3em;}
.buzzlp-sectit h2::before,.buzzlp-sectit h2::after{content:"";display:inline-block;width:34px;height:2px;background:var(--gold);vertical-align:middle;}
.buzzlp-sectit .en{display:block;color:var(--gold);font-size:13px;letter-spacing:.2em;margin-top:6px;font-weight:700;}

/* reasons 5 cards（アイコン＋テキスト） */
.buzzlp-reasons .cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.buzzlp-rcard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:40px 18px 26px;text-align:center;position:relative;box-shadow:0 4px 12px rgba(43,38,34,.04);}
.buzzlp-rcard .no{position:absolute;top:0;left:0;background:var(--maroon);color:#fff;font-family:"Noto Serif JP",serif;font-weight:700;font-size:14px;padding:4px 12px;border-radius:8px 0 8px 0;letter-spacing:.05em;}
.buzzlp-rcard .ic{display:flex;justify-content:center;align-items:center;width:140px;height:140px;margin:4px auto 16px;border-radius:50%;background:var(--bg-soft);}
.buzzlp-rcard .ic svg{width:60px;height:60px;color:var(--maroon);}
.buzzlp-rcard .ic img{width:100%;height:100%;object-fit:contain;padding:6px;}
.buzzlp-rcard h3{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--maroon);font-size:17px;margin-bottom:10px;line-height:1.45;}
.buzzlp-rcard p{font-size:13px;line-height:1.7;}

/* 英検実績 band */
.buzzlp-eiken{background:var(--maroon);color:#fff;padding:54px 0;}
.buzzlp-eiken .grid{display:grid;grid-template-columns:1fr 1.3fr auto;gap:30px;align-items:center;}
.buzzlp-eiken .eiken-simple{display:flex;align-items:center;justify-content:center;gap:50px;}
.buzzlp-eiken .lead{ text-align:center;}
.buzzlp-eiken .lead .laurel{position:relative;display:inline-block;padding:10px 30px;}
.buzzlp-eiken .lead .laurel::before,.buzzlp-eiken .lead .laurel::after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:42px;height:90px;background:url(../img/deco_laurel.png) center/contain no-repeat;}
.buzzlp-eiken .lead .laurel::before{left:-14px;}
.buzzlp-eiken .lead .laurel::after{right:-14px;transform:translateY(-50%) scaleX(-1);}
.buzzlp-eiken .lead .ttl{font-family:"Noto Serif JP",serif;font-size:15px;color:var(--gold);font-weight:700;}
.buzzlp-eiken .lead .cnt{font-family:"Noto Serif JP",serif;font-weight:700;line-height:1;margin:4px 0;}
.buzzlp-eiken .lead .cnt b{font-size:84px;color:#fff;}
.buzzlp-eiken .lead .cnt span{font-size:24px;}
.buzzlp-eiken .lead .note{font-size:11px;color:rgba(255,255,255,.7);}
.buzzlp-eiken .levels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.buzzlp-lvcard{background:#fff;color:var(--ink);border-radius:6px;overflow:hidden;text-align:center;}
.buzzlp-lvcard .lv{background:var(--gold);color:#fff;font-weight:700;font-size:14px;padding:6px 0;}
.buzzlp-lvcard .n{padding:14px 4px 12px;font-size:13px;}
.buzzlp-lvcard .n b{display:block;font-family:"Noto Serif JP",serif;color:var(--red-accent);font-size:28px;line-height:1;}
.buzzlp-eiken .pho img{border-radius:10px;width:200px;}

/* 保護者向けメモ（チラシ右上の付箋を方眼メモ風に再現） */
.buzzlp-memosec{padding:48px 0;}
.buzz-memo{position:relative;max-width:470px;margin:0 auto;color:#3a4a2e;
	background-color:#fbfdf6;
	background-image:linear-gradient(#e1eccd 1px,transparent 1px),linear-gradient(90deg,#e1eccd 1px,transparent 1px);
	background-size:22px 22px;
	border:1px solid #cfe0b3;border-radius:6px;padding:30px 28px 26px;
	box-shadow:0 12px 26px rgba(43,38,34,.13);transform:rotate(-1.4deg);}
.buzz-memo-clip{position:absolute;top:-16px;right:30px;font-size:36px;line-height:1;transform:rotate(12deg);filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));}
.buzz-memo h3{display:inline;font-family:"Noto Serif JP",serif;font-weight:700;font-size:18px;color:#3f7d2f;background:linear-gradient(transparent 60%,#d6ea97 60%);padding:0 .15em;line-height:2.1;}
.buzz-memo p{margin:14px 0 0;font-size:15px;line-height:2;}
@media(max-width:760px){
	.buzz-memo{transform:rotate(-1deg);padding:26px 22px 22px;}
	.buzz-memo-clip{font-size:30px;right:22px;}
}

/* courses（画像が完成カード：下に詳細ボタンのみ） */
.buzzlp-courses .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.buzzlp-ccard{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 12px rgba(43,38,34,.05);}
.buzzlp-ccard .ph{position:relative;display:block;background:#fff;}
.buzzlp-ccard .ph img{width:100%;height:190px;object-fit:cover;object-position:center;display:block;background:#fff;}
.buzzlp-ccard .ph .tab{position:absolute;left:0;top:12px;background:var(--maroon);color:#fff;font-family:"Noto Serif JP",serif;font-weight:700;font-size:14px;padding:6px 14px;border-radius:0 6px 6px 0;}
.buzzlp-ccard .bd{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1;}
.buzzlp-ccard .bd p{font-size:13px;line-height:1.7;flex:1;}
.buzzlp-ccard .btn-outline{font-size:13px;padding:.6em 1em;width:100%;}

/* access */
.buzzlp-access .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;align-items:start;}
.buzzlp-access h3{font-family:"Noto Serif JP",serif;color:var(--maroon);font-size:18px;font-weight:700;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.buzzlp-access dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;}
.buzzlp-access dt{color:var(--maroon);font-weight:700;}
.buzzlp-access .telblock .num{font-family:"Noto Serif JP",serif;font-weight:700;font-size:26px;color:var(--maroon);}
.buzzlp-access .telblock .hours{font-size:12px;}
.buzzlp-access .actcol{display:flex;flex-direction:column;gap:12px;justify-content:center;}

/* footer */
.buzzlp-footer{background:var(--maroon);color:#fff;padding:40px 0 26px;}
.buzzlp-footer .grid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.buzzlp-footer .fbrand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.buzzlp-footer .fbrand .footlogo{height:52px;width:auto;display:block;border-radius:4px;}
.buzzlp-footer .fbrand .small{font-size:11px;color:rgba(255,255,255,.8);}
.buzzlp-footer .flinks{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;}
.buzzlp-footer .flinks a{color:rgba(255,255,255,.9);}
.buzzlp-footer .flinks a:hover{color:var(--gold);}
.buzzlp-footer .copy{width:100%;text-align:center;font-size:12px;color:rgba(255,255,255,.65);border-top:1px solid rgba(255,255,255,.15);margin-top:22px;padding-top:16px;}
.buzzlp-footer .fcredit{display:inline-block;margin-left:.5em;color:rgba(255,255,255,.6);}
.buzzlp-footer .fcredit a{color:rgba(255,255,255,.85);text-decoration:underline;}
.buzzlp-footer .fcredit a:hover{color:var(--gold);}
@media(max-width:760px){ .buzzlp-footer .fcredit{display:block;margin:6px 0 0;} }

/* placeholder note (preview only) */
.buzzlp-tel .num.ph,.buzzlp-access .telblock .num.ph{font-size:15px;color:var(--body);}

/* ---- メインバナー（maintop 流用） ---- */
.buzzlp-mainvisual{background:var(--maroon);}
.buzzlp-mainvisual .inner{padding:0 20px;}
.buzzlp-mainvisual img{display:block;width:100%;max-width:749px;height:auto;margin:0 auto;
  /* 元画像 左端の1px白線を隠す（背景の臙脂帯に同化させる） */
  clip-path:inset(0 0 0 2px);}

/* ---- 実ロゴ / 流用素材 ---- */
.buzzlp-brand{align-items:center;}
.buzzlp-brand .reallogo{height:54px;width:auto;display:block;}
.buzzlp-brand .catch{font-size:11px;color:var(--body);line-height:1.5;}
.buzzlp-access .storephoto{width:100%;border-radius:8px;margin-bottom:14px;border:1px solid var(--line);}

.buzzlp-guide .buzzlp-guide-lead{text-align:center;color:var(--body);margin-bottom:24px;}
.buzzlp-guide img{display:block;margin:0 auto;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 14px rgba(43,38,34,.08);}

/* ---- チラシ サムネ＋ライトボックス ---- */
.navi-thumbwrap{text-align:center;margin:0 auto 26px;}
.navi-thumb{display:inline-block;cursor:zoom-in;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;box-shadow:0 4px 12px rgba(43,38,34,.08);transition:.15s;font-family:inherit;}
.navi-thumb:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(43,38,34,.16);}
.navi-thumb img{display:block;width:300px;max-width:72vw;height:auto;border-radius:6px;}
.navi-thumb-cap{display:block;margin-top:8px;font-size:13px;color:var(--maroon);font-weight:700;}
.buzzlp-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;}
.buzzlp-lightbox[hidden]{display:none;}
.buzzlp-lightbox .lb-img{max-width:96vw;max-height:90vh;width:auto;height:auto;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5);}
.buzzlp-lightbox .lb-close{position:absolute;top:16px;right:20px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:28px;line-height:1;cursor:pointer;}

/* ---- コース診断ウィザード ---- */
.buzzlp-wizard .lead-center{text-align:center;color:var(--body);margin-bottom:30px;}
.buzzlp-wizard .lead-center strong{color:var(--red-accent);}
.wiz-block{max-width:920px;margin:0 auto 28px;}
.wiz-steptit{display:flex;align-items:center;gap:12px;justify-content:center;font-family:"Noto Serif JP",serif;font-weight:700;font-size:19px;color:var(--ink);margin-bottom:18px;}
.wiz-steptit .stepno{background:var(--maroon);color:#fff;font-size:13px;letter-spacing:.05em;padding:.3em .85em;border-radius:999px;}
.wiz-ages{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.wiz-age{cursor:pointer;font-family:inherit;background:#fff;border:2px solid var(--line);border-radius:14px;padding:12px 10px 10px;width:154px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:.15s;}
.wiz-age img{width:108px;height:108px;border-radius:50%;object-fit:cover;background:var(--bg-soft);}
.wiz-age span{font-weight:700;color:var(--ink);font-size:15px;}
.wiz-age:hover{border-color:var(--gold);transform:translateY(-2px);}
.wiz-age.is-active{border-color:var(--maroon);box-shadow:0 6px 16px rgba(122,31,31,.18);}
.wiz-age.is-active span{color:var(--maroon);}
.wiz-step2{opacity:.4;pointer-events:none;transition:.2s;}
.buzzlp-wizard.step2on .wiz-step2{opacity:1;pointer-events:auto;}
.wiz-goals{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.wiz-goal{cursor:pointer;font-family:inherit;background:#fff;border:1.5px solid var(--maroon);color:var(--maroon);font-weight:700;font-size:15px;padding:.8em 1.4em;border-radius:999px;transition:.15s;}
.wiz-goal:hover{background:var(--bg-soft);}
.wiz-goal.is-active{background:var(--maroon);color:#fff;}
.wiz-hint{text-align:center;color:var(--body);font-size:13px;margin-top:6px;}
.buzzlp-wizard.step2on .wiz-hint{display:none;}
.wiz-results{max-width:760px;margin:28px auto 0;}
.wiz-result-card{border:2px solid var(--maroon);border-radius:14px;background:#fff;padding:30px;text-align:center;box-shadow:0 10px 24px rgba(43,38,34,.10);}
.wr-label{display:inline-block;background:var(--gold);color:#fff;font-weight:700;font-size:13px;padding:.3em 1.1em;border-radius:999px;margin-bottom:14px;}
.wr-course{font-family:"Noto Serif JP",serif;font-weight:700;font-size:26px;color:var(--maroon);margin-bottom:12px;}
.wr-desc{font-size:15px;line-height:1.9;margin-bottom:22px;}
.wr-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

.buzzlp-cal .cals{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.buzzlp-cal .cals .cal-zoom{display:block;width:100%;padding:0;margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:zoom-in;overflow:hidden;font-family:inherit;transition:.15s;}
.buzzlp-cal .cals .cal-zoom:hover{box-shadow:0 6px 16px rgba(43,38,34,.14);transform:translateY(-2px);}
.buzzlp-cal .cals .cal-zoom img{width:100%;display:block;}
.buzzlp-cal-note{font-size:13px;text-align:center;margin-top:16px;color:var(--body);}
.buzzlp-cal-note a{color:var(--maroon);text-decoration:underline;}

/* =========================== Responsive =========================== */
@media(max-width:980px){
  .buzzlp-hero h1{font-size:34px;}
  .buzzlp-eiken .grid{grid-template-columns:1fr;}
  .buzzlp-eiken .eiken-simple{flex-direction:column;gap:24px;}
  .buzzlp-eiken .pho{display:none;}
  .buzzlp-eiken .lead .cnt b{font-size:64px;}
  .buzzlp-courses .cards{grid-template-columns:repeat(2,1fr);}
  .buzzlp-reasons .cards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
  .buzzlp-header .bar{flex-wrap:wrap;}
  .buzzlp-head-right{width:100%;justify-content:space-between;}
  .buzzlp-navtoggle{display:block;background:var(--maroon);color:#fff;border:0;width:100%;padding:12px;font-size:15px;font-weight:700;cursor:pointer;}
  .buzzlp-nav .menu{display:none;flex-direction:column;}
  .buzzlp-nav.open .menu{display:flex;}
  .buzzlp-nav .menu > li > a{border-left:0;border-bottom:1px solid rgba(255,255,255,.15);}
  .buzzlp-nav .sub-menu{position:static;display:block;background:rgba(0,0,0,.18);box-shadow:none;min-width:0;}
  .buzzlp-nav .sub-menu a{padding-left:32px;}
  .buzzlp-hero{padding-top:30px;}
  .buzzlp-hero .grid{grid-template-columns:1fr;gap:24px;}
  .buzzlp-hero h1{font-size:30px;}
  .buzzlp-hero .heroimg .areaseal{width:96px;}
  .buzzlp-herofeat ul{grid-template-columns:1fr;}
  .buzzlp-herofeat li+li{border-left:0;border-top:1px solid var(--line);}
  .buzzlp-ctaband .inner{flex-direction:column;gap:16px;}
  .buzzlp-ctaband .head{font-size:22px;text-align:center;}
  .buzzlp-reasons .cards{grid-template-columns:1fr;}
  .buzzlp-levels,.buzzlp-eiken .levels{grid-template-columns:repeat(2,1fr);}
  .buzzlp-courses .cards{grid-template-columns:1fr;}
  .buzzlp-access .cols{grid-template-columns:1fr;}
  .buzzlp-cal .cals{grid-template-columns:1fr;}
  .wiz-age{width:46%;padding:10px 6px 8px;}
  .wiz-age img{width:74px;height:74px;}
  .wiz-age span{font-size:13px;}
  .wiz-goal{font-size:14px;padding:.7em 1.1em;}
  .wiz-result-card{padding:22px;}
  .wr-course{font-size:21px;}
  .buzzlp-brand .catch{display:none;}
  .buzzlp-brand .reallogo{height:44px;}
  .buzzlp-sec{padding:44px 0;}
}
