@charset "utf-8";

/******************************

 * style
 *
 * 1. import
 * 2. html, body
 * 3. tag
 * 4. Layout
 * 5. popup

******************************/

/*英字　font-family: 'EB Garamond', serif;*/
@import url('https://fonts.googleapis.com/css?family=EB+Garamond:400,400i,500,500i,600,600i,700,700i');


@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 200;
  src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-ExtraLight.woff') format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 300; 
  src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Light.woff') format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 400;
  src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Regular.woff') format('opentype');
  font-display: swap;
}
/*@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 500;
  src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Medium.woff') format('opentype');
}*/
/*@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 600;
  src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-SemiBold.woff') format('opentype');
}*/
@font-face {
   font-family: 'Noto Serif Japanese';
   font-style: normal;
   font-weight: 700;
  src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Bold.woff') format('opentype');
  font-display: swap;
}
/*@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 900;
  src: url('../font/NotoSerifCJKjp/NotoSerifCJKjp-Black.woff') format('opentype');
}*/

.en,
.Garamond,
.num{
	font-family: 'EB Garamond', serif;

}
.gothic{
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
}

/*****
 * 1. import
*****/

@import "import/reset.css";
@import "import/util.css";


/*****
 * 2. html, body
*****/

	body {
		background-color: #fff;
	}
	.page {
		min-width: 1000px;
		color: #333;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0.20em;
		font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho",'Noto Serif Japanese', "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	    -moz-font-feature-settings: "salt";
		-webkit-font-feature-settings: "salt";
		font-feature-settings: "salt";
	}
	@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
		/*IR設定*/
		.page{
			letter-spacing: 0.10em;
			font-family: 'Noto Serif Japanese',"游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
		}
	}

	@media only screen and (max-width:768px) {
		.page {
			min-width: inherit;
			-webkit-text-size-adjust: 100%;
			text-size-adjust: 100%;
		}
	}


/*****
 * 3. tag
*****/

/* anchor */
	a {
		color: #0000ff;
		text-decoration: none;
		background-color: transparent;
		background-image: none;
		background-repeat: no-repeat;
		background-position: top left;
		transition: .3s;
	}
	a:visited {}
	a:hover {
		color: #ff0000;
		text-decoration: none;
		background-position: bottom right;
	}
	a:active {}


/* cap */
	.cap,
	.caption {
		color: #cccccc;
		font-size: 10px;
		line-height: 1.5;
		letter-spacing: 0.1em;
		background: none;
		text-align: right;
		font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
	}
	.cap {
		padding-top: 5px;
	}

/*sup*/
	sup{
		font-size: 10px;
		vertical-align: super;
	}

/*strong*/
strong{
	font-weight:normal;
}


/* imageCap */
	.imageCap {
		position: relative;
	}
	.imageCap .caption {
		position: absolute;
		right: 7px;
		bottom: 7px;
		text-shadow:
	    rgba(0,0,0,.8) 2px 2px 6px, rgba(0,0,0,.8) -2px 2px 6px,
	    rgba(0,0,0,.8) 2px -2px 6px, rgba(0,0,0,.8) -2px -2px 6px;		
	}
	.imageCap .caption.color-white {
		color:#fff;
	}


/* img */
	img {
		max-width: 100%;
		height: auto;
		vertical-align: top;
	}


/* pc sp */
	.sp {
		display: none;
	}
	@media only screen and (max-width:768px) {
		.sp {
			display: inline-block;
		}
		.pc {
			display: none;
		}
	}


/* telephone */
	.telephone {
		pointer-events: none;
	}
	@media only screen and (max-width:768px) {
		.telephone {
			pointer-events: visible;
		}
	}


/*****
 * 4. Layout
*****/

/* .wrap */
	.wrap {
		width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.wrap02{
		width: 1260px;
		margin-left: auto;
		margin-right: auto;
	}
	.wrap03{
		width: 1120px;
		margin-left: auto;
		margin-right: auto;
	}

	@media only screen and (max-width:1200px) {
		.wrap02{
			width: 100%;
			padding-left: 20px;
			padding-right: 20px;
			box-sizing: border-box;
		}
	}

	@media only screen and (max-width:1120px) {
		.wrap03{
			width: 100%;
			padding-left: 20px;
			padding-right: 20px;
			box-sizing: border-box;
		}
	}

	@media only screen and (max-width:768px) {
		.wrap {
			width: 100%;
			padding-left: 20px;
			padding-right: 20px;
			box-sizing: border-box;
		}
	}


/* Header */
#gHeader {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	z-index: 9999;
}
#gHeader .wrap {
}
/*hdrBox*/
.hdrBox{
	width: 100%;
	position: relative;
	overflow: hidden;
	padding:10px 0;
	background: rgba(0,0,0,.8);
	border-bottom: solid 1px #666666;
}
.header_logo{
	float: left;
	margin-top: 8px;
}
.header_logo i{
	font-size: 19px;
	color:#fff;
	text-shadow:
    rgba(0,0,0,.7) 1px 1px 7px, rgba(0,0,0,.7) -1px 1px 7px,
    rgba(0,0,0,.7) 1px -1px 7px, rgba(0,0,0,.7) -1px -1px 7px;
}
.header_logo i.icon-logo-sp{
	display: none;
	font-size: 15px;
}
@media only screen and (max-width:768px) {
	#gHeader {
		position: absolute;
		top: 0;
		padding:0;
	}
	#gHeader section{
		display: block;
	}
	.hdrBox{
		overflow: initial;
		background:#fff;
		padding: 0;
		z-index: 5;
	}
	.hdrBox-sp{
		width: 100%;
		height: 40px;
		background:#fff;
	}
	.header_logo{
		margin-top: 11px;
	}
	.header_logo i{
		font-size: 14px;
		color:#000;
		text-shadow:none;
	}
	.header_logo i.icon-logo-sp{
		display: none !important;
	}
	.header_logo i.icon-logo-pc{
		display: block !important;
	}
}

/* pNav */
#pNav {	
	float: right;
}
#pNav ul{
	display: flex;
	align-items: center;
}
#pNav ul li{
	line-height: 1;
	letter-spacing: 0.4em;
	position: relative;
}
#pNav ul li:nth-child(n+2){
	margin-left: 25px;
}
#pNav ul li a{
	display: block;
	color: #fff;
	font-size: 11px;
}
#pNav ul li.outline a,
#pNav ul li.map a{
	padding: 5px 0;
	margin-right: -0.4em;
}
#pNav ul li.outline a:before,
#pNav ul li.map a:before{
	content: '';
	width: 0;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: .6s;
}
#pNav ul li.outline a:hover:before,
#pNav ul li.map a:hover:before{
	width: 100%;
}
#pNav ul li.pNav-cvBtn{
	font-size: 14px;
	position: relative;
}
#pNav ul li.pNav-cvBtn a{
	display: block;
	border:solid 1px #fff;
	color:#fff;
}
#pNav ul li.pNav-cvBtn:before{
	content: '';
	width: 3px;
	height: 100%;
	background:#ce7f2a; 
	position: absolute;
	left: 0;
	top: 0;
	transition: .6s;
}
#pNav ul li.pNav-cvBtn:hover:before{
	width: 100%;
}
#pNav ul li.pNav-cvBtn span{
	display: block;
	width: 100%;
	height: 100%;
	padding:10px 35px;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}
#pNav ul li i{
	display: none;
}
@media only screen and (max-width:768px) {
	#pNav{
		width: 100%;
		float: none;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 100;
		border-bottom:solid 2px #ce7f2a; 
	}
	#pNav.is-active{
		display: block;
	}
	#pNav ul li{
		width: 33.33333%;
		font-size: 10px !important;
		text-align: center;
	}
	#pNav ul li:nth-child(n+2){
		margin:0;
	}
	#pNav ul li.outline a:before,
	#pNav ul li.map a:before{
		content: none;
	}
	#pNav ul li.tel,
	#pNav ul li.request,
	#pNav ul li.reserve{
		border-left: solid 1px #959895;		
	}
	#pNav ul li a{
		display: block;
		border:none !important;
		padding:10px 0 !important;
		background:rgba(51,51,51,.8);
	}
	#pNav ul li.pNav-cvBtn:before{
		content: none;
	}
	#pNav ul li.pNav-cvBtn a{
		background:rgba(0,0,0,.8);
	}
	#pNav ul li.pNav-cvBtn span{
		padding:0;
	}
	#pNav ul li i{
		display: block;
		font-size: 18px;
		margin-bottom: 7px;
	}
}


/* gNav */
#gNav {
	display: none;
	background: rgba(0,0,0,.8);
	padding: 10px 0;
}
#gNav.stop{
	display: block;
    animation: stop 1s linear 0s;
}
@keyframes stop{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
#gNav ul{
	width: 70%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#gNav ul li{
	font-size: 13px;
}
#gNav ul li:nth-child(n+2){
	margin-left: 35px;
}
#gNav ul li:nth-child(7){
	margin-left: 0;
}
#gNav ul li.sp{
	display: none;
}
#gNav ul li.off{
	opacity: .3;
}
#gNav ul li a{
	display: block;
	color: #fff;
	padding:10px 0 5px;
	position: relative;
}
#gNav ul li a:before{
	content: '';
	width: 0;
	height: 1px;
	background:#fff;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: .6s;
}
#gNav ul li a.on:before,
#gNav ul li a:hover:before{
	width: 100%;		
}
#gNav .on a {
	border-bottom: solid 1px #fff;
}
#gNav .off a {
	pointer-events: none;
}
/*gNav-sub*/
#gNav-sub span{
	width:100%;
	display: none;
	background: rgba(51,51,51,.3);
	padding:10px;
	box-sizing: border-box;
	color:#fff;
	font-size: 15px;
	text-align: center;
	position: absolute;
	left: 0;
}
#gHeader.is-fixed #gNav-sub span{
	background: rgba(51,51,51,.8);	
}
@media only screen and (max-width:1024px) {
	#gNav ul li a:before{
		content: none;
	}	
}
@media only screen and (max-width:768px) {
	#gNav {
		width: 100%;
		display: none;
		opacity: 1;
		margin: 0;
		background: rgba(51,51,51,.9);
		border-bottom:solid 1px rgba(255,255,255,.2);
		position: fixed;
		left: 0;
		top: 0;
		z-index: 100;
		padding-top: 39px;
	}
	#gNav .wrap{
		padding:0;
	}
	#gNav.is-active {
		display: block;
	}
	#gNav ul{
		width: 100%;
	}
	#gNav ul li {
		width: 50%;
		text-align: center;
		border-bottom:solid 1px rgba(255,255,255,.2);
		padding:10px 0;
		box-sizing: border-box;
	}
	#gNav ul li:nth-child(odd){
		border-right:solid 1px rgba(255,255,255,.2);		
	}
	#gNav ul li:nth-child(n+2){
		margin-left:0;
	}
	#gNav ul li:last-child{
		border:none;
	}
	#gNav ul li.sp{
		display: inline-block;
	}
	/*gNav-sub*/
	#gNav-sub span{
		display: none !important;
	}
}


/* spNav */
#spMenu,
#sptel {
	display: none;
}

@media only screen and (max-width:768px) {
	#spMenu{
		display: block;
		background:none;
		width: 30px;
		height: 30px;
		text-align: center;
		box-sizing: border-box;
		color:#000;
		font-size: 10px;
		position: absolute;
		right: 20px;
		top: 10px;
		letter-spacing: -0.01em;
		z-index: 101;
		transition: .4s;
	}
	#spMenu.is-fixed{
		background: #333333;
		color:#fff;
		padding:5px;
		position: fixed;
	}
	#spMenu i{
		display: block;
		font-size: 20px;
		line-height: 1;
		color:#000;
		margin-bottom: 3px;
	}
	#spMenu.is-fixed i{
		color: #fff;
	}
	#spMenu.is-active {}
}


/* Container */
	#container {
		text-align: left;
		background-color: transparent;
	}


/* Footer */
	#gFooter {
		background:url(../imgs/bg-02.gif) repeat;
	}
	@media only screen and (max-width:768px) {
		#gFooter {
			padding-bottom: 100px;
		}
	}

/*ftrContact*/
.ftrContact{
	background:url(../imgs/bg-01.gif) repeat;
}
.ftrContact .wrap{
	padding:100px 0 110px;
	position: relative;	
}
.ftrContact .wrap:before{
	content: '';
	width: 1px;
	height: 100px;
	background:#ce7f2a;
	position: absolute;
	left: 0;
	top: 0;
}
.ftrContact .clm{
	padding-left: 50px;
}
.ftrContact .ftrContact-txt{
	font-size: 16px;	
}
.ftrContact .ftr-cv{
	width:200px;
	margin: 50px 0 0;
	letter-spacing: 0.4em;
}
.ftrContact .ftrContact-ttl{
	font-size: 14px;
}
.ftrContact .ftrContact-tel{
	font-size: 27px;
	margin-top: 10px;
	letter-spacing: 0.23em;
}
.ftrContact .ftrContact-tel a{
	color:#333;
	pointer-events: none;
}
.ftrContact .ftrContact-tel i{
	font-size: 20px;
	margin-right: 15px;
}
.ftrContact .ftrContact-cap{
	color:#999999;
	margin-top: 10px;
	text-align: left;
}
@media only screen and (max-width:768px) {
	.ftrContact{
		text-align: center;
	}
	.ftrContact .wrap{
		padding:50px 20px 60px;
	}
	.ftrContact .wrap:before{
		content: none;
	}
	.ftrContact .clm-right{
		margin-top: 50px;
	}
	.ftrContact .clm{
		width:50%;
		padding-left: 0;
	}
	.ftrContact .ftrContact-txt{
		font-size: 15px;
	}
	.ftrContact .ftr-cv{
		width:100%;
		font-size: 16px;
	}
	.ftrContact .ftr-cv a{
	}
	.ftrContact .ftrContact-tel{
		font-size: 20px;
		border:solid 1px #cccccc;
		background-color: #fff;
		padding:7px 0;
	}
	.ftrContact .ftrContact-tel a{
		display: block;
		pointer-events: auto;
	}
	.ftrContact .ftrContact-tel i{
		font-size: 16px;
	}
	.ftrContact .ftrContact-cap{
		text-align: center;
	}
}
/*pagetop*/
#pagetop{
	background:rgba(79,78,78,1);
	position: fixed;
	right: 3%;
	bottom: 35px;
	z-index: 150;
	transition: .6s;
}
#pagetop i{
	font-size: 10px;
	color:#fff;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	margin:auto;
	text-align: center;
}
#pagetop a{
	display: block;
	width: 70px;
	height: 70px;
}
#pagetop:hover{
	background:rgba(79,78,78,.8);
	bottom: 40px;
}
@media only screen and (max-width:768px) {
	#pagetop{
		bottom: 70px;
		display: none;
	}
	#pagetop i{
		top: 40%;
		-webkit-transform: translateY(-40%); /* Safari用 */
		transform: translateY(-40%);
		transform: scale(.6);
	}
	#pagetop a{
		width: 40px;
		height: 40px;
	}
	#pagetop:hover{
		bottom: 70px;
	}

}

/*ftrCap*/
.ftrCap{
	padding:35px 0;
	border-bottom: solid 1px #525252;
}
.ftrCap .cap{
	text-align: left;
}
/* fNav */
#fNav {
	padding: 35px 0 0;
	color: #666;
	font-size: 11px;
}
#fNav ul{
	width: 80%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;	
}
#fNav ul li{
	position: relative;
	padding-bottom: 5px;
	line-height: 2.8;
}
#fNav ul li:nth-child(n+2){
	margin-left: 30px;
}
#fNav ul li:nth-child(8){
	margin-left: 0;
}
#fNav ul li:before{
	content: '';
	width: 0;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: .6s;
}
#fNav ul li:hover:before{
	width: 100%;
}
#fNav ul li.off{
	opacity: .3;
}
#fNav ul li a{
	color:#fff;
}

#fNav ul li.on:before {
	width: 100%;
}
#fNav .off a {
	pointer-events: none;
}
@media only screen and (max-width:768px) {
	#fNav {
		padding:0;
	}
	#fNav .wrap{
		padding: 0;
	}
	#fNav ul{
		width: 100%;
		justify-content: flex-start;
	}
	#fNav ul li{
		width:50%;
		text-align: center;
		line-height: 1;
		padding:10px 0;
		box-sizing: border-box;
		border-bottom: solid 1px #525252;
	}
	#fNav ul li:nth-child(n+2){
		margin-left: 0;
	}
	#fNav ul li:nth-child(odd){		
		border-right: solid 1px #525252;
	}
}


/* companyBox */
#companyBox{
	margin-top: 125px;
}
#companyBox .clm:first-child{
	margin-right: 40px;
}
#companyBox .clm:first-child span{
	margin-left: 12px;
}
#companyBox i{
	color:#fff;
	font-size: 35px;
}
#companyBox span{
	display: block;
	color: #999999;
	font-size: 10px;
	margin-bottom: 10px;
}
@media only screen and (max-width:768px) {
	#companyBox{
		margin-top: 30px;
	}
	#companyBox .clm{
		width: 51%;
		margin:0 auto;
	}
	#companyBox .clm:first-child{
		margin-right: auto;
		margin-bottom: 20px;
	}
	#companyBox i{
		font-size: 30px;
	}
}

/* copyright */
.copyright{
	color:#999999;
	font-size: 10px;
	letter-spacing: 0.1em;
	text-align: center;
	padding:30px 0 85px;
}
@media only screen and (max-width:768px) {
	.copyright{
		padding:30px 0;		
	}

}


/*****
 * 5. popup
*****/



