/*
 * メニュー（ハンバーガー内）再構成 2026-09-23
 * - 「矯正治療費・料金」を最上部の白いボタンで強調
 * - よく使うページをボタン化、それ以外は見出し付きグループに整理
 * common.css の .h-nav を土台に、.h-nav--v2 の中だけを上書きする
 */
header nav .h-nav.h-nav--v2 {
	justify-content: flex-start;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 769px) {
	header nav .h-nav.h-nav--v2 {
		width: min(480px, 44vw);
		padding: 64px 48px 56px;
	}
}

header nav .h-nav.h-nav--v2 p.m_logo { margin: 0 auto 18px; text-align: center; }
header nav .h-nav.h-nav--v2 p.m_logo img { display: block; width: min(86px, 26vw); height: auto; margin: 0 auto; }

header nav .h-nav.h-nav--v2 p.h-nav__home { margin: 0 0 12px; font-size: 1.5rem; }
header nav .h-nav.h-nav--v2 p.h-nav__home a::before { content: "‹ "; }

/* よく使うページ（ボタン） */
header nav .h-nav.h-nav--v2 ul.h-nav__quick {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}
header nav .h-nav.h-nav--v2 ul.h-nav__quick li { margin: 0; padding: 0; font-size: 1.5rem; line-height: 1.4; }
header nav .h-nav.h-nav--v2 ul.h-nav__quick li::before { content: none; }
header nav .h-nav.h-nav--v2 ul.h-nav__quick a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	height: 100%;
	min-height: 62px;
	padding: 10px 12px;
	border: 1px solid rgba(255,255,255,.85);
	border-radius: 8px;
	background: rgba(255,255,255,.12);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
header nav .h-nav.h-nav--v2 ul.h-nav__quick a small {
	display: block;
	margin-top: 2px;
	font-size: 1.15rem;
	font-weight: 400;
	line-height: 1.4;
}
header nav .h-nav.h-nav--v2 ul.h-nav__quick li.is-primary { grid-column: 1 / -1; }
header nav .h-nav.h-nav--v2 ul.h-nav__quick li.is-primary a {
	min-height: 70px;
	background: #fff;
	border-color: #fff;
	color: #3f8fcf;
	font-size: 1.8rem;
	text-shadow: none;
	text-align: center;
}
header nav .h-nav.h-nav--v2 ul.h-nav__quick li.is-primary a small { color: #5f5955; }
header nav .h-nav.h-nav--v2 ul.h-nav__quick a:hover { text-decoration: none; opacity: .88; }

/* 見出し付きグループ */
header nav .h-nav.h-nav--v2 p.h-nav__head {
	margin: 0 0 6px;
	padding-bottom: 5px;
	border-bottom: 1px solid rgba(255,255,255,.6);
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: .08em;
}
header nav .h-nav.h-nav--v2 ul.h-nav__list { margin: 0 0 20px; padding: 0; list-style: none; }
header nav .h-nav.h-nav--v2 ul.h-nav__list li { margin: 0; padding: 0; font-size: 1.5rem; line-height: 1.5; }
header nav .h-nav.h-nav--v2 ul.h-nav__list li::before { content: none; }
header nav .h-nav.h-nav--v2 ul.h-nav__list a { display: block; position: relative; padding: 6px 0 6px 1.1em; }
header nav .h-nav.h-nav--v2 ul.h-nav__list a::before { content: "›"; position: absolute; left: 0; }

header nav .h-nav.h-nav--v2 .banner2 { margin: 8px auto 24px; }

/* 2026-10-06: 背景の透けをなくし、白文字の読みやすさを確保 */
header nav .h-nav.h-nav--v2 {
    background: #346988;
    color: #fff;
    text-shadow: none;
}
header nav .h-nav.h-nav--v2 p,
header nav .h-nav.h-nav--v2 li { text-shadow: none; }
header nav .h-nav.h-nav--v2 ul.h-nav__quick a { background: #346988; }
header nav .h-nav.h-nav--v2 ul.h-nav__quick li.is-primary a {
    background: #fff;
    color: #346988;
}
