@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', san-serif;
	margin:0;
	padding:0;
	text-align:left;
	background:#EFEFEF;
	-webkit-text-size-adjust:100%;
	min-width:1240px;
	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';}
.fSerif{font-family: 'Noto Serif Japanese';}
.fOswald{ font-family: 'Oswald';}
.fRed{ color:#DE0010;}
.fRed2{ color:#842426;}
.fRobot{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{
	max-width:1400px;
	width:100%;
	margin:0 auto;
}
.wrapperMain{
	max-width:1200px;
	width:100%;
	margin:0 auto;
}
@media only screen and (max-width:1530px){
	.wrapper{ width:1200px;}
	.wrapperMain{ width:1000px;}
}
@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,
	.wrapperMain{
	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;}
.pageContact {
	margin-top:56px;
	background:#EFEFEF;
}
.pageInner{
	width:1400px;
	margin:0 auto;
}
@media only screen and (max-width:767px){
	#container{ 
		margin-top:70px;
		margin-bottom:54px;
	}
	#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;
	}
	.pageContact{ margin-top:0;}
}
@media only screen and (max-width:320px){
	#container{ margin-bottom:46px;}
}

















/*-----------------------------------------------
	header
-----------------------------------------------*/
#header{
	position: fixed;
    height: 56px;
    background: #2F2F2F;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1999;
    width: auto;
    min-width: 800px;
    margin: auto;
}
#header .openMenu ,
#header .btnMenu {
    position: absolute;
    cursor: pointer;
    left: 0px;
    top: 0px;
    width: 56px;
	height:56px;
	background:#505050;
}
#header .btnMenu{ 
	background:none;
	right:15px;
	left:inherit;
}
#header .openMenu span:nth-child(-n+3),
#header .btnMenu span:nth-child(-n+3) {
	position: absolute;
	left: 18px;
	width: 20px;
	height: 3px;
    top: 15px;
	background: #FFF;
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	-ms-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;		
}
#header .btnMenu span:nth-child(-n+3){ 
	top:5px;
	left:8px;
}
#header .openMenu span:nth-of-type(1)
#header .btnMenu span:nth-of-type(1) {
	top: 17px;
}
#header .openMenu span:nth-of-type(2) ,
#header .btnMenu span:nth-of-type(2) {
	top: 26px;
}
#header .btnMenu span:nth-of-type(2) { top:15px;}
#header .openMenu span:nth-of-type(3),
#header .btnMenu span:nth-of-type(3) {
	top: 36px;
}
#header .btnMenu span:nth-of-type(3){ top:25px;}
.subOpen #header .openMenu span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
	width:23px;
}
.subOpen #header .openMenu span:nth-of-type(3) {
	-webkit-transform: translateY(9px) rotate(45deg);
	transform: translateY(9px) rotate(45deg);
	top:4px;
	width:23px;
}
.subOpen #header .openMenu span:nth-of-type(2){
	opacity: 0;
}
.subOpen #header .openMenu span:nth-of-type(3){
	top: 15px;
}
#header .logo{
	margin-top:10px;
	float:left;
}
#header .rightBox{ 
	float:right;
	margin-top:20px;
}
@media only screen and (max-width:1340px){
	#header .logo{ margin-left: 70px;}
}
@media only screen and (max-width:767px){
	#header{
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		padding:0;
		height:70px;
		min-width:auto;
	}
	#header .wrapper{ 
		width:93.75%;
		margin:0 auto;
	}
	#header .logo{ margin:20px 0 0;}
	#header .logo img{
		width:auto;
		height:28px;
	}
	#header .headerTxt{ display:none;}
	#header .wrapper .btnMenu{
		width:33px;
		float:right;
		margin-top:15px;
		margin-right:3px;
	}
	#header .rightBox{ display:none;}
	#header .openMenu{ display:none;}
}

/*-*-*-*-*-*-*-*-*-*-*-*

グローバルメニュー

*-*-*-*-*-*-*-*-*-*-*-*/
#global-menu .global-box{
	font-size:0;
	display:inline-block;
	vertical-align:top;
}
#global-menu .global-box li{
	display:inline-block;
	vertical-align:top;
	border-left:1px solid #C7CCDC;
	padding:0 20px;
	height:20px;
	text-align:center;
	box-sizing:border-box;
	padding-top:1px;
}
#global-menu .global-box li:last-child{ border-right:1px solid #C7CCDC;}
#global-menu .global-box li a{
	color:#FFF;
	font-size:12px;
	letter-spacing:2px;
	padding-top:3px;
	display:block;
}
#global-menu .rightNavi{
	display:inline-block;
	vertical-align:top;
	font-size:0;
	margin-top:-7px;
}
#global-menu .rightNavi .headerLogin{
	display:inline-block;
	vertical-align:top;
	font-size:0;
	margin-left:20px;
}
#global-menu .rightNavi .headerLogin .icon{
	width:34px;
	height:35px;
	display:inline-block;
	vertical-align:middle;
}
#global-menu .rightNavi .headerLogin .icon img{ border-radius: 500px;}
#global-menu .rightNavi .headerLogin .headerName{
	font-size:12px;
	line-height:120%;
	display:inline-block;
	vertical-align:middle;
	color:#fff;
	margin-left:10px;
}
#global-menu .rightNavi .iconStar{
	display:inline-block;
	vertical-align:middle;
	margin:5px 0 0 25px;
}
#global-menu .rightNavi .iconHeader{
	display:inline-block;
	vertical-align:middle;
	margin:5px 0 0 20px;
}
@media only screen and (max-width:1530px){
	#global-menu .global-box li{ padding:0 16px;}
}
@media only screen and (max-width:767px){
	#global-menu{ display:none;}
}

/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz .cfBox{
    padding: 15px 0 20px;
	color:#262626;
}
#pnkz li{
	display:inline-block;
	vertical-align:top;
	padding:0 3px 0 0;
	line-height:20px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	letter-spacing:3px;
	font-size:12px;
}
#pnkz li::before{
	content:">";
	display:inline-block;
	padding-right:7px;
}
#pnkz li:first-child::before{
	display:none;
}
#pnkz li a{
	color:#262626;
}
#pnkz .swiper-wrapper{
	white-space:nowrap !important;
}
#pnkz .swiper-slide{
	display:inline-block;
	float:none !important;
	cursor:default;
}
#pnkz .swiper-container{ float:left;}
#pnkz .pnkzBox{ 
	float:right;
	margin-top:-5px;
	font-size:0;
}
#pnkz .pnkzBtn{
	display: inline-block;
    vertical-align: top;
    width: 200px;
    background: url(../img/common/btnArrow.gif) 95% 50% no-repeat #fff;
    background-size: 7px 12px;
    font-size: 13px;
    letter-spacing: 2px;
    color: #000;
    text-align: left;
    padding: 9px 0 11px 28px;
    position: relative;
	border:1px solid #ccc;
}
#pnkz .pnkzBtn:nth-child(2){
	margin-left:5px;
	color:#fff;
	padding: 9px 0 11px 31px;
	background: url(../img/common/btnArrow02.gif) 95% 50% no-repeat #2F2F2F;
    background-size: 7px 12px;
}
#pnkz .pnkzBtn:nth-child(1)::after{
	content:"";
	position:absolute;
	top:8px;
	left:9px;
	background:url(../img/common/btnIcon01.gif) top center no-repeat;
	background-size:15px 14px;
	width:15px;
	height:14px;
}
#pnkz .pnkzBtn:nth-child(2)::after{
	content:"";
	position:absolute;
	top:11px;
	left:9px;
	background:url(../img/common/btnIcon03.gif) top center no-repeat;
	background-size:18px 12px;
	width:18px;
	height:12px;
}
@media only screen and (max-width:767px){
	#pnkz{
		width:100%;
		overflow:hidden;
	}
	#pnkz .cfBox{ padding:15px 5% 15px;}
	#pnkz li{
		max-width:150px;
		overflow:hidden;
		white-space:nowrap;
		text-overflow:ellipsis;
		letter-spacing:0.5px;
	}
	#pnkz li::before{
		content:"／";
		color:#999;
		padding-right:3px;
	}
	#pnkz li:last-child{
		max-width:100%;
	}
	#pnkz.pnkzPosition{
		position:absolute;
		top:0;
		left:0;
	}
	#pnkz .swiper-container{ float:none;}
	#pnkz .pnkzBox{
		float:none;
		margin-top:10px;
	}
	#pnkz .pnkzBtn{ 
		width:49%;
		font-size:12px;
	}
	#pnkz .pnkzBtn:nth-child(2){ margin-left:2%;}
}
@media only screen and (max-width:360px){
	#pnkz .pnkzBtn{ font-size:11px;}
	#pnkz .pnkzBtn:nth-child(2)::after{ top:9px;}
}

/*-----------------------------------------------
	footer
-----------------------------------------------*/
#footer { padding:63px 0 75px;}
#footer .footerLogo{
	float:left;
	margin-right:108px;
}
#footer .footerList01 {
    float: left;
    box-sizing: border-box;
    padding: 13px 0 0 0;
	width:200px;
}
#footer .footerList01 li .aLink{
	display:inline-block;
	position:relative;
	color:#000;
	line-height:19px;
	letter-spacing:1px;
	padding:7px 10px 6px 15px;
	font-size:12px;
	text-decoration:none;
}
#footer .footerList01 li .aLink:after{
	display:block;
	position:absolute;
	top:14px;
	left:0;
	border-style:solid;
	border-width:3px 0 3px 3px;
	border-color:transparent transparent transparent #000;
	content:"";
}
#copy{
	background:#202020;
	font-size:10px;
	line-height:37px;
	height:40px;
	letter-spacing:2px;
	text-align:center;
	color:#FFF;
	position:relative;
	z-index:200;
}
@media only screen and (max-width:1530px){
	#footer .footerList01{ width:160px;}
}
@media only screen and (max-width:767px){
	#footer .wrapper{  width:90%;}
	#footer { padding: 40px 0 40px;}
	#footer .footerList01{ display:none;}
	#footer .footerLogo{
		float:none;
		margin-right:auto;
		width:90px;
		margin:0 auto;
		text-align:center;
	}
}

/*-----------------------------------------------
	fNav
-----------------------------------------------*/
#fNavSp{ display:none;}
@media only screen and (max-width:767px){
	#fNavSp{
		position:fixed;
		bottom:0;
		left:0;
		z-index:1000;
		width:100%;
		height:54px;
		background:#202020;
		-webkit-transition:all 0.2s ease-out;
		-moz-transition:all 0.2s ease-in-out;
		-ms-transition:all 0.2s ease-in-out;
		transition:all 0.2s ease-in-out;
		display:block;
	}
	#fNavSp .closeBtn{
		position:absolute;
		top:-30px;
		right:0;
	}
	#fNavSp ul{
		width:100%;
		margin:0 auto;
	}
	#fNavSp li{
		width:33.3%;
		float:left;
		box-sizing:border-box;
	}
	#fNavSp a.link02{
		display:block;
		position:relative;
		height:54px;
		box-sizing:border-box;
		text-align:center;
	}
	#fNavSp a.link02:after{
		position:absolute;
		top:0;
		right:0;
		width:1px;
		height:54px;
		background:#FFF;
		content:"";
	}
	#fNavSp li:last-child a.link02:after{ display:none;}
}
@media only screen and (max-width:320px){
	#fNavSp{ height:46px;}
}

/*-----------------------------------------------
	spNavi
-----------------------------------------------*/
#spNavi{
	display:none;
	color:#333;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:1000;
	background:rgba(0,0,0,0.90);
}
#spNavi .spInner{
	height: 100vh;
	overflow-y: scroll;
	padding:54px 0 54px;
}

#spNavi .topMenu{
	position:relative;
	width:20%;
} 
#spNavi .topMenu .txtMenu{
	font-size:13px;
	line-height:120%;
	position:absolute;
	top:-22px;
	left:27px;
	letter-spacing:1px;
	color:#fff;
} 
#spNavi .btnClose.top{
	display:block;
	width:30px;
	height:30px;
	position: relative;
	margin-right:3%;
	float: right;
	font-size:0;
}
#spNavi .btnClose.top::before,
#spNavi .btnClose.top::after{
	content:"";
	display:block;
	width:30px;
	height:3px;
	background:#FFF;
	position:absolute;
	top: -26px;
	left:-8px;
}
#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: 10%;
}
#spNavi .boxList li .aLink{
    display: block;
    position: relative;
    color: #FFF;
    line-height: 19px;
    letter-spacing: 0.3px;
    padding: 21px 10px 21px 12px;
    font-size: 13px;
    text-decoration: none;
}
#spNavi .boxList li .aLink::after{
	display: block;
	position: absolute;
	top: 28px;
	left: 0;
	border-style: solid;
	border-width: 3px 0 3px 3px;
	border-color: transparent transparent transparent #fff;
	content: "";
}

/*-----------------------------------------------
	fixedLeft
-----------------------------------------------*/
.fixedLeft {
	display:none;
    width: 216px;
	position: fixed;
    top: 56px;
    bottom: 0;
	background-color: #FFF;
    -moz-box-shadow: 0 0 2px #EAEAEA;
    -webkit-box-shadow: 0 0 2px #EAEAEA;
    box-shadow: 0 0 2px #EAEAEA;
    z-index: 100;
    transition: all .1s linear;
    height: 100%;
}
.fixedLeft .fixedContainer {
    width: 100%;
    height: 100%;
	/*overflow-y: scroll;*/
}
.fixedLeft .fixedMain { margin-bottom:80px;}
.fixedLeft .commentTit{
	text-align:center;
	position:relative;
	font-size:13px;
	letter-spacing:1px;
	margin-top:22px;
}
.fixedLeft .commentTit::before{
	content:"";
	position:absolute;
	width:50px;
	height:1px;
	background:#CCCCCC;
	top:5px;
	left:18px;
}
.fixedLeft .commentTit::after{
	content:"";
	position:absolute;
	width:50px;
	height:1px;
	background:#CCCCCC;
	top:5px;
	right:18px;
}
.fixedLeft ul{ padding-bottom:40px;}
.fixedLeft .commentBox {
    border-bottom: solid 1px #CCCCCC;
    padding: 29px 0 28px;
    margin: 0 16px;
}
.fixedLeft .commentBox:first-child { padding: 21px 0 28px;}
.fixedLeft a{ 
	display:block;
	color:#000;
}
.fixedLeft .newsTit{
	font-size:12px;
	padding:0 5px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.fixedLeft .fixedBoxMain{
	display:table;
	margin-top:25px;
	padding:0 2px;
}
.fixedLeft .fixedIcon {
	display: table-cell;
    vertical-align: top;
	height: 34px;
    width: 34px;
}
.fixedLeft .fixedIcon img { 
	bottom:auto;
	border-radius: 500px;
}
.fixedLeft .fixedBox{ margin-left:12px;}
.fixedLeft .fixedBox .fixedName {
	font-size:13px;
	line-height:120%;
	letter-spacing:2px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	margin-bottom:8px;
}
.fixedLeft .fixedBox .fixedTxt {
	font-size:11px;
	line-height:160%;
	overflow:hidden;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
	max-height:51px;
}
@media only screen and (max-width:767px){
	.fixedLeft { display:none;}
}