.con_base_s,
#fix_nav .box_nav,
#fix_nav .box_snav,
#fix_nav .box_contact {
	width: 90%;
	max-width: 1000px;
	margin: auto
}

@media only screen and (max-width: 1199px) {
	.con_base_s,
	#fix_nav .box_nav,
	#fix_nav .box_snav,
	#fix_nav .box_contact {
		width: 86.45833%
	}
}

.con_base_m,
#footer .con_snav ul,
#footer .con_fnav,
#footer .con_hotel .wrp_hotel {
	width: 90%;
	max-width: 1200px;
	margin: auto
}

@media only screen and (max-width: 1199px) {
	.con_base_m,
	#footer .con_snav ul,
	#footer .con_fnav,
	#footer .con_hotel .wrp_hotel {
		width: 91.66667%
	}
}

.con_base_l,
#contents .con_pg_title,
#contents .topicpath {
	width: 90%;
	max-width: 1600px;
	margin: auto
}

@media only screen and (max-width: 1199px) {
	.con_base_l,
	#contents .con_pg_title,
	#contents .topicpath {
		width: 91.66667%
	}
}
/*
@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: 400;
	src: local("NotoSansCJKjp-Regular"), url("../fonts/NotoSansCJKjp-Regular.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("../fonts/NotoSansCJKjp-Regular.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Regular.eot") format("embedded-opentype")
}

@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: 500;
	src: local("NotoSansCJKjp-Medium"), url("../fonts/NotoSansCJKjp-Medium.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Medium.woff") format("woff"), url("../fonts/NotoSansCJKjp-Medium.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Medium.eot") format("embedded-opentype")
}

@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: 700;
	src: local("NotoSansCJKjp-Bold"), url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSansCJKjp-Bold.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Bold.eot") format("embedded-opentype")
}

@font-face {
	font-family: 'Amiri Regular';
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	src: local("Amiri-Regular"), url("../fonts/Amiri-Regular.woff2") format("woff2"), url("../fonts/Amiri-Regular.woff") format("woff"), url("../fonts/Amiri-Regular.ttf") format("truetype"), url("../fonts/Amiri-Regular.eot") format("embedded-opentype")
}
*/
.lazyload,
.lazyloading {
	opacity: 0
}

.lazyloaded {
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation: fade .2s ease-out;
	animation: fade .2s ease-out
}

@-webkit-keyframes fade {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}

@keyframes fade {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}

@media only screen and (min-width: 1200px) {
	.js-fade {
		opacity: 0;
		-webkit-transform: translateY(50px);
		transform: translateY(50px);
		-webkit-transition: all 0.7s;
		transition: all 0.7s
	}
	.js-fade.scrollin {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

@media print {
	.js-fade {
		opacity: 0;
		-webkit-transform: translateY(50px);
		transform: translateY(50px);
		-webkit-transition: all 0.7s;
		transition: all 0.7s
	}
	.js-fade.scrollin {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}

.en {
	font-family: "Amiri Regular", "Times New Roman", Times, Garamond, Georgia, serif
}

.t {
	letter-spacing: 1px;
	line-height: 1.8
}

@media only screen and (max-width: 767px) {
	.t {
		letter-spacing: .3px
	}
}

.sm {
	font-size: 94%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.sm {
		font-size: 94%
	}
}

@media only screen and (max-width: 767px) {
	.sm {
		font-size: 94%
	}
}

.handwriting {
	font-family: "Mrs Saint Delafield";
	color: #96c7d2
}

.mb {
	margin-bottom: 150px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.mb {
		margin-bottom: 110px
	}
}

@media only screen and (max-width: 767px) {
	.mb {
		margin-bottom: 80px
	}
}

.tl_line {
	font-weight: normal;
	text-align: center;
	position: relative;
	padding: 80px 0;
	margin-bottom: 40px;
	line-height: 1.3
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line {
		padding: 50px 0
	}
}

@media only screen and (max-width: 767px) {
	.tl_line {
		padding: 40px 0
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line {
		margin-bottom: 30px
	}
}

@media only screen and (max-width: 767px) {
	.tl_line {
		margin-bottom: 20px
	}
}

.tl_line:before,
.tl_line:after {
	content: "";
	width: 85px;
	height: 1px;
	background: #96c7d2;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	margin: 0 auto
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line:before,
	.tl_line:after {
		width: 50px
	}
}

@media only screen and (max-width: 767px) {
	.tl_line:before,
	.tl_line:after {
		width: 35px
	}
}

.tl_line:before {
	top: 13%;
	left: 52%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line:before {
		top: 12%
	}
}

@media only screen and (max-width: 767px) {
	.tl_line:before {
		top: 14%
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line:before {
		left: 54%
	}
}

@media only screen and (max-width: 767px) {
	.tl_line:before {
		left: 56%
	}
}

.tl_line:after {
	bottom: 11%;
	right: 53%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line:after {
		bottom: 9%
	}
}

@media only screen and (max-width: 767px) {
	.tl_line:after {
		bottom: 11%
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line:after {
		right: 54%
	}
}

@media only screen and (max-width: 767px) {
	.tl_line:after {
		right: 60%
	}
}

.tl_line span {
	display: block
}

.tl_line span.en {
	font-size: 260%;
	letter-spacing: 2px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line span.en {
		font-size: 240%
	}
}

@media only screen and (max-width: 767px) {
	.tl_line span.en {
		font-size: 240%
	}
}

.tl_line span.jp {
	font-size: 107%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_line span.jp {
		font-size: 107%
	}
}

@media only screen and (max-width: 767px) {
	.tl_line span.jp {
		font-size: 107%
	}
}

.tl_m {
	text-align: center;
	font-weight: normal;
	margin-bottom: 50px;
	line-height: 1.2
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_m {
		margin-bottom: 40px
	}
}

@media only screen and (max-width: 767px) {
	.tl_m {
		margin-bottom: 30px
	}
}

.tl_m span {
	display: block
}

.tl_m span.en {
	font-size: 240%;
	letter-spacing: 2px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_m span.en {
		font-size: 240%
	}
}

@media only screen and (max-width: 767px) {
	.tl_m span.en {
		font-size: 240%
	}
}

.tl_s {
	text-align: center;
	font-weight: normal;
	margin-bottom: 40px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_s {
		margin-bottom: 40px
	}
}

@media only screen and (max-width: 767px) {
	.tl_s {
		margin-bottom: 30px
	}
}

.tl_s span {
	display: block;
	line-height: 2
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_s span {
		line-height: 2
	}
}

@media only screen and (max-width: 767px) {
	.tl_s span {
		line-height: 1.7
	}
}

.tl_s span.jp {
	font-size: 134%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_s span.jp {
		font-size: 120%
	}
}

@media only screen and (max-width: 767px) {
	.tl_s span.jp {
		font-size: 127%
	}
}

@media only screen and (max-width: 767px) {
	.tl_s span.jp {
		margin-bottom: 3px
	}
}

.tl_s span.en {
	font-size: 94%;
	color: #96c7d2;
	letter-spacing: 2px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.tl_s span.en {
		font-size: 94%
	}
}

@media only screen and (max-width: 767px) {
	.tl_s span.en {
		font-size: 94%
	}
}

.btn_basic {
	width: 330px;
	margin-top: 50px
}

@media only screen and (max-width: 767px) {
	.btn_basic {
		width: 80%;
		margin-top: 25px
	}
}

.btn_basic a {
	display: block;
	background-color: #fff;
	color: #96c7d2;
	border: 1px solid #96c7d2;
	border-radius: 3px;
	text-align: center;
	padding: 18px 15px
}

.btn_basic.center {
	margin-left: auto;
	margin-right: auto
}

.btn_basic.out a:after {
	content: "\f3ef";
	font-family: "Ionicons";
	margin-left: 5px
}

.btn_basic.pdf a svg {
	fill: #96c7d2;
	width: 15px;
	height: 15px;
	margin-left: 5px
}

.btn_basic.sub a {
	border: 1px solid #ececeb;
	background: #ececeb;
	color: #54585a
}

.btn_basic.sub a:after {
	content: "\f3d3";
	font-family: "Ionicons";
	margin-left: 5px
}

.btn_basic.fair a {
	background-color: #a00062;
	color: #fff;
	border: none
}

.btn_basic.blue a {
	background-color: #96c7d2;
	color: #fff;
	border: none
}

.btn_fair a {
	display: block;
	color: #fff;
	background-color: #a00062;
	border-radius: 3px;
	text-align: center;
	padding: 18px 15px;
	font-size: 100% !important;
}

.tbl_basic {
	width: 100%
}

.tbl_basic tbody {
	border-top: 1px solid #ececeb
}

.tbl_basic tbody tr th,
.tbl_basic tbody tr td {
	padding: 22px 26px;
	letter-spacing: 2px;
	line-height: 1.8
}

@media only screen and (max-width: 767px) {
	.tbl_basic tbody tr th,
	.tbl_basic tbody tr td {
		padding: 15px 15px
	}
}

.tbl_basic tbody tr th {
	width: 28%;
	font-weight: normal;
	background-color: #ececeb;
	border-bottom: 1px solid #fff
}

@media only screen and (max-width: 767px) {
	.tbl_basic tbody tr th {
		width: 32%
	}
}

.tbl_basic tbody tr td {
	width: 72%;
	border-bottom: 1px solid #ececeb
}

@media only screen and (max-width: 767px) {
	.tbl_basic tbody tr td {
		width: 68%
	}
}

@media only screen and (max-width: 767px) {
	.tbl_basic.respon tbody tr th,
	.tbl_basic.respon tbody tr td {
		display: block;
		width: 100%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box
	}
}

.comp_slide .slick-dots {
	position: absolute;
	width: 100%;
	top: 105%;
	left: 0;
	text-align: center;
	line-height: 0
}

.comp_slide .slick-dots li {
	display: inline-block;
	vertical-align: middle;
	*vertical-align: auto;
	*zoom: 1;
	*display: inline
}

.comp_slide .slick-dots li.slick-active button {
	background: #c5b170;
	color: #c5b170;
	border: 1px solid #c5b170;
}

.comp_slide .slick-dots li button {
	border-radius: 20px;
	display: block;
	width: 10px;
	background: #fff;
	padding: 10px 0 0;
	height: 0;
	overflow: hidden;
	margin: 0 6px;
	border: none;
	color: #fff;
	border: 1px solid #c5b170;
}

.comp_slide .slick-dots li:only-of-type {
	display: none
}

.comp_img_radius {
	border-radius: 3px;
	overflow: hidden
}

@media only screen and (max-width: 767px) {
	.comp_img_radius {
		border-radius: .3em
	}
}

.comp_img_radius img {
	width: 100%
}

.comp_ancher ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

@media only screen and (min-width: 768px) {
	.comp_ancher ul {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}
}

.comp_ancher ul li {
	width: auto;
	margin: 0 0.5em 1.5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.comp_ancher ul li {
		width: 24%
	}
}

@media only screen and (max-width: 767px) {
	.comp_ancher ul li {
		width: 48%
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.comp_ancher ul li {
		margin: 0 0.5% 2%
	}
}

@media only screen and (max-width: 767px) {
	.comp_ancher ul li {
		margin: 0 1% 3%
	}
}

@media only screen and (min-width: 1200px) {
	.comp_ancher ul li {
		min-width: 220px
	}
}

@media print {
	.comp_ancher ul li {
		min-width: 220px
	}
}

.comp_ancher ul li a {
	padding: 1.5em 1em 2.5em;
	display: block;
	background: #fff;
	-webkit-box-shadow: 5px 5px 40px 12px rgba(150, 199, 210, 0.2);
	box-shadow: 5px 5px 40px 12px rgba(150, 199, 210, 0.2);
	position: relative;
	-webkit-transition: .3s;
	transition: .3s;
	text-align: center;
	border-radius: 3px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.comp_ancher ul li a {
		padding: 1.2em 1em 2em
	}
}

@media only screen and (max-width: 767px) {
	.comp_ancher ul li a {
		padding: 1em 1em 2em
	}
}

@media only screen and (max-width: 767px) {
	.comp_ancher ul li a {
		border-radius: .3em
	}
}

@media only screen and (max-width: 1199px) {
	.comp_ancher ul li a {
		font-size: 94%
	}
}

@media only screen and (max-width: 767px) {
	.comp_ancher ul li a {
		-webkit-box-shadow: 0 0 10px 2px rgba(150, 199, 210, 0.18);
		box-shadow: 0 0 10px 2px rgba(150, 199, 210, 0.18)
	}
}

.comp_ancher ul li a::after {
	font-size: 134%;
	position: absolute;
	content: "\f123";
	font-family: "Ionicons";
	color: #96c7d2;
	bottom: .2em;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-transition: .3s;
	transition: .3s
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.comp_ancher ul li a::after {
		font-size: 100%
	}
}

@media only screen and (max-width: 767px) {
	.comp_ancher ul li a::after {
		font-size: 100%
	}
}

@media only screen and (min-width: 1200px) {
	.comp_ancher ul li a:hover {
		-webkit-box-shadow: 5px 5px 40px 12px transparent;
		box-shadow: 5px 5px 40px 12px transparent
	}
	.comp_ancher ul li a:hover::after {
		opacity: .7
	}
}

@media print {
	.comp_ancher ul li a:hover {
		-webkit-box-shadow: 5px 5px 40px 12px transparent;
		box-shadow: 5px 5px 40px 12px transparent
	}
	.comp_ancher ul li a:hover::after {
		opacity: .7
	}
}

.comp_pager ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.comp_pager ul li {
	margin-right: .5em
}

@media only screen and (max-width: 767px) {
	.comp_pager ul li {
		margin-right: .3em
	}
}

.comp_pager ul li a {
	padding: 1.4em 1.9em;
	border-radius: 3px;
	font-size: 94%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #fff
}

@media only screen and (max-width: 767px) {
	.comp_pager ul li a {
		padding: 0.7em 1.2em
	}
}

@media only screen and (max-width: 767px) {
	.comp_pager ul li a {
		border-radius: .3em
	}
}

.comp_pager ul li.prev a span::before {
	content: "\f3d2";
	font-family: "Ionicons";
	margin-right: .5em
}

.comp_pager ul li.next {
	margin-right: 0
}

.comp_pager ul li.next a span::after {
	content: "\f3d3";
	font-family: "Ionicons";
	margin-left: .5em
}

.comp_pager ul li.active a {
	background: #96c7d2;
	color: #fff
}

.comp_att {
	font-size: 87%;
	position: relative;
	padding-left: 1.3em;
	display: inline-block;
	margin-bottom: .5em
}

.comp_att::before {
	content: "窶ｻ";
	position: absolute;
	left: 0;
	top: 0
}

html {
	font-size: small;
	line-height: 1.5
}

body {
	color: #54585a;
	background: #fff;
	-webkit-text-size-adjust: none;
	font-size: 116%
}

.ie body {
	font-size: 112%
}

@media only screen and (max-width: 767px) {
	body {
		font-size: 85%
	}
}

body a {
	color: #54585a;
	text-decoration: none
}

body img {
	max-width: 100%;
	-webkit-touch-callout: none;
	line-height: 1
}

body,
pre,
input,
textarea,
select {
	font-family: "NotoSansCJKjp", "繝｡繧､繝ｪ繧ｪ", "Meiryo", "繝偵Λ繧ｮ繝手ｧ偵ざ Pro", "Hiragino Kaku Gothic Pro", "貂ｸ繧ｴ繧ｷ繝�け菴�", "Yu Gothic", YuGothic, "MS �ｰ繧ｴ繧ｷ繝�け", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
	font-weight: 400;
	color: #54585a
}

input,
select,
textarea {
	font-size: 100%
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
	display: none !important
}

html.ie8 #abi_page {
	min-width: 1000px !important;
	margin: auto;
	font-size: 100% !important
}

@media only screen and (min-width: 1200px) {
	body .view_tab-sp,
	body .view_tab {
		display: none !important
	}
}

@media print {
	body .view_tab-sp,
	body .view_tab {
		display: none !important
	}
}

@media only screen and (min-width: 768px) {
	body .view_sp {
		display: none !important
	}
}

@media only screen and (max-width: 1199px) {
	body .view_pc {
		display: none !important
	}
}

@media only screen and (max-width: 767px) {
	body .view_pc-tab,
	body .view_tab {
		display: none !important
	}
}

.mouse .over {
	-webkit-transition: opacity .2s ease-in;
	transition: opacity .2s ease-in
}

@media only screen and (min-width: 1200px) {
	.mouse .over:hover,
	.touch .over.touchstart {
		filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
		opacity: .7
	}
}

@media print {
	.mouse .over:hover,
	.touch .over.touchstart {
		filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
		opacity: .7
	}
}

.touch .over {
	-webkit-tap-highlight-color: transparent
}

.touch .over.touchend {
	-webkit-transition-delay: 200ms;
	transition-delay: 200ms
}

#abi_page {
	overflow: hidden
}

@media only screen and (min-width: 1200px) {
	#abi_page {
		width: 100%;
		margin: auto
	}
}

@media print {
	#abi_page {
		width: 100%;
		margin: auto
	}
}

@media only screen and (min-width: 768px) {
	#abi_page {
		font-size: 100% !important
	}
}

#header .wrp_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 10px 50px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .wrp_header {
		margin: 15px 50px
	}
}

@media only screen and (max-width: 767px) {
	#header .wrp_header {
		margin: 10px 50px
	}
}

#header .wrp_header .con_title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-right: 20px
}

#header .wrp_header .con_title span {
	font-family: "Mrs Saint Delafield";
	font-size: 250%;
	/*color: #a00062;*/
	color: #c5b170;
	-webkit-transform: rotate(-10deg);
	transform: rotate(-10deg);
	margin-left: 20px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .wrp_header .con_title span {
		font-size: 200%
	}
}

@media only screen and (max-width: 767px) {
	#header .wrp_header .con_title span {
		font-size: 200%
	}
}

#header .wrp_header .con_title a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

#header .wrp_header .con_title a span {
	display: block
}

#header .wrp_header .gnav {
	margin-left: auto
}

#header .wrp_header .gnav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

#header .wrp_header .gnav ul li {
	margin: 0 20px
}

@media only screen and (max-width: 1694px) {
	#header .wrp_header .gnav ul li {
		display: none
	}
	#header .wrp_header .gnav ul li.btn {
		display: block
	}
}

#header .wrp_header .gnav ul li a {
	display: block;
	text-align: center
}

#header .wrp_header .gnav ul li a span {
	display: block
}

#header .wrp_header .gnav ul li a span.jp {
	font-size: 94%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .wrp_header .gnav ul li a span.jp {
		font-size: 94%
	}
}

@media only screen and (max-width: 767px) {
	#header .wrp_header .gnav ul li a span.jp {
		font-size: 94%
	}
}

#header .wrp_header .gnav ul li a span.en {
	color: #767676;
	font-size: 74%;
	margin-top: 2px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .wrp_header .gnav ul li a span.en {
		font-size: 74%
	}
}

@media only screen and (max-width: 767px) {
	#header .wrp_header .gnav ul li a span.en {
		font-size: 74%
	}
}

#header .wrp_header .gnav ul li:nth-child(8) {
	margin-right: 40px
}

#header .wrp_header .gnav ul li.btn {
	margin: 0 !important;
	margin-left: 2px !important;
	padding: 0 !important;
}

#header .wrp_header .gnav ul li.btn a {
	display: table-cell;
	vertical-align: middle;
	border-radius: 3px;
	width: 100px;
	height: 90px
}

#header .wrp_header .gnav ul li.btn a span {
	font-size: 94%;
	margin-top: 5px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .wrp_header .gnav ul li.btn a span {
		font-size: 94%
	}
}

@media only screen and (max-width: 767px) {
	#header .wrp_header .gnav ul li.btn a span {
		font-size: 94%
	}
}

#header .wrp_header .gnav ul li.btn a.contact {
	background-color: #fff;
	border: 1px solid #ececeb
}
#header .wrp_header .gnav ul li.btn a.contact:hover {
	background-color: #c5b170;
	color: #fff;
	border: 1px solid #ececeb
}
#header .wrp_header .gnav ul li.btn a.contact:hover svg {
	fill: #fff;
}

#header .wrp_header .gnav ul li.btn a.contact svg {
	fill: #54585a;
	width: 27px;
	height: 29px
}

#header .wrp_header .gnav ul li.btn a.contact.write svg {
	width: 25px;
	height: 27px
}

#header .wrp_header .gnav ul li.btn a.contact.write span {
	line-height: 1.4
}

#header .wrp_header .gnav ul li.btn a.fair {
	background-color: #a00062;
	color: #fff;
	border: 1px solid #a00062;
}
#header .wrp_header .gnav ul li.btn a.fair:hover {
	background-color: #f9edf0;
	color: #a00062
}

#header .wrp_header .gnav ul li.btn a.fair svg {
	fill: #fff;
	width: 28px;
	height: 28px
}
#header .wrp_header .gnav ul li.btn a.fair:hover svg {
	fill: #a00062
}

#header .wrp_header .toggle_btn {
	width: 90px;
	height: 90px;
	cursor: pointer;
	position: relative;
	z-index: 200
}

#header .wrp_header .toggle_btn span {
	position: absolute;
	height: 1px;
	background-color: #54585a;
	width: 45px;
	right: 0
}

#header .wrp_header .toggle_btn span.top {
	top: 40%;
	-webkit-transition: all .2s ease;
	transition: all .2s ease
}

#header .wrp_header .toggle_btn span.mid {
	top: 50%;
	-webkit-transition: all .2s ease;
	transition: all .2s ease
}

#header .wrp_header .toggle_btn span.bottom {
	top: 60%;
	-webkit-transition: all .2s ease;
	transition: all .2s ease
}

#header .wrp_header.open .toggle_btn span.top {
	-webkit-transform: translateY(13px) rotate(-45deg);
	transform: translateY(13px) rotate(-45deg)
}

#header .wrp_header.open .toggle_btn span.mid {
	opacity: 0;
}

#header .wrp_header.open .toggle_btn span.bottom {
	-webkit-transform: translateY(-5px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg)
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#header .wrp_header {
		margin: 15px 40px
	}
	#header .wrp_header .con_title a img {
		width: 180px
	}
}

@media only screen and (max-width: 767px) {
	#header .wrp_header {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}
	#header .wrp_header .con_title {
		margin-right: 0
	}
	#header .wrp_header .con_title a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex
	}
	#header .wrp_header .con_title a img {
		width: 140px
	}
	#header .wrp_header .con_title a span {
		display: block
	}
	#header .wrp_header .con_title img {
		width: 140px
	}
}

#header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 300;
}

#header.fixed .wrp_header {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

#header.fixed .wrp_header .gnav ul li {
	display: none
}

#header.fixed .wrp_header .gnav ul li.btn {
	display: block
}

#header.fixed .wrp_header.open .con_title,
#header.fixed .wrp_header.open .gnav {
	opacity: 0
}

#fix_nav {
	opacity: 0;
	z-index: -50;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	-webkit-transition: opacity .2s ease-out;
	transition: opacity .2s ease-out
}


#fix_nav .box_nav {
	margin-top: 50px
}

#fix_nav .box_nav ul {
	width: 93%;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

#fix_nav .box_nav ul > li {
	width: 24%;
	margin-bottom: 40px
}

#fix_nav .box_nav ul > li a {
	display: block
}

@media only screen and (min-width: 1200px) {
	#fix_nav .box_nav ul > li a .img {
		background: #c5b170
	}
}

@media print {
	#fix_nav .box_nav ul > li a .img {
		background: #96c7d2
	}
}

#fix_nav .box_nav ul > li a .img img {
	width: 100%
}

@media only screen and (min-width: 1200px) {
	#fix_nav .box_nav ul > li a .img img {
		-webkit-transition: opacity 0.2s ease-out;
		transition: opacity 0.2s ease-out
	}
}

@media print {
	#fix_nav .box_nav ul > li a .img img {
		-webkit-transition: opacity 0.2s ease-out;
		transition: opacity 0.2s ease-out
	}
}

#fix_nav .box_nav ul > li a .txt {
	position: relative;
	margin: 8px 5px
}

#fix_nav .box_nav ul > li a .txt span {
	display: block
}

#fix_nav .box_nav ul > li a .txt span.en {
	color: #c5b170;
	font-size: 74%;
	margin-top: 3px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#fix_nav .box_nav ul > li a .txt span.en {
		font-size: 74%
	}
}

@media only screen and (max-width: 767px) {
	#fix_nav .box_nav ul > li a .txt span.en {
		font-size: 74%
	}
}

#fix_nav .box_nav ul > li a .txt:after {
	content: "\f3d3";
	font-family: "Ionicons";
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}

@media only screen and (min-width: 1200px) {
	#fix_nav .box_nav ul > li a:hover .img img {
		opacity: .6
	}
}

@media print {
	#fix_nav .box_nav ul > li a:hover .img img {
		opacity: .6
	}
}

#fix_nav .box_nav ul > li:first-child {
	width: 100%
}

#fix_nav .box_nav ul > li:first-child a .txt:after {
	content: none
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#fix_nav .box_nav {
		margin-top: 105px
	}
	#fix_nav .box_nav ul li {
		margin-bottom: 35px
	}
	#fix_nav .box_nav ul li a .txt span {
		line-height: 1.4
	}
}

#fix_nav .box_snav ul {
	width: 93%;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
}

#fix_nav .box_snav ul li {
	width: 16.66667%;
	text-align: center
}

#fix_nav .box_snav ul li a {
	display: block;
	border-right: 1px solid #54585a
}
#fix_nav .box_snav ul li a:hover {
	text-decoration: underline;
}

#fix_nav .box_snav ul li a span {
	font-size: 94%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#fix_nav .box_snav ul li a span {
		font-size: 94%
	}
}

@media only screen and (max-width: 767px) {
	#fix_nav .box_snav ul li a span {
		font-size: 107%
	}
}

#fix_nav .box_snav ul li a span.icon:after {
	content: "\f3ef";
	font-family: "Ionicons";
	margin-left: 5px
}

#fix_nav .box_snav ul li:last-child a {
	border-right: none
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#fix_nav .box_snav ul {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
	#fix_nav .box_snav ul li {
		width: 33.33333%;
		margin-bottom: 20px
	}
	#fix_nav .box_snav ul li:nth-child(3) a {
		border-right: none
	}
}

#fix_nav .box_contact {
	background-color: #c5b170;
	border-radius: 3px;
	padding: 25px 0;
	margin-top: 50px !important;
}

#fix_nav .box_contact .box_btn,
#fix_nav .box_contact .box_tel {
	width: 90%;
	margin: auto
}

#fix_nav .box_contact .box_btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

#fix_nav .box_contact .box_btn > p {
	width: 31.33333%
}

#fix_nav .box_contact .box_btn .btn_basic {
	margin-top: 0
}

#fix_nav .box_contact .box_btn .btn_basic a {
	color: #54585a !important;
	font-size: 100% !important;
	background-color: #fff !important;
	border: 1px solid #fff !important;
}
#fix_nav .box_contact .box_btn .btn_basic a:hover {
	color: #fff !important;
	font-size: 100% !important;
	background-color: #c5b170 !important;
	border: 1px solid #fff !important;
}

#fix_nav .box_contact .box_btn .btn_basic a svg {
	fill: #54585a;
	width: 27px;
	height: 29px;
	margin-right: 5px
}
#fix_nav .box_contact .box_btn .btn_basic a:hover svg {
	fill: #fff;
}

#fix_nav .box_contact .box_btn .btn_fair a {
	border: 1px solid #a00062 !important;
}
#fix_nav .box_contact .box_btn .btn_fair a:hover {
	color: #a00062 !important;
	background-color: #fff !important;
	border: 1px solid #a00062 !important;
}

#fix_nav .box_contact .box_btn .btn_fair a svg {
	fill: #fff;
	width: 29px;
	height: 29px;
	margin-right: 5px
}
#fix_nav .box_contact .box_btn .btn_fair a:hover svg {
	fill: #a00062;
}

#fix_nav .box_contact .box_tel {
	text-align: center;
	margin-top: 14px;
	color: #fff
}

#fix_nav .box_contact .box_tel > p .tel,
#fix_nav .box_contact .box_tel > p a {
	font-size: 174%;
	font-family: "Amiri Regular", "Times New Roman", Times, Garamond, Georgia, serif;
	margin: 0 15px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#fix_nav .box_contact .box_tel > p .tel,
	#fix_nav .box_contact .box_tel > p a {
		font-size: 174%
	}
}

@media only screen and (max-width: 767px) {
	#fix_nav .box_contact .box_tel > p .tel,
	#fix_nav .box_contact .box_tel > p a {
		font-size: 187%
	}
}

#fix_nav .box_contact .box_tel > p .tel:before,
#fix_nav .box_contact .box_tel > p a:before {
	content: "\f4b8";
	font-family: "Ionicons"
}

#fix_nav .box_contact .box_tel > p .reception {
	font-size: 94%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#fix_nav .box_contact .box_tel > p .reception {
		font-size: 94%
	}
}

@media only screen and (max-width: 767px) {
	#fix_nav .box_contact .box_tel > p .reception {
		font-size: 94%
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	#fix_nav .box_contact {
		margin-top: 30px
	}
	#fix_nav .box_contact .box_btn {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
	#fix_nav .box_contact .box_btn > p {
		width: 49%
	}
	#fix_nav .box_contact .box_btn > p.btn_fair {
		width: 100%;
		margin-top: 15px
	}
}

#fix_nav .box_sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 24px;
	margin-bottom: 30px
}

#fix_nav .box_sns a svg {
	fill: #54585a;
	width: 30px;
	height: 30px;
	margin-left: 25px
}

#fix_nav.open {
	opacity: 1;
	z-index: 100;
	overflow-y: scroll
}

@media only screen and (max-width: 767px) {
	.footer_pagetop {
		bottom: 80px;
	}
	#fix_nav {
		display: block
	}
	#fix_nav.open {
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch
	}
	#fix_nav .box_nav {
		margin-top: 40px
	}
	#fix_nav .box_nav ul li {
		width: 100%;
		margin-bottom: 0;
		border-bottom: 1px solid #c5b170
	}
	#fix_nav .box_nav ul li a .img {
		display: none
	}
	#fix_nav .box_nav ul li a .txt {
		margin: 17px 0
	}
	#fix_nav .box_nav ul li a .txt span {
		display: inline-block
	}
	#fix_nav .box_nav ul li a .txt span.t {
		margin-right: 10px;
		white-space: nowrap
	}
	#fix_nav .box_snav {
		margin-top: 40px !important
	}
	#fix_nav .box_snav ul {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
	#fix_nav .box_snav ul li {
		width: 50%;
		text-align: center;
		margin-bottom: 15px
	}
	#fix_nav .box_snav ul li a {
		border-right: none
	}
	#fix_nav .box_contact {
		margin-top: 30px
	}
	#fix_nav .box_contact .box_btn {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
	#fix_nav .box_contact .box_btn > p {
		width: 100%;
		margin-bottom: 5px
	}
	#fix_nav .box_contact .box_tel > p {
		line-height: 1.4
	}
	#fix_nav .box_contact .box_tel > p a {
		color: #fff
	}
	#fix_nav .box_sns {
		margin-bottom: 90px
	}
	#fix_nav .box_sns a svg {
		width: 24px;
		height: 24px
	}
}


element.style {
}




.wrapper-button-booking-mobile {
	display: none;
}




#gnav_sp {
	position: fixed;
	z-index: 400;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 70px
}

#gnav_sp ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-top: 1px solid #ececeb
}

#gnav_sp ul li {
	width: 24%;
	background-color: #fff
}

#gnav_sp ul li a {
	display: block;
	text-align: center;
	padding: 10px 0 16px;
	position: relative
}

#gnav_sp ul li a svg {
	display: block;
	fill: #54585a;
	width: 23px;
	height: 23px;
	margin: 0 auto 20px
}

#gnav_sp ul li a .txt {
	font-size: 11px;
	position: absolute;
	bottom: 14px;
	left: 0;
	right: 0
}

#gnav_sp ul li.tel .tel {
	display: block;
	text-align: center;
	padding: 10px 0 16px;
	position: relative
}

#gnav_sp ul li.tel .tel svg {
	width: 23px;
	height: 23px;
	display: block;
	margin: 0 auto 20px
}

#gnav_sp ul li.tel .txt {
	font-size: 12px;
	position: absolute;
	bottom: 14px;
	left: 0;
	right: 0
}

#gnav_sp ul li.writing {
	width: 30%
}

#gnav_sp ul li.fair a .wrp_menu svg {
	fill: #a00062
}

#gnav_sp ul li.fair a .wrp_menu span {
	color: #a00062
}

#gnav_sp ul li.menu {
	display: block;
	padding: 12px 0;
	cursor: pointer;
	position: relative
}

#gnav_sp ul li.menu span.top,
#gnav_sp ul li.menu span.mid,
#gnav_sp ul li.menu span.bottom {
	position: absolute;
	height: 2px;
	width: 24px;
	background-color: #54585a;
	left: 0;
	right: 0;
	margin: auto
}

#gnav_sp ul li.menu span.top {
	top: 16px;
	-webkit-transition: all .2s ease;
	transition: all .2s ease
}

#gnav_sp ul li.menu span.mid {
	top: 22px;
	-webkit-transition: all .2s ease;
	transition: all .2s ease
}

#gnav_sp ul li.menu span.bottom {
	top: 28px;
	-webkit-transition: all .2s ease;
	transition: all .2s ease
}

#gnav_sp ul li.menu span.en {
	position: absolute;
	bottom: 14px;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 12px
}

#gnav_sp ul li.menu.open span.top {
	-webkit-transform: translateY(6px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
	top: 16px
}

#gnav_sp ul li.menu.open span.mid {
	opacity: 0;
}

#gnav_sp ul li.menu.open span.bottom {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
	top: 28px
}

#bookRoom,
#bookTable {
	display: none;
}
