@charset "UTF-8";

/* リセット */
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,main,article,section,aside,figure,figcaption {margin:0; padding:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,address,header,footer,nav,main,article,section,aside,figure,figcaption {display:block;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,main,article,section,aside,figure,figcaption,img,span,a {box-sizing:border-box;}
ul,ol {list-style-type:none;}
img {
	width:100%;
	height:auto;
	display:block;
	border:none;
}
table {border-collapse:collapse;}
h1,h2,h3,h4,h5,h6 {font-weight:bold;}

/* ユーティリティー */
a {zoom:1; text-decoration:none; color:#000; transition:opacity 0.5s; display:block;}
a:hover {color:#010101;text-decoration:none; opacity:0.8;}
.fgo {font-family:'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;}
.fmin {font-family:"Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;}
.clearfix:after {
	content:"";
	clear:both;
	display:block;
}
.page {
	width:100%;
	max-width:1100px;
	padding:0 20px;
	margin:0 auto;
}
.page_s {
	max-width:900px;
	margin:0 auto;
}



body {
	color:#000;
	font-family:"Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size:16px;
	font-weight:normal;
	line-height:1.6;
	-webkit-text-size-adjust:100%;
	padding-top:59px;
}
body p {
	line-height:1.8;
}


/* -------------------------------------
header
------------------------------------- */
header {
	width:100%;
	background-color:#000;
	position:fixed;
	top:0;
	left:0;
	z-index:20;
}
header #logo {
	width:243px;
	padding:20px;
}
header nav {
	max-width:calc(100% - 243px);
	margin-left:auto;
}
header nav li.parent {
	display:table-cell;
	vertical-align:middle;
}
header nav li.parent > a {
	font-size:14px;
	color:#FFF;
	text-align:center;
	line-height:1.2;
	letter-spacing:0.05em;
	height:60px;
	display:flex;
	align-items:center;
	padding:10px 8px;
	margin-right:10px;
	word-break:break-all;
}
header nav li.inq {
	text-align:center;
}
header nav li.inq > a {
	white-space:nowrap;
	padding:10px 45px;
	margin-right:0;
	background-color:#B7A55C;
	pointer-events:none;
}
header nav li.inq.ended > a {
	pointer-events:all;
}
header nav li.parent > a span {
	display:inline-block;
	position:relative;
}
header nav li.parent > a span::after,
header nav li.parent.ended > a span::after {
	content:"";
	width:0;
	height:1px;
	display:block;
	background-color:#FFF;
	position:absolute;
	bottom:-4px;
	left:0;
	z-index:1;
	transition:width 0.5s;
}
header nav li.parent:hover > a,
header nav li.parent.ended:hover > a {
	color:#FFF;
	opacity:1.0;
}
header nav li.parent:hover > a span::after,
header nav li.parent.ended:hover > a span::after {
	width:100%;
}

header nav li.parent > a .pc_s {
	display:none;
}

header nav li .child {
	width:100%;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:20;
}
header nav li.seat .child {
	width:350px;
	padding:0 8px;
}
header nav li.seat .child li:not(:last-child) {
	border-bottom:1px solid #FFF;
}
header nav li.seat .child a {
	font-size:12px;
	color:#FFF;
	padding:8px 8px;
	background-color:#000;
}
header nav li.inq .child a {
	font-size:14px;
	color:#FFF;
	padding:12px 10px;
}
header nav li.inq .child li:nth-child(1) a {
	background-color:#C86241;
}
header nav li.inq .child li:nth-child(2) a {
	background-color:#AAB679;
}
header nav li.inq .child li:nth-child(3) a {
	background-color:#0075A9;
}


header a#menu_btn,
header a#menu_btn span {
	display:block;
	transition:all .5s;
}
header a#menu_btn {
	width:36px;
	height:26px;
	display:none;
	position:absolute;
	top:15px;
	right:15px;
	z-index:30;
}
header a#menu_btn span {
	width:36px;
	height:3px;
	display:block;
	margin:0 auto;
	background-color:#FFF;
	position:absolute;
	left:0;
	right:0;
	z-index:1;
}
header a#menu_btn span:nth-of-type(1) {
	top:0px;
}
header a#menu_btn span:nth-of-type(2) {
	top:13px;
}
header a#menu_btn span:nth-of-type(3) {
	top:26px;
}
header a#menu_btn.active {
	opacity:1.0;
}
header a#menu_btn.active span:nth-of-type(1) {
	transform:translateY(13px) rotate(-315deg);
}
header a#menu_btn.active span:nth-of-type(2) {
	opacity:0;
}
header a#menu_btn.active span:nth-of-type(3) {
	transform:translateY(-13px) rotate(315deg);
}
header .sp_submenu,
header .sp_submenu span {
	display:block;
	transition:all 0.5s;
}
header .sp_submenu {
	width:50px;
	height:60px;
	display:none;
	border-left:1px solid #fff;
	position:absolute;
	top:0;
	right:0;
	z-index:2;
	cursor:pointer;
}
header .sp_submenu span {
	width:24px;
	height:2px;
	margin:0 auto;
	background-color:#fff;
	position:absolute;
	top:50%;
	left:0;
	right:0;
	transform:translateY(-50%);
}
header .sp_submenu span:nth-of-type(2) {
	transform:translateY(0px) rotate(-90deg);
}
header .sp_submenu.active span:nth-of-type(1) {
	transform:translateY(0px) rotate(-180deg);
}
header .sp_submenu.active span:nth-of-type(2) {
	transform:translateY(0px) rotate(180deg);
}

header nav li.inq .child a.btn_close {
  filter: grayscale(1);
  color: #ddd;
}
header nav li.inq .child a.btn_close:hover {
  opacity: 1;
}

/* -------------------------------------
common
------------------------------------- */
main {
	overflow:hidden;
}
.img {
	width:100%;
	height:auto;
	display:block;
}
.sptel {
	cursor:default;
	pointer-events:none;
}

.flex {
	display:flex;
	flex-wrap:wrap;
}
.align_items_cen {
	align-items:center;
}
.align_items_start {
	align-items:flex-start;
}
.align_items_end {
	align-items:flex-end;
}
.space-between {
	justify-content:space-between;
}
.justify_content_cen {
	justify-content:center;
}

.tb {
	width:100%;
	display:table;
}
.cell {
	display:table-cell;
	vertical-align:middle;
}

.posrel {
	position:relative;
}


body.preload .wow.fadeIn,
body.preload .wow.fadeInUp,
body.preload .wow.fadeInRight,
body.preload .wow.fadeInLeft {
	opacity:0!important;
}


.bg_bk {
	background-color:#000;
}


.link {
	font-size:14px;
	text-align:center;
	max-width:345px;
	padding:13px;
	margin:0 auto;
	border-radius:30px;
	background:#FFF url(../imgs/common/arrow_link_off.svg) no-repeat center right 20px;
	background-size:7px auto;
	transition:color 0.5s,background 0.5s;
}
.link:hover {
	color:#FFF;
	background:#005A99 url(../imgs/common/arrow_link_on.svg) no-repeat center right 20px;
	background-size:7px auto;
	opacity:1.0;
}
.link.bdr {
	border:1px solid #000;
}
.link.bl {
	color:#FFF;
	background:#005A99 url(../imgs/common/arrow_link_on.svg) no-repeat center right 20px;
	background-size:7px auto;
}
.link.bl:hover {
	color:#005A99;
	background:#FFF url(../imgs/common/arrow_link_off.svg) no-repeat center right 20px;
	background-size:7px auto;
}
.link.bl.bdr {
	border:1px solid #FFF;
}


.cmn_inq {
	text-align:center;
	padding:70px 0;
	border-top:1px solid #000;
}
.cmn_inq dl dt {
	font-size:25px;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:25px;
}
.cmn_inq dl dt .sp {
	display:none;
}
.cmn_inq dl dd {
	width:80%;
	max-width:431px;
	margin:0 auto 30px auto;
}
.cmn_inq ul li {
	width:calc((100% - 20px) / 3);
}
.cmn_inq ul li:not(:last-child) {
	margin-right:10px;
}
.cmn_inq ul li a {
	font-size:20px;
	font-weight:bold;
	text-align:center;
	color:#FFF;
	letter-spacing:0.05em;
	padding:15px;
	border:2px solid #FFF;
	border-radius:35px;
	background-image:url(../imgs/common/arrow_cmn_inq.svg);
	background-repeat:no-repeat;
	background-position:center right 20px;
	background-size:7px auto;
	box-shadow:0px 2px 4px 0px rgba(0, 0, 0, 0.6);
}
.cmn_inq ul li:nth-child(1) a {
	background-color:#001F46;
}
.cmn_inq ul li:nth-child(2) a {
	background-color:#005A99;
}
.cmn_inq ul li:nth-child(3) a {
	background-color:#B7A55C;
	background-image:none;
}
.cmn_inq ul li a.btn_close {
  filter: grayscale(1);
  color: #ddd;
  opacity: 0.4;
}
.cmn_inq ul li a.btn_close:hover {
  opacity: 0.4;
}

.floathing {
	font-size:20px;
	font-weight:bold;
	color:#FFF;
	letter-spacing:0.05em;
	writing-mode:vertical-rl;
	-ms-writing-mode:tb-rl;
	height:9.3em;
	padding:1.5em 25px 1.5em 1em;
	border-top-left-radius:20px;
	border-bottom-left-radius:20px;
	background-color:#005A99;
	position:fixed;
	top:30%;
	right:-8px;
	z-index:15;
	transition:right 0.5s;
}
.floathing:hover {
	color:#FFF;
	right:0;
	opacity:1.0;
}


.pagetitle {
	text-align:center;
	padding:75px 0;
}
.pagetitle h1 span {
	display:block;
}
.pagetitle h1 .eng {
	font-size:17px;
	font-weight:600;
	letter-spacing:0.1em;
}
.pagetitle h1 .ja {
	font-size:40px;
	font-weight:600;
	line-height:1.4;
	letter-spacing:0.1em;
}
.pagetitle h1::after {
	content:"";
	width:73px;
	height:3px;
	display:block;
	margin:15px auto 0 auto;
	background-color:#000;
}
.pagetitle h1 span .sp {
	display:none;
}



/* -------------------------------------
footer
------------------------------------- */
footer #cp {
	padding:20px;
	background-color:#000
}
footer #cp img {
	max-width:363px;
	margin:0 auto;
}



@media screen and (max-width:1400px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header nav li.parent > a {
		font-size:13px;
		height:60px;
		padding:10px 8px;
		margin-right:5px;
	}
	header nav li.inq > a {
		padding:10px 35px;
		margin-right:0;
	}

	header nav li.inq .child a {
		font-size:13px;
	}


	/* -------------------------------------
	common
	------------------------------------- */


	/* -------------------------------------
	footer
	------------------------------------- */
}
@media screen and (max-width:1300px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header nav li.inq > a {
		padding:10px 25px;
	}

	header nav li.parent > a .pc_s {
		display:block;
	}
}
@media screen and (max-width:1100px) {
	body {
		font-size:15px;
	}


	/* -------------------------------------
	common
	------------------------------------- */
	.cmn_inq {
		padding:65px 0;
	}
	.cmn_inq dl dt {
		font-size:24px;
		margin-bottom:24px;
	}
	.cmn_inq dl dd {
		margin:0 auto 29px auto;
	}
	.cmn_inq ul li a {
		font-size:19px;
	}


	.floathing {
		font-size:19px;
		height:9.1em;
		padding:1.4em 25px 1.4em 0.9em;
	}


	.pagetitle {
		padding:70px 0;
	}
	.pagetitle h1 .eng {
		font-size:16px;
	}
	.pagetitle h1 .ja {
		font-size:37px;
	}
	.pagetitle h1::after {
		width:70px;
	}


	/* -------------------------------------
	footer
	------------------------------------- */
}
@media screen and (max-width:1000px) {



	/* -------------------------------------
	header
	------------------------------------- */
	header {
		max-height:100%;
		overflow:auto;
	}
	header nav {
		max-width:100%;
		width:100%;
		display:none;
	}
	header nav .tb {
		display:block;
	}
	header nav li.parent {
		display:block;
		border-top:1px solid #FFF;
	}

	header nav li.parent > a {
		font-size:14px;
		padding:15px 20px;
		position:relative;
	}
	header nav li.parent > a span::after {
		content:none;
	}
	header nav li.parent > a br {
		display:none;
	}
	header nav li.parent > a .pc_s {
		display:none;
	}

	header nav li .child {
		position:static;
	}
	header nav li.seat .child {
		width:100%;
		padding:0;
	}
	header nav li.seat .child li {
		border-top:1px solid #FFF;
	}
	header nav li.seat .child li:not(:last-child) {
		border-bottom:none;
	}
	header nav li.seat .child a {
		font-size:14px;
		padding:13px 20px;
	}
	header nav li.inq .child a {
		font-size:14px;
		text-align:left;
		padding:13px 20px;
	}

	header a#menu_btn {
		display:block;
	}
	header .sp_submenu {
		display:block;
	}



	/* -------------------------------------
	common
	------------------------------------- */


	/* -------------------------------------
	footer
	------------------------------------- */
}
@media screen and (max-width:768px) {
	body {
		font-size:14px;
	}


	/* -------------------------------------
	header
	------------------------------------- */


	/* -------------------------------------
	common
	------------------------------------- */
	.cmn_inq {
		padding:60px 0;
	}
	.cmn_inq dl dt {
		font-size:22px;
		margin-bottom:22px;
	}
	.cmn_inq dl dd {
		margin:0 auto 27px auto;
	}
	.cmn_inq ul li a {
		font-size:18px;
	}


	.floathing {
		font-size:18px;
		height:8.9em;
		padding:1.3em 24px 1.3em 0.8em;
	}


	.pagetitle {
		padding:60px 0;
	}
	.pagetitle h1 .eng {
		font-size:15px;
	}
	.pagetitle h1 .ja {
		font-size:33px;
	}
	.pagetitle h1::after {
		width:65px;
	}


	/* -------------------------------------
	footer
	------------------------------------- */
}
@media screen and (max-width:640px) {
	/* -------------------------------------
	header
	------------------------------------- */


	/* -------------------------------------
	common
	------------------------------------- */
	.cmn_inq {
		padding:55px 0;
	}
	.cmn_inq ul li {
		width:100%;
	}
	.cmn_inq ul li:not(:last-child) {
		margin-right:0;
		margin-bottom:10px;
	}
	.cmn_inq ul li a {
		font-size:17px;
	}


	.floathing {
		font-size:17px;
		height:8.9em;
		padding:1.3em 23px 1.3em 0.8em;
		top:auto;
		bottom:20px;
	}


	.pagetitle {
		padding:55px 0;
	}
	.pagetitle h1 .ja {
		font-size:32px;
	}
	.pagetitle h1::after {
		width:63px;
	}
	.pagetitle h1 span .sp {
		display:block;
	}


	/* -------------------------------------
	footer
	------------------------------------- */
}
@media screen and (max-width:500px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header nav li.parent > a {
		height:56px;
	}

	header .sp_submenu {
		height:56px;
	}

	/* -------------------------------------
	common
	------------------------------------- */
	.cmn_inq {
		padding:50px 0;
	}
	.cmn_inq dl dt {
		font-size:20px;
		margin-bottom:20px;
	}
	.cmn_inq dl dt .sp {
		display:block;
	}
	.cmn_inq dl dd {
		width:100%;
		margin:0 auto 25px auto;
	}


	.floathing {
		font-size:16px;
		height:8.7em;
		padding:1.2em 22px 1.2em 0.7em;
	}


	.pagetitle {
		padding:50px 0;
	}
	.pagetitle h1 .eng {
		font-size:14px;
	}
	.pagetitle h1 .ja {
		font-size:29px;
	}
	.pagetitle h1::after {
		width:60px;
	}


	/* -------------------------------------
	footer
	------------------------------------- */
}
@media screen and (max-width:320px) {

}
@media screen and (min-width:1001px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header nav {
		display:block!important;
	}
}
