/* ============================================================
   デザイントークン（カラー・フォント・余白）
   ============================================================ */
:root{
	/* 背景：温かいクリーム/オフホワイト */
	--cream:#fffaf2;
	--cream-2:#fff3e2;
	--white:#ffffff;

	/* 主役：オレンジ＆ゴールド */
	--orange:#f7941e;
	--orange-deep:#e07d0a;
	--gold:#f4c04e;
	--gold-deep:#e0a92e;

	/* 差し色：ミントグリーン＆スカイブルー */
	--mint:#5bbf9f;
	--sky:#5aa9e6;

	/* 文字色：濃紺で信頼感 */
	--ink:#22324a;
	--ink-soft:#56627a;
	--ink-faint:#8b95a8;

	/* RPG「冒険の書」アクセント用の濃色パネル */
	--quest-bg:#1d2335;
	--quest-bg-2:#262d44;
	--quest-line:#fdf6e3;       /* RPGウィンドウの白二重枠 */
	--quest-yellow:#ffd34d;     /* コマンドラベルの黄 */
	--quest-blue:#7cc4ff;       /* フィールドラベルの青 */

	--radius:22px;
	--radius-sm:14px;
	--shadow:0 18px 40px -20px rgba(34,50,74,.28);
	--shadow-soft:0 10px 30px -16px rgba(34,50,74,.22);
	--maxw:1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:"Noto Sans JP",sans-serif;
	color:var(--ink);
	background:var(--cream);
	line-height:1.85;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

/* 見出しは丸ゴシック（M PLUS Rounded 1cはfallbackとして残置・読込はしない） */
h1,h2,h3,.rounded{font-family:"Zen Maru Gothic","M PLUS Rounded 1c",sans-serif;}

/* ドット系（クエストラベル等にだけ少量） */
.dot{font-family:"DotGothic16",monospace;letter-spacing:.04em;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 22px;}

/* アクセシビリティ：フォーカス可視 */
a:focus-visible,button:focus-visible{
	outline:3px solid var(--sky);
	outline-offset:3px;
	border-radius:6px;
}

/* スキップリンク */
.skip-link{
	position:absolute;left:-999px;top:0;z-index:200;
	background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;
}
.skip-link:focus{left:0;}

/* ============================================================
   汎用：インラインSVGアイコン（信頼感を左右する箇所で使用）
   currentColorで色を継承し、サイズはコンテナ側で制御
   ============================================================ */
.svg-ico{width:1em;height:1em;display:inline-block;vertical-align:-.12em;flex:none;}

/* ============================================================
   汎用：クエストラベル（QUEST 01 風の小見出し）
   ============================================================ */
.quest-label{
	display:inline-flex;align-items:center;gap:10px;
	background:var(--quest-bg);
	color:var(--quest-yellow);
	border:2px solid var(--quest-line);
	box-shadow:0 0 0 2px var(--quest-bg);
	border-radius:8px;
	padding:6px 14px;
	font-size:.82rem;
	margin-bottom:18px;
}
.quest-label .qno{color:#fff;}
.quest-label .qicon{display:inline-flex;color:var(--quest-yellow);font-size:1rem;}

/* セクション見出し（オレンジのアクセントバー付き：plan系） */
.sec-title{
	font-size:clamp(1.6rem,4.5vw,2.4rem);
	font-weight:900;
	margin:0 0 8px;
	letter-spacing:.01em;
}
.sec-bar{
	width:46px;height:7px;border-radius:6px;
	background:linear-gradient(90deg,var(--orange),var(--gold));
	margin-bottom:34px;
}
.sec-head{margin-bottom:8px;}
.lead{color:var(--ink-soft);font-size:1.02rem;max-width:680px;}

section{padding:84px 0;position:relative;}
.bg-cream-2{background:linear-gradient(180deg,var(--cream),var(--cream-2));}
.bg-white{background:var(--white);}

/* ============================================================
   ボタン
   ============================================================ */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:9px;
	font-family:"Zen Maru Gothic","M PLUS Rounded 1c",sans-serif;
	font-weight:700;
	padding:14px 28px;
	border-radius:999px;
	border:none;cursor:pointer;
	font-size:1rem;
	transition:transform .15s ease,box-shadow .15s ease,background .2s ease;
	will-change:transform;
}
.btn .svg-ico{font-size:1.15rem;}
.btn-primary{
	background:linear-gradient(135deg,var(--orange),var(--gold-deep));
	color:#fff;
	box-shadow:0 12px 26px -10px rgba(224,125,10,.7);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 32px -10px rgba(224,125,10,.75);}
.btn-mint{
	background:linear-gradient(135deg,var(--mint),#48a98a);
	color:#fff;
	box-shadow:0 12px 26px -12px rgba(91,191,159,.8);
}
.btn-mint:hover{transform:translateY(-3px);}
.btn-ghost{
	background:#fff;color:var(--ink);
	border:2px solid #f0e3cf;
	box-shadow:var(--shadow-soft);
}
.btn-ghost:hover{transform:translateY(-3px);border-color:var(--gold);}

/* ============================================================
   ヘッダー / ナビ
   ============================================================ */
.site-header{
	position:fixed;top:0;left:0;right:0;z-index:100;
	background:rgba(255,250,242,.82);
	backdrop-filter:blur(10px);
	border-bottom:1px solid rgba(247,148,30,.14);
	transition:box-shadow .25s ease;
}
.site-header.scrolled{box-shadow:0 8px 24px -16px rgba(34,50,74,.4);}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;}

/* ロゴ：plan_01 の角丸オレンジ枠バッジ（参考ビジュアル準拠） */
.logo{
	display:inline-flex;align-items:center;
	font-family:"Zen Maru Gothic",sans-serif;
	font-weight:900;
	letter-spacing:.12em;
	color:var(--orange);
	border:3px solid var(--orange);
	border-radius:14px;
	padding:4px 14px;
	font-size:1.15rem;
	line-height:1;
}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;}
.nav-links a{font-size:.92rem;font-weight:500;color:var(--ink-soft);transition:color .2s;}
.nav-links a:hover{color:var(--orange);}
.nav-cta{margin-left:6px;padding:9px 20px;font-size:.9rem;}

/* ハンバーガー */
.hamburger{
	display:none;background:none;border:none;cursor:pointer;
	width:44px;height:44px;padding:9px;border-radius:10px;
}
.hamburger span{
	display:block;height:3px;border-radius:3px;background:var(--ink);
	margin:4px 0;transition:transform .3s ease,opacity .3s ease;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ============================================================
   ヒーロー
   ============================================================ */
.hero{
	padding:140px 0 96px;
	background:
		radial-gradient(60% 50% at 80% 0%,rgba(244,192,78,.30),transparent 60%),
		radial-gradient(50% 60% at 10% 20%,rgba(90,169,230,.16),transparent 60%),
		linear-gradient(180deg,var(--cream-2),var(--cream));
	position:relative;overflow:hidden;
}
/* 背景に漂う円（縁→円）：遊びの演出なので絵文字のまま */
.hero .float-coin{position:absolute;opacity:.5;animation:floaty 6s ease-in-out infinite;}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(8deg)}}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;}
.hero-eyebrow{
	display:inline-flex;align-items:center;gap:8px;
	background:#fff;border:2px solid var(--gold);
	color:var(--orange-deep);font-weight:700;
	padding:6px 16px;border-radius:999px;font-size:.85rem;
	box-shadow:var(--shadow-soft);margin-bottom:22px;
}
.hero-eyebrow .svg-ico{font-size:1.05rem;}
.hero h1{
	font-size:clamp(2rem,6vw,3.5rem);
	font-weight:900;line-height:1.3;margin:0 0 18px;
	letter-spacing:.01em;
}
.hero h1 .hl{
	background:linear-gradient(transparent 62%,rgba(244,192,78,.55) 62%);
}
.hero h1 .en{color:var(--orange);}
.hero .sub{font-size:1.08rem;color:var(--ink-soft);margin:0 0 14px;}
.hero .tagline{
	font-family:"Zen Maru Gothic",sans-serif;font-weight:700;
	color:var(--ink);font-size:1.12rem;margin:0 0 30px;
}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-meta{margin-top:26px;display:flex;gap:18px;flex-wrap:wrap;color:var(--ink-faint);font-size:.85rem;}
.hero-meta span{display:inline-flex;align-items:center;gap:6px;}
.hero-meta .svg-ico{font-size:1rem;color:var(--orange);}

/* ヒーローの「冒険の書」ビジュアル枠（mtg_01 のRPGウィンドウ準拠・温かいトーン） */
.book{
	position:relative;
	background:linear-gradient(160deg,var(--quest-bg),var(--quest-bg-2));
	border-radius:20px;
	padding:10px;
	box-shadow:var(--shadow);
}
.book-inner{
	border:3px solid var(--quest-line);
	border-radius:12px;
	padding:30px 26px;
	color:#fff;
	text-align:center;
}
.book .book-title{
	font-family:"DotGothic16",monospace;
	font-size:1.5rem;color:#fff;margin:0 0 6px;letter-spacing:.06em;
}
.book .book-sub{
	font-family:"DotGothic16",monospace;
	color:var(--quest-yellow);font-size:1.02rem;margin:0 0 22px;
}
.book .menu{
	border:2px solid var(--quest-line);border-radius:10px;
	padding:14px 18px;text-align:left;margin:0;
	font-family:"DotGothic16",monospace;font-size:.95rem;
	display:flex;flex-direction:column;gap:10px;
}
.book .menu li{list-style:none;color:#e7ecf7;display:flex;align-items:center;gap:10px;}
.book .menu li .cur{color:var(--quest-yellow);}
.book .coin-row{margin-top:18px;font-size:1.6rem;letter-spacing:6px;}

/* ============================================================
   共感→課題
   ============================================================ */
.worry-box{
	background:#fff;border-radius:var(--radius);
	padding:40px 34px;box-shadow:var(--shadow-soft);
	border:1px solid #f3e7d3;
	max-width:760px;margin:0 auto 48px;text-align:center;
}
.worry-box h3{font-size:1.4rem;margin:0 0 22px;}
.worry-list{display:flex;flex-direction:column;gap:14px;text-align:left;}
.worry-item{
	display:flex;gap:14px;align-items:flex-start;
	background:var(--cream-2);border-radius:14px;padding:14px 18px;
	color:var(--ink-soft);
}
/* 親の声を表す表情：感情の機微なので絵文字のまま（遊び寄り） */
.worry-item .face{font-size:1.5rem;flex-shrink:0;}

.issue-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.issue-card{
	background:#fff;border-radius:var(--radius);
	padding:32px 30px;box-shadow:var(--shadow-soft);
	border:1px solid #f3e7d3;position:relative;overflow:hidden;
}
.issue-card::before{
	content:"";position:absolute;top:0;left:0;width:100%;height:6px;
	background:linear-gradient(90deg,var(--orange),var(--gold));
}
.issue-card .badge{
	display:inline-flex;align-items:center;gap:8px;
	font-size:.78rem;font-weight:700;color:var(--orange-deep);
	background:var(--cream-2);border-radius:999px;padding:5px 12px;margin-bottom:14px;
}
.issue-card h4{font-size:1.22rem;margin:0 0 12px;display:flex;align-items:center;gap:12px;}
/* 信頼感を左右する箇所：案B由来のSVGアイコンチップ */
.issue-card .ico-chip{
	width:46px;height:46px;border-radius:13px;flex:none;
	display:flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,var(--cream-2),#ffe7c4);
	color:var(--orange);
}
.issue-card .ico-chip .svg-ico{font-size:1.5rem;}
.issue-card p{color:var(--ink-soft);margin:0;font-size:.97rem;}
.issue-note{
	margin-top:14px;font-size:.84rem;color:var(--ink-faint);
	border-top:1px dashed #e6d8c1;padding-top:12px;
}

/* ============================================================
   ENMANとは（縁→円→円満）
   ============================================================ */
.enman-flow{
	display:flex;align-items:center;justify-content:center;gap:14px;
	flex-wrap:wrap;margin:0 auto 44px;
}
.flow-badge{
	width:138px;height:138px;border-radius:50%;
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	color:#fff;font-family:"Zen Maru Gothic",sans-serif;text-align:center;
	box-shadow:var(--shadow);
}
.flow-badge .jp{font-size:2.1rem;font-weight:900;line-height:1;}
.flow-badge .en{font-size:.8rem;opacity:.95;margin-top:6px;letter-spacing:.1em;}
.flow-badge .note{font-size:.7rem;opacity:.9;margin-top:4px;}
.fb1{background:linear-gradient(135deg,var(--sky),#3f8fd0);}
.fb2{background:linear-gradient(135deg,var(--gold),var(--orange));}
.fb3{background:linear-gradient(135deg,var(--mint),#3f9d7f);}
.flow-arrow{font-size:2rem;color:var(--gold-deep);}

.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:8px;}
.meta-card{
	border-radius:var(--radius);padding:30px 28px;
	box-shadow:var(--shadow-soft);
}
/* お金は「どうぐ」メタファー：RPGウィンドウ風の濃色カード（世界観演出のため絵文字維持） */
.tool-card{
	background:linear-gradient(160deg,var(--quest-bg),var(--quest-bg-2));
	color:#fff;border:3px solid var(--quest-line);
	border-radius:var(--radius);padding:30px 28px;
}
.tool-card h4{font-family:"DotGothic16",monospace;color:var(--quest-yellow);font-size:1.15rem;margin:0 0 14px;}
.tool-card p{color:#dde3f0;margin:0;font-size:.96rem;}
.tool-card .row{display:flex;gap:10px;align-items:center;margin-top:14px;font-family:"DotGothic16",monospace;font-size:.92rem;}
.tool-card .row .lbl{color:var(--quest-blue);}
.tool-card .row .val{color:var(--quest-yellow);}

.gold-card{
	background:#fff;border:1px solid #f3e7d3;
}
.gold-card h4{font-size:1.2rem;margin:0 0 12px;display:flex;align-items:center;gap:10px;}
.gold-card .ico{font-size:1.5rem;}
.gold-card p{color:var(--ink-soft);margin:0;font-size:.96rem;}
.gold-card .quest-name{
	display:inline-block;margin-top:16px;
	background:var(--cream-2);border:2px dashed var(--gold-deep);
	border-radius:10px;padding:8px 16px;font-weight:700;color:var(--orange-deep);
	font-family:"Zen Maru Gothic",sans-serif;
}

/* ============================================================
   目指す未来（3本柱）/ 事業内容 / 理由：共通カードグリッド
   ============================================================ */
.card-grid{display:grid;gap:26px;}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}

.soft-card{
	background:#fff;border-radius:var(--radius);
	padding:30px 26px;border:1px solid #f3e7d3;
	box-shadow:var(--shadow-soft);
	transition:transform .2s ease,box-shadow .2s ease;
}
.soft-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.icon-chip{
	width:52px;height:52px;border-radius:14px;
	display:flex;align-items:center;justify-content:center;
	font-size:1.5rem;margin-bottom:16px;color:var(--orange);
	background:linear-gradient(135deg,var(--cream-2),#ffe7c4);
}
.icon-chip .svg-ico{font-size:1.55rem;}
/* 差し色違いのチップ（アイコンは色も差し色に揃える） */
.icon-chip.mint{background:linear-gradient(135deg,#dff3ec,#bfe7d8);color:#3f9d7f;}
.icon-chip.sky{background:linear-gradient(135deg,#e0f0fc,#c5e3f8);color:#3f8fd0;}
.soft-card h4{font-size:1.15rem;margin:0 0 10px;}
.soft-card p{color:var(--ink-soft);font-size:.95rem;margin:0;}

/* 事業内容：写真プレースホルダ付き（写真枠の絵文字は差し替え前提のため維持） */
.biz-card{padding:0;overflow:hidden;}
.photo-ph{
	height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;
	color:#fff;gap:6px;position:relative;
}
.photo-ph .ph-ico{font-size:2.6rem;}
.photo-ph .ph-cap{font-size:.78rem;opacity:.95;background:rgba(0,0,0,.22);padding:3px 12px;border-radius:999px;}
.ph-1{background:linear-gradient(135deg,#f7941e,#f4c04e);}
.ph-2{background:linear-gradient(135deg,#5bbf9f,#48a98a);}
.ph-3{background:linear-gradient(135deg,#5aa9e6,#3f8fd0);}
.biz-body{padding:24px 26px 28px;}
.biz-body h4{font-size:1.18rem;margin:0 0 10px;}
.biz-body p{color:var(--ink-soft);font-size:.95rem;margin:0;}
.biz-tag{display:inline-block;font-size:.74rem;color:var(--orange-deep);font-weight:700;margin-bottom:6px;}

/* 理由カードの番号 */
.reason-no{
	font-family:"DotGothic16",monospace;font-size:.8rem;
	color:var(--orange);margin-bottom:6px;display:block;
}

/* ============================================================
   冒険者パーティ（RPGステータスウィンドウ風カード）
   キャラのアバターは“遊びの演出”として絵文字のまま維持
   ============================================================ */
.party-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.hero-card{
	background:linear-gradient(165deg,var(--quest-bg),var(--quest-bg-2));
	border:3px solid var(--quest-line);
	border-radius:16px;
	padding:18px 18px 22px;
	color:#fff;
	transition:transform .2s ease;
}
.hero-card:hover{transform:translateY(-6px);}
.hero-card .avatar{
	width:74px;height:74px;border-radius:50%;margin:4px auto 12px;
	display:flex;align-items:center;justify-content:center;font-size:2.1rem;
	background:linear-gradient(135deg,var(--gold),var(--orange));
	border:3px solid var(--quest-line);
}
.hero-card .name{
	text-align:center;font-family:"DotGothic16",monospace;
	font-size:1.15rem;color:#fff;margin:0 0 4px;
	border-bottom:2px solid rgba(253,246,227,.4);padding-bottom:10px;
}
.hero-card .job{
	text-align:center;font-family:"DotGothic16",monospace;font-size:.86rem;
	color:var(--quest-yellow);margin:10px 0 14px;
}
.hero-card .stat{font-family:"DotGothic16",monospace;font-size:.84rem;line-height:1.7;margin:0;}
.hero-card .stat div{display:flex;}
.hero-card .stat .lbl{color:var(--quest-blue);}
.hero-card .stat .val{color:#fff;}
.recruit-card{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	text-align:center;border-style:dashed;color:#cfd6e6;
}
.recruit-card .q{font-size:2.6rem;font-family:"DotGothic16",monospace;color:var(--quest-yellow);}

/* ============================================================
   ロードマップ
   ============================================================ */
.roadmap{position:relative;margin-top:18px;}
.road-track{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.road-step{
	background:#fff;border-radius:var(--radius-sm);
	border:1px solid #f3e7d3;box-shadow:var(--shadow-soft);
	padding:24px 20px;position:relative;
}
.road-step .lv{
	font-family:"DotGothic16",monospace;font-size:.8rem;color:#fff;
	background:linear-gradient(135deg,var(--orange),var(--gold-deep));
	border-radius:999px;padding:3px 12px;display:inline-block;margin-bottom:10px;
}
.road-step h4{font-size:1.05rem;margin:0 0 8px;}
.road-step p{font-size:.88rem;color:var(--ink-soft);margin:0 0 12px;}
/* 案Aのステータス語彙を少量加味（いま ここ／つぎ／これから／でんせつ） */
.road-step .status{
	font-family:"DotGothic16",monospace;font-size:.76rem;
	display:inline-flex;align-items:center;gap:6px;
}
.road-step .status.now{color:var(--orange-deep);}
.road-step .status.next{color:var(--gold-deep);}
.road-step .status.todo{color:var(--ink-faint);}
.goal-stats{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin-bottom:40px;}
.goal-stat{
	background:#fff;border:1px solid #f3e7d3;border-radius:var(--radius-sm);
	padding:20px 30px;text-align:center;box-shadow:var(--shadow-soft);min-width:160px;
}
.goal-stat .num{font-family:"Zen Maru Gothic",sans-serif;font-weight:900;font-size:2rem;color:var(--orange);line-height:1;}
.goal-stat .lbl{font-size:.85rem;color:var(--ink-soft);margin-top:8px;}

/* ============================================================
   ミッション / ビジョン（CTA手前・大人向け事業ビジョンの格調：案B由来）
   ============================================================ */
.mission{
	background:
		radial-gradient(60% 70% at 90% 0%,rgba(91,191,159,.18),transparent 60%),
		linear-gradient(180deg,var(--white),var(--cream-2));
	text-align:center;position:relative;overflow:hidden;
}
.mission .pill{
	display:inline-block;
	background:#d7ede0;color:#2f8a5f;
	font-size:.72rem;font-weight:700;letter-spacing:.18em;
	padding:7px 18px;border-radius:999px;margin-bottom:20px;
}
.mission h2{
	font-size:clamp(1.7rem,5vw,2.7rem);
	font-weight:900;color:var(--ink);
	letter-spacing:.02em;line-height:1.45;
	margin:0 auto 26px;max-width:880px;
}
.mission .mission-lead{
	font-family:"Zen Maru Gothic",sans-serif;font-weight:700;
	font-size:clamp(1rem,2.4vw,1.16rem);
	color:var(--ink);max-width:760px;margin:0 auto 6px;
}
.mission .mission-sub{color:var(--ink-soft);max-width:680px;margin:18px auto 0;font-size:.98rem;}
/* 連絡先アイコン行（案B plan_13 由来：SVGアイコンで信頼感担保） */
.contact-row{
	display:flex;align-items:center;justify-content:center;
	gap:38px;flex-wrap:wrap;
	margin:40px auto 0;padding-top:32px;
	border-top:1px solid rgba(34,50,74,.12);
	max-width:760px;
}
.contact-item{
	display:inline-flex;align-items:center;gap:10px;
	font-size:.95rem;font-weight:700;color:var(--ink);
}
.contact-item .svg-ico{font-size:1.3rem;color:var(--orange);}

/* ============================================================
   CTA
   ============================================================ */
.cta{
	background:
		radial-gradient(50% 80% at 85% 10%,rgba(244,192,78,.45),transparent 60%),
		linear-gradient(135deg,var(--quest-bg),#2a3552);
	color:#fff;text-align:center;
}
.cta h2{font-size:clamp(1.6rem,4.5vw,2.5rem);margin:0 0 14px;display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;}
.cta h2 .svg-ico{color:var(--quest-yellow);}
.cta p{color:#d6dcec;max-width:620px;margin:0 auto 30px;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:30px;}
.partner-note{
	display:inline-flex;align-items:center;gap:12px;
	background:rgba(255,255,255,.1);border:2px solid rgba(253,246,227,.4);
	border-radius:14px;padding:14px 22px;font-size:.95rem;text-align:left;
}
.partner-note .svg-ico{font-size:1.4rem;color:var(--quest-yellow);flex:none;}

/* 問い合わせフォーム（CTAの暗い背景に馴染む明色フィールド） */
.contact-form{max-width:560px;margin:0 auto 26px;text-align:left;display:grid;gap:16px;}
.contact-form .field{display:flex;flex-direction:column;gap:6px;}
.contact-form label{font-size:.9rem;font-weight:700;color:#fdf6e3;display:flex;align-items:center;gap:8px;}
.contact-form label .req{font-size:.72rem;font-weight:700;color:var(--quest-bg);background:var(--quest-yellow);border-radius:999px;padding:1px 9px;}
.contact-form input,.contact-form select,.contact-form textarea{
	font:inherit;padding:12px 14px;border-radius:10px;border:2px solid rgba(253,246,227,.3);
	background:rgba(255,255,255,.96);color:#2a3552;width:100%;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
	outline:none;border-color:var(--quest-yellow);box-shadow:0 0 0 3px rgba(244,192,78,.35);
}
.contact-form textarea{min-height:130px;resize:vertical;}
.contact-form .submit-row{text-align:center;margin-top:4px;}
.contact-form .submit-row .btn{cursor:pointer;border:none;}
.contact-form .form-note{font-size:.8rem;color:#aeb8d0;text-align:center;margin:-4px 0 0;}
/* honeypot（人には見えない・botよけ） */
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
/* 送信後の確認メッセージ（プレビュー用モック） */
.form-done{max-width:560px;margin:0 auto 26px;background:rgba(255,255,255,.1);border:2px solid rgba(253,246,227,.4);border-radius:14px;padding:32px 26px;text-align:center;}
.form-done-icon{font-size:40px;color:var(--quest-yellow);line-height:1;}
.form-done-title{font-weight:700;color:#fdf6e3;margin:12px 0 6px;font-size:1.1rem;}
.form-done-text{color:#d6dcec;font-size:.9rem;margin:0;}

/* ============================================================
   フッター
   ============================================================ */
.site-footer{background:#171c2b;color:#aeb6c8;padding:54px 0 30px;}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:30px;}
.footer-logo{
	font-family:"Zen Maru Gothic",sans-serif;font-weight:900;letter-spacing:.12em;
	color:var(--gold);border:3px solid var(--gold);border-radius:14px;
	padding:4px 14px;font-size:1.1rem;display:inline-block;
}
.footer-info p{margin:10px 0 0;font-size:.9rem;display:flex;align-items:center;gap:8px;}
.footer-info p .svg-ico{color:var(--gold);font-size:1.05rem;}
.footer-info a{color:var(--gold);}
.footer-nav{display:flex;flex-direction:column;gap:8px;font-size:.9rem;}
.footer-nav a:hover{color:var(--gold);}
.copyright{border-top:1px solid #2a3148;padding-top:20px;font-size:.8rem;color:#7b849a;text-align:center;}

/* ============================================================
   スクロール出現アニメ（案B由来のd1/d2/d3スタッガーを追加）
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
/* 連続要素のスタッガー遅延（上品な連続出現） */
.reveal.d1{transition-delay:.08s;}
.reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;}

@media (prefers-reduced-motion:reduce){
	.reveal{opacity:1;transform:none;transition:none;}
	.hero .float-coin{animation:none;}
	html{scroll-behavior:auto;}
}

/* ============================================================
   レスポンシブ（モバイルファースト：以下は縮小調整）
   960px：ヒーロー縦積み / 4カラム→2カラム
   760px：ナビをハンバーガー化 / 各グリッドを1段へ
   ============================================================ */
@media(max-width:960px){
	.hero-grid{grid-template-columns:1fr;}
	.cols-4{grid-template-columns:1fr 1fr;}
	.party-grid{grid-template-columns:1fr 1fr;}
	.road-track{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
	/* ナビをハンバーガー化 */
	.hamburger{display:block;}
	.nav-links{
		position:fixed;top:68px;right:0;
		width:min(78vw,320px);height:calc(100vh - 68px);
		background:var(--white);
		flex-direction:column;align-items:flex-start;gap:0;
		padding:18px 24px;
		box-shadow:-12px 0 30px -18px rgba(0,0,0,.4);
		transform:translateX(110%);transition:transform .3s ease;
	}
	.nav-links.open{transform:none;}
	.nav-links li{width:100%;border-bottom:1px solid #f1e6d4;}
	.nav-links a{display:block;padding:14px 4px;font-size:1rem;}
	.nav-cta{margin:16px 0 0;width:100%;}

	section{padding:60px 0;}
	.issue-grid,.meta-grid{grid-template-columns:1fr;}
	.cols-3{grid-template-columns:1fr;}
	.cols-4{grid-template-columns:1fr;}
	.party-grid{grid-template-columns:1fr;}
	.road-track{grid-template-columns:1fr;}
	.flow-arrow{transform:rotate(90deg);}
	.hero{padding:120px 0 70px;}
	.hero-cta .btn,.cta-actions .btn{width:100%;}
	.contact-row{gap:18px;flex-direction:column;}
}

/* ============================================================
   WordPress 統合用オーバーライド（Lightning併用時の調整）
   ============================================================ */
/* Lightning(Bootstrap)の .container と競合しても D案の幅で確実に上書き（詳細度で勝つ） */
.site-header .container,
.site-footer .container,
#main .container{max-width:var(--maxw);width:auto;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px;}
/* ログイン時のWP管理バーと固定ヘッダーの重なり補正 */
body.admin-bar .site-header{top:32px;}
@media screen and (max-width:782px){
	body.admin-bar .site-header{top:46px;}
}
@media(max-width:760px){
	body.admin-bar .nav-links{top:114px;height:calc(100vh - 114px);}
}
