@charset "utf-8";
/* =========================================================
   大家さんフェスタ2026 福岡 追加スタイル
   - 既存デザインシステム（home.css / home2.css）を土台に、
     2日間タブ・日程バッジ・画像プレースホルダーのみ追加
   ========================================================= */

/* ---- 画像プレースホルダー ------------------------------- */
.ph-img{
	display:flex;align-items:center;justify-content:center;text-align:center;
	background:repeating-linear-gradient(-45deg,#eef0f2,#eef0f2 10px,#e6e9ec 10px,#e6e9ec 20px);
	border:1px dashed #9aa3ac;color:#5a636c;font-weight:bold;line-height:1.5;
	box-sizing:border-box;padding:8px;border-radius:4px;min-height:60px;width:100%;
	font-size:.78em;
}
.ph-img small{display:block;font-weight:normal;color:#7b848d;margin-top:.3em;font-size:.85em;}
.ph-img.ph-hero{min-height:280px;font-size:1em;}
.ph-img.ph-wide{min-height:180px;}
.ph-img.ph-cover{aspect-ratio:3/4;min-height:220px;}
.ph-img.ph-map{min-height:380px;}
.ph-img.ph-face{aspect-ratio:1/1;min-height:0;}

/* ---- 2日間タブ ----------------------------------------- */
.daytabs{margin:0 auto;}
.daytabs__nav{
	display:flex;gap:10px;max-width:760px;margin:0 auto 0;position:relative;z-index:2;
}
.daytabs__btn{
	flex:1 1 0;cursor:pointer;border:none;outline:none;
	font-family:inherit;font-weight:bold;font-size:1.15em;letter-spacing:.03em;
	padding:.85em 1em .95em;border-radius:12px 12px 0 0;
	background:#e9e2d4;color:#8a7d63;transition:all .15s ease;
	border:2px solid transparent;border-bottom:none;
}
.daytabs__btn .wday{font-size:.8em;margin-left:.15em;}
.daytabs__btn .dow{display:block;font-size:.62em;font-weight:normal;margin-top:.15em;opacity:.85;}
.daytabs__btn.is-active{background:#fff;color:#c1153e;box-shadow:0 -3px 8px rgba(0,0,0,.06);}
.daytabs__btn.day1.is-active{color:#c1153e;border-color:#c1153e;}
.daytabs__btn.day2.is-active{color:#1f7a3d;border-color:#1f7a3d;}
.daytabs__panel{display:none;background:#fff;border-radius:0 0 12px 12px;padding:1.6em 0 0;}
.daytabs__panel.is-active{display:block;animation:festaFade .25s ease;}
@keyframes festaFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.daytabs__panel .day-label{
	text-align:center;font-weight:bold;font-size:1.05em;margin:0 0 1.2em;
	padding:.3em 0;border-bottom:2px dotted #d8cdb5;
}
.daytabs__panel.day1 .day-label{color:#c1153e;}
.daytabs__panel.day2 .day-label{color:#1f7a3d;}

/* ---- 日程バッジ（26日/27日） --------------------------- */
.dbadge{
	display:inline-block;font-size:.72em;font-weight:bold;color:#fff;
	border-radius:4px;padding:.15em .5em;margin-left:.3em;vertical-align:middle;line-height:1.3;
}
.dbadge.d26{background:#0071bc;}
.dbadge.d27{background:#009245;}
.dbadge-wrap{margin:0 0 .5em;}
.dbadge-wrap .day-lead{font-size:.78em;font-weight:bold;color:#666;margin-right:.4em;}

/* ---- 会場ラベル（A/B/C）小見出し ---------------------- */
.hall-head{
	display:flex;align-items:center;gap:.5em;margin:1.6em 0 .8em;
	font-size:1.3em;font-weight:bold;
}
.hall-head .hall-tag{
	color:#fff;border-radius:6px;padding:.15em .7em;font-size:.92em;
}
.hall-a .hall-tag{background:#e5537a;}
.hall-b .hall-tag{background:#3b9edb;}
.hall-c .hall-tag{background:#7ab648;}
.hall-head .hall-note{font-size:.62em;font-weight:normal;color:#777;}

/* 会場アクセントの左帯（セミナーカード） */
.sbox.acc-a .place{background:#f6dbe3;color:#c1153e;}
.sbox.acc-b .place{background:#d6ecf8;color:#1f6fa5;}
.sbox.acc-c .place{background:#e3f1d5;color:#4e7a2a;}
.sbox .place .cat{font-size:.7em;font-weight:bold;color:#c1153e;display:block;margin-bottom:.1em;}
.sbox.acc-b .place .cat{color:#1f6fa5;}
.sbox.acc-c .place .cat{color:#4e7a2a;}

/* 特別講演バッジ強調 */
.sbox .special-flag{
	display:inline-block;background:#c1153e;color:#fff;font-weight:bold;
	padding:.3em .9em;border-radius:6px;font-size:.9em;margin-bottom:.4em;
}
.sbox .ticket-note{font-size:.78em;color:#c1153e;font-weight:bold;margin-top:.5em;}

/* 大家会カード（写真なし） */
.kai-card .place{background:#efe7d6;color:#8a6d00;}
.kai-card .kai-badge{font-size:.72em;color:#8a6d00;font-weight:bold;}

/* 出展企業：日程バッジをカード右上に */
.opening-st-block{position:relative;}
.opening-st-block .osb-days{position:absolute;top:8px;right:10px;z-index:2;}

/* SP調整 */
@media screen and (max-width:620px){
	.daytabs__btn{font-size:1em;padding:.7em .3em .8em;}
	.hall-head{font-size:1.1em;}
	.ph-img.ph-hero{min-height:180px;}
	.ph-img.ph-map{min-height:240px;}
}

/* ---- 出展企業カテゴリ「住宅設備」用カラー（6色目） ---- */
#opening-st-list .opening-st-block .grey_bgcolor{background-color:#4a8f96 !important;color:#fff !important;}
#opening-st-list .opening-st-block .grey_bgcolor2{background-color:#e2eff0 !important;color:#356f75 !important;}
#opening-st-list .opening-st-block .grey_textcolor{color:#356f75 !important;}
#opening-st-list .opening-st-block .grey_boerder{border-color:#4a8f96 !important;}

/* ---- ヒーロー内 予約ボタン ---- */
.hero-wrap{position:relative;max-width:1100px;margin:0 auto;line-height:0;}
.hero-wrap img{display:block;width:100%;height:auto;}
/* #logo a の絶対配置(top/left/width)を確実に上書きするため #logo 付きで指定 */
#logo a.hero-reserve{position:absolute;left:61.7%;right:2.2%;top:auto;bottom:4.6%;width:auto;display:block;line-height:0;transition:transform .1s ease;}
#logo a.hero-reserve:hover{transform:translateY(2px);}
#logo a.hero-reserve img{display:block;width:100%;height:auto;}
#logo a.hero-reserve-sp{position:static;left:auto;right:auto;top:auto;bottom:auto;width:auto;display:none;}

/* ---- 必見コンテンツ 特別講演（2名並列・サイズ調整）---- */
#required-content div.r--block div.r--block__inner.special2{display:block;font-weight:bold;line-height:1.3;}
.special2 .s2-full{width:100%;}
.special2 .special-tag{margin-bottom:.45em;}
.special2 .s2-lead{font-size:1rem;margin:.1em 0 .55em;line-height:1.35;}
.special2 .s2-grid{display:flex;gap:12px;}
.special2 .s2-item{flex:1;text-align:center;}
#required-content div.r--block div.r--block__inner.special2 .s2-item img{width:100%;margin:0 auto .35em;border-radius:5px;}
.special2 .s2-day{margin:.1em 0 .2em;}
.special2 .s2-day .dbadge{margin:0;font-size:.7rem;}
.special2 .s2-nm{font-size:.86rem;line-height:1.3;}
@media screen and (max-width:620px){
	.special2 .s2-lead{font-size:.95rem;}
	.special2 .s2-nm{font-size:.8rem;}
}

/* ---- プレゼント欄 商品名テキストのサイズ・バランス調整 ---- */
#present .enc .fcol .tl .tx .subject.present-subj{font-size:15px !important;line-height:1.35;}
.present-subj .ps-lead{display:block;font-size:15px;margin-bottom:.4em;}
.present-subj .ps-item{display:block;font-size:13px !important;font-weight:bold;color:#4a3a2a;margin:.14em 0;}
.present-subj .ps-item .dbadge{font-size:11px !important;margin:0 .4em 0 0;vertical-align:middle;padding:.12em .45em;}
@media screen and (max-width:620px){
	#present .enc .fcol .tl .tx .subject.present-subj{font-size:14px !important;}
	.present-subj .ps-lead{font-size:14px;}
	.present-subj .ps-item{font-size:12.5px !important;}
}

/* ---- ② 追従予約ボタンを最前面に（26日/27日バッジが上に出ないように）---- */
#btn_reserve{z-index:9999 !important;}

/* ---- ⑤ 参照デザイン画像（fukuoka03/04/05）---- */
.ref-band{text-align:center;margin:0 auto;line-height:0;}
.ref-band img{display:block;width:100%;max-width:1000px;height:auto;margin:0 auto;}

/* ---- ④ 特別講演スタンプ ---- */
.sbox.has-stamp{position:relative;}
.tok-stamp{position:absolute;top:64px;right:16px;z-index:3;width:76px;height:76px;transform:rotate(-11deg);pointer-events:none;}
.tok-stamp span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-sizing:border-box;
	border:3px solid #d80c18;border-radius:9px;color:#d80c18;font-weight:bold;font-size:21px;line-height:1.05;text-align:center;
	box-shadow:inset 0 0 0 2px #fff, inset 0 0 0 4px #d80c18;background:rgba(255,255,255,.82);letter-spacing:.02em;}
@media screen and (max-width:620px){
	.tok-stamp{width:56px;height:56px;top:46px;right:8px;}
	.tok-stamp span{font-size:14px;border-width:2px;box-shadow:inset 0 0 0 1px #fff, inset 0 0 0 3px #d80c18;}
}

/* ---- ⑤ プレゼント商品写真：元の画像枠(table-cell)を維持し2点を半分ずつ ---- */
#present .enc .fcol .tl .ph.present-gifts{width:150px;font-size:0;}
.present-gifts figure{display:inline-block;width:49%;margin:0;vertical-align:top;text-align:center;}
.present-gifts figure img{display:block;width:100%;height:110px;object-fit:contain;border:1px solid #eee;border-radius:4px;background:#fff;}
.present-gifts figcaption{margin-top:2px;line-height:1;font-size:10px;}
.present-gifts figcaption .dbadge{font-size:10px;margin:0;padding:.1em .4em;}
@media screen and (max-width:620px){
	#present .enc .fcol .tl .ph.present-gifts{width:40%;}
	.present-gifts figure img{height:80px;}
}

/* ---- ⑤ ブース訪問スタンプラリー（HTML）---- */
.stamp-rally{text-align:center;}
.stamp-rally .sr-lead{color:#e5397f;font-weight:bold;font-size:1.1em;margin-bottom:.3em;}
.stamp-rally .sr-ttl{display:inline-block;background:#d84f7a;color:#fff;font-weight:bold;font-size:1.5em;
	border-radius:999px;padding:.35em 1.4em;margin:0 auto 1em;}
.sr-steps{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.sr-step{flex:1 1 0;min-width:150px;max-width:210px;background:#fff;border-radius:12px;padding:1em .8em;
	box-shadow:0 2px 6px rgba(0,0,0,.06);text-align:center;}
.sr-step .sr-num{color:#e5397f;font-weight:bold;line-height:1;margin-bottom:.5em;font-size:.95em;}
.sr-step .sr-num span{display:block;font-size:2.1em;}
.sr-step p{font-size:.92em;text-align:left;}
.sr-step.sr-gift{background:#fbe6ee;}
.sr-step.sr-gift .sr-gift-ttl{color:#e5397f;font-weight:bold;font-size:1.15em;line-height:1.25;margin-bottom:.5em;}
.sr-step.sr-gift p{text-align:left;font-size:.86em;}
.sr-step.sr-gift .dbadge{margin:0 .3em 0 0;}
@media screen and (max-width:620px){
	.sr-steps{gap:8px;}
	.sr-step{min-width:44%;max-width:none;padding:.7em .5em;}
	.stamp-rally .sr-ttl{font-size:1.2em;}
}

/* ---- ④→⑤ 大家さんの会ひろば 見出し（HTML）---- */
.kai-hero{text-align:center;margin-bottom:1.5em;}
.kai-hero__badge{display:inline-block;background:#e5397f;color:#fff;font-weight:bold;border-radius:6px;padding:.25em 1em;font-size:.95em;margin-bottom:.4em;}
.kai-hero__ttl{font-size:2.1em;font-weight:bold;color:#0a5a9c;line-height:1.2;margin:0 0 .4em;}
.kai-hero__ttl .s{display:inline-block;font-size:.5em;color:#0a5a9c;}
.kai-hero__lead{font-size:1em;line-height:1.7;max-width:820px;margin:0 auto 1.4em;text-align:center;}
.kai-hero__osusume{background:#fff;border-radius:14px;padding:1.4em 1.2em;box-shadow:0 2px 8px rgba(0,0,0,.05);max-width:920px;margin:0 auto;}
.kai-hero__osusume-ttl{font-weight:bold;line-height:1.5;margin-bottom:1em;}
.kai-hero__osusume-ttl strong{font-size:1.5em;color:#222;}
.kai-hero__cols{display:flex;gap:20px;text-align:left;}
.kai-hero__col{flex:1;}
.kai-hero__col h4{color:#0a5a9c;font-weight:bold;border-bottom:2px solid #0a5a9c;padding-bottom:.3em;margin-bottom:.4em;font-size:1.02em;}
.kai-hero__col p{font-size:.92em;line-height:1.5;}
.kai-hero__list-ttl{text-align:center;font-size:1.5em;font-weight:bold;margin:1.4em 0 .2em;}
@media screen and (max-width:620px){
	.kai-hero__ttl{font-size:1.5em;}
	.kai-hero__cols{flex-direction:column;gap:12px;}
	.kai-hero__osusume-ttl strong{font-size:1.2em;}
	.kai-hero__list-ttl{font-size:1.2em;}
	.kai-hero__lead br.pc{display:none;}
}

/* ---- スマホ：必見コンテンツ「企画・展示」ブロックの背景イラスト上部つぶれ対策 ---- */
@media screen and (max-width:620px){
	#required-content div.r--block div.r--block__inner.r--block-img{
		height:auto;
		min-height:180px;
		background-size:auto 130px;      /* イラスト高さを枠内に収める（縦切れ防止）*/
		background-position:bottom right;
		padding-bottom:6px;
	}
}

/* ---- 必見コンテンツ：まんなか(block2)・右(block3)の中身を縦中央へ（タイトルは上のまま）---- */
#required-content .fwrap .r--block:nth-child(2),
#required-content .fwrap .r--block:nth-child(3){
	display:flex;
	flex-direction:column;
}
#required-content .fwrap .r--block:nth-child(2) > img{
	margin-top:auto;
	margin-bottom:auto;
	width:70%;
}
#required-content .fwrap .r--block:nth-child(3) > .r--block__inner{
	margin-top:auto;
	margin-bottom:auto;
}

/* ---- SP：縦型キービジュアル＋予約ボタンを画像下に ---- */
.hero-wrap{overflow:visible;}
.hero-wrap picture{display:block;width:100%;line-height:0;}
.hero-wrap picture img{display:block;width:100%;height:auto;}
@media screen and (max-width:620px){
	#logo a.hero-reserve{display:none !important;}                 /* PC用オーバーレイは確実に非表示 */
	#logo a.hero-reserve-sp{position:static !important;left:auto;right:auto;top:auto;bottom:auto;display:block !important;width:90%;margin:14px auto 6px;line-height:0;}
	#logo a.hero-reserve-sp img{display:block;width:100%;height:auto;}
}


/* ---- SP調整（マックカード拡大／本誌縮小／会場名視認性補助）---- */
@media screen and (max-width:620px){
	/* ④ マックカードを大きく */
	#present .enc .fcol.under .tl.op .ph{width:42% !important;}
	#present .enc .fcol.under .tl.op .ph img{max-width:none !important;width:100% !important;}
	/* ⑤ 本誌見本を小さく */
	.magazine-block .magazine-block-img{width:46% !important;max-width:170px;margin:0 auto 10px;}
}
/* 会場名（place）は濃色化済み。timeは黒のまま視認性OK */

/* ---- ⑥ SPフローティング（メニュー＋予約バナー）---- */
.sp-float-bar{display:none;}
.sp-menu-panel,.sp-menu-overlay{display:none;}
@media screen and (max-width:620px){
	.sp-float-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;
		align-items:center;gap:8px;padding:6px 8px;background:rgba(255,255,255,.97);box-shadow:0 -2px 10px rgba(0,0,0,.18);}
	.sp-menu-btn{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
		width:60px;min-height:46px;background:#c1153e;color:#fff;border:none;border-radius:8px;font-size:11px;font-weight:bold;line-height:1.2;cursor:pointer;}
	.sp-menu-icon{display:block;width:22px;height:2px;background:#fff;position:relative;margin-bottom:8px;}
	.sp-menu-icon::before,.sp-menu-icon::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff;}
	.sp-menu-icon::before{top:-6px;}.sp-menu-icon::after{top:6px;}
	.sp-reserve-btn{flex:1 1 auto;line-height:0;}
	.sp-reserve-btn img{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;}
	#btn_reserve{display:none !important;}
	#pagetop{bottom:84px !important;}
	body{padding-bottom:66px;}
	/* オーバーレイ＋スライドアップ・メニュー */
	.sp-menu-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99998;opacity:0;visibility:hidden;transition:opacity .2s;}
	.sp-menu-overlay.is-open{opacity:1;visibility:visible;}
	.sp-menu-panel{display:block;position:fixed;left:0;right:0;bottom:0;z-index:100000;
		background:#fff;border-radius:14px 14px 0 0;padding:8px 16px 90px;
		max-height:78vh;overflow:auto;box-shadow:0 -4px 20px rgba(0,0,0,.25);
		transform:translateY(110%);transition:transform .25s ease;}
	.sp-menu-panel.is-open{transform:translateY(0);}
	.sp-menu-ttl{position:relative;font-weight:bold;font-size:16px;margin:0;padding:10px 0;border-bottom:2px solid #eee;}
	.sp-menu-close{position:absolute;right:0;top:0;background:none;border:none;font-size:28px;line-height:1;color:#999;cursor:pointer;}
	.sp-menu-panel a{display:block;padding:14px 4px;border-bottom:1px solid #eee;color:#333;text-decoration:none;font-weight:bold;}
	.sp-menu-panel a.sp-menu-reserve{margin-top:14px;padding:14px;background:linear-gradient(#ff8a1e,#f5510e);color:#fff;text-align:center;border:none;border-radius:999px;}
}
