@charset "UTF-8";

/*
 * SP 表示のグローバルナビのタップ開閉（アコーディオン）。
 * 既存の style.min.css は SP でサブメニューを常時展開する指定になっているため、
 * ここで畳んだうえで .is-open のときだけ開く形に上書きする。
 * PC（750px 以上）のホバー式ドロップダウンには一切影響させない。
 */

/* 開閉ボタンは JS が挿入する。PC では使わないので既定は非表示 */
.page-header .nav__toggle {
	display: none;
}

@media (max-width: 749px) {
	/* header.php のインライン <style> が全幅で height:94px を指定しているため、
	   SP では打ち消しておく。固定高のままだと開いたサブメニューが次の項目に重なる。
	   インライン指定より後勝ちにできないので .nav を挟んで詳細度を上げている */
	.page-header .nav .nav__item > li {
		height: auto;
	}

	/* 子を持つ項目は「リンク＋開閉ボタン」を 1 行目、サブメニューを 2 行目に折り返す。
	   ボタンを絶対配置にすると高さがサブメニューの分まで伸び、
	   button の中央寄せでアイコンが下にずれてしまうため、行の高さに揃う flex で組む */
	.page-header .nav .nav__item > li.has-child {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}

	/* 背景色（本体は赤・IC は青）はリンクが持っているため、リンクは行全体に広げたままにして
	   ボタンはその右端に負のマージンで重ねる。ボタン側で色を指定しなくて済む */
	.page-header .nav__item > li.has-child > a {
		box-sizing: border-box;
		flex: 1 1 100%;
		width: auto;
		padding-right: 60px;
	}

	/* 子を持つ親項目では、リンクの矢印は開閉ボタンと紛らわしいので消す */
	.page-header .nav__item > li.has-child > a:after {
		content: none;
	}

	.page-header .nav__item > li.has-child > .sub-menu {
		flex: 0 0 100%;
	}

	.page-header .nav__toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 60px;
		/* リンクの右端に重ねる。親リンクが z-index:10 なので前面に出す */
		margin: 0 0 0 -60px;
		position: relative;
		z-index: 20;
		padding: 0;
		border: 0;
		border-left: solid 1px rgba(255, 255, 255, .5);
		background: transparent;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}

	/* 下向きの山形。開いている間は上向きに回す。
	   回転の基準が四角形のため、見た目の中心に合わせて上下に 3px ずらしている */
	.page-header .nav__toggle:before {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		margin-top: -3px;
		border: 1px solid;
		border-color: transparent #fff #fff transparent;
		transform: rotate(45deg);
		transition: transform .3s ease;
	}

	.page-header .nav__item > li.is-open > .nav__toggle:before {
		margin-top: 3px;
		transform: rotate(-135deg);
	}

	/* 既存の SP 指定で常時表示になっているサブメニューを畳む */
	.page-header .nav__item > li > .sub-menu {
		overflow: hidden;
		max-height: 0;
		transition: max-height .3s ease;
	}

	/* 実高さは項目数 × 40px。最多 7 項目でも収まる値を上限にする */
	.page-header .nav__item > li.is-open > .sub-menu {
		max-height: 600px;
	}
}
