@charset "UTF-8";
/* ▼▼▼ 共通
======================================================*/
/* ▼ タイトル
----------------------------------------*/
.sec_title_img{
	position: relative;
	}
	.sec_title_img::before{
		content: "";
		display: block;
		width: 100%;
		height: 30px;
		background: #CCC2AC;
		position: absolute;
		bottom: 25px;
		left: 0;
		z-index: -1;
	}
	.sec_title_img img{
		margin-left: -25px;
	}

.sec_title_h3{
	margin-bottom: 20px;
	font-size: 47px;
	color: #4E1B1B;
	font-weight: 400;
	}
	.sec_title_h3 span.txt_pink{
		font-size: 50px;
		color: #DB6982;
		font-weight: 900;
	}
/* ▼ 注釈等
----------------------------------------*/
.txt_indent{
	padding-left: 20px;
	position: relative;
	}
	.txt_indent span{
		position: absolute;
		top: 0;
		left: 0;
	}
/* ▼  ご予約ボタン
----------------------------------------*/
.contact_box{
	justify-content: center;
	background: #CCC2AC;
	padding: 50px 20px;
	margin-bottom: 30px;
	}
	.contact_box p{
		width: 48%;
		max-width: 468px;
	}
	.contact_box p:not(:last-child){
		margin-right: 30px;
	}
	.contact_box p a{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 86px;
		border-radius: 25px;
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
		color: #fff;
		font-size: 26px;
		text-align: center;
		font-weight: bold;
	}
	.contact_box p.reservation_btn a{
		background: #DB6982;
		border: 1px solid #FFFFA0;
	}
	.contact_box p.tel_btn a{
		background: #5DA42F;
		border: 1px solid #fff;

	}

/* ▼▼▼ トップ
======================================================*/
.catch {
	margin-bottom: 40px;
}
 /* 期間限定 */
.limited{
	background: #ed6039;
	padding: 10px;
	color: #fff;
	font-size: 42px;
	text-align: center;
	font-weight: 500;
}

/* ▼ MIRACLE 01
----------------------------------------*/
#sec01{
	min-height: 400px;
	}
	#sec01 .txt{
		width: 50%;
	}
	#sec01 .photo{
		width: 50%;
		max-width: 600px;
		position: absolute;
		top: -100px;
		right: -30px;
	}
	#sec01 .txt_indent{
		max-width: 530px;
		font-size: 22px;
	}

/* ▼ MIRACLE 02
----------------------------------------*/
#sec02 .txt_box .sec_title_h3{
	flex: 1;
	margin-right: 20px;
	}
	#sec02 .txt_box div{
		flex: 1.25;
		margin-bottom: 30px;
	}
	#sec02 .txt_box div .txt_indent{
		font-size: 20px;
	}
	#sec02 .txt_box div .txt_indent:not(:last-child){
		margin-bottom: 20px;
	}
	#sec02 .photo_box{
		justify-content: space-between;
	}
	#sec02 .photo_box figure{
		width: 49%;
	}
	#sec02 .photo_box figure img{
		margin-bottom: 5px;
	}
	#sec02 .photo_box figcaption{
		font-size: 22px;
	}

/* ▼ MIRACLE 03
----------------------------------------*/
#sec03 .flex_box div{
	flex: 1;
	}
	#sec03 .flex_box div.txt{
		order: 2;
	}
	#sec03 .flex_box div p{
		font-size: 20px;
	}
/* ▼ MIRACLE 04
----------------------------------------*/
#sec04{
	background: #E8E2D5;
	margin-bottom: 20px;
	}
	#sec04 .sec_title_img{
		position: relative;
		z-index: 1;
	}
	#sec04 .sec_title_img::after{
		content: "";
		width: 100%;
		height: 102px;
		background: #fff;
		z-index: -1;
		position: absolute;
		top: 0;
		left: 0;
	}
	#sec04 .inner{
		background: #fff;
		margin-bottom: 20px;
		padding: 10px;
	}
	#sec04 .inner > div{
		flex: 1;
	}
	#sec04 .inner > div.txt{
		margin-left: 30px;
	}
	#sec04 .inner > div.txt p{
		margin-bottom: 25px;
		font-size: 25px;
	}
	#sec04 .inner > div.txt p:last-child{
		margin-bottom: 0;
	}
	#sec04 .inner > div.txt h3{
		margin-bottom: 10px;
		font-size: 41px;
		font-weight: 400;
	}
	#sec04 .inner > div.txt p.price{
		margin-bottom: 10px;
		font-size: 41px;
	}
	#sec04 .inner > div.txt p.price .large{
		line-height: 1;
	}
	#sec04 .inner > div.txt .details{
		max-width: 398px;
		margin: 0 auto 20px;
	}
	/* inner01 */
	.pre_shooting{
		margin-bottom: 10px;
		color: #4E1B1B;
		font-size: 47px;
	}
	.pre_shooting span{
		display: inline-block;
		width: 116px;
		height: 61px;
		background: #CCC2AC;
		margin-right: 10px;
		color: #fff;
		font-size: 41px;
		text-align: center;
	}
	#sec04 .inner01 > div.txt{
		margin-top: 35px;
	}
	#sec04 .inner01 > div.txt p.price .large{
		font-size: 120px;
	}
	#sec04 .inner01 > div.txt p.small{
		font-size: 22px;
	}
	/* inner02 */
	#sec04 .inner02 > div.photo{
		margin-top: 45px;
	}
	#sec04 .inner02 > div.txt p.price .large{
		font-size: 90px;
	}
	#sec04 .inner02 > div.txt p.price .tax{
		font-size: 31px;
	}
	/* inner03 */
	#sec04 .inner03{
		position: relative;
	}
	#sec04 .inner03 > div.photo .txt_indent{
		margin-top: 10px;
		font-size: 21px;
	}
	#sec04 .inner03 > div.photo{
		margin-top: 45px;
	}
	#sec04 .inner03 > div.txt .holiday .large{
		font-size: 38px;
		font-weight: 500;
	}
	#sec04 .inner03 > div.txt .holiday .small{
		font-size: 17px;
	}
	#sec04 .inner03 > div.txt .holiday .tax{
		font-size: 18px;
	}
	#sec04 .inner03 > div.txt p.price .large{
		font-size: 90px;
	}
	#sec04 .inner03 > div.txt .small{
		font-size: 22px;
	}
	#sec04 .inner03 .txt > .father{
		position: absolute;
		bottom: 20px;
		left: 20px;
	}
	#sec04 .inner03 .txt > .father p{
		margin-bottom: 10px;
		font-size: 22px;
	}
	#sec04 .inner03 .txt > .father .small{
		padding-left: 20px;
		font-size: 18px;
	}

/* ▼ MIRACLE 05
----------------------------------------*/
#sec05 .sec_title_h3{
	font-size: 51px;
	text-align: center;
	font-weight: 500;
	}
	#sec05 .sec_title_h3 span.txt_pink{
		font-weight: 500;
	}

/* ライトボックス
----------------------------------------*/
#cboxOverlay{
	background: rgba(0,0,0,.5);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	opacity: 1!important;
	}
	#cboxLoadedContent{
		margin: 0;
	}
	#cboxClose {
		background: url(../img/close_btn.jpg)no-repeat center/cover!important;
		width: 30px;
		height: 30px;
	}

/* ▼ スライダー
----------------------------------------*/
#mainVisual {
	width: 100%;
	max-width: 1000px;
	margin: 40px auto;
	position: relative;
}

.slider{
	display: none;
	font-size: 0;
	}
	.slider.slick-initialized{
		display: block;
	}
	.slick-slide{
		padding: 0 5px;
	}
	.slick-slide img{
		width: 100%;
	}

/* arrowsカスタム */
.slider .slick-prev,
.slider .slick-next{
	width: 24px;
	height: 47px;
	top: 50%;
	}
	.slider .slick-prev{
		left: 5px;
		z-index: 9;
	}
	.slider .slick-next{
		right: 5px;
		z-index: 9;
	}
	.slick-next:before{
		content: "";
		display: inline-block;
		width: 24px;
		height: 47px;
		background: url(../img/slide_arrow_next.jpg)no-repeat center/100%;
	}
	.slick-prev:before{
		content: "";
		display: inline-block;
		width: 24px;
		height: 47px;
		background: url(../img/slide_arrow_prev.jpg)no-repeat center/100%;
	}
	.slick-prev:before, .slick-next:before{
		opacity: 1;
	}

/* ▼ よくある質問 Q&A
----------------------------------------*/
#qa h2{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #CCC2AC;
	margin-bottom: 20px;
	height: 118px;
	color: #fff;
	font-size: 51px;
	font-weight: 500;
	}
	.qa_list{
		position: relative;
		background: #E8E2D5;
		padding: 30px;
		font-size: 30px;
	}
	.qa_list dt{
		margin-bottom: 5px;
		font-weight: 600;
	}
	.qa_list dt::before{
		content: "Q.";
	}
	.qa_list dd{
		margin-bottom: 50px;
	}
	.qa_list dd:last-child{
		margin-bottom: 0;
	}
	.qa_list dd::before{
		content: "A.";
		font-weight: 600;
	}
	.qa_list .more_btn{
		position: absolute;
		bottom: -20px;
		right: 20px;
	}
	.qa_list .more_btn a{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 284px;
		height: 54px;
		background: #CCC2AC;
		border-radius: 10px;
		color: #fff;
		font-weight: 500;
	}

/* ▼ komachi　店舗リスト
----------------------------------------*/
#shop_list h2{
	margin-bottom: 40px;
	}
	#shop_list > .flex_box > div{
		width: calc(50% - 20px);
		margin: 0 10px 40px;
	}
	#shop_list > .flex_box > div p:nth-child(1){
		margin-bottom: 10px;
	}
	#shop_list > .flex_box > div h3{
		font-size: 22px;
		text-align: center;
		font-weight: 400;
	}
	#shop_list > .flex_box > div p.tel-moji{
		font-size: 22px;
		text-align: center;
	}
	#shop_list > .flex_box > div p.tel-moji::before{
		display: inline-block;
		content: "TEL :";
		margin-right: 5px;
	}


/* ▼▼▼ 480px〜768px
======================================================*/
@media screen and (max-width: 768px) {

	/* ▼ タイトル
	----------------------------------------*/
		.sec_title_img::before{
			height: 15px;
			bottom: 12px;
		}
		.sec_title_img img{
			width: 50%;
			margin-left: -13px;
		}

	.sec_title_h3{
		margin-bottom: 10px;
		font-size: 24px;
		}
		.sec_title_h3 span.txt_pink{
			font-size: 25px;
		}
	/* ▼ 注釈等
	----------------------------------------*/
	.txt_indent{
		padding-left: 13px;
		}

	/* ▼  ご予約ボタン
	----------------------------------------*/
	.contact_box{
		padding: 20px;
		margin-bottom: 15px;
		}
		.contact_box p{
			width: 100%;
			max-width: 234px;
			margin: 0 auto;
		}
		.contact_box p:not(:last-child){
			margin: 0 auto 15px;
		}
		.contact_box p a{
			height: 45px;
			border-radius: 10px;
			font-size: 15px;
		}


	/* ▼▼▼ トップ
	======================================================*/
	.catch {
		padding: 0 5px;
		margin-bottom: 10px;
	}
	 /* 期間限定 */
	.limited{
		margin-bottom: 10px;
		font-size: 15px;
	}

	/* ▼ MIRACLE 01
	----------------------------------------*/
	#sec01{
		min-height: unset;
		}
		#sec01 .txt{
			width: 100%;
		}
		#sec01 .photo{
			width: 100%;
			position: initial;
		}
		#sec01 .txt_indent{
			font-size: 11px;
		}

	/* ▼ MIRACLE 02
	----------------------------------------*/
		#sec02 .txt_box div{
			margin-bottom: 15px;
		}
		#sec02 .txt_box div .txt_indent{
			font-size: 10px;
		}
		#sec02 .txt_box div .txt_indent:not(:last-child){
			margin-bottom: 10px;
		}
		#sec02 .photo_box figure{
			width: 100%;
			margin-bottom: 20px;
		}
		#sec02 .photo_box figure:last-child{
			margin-bottom: 0;
		}
		#sec02 .photo_box figcaption{
			font-size: 11px;
		}

	/* ▼ MIRACLE 03
	----------------------------------------*/
	#sec03 .flex_box div.photo{
		max-width: 230px;
		margin: 0 auto;
		}
		#sec03 .flex_box div p{
			font-size: 10px;
		}
	/* ▼ MIRACLE 04
	----------------------------------------*/
		#sec04 .sec_title_img::after{
			height: 48px;
		}
		#sec04 .inner > div.photo{
			margin-bottom: 10px;
		}
		#sec04 .inner > div.txt{
			margin: 0 auto;
		}
		#sec04 .inner > div.txt p{
			margin-bottom: 10px;
			font-size: 14px;
		}
		#sec04 .inner > div.txt h3{
			margin-bottom: 5px;
			font-size: 20px;
		}
		#sec04 .inner > div.txt p.price{
			background: #E8E2D5;
			margin-bottom: 5px;
			font-size: 20px;
		}
		#sec04 .inner > div.txt .details{
			margin: 0 auto 10px;
			position: relative;
		}
		#sec04 .inner > div.txt .details .sp{
			position: absolute;
			top: 15px;
			left: 20px;
			z-index: 9;
		}
		#sec04 .inner > div.txt .details .sp p{
			font-size: 12px;
		}
		#sec04 .inner > div.txt .details p{
			text-align: center;
		}
		/* inner01 */
		.pre_shooting{
			font-size: 23px;
		}
		.pre_shooting span{
			width: 58px;
			height: 30px;
			margin-right: 5px;
			font-size: 20px;
		}
		#sec04 .inner01 > div.txt{
			margin: 0 auto;
		}
		#sec04 .inner01 > div.txt p.price .large{
			font-size: 60px;
		}
		#sec04 .inner01 > div.txt p.small{
			font-size: 11px;
		}
		/* inner02 */
		#sec04 .inner02 > div.photo{
			margin-top: 0;
		}
		#sec04 .inner02 > div.txt p.price .large{
			font-size: 45px;
		}
		#sec04 .inner02 > div.txt p.price .tax{
			font-size: 15px;
		}
		/* inner03 */
		#sec04 .inner03 > div.photo .txt_indent{
			margin-top: 5px;
			font-size: 11px;
		}
		#sec04 .inner03 > div.photo{
			margin-top: 0;
		}
		#sec04 .inner03 > div.txt .holiday .large{
			font-size: 19px;
		}
		#sec04 .inner03 > div.txt .holiday .small{
			font-size: 17px;
		}
		#sec04 .inner03 > div.txt .holiday .tax{
			font-size: 10px;
		}
		#sec04 .inner03 > div.txt p.price .large{
			font-size: 45px;
		}
		#sec04 .inner03 > div.txt .small{
			font-size: 11px;
			text-align: center;
		}
		#sec04 .inner03 .txt > .mother{
			border-bottom: 1px solid #707070;
			margin: 20px auto 10px;
			padding-bottom: 5px;
			font-size: 10px;
			text-align: center;
			color: #707070;
		}
		#sec04 .inner03 .txt > .father{
			position: initial;
		}
		#sec04 .inner03 .txt > .father p{
			max-width: 235px;
			margin: 0 auto 10px;
			font-size: 11px;
		}
		#sec04 .inner03 .txt > .father .small{
			display: block;
			padding-left: 0;
			font-size: 10px;
			text-align: center;
		}

	/* ▼ MIRACLE 05
	----------------------------------------*/
	#sec05 .sec_title_h3{
		font-size: 25px;
		}


	/* ▼ スライダー
	----------------------------------------*/

	/* arrowsカスタム */
		.slider .slick-prev{
			left: 1px;
		}
		.slider .slick-next{
			right: 0px;
		}
		.slick-next:before{
			width: 15px;
			height: 29px;
		}
		.slick-prev:before{
			width: 15px;
			height: 29px;
		}

	/* ▼ よくある質問 Q&A
	----------------------------------------*/
	#qa{
		margin-bottom: 30px;
		}
		#qa h2{
			margin-bottom: 10px;
			height: 55px;
			font-size: 25px;
		}
		.qa_list{
			width: 95%;
			padding: 15px;
			font-size: 15px;
		}
		.qa_list dd{
			margin-bottom: 20px;
		}
		.qa_list dd:last-child{
			margin-bottom: 0;
		}
		.qa_list .more_btn{
			bottom: -15px;
			right: 10px;
		}
		.qa_list .more_btn a{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 140px;
			height: 27px;
			border-radius: 10px;
			font-size: 14px;
		}

	/* ▼ komachi　店舗リスト
	----------------------------------------*/
	#shop_list h2{
		max-width: 122px;
		margin: 0 auto 15px;
		}
		#shop_list > .flex_box > div{
			width: 90%;
			margin: 0 auto 20px;
		}
		#shop_list > .flex_box > div p:nth-child(1){
			margin-bottom: 5px;
		}
		#shop_list > .flex_box > div h3{
			font-size: 11px;
		}
		#shop_list > .flex_box > div p.tel-moji{
			font-size: 13px;
		}
		#shop_list > .flex_box > div p.tel-moji a{
			text-decoration: underline;
		}

}
