@charset "utf-8";

/* ----------------------------------------------------------------------
 * RESET
 * ---------------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
input,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: 400;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
	display: block;
}

html {
	font-size: 62.5%;
	background: #fff;
}

.g-Body {
	color: #1d0208;
	font-family: 'Crimson Text', 'Noto Serif JP', sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: .025em;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
	-webkit-text-size-adjust: 100%;
	cursor: default;
}

.g-Body:after {
	content: '';
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: url(../../img/common/bg_01.jpg?_) repeat center / 100% auto;
	z-index: -10;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

input,
textarea {
	margin: 0;
	padding: 0;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

caption,
th {
	text-align: left;
}

a,
a:before,
a:after,
a img,
input[type="image"] {
	color: #1d0208;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.no-touch a:hover,
.no-touch a:visited:hover,
.no-touch a:hover img,
.no-touch a:visited:hover img,
.no-touch input[type="image"]:hover {
	text-decoration: none;
	opacity: 0.85;
}

a {
	-webkit-transition: all .2s;
	transition: all .2s;
}

a:focus {
	outline: none;
}

a:hover {
	opacity: 0.5;
}

img {
	max-width: 100%;
	height: auto;
	/*	image-rendering: -webkit-optimize-contrast;*/
}

button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

::-moz-selection {
	color: #fff;
	background: rgba(181, 154, 91, .5);
}

::selection {
	color: #fff;
	background: rgba(181, 154, 91, .5);
}




/* ----------------------------------------------------------------------
 * GLOBAL - UTILITY
 * ---------------------------------------------------------------------- */
.u-inner {
	max-width: 1080px;
	margin: 40px auto 0;
	position: relative;
	background-color: rgba(255, 255, 255, 0.8);
}

.u-inner--bg-none {
	background: transparent;
}

.u-show__mobile {
	display: none !important;
}

.u-hide__mobile {
	display: block !important;
}

.u-show__tablet {
	display: none !important;
}

.u-hide__tablet {
	display: block !important;
}

.u-hide_media {
	display: block !important;
}

/* ----------------------------------------------------------------------
 * GLOBAL - Font
 * ---------------------------------------------------------------------- */

.u-font-crimson {
	font-family: 'Crimson Text', serif;
}

.u-font-serif {
	font-family: 'Noto Serif Japanese', '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', serif;
}

.u-text-center {
	text-align: center;
}

.u-text-right {
	text-align: right;
}

.u-bg-clear {
	background: transparent;
}


/* ----------------------------------------------------------------------
 * GLOBAL - Table
 * ---------------------------------------------------------------------- */

.u-table {
	width: 100%;
	margin: 0 0 30px;
	border: 1px solid #ddd;
	position: relative;
}

.u-table-title {
	color: #000;
	line-height: 1.75;
	font-weight: 700;
	width: 200px;
	padding: 15px 0 15px 40px;
	background: #f3f3f3;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.u-table-item {
	line-height: 1.75;
	padding: 15px 0 15px 40px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	position: relative;
}




/* ----------------------------------------------------------------------
 * GLOBAL - Title
 * ---------------------------------------------------------------------- */

.l-section-subtitle {
	text-align: center;
	border-top: 3px double #000;
	border-bottom: 3px double #000;
	padding: 20px 0px;
	font-size: 2.5rem;
	margin: 0 0 40px 0;
	line-height: 1.4;
}

.
/* ----------------------------------------------------------------------
 * GLOBAL - Margin Padding
 * ---------------------------------------------------------------------- */

/* ----------------------------------------------------------------------
 * LAYOUT
 * ---------------------------------------------------------------------- */

.l-content {
	width: 100%;
	height: 100%;
}

.l-section_block {
	line-height: 1.6;
}

/* SNS */

.g-sns-list {
	/* float: right; */
	text-align: center;
}

.g-sns-list .e-item {
	display: inline-block;
}

.g-sns-list .e-link {
	width: 36px;
	height: 36px;
	margin: 0 0 0 10px;
	display: block;
	border-radius: 50%;
	background-size: 100% auto;
}

.g-sns-list .is-fb .e-link {
	background-image: url(../../img/common/sns_fb.png);
}

.g-sns-list .is-tw .e-link {
	background-image: url(../../img/common/sns_twi.png);
}

.g-map,
.g-location-map {
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 4100;
	display: none;
}

.g-map .e-image:after,
.g-location-map .e-image:after {
	content: '';
	width: 30px;
	height: 2px;
	background: #000;
	display: inline-block;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: -30px;
	right: -60px;
	right: 6px;
}

.g-map .e-image:before,
.g-location-map .e-image:before {
	content: '';
	width: 30px;
	height: 2px;
	background: #000;
	display: inline-block;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: -30px;
	right: -60px;
	right: 6px;
}

.g-location-map .e-image {
	width: 916px;
}

.l-cover {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, .95);
	z-index: 4000;
	display: none;
	cursor: pointer;
}

.g-wrap {
	overflow: hidden;
	position: relative;
	z-index: 10;
}

.l-btn_container {
	margin: 0 auto;
	margin-top: 40px;
}

.l-btn {
	text-align: center;
	position: relative;
	-webkit-transition: 0.5s;
}

.l-btn:before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 12px;
	background-image: url(../../img/common/arrow_W.png);
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	background-repeat: no-repeat;
	right: 20px;
	top: 40%;
	background-color: transparent;
	left: auto;
}

.l-btn :hover:before {


	content: '';
	display: inline-block;
	width: 8px;
	height: 12px;
	background-image: url(../../img/common/arrow_B.png);
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	background-repeat: no-repeat;
	right: 20px;
	top: 40%;
	background-color: transparent;
	left: auto;
}

.l-btn a {
	display: block;
	width: 100%;
	text-decoration: none;
	padding: 20px 0;
	color: #fff;
	background-color: rgba(5, 15, 30, 0.85);
	border: 1px solid #031d42;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.l-btn a:hover {
	color: #031d42;
	border: 1px solid #031d42;
	background: #fff;
}





/* ------------------------------------------------------------------------------------------------
 * Header
 * ------------------------------------------------------------------------------------------------ */
.g-header {
	width: 100%;
	height: 65px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	background: rgb(97, 89, 84);
	background: -webkit-gradient(linear, left top, right top, from(rgba(97, 89, 84, 1)), color-stop(50%, rgba(106, 97, 93, 0.9)), to(rgba(97, 89, 84, 0.9)));
	background: linear-gradient(90deg, rgba(97, 89, 84, 1) 0%, rgba(106, 97, 93, 0.9) 50%, rgba(97, 89, 84, 0.9) 100%);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3000;
	-webkit-backdrop-filter: blur(10px) brightness(150%) contrast(100%);
	backdrop-filter: blur(10px) brightness(150%) contrast(100%);
}

.g-header-logo {
	text-align: center;
	width: 130px;
	min-width: 130px;
	padding: 10px 20px 0;
}














.g-header-title {
	padding: 5px 0 0;
	position: absolute;
	top: 0;
	left: 0;
}

.g-header-name {
	padding: 42px 0 0 20px;
	display: table-cell;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: scaleX(.9);
	-ms-transform: scaleX(.9);
	transform: scaleX(.9);
}

.g-header-name .e-link {
	color: #bd9d6d;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-decoration: none;
	position: relative;
}

.g-header .g-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.g-header .g-nav-item {
	position: relative;
}

.g-header .g-nav-item:before {
	content: '';
	width: 1px;
	height: 15px;
	background: rgba(255, 255, 255, .15);
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.g-header .g-nav-item:first-child:before {
	content: none;
}

.g-header .g-nav-item .c-new:after {
	content: "NEW";
	color: #fff;
	background: #924848;
	font-size: 1.2rem;
	padding: 1px;
	display: block;
	top: -17px;
	left: 20%;
	margin: 0 auto;
	width: 60%;
	text-align: center;
	/*	-webkit-transform: scale(0.9);
	-ms-transform: scale(0.9);
	transform: scale(0.9);*/
	position: absolute;
	letter-spacing: 0.1rem;
}


.g-header .g-nav-item a {
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	text-decoration: none;
	letter-spacing: 0;
	padding: 0 10px;
	-webkit-transform: scale(.005deg);
	-ms-transform: scale(.005deg);
	transform: scale(.005deg);
}

.g-nav-item--off > * {
	pointer-events: none;
	opacity: .2;
}

.g-header-inquiry {
	text-align: center;
	text-shadow: 0px 1px 1px #000000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.g-header-inquiry-item {
	display: block;
	padding: 42px 0 10px;
	font-size: 1.2rem;
	text-decoration: none;
	position: relative;
	color: #fff;
}

.g-header-inquiry-item .is-pamphlet {
	position: relative;

}

.g-header-inquiry-item .is-pamphlet:before {
	content: '';
	width: 32px;
	height: 24px;
	display: inline-block;
	background: url(../../img/common/header-pamphlet.png) no-repeat center / 100% auto;
	top: -30px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	position: absolute;
}

.g-header-inquiry-item .is-catalog {
	position: relative;

}

.g-header-inquiry-item .is-catalog:before {
	content: '';
	width: 21px;
	height: 23px;
	/* margin: 0; */
	display: inline-block;
	background: url(../../img/common/header_catalog.png) no-repeat center / 100% auto;
	top: -30px;
	right: 35%;
	position: absolute;
}

.g-header-inquiry-item .is-visit {
	position: relative;
}

.g-header-inquiry-item .is-visit:before {
	content: '';
	width: 21px;
	height: 21px;
	/* margin: 0; */
	display: inline-block;
	background: url(../../img/common/header_visit.png) no-repeat center / 100% auto;
	top: -30px;
	right: 17px;
	position: absolute;
}

.g-header-inquiry-item .is-guide:before {
	content: '';
	width: 21px;
	height: 21px;
	/* margin: 0; */
	display: inline-block;
	background: url(../../img/common/header-guide.png) no-repeat center / 100% auto;
	top: -30px;
	right: 20px;
	position: absolute;
}

.g-header-inquiry-item .is-guide {
	position: relative;
}

.g-header-inquiry-sp {
	display: none;
}

.g-nav-wrap {
	padding: 6px 20px 6px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/*
.g-nav-wrap li:last-child {
	display: none;
}
*/

.is-pamphlet_btn {
	width: 190px;
	background: -webkit-gradient(linear, left top, left bottom, from(#916633), to(#78552a));
	background: linear-gradient(to bottom, #916633 0%, #78552a 100%);
}

.is-catalog_btn {
	width: 100px;
	/*	background: linear-gradient(to bottom, #924848 0%, #6d0d1e 100%);*/
	background: #661a1a;
}

.is-visit_btn {
	width: 100px;
	background: -webkit-gradient(linear, left top, left bottom, from(#16437d), to(#0e213e));
	background: linear-gradient(to bottom, #16437d 0%, #0e213e 100%);
}

.is-guide_btn {
	width: 100px;
	/*	background: linear-gradient(to bottom, #82775b 0%, #605944 100%);*/
	background: #70664b;
}


/* ------------------------------------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------------------------------------ */

.g-footer {
	/*	color: #fff;
	width: 100%;
	min-width: 1400px;
	display: block;
	background: rgba(189,157,109,.975);
	z-index: 3500;*/
	opacity: 1;
	background: #fff;
	font-size: 1.3rem;
	position: relative;
	z-index: 20;
}

.g-footer-inner {
	width: 100%;
	padding: 0 60px;
	position: relative;
	z-index: 100;
}

/* menu button */

.g-footer-nav_button {
	width: 100px;
	height: 100px;
	background: #bd9d6d;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 200;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	cursor: pointer;
	display: none;
}

.no-touch .g-footer-nav_button:hover {
	opacity: .8;
}

.g-footer-nav_button:after {
	content: 'MENU';
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	letter-spacing: .1em;
	width: 100%;
	display: inline-block;
	position: absolute;
	bottom: 25px;
	left: 0;
}

.g-footer-nav_button .e-line {
	display: block;
	width: 50px;
	height: 3px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -7px);
	-ms-transform: translate(-50%, -7px);
	transform: translate(-50%, -7px);
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	z-index: 10;
}

.g-footer-nav_button .e-line.is-top {
	width: 40px;
	margin-top: -10px;
}

.g-footer-nav_button .e-line.is-bottom {
	width: 40px;
	margin-top: 10px;
}

.is-footer-open .g-footer-nav_button:after {
	content: 'CLOSE';
}

.is-footer-open .g-footer-nav_button .e-line.is-top {
	margin-top: auto;
	-webkit-transform: translate(-50%, -7px) rotate(-135deg);
	-ms-transform: translate(-50%, -7px) rotate(-135deg);
	transform: translate(-50%, -7px) rotate(-135deg);
}

.is-footer-open .g-footer-nav_button .e-line.is-center {
	opacity: 0;
}

.is-footer-open .g-footer-nav_button .e-line.is-bottom {
	margin-top: auto;
	-webkit-transform: translate(-50%, -7px) rotate(135deg);
	-ms-transform: translate(-50%, -7px) rotate(135deg);
	transform: translate(-50%, -7px) rotate(135deg);
}

.g-footer-menu {
	margin: 0 0 25px;
	padding: 30px 0 0;
}

.g-footer-menu-title {
	font-size: 1.6rem;
	font-weight: 700;
	vertical-align: -.5em;
	letter-spacing: .125em;
	padding: 0 30px 0 0;
	display: inline-block;
}

.g-footer-request-button-wrap {
	letter-spacing: -.4em;
	display: inline-block;
}

.g-footer-request-button-item {
	display: inline-block;
}

.g-footer-request-button-item .e-link {
	color: #fff;
	font-size: 1.3rem;
	font-weight: 400;
	text-align: center;
	text-decoration: none;
	letter-spacing: .1em;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 1);
	width: 160px;
	height: 30px;
	padding: 9px 0 0;
	display: block;
	-webkit-box-shadow: inset 0 0 5px 0 rgba(0, 0, 0, .25);
	box-shadow: inset 0 0 5px 0 rgba(0, 0, 0, .25);
}

.g-footer-request-button-item.is-request .e-link {
	background-color: #b21d1d;
}

.g-footer-request-button-item.is-reservation .e-link {
	background-color: #1d83b2;
}

.g-footer-request-button-item.is-map .e-link {
	height: 30px;
	background: #999;
}

.g-footer .g-nav {
	width: 100%;
	margin: 0 0 30px;
}

.g-footer .g-nav-wrap {
	letter-spacing: -.4em;
	border-right: 1px solid rgba(255, 255, 255, .2);
}

.g-footer .g-nav-item {
	letter-spacing: 0;
	width: calc(100% / 9.001);
	display: inline-block;
}

.g-footer .g-nav-item--outline,
.g-footer .g-nav-item--guide {
	display: none;
}

.g-footer .g-nav-item .e-link {
	/*color: #ddd;*/
	font-size: 1.3rem;
	/*	text-align: center;*/
	text-decoration: none;
	/*padding: 15px 0;*/
	display: block;
	/*	background: rgba(0, 0, 0, .5);*/
}

.g-footer-useful {
	display: table;
}

.g-footer-useful:after {
	content: '';
	display: block;
	clear: both;
}

.g-footer-useful-title {
	width: 20%;
	padding: 20px 0 0 20px;
	border: 2px solid #b5a27c;
	display: table-cell;
	position: relative;
}

.g-footer-useful-title:after {
	content: 'Useful information';
	font-family: 'Crimson Text', serif;
	color: #000;
	font-size: 1.8rem;
	font-weight: 700;
	font-style: italic;
	text-align: right;
	letter-spacing: -.025em;
	background: #b5a27c;
	width: calc(100% + 10px);
	margin: 0 -5px;
	padding: 5px 10px;
	display: inline-block;
	position: absolute;
	top: 80px;
	left: 0;
	-webkit-transform: skewY(-5deg);
	-ms-transform: skewY(-5deg);
	transform: skewY(-5deg);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.g-footer-useful-title .e-sub {
	color: #b5a27c;
	font-size: 1.3rem;
	margin: 0 0 5px;
	display: block;
}

.g-footer-useful-title .e-main {
	color: #b5a27c;
	font-size: 2.2rem;
	font-weight: 700;
	display: block;
}

.g-footer-useful-wrap {
	letter-spacing: -.4em;
	padding: 0 0 0 10px;
	display: table-cell;
}

.g-footer-useful-item {
	letter-spacing: 0;
	width: calc(25% - 20px);
	margin: 0 0 0 20px;
	display: inline-block;
	border-bottom: 1px solid #3b3b3b;
}

.g-footer-useful-item:nth-child(-n + 4) {
	border-top: 1px solid #3b3b3b;
}

.g-footer-useful-item .e-link {
	color: #fff;
	font-size: 1.3rem;
	text-decoration: none;
	padding: 17px 0 17px 30px;
	display: block;
	position: relative;
}

.g-footer-useful-item .e-link:before {
	content: '';
	width: 4px;
	height: 4px;
	display: inline-block;
	border: 4px solid transparent;
	border-left: 4px solid #b4b4b4;
	position: absolute;
	top: 50%;
	left: 10px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.g-footer-info {
	margin: 30px -60px 0;
	background: #fff;
}

.g-footer-info:after {
	content: '';
	display: block;
	clear: both;
}

.g-footer-info-merchant-wrap {
	float: left;
	display: table;
}

.g-footer-info-merchant-item {
	min-width: 247px;
	text-align: center;
	vertical-align: middle;
	display: table-cell;
	border-right: 1px solid #ddd;
}

.g-footer-info-merchant-item .e-link {
	text-decoration: none;
	min-height: 100px;
	padding: 20px 25px 0;
	display: block;
}

.g-footer-info-merchant-item .e-caption {
	font-size: 1rem;
}

.g-footer-info-merchant-item:nth-child(2) .e-caption {
	margin: 0 0 13px;
}

.g-footer-info-merchant-item.is-hapia-link .e-link {
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: underline;
	padding-top: 45px;
}

.no-touch .g-footer-info-merchant-item.is-hapia-link .e-link:hover {
	text-decoration: none;
}

.g-footer-info-tel {
	color: #000;
	padding: 20px 130px 0 30px;
	float: right;
	position: relative;
}

.g-footer-info-tel:before {
	content: '';
	width: 20px;
	height: 100px;
	background: -webkit-gradient(linear, left top, right top, from(#ffffff), to(#f4f4f4));
	background: linear-gradient(to right, #ffffff 0%, #f4f4f4 100%);
	display: inline-block;
	position: absolute;
	top: 0;
	left: -20px;
}

.g-footer-info-tel-title {
	font-size: 1.2rem;
	letter-spacing: .075em;
	margin: 0 0 5px;
}

.g-footer-info-tel-number {
	color: #a11316;
	font-size: 3.4rem;
	letter-spacing: -.025em;
	padding: 0 15px 0 35px;
	display: inline-block;
	background: url(../../img/common/icon-tel-01.png) no-repeat left 0 top 10px / 31px auto;
}

.g-footer-info-tel-time {
	font-size: 1.1rem;
	line-height: 1.35;
	padding: 3px 0 0;
	display: inline-block;
}

.g-footer-info-tel .e-desc {
	font-size: 1rem;
	position: absolute;
	bottom: -16px;
	left: 30px;
}

.g-footer-pagetop {
	text-align: center;
	width: 100px;
	position: fixed;
	bottom: 50px;
	right: 0;
	z-index: 50;
	opacity: .8;
	-webkit-transition: all .2s;
	transition: all .2s;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}

.fp-viewing-contents-keyvisual .g-footer-pagetop,
.fp-viewing-l-kv .g-footer-pagetop,
.is-footer-open .g-footer-pagetop {
	opacity: 0;
}

/*
.g-footer-pagetop:before {
	content: 'PAGETOP';
	color: #000;
	font-size: 1rem;
	text-shadow: 0 0 5px #fff,
	0 0 10px #fff,
	0 0 15px #fff;
	display: block;
}
*/

.g-footer-pagetop .e-link {
	display: block;
	margin-bottom: 15px;
}


.g-footer {
	/*	color: #1d0208;
	width: 100%;
	min-width: 1400px;
	display: block;
	background: #fff;*/
	/* z-index: 3500; */
}

.g-footer_container {
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	width: 100%;
	border-bottom: 1px solid #dddddd;
	padding: 20px 0px 20px 0;
}

.g-footer_container.is-menu {
	padding: 0;
}

.g-footer_container.is-recommend {}

.g-footer_recommend {
	letter-spacing: -.5rem;
	margin: 0 -10px 0 0;
	width: 60%;
	float: right;
	overflow: hidden;
	text-align: right;
}

.g-footer_recommend li {
	display: inline-block;
	width: 33.3%;
	letter-spacing: 0.8px;
	padding: 0 10px 0 0;
	-webkit-transition: all .2s;
	transition: all .2s;
}

.g-footer_recommend li a {
	text-decoration: none;
	color: #fff;

}

.g-footer_recommend li:hover {
	opacity: 0.8;
}

.g-footer_recommend_item {
	font-size: 1.7rem;
	position: relative;
	padding: 20px;
	text-align: left;
}

.g-footer_recommend_item:before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 12px;
	background-image: url(../../img/common/arrow_W.png);
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	background-repeat: no-repeat;
	right: 10.5%;
	top: 40%;
}

.g-footer_recommend_item:after {
	content: "";
	border: solid 1px #fff;
	position: absolute;
	top: 2px;
	left: 2px;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
}

.g-footer_recommend_item.is-catalog {
	background: #63141e;
	background: -webkit-gradient(linear, left top, right top, from(#63141e), color-stop(50%, #924848), to(#63141e));
	background: linear-gradient(to right, #63141e 0%, #924848 50%, #63141e 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#63141e', endColorstr='#63141e', GradientType=1);
	text-shadow: 0px 1px 1px #000000;

}

.g-footer_recommend_item.is-visit {
	background: #031d42;
}

.g-footer_recommend_item.is-guide {
	background: #605944;
	background: -webkit-gradient(linear, left top, right top, from(#605944), color-stop(50%, #82775b), to(#605944));
	background: linear-gradient(to right, #605944 0%, #82775b 50%, #605944 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#605944', endColorstr='#605944', GradientType=1);
	text-shadow: 0px 1px 1px #000000;
}

.g-footer_recommend li:nth-child(2) {}

.g-footer_recommend__note {
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.35;
	text-align: center;
	margin: .75em 0 0;
	display: block;
}

.f-footer_logo {
	width: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.f-footer_logo img {
	width: 20%;
}

.f-footer_logo p {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 10px 0px 0px 10px;
	font-size: 1.8rem;
	color: #b59a5b;
	font-weight: bold;
	letter-spacing: -0.1rem;
}

.g-footer_inner {
	max-width: 1080px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.f-footer_menu {
	display: block;
	letter-spacing: -.5rem;
	width: 100%;
	text-align: center;
}

.f-footer_menu li {
	display: inline-block;
	width: 10%;
	letter-spacing: -0.5px;
	text-align: center;
	position: relative;
	letter-spacing: -0.05rem;
}

.f-footer_menu li:before {
	content: '';
	width: 1px;
	height: 15px;
	background: #ddd;
	display: inline-block;
	position: absolute;
	bottom: 18px;
	left: 1px;
	/*opacity: .25;*/
}

.f-footer_menu li:first-child:before {
	content: none;
	background: none;
}

.f-footer_menu li:last-child {
	border-right: none;
	position: relative;
}

.f-footer_menu li a {
	text-decoration: none;
	display: block;
	padding: 20px 0;
}

.footer-address li {
	font-size: 1.2rem;
	line-height: 1.5;
	display: table-cell;
	padding: 0 10px 0 0;
	vertical-align: middle;
}

.footer_tel {
	font-size: 4.2rem;
	letter-spacing: -0.2rem;
}

.g-footer_container.is-canpany {
	text-align: center;
	border-bottom: none;
}

.footer-conpany {
	display: block;
	letter-spacing: -.5rem;
	text-align: left;
}

.footer-conpany li {
	display: inline-block;
	padding: 0 30px 0 0;
	text-align: left;
	width: 33.3%;
	letter-spacing: 0.8px;
}

.footer-conpany li:nth-child(1) {
	width: 200px;
}

.footer-conpany li:nth-child(2) {
	width: 200px;
}

.footer-conpany .footer-logo {
	padding-top: 10px;
}

.is-credit {
	display: none;
}

.footer-address {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.footer-address .footer_flee_tel {
	width: 50px;
}

.footer-address {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.g-footer_address {
	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;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.g-footer_logo_hoc {
	display: inline-block;
	width: 70%;
}


.conpany_list {
	width: 100%;
}


/* ------------------------------------------------------------------------------------------------
 * HAPIA Navigation - footer
 * ------------------------------------------------------------------------------------------------ */

.g-hapia-nav {
	width: 100%;
	/*	min-height: 120px;*/
	/*	padding: 0 120px 0 40px;*/
	background: rgb(28, 1, 8);
	background: -webkit-gradient(linear, left top, right top, from(rgba(28, 1, 8, 1)), color-stop(50%, rgba(51, 2, 8, 1)), to(rgba(28, 1, 8, 1)));
	background: linear-gradient(90deg, rgba(28, 1, 8, 1) 0%, rgba(51, 2, 8, 1) 50%, rgba(28, 1, 8, 1) 100%);
	position: relative;
	z-index: 10;
}

.g-hapia-nav-wrap {
	padding: 20px 0;
	/*float: left;*/
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto;
}

.g-hapia-nav-item {
	margin: 0 35px;
	padding: 5px 10px 0 10px;
	display: inline-block;
	position: relative;
	/*border-right: 1px solid #444b56;*/
}

.g-hapia-nav-item:after {
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 1px #ddd;
	border-right: solid 1px #ddd;
	position: absolute;
	left: -5px;
	top: 6px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.g-hapia-nav-item:last-child {
	border-right: none;
}


.g-hapia-nav-item .e-link {
	color: #cbcbcb;
	font-size: 1.2rem;
	letter-spacing: .15em;
	text-decoration: none;
}

.g-hapia-nav-copyright {
	color: rgba(255, 255, 255, .75);
	float: none;
	font-size: 1.1rem;
	letter-spacing: .2em;
	padding: 20px 0;
	border-top: 1px solid #0f322b;
	background: rgba(0, 0, 0, .3);
	display: block;
	width: 100%;
	text-align: center;
}

.g-hapia-nav h1 {
	color: #fff;
	text-align: center;
	font-size: 1rem;
	padding: 20px 0 20px 0;
	border-bottom: 1px solid #333;
	line-height: 1.4;
}

.g-map,
.g-location-map {
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 4100;
}

.g-map {
	width: 100%;
	height: 100%;
	display: none;
	overflow-y: scroll;
}

.g-map-inner {
	text-align: center;
	padding: 60px 0;
}

.g-map-inner .e-img {
	width: 50%;
}

.g-map-inner .e-button {
	padding: 60px 0 0;
	display: block;
}

.g-map-inner .e-button input {
	font-size: 2rem;
	font-weight: 700;
	padding: 10px 40px;
	border-radius: 10px;
	border: 2px solid #999;
	cursor: pointer;
	-webkit-transition: .2s;
	transition: .2s;
}

.g-map-inner .e-button input:hover {
	color: #fff;
	background: #999;
}

.is-map-open {
	overflow: hidden;
}

.g-map .e-close-button {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 60px;
	right: 40px;
}

.g-map .e-close-button:after {
	content: '';
	width: 40px;
	height: 3px;
	background: #000;
	display: inline-block;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 0;
}

.g-map .e-close-button:before {
	content: '';
	width: 40px;
	height: 3px;
	background: #000;
	display: inline-block;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	right: 0;
}

.l-cover {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, .95);
	z-index: 4000;
	display: none;
	cursor: pointer;
}










/* ------------------------------------------------------------------------------------------------
 * Content Layout
 * ------------------------------------------------------------------------------------------------ */

.c-content-wrap {
	width: 960px;
	margin: 0 auto;
	padding: 40px 0 0;
}

.c-content-wrap:after {
	content: '';
	display: block;
	clear: both;
}

.c-main_section {
	width: 700px;
	float: left;
}

.c-side-section {
	width: 216px;
	padding-bottom: 40px;
	float: right;
}




/* ------------------------------------------------------------------------------------------------
 * Content Title
 * ------------------------------------------------------------------------------------------------ */

.g-content-title {
	padding: 0 0 30px;
}

.g-content-title .e-title {
	color: #000;
	font-size: 3.4rem;
	text-align: center;
	padding: 50px 0 0;
}




/* ------------------------------------------------------------------------------------------------
 * Breadcrumb
 * ------------------------------------------------------------------------------------------------ */

.g-breadcrumb {
	width: 100%;
	position: absolute;
	z-index: 100;
}

.g-breadcrumb .u-inner {
	padding: 20px 0 0;
}

.g-breadcrumb .e-item {
	padding: 0 25px 0 0;
	display: inline-block;
	position: relative;
}

.g-breadcrumb .e-item:after {
	content: '';
	width: 4px;
	height: 7px;
	display: inline-block;
	/*
	background: url(/_assets/img/common/breadcrumb-arrow.png) no-repeat center / 100% auto;
*/
	position: absolute;
	top: 3px;
	right: 8px;
}

.g-breadcrumb .e-item:last-child:after {
	display: none;
}

.g-breadcrumb .e-link {
	color: #ddd;
}

.g-breadcrumb .e-item:last-child .e-link {
	color: #fff;
}

.no-touch .g-breadcrumb .e-link:hover {}




/* ------------------------------------------------------------------------------------------------
 * Local page
 * ------------------------------------------------------------------------------------------------ */
.l-headline {
	min-height: 400px;
}

.l-content-title {
	position: absolute;
	top: 30px;
	left: 30px;
}

.l-content-title .e-sub {
	font-size: 2.8rem;
	font-weight: 200;
	letter-spacing: -.025em;
	position: relative;
}

.l-content-title .e-sub:after {
	content: '';
	width: 2px;
	height: 130px;
	background: rgba(0, 0, 0, .25);
	position: absolute;
	top: -15px;
	right: -20px;
	-webkit-transform: rotate(30deg);
	-ms-transform: rotate(30deg);
	transform: rotate(30deg);
}

@media all and (-ms-high-contrast: none) {
	.l-content-title .e-sub:after {
		top: -50px;
	}
}

.l-content-title .e-main {
	font-size: 3rem;
	font-weight: 300;
	letter-spacing: 0;
	padding: 50px 0 0 30px;
	display: inline-block;
}

.l-content-catch {
	font-size: 4rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 50px;
	padding: 100px 0 0;
}

.is-color-white .e-sub,
.is-color-white .e-main,
.is-color-white .l-content-catch {
	color: #fff;
}

.is-color-white .l-content-title .e-sub:after {
	background: rgba(255, 255, 255, .5);
}


/* ------------------------------------------------------------------------------------------------
* ADD
* ------------------------------------------------------------------------------------------------ */

.section-title {
	text-align: center;
	border: 3px double #1d0208;
	padding: 15px 0;
	color: #1d0208;
	background-image: url(../../img/common/corner_rt.png),
		url(../../img/common/corner_lt.png),
		url(../../img/common/corner_rb.png),
		url(../../img/common/corner_lb.png);
	background-position: right 2px top 2px,
		left 2px top 2px,
		right 2px bottom 2px,
		left 2px bottom 2px;
	background-repeat: no-repeat,
		no-repeat,
		no-repeat,
		no-repeat;
	margin: 0 0px 40px 0;
	line-height: 1.4;
	position: relative;
}

.section-title_eng {
	font-size: 3rem;
	/*font-weight: bold;*/
	letter-spacing: .15em;
	padding-bottom: 3px;
}

.section-title_jp {
	font-size: 1rem;
	letter-spacing: .5em;
}

.section-title.is-white {
	background-image: url(../../img/common/corner_rt_w.png),
		url(../../img/common/corner_lt_w.png),
		url(../../img/common/corner_rb_w.png),
		url(../../img/common/corner_lb_w.png);
}

.u-sp-zoom {
	color: rgba(0, 0, 0, .5);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	width: 100%;
	margin: 15px 0 0;
	padding: 7px 10px;
	display: block;
	background: rgba(100, 100, 100, .2);
	border-radius: 50px;
}

.l-subtitle .section-title {}


.l-subtitle {
	width: 100%;
	padding: 65px 0 0;
	background: rgb(28, 1, 8);
	background: -webkit-gradient(linear, left top, right top, from(rgba(28, 1, 8, 1)), color-stop(50%, rgba(51, 2, 8, 1)), to(rgba(28, 1, 8, 1)));
	background: linear-gradient(90deg, rgba(28, 1, 8, 1) 0%, rgba(51, 2, 8, 1) 50%, rgba(28, 1, 8, 1) 100%);
}

.l-subtitle .u-inner {
	background: transparent;
	padding: 40px 40px;
	margin: 0 auto;
}

.l-subtitle .section-title {
	margin: 0 auto;
	border-color: #979797;
	color: #cdcdcd;
}

/* Add ログイン関連のCSS */
.l-loginEnter {
	color: #fff;
	text-shadow: 0 1px 4px #000;
	margin: 60px -40px -40px;
	padding: 40px 0;
	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;
	background: url("../../../login/_assets/img/bg-01.jpg") no-repeat left 50% top 10% / 100% auto;
}

.l-loginEnter > div:nth-child(1) {
	padding: 0 30px 0 0;
}

.l-loginEnter em {
	font-size: 1.8rem;
	letter-spacing: .1em;
	display: block;
}

.l-loginEnter small {
	font-size: 1.1rem;
	line-height: 1.5;
	text-indent: -1em;
	margin: 10px 0 0;
	padding: 0 0 0 1em;
	display: block;
	opacity: .75;
}

.l-loginEnter__button {
	position: relative;
}

.l-loginEnter__button a {
	font-family: 'Crimson Text', 'Noto Serif JP', sans-serif;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.5;
	text-decoration: none;
	letter-spacing: .15em;
	padding: 1.25em 2.5em 1.25em 2em;
	-webkit-box-shadow:
		0 0 10px 0 #fff,
		0 0 40px 0 #fff,
		0 0 50px 0 #fff;
	box-shadow:
		0 0 10px 0 #fff,
		0 0 40px 0 #fff,
		0 0 50px 0 #fff;
	display: block;
	background: #6b0f12 url("../../../login/_assets/img/arrow-01.png") no-repeat right 16px top 50% / 7px auto;
	-webkit-transition: .3s cubic-bezier(0.75, 0, 0.35, 1);
	transition: .3s cubic-bezier(0.75, 0, 0.35, 1);
}

.l-loginEnter__button a:hover {
	background-color: #000;
}

.l-loginEnter__button small {
	text-shadow: none;
	color: #000;
	letter-spacing: 0;
	white-space: nowrap;
	text-align: center;
	width: 100%;
	display: block;
	position: absolute;
	bottom: -10px;
	left: 50%;
	-webkit-transform: translate(-50%, 100%);
	-ms-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
}

.l-specialMovie__player {
	padding: 0 60px;
}

.l-specialMovie__playerInner {
	padding: 56.25% 0 0;
	position: relative;
}

.l-specialMovie__player video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/*note*/
.u-note ul li {
	font-size: 1.1rem;
	line-height: 1.25;
	text-indent: -1em;
	margin: .25em 0 0;
	padding: 0 0 0 1em;
}
