@charset "UTF-8";

/* header style */
:root {
	--header-logo-src:url(../img/logo.png) center left / contain no-repeat; /* ロゴ画像読み込み */
	--header-logow-src:url(../img/logo_w.png) center left / contain no-repeat; 
	--header-bg-color:rgba(255, 255, 255, 0.8); /* PC版のヘッダーの背景色 */
	--header-bg-color--sp:rgba(255, 255, 255,0.8); /* SP版のヘッダーの背景色 */
	--header-height: 80px; /* PC版のヘッダーの高さ */
	--header-height-sp: 80px; /* SP版のヘッダーの高さ */
	--header-arrow-position: -28px; /* インナーメニューの矢印の位置 */
	--header-inner-bg-color: #777;; /* インナーメニューの背景色 */
	--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 100px;
	transition: 0.3s; 
}
.l-header a:hover {
	opacity:0.7;
	transition: 0.3s; 
}
/* pt1 */
.l-header.e-pt1 {
	position: fixed;
	top:0;
	left:0;
	background: var(--header-bg-color);
	box-shadow: 2px 5px 16px -6px #b8b8b8;
}
.l-main.e-pt1 {
	margin-top:var(--header-height);
}
/* pt2 */
.l-header.e-pt2 {
	position: absolute;
	margin-top:100px;
	top:-100px;
	left:0;
	background: transparent;
}
.l-header.e-pt2.e-active {
	position: fixed;
	top:0;
	left:0;
	background: var(--header-bg-color);
	box-shadow: 2px 5px 16px -6px #b8b8b8;
	margin-top:0;
}
.l-header.e-pt2.e-active .l-header__logo span{
	background:var(--header-logo-src);
}
.l-header.e-pt2.e-active .l-header__lists > li > a {
	color:var(--color3);
}

/* 全パターン共通 */
.l-header__logo {
	display: flex;
}
.l-header__logo span{
	width:216px; 
	height :calc(var(--header-height) * 0.9); 
	z-index: 100;
	display: flex;
	background:var(--header-logow-src);
	color:transparent;
	transition:0.3s;
	align-self: center;
}
.l-header__logo > span > a {
	width: 100%;
	font-size:0rem;
}	
.l-header__menu {
  width: 100%;
	height: 100%;
	display: flex; /* 変更不可 */
	flex-direction: column; /* 変更不可 */
	justify-content: center;
}
.l-header__wrap {
	display: flex;
	width: 100%;
  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: 2.8%;
}
.l-header__lists > li > a {
	color:var(--color1);
	font-weight:500;
	text-align: center;
	font-size: 1.6rem;
	text-decoration:underline;
}
.l-header__lists > li .c-btn a{
	color:#fff;
	padding: 8px 40px 8px 20px;
}
/.l-header__lists > li:not(:has(.c-btn)) a:hover{
	/* color:var(--color2); */
	opacity:0.7;
}
.l-header__arrow {
	position:relative;	
}
.l-header__arrow::before {
  content: "";
  position: absolute;
  bottom: var(--header-arrow-position); 
  height: 20px;
  width: 20px;
  background: var(--header-inner-bg-color);
  transform: translateX(-50%) rotate(45deg);
  left: 50%;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}
.l-header__lists li:hover .l-header__arrow::before {
	visibility: visible;
	opacity: 1;
	bottom: calc(var(--header-arrow-position) - 10px);
}	
.l-header__inner {
	visibility: hidden;
	opacity: 0;
	display: flex;
	width: 100%;
	position: absolute;
	top: calc(var(--header-height) - 10px); 
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background: var(--header-inner-bg-color);
	flex-wrap: wrap;
	padding: 40px 20%;
	justify-content: space-between;
	transition: 0.3s;
}
.l-header__lists li:hover .l-header__inner{
	visibility: visible;
	opacity: 1;
	top:var(--header-height);
}
.l-header__inner a {
	padding: 0 10px 10px;
	color: #fff;
	display: inline-block;
	width: calc(50% - 15px );
	padding: 0 10px;
	font-size: 1.6rem;
}
.l-header__inner a:first-of-type {
	width: 100%;
	border-bottom: 1px solid #fff;
	font-weight:bold;
	padding-bottom:10px;
}
.l-header__inner a:nth-of-type(n+2){
	margin-top: 15px;
}
	
/* ********************** スマートフォン対応 ************************* */
/* 全パターン共通 */
@media screen and (max-width:1160px) and (min-width:811px){
.l-header {
	min-width:1110px;	
}
.l-header__logo {
width: 128px;
}
}
@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;
		}
	.l-header__logo {
		background: var(--header-bg-color);
		width:100%;
		height :100%; 
		}
	.l-header__logo span{
		margin-left:10px;
		width:216px; 
		height :calc(var(--header-height-sp) * 0.9); 
		background:var(--header-logo-src);
	}
	.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__sub {
		display: block;
		order:1;
		margin-top:10px;
		}
	.l-header__sub > li{
		display:block;
		margin: 0;
		}
		.l-header__sub > li:nth-of-type(n+2){
		margin: 15px 0 0 0;
		}
	.l-header__sub > li > a {
		/* width: fit-content; */
		display:block;
		text-align:center;
		}
	.l-header__lists {
		display:block;
	}
	.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 > a {
		display:block;
		width:100%;
		text-align: center;
		padding:20px;
		color:var(--color3);
	}
	.l-header__lists > li:last-of-type {
		border-bottom:0;
	}
	.l-header__lists > li:has(.c-btn) {
		padding:20px;
	}
	.l-header__arrow::before {
	content: none;
	}
	.l-header__inner {
	display: block;
	opacity:1;
	visibility: visible;
	width: 100%;
	position: relative;
	top: 0;
	padding: 10px;
	transition: 0.3s;
	}
	.l-header__lists li:hover .l-header__inner{
	top:0;
	}
	.l-header__inner a:first-of-type {
	display:none;
	}
	.l-header__inner a:nth-of-type(n+2) {
	margin:0;
	padding: 15px;	
	width:100%;
	text-align: center;
	}
	.l-header__inner a:nth-of-type(n+3) {
	border-top:1px solid var(--header-sp-inner-border-color);
	}
	.l-main {
	margin-top: var(--header-height-sp)!important;
	}
	
	/* ハンバーガーメニュー */
	.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);
	}
	/* ハンバーガーメニュー ここまで */
}