@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');
body {
	font-family:"Hiragino Kaku Gothic ProN", "Hiragino Sans" , "Noto Sans JP" , sans-serif , YuGothic , Meiryo;
}
.fixed {
    position: fixed;
    left: 0;
    right: 0;
}
/* header
----------------------------------------------------------------------*/
body > header {
	font-size: max(16px, 1em);
	line-height:1.7;
}
header{
	position:relative;
	z-index:1000;
	top:0;
	left:0;
	width:100%;
	background:#333;
	box-shadow:0px 4px 8px rgba(0, 0, 0, 0.16);
}
header a,
header a:hover,
header a:focus {
	color:#fff;
	text-decoration: none;
}
header ul,
header ul li {
	list-style-type:none;
}
.header_inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1100px;
	height:60px;
	margin:0 auto;
}
.header_logo_link {
	display:block;
	margin-left:20px;
}
.header_logo_link img {
	width:100%;
	height:40px;
}
.gnav_button{
	display:flex;
	justify-content:center;
	align-items:center;
	margin-right:20px;
	padding: 0;
	width:40px;
	height:40px;
	text-indent:200%;
	white-space:nowrap;
	overflow:hidden;
	outline: none;
	background: none;
	border: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}
.gnav_button_inner{
	display:block;
	position:relative;
	width:40px;
	height:3px;
	background:#fff;
}
.gnav_button_inner:before,
.gnav_button_inner:after{
	content:"";
	position:absolute;
	left:0;
	width:inherit;
	height:inherit;
	background:#fff;
	transition:transform .2s;
}
.gnav_button_inner:before{
	top:-13px;
}
.gnav_button_inner:after{
	top:13px;
}
.gnav_button.is-active .gnav_button_inner{
	background:transparent;
}
.gnav_button.is-active .gnav_button_inner:before,
.gnav_button.is-active .gnav_button_inner:after{
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
.gnav_button.is-active .gnav_button_inner:before{
	transform:rotate(45deg);
}
.gnav_button.is-active .gnav_button_inner:after{
	transform:rotate(135deg);
}
.gnav_wrap{
	display:none;
	position:fixed;
	top:60px;
	right:0;
	bottom:0;
	left:0;
	z-index:1000;
	padding:0 20px;
	background:#333;
	border-top:2px solid #fff;
	overflow-y:scroll !important;
	overflow-x:hidden;
}
.gnav_item{
	position:relative;
	border-bottom:1px solid #fff;
}
.gnav_item.gnav_search {
	display:none;
}
.gnav_link{
	display:block;
	padding:12px 0;
	color:#fff;
	text-decoration: none;
}
.gnav_sub_button{
	display:block;
	position:absolute;
	top:0;
	right:0;
	padding: 0;
	width:40px;
	height:48px;
	text-indent:200%;
	white-space:nowrap;
	overflow:hidden;
	outline: none;
	background: none;
	border: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}
.gnav_sub_button:before,
.gnav_sub_button:after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	background:#fff;
}
.gnav_sub_button:before{
	width:21px;
	height:3px;
}
.gnav_sub_button:after{
	width:3px;
	height:21px;
}
.gnav_sub_button.is-active:after{
	content:none;
}
.gnav_sub{
	display:none;
	background:#222;
}
.gnav_sub_item{
	border-top:1px solid #fff;
}
.gnav_sub_link{
	display:block;
	padding:12px;
	color:#fff;
	text-decoration: none;
}

/*=====================================================================
   PC start
======================================================================*/
@media print, screen and (min-width:956px){
/* header ----------------------------------------------------------------------*/
header{
	padding:0 10px;
}
.header_inner {
	height: 90px;
}
.header_logo{
	margin:0;
}
.header_logo_link {
	margin-left:0;
}
.header_logo_link img {
    width: 100%;
    height: 50px;
}
.gnav_button{
	display:none;
}
.gnav_wrap{
	display:block !important;
	position:static;
	padding:0;
	overflow:visible;
	overflow-y:visible !important;
	border-top:none;
}
.gnav{
	display:flex;
	border:0;
}
.gnav_item{
	border:0;
}
.gnav_item + .gnav_item{
	margin-left:2vw;
}
.gnav_link{
	display:flex;
	align-items: center;
	height:70px;
}
.gnav_item.gnav_search {
	display:block;
}
.gnav_item.gnav_search a {
	background:url(../images/header/icon_search.svg) no-repeat;
	background-position:center;
	background-size:20px 20px;
	width:20px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.gnav_sub_button{
	display:none;
}
.gnav_sub{
	position:absolute;
	top:70px;
	left:50%;
	padding:16px 20px;
	background:linear-gradient(-45deg, #222, #333);
	box-shadow:0px 4px 8px rgba(0, 0, 0, 0.16);
	border-radius:5px;
	white-space:nowrap;
	transform:translate(-50%,0);
}
.gnav_sub_item{
	border:0;
}
.gnav_sub_link{
	position: relative;
	color:#fff;
}
.gnav_link:hover,
.gnav_sub_link:hover{
	opacity: .7;
	transition: opacity .3s;
}

}
@media screen and (min-width: 1180px) {
	.gnav_item + .gnav_item{
		margin-left:40px;
	}
	#navi li a {
		font-size:16px;
	}
}