@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Fira+Sans:100,100i,300,300i,400,400i,500,500i,600,600i,700,700i');
@import url('https://fonts.googleapis.com/css?family=Overpass:400,700');
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 200;
	src: url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-Light.woff2) format('woff2'),
		 url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-Light.woff) format('woff'),
		 url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-Light.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.woff2) format('woff2'),
		 url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.woff) format('woff'),
		 url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
		 url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
		 url(../img/fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}

/*-----------------------------------------------
	ローディング
-----------------------------------------------*/
#loader-bg {
	/*display: none;*/
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #000;
	z-index: 360;
}
#loader {
	/*display: none;*/
	position: fixed;
	top: 50%;
	left: 0;
	right:0;
	width: 300px;
	height: 200px;
	color: #fff;
	z-index: 370;
	margin: -100px auto 0 auto;
}

/*==============================
	基本設定
==============================*/
body{
	color:#333;
	font-size:12px;
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
	padding:0;
	line-height:1.6;
	letter-spacing: 1px;
	text-align:left;
	background:#000;
	-webkit-text-size-adjust:100%;
	min-width:1200px;
	-webkit-font-smoothing: antialiased;
}
body *, body *::before, body *::after{box-sizing:border-box;}

@media only screen and (max-width:767px){
	body{
		min-width:0;
		padding-bottom: 45px;
	}
/* spField */
#spField{
	min-width:320px;
	width:100%;
	overflow:hidden;
	position:relative;
}
}

img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
	font-weight:normal;
	text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fVerdana{font-family:Verdana;}
.fFira{font-family:'Fira Sans', sans-serif;}
.fOver{font-family:'Overpass', sans-serif;}
/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.ro a,
a.ro,
a .ro,
.brt a,
a.brt,
a .brt{
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.spOnly,
.brSp,
.imgSp,
.txtSp{
	display:none;
}
.spOnly2{display:none !important}
@media only screen and (max-width:767px){
	.spNone,
	.brPc,
	.imgPc{
		display:none;
	}
	.spNone2{display:none !important}
	.spOnly{
		display:block;
	}
	.spOnly2{ display:block !important;}
	.brSp,
	.imgSp,
	.txtSp{
		display:inline;
	}
	.imgR{
		width:100%;
		height:auto;
	}
}

/*-----------------------------------------------
	imgCover
-----------------------------------------------*/
.imgCover{
	position:relative;
}
.imgCover img{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}


/*-----------------------------------------------
	基本リンク指定
-----------------------------------------------*/
a{
	color:#333;
}

/*-----------------------------------------------
	header
-----------------------------------------------*/
#header { 
 	height: 70px;
	position:fixed;
	z-index:220;
	width:100%;
	transition: 0.5s;
	background:url(../img/common/bgHeader.gif) right top no-repeat #000;
	background-size: contain;
}
#header:before, .header:after {
  display: table;
  content: "";
  line-height: 0
}
#header:after {
  clear: both
}
.gNavOpen #header {
	top:0 !important;
}
.headerIn {
	height:70px;
	margin:0 70px 0 30px;

}
#header .logo { 
	display:block;
	width: 315px;
	height:70px;
	padding: 25px 0 0 0;
}
@media only screen and (max-width:767px){
	#header { 
		height:50px!important;
		background: #000;
		position:fixed;
		z-index:170;
		width:100%;
		transition: 1s;
	}
	.headerIn {
		background:#000;
		height:50px;
		margin:auto;
		width:100%;
	
	}
	#header .logo { 
		display:block;
		width: 255px;
		max-width:255px;
		height:auto;
		padding:14px 0 0 15px;
	}
	#header .logo img { 
		width: 100%;
		height:100%;
	}
}
#header .boxBtn .btnHeader{
	width: 70px;
	height: 70px;
	background: #2A2A2A;
	cursor: pointer;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	position:absolute;
	top: 0;
	right:0;
}
#header .boxBtn .btnHeader .txt{
	font-weight: bold;
	font-size: 10px;
	color: #FFF;
	position: absolute;
	left: 22px;
	top: 40px;
	transform: scale(0.8);
	transform-origin: 0 0;
	-webkit-transform: scale(0.8);
	-webkit-transform-origin: 0 0;
	letter-spacing: 0.5px;
}
#header .boxBtn .btnHeader .txt .txtClose{
	display: none;
}
#header .boxBtn .btnHeader.opened .txt{
	left: 20px;
	letter-spacing: 1.5px;
}
#header .boxBtn .btnHeader.opened .txt .txtOpen{
	display: none;
}
#header .boxBtn .btnHeader.opened .txt .txtClose{
	display: inline;
}
@media only screen and (max-width:767px){
	#header .boxBtn .btnHeader{
		width: 50px;
		height: 50px;
		cursor: pointer;
		-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
		-ms-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
		position:absolute;
		top: 0;
		right:0;
	}
	#header .boxBtn .btnHeader .txt{
		font-weight: bold;
		font-size: 10px;
		color: #FFF;
		position: absolute;
		left: 12px;
		top: 28px;
		transform: scale(0.8);
		transform-origin: 0 0;
		-webkit-transform: scale(0.8);
		-webkit-transform-origin: 0 0;
		letter-spacing: 0.5px;
	}
	#header .boxBtn .btnHeader.opened .txt{
		left: 9px;
	}
}
/* btnGnavLine */
.btnGNavLine {
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 20px;
}
.btnGNavLineIn {
	width: 60px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
}
.btnGNavLineIn:after, .btnGNavLineIn:before {
	width: 20px;
	height: 1px;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	background-color: #FFF;
}
.btnGNavLineIn:before {
	left: -40px;
}
.btnGNavLineIn:after {
	left: 0;
}
.btnGNavLine01 {
	top: 23px;
	left: 25px;
}
.btnGNavLine02 {
	top: 31px;
	left: 25px;
}
.btnGNavLineCross01 {
	top: 26px;
	left: 25px;
	height:4px;
}
.btnGNavLineCross02 {
	top: 24px;
	left: 25px;
	height:4px;
}
.btnGNavLineCross01 {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btnGNavLineCross02 {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.btnGNavLine {
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}
.btnGNavLineIn {
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}
.btnGNavLineIn:after, .btnGNavLineIn:before {
	-webkit-transition-timing-function: cubic-bezier(.19, 1, .22, 1);
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
}
.btnGNavLineInCross01, .btnGNavLineInCross02 {
	-webkit-transform: translateX(-33.3%);
	transform: translateX(-33.3%);
}
.btnGNavLineIn01 {
	-webkit-transition-delay: .15s;
	transition-delay: .15s;
}
.btnGNavLineIn02 {
	-webkit-transition-delay: .25s;
	transition-delay: .25s;
}
.btnGNavLineIn02:after, .btnGNavLineIn02:before {
	-webkit-transition-delay: 50ms;
	transition-delay: 50ms;
}
.btnGNavLineInCross01 {
	-webkit-transition-delay: 0ms;
	transition-delay: 0ms;
}
.btnGNavLineInCross02 {
	-webkit-transition-delay: 50ms;
	transition-delay: 50ms;
}
.btnGNavLineInCross02:after, .btnGNavLineInCross02:before {
	-webkit-transition-delay: .1s;
	transition-delay: .1s;
}
.btnHeader.opened .btnGNavLineIn:after, .btnHeader.opened .btnGNavLineIn:before {
	background-color: #FFF;
}
.btnHeader.opened .btnGNavLineIn01, .btnHeader.opened .btnGNavLineIn02 {
	-webkit-transform: translateX(33.3%);
	transform: translateX(33.3%);
}
.btnHeader.opened .btnGNavLineInCross01, .btnHeader.opened .btnGNavLineInCross02 {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
.btnHeader.opened .btnGNavLineIn01 {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}
.btnHeader.opened .btnGNavLineIn02 {
	-webkit-transition-delay: .1s;
	transition-delay: .1s;
}
.btnHeader.opened .btnGNavLineInCross01 {
	-webkit-transition-delay: .15s;
	transition-delay: .15s;
}
.btnHeader.opened .btnGNavLineInCross02 {
	-webkit-transition-delay: .2s;
	transition-delay: .2s;
}
.btnHeader:hover .btnGNavLineIn:after, .btnHeader:hover .btnGNavLineIn:before {
	-webkit-transform: translateX(200%);
	transform: translateX(200%);
}
.btnHeader:hover .btnGNavLineIn01:after, .btnHeader:hover .btnGNavLineIn01:before, .btnHeader:hover .btnGNavLineIn02:after, .btnHeader:hover .btnGNavLineIn02:before{
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
}
.btnHeader.opened:hover .btnGNavLineIn01:after, .btnHeader.opened:hover .btnGNavLineIn01:before, .btnHeader.opened:hover .btnGNavLineIn02:after, .btnHeader.opened:hover .btnGNavLineIn02:before{
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
}
.btnHeader:hover .btnGNavLineInCross01:after, .btnHeader:hover .btnGNavLineInCross01:before, .btnHeader:hover .btnGNavLineInCross02:after, .btnHeader:hover .btnGNavLineInCross02:before {
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
}
.btnHeader.opened:hover .btnGNavLineInCross01:after, .btnHeader.opened:hover .btnGNavLineInCross01:before, .btnHeader.opened:hover .btnGNavLineInCross02:after, .btnHeader.opened:hover .btnGNavLineInCross02:before {
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
}
@media only screen and (max-width:767px){
	.btnGNavLine {
		width: 16px;
	}
	.btnGNavLine01 {
		top: 15px;
		left: 17px;
	}
	.btnGNavLine02 {
		top: 21px;
		left: 17px;
	}
	.btnGNavLineCross01 {
		top: 17px;
		left: 17px;
	}
	.btnGNavLineCross02 {
		top: 15px;
		left: 17px;
	}
}

/*-----------------------------------------------
	gNavi
-----------------------------------------------*/
#gNavi{
	width:0;
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
	padding: 170px 0 0;
    background: #2A2A2A;
	z-index:99;
	-webkit-transition: all 0.4s ease-out;
	-moz-transition: all 0.4s ease-out;
	-ms-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;	
}
.gNavOpen #gNavi{
	display: block;
	width: 404px;
}
#gNavi .boxMenu{
	height: 100%;
    overflow: auto;
}
#gNavi .boxMenu .boxWrap{
	width: 178px;
	margin:0 auto;
}
#gNavi .boxMenu .btnList li{
	text-align:right;
	margin-bottom:40px;
	display:none;
}
.gNavOpen #gNavi .boxMenu .btnList li{
	display:block;
}
#gNavi .boxMenu .btnList .btn{
	display:inline-block;
	text-decoration:none;
	color:#fff;
	position:relative;
	margin-right:10px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;	
}
#gNavi .boxMenu .btnList .btn:hover{
	opacity:0.6;
}
#gNavi .boxMenu .btnList .btn .txt{
    font-style: italic;
    font-size: 18px;
    font-weight: 600;
    transform: scale(1.15, 1);
	letter-spacing:0;
	line-height:0;
}
#gNavi .btnContact{
	display: inline-block;
	vertical-align:bottom;
	width:178px;
	text-align:right;
	border:#FFF solid 1px;
	color:#FFF;
	height:40px;
	font-size:0;
	text-decoration:none;
	margin-top:32px;
	display:none;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;		
}
.gNavOpen #gNavi .btnContact{
	display:inline-block;
}
#gNavi .btnContact .txtBtn{
	font-size:14px;
	display:inline-block;
	vertical-align:top;
	text-align:center;
	width: 125px;
	padding: 9px 0 0;
	box-sizing:border-box;
	font-weight:600;
}
#gNavi .btnContact .icon{
	display:inline-block;
	width:40px;
	height:38px;
	border-left:#FFF solid 1px;
	vertical-align:top;
	padding: 16px 0 0;
	box-sizing:border-box;
	text-align:center;
}
#gNavi .btnContact:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
}
@media only screen and (max-width:767px){
	#gNavi{
		padding:0;
		background: rgba(42,42,42,0.95);
		z-index:160;
		width:100%;
		right:-100%;
	}
	.gNavOpen #gNavi{
		right:0;
	}
	#gNavi .boxMenu .boxWrap{
		width: 73.33%;
		margin-top:100px;
	}
	#gNavi .boxMenu .btnList .btn{
		display:inline-block;
		text-decoration:none;
		color:#fff;
		position:relative;
		margin-right:10px;
		-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
		-ms-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;	
	}
	#gNavi .boxMenu .btnList .btn .txt{
		font-size: 19px;
	}
	#gNavi .btnBox{
		text-align:right;
	}
	#gNavi .btnContact{
		width: 100px;
		height: 25px;
		margin:10px 0 60px;
	}
	#gNavi .btnContact .txtBtn{
		font-size: 10px;
		width: 70px;
		padding: 4px 0 0;
		letter-spacing:0.2em;
	}
	#gNavi .btnContact .icon{
		width: 27px;
		height: 23px;
		padding: 8px 9px 8px;
		box-sizing: border-box;
		text-align: center;
	}
}
/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz{
	
}
/*-----------------------------------------------
	main
-----------------------------------------------*/

/*-----------------------------------------------
	footer
-----------------------------------------------*/
#footer{
	background:#0073BD;
	padding: 30px 0;
	text-align: center;
	position:relative;
}
#footer .imgFooter { 
	width: 300px;
}
#copy { 
	background: #000;
	text-align: center;
	margin:120px 0 25px 0;
}
.linkFooter { 
	position: absolute;
	right:130px;
	top: 30px;
}
@media only screen and (max-width:767px){
#footer{
	background:#0073BD;
	padding: 15px 0;
	text-align:left;
	position:relative;
}
#footer .imgFooter { 
	width: 50%;
	height:auto;
	padding-left:8%;
}
#footer .imgFooter img { 
}
#copy { 
	margin:10% 0 20px 0;
}
#copy img { 
	width: 50%;
	height:auto;
}
.linkFooter { 
	position: absolute;
	right:8%;
	top: 20px;
}
}

/*-----------------------------------------------
	色設定
-----------------------------------------------*/
.cmnCl01 { 
	color: #E60012;
}
.cmnCl02 { 
	color: #fff;
}
.cmnCl03 {
	color: #929292;
}

.cmnCl01.txtLink::after {
	border-left-color: #E60012;
}
.cmnCl02.txtLink::after {
	border-left-color: #fff;
}
.cmnCl03.txtLink::after {
	border-left-color: #929292;
}

/*-----------------------------------------------
	共通
-----------------------------------------------*/
.inner { 
	margin:0 50px;
}
.box3 > div:last-child, .box3 > div:nth-child(3n),
.box4 > div:last-child, .box4 > div:nth-child(4n) { margin-right: 0 }
.box3 > *, .box4 > * { letter-spacing: normal; box-sizing: border-box; display: inline-block; vertical-align: top; }
.box4 > * { width: 25%; }
.box3 > * { width: 32%; }

.txtLink {
	text-decoration:none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
 	transition: 0.3s ease-in-out;
	position: relative;
	font-size:13px;
	line-height:1;
	display:inline-block;
}
.txtLink::after{
	content:"";
	display:inline-block;
	border: 6px solid transparent;
	position: absolute;
	right: -18px;
	top: 3px;
}
.txtLink:hover { 
	filter:alpha(opacity=60);
	opacity:0.6;
}
.taCenter {
	text-align: center
}
.taRight {
	text-align: right
}
.taLeft {
  text-align: left
}
.mT10 {
  margin-top: 10px;
}
.cmnTit{
	color:#fff;
	font-style:italic;
	font-size:30px;
	font-weight:600;
	transform: scale(1.15, 1);
	line-height:1;
}

@media only screen and (max-width:767px){
.inner { 
	margin: auto;
	width: 100%;
}
.box3 > div:last-child, .box3 > div:nth-child(3n),
.box4 > div:last-child, .box4 > div:nth-child(4n) { margin-right: 0 }
.box3 > *, .box4 > * { letter-spacing: normal; box-sizing: border-box; display: inline-block; vertical-align: top; }
.box4 > * { width: 48%; }
.box3 > * { width: 100%; }
.txtLink {
	font-size:8px;
}
.txtLink::after{
	border: 4px solid transparent;
	right: -16px;
	top: 2px;
}
.cmnTit{
	font-size:18px;
}
}

@media only screen and (max-width:767px){
	.fixedBox{
		width:100%;
		font-size:0;
		position:fixed;
		left:0;
		bottom:0;
		display:table !important;
		z-index:100;
	}
	.fixedBox .btn{
		width:100%;
		display:block;
		font-size: 10px;
		color:#E60012;
		vertical-align:top;
		background:#323232;
		text-align:center;
		height:45px;
		text-decoration:none;
		width:50%;
		display:table-cell;
		vertical-align:middle;
		border-top:#E60012 solid 1px;
		border-right:#E60012 solid 1px;
		font-weight:bold;
		line-height:1.2;
	}
	.fixedBox .btn:last-child{
		border-right:none;
	}
}
