@charset "utf-8";

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 200;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Thin.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Thin.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Thin.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-DemiLight.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff2) format('woff2'),
		 url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff) format('woff'),
		 url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.otf) format('opentype');
}


/*==============================
	基本設定
==============================*/
body{
	color:#252525;
	font-size:12px;
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
	padding:0;
	text-align:left;
	background:#fff;
	-webkit-text-size-adjust:100%;
	min-width:1250px;
	position:relative;
}
body *, body *::before, body *::after{box-sizing:border-box;}
@media only screen and (max-width:767px){
	body{
		min-width:0;
		padding-top:0px;
	}
}

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;}
.fNoto{font-family: 'Noto Sans JP', sans-serif;}
.fSerif{font-family: 'Noto Serif Japanese', serif;}
.fRed{ color:#DE0010;}
.fRed2{ color:#842426;}
.fRobot{font-family: 'Roboto Condensed', sans-serif;}
.fRobot2{font-family: 'Roboto', sans-serif;}
.fLight{font-weight:300;}

/*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;
}
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }
a:focus{outline:none;}

.spOnly,
.brSp,
.imgSp{
	display:none !important;
}
a{text-decoration:none;}
.wrapper{
	width:1500px;
	margin:0 auto;
}
@media only screen and (max-width:1400px){
	.wrapper{ width:1200px;}
}
@media only screen and (max-width:767px){
	.spNone,
	.brPc,
	.imgPc{
		display:none !important;
	}
	.spOnly{
		display:block !important;
	}
	.brSp,
	.imgSp{
		display:inline !important;
	}
	.imgR{
		width:100%;
		height:auto;
	}
	.ro .slick-slide a:hover{filter:alpha(opacity=100);opacity:1;}
	.wrapper{
	width:100%;
	margin:0 auto;
}
}


/*-----------------------------------------------
	画像を枠いっぱいに表示させる
-----------------------------------------------*/
.imgFill{
	overflow:hidden;
}
.imgFill img{
	width:100%;
	height:auto;
}
.imgFillH img{
	width:auto !important;
	height:100% !important;
	position:absolute !important;
	top:50% !important;
	left:50% !important;
	max-width:none !important;
	max-height:none !important;
	-webkit-transform:translate(-50%,-50%);
	-ms-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	z-index:1;
}
.imgFillV img{
	width:100% !important;
	height:auto !important;
	position:absolute !important;
	top:50% !important;
	left:50% !important;
	max-width:none !important;
	max-height:none !important;
	-webkit-transform:translate(-50%,-50%);
	-ms-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	z-index:1;
}
@media only screen and (max-width:767px){
	.imgFillSp{
		overflow:hidden;
	}
	.imgFillSp img{
		width:100%;
		height:auto;
	}
}


/*-----------------------------------------------
	imgCover
-----------------------------------------------*/
.imgCover{
	position:relative;
}
.imgCover img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}


/*-----------------------------------------------
	contents
-----------------------------------------------*/

#contents{ overflow:hidden;}
@media only screen and (max-width:767px){
	#container{ margin-top:80px;}
	#container.none{ margin-bottom:0px;}
	#container.spFixedNone{ 
		margin-bottom:54px;
		-webkit-transition: all 1s ease-out;
		-moz-transition: all 1s ease-out;
		-ms-transition: all 1s ease-out;
		transition: all 1s ease-out;
	}
}
@media only screen and (max-width:320px){
	#container{ margin-top:80px;}
	#container.spFixedNone{ margin-bottom:46px;}
}
/*-----------------------------------------------
	header
-----------------------------------------------*/
#header{
	width:100%;
	z-index:1000;
	padding:30px 0 ;
}
#header .wrapper{ max-width:1430px; width: 100%;}
#header .leftBox{
	float:left;
	padding-top:5px;
	font-size:0;
}
#header .rightBox{ float:right;}
#header .hList{
	font-size:0;
	text-align:right;
	padding-top:22px;
}
#header .hList li{
	display:inline-block;
	vertical-align:top;
	font-size:19px;
	letter-spacing:2px;
	
	position:relative;
	border-bottom:1px dashed #000;
	padding-bottom:10px;
	margin-left:75px;
}
#header .hList li:first-child{ margin-left:0;}
#header .hList li::after{
	position: absolute;
    content: "／";
    right: -47px;
    top: 0;
	color:#000;
}
#header .hList li:last-child::after{ display:none;}
#header .hList li a{ color:#000;}
#header .hList li .navi01{
	position:absolute;
	top:-25px;
	left:-15px;
}
#header .hList li .navi02{
	position:absolute;
	top:-27px;
	left:-12px;
}
#header .hList li .navi03{
	position:absolute;
	top:-27px;
	left:-12px;
}
@media only screen and (max-width:1400px){
	#header .wrapper{ width:1200px;}
}
@media only screen and (max-width:767px){
	#header{
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		padding:0;
		height:80px;
		background:#fff;
	}
	#header .headerMain{ float:left;}
	#header .wrapper{ 
		width:92%;
		margin:0 auto;
	}
	#header .leftBox{ padding-top:11px;}
	#header .wrapper .headerLogo{ float:left;}
	#header .wrapper .headerLogo img{
		width:auto;
		height:53px;
	}
	#header .wrapper .btnMenu{
		width:50px;
		float:right;
		margin-top:15px;
		margin-right:6px;
	}
	#header .rightBox{ display:none;}
}
/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz{ background:#FE8534;}
#pnkz .wrapper{
	height:40px;
	color:#FFF;
}
#pnkz li{
	display:inline-block;
	vertical-align:top;
	padding:8px 3px 0 0;
	line-height:20px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	letter-spacing:1px;
	font-size:11px;
}
#pnkz li::before{
	content:">";
	display:inline-block;
	padding-right:7px;
}
#pnkz li:first-child::before{
	display:none;
}
#pnkz li a{
	color:#FFF;
	text-decoration:none;
}
#pnkz .swiper-wrapper{
	white-space:nowrap !important;
}
#pnkz .swiper-slide{
	display:inline-block;
	float:none !important;
	cursor:default;
}
@media only screen and (max-width:767px){
	#pnkz{
		width:100%;
		overflow:hidden;
		height:40px;
	}
	#pnkz .wrapper{
		height:auto;
		width:100%;
	}
	#pnkz.w1100 .wrapper{
		width:100%;
	}
	#pnkz li{
		max-width:150px;
		overflow:hidden;
		white-space:nowrap;
		text-overflow:ellipsis;
		padding:10px 0 0;
		letter-spacing:0.5px;
	}
	#pnkz li::before{
		content:"／";
		padding-right:3px;
		color:#fff;
	}
	#pnkz li:first-child{
		padding-left:10px;
	}
	#pnkz li:last-child{
		max-width:100%;
	}
	#pnkz.pnkzPosition{
		position:absolute;
		top:0;
		left:0;
	}
}
/* boxFixed */
#boxFixed{
	position: fixed;
	top: 15px;
	right: 15px;
	z-index: 9999;
	width: 150px;
	transform: translateY(-0px);
}
#boxFixed .btnEntryMain{
	width:150px;
}
#boxFixed .btnEntry{
	display:block;
	width:150px;
	height:150px;
	background:url(../img/index/btnEntry.png) top center no-repeat;
	background-size:150px;
	position:relative;
}
#boxFixed .txtEntry{ 
	padding-top:55px;
	width:91px;
	margin:0 auto;
}
#boxFixed .btnEntry .on,
#boxFixed .btnEntry:hover .off{ display:none;}
#boxFixed .btnEntry .off,
#boxFixed .btnEntry:hover .on{ display:block;}
#boxFixed .btnEntry::after{
	transition: 1s;
 	 -webkit-transition: 1s;
	 background:url(../img/common/bgFooterBtn.png) no-repeat;
	 background-size:34px 13px;
	 position:absolute;
	 content:"";
	 bottom:29px;
	 left:0;
	 right:0;
	 margin:0 auto;
	 width:34px;
	 height:13px;
}
#boxFixed .btnEntry:hover{
	background:url(../img/index/btnEntryOn.png) top center no-repeat;
	background-size:150px;
}
#boxFixed .btnEntry:hover::after{
  	transform: translateX(10px);
	background:url(../img/common/bgFooterBtnOn.png) no-repeat;
	 background-size:34px 13px;
}
@media only screen and (max-width:767px){
	#boxFixed{ display:none;}
}

/*-----------------------------------------------
	footer
-----------------------------------------------*/
#footer{ 
	position:relative;
	color:#fff;
	background:#333333;
	padding:100px 0;
}
#footer .wrapper{
	max-width:1550px;
	width: 98%;
	margin:0 auto;
}
#footer .fLeft{ float:left;}
#footer .fBox01{ font-size:0;}
#footer .fBox01 .footerLogo{
	display:inline-block;
	vertical-align:top;
}
#footer .fBox01 .foooterLogoTit{
	display:inline-block;
	vertical-align:top;
	
	font-size:16px;
	line-height:120%;
	color:#FE8534;
	padding:28px 0 0 10px;
}
#footer .fBox02{
	font-size:0;
	padding-top:30px;
}
#footer .fBoxSub01{
	font-size:15px;
	line-height:180%;
	display:inline-block;
	vertical-align:top;
	
}
#footer .fBoxSub01:nth-child(2){ margin-left:60px;}
#footer .fRight{
	float:right;
	font-size:0;
}
#footer .fBox03{
	display:inline-block;
	vertical-align:top;
	margin-left:40px;
}
#footer .fBox03:first-child{ margin-left:0;}
#footer .fBoxTit{
	color:#fff;
	font-size:20px;
	line-height:120%;
	
	letter-spacing:2px;
	margin-bottom:12px;
}
#footer .fBoxTxt{
	color:#fff;
	font-size:18px;
	line-height:200%;
	
	letter-spacing:2px;
	text-indent:20px;
	display:block;
}
#footer .btnFooter{
	display:block;
	background:rgba(40,40,40,0.8);
	border:1px solid #fff;
	width:260px;
	height:70px;
	box-sizing:border-box;
	color:#fff;
	font-size:18px;
	
	text-align:center;
	padding-top:25px;
	margin-top:27px;
	position:relative;
}
#footer .btnFooter::after{
	transition: 1s;
 	 -webkit-transition: 1s;
	 background:url(../img/common/bgFooterBtn.png) no-repeat;
	 background-size:34px 13px;
	 position:absolute;
	 content:"";
	 top:27px;
	 right:13px;
	 width:34px;
	 height:13px;
}
#footer .btnFooter:hover{
	background:#fff;
	border:1px solid #000;
	color:#000;
}
#footer .btnFooter:hover::after{
  	transform: translateX(10px);
	background:url(../img/common/bgFooterBtnOn.png) no-repeat;
	 background-size:34px 13px;
}
#copy{
	background:#282828;
	color:#fff;
	font-size:13px;
	line-height:60px;
	height:60px;
	letter-spacing:1px;
	text-align:center;
	
}
@media only screen and (max-width:1400px){
	#footer .wrapper{ width:1200px;}
	#footer .fBox03{ margin-left:20px;}
	#footer .fBoxTit{ font-size:18px;}
	#footer .fBoxTxt{ font-size:16px;}
	#footer .fBoxSub01:nth-child(2){ margin-left:30px;}
}
@media only screen and (max-width:767px){
	#footer{ padding:37px 0;}
	#footer .wrapper{  width:93.75%;}
	#footer .fLeft{ float:none;}
	#footer .fBox01 .footerLogo{
		display:block;
		width: 73.732%;
		margin:0 auto;
	}
	#footer .fBox01 .foooterLogoTit{
		display:block;
		text-align:center;
		padding:17px 0 0;
		line-height:120%;
	}
	#footer .fBox02{ 
		padding-top:20px;
		width: 81.5%;
    	margin: 0 auto;
	}
	#footer .fBoxSub01{
		display:block;
		font-size:14px;
		text-align:center;
		padding-bottom:18px;
	}
	#footer .fBoxSub01:nth-child(2){
		margin-left:auto;
		border-top:1px solid #fff;
		padding-top:15px;
	}
	#footer .btnFooter{ margin:10px auto 0;}

	#copy{ background:#282828;}
}

/*-----------------------------------------------
	spNavi
-----------------------------------------------*/
#spNavi{
	display:none;
	color:#FFF;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:1000;
	background:rgba(29,29,29,0.95);
}
#spNavi .spInner{
	height: 100vh;
	overflow-y: scroll;
	padding:54px 0 54px;
}
#spNavi .topMenu{
	position:relative;
} 
#spNavi .topMenu .txtMenu{
	font-size:18px;
	line-height:120%;
	position:absolute;
	top:-7px;
	left:27px;
	letter-spacing:1px;
	color:#fff;
	
} 
#spNavi .btnClose.top{
	display:block;
	width:50px;
	height:50px;
	position: relative;
	margin-right:3%;
	float: right;
	font-size:0;
	margin-top: -39px;
	right:10px;
	background:#FE8534;
	border-radius: 500px;
}
#spNavi .btnClose.top::before,
#spNavi .btnClose.top::after{
	content:"";
	display:block;
	width:15px;
	height:1px;
	background:#FFF;
	position:absolute;
	top: 25px;
	left: 17px;
}
#spNavi .btnClose.top::before{
	-ms-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	transform:rotate(45deg);
}
#spNavi .btnClose.top::after{
	-ms-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
#spNavi .btnReserve::before{
	content:"";
	display:inline-block;
	vertical-align:top;
	width:24px;
	height:24px;
	background:url(../img/common/headerReserve.gif) left top no-repeat;
	background-size:24px;
	margin-right:9px;
}
#spNavi .boxList{
	width:86.67%;
	margin:0 auto;
	padding-top:11px;
}
#spNavi .boxList li .aLink{
    display: block;
    color: #FFF;
    line-height: 120%;
    letter-spacing: 0.3px;
    padding:28px 0 0 7px;
    font-size: 18px;
    text-decoration: none;
	
}
#spNavi .boxList li .aLink02{
    display: block;
    color: #FFF;
    line-height: 120%;
    letter-spacing: 0.3px;
    padding:14px 0 0 30px;
    font-size: 16px;
    text-decoration: none;
	
}
#spNavi .boxList li .aLink02.sub{ padding:9px 0 0 30px;}
#spNavi .btnEntrySp{
	width:76%;
	margin:20px auto 0;
	display:block;
}

/*========================================
	jsHide
========================================*/
.jsHide {
	opacity: 0;
	-webkit-transform: translate(0px, 100px);
	transform: translate(0px, 100px);
	-webkit-transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition: opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsHide.jsShow {
	-webkit-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
	opacity: 1;
}
@media only screen and (max-width:1024px){
	.jsHide.jsShowSp {
		-webkit-transform: translate(0px, 0px);
		transform: translate(0px, 0px);
		opacity: 1;
	}
}
