@charset "UTF-8";
/**
 * ブレークポイント上書き用CSS
 * 親テーマ（SWELL）のブレークポイントを960pxから760pxに変更
 * ヘッダー・フッター関連の宣言のみを上書き
 */

/* ========================================
   PC表示: 760px以上
======================================== */
@media (min-width: 760px) {
	/* PC表示時の基本設定 - SP用スタイルを上書き */
	/* ヘッダーの背景色を設定（トップヘッダー設定を上書き） */
	.l-header {
		background: var(--color_header_bg) !important;
	}

	/* PC版では通常ヘッダーを相対配置 */
	.l-header {
		position: relative !important;
	}

	/* body_wrapの余白を標準に（親テーマのSP用スタイルを無効化） */
	#body_wrap {
		padding-top: 0 !important;
	}

	/* l-headerのtopを標準に（親テーマのSP用スタイルを無効化） */
	.l-header[data-spfix="1"] {
		top: 0 !important;
	}

	/* 固定ヘッダーを表示 */
	.l-fixHeader {
		display: block !important;
	}

	/* パンくずリストを表示 */
	.p-breadcrumb {
		display: block !important;
	}

	/* グローバルナビゲーションを表示 */
	.l-header__gnav {
		display: block !important;
	}

	/* キャッチフレーズを表示 */
	.l-header__inner .c-catchphrase {
		display: block !important;
	}

	/* SPメニューボタンを非表示 */
	.l-header__menuBtn {
		display: none !important;
	}

	/* PC表示専用クラスを表示 */
	.pc_,
	.pc_only {
		display: block !important;
	}

	/* SP専用クラスを非表示 */
	.sp_,
	.sp_only {
		display: none !important;
	}

	/* w-headerウィジェットを表示（flexレイアウト） */
	.w-header.pc_ {
		display: flex !important;
	}

	/* ヘッダー: パラレルレイアウト（親テーマの960px設定を760pxで上書き） */
	/* 注: style_common.css で既に grid レイアウトをカスタマイズしているため、
	   ここでは親テーマの設定のうち、grid と競合しない部分のみを記述 */

	.l-fixHeader.-parallel .l-fixHeader__gnav {
		margin-left: auto;
	}

	/* グローバルナビゲーション（パラレル型）の背景色とスタイル */
	.-parallel .l-header__gnav {
		background-color: var(--color_gnav_bg);
		color: #fff;
	}

	.-parallel .l-header__gnav .c-gnav > li > a {
		padding-bottom: 12px;
		padding-top: 12px;
	}

	.-parallel .l-header__gnav .c-gnav > li > a:after {
		background-color: #fff;
	}

	.-parallel-top .l-header__gnav {
		margin-bottom: 8px;
	}

	.-parallel-bottom .l-header__gnav {
		margin-top: 8px;
	}

	/* ヘッダー: シリーズレイアウト */
	.-series .l-header__inner {
		align-items: stretch;
		display: flex;
	}

	.-series .l-header__logo {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		margin-right: 24px;
		padding: 16px 0;
	}

	.-series .l-header__logo .c-catchphrase {
		font-size: 13px;
		padding: 4px 0;
	}

	.-series .c-headLogo {
		margin-right: 16px;
	}

	.-series-right .l-header__inner {
		justify-content: space-between;
	}

	.-series-right .c-gnavWrap {
		margin-left: auto;
	}

	.-series-right .w-header {
		margin-left: 12px;
	}

	.-series-left .w-header {
		margin-left: auto;
	}

	/* グローバルナビゲーション（パラレル型） */
	.-parallel .l-header__gnav {
		background-color: var(--color_gnav_bg);
		color: #fff;
	}

	.-parallel .l-header__gnav .c-gnav > li > a {
		padding-bottom: 12px;
		padding-top: 12px;
	}

	.-parallel .l-header__gnav .c-gnav > li > a:after {
		background-color: #fff;
	}

	.-parallel-top .l-header__gnav {
		margin-bottom: 8px;
	}

	.-parallel-bottom .l-header__gnav {
		margin-top: 8px;
	}

	/* SPヘッダーナビゲーション非表示 */
	.l-header__spNav {
		display: none;
	}

	/* サブメニュー（アコーディオン型をPC用に変更） */
	.c-gnav > .menu-item > a .c-submenuToggleBtn {
		display: none;
	}

	.c-gnav li:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
	}

	.c-gnav .sub-menu {
		height: auto !important;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.25s, visibility 0.25s;
	}

	.c-submenuToggleBtn:hover:after {
		background-color: currentcolor;
	}

	/* フッター */
	.w-footer {
		display: flex;
		justify-content: space-between;
	}

	.w-footer__box {
		flex: 1;
		padding: 1em;
	}
}

/* ========================================
   SP表示: 759px以下
======================================== */
@media not all and (min-width: 760px) {
	/* SP版ではヘッダーの背景色を設定 */
	.l-header {
		background: var(--color_header_bg) !important;
	}

	/* SP専用クラスを表示 */
	.sp_,
	.sp_only {
		display: block !important;
	}

	/* PC専用クラスを非表示 */
	.pc_,
	.pc_only {
		display: none !important;
	}

	/* PC用グローバルナビを非表示（親テーマのSP用スタイルに任せる） */
	.l-header__gnav {
		display: none !important;
	}

	/* パンくずリストを表示 */
	.p-breadcrumb {
		display: block !important;
	}

	/* フッター */
	.w-footer__box {
		padding: 1em 0;
	}

	.w-footer__box + .w-footer__box {
		margin-top: 1em;
	}

	.l-footer__inner {
		padding-bottom: calc(env(safe-area-inset-bottom) * 0.5);
	}

	/* 固定ボトムメニュー */
	#fix_bottom_menu {
		display: block;
		padding-bottom: calc(env(safe-area-inset-bottom) * 0.5);
	}

	/* トップヘッダー（SP固定版）のスクロール状態に応じたスタイル */

	[data-scrolled="false"] [data-spfix="1"] {
		background: none;
		box-shadow: none;
	}

	[data-scrolled="false"] [data-spfix="1"] .l-header__inner {
		color: var(--swl-color_top_header, #fff);
	}

	[data-scrolled="false"] [data-spfix="1"] .c-headLogo__img.-common {
		display: none;
	}

	[data-scrolled="true"] [data-spfix="1"] .l-header__inner {
		color: var(--color_header_text);
	}

	[data-scrolled="true"] [data-spfix="1"] .c-headLogo__img.-top {
		display: none;
	}

	[data-scrolled="true"] [data-spfix="1"] .l-header__spNav {
		opacity: 1;
		top: 0;
		visibility: visible;
	}

	/* トップヘッダー（SP非固定版） */
	[data-spfix="0"] {
		background: none;
		box-shadow: none;
	}

	[data-spfix="0"] .l-header__inner {
		color: var(--swl-color_top_header, #fff);
	}

	[data-spfix="0"] .c-headLogo__img.-common {
		display: none;
	}
}
