@charset "UTF-8";
/* CSS Document */


/*================
グローバルナビ
================*/
/*2026.4 クラス名.width-narrow > .vw-narrowに変更、.vw-narrow .bl_gNavi > left:inherit;追加*/


/*------------------
PC標準時メニューのスタイル
------------------*/
.bl_gNavi {
	/*最初に不可視の設定に。gnavi.jsにて可視化*/
	opacity: 0;
	transition: none;
	right:inherit;
	left: inherit;
	/*注：この要素の位置合わせにright/leftを設定すると切り替え時に見えてしまう*/
}


/*----------------------------------
レスポンシブ-狭い画面時のメニューのスタイル
.bodyWrap.vw-narrow
----------------------------------*/
.vw-narrow .ly_header {
	position:fixed;
	height: 65px;
	border-bottom: none;
	background-color: #FFF;
}
.vw-narrow .ly_header h1 {
	display: block;
	margin: 25px auto auto 22px;
}
.vw-narrow .ly_header h1 img {
	width: 172px;
}
/*vw-narrow時のヘッダ高さ分のダミースペース*/
.header_offset {
	display: block;
	height: 65px;
}
/* -narrow時固有要素　PC時隠しておく */
.bl_gNavi .header, .bl_gNavi .footer {
	display: none;
}

/*===== 展開メニュー内容 =====*/
.vw-narrow .bl_gNaviWrap {
	/*スクロールバー表示抑止のwrap*/
	display: block;
	width: 0;
	height: 100%;
	overflow:scroll;
	position: absolute;
	top:0;
	box-sizing: border-box;
}
.vw-narrow .bl_gNavi {
	display: block;
	position: fixed;/*fixed メニュー展開時は縦位置固定*/
	z-index: 90;
	text-align: center;
	width: 100%;
	height: 100%;
	left:inherit;
	right:-100%;/*画面外に追い出しておく*/
	padding: 0;
	margin: 0;
	transition: right 0.5s;
	background-color:rgb(255,255,255,1);
	overflow: auto;
	overscroll-behavior: contain;
}
.vw-narrow .bl_gNavi.menuActive {
	right:0;/*画面内に復帰*/
	position: fixed;/*メニュー展開時は縦位置固定*/
}
/*メニュー内容*/
.vw-narrow .bl_gNavi ul {
	display: block;
	height: auto;
	position: static;
	width: 90%;
	margin: min(10vh,100px) auto 1.5em;
	padding: 0;
	font-size: 1.5rem;
}
.vw-narrow .bl_gNavi ul li::after {
	border: none;
}
.vw-narrow .bl_gNavi ul li a {
	display: flex;
	font-size: 1rem;
	border-left: none;
	border-top: solid var(--theme-color) 1px;
	padding-left: 0.75em;
	padding-right: 0.75em;
	text-align: left;
	width: auto;
	height: min(8vh, 70px);
	margin: auto;
	align-items: center;
}
/*--下線*/
.vw-narrow .bl_gNavi ul li:last-child a {
	border-bottom: solid var(--theme-color) 1px;
}
/*--english*/
.vw-narrow .bl_gNavi .btn_en_narrow {
	width: auto;
	height: auto;
	line-height: 1;
	font-size: 11px;
	letter-spacing: 0.1em;
	margin: 40px auto 0;
}
.vw-narrow .bl_gNavi .btn_en_narrow a {
	display: inline-block;
	width: auto;
	height: auto;
	text-decoration: none;
	color:#000;
	font-size: 11px;
	border: solid #8c8c8c 1px;
	padding: 0.5em 0.8em 0.5em 1em;
}
/*ロゴ*/
.vw-narrow .bl_gNavi .logo img {
	width:226px;
	height: auto;
	margin: 48px auto 0;
}

/*===================
ハンバーガーメニューボタン
hamburgerMenuBtn
===================*/
/*レスポンシブ-メニューの表示 切り替え start*/
.hamburgerMenuBtn {
	display: none;
}
.bodyWrap.vw-narrow .hamburgerMenuBtn {
	display: block;
	position: fixed;
}
/*レスポンシブ-メニューの表示 切り替え end*/

/* -外枠 */
.hamburgerMenuBtn {
	position: absolute;
	z-index: 91;
	/*background-color: rgba(172, 192, 255, 0.3);*/
	cursor: pointer;
	width: 50px;
	height: 50px;/*下付きテキストある場合は53px*/
	border-radius: 5px;
	right:10px;
	top:10px;
}
/* -三本線 */
.hamburgerMenuBtn span {
	display: inline-block;
	transition: all 0.5s;
	position: absolute;
	left:13px;
	height: 1px;
	border-radius: 1px;
	background-color: var(--theme-color);
	width: 25px;
}
.hamburgerMenuBtn span:nth-of-type(1) {
	top:14px;
}
.hamburgerMenuBtn span:nth-of-type(2) {
	top:23px;
}
.hamburgerMenuBtn span:nth-of-type(3) {
	top:32px;
}
/* -active状態　位置固定&見た目変化*/
.hamburgerMenuBtn.menuActive {
	position: fixed;
}
.hamburgerMenuBtn.menuActive span:nth-of-type(1){
	top:18px;
	left:15px;
	transform: translateY(6px) rotate(-45deg);
}
.hamburgerMenuBtn.menuActive span:nth-of-type(2){
	opacity: 0;/*真ん中線を透明に*/
}
.hamburgerMenuBtn.menuActive span:nth-of-type(3){
	top:30px;
	left:15px;
	transform: translateY(-6px) rotate(45deg);
}
/*下付きテキストがある場合のスタイル*/
.hamburgerMenuBtn div {
	display: block;
	position: absolute;
	bottom: 0;left: 0;right: 0;
	text-align: center;
	font-size: 0.625rem;
	font-weight: bold;
	color: #fff;
}
