@charset "UTF-8";

/* header style */
:root {
	--header-logo-width:316px; /* ヘッダーロゴの横幅 */
	--header-logo-height:60px; /* ヘッダーロゴの天地 */
	--header-height: 70px; /* PC版のヘッダーの高さ */
	--header-height-sp: 60px; /* SP版のヘッダーの高さ */
	--header-bg-color:rgba(255,255,255,1); /* PC版のヘッダーの背景色 */
	--header-bg-color--sp:rgba(255,255,255,1); /* SP版のヘッダーの背景色 */
	--header-sp-border-color:#333;/* SP版のメニュー区切り線の色 */
	--header-sp-inner-border-color:#333;/* SP版のインナーメニュー区切り線の色 */
}

/* 全パターン共通 */
.l-header {
height :var(--header-height);
width: 100%;
z-index: 100;
display :flex;
justify-content: space-between;
align-items: center;
padding:0 30px;
transition: 0.3s; 
position: fixed;
top: 20px;
left: 50%;
background: var(--header-bg-color);
box-shadow: 2px 6px 20px -6px rgba(0,0,0,.5);
border-radius: 50px;
transform: translateX(-50%);
}
.l-header a:hover {
opacity:0.7;
transition: 0.3s; 
}
.l-header__logo {
	display: flex;
	align-items: center;
	width:18%;
	max-width :var(--header-logo-width);
	z-index: 100;
}
.l-header__logo > a {
	transition:0.3s;
	display:inline-block;
}	
.l-header__link {
	width:9%;
	margin-left:10px;
}
.l-header__link ul {
display: flex;
flex-direction: column;
align-items: stretch;
text-align: center;
}
.l-header__link ul li + li {
margin-top:2px;
}
.l-header__link ul li a {
display: inline-block;
border: 1px solid #333;
padding: 0 5px 1px;
font-size: calc(1.15 * var(--rem));
width:100%;
margin-bottom: 2px;
}
.l-header__menu {
	width: 100%;
	height: 100%;
	display: flex; /* 変更不可 */
	flex-direction: column; /* 変更不可 */
	justify-content: center;
	z-index: 100;
}
.l-header__wrap {
	display: flex;
/*	width: 73%; */
  align-items: flex-end;
  justify-content: center;
  flex-direction: column;
}
.l-header__lists {
	width:100%;
	display:flex;
	justify-content: flex-end;
}
.l-header__lists > li {
	display:flex;
	flex-direction: column;
	align-items:center;
	justify-content: center;
	margin-left: 3.6%;
}
.l-header__lists > li.c-btn {
margin-right: 0;
}
.l-header__lists > li.c-btn + .c-btn {
	margin-left: 1.8%;
}
.l-header__lists > li > a {
	color:#333;
	font-weight:500;
	text-align: center;
	font-size: calc(1.55 * var(--rem));
	position:relative;
}
.l-header__lists > li > a:before {
content: "";
position: absolute;
top: 50%;
left: -14px;
display: inline-block;
width: 6px;
height: 6px;
border-top: 2px solid #333;
border-right: 2px solid #333;
transform: translateY(-50%) rotate(135deg);
transition: .3s ease;
}
.l-header__lists > li.c-btn > a:before {
content: none;
}
.l-header__lists > li a:hover{
	opacity: .5;
}
.l-header__lists > li.c-btn a:hover{
	opacity: .8;
}


	
/* ********************** スマートフォン対応 ************************* */
/* 全パターン共通 */
@media screen and (max-width:1160px) and (min-width:811px){
	.l-header {
		min-width:1110px;	
	}
	.l-header__logo h1,
	.l-header__logo div,
	.l-header__logo > h1 > a,
	.l-header__logo > div > a {
	width: calc(var(--header-logo-width) * 0.8);
	height: calc(var(--header-height) * 0.9);
	}
}
@media screen and (max-width:815px) {
	.l-header__menu {
		opacity:0;
	}
}		
@media screen and (max-width:810px) {
	.l-header.e-pt1,
	.l-header.e-pt2	{
		position:fixed;
		margin-top: 0;
		top:0;
		height :var(--header-height-sp);
		z-index: 100;
		padding: 0;
		box-shadow: 2px 5px 16px -6px #b8b8b8;
		border-radius: 0;
		width: 100%;
		justify-content: flex-start;
	}
	.l-header__logo {
		background: var(--header-bg-color);
		width:100%;
		height:100%;	
	}
	h1.l-header__logo {
		margin-left:10px;
	}
	h1.l-header__logo,
	h1.l-header__logo  > a {
	width: calc(var(--header-logo-width) * 0.6);
	height: calc(var(--header-height-sp) * 0.7);
	}
	.l-header__menu{
		overflow: hidden;
		pointer-events: none;
		position: absolute;
		transition: 0.5s;
		top: 10px;
		left: 0;
		/* background: rgba(255,255,255,.95); */
		width:100%;
		max-width:100%;
		max-height: 0;
		z-index:-1;
		opacity:0;
		padding-bottom: 60px;
	}
	.l-header__bars.e-active + .l-header__menu {
		min-height:100dvh; 
		pointer-events: auto;
		opacity:1;
		top:var(--header-height-sp);
	}
	.l-header__wrap {
		justify-content: flex-start;
		width: 100%;
		height: 100%;
		overflow: auto;
		padding-bottom: 40px;
	}
	.l-header__lists {
		display:block;
		background: rgba(255,255,255,.95);
	}
	.l-header__lists > li {
		display:block;
		width:100%;
		position:relative;
		margin: 0;
		border-bottom:1px solid var(--header-sp-border-color);
		text-align: center;
	}
	.l-header__lists > li.c-btn + .c-btn {
	margin: 0;
	}
	.l-header__lists > li > a {
		display:block;
		width:100%;
		padding:20px;
	}
	.l-header__lists > li > a::before {
		position: relative;
	}
	.l-header__lists > li.c-btn a{
		padding:20px 0;
	}
	.l-main {
	margin-top: var(--header-height-sp)!important;
	}
	
	.l-header__link {
		width: fit-content;
		transform:translateY(-2px);
	}
	.l-header__link ul li a {
		margin-bottom: 0;
	}
	/* ハンバーガーメニュー */
	.l-header__bars {
		width: 30px;
		height: 60px;
		position: absolute;
		display: flex!important;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		right:10px;
		top:50%;
		transform:translateY(-50%);
	}
	.l-header__bars span,
	.l-header__bars span::before,
	.l-header__bars span::after {
		position: absolute;
		display: block;
		content: "";
		width: 100%;
		height: 2px;
		background-color: #333;
		transition: 0.5s;
	}
	.l-header__bars span::before {
		top: -10px;
	}
	.l-header__bars span::after {
		bottom: -10px;
	}
	.l-header__bars.e-active span {
		background-color: transparent;
	}
	.l-header__bars.e-active span::before {
	top: 0;
		transform: rotate(45deg);
	}
	.l-header__bars.e-active span::after {
		bottom: 0;
		transform: rotate(-45deg);
	}
	/* ハンバーガーメニュー ここまで */
}