/* Cookie consent — leadgl.com
   同意と拒否は同じ大きさ・同じ色にしてある。片方を目立たせると
   「拒否が同意と同じ手間であること」という EDPB / CNIL の要件を外れる。 */

.lgl-cc{
	position:fixed; left:0; right:0; bottom:0; z-index:9999;
	background:#102187;
	box-shadow:0 -6px 24px rgba(16,33,135,.30);
	padding:18px 16px;
}
.lgl-cc__box{
	max-width:980px; margin:0 auto;
	display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px;
}
.lgl-cc__text{
	flex:1 1 380px; margin:0;
	font-size:13.5px; line-height:1.75; color:#fff;
}
.lgl-cc__actions{ display:flex; flex-wrap:wrap; gap:8px; }

.lgl-cc__btn{
	appearance:none; cursor:pointer;
	min-width:132px; padding:10px 18px;
	font-size:13.5px; font-weight:700; line-height:1.4;
	color:#102187; background:#fff;
	border:1.5px solid #102187; border-radius:4px;
}
.lgl-cc__btn:hover{ background:#f1f3fb; }
.lgl-cc__btn:focus-visible{ outline:2px solid #102187; outline-offset:2px; }
.lgl-cc__btn--quiet{
	min-width:0; color:#4a5068; border-color:#c3c8da; font-weight:400;
}

.lgl-cc__link{
	flex:0 0 auto; font-size:12.5px; color:#4a5068;
	text-decoration:underline; text-underline-offset:2px;
}

/* --- 青いバーの中だけ色を反転する -----------------------------------------
   モーダルは白地のままなので、反転は .lgl-cc の中に限定する
   （.lgl-cc と .lgl-cc-modal は body 直下の兄弟）。
   同意と拒否はここでも同じ大きさ・同じ白ベタ。差をつけない。
   3つ目の「選択する」は拒否ではないので、一段落としてよい。 */

.lgl-cc .lgl-cc__btn{
	color:#102187; background:#fff; border-color:#fff;
}
.lgl-cc .lgl-cc__btn:hover{ background:#e9ecf8; border-color:#e9ecf8; }
.lgl-cc .lgl-cc__btn:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

.lgl-cc .lgl-cc__btn--quiet{
	color:#fff; background:transparent; border-color:rgba(255,255,255,.60);
}
.lgl-cc .lgl-cc__btn--quiet:hover{ background:rgba(255,255,255,.14); border-color:#fff; }

.lgl-cc .lgl-cc__link{ color:#fff; }

/* --- 設定パネル --------------------------------------------------------- */

.lgl-cc-modal{
	position:fixed; inset:0; z-index:10000;
	background:rgba(14,18,40,.45);
	display:flex; align-items:center; justify-content:center;
	padding:16px; overflow:auto;
}
.lgl-cc-modal__box{
	background:#fff; border-radius:6px; max-width:560px; width:100%;
	padding:24px; box-shadow:0 20px 60px rgba(0,0,0,.28);
}
.lgl-cc-modal__title{ margin:0 0 8px; font-size:18px; line-height:1.5; color:#102187; }
.lgl-cc-modal__intro{ margin:0 0 18px; font-size:13px; line-height:1.75; color:#4a5068; }
.lgl-cc-modal__foot{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }

.lgl-cc-row{ border-top:1px solid #e6e8f0; padding:14px 0; }
.lgl-cc-row__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.lgl-cc-row__name{ font-size:14px; font-weight:700; color:#243; }
.lgl-cc-row__always{ font-size:12px; color:#6b7087; }
.lgl-cc-row__desc{ margin:6px 0 0; font-size:12.5px; line-height:1.75; color:#5a6075; }

.lgl-cc-sw{ position:relative; flex:0 0 auto; display:inline-flex; cursor:pointer; }
.lgl-cc-sw input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.lgl-cc-sw__track{
	width:44px; height:24px; border-radius:999px; background:#c3c8da;
	transition:background .15s; position:relative; display:block;
}
.lgl-cc-sw__track::after{
	content:""; position:absolute; top:3px; left:3px; width:18px; height:18px;
	border-radius:50%; background:#fff; transition:transform .15s;
}
.lgl-cc-sw input:checked + .lgl-cc-sw__track{ background:#102187; }
.lgl-cc-sw input:checked + .lgl-cc-sw__track::after{ transform:translateX(20px); }
.lgl-cc-sw input:focus-visible + .lgl-cc-sw__track{ outline:2px solid #102187; outline-offset:2px; }

/* --- フッターの入口 ------------------------------------------------------ */

.lgl-consent-link{ margin:6px 0; text-align:center; }
.lgl-consent-link__btn{
	appearance:none; background:none; border:0; padding:0; cursor:pointer;
	font-size:13px; color:inherit; text-decoration:underline; text-underline-offset:2px;
}

@media (max-width:600px){
	.lgl-cc__btn{ flex:1 1 140px; }
	.lgl-cc__actions{ width:100%; }
}
@media (prefers-reduced-motion:reduce){
	.lgl-cc-sw__track, .lgl-cc-sw__track::after{ transition:none; }
}
