@charset "utf-8";
/*
001: Page Title Block
002: Page Block
003: Contact Tel Block
004: Contact Form Block
*/
/*---------------------------------------
	001: Page Block
---------------------------------------*/
#section1 {
	height						: 100vh;
	height						: 360px;
}
#section1:before {
	display						: block;
	position					: fixed;
	top							: 0;
	width						: 100%;
	height						: 100%;
	z-index						: -1;
	content						: "";
}


/*---------------------------------------
	002: Page Title Block
---------------------------------------*/
#page_title_block {
	display						: -ms-flexbox;
	display						: flex;
	-ms-flex-wrap				: wrap;
	flex-wrap					: wrap;
	position					: relative;
}
#page_title_box {
	position					: absolute;
	top							: 160px;
	left						: 10px;
	right						: 0;
}
h1#main_title {
	display						: inline-block;
	font-family					: 'Frank Ruhl Libre', serif;
	font-size					: 40px;
	font-size					: 4.0rem;
	font-weight					: 300;
	color						: #FFF;
	margin-bottom				: 20px;
}
h1#main_title::before {
	position					: absolute;
	top							: 55px;
	left						: 0;
	width						: 70px;
	height						: 2px;
	background					: #FFF;
	content						: "";
}
p#sub_title {
	font-size					: 12px;
	font-size					: 1.2rem;
	color						: #EEE;
}


/*---------------------------------------
	003: Page Content Block
---------------------------------------*/
#section2 {
	position					: relative;
	background-image			: url(../images/bg/bg_page_top.png), url(../images/bg/bg_page_bottom.png), url(../images/bg/section_one.jpg);
	background-position			: right top, left bottom, center top;
	background-repeat			: no-repeat, no-repeat, repeat;
	background-size				: 280px, 280px, auto;
	padding-top					: 30px;
	padding-bottom				: 30px;
}
article#content_block {
	display						: -ms-flexbox;
	display						: flex;
	-ms-flex-wrap				: wrap;
	flex-wrap					: wrap;
	padding-left				: 0;
	padding-right				: 0;
}


/*---------------------------------------
	004: Page Content Title Block
---------------------------------------*/
h2#content_title {
    font-size						: 13px;
    font-size						: 1.3rem;
    font-weight						: 400;
    letter-spacing					: 2px;
	color							: #727285;
    margin-top						: 0;
    margin-bottom					: 25px
}
h2#content_title::after {
    display							: block;
    font-family						: 'Frank Ruhl Libre', serif;
    font-size						: 22px;
    font-size						: 2.2rem;
	color							: #525263;
    text-transform					: uppercase;
    letter-spacing					: 3px;
    margin-top						: 7px;
    content							: attr(data-title)
}
h2#content_title:before {
    position						: absolute;
    left							: 10px;
    top								: 55px;
    width							: 70px;
    height							: 2px;
	background						: #525263;
    content							: ""
}


/*---------------------------------------
	005: Step Block
---------------------------------------*/
#step_block {
	margin-bottom				: 50px;
}
.step_bar {
	position					: relative;
	font-size					: 0;
	list-style					: none;
	margin						: 0;
	padding						: 0;
	text-align					: center;
	width						: 100%;
	overflow					: hidden;
	*zoom						: 1;
}
.step_bar .step {
	position					: relative;
	float						: left;
	display						: inline-block;
	width						: 50%;
	line-height					: 16px;
	padding						: 0;
	background-color			: #eee;
	-moz-box-sizing				: border-box;
	-webkit-box-sizing			: border-box;
	box-sizing					: border-box;
	height						: 60px;
}
.step_bar .step h3 {
	font-size					: 14px;
	font-size					: 1.4rem;
	font-weight					: 500;
	margin						: 20px 0 0 0;
	padding						: 0;
}
.step_bar .step.current {
	background-image			: -webkit-linear-gradient(left, #525263, #727288);
	background-image			: -o-linear-gradient(left, #525263, #727288);
	background-image			: linear-gradient(right, #525263, #727288);
}
.step_bar .step.current:before,
.step_bar .step.current:after {
	background					: #eee;
}
.step_bar .step.current h3{
	color						: #FFF;
}
.step_bar .step:before,
.step_bar .step:after {
	position					: absolute;
	left						: -8px;
	display						: block;
	content						: '';
	background					: #eee;
	border-left					: 4px solid 727288;
	width						: 20px;
	height						: 30px;
}
.step_bar .step:after {
	top							: 0;
	-moz-transform				: skew(30deg);
	-ms-transform				: skew(30deg);
	-webkit-transform			: skew(30deg);
	transform					: skew(30deg);
}
.step_bar .step:before {
	bottom						: 0;
	-moz-transform				: skew(-30deg);
	-ms-transform				: skew(-30deg);
	-webkit-transform			: skew(-30deg);
	transform					: skew(-30deg);
}
.step_bar .step:first-child {
	-moz-border-radius-topleft			: 4px;
	-webkit-border-top-left-radius		: 4px;
	border-top-left-radius				: 4px;
	-moz-border-radius-bottomleft		: 4px;
	-webkit-border-bottom-left-radius	: 4px;
	border-bottom-left-radius			: 4px;
}
.step_bar .step:first-child:before,
.step_bar .step:first-child:after {
	content						: none;
}
.step_bar .step:last-child {
	-moz-border-radius-topright			: 4px;
	-webkit-border-top-right-radius		: 4px;
	border-top-right-radius				: 4px;
	-moz-border-radius-bottomright		: 4px;
	-webkit-border-bottom-right-radius	: 4px;
	border-bottom-right-radius			: 4px;
}


/*---------------------------------------
	006: Warning Block
---------------------------------------*/
#reservation_block {
	margin-bottom				: 60px;
}
#reservation_inblock {
	background					: #FFF;
	box-shadow					: 0 1px 2px rgba(20,20,20,0.2);
	padding						: 20px 10px;
}
ul#reservation_list {
	font-size					: 14px;
	font-size					: 1.4rem;
}
ul#reservation_list li a {
	color						: #b2b2d5;
}
ul#reservation_list li {
	position					: relative;
	margin-bottom				: 15px;
	padding-left				: 20px;
}
ul#reservation_list li:last-child {
	margin-bottom				: 0;
}
ul#reservation_list li:before {
	position					: absolute;
	left						: 0;
	top							: -5px;
	font-size					: 18px;
	font-size					: 1.8rem;
	color						: #525263;
	-webkit-background-clip		: text;
	-webkit-text-fill-color		: transparent;
	background-image			: -webkit-linear-gradient(left, #525263, #727288);
	background-image			: -o-linear-gradient(left, #525263, #727288);
	background-image			: linear-gradient(right, #525263, #727288);
	content						: "◆";
}


/*---------------------------------------
	007: Contact Form Block
---------------------------------------*/
#contact_form {}
.contact_form_block {
	margin-bottom				: 50px;
	overflow					: hidden;
}
.title_form {
	font-size					: 14px;
	font-size					: 1.4rem;
	font-weight					: 300;
}
span.required_form {
	font-size					: 12px;
	font-size					: 1.2rem;
	color						: #FFF;
	background					: #525263;
	margin-right				: 5px;
	padding						: 2px 15px;
}
span.wpcf7-form-control-wrap {
	height						: 60px;
	line-height					: 60px;
}
.contact_fi {
	margin-bottom				: 5px;
}
.contact_se input,
.contact_se select {
	height						: 60px;
	line-height					: 60px;
}
.contact_se textarea {
	height						: 360px;
	line-height					: 160%;
}
.contact_se input,
.contact_se select,
.contact_se textarea {
	font-size					: 16px;
	font-size					: 1.6rem;
	font-weight					: 300;
	width						: 100% !important;
	margin						: 0;
	padding-left				: 15px;
	color						: #444;
	background-color			: #FFF;
	border						: 1px solid #eee;
	border-radius				: 0px;
	-webkit-appearance			: none;
	-moz-appearance				: none;
	appearance					: none;
}
.contact_se input:focus,
.contact_se select:focus,
.contact_se textarea:focus {
	color						: #444;
	background-color			: #FFF;
	border						: 1px solid #b2b2d5;
	outline						: 0;
}
/*現金カード*/
fieldset {
    font-size					: 0;
    border					    : 0;
}
.radio_input {
	clip						: rect(1px, 1px, 1px, 1px);			/*要素のどの部分が可視であるかを定義*/
    position					: absolute !important;
}
.radio_label {
    display						: inline-block;
	background					: #EEE;
    font-size					: 16px;
    font-size					: 1.6rem;
	text-align					: center;
	color						: #525263;
	width						: 50%;
	height						: 60px;
	line-height					: 60px;
    border-radius				: 0px;
    transition					: all .2s;
}
.radio_input:checked + .radio_label {
	background-image			: -webkit-linear-gradient(left, #525263, #727288);
	background-image			: -o-linear-gradient(left, #525263, #727288);
	background-image			: linear-gradient(right, #525263, #727288);
    color						: #FFF;
}
.wpcf7-select {
	color						: #999;
	background					: #FFF;
}
.wpcf7 .wpcf7-not-valid {
	background					: #fdeff1;
	border						: 1px solid #f26d89;
}
/* 送信ボタン */
.wpcf7-submit {
	display						: block;
	position					: relative;
	cursor						: pointer;
	font-size					: 16px;
	font-size					: 1.6rem;
	font-weight					: 300;
	color						: #FFF;
	text-align					: center;
	text-decoration				: none;
	width						: 100%;
	height						: 60px;
	line-height					: 60px;
	margin-top					: 0px;
	margin-bottom				: 0px;
	padding						: 0;
	background					: #525263;
	border						: none;
	border-radius				: 0px;
	z-index						: 0;
}
.wpcf7-submit:hover {
	text-decoration				: none;
	opacity						: 1;
	color						: #FFF;
	background					: #727288;
	border						: none;
}


/*---------------------------------------
	008: Contact Reservation Sbmit Block
---------------------------------------*/
#reservation_box {
	padding						: 30px 0;
	margin-bottom				: 30px;
	background					: #FFF;
	box-shadow					: 0 1px 2px rgba(20,20,20,0.2);
}
#reservation_box {
}
h3#reservation_title {
	position					: relative;
	font-family					: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size					: 23px;
	font-size					: 2.3rem;
	font-weight					: 500;
	text-align					: center;
	color						: #525263;
	margin-bottom				: 60px;
	padding-top					: 80px;
}
h3#reservation_title:before {
	position					: absolute;
	top							: 0;
	left						: 0;
	right						: 0;
	width						: 60px;
	height						: 60px;
	background					: url("../images/svg/reservation/check.svg") no-repeat top center;
	margin						: 0 auto;
	content						: ""
}
p#reservation_text {
	font-size					: 16px;
	font-size					: 1.6rem;
	line-height					: 200%;
	padding						: 15px 10px
}
#more_block {
	padding-left				: 0;
	padding-right				: 0;
}
.view_more {
	display						: inline-block;
	position					: relative;
	font-size					: 16px;
	font-size					: 1.6rem;
	text-align					: center;
	text-decoration				: none;
	color						: #FFF;
    background					: #525263;
	width						: 100%;
	height						: 60px;
	line-height					: 60px;
	-moz-transition				: all 0.6s;
	-o-transition				: all 0.6s;
	-webkit-transition			: all 0.6s;
	transition					: all 0.6s;
	overflow					: hidden;
	z-index						: 0;
}
.view_more:hover {
	color						: #fff;
}
.view_more::after {
	position					: absolute;
	top							: 24px;
	right						: 10px;
	background					: url("../images/svg/view/arrow.svg") no-repeat right center / 12px 12px;
	width						: 12px;
	height						: 12px;
	content						: '';
	z-index						: 2;
}
.view_more::before {
	position					: absolute;
	top							: 0;
	left						: 0;
	width						: 120%;
	height						: 100%;
    background					: #727288;
	transform-origin			: left top;
	transform					: skewX(-30deg) scale(0, 1);
	transition					: transform .3s;
	content						: '';
	z-index						: -1;
}
.view_more:hover::before {
	transform-origin			: left top;
	transform					: skewX(-30deg) scale(1, 1);
}





@media only screen and (min-width: 768px) {
/*---------------------------------------
	001: Page Block
---------------------------------------*/
#section1 {
	height						: 100vh;
	height						: 500px;
}
#section1:before {
	content						: "";
	position					: fixed;
	top							: 0;
	display						: block;
	z-index						: -1;
	width						: 100%;
	height						: 100%;
}


/*---------------------------------------
	002: Page Title Block
---------------------------------------*/
#page_title_block {
	display						: -ms-flexbox;
	display						: flex;
	-ms-flex-wrap				: wrap;
	flex-wrap					: wrap;
	position					: relative;
}
#page_title_box {
	position					: absolute;
	top							: 220px;
	left						: 10px;
	right						: 0;
}
h1#main_title {
	display						: block;
	font-family					: 'Frank Ruhl Libre', serif;
	font-size					: 58px;
	font-size					: 5.8rem;
	color						: #FFF;
	font-weight					: 300;
    letter-spacing				: 2px;
	margin-bottom				: 20px;
}
h1#main_title::before {
	position					: absolute;
	top							: 73px;
	left						: 0;
	width						: 70px;
	height						: 2px;
    background					: #FFF;
	content						: "";
}
p#sub_title {
	font-size					: 13px;
	font-size					: 1.3rem;
	color						: #EEE;
}


/*---------------------------------------
	003: Page Content Block
---------------------------------------*/
#section2 {
	position						: relative;
	background-image				: url(../images/bg/bg_page_top.png), url(../images/bg/bg_page_bottom.png), url(../images/bg/section_one.jpg);
	background-position				: right top, left bottom, center top;
	background-repeat				: no-repeat, no-repeat, repeat;
	background-size					: 600px, 600px, auto;
	padding-top						: 60px;
	padding-bottom					: 60px;
}

/*---------------------------------------
	007: Contact Form Block
---------------------------------------*/
#contact_form {}
.contact_form_block {
	margin-bottom				: 80px;
}
}