@charset "utf-8";


/*------------------------------------------------------------
	
	
	product-xmas.css


------------------------------------------------------------*/


img {
	max-width: 100%;
}

.flex-box {
	display: flex!important;
	flex-wrap: wrap;
}

br.sp {
	display: block;
}

@media only screen and (min-width: 769px) {
	
	br.sp {
		display: none;
	}
	
}

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


/*------------------------------------------------------------
	カバー画像
------------------------------------------------------------*/

.cover-vis {
	background: #000;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	width: 100%;
	height: 80vw
}

@media only screen and (min-width: 769px) {
	
	.cover-vis {
		min-height: 600px;
		height: 45vw;
	}
	
}


/*------------------------------------------------------------
	商品説明
------------------------------------------------------------*/

.product .bg-brn {
	background: #593C32;
	width: 100%;
	padding: 30px 0 0;
}

.product .bg-brn .inner {
	color: #fff;
}

.product .inner .product_content {
	border-bottom: none;/*reset*/
}

@media only screen and (min-width: 769px) {
	
	.product .bg-brn .inner .product_content {
		width: 800px;
	}
	
}


.product .bg-brn .inner h2 {
    font-size: 160%;
    text-align: center;
    margin-bottom: 20px;
}

.product .bg-brn .inner h3 {
    font-size: 3.6vw;
    text-align: center;
    margin-bottom: 5px;
}

.product .bg-brn .inner h3:nth-of-type(2) {
	margin-top: 25px;
}
.product .bg-brn .inner p {
	font-size: 110%;
	line-height: 2;
	text-align: center;
}


@media only screen and (min-width: 769px) {
	
	.product .bg-brn .inner h2 {
	    font-size: 175%;
	}
	
	.product .bg-brn .inner h3 {
	    font-size: 140%;
	}
	
	.product .bg-brn .inner h3:nth-of-type(2) {
		margin-top: 35px;
	}
	
	.product .bg-brn .inner p {
		font-size: 120%;
		line-height: 2.2;
	}

	
}



/*概要テーブル*/
.product_detail {
	background: #fff;
	padding: 20px 25px;
	color: #725C56;
	margin-top: 30px;
}

.product_detail dl {
	font-size: 100%;
	border-bottom: 1px solid #ccc;
	padding-bottom: 30px;
}

.product_detail dl dt {
	font-weight: 600;
}

.product_detail dl dd {
	border-left: none;/*reset*/
	padding-left: 0;/*reset*/
}

.product_detail dl dd .red {
	color: #900;
}

@media only screen and (min-width: 769px) {
	
	.product_detail {
		width: 800px;
		padding: 40px 50px;
		margin-top: 0;
	}
	
	.product_detail dl dt {
		width: 180px;
	}
	
	.product_detail dl dd {
		width: 520px;
	}
	
	
		
}


/*備考*/
.product_caution {
    font-size: 100%;
    border: solid 1px #fff;
    margin: 30px auto 0;
    box-sizing: border-box;
}

.product .bg-brn .inner .product_caution p {
    font-size: 100%;
    line-height: 2;
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
}

.product .bg-brn .inner .product_caution p:not(:last-child) {
	margin-bottom: 5px;
}

@media only screen and (min-width: 769px) {
	
	.product_caution {
    	width: 800px;
		padding: 20px 30px 20px;
		margin: 50px auto 0;
    }

	
}


/*------------------------------------------------------------
	メールフォーム
------------------------------------------------------------*/

.bg-wht {
	width: 100%;
	padding: 50px 0 0;
}

@media only screen and (min-width: 769px) {
	
	.contact_form {
		width: 800px;
		margin: 0 auto;
	}
	
}

@media only screen and (min-width: 769px) {
	
	.contact_form dt,
	.contact_form dd {
		vertical-align: top;
	    line-height: 30px;
	}
	
	.contact_form .form-area-03 dt,
	.contact_form .form-area-03 dd {
		line-height: 45px;
		
	}

}

/*フォームステップ*/
.contact_form .form_step {
  width: 100%;	
}

@media only screen and (max-width: 769px) {
	
	.form_confirm .contact_form .form_step ul {
		margin-bottom: 0;
	}

}



.postid-2173 .form_step .step1,
.postid-2173.form_confirm .form_step .step2 {
    background: #583c32;
    border: solid 1px #583c32;
    color: #fff;
}

.postid-2173 .form_step .step1:after,
.postid-2173.form_confirm .form_step .step2:after {
    border-left-color: #583c32;
}
 
.postid-2173.form_confirm .form_step .step1 {
  background:#f3f3f3;
  border-color:#f3f3f3;
  color:#583c32;	
}

.postid-2173.form_confirm .form_step .step1:after {
   border-left-color:#f3f3f3;
   color:#583c32;
}




/*商品選択*/
.form-area-01 {
	border-bottom: 1px solid #ccc;
}

/*確認画面*/
.form_confirm .form-area-01 {
	border-bottom: none;
}


.form_confirm .form-area-01 dl {
	margin-bottom: 0;
	padding-bottom: 20px;
}

@media only screen and (min-width: 769px) {
	
	.form_confirm .contact_form dd {
		vertical-align: middle;
	}
	
}

.form-area-01 img {
	width: 100%;
}

.form-area-01 .item-img-pc {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 769px) {
	
	.form-area-01 .item-img-pc figcaption {
		margin-top: 10px;
	}

}


.flex-box:nth-child(2) {	
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
}


.flex-box .item-box span.item-name {
	display: block;
	font-size: 120%;
	font-weight: 600;
	margin: 12px 0;
}


.reservation_form .item div {
	width: 100%;
}

.reservation_form .item div {
	font-size: 100%;
}

.form_confirm .reservation_form {
    margin-top: -50px;
}



.flex-box .item-box select {
    width: 62px;
	margin-bottom: 10px;
}

/*確認画面*/
.form_confirm .flex-box .item-box select {
    width: 42px;
    text-align: right;
}

@media only screen and (max-width: 769px) {
	
	.form_confirm .flex-box .item-box select {
		padding: 13px 0 13px 30px;
	}
	
}

@media only screen and (min-width: 769px) {
	
	.flex-box .item-box select {
		width: 72px;
		margin-bottom: 10px;
	}
	
	.form_confirm .reservation_form {
	    margin-top: -60px;
	}

	
	.flex-box .item-box span.item-name {
		font-size: 110%;
		margin: 0 0 12px;
	}
}


/*合計金額*/
.form-area-02 {
	padding: 25px 0 0px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ccc;
}

/*確認画面*/
.form_confirm .form-area-02 {
	border-bottom: none;
	margin-bottom: 0;
}

.form_confirm .form-area-02 .reservation_price {
	padding-bottom: 25px;
}

@media only screen and (min-width: 769px) {
	
	.form-area-02 {
		padding: 35px 0 10px;
		margin-bottom: 40px;
	}
	
	.form_confirm .form-area-02 {
		padding: 15px 0 0;
	}

}

.form-area-02 dl dd {
	font-size: 115%;
	font-weight: 700;
    margin-top: 20px;
}



/*店舗選択*/
span.wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0;
}


.contact_form dd p span.email-confirm {
	display: block;
	font-size: 125%;
	font-weight: 600;
	margin: 15px 0 5px;
}


/*予約完了後のメッセージ表示*/
.end-message-box {
	font-size: 16px;
	padding: 20px;
	line-height: 2.4;
	text-align: center;
}

@media only screen and (min-width: 769px) {
	
	.end-message-box {
		font-size: 16px;
		padding: 60px;
	}
	
}



/*パスワード入力*/
.pw-input {
	width: 100%;
	margin: 45px auto 85px;
}

.product_content .pw-input p {
	text-align: center;
	margin-bottom: 10px;
}

.pw-input input[type="password"] {
	float: left;
	width: calc(100% - 120px);
	height: 50px;
	font-size: 125%;
	line-height: 1;
	padding: 15px;
	border-radius: 0;
	border: 1px solid #583c32;
	box-sizing: border-box;
}

.pw-input input[type="submit"] {
	background: #583c32;
	float: left;
	display: block;
	width: 120px;
	height: 50px;
	color: #fff;
	cursor: pointer;
	border: 1px solid #583c32;
	box-sizing: border-box;
	border-radius: 0;
}

.pw-input input[type="submit"]:hover {
	background: #4f3931;
}

@media only screen and (min-width: 813px) {
	
	.pw-input {
		max-width: 500px;
		margin: 180px auto 200px;
	}
	
	.pw-input input[type="password"] {
		width: calc(100% - 200px);
		height: 62px;
		font-size: 125%;
		padding: 20px 30px;
	}
	
	.pw-input input[type="submit"] {
		font-size: 115%;
		width: 200px;
		height: 62px;
	}
	
}
