/* =========================================================
   Wacha Matome - 追記/置き換え用 完全版CSS
   既存 style.css の「Header」ブロック以降を、この内容で
   置き換えてください（カード等の共通スタイルも含みます）。
   先頭の :root 変数・リセットなどは既存のまま残してOK。
   ========================================================= */

/* ページ全体の横はみ出し防止（横揺れ対策の要） */
html,body{overflow-x:hidden;max-width:100%;}
*{min-width:0;}

/* =========================================================
   Header（黄色・きっちり全幅）
   ========================================================= */
.site-header{
	position:sticky;
	top:0;
	z-index:100;
	width:100%;
	max-width:100%;
	background:#FFE34D;
	box-shadow:0 1px 4px rgba(185,140,217,.08);
	overflow:hidden;
}
.site-header__inner{
	display:flex;
	align-items:center;
	gap:12px;
	width:100%;
	max-width:100%;
	padding:12px 14px 8px;
}
.site-branding{flex:1 1 auto;min-width:0;}
.site-branding .custom-logo{max-height:42px;width:auto;}
.site-logo{display:flex;align-items:center;gap:10px;min-width:0;}
.site-logo__mark{
	display:inline-flex;
	width:46px;height:46px;flex:0 0 auto;
	background:#111;
	border-radius:14px;
	align-items:center;justify-content:center;
}
.site-logo__mark svg{width:30px;height:30px;}
.site-logo__text{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.site-logo__title{
	font-size:20px;font-weight:900;
	color:#111;
	letter-spacing:.02em;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.site-logo__tagline{
	font-size:10px;
	color:#5a4a2a;
	font-weight:700;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.site-tools{display:flex;gap:18px;flex:0 0 auto;margin-left:auto;}
.tool-btn{
	display:flex;flex-direction:column;align-items:center;
	gap:2px;
	padding:2px 4px;
	min-width:44px;
}
.tool-btn__icon{display:flex;}
.tool-btn__label{font-size:11px;color:var(--wacha-primary);font-weight:700;margin-top:1px;}

/* 下段：検索窓（全幅） */
.site-header__search{
	width:100%;max-width:100%;
	padding:0 14px 12px;
}
.site-search{position:relative;width:100%;max-width:100%;display:flex;}
.site-search input{
	width:100%;max-width:100%;
	padding:13px 48px 13px 20px;
	border:0;border-radius:30px;
	font-size:14px;
	color:var(--wacha-text);
	background:#fff;outline:none;
	transition:box-shadow .15s;
}
.site-search input::placeholder{color:#bbb;font-size:13px;}
.site-search input:focus{box-shadow:0 0 0 2px var(--wacha-primary-light);}
.site-search__btn{
	position:absolute;right:6px;top:50%;transform:translateY(-50%);
	width:36px;height:36px;border-radius:50%;
	background:var(--wacha-primary);
	display:flex;align-items:center;justify-content:center;
}

/* =========================================================
   Hero（画像1枚＝1リンク・きっちり全幅）
   ========================================================= */
.liver-hero{margin:0;padding:0;width:100%;max-width:100%;overflow:hidden;}
.liver-hero__img{display:block;width:100%;max-width:100%;line-height:0;overflow:hidden;}
.liver-hero__img img{width:100%;max-width:100%;height:auto;display:block;}
.liver-hero__ph{
	display:flex;align-items:center;justify-content:center;
	width:100%;min-height:240px;
	background:var(--wacha-primary-bg);color:var(--wacha-primary);
	font-size:14px;font-weight:700;line-height:1.6;
}

/* =========================================================
   画像リンク共通（LP各セクション）
   ========================================================= */
.lp-imglink{display:block;width:100%;max-width:100%;line-height:0;overflow:hidden;}
.lp-imglink img{width:100%;max-width:100%;height:auto;display:block;}
.lp-imglink__ph{
	display:flex;align-items:center;justify-content:center;
	width:100%;min-height:120px;
	background:var(--wacha-primary-bg);color:var(--wacha-primary);
	font-size:13px;font-weight:700;line-height:1.5;border-radius:14px;text-align:center;
}

/* 共通：見出し行 */
.lp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.lp-head__t{font-size:17px;font-weight:900;color:var(--wacha-text);display:flex;align-items:center;gap:6px;}
.lp-head__more{font-size:11px;color:var(--wacha-text-light);font-weight:700;flex:0 0 auto;}

/* =========================================================
   2. サポート（画像4枚＝リンク4つ）
   ========================================================= */
.lp-support4{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 14px 0;max-width:100%;}
.lp-support4__item{border-radius:14px;overflow:hidden;}
.lp-support4__item img{border-radius:14px;}

/* =========================================================
   3. 記事 ＋ 配信中（配信中＝画像1枚）
   ========================================================= */
.lp-two-col{display:grid;grid-template-columns:1fr;gap:18px;padding:30px 14px 0;max-width:100%;}
.lp-two-col__main{min-width:0;}
.lp-articles{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.lp-article__thumb{
	position:relative;border-radius:12px;overflow:hidden;
	aspect-ratio:1/1;background:#1a1a2e;margin-bottom:10px;
}
.lp-badge{
	position:absolute;left:8px;top:8px;font-size:10px;font-weight:700;
	color:#fff;padding:3px 9px;border-radius:8px;
}
.b-blue{background:#5B6CF0;}
.b-purple{background:#A06AD9;}
.b-yellow{background:var(--wacha-primary);}
.b-pink{background:var(--wacha-primary);}
.lp-article__title{font-size:12px;font-weight:700;line-height:1.5;color:var(--wacha-text);margin-bottom:8px;}
.lp-article__meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--wacha-text-light);}
.lp-article__meta .like{color:var(--wacha-primary);font-weight:700;}
.lp-dots{display:flex;gap:5px;justify-content:center;margin-top:14px;}
.lp-dots i{width:7px;height:7px;border-radius:50%;background:#ddd;display:block;}
.lp-dots i.on{background:var(--wacha-primary);width:18px;border-radius:4px;}
.lp-live-img{border-radius:18px;overflow:hidden;}
.lp-live-img img{border-radius:18px;}

/* =========================================================
   4. 深夜（画像4枚）＋ 声 ＋ 募集（画像1枚）
   ========================================================= */
.lp-three-col{display:grid;grid-template-columns:1fr;gap:18px;padding:30px 14px 0;max-width:100%;}
.lp-three-col__a,.lp-three-col__b{min-width:0;}
.lp-night4{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.lp-night4__item{border-radius:12px;overflow:hidden;}
.lp-night4__item img{border-radius:12px;}

.lp-voices{display:flex;flex-direction:column;gap:12px;}
.lp-voice{
	position:relative;
	background:#ffffff !important;
	border:1.5px solid var(--wacha-primary-bg);
	border-radius:16px;
	padding:20px 16px 14px;
	box-shadow:0 2px 10px rgba(185,140,217,.08);
}
.lp-voice::before{
	content:"\201C";
	position:absolute;
	top:4px;left:14px;
	font-family:Georgia,"Times New Roman",serif;
	font-size:34px;
	line-height:1;
	color:var(--wacha-primary);
	pointer-events:none;
}
.lp-voice__txt{
	font-size:12.5px;font-weight:700;line-height:1.7;
	color:var(--wacha-text);
	margin-bottom:14px;
}
.lp-voice__foot{
	display:flex;align-items:center;gap:8px;
	font-size:11px;color:var(--wacha-text-light);
}
.lp-voice__foot .av{
	width:30px;height:30px;border-radius:50%;flex:0 0 auto;
	background:linear-gradient(135deg,var(--wacha-primary-light),var(--wacha-secondary-light));
	background-size:cover;background-position:center;
}
.lp-voice__foot .like{color:var(--wacha-primary);font-weight:700;margin-left:auto;}
.lp-voice__foot .cmt{color:var(--wacha-text-light);font-weight:700;}

.lp-recruit-img{border-radius:18px;overflow:hidden;}
.lp-recruit-img img{border-radius:18px;}

/* =========================================================
   5. 人気のタグ（テキスト）
   ========================================================= */
.lp-tags{padding:28px 14px 0;max-width:100%;}
.lp-tags__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.lp-tags__lead{font-size:15px;font-weight:900;color:var(--wacha-text);margin-right:6px;display:flex;align-items:center;gap:5px;}
.lp-tag{
	background:var(--wacha-primary-bg);color:var(--wacha-text);
	border-radius:20px;padding:7px 14px;font-size:12px;font-weight:700;
}
.lp-tags__all{
	margin-left:auto;background:#111;border:0;
	color:#fff;border-radius:30px;padding:9px 18px;font-size:12px;font-weight:700;
	display:inline-flex;align-items:center;gap:6px;
}

/* =========================================================
   6. フッターCTA（画像1枚＝1リンク・全幅）
   ========================================================= */
.lp-cta-img{display:block;margin-top:30px;width:100%;max-width:100%;line-height:0;overflow:hidden;}
.lp-cta-img img{width:100%;max-width:100%;height:auto;display:block;}

/* =========================================================
   レスポンシブ
   ========================================================= */
@media (min-width:640px){
	.site-header__inner,.site-header__search{padding-left:20px;padding-right:20px;}
	.lp-support4,.lp-two-col,.lp-three-col,.lp-tags{padding-left:20px;padding-right:20px;}
	.lp-support4{grid-template-columns:repeat(4,1fr);}
	.lp-articles{grid-template-columns:repeat(4,1fr);}
	.lp-night4{grid-template-columns:repeat(4,1fr);}
}
@media (min-width:960px){
	.site-header__inner,.site-header__search{padding-left:32px;padding-right:32px;}
	.lp-two-col{grid-template-columns:1fr 300px;padding-left:32px;padding-right:32px;}
	.lp-three-col{grid-template-columns:1fr 1fr 280px;padding-left:32px;padding-right:32px;}
	.lp-support4,.lp-tags{padding-left:32px;padding-right:32px;}
}
@media (min-width:1200px){
	.site-header__inner,.site-header__search{padding-left:48px;padding-right:48px;}
	.lp-support4,.lp-two-col,.lp-three-col,.lp-tags{padding-left:48px;padding-right:48px;}
}
/* =========================================================
   Footer（消えていたので復元・末尾に追記）
   ========================================================= */
.site-footer{
	margin-top:32px;
	background:linear-gradient(135deg,var(--wacha-primary-bg),var(--wacha-secondary-bg));
	padding:24px 14px;
	text-align:center;
}
.site-footer__inner{
	width:100%;
	max-width:100%;
	margin:0 auto;
}
.footer-nav__list{
	display:flex;flex-wrap:wrap;justify-content:center;
	gap:14px;
	margin-bottom:14px;
	padding:0;list-style:none;
}
.footer-nav__list a{font-size:12px;color:var(--wacha-text);}
.site-footer__copy{font-size:10px;color:var(--wacha-text-light);}

/* トップへ戻るボタン */
.back-to-top{
	position:fixed;right:12px;bottom:12px;z-index:50;
	width:42px;height:42px;border-radius:50%;
	background:var(--wacha-primary);color:#fff;
	box-shadow:0 4px 12px rgba(255,111,168,.4);
	font-size:18px;font-weight:700;
	border:0;cursor:pointer;
	opacity:0;pointer-events:none;
	transition:opacity .2s;
}
.back-to-top.is-visible{opacity:1;pointer-events:auto;}

/* =========================================================
   応募詳細ページ（page-recruit.php）
   PC用・スマホ用画像を出し分け。全幅・左右余白なし。
   ========================================================= */
.recruit-page{
	width:100%;
	max-width:100%;
	margin:0;
	padding:0;
	overflow:hidden;
}
.recruit-page__link{
	display:block;
	width:100%;
	max-width:100%;
	line-height:0;
}
.recruit-page__link img{
	width:100%;
	max-width:100%;
	height:auto;
	display:block;
}

/* 出し分け：デフォルト（モバイル）はスマホ用を表示、PC用は隠す */
.recruit-page__pc{display:none;}
.recruit-page__sp{display:block;}

/* 768px以上：PC用を表示、スマホ用を隠す */
@media (min-width:768px){
	.recruit-page__pc{display:block;}
	.recruit-page__sp{display:none;}
}

/* 画像未設定時のプレースホルダ */
.recruit-page__ph{
	display:flex;align-items:center;justify-content:center;
	width:100%;min-height:280px;
	background:var(--wacha-primary-bg);color:var(--wacha-primary);
	font-size:14px;font-weight:700;line-height:1.6;text-align:center;
}
/* =========================================================
   ライバー応募フォーム（page-recruit.php）
   ========================================================= */
.rc-form{
	max-width:680px;
	margin:0 auto;
	padding:24px 14px 40px;
}
.rc-form__head{text-align:center;margin-bottom:24px;}
.rc-form__title{
	font-size:28px;font-weight:900;color:var(--wacha-text);
	margin-bottom:6px;
}
.rc-form__lead{font-size:14px;font-weight:700;color:var(--wacha-primary);}
.rc-form__error{
	background:#fff0f3;border:1.5px solid var(--wacha-primary);
	color:#d6336c;border-radius:12px;padding:12px 16px;
	font-size:13px;font-weight:700;margin-bottom:18px;text-align:center;
}

.rc-form__body{
	background:#fff;
	border-radius:20px;
	padding:24px 18px;
	box-shadow:0 4px 18px rgba(185,140,217,.12);
}

.rc-step{margin-bottom:24px;}
.rc-step__label{
	display:flex;align-items:center;flex-wrap:wrap;gap:8px;
	font-size:15px;font-weight:900;color:var(--wacha-text);
	margin-bottom:14px;
}
.rc-step__no{
	background:var(--wacha-primary);color:#fff;
	font-size:12px;font-weight:900;
	padding:4px 12px;border-radius:20px;
}
.rc-req{
	background:#fff0f3;color:var(--wacha-primary);
	font-size:10px;font-weight:700;
	padding:3px 8px;border-radius:6px;
}

/* アップロード枠 */
.rc-upload{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	gap:6px;
	border:2px dashed var(--wacha-primary-light);
	border-radius:16px;
	background:#fff8fb;
	padding:34px 16px;
	cursor:pointer;
	text-align:center;
	transition:border-color .15s,background .15s;
}
.rc-upload:hover{border-color:var(--wacha-primary);background:#fff0f6;}
.rc-upload.is-selected{border-style:solid;border-color:var(--wacha-primary);}
.rc-upload__ico{
	width:74px;height:74px;border-radius:50%;
	border:2px solid var(--wacha-primary-light);
	display:flex;align-items:center;justify-content:center;
	color:var(--wacha-primary);margin-bottom:8px;
}
.rc-upload__main{font-size:17px;font-weight:900;color:var(--wacha-primary);}
.rc-upload__sub{font-size:13px;color:var(--wacha-text-light);}
.rc-upload__note{font-size:12px;color:var(--wacha-text-light);margin-top:4px;}
.rc-upload__file{font-size:12px;font-weight:700;color:var(--wacha-primary);margin-top:6px;}

/* SNS 選択 */
.rc-sns{display:flex;gap:10px;margin-bottom:12px;}
.rc-sns__opt{
	flex:1;
	display:flex;align-items:center;justify-content:center;gap:8px;
	border:1.5px solid var(--wacha-primary-bg);
	border-radius:12px;
	padding:12px;
	font-size:14px;font-weight:700;color:var(--wacha-text);
	cursor:pointer;
	transition:border-color .15s,background .15s;
}
.rc-sns__opt:has(input:checked){
	border-color:var(--wacha-primary);
	background:#fff0f6;
	color:var(--wacha-primary);
}
.rc-sns__opt input{accent-color:var(--wacha-primary);}

.rc-input{
	width:100%;
	border:1.5px solid var(--wacha-primary-bg);
	border-radius:12px;
	padding:14px 16px;
	font-size:15px;color:var(--wacha-text);
	outline:none;background:#fff;
	transition:border-color .15s;
}
.rc-input:focus{border-color:var(--wacha-primary);}
.rc-step__hint{font-size:12px;color:var(--wacha-text-light);margin-top:8px;}

.rc-submit{
	width:100%;
	display:flex;align-items:center;justify-content:center;gap:10px;
	background:linear-gradient(90deg,#FF7CB3,#F5468B 60%,#FF5A9E);
	color:#fff;border:0;border-radius:50px;
	padding:18px;font-size:18px;font-weight:900;
	box-shadow:0 6px 18px rgba(245,70,139,.30);
	cursor:pointer;position:relative;
	margin-top:8px;
}
.rc-submit__arrow{
	position:absolute;right:20px;
	width:30px;height:30px;border-radius:50%;
	background:rgba(255,255,255,.25);
	display:flex;align-items:center;justify-content:center;
}
.rc-form__privacy{
	text-align:center;font-size:11px;color:var(--wacha-text-light);
	margin-top:12px;
}

/* =========================================================
   応募完了画面
   ========================================================= */
.rc-complete{
	max-width:680px;margin:0 auto;padding:30px 14px 50px;text-align:center;
}
.rc-complete__head{margin-bottom:24px;}
.rc-complete__check{
	display:inline-flex;align-items:center;justify-content:center;
	width:64px;height:64px;border-radius:50%;
	background:var(--wacha-primary);
	box-shadow:0 6px 16px rgba(245,70,139,.30);
	margin-bottom:14px;
}
.rc-complete__title{
	font-size:28px;font-weight:900;color:var(--wacha-text);margin-bottom:6px;
}
.rc-complete__title em{color:var(--wacha-primary);font-style:normal;}
.rc-complete__sub{font-size:15px;font-weight:700;color:var(--wacha-text);}

.rc-complete__box{
	background:#fff;border-radius:20px;
	padding:24px 18px;
	box-shadow:0 4px 18px rgba(185,140,217,.12);
	text-align:left;
}
.rc-complete__boxttl{
	text-align:center;font-size:16px;font-weight:900;color:var(--wacha-primary);
	margin-bottom:18px;
}
.rc-complete__list{margin:0 0 18px;}
.rc-complete__row{
	display:flex;align-items:center;justify-content:space-between;
	padding:14px 4px;
	border-bottom:1px solid var(--wacha-primary-bg);
}
.rc-complete__row dt{font-size:14px;font-weight:900;color:var(--wacha-text);margin:0;}
.rc-complete__row dd{font-size:16px;font-weight:900;color:var(--wacha-primary);margin:0;}
.rc-complete__note{
	font-size:13px;line-height:1.8;color:var(--wacha-text);text-align:center;
}
.rc-complete__note strong{color:var(--wacha-primary);}

/* =========================================================
   応募画面スプラッシュ（全画面ポップアップ）
   全幅・全画面・左右余白0で画像を表示し、指定秒後に閉じるボタン出現
   ========================================================= */
.wacha-splash{
	position:fixed;
	inset:0;
	top:0; right:0; bottom:0; left:0;
	z-index:99999;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	background:rgba(0,0,0,.88);
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:auto;
	opacity:1;
	transition:opacity .3s ease;
	-webkit-overflow-scrolling:touch;
}
.wacha-splash.is-hidden{
	opacity:0;
	pointer-events:none;
}
.wacha-splash__inner{
	position:relative;
	width:100%;
	height:100%;
	max-width:100vw;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
	padding:0;
}
.wacha-splash__pic,
.wacha-splash__pic img,
.wacha-splash__img{
	display:block;
	max-width:100%;
	max-height:100vh;
	width:auto;
	height:auto;
	margin:0 auto;
	object-fit:contain;
}
/* 閉じるボタン（出現前は hidden 属性で完全非表示） */
.wacha-splash__close{
	position:fixed;
	top:16px;
	right:16px;
	z-index:1;
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:10px 16px;
	background:#fff;
	color:#222;
	border:0;
	border-radius:999px;
	font-size:14px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	box-shadow:0 6px 18px rgba(0,0,0,.35);
	opacity:0;
	transform:translateY(-6px);
	transition:opacity .25s ease, transform .25s ease;
	-webkit-tap-highlight-color:transparent;
}
.wacha-splash__close.is-visible{
	opacity:1;
	transform:translateY(0);
}
.wacha-splash__close:hover,
.wacha-splash__close:focus-visible{
	background:var(--wacha-primary, #FF6FA8);
	color:#fff;
	outline:none;
}
.wacha-splash__close-x{
	font-size:20px;
	line-height:1;
	font-weight:400;
}
@media (max-width: 767px){
	.wacha-splash__close{
		top:12px;
		right:12px;
		padding:9px 14px;
		font-size:13px;
	}
	.wacha-splash__close-x{ font-size:18px; }
}
