@charset "utf-8";
/* ===================================================
	meal CSS
====================================================== */
/* ---------------------------------------------------
main h2
------------------------------------------------------ */
[class$="_main"] h2{
	display: flex;
	flex-direction: column;
	align-items: center;
}
[class$="_main"] h2 .icon{
	margin-bottom: 20px;
	width: 128px; height: 128px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
[class$="_main"] h2 .icon:after{
	display: block; content: ''; width: 90px; height: 90px;
	top: calc( 50% - 45px); left: calc( 50% - 45px); position: absolute;
	background: #542653; transform: rotate(45deg);
}
[class$="_main"] h2 .icon span{
	color: #fff; font-size: 25px; line-height: 1;
	white-space: nowrap; position: relative; z-index: 1;
}

[class$="_main"] h2 .txt{
	line-height: 1.4;
	display: flex; flex-direction: column;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
}
[class$="_main"] h2 .txt small{ font-size: 22px;}
[class$="_main"] h2 .txt .sub{ font-size: 41px;}
[class$="_main"] h2 .txt .tit{ font-size: 52px;}

@media screen and (max-width: 600px) {
	[class$="_main"] { flex-direction: column;}
	[class$="_main"] h2 .icon{ width: 89.6px; height: 89.6px;}
	[class$="_main"] h2 .icon:after{
		 width: 63px; height: 63px;
		top: calc( 50% - 31.5px); left: calc( 50% - 31.5px);
	}
	[class$="_main"] h2 .icon span{ font-size: 20px;}
	[class$="_main"] h2 .txt{
		align-items: center; text-align: center;
		writing-mode: horizontal-tb; font-feature-settings: 'palt';
	}
	[class$="_main"] h2 .txt small{ margin-bottom: 5px; font-size: 16px;}
	[class$="_main"] h2 .txt .sub{ margin-bottom: 3px; font-size: 24px;}
	[class$="_main"] h2 .txt .tit{ font-size: 30px;}
}

/* ---------------------------------------------------
sec01_top
------------------------------------------------------ */
.sec01_top{
	padding-right: calc(50vw - 550px);
	width: 100%; height: 768px;  overflow: hidden;
	background: #000; position: relative;
}
.sec01_top::after{
	display: block; content: ''; width: 732px; height: 393px;
	left: calc( 50% + 343px); bottom: 0; position: absolute; z-index: 5;
	background: url(../../meal/img/sec01_top_pc.png) no-repeat left bottom;
	background-size: contain;
}

.sec01_main{
	display: flex; align-items: center;
	flex-direction: row-reverse;
	height: 100%; position: relative; z-index: 1;
}
.sec01_main h2 { position: relative; z-index: 2;}
.sec01_main h2 .txt{ color: #fff;}

.sec01_main .photo_col{
	width: 100%; height: 768px;
	top: 0; right: 23px; position: absolute;
	overflow: hidden;
}
.sec01_main .photo_col img{
	width: 1395px; max-width: 1395px; height: 768px;
	top: 0; right: 0; position: absolute;
}

@media screen and (max-width: 1304px) {
	.sec01_top{
		padding-right: 4vw;
	}
}
@media screen and (max-width: 600px) {
	.sec01_top{ padding-right: 0; height: auto;}
	.sec01_top::after{
		width: 50%; height: 414px;
		left: 50%; top: 0; bottom: auto; z-index: 1;
		background: url(../../meal/img/sec01_top_sp.png) no-repeat right top;
		background-size: 100% auto;
	}
	.sec01_main{
		padding-top: 7vw;
		justify-content: center;
		flex-direction: column;
	}
	.sec01_main .photo_col{
		height: auto;
		position: static;
		overflow: auto;
	}
	.sec01_main .photo_col img{
		width: 100%; max-width: 100%; height: auto;
		position: static;
	}
}

/* ---------------------------------------------------
sec01_1　料理長オリジナル会席料理
------------------------------------------------------ */
#sec01 .bg_col{ padding: 80px 0 100px;}

.sec01_1{
	margin-bottom: 80px;
	display: flex; justify-content: space-between;
	flex-direction: row-reverse;
}

.sec01_1 .photo_block{
	width: 540px;
	display: flex;
	justify-content: space-between;
}

.sec01_1 .photo_block p{
	padding-top: 30px;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
	position: relative;
}
.sec01_1 .photo_block p::before{
	display: block; content: ''; width: 1px; height: 14px;
	top: 0; left: calc(50% - 0.5px); position: absolute;
	background: #000;
}

.sec01_1 .txt_block{ width: calc(94% - 540px);}
.sec01_1 .txt_block p:not(:last-of-type){ margin-bottom: 35px;}
.sec01_1 .txt_block .cmn_linkbtn_01{
	width: calc(100% - 5px); padding: 0 15px;
}

@media screen and (max-width: 600px) {
	#sec01 .bg_col{ padding: 10vw 0;}
	.sec01_1{
		margin-bottom: 10vw;
		justify-content: center;
		flex-direction: column;
	}
	.sec01_1 .photo_block{ margin-bottom: 7vw; width: 100%;}
	.sec01_1 .photo_block .item{ height: 60vw; max-height: 300px;}
	.sec01_1 .photo_block .item img{ width: calc(100% - 30px); height: 60vw; max-height: 300px;}
	.sec01_1 .txt_block{ width: 100%;}
	.sec01_1 .txt_block p:not(:last-of-type){ margin-bottom: 35px;}
	.sec01_1 .txt_block .cmn_linkbtn_01{
		width: calc(100% - 5px); padding: 0 15px;
	}
	.sec01_1 .txt_block .cmn_linkbtn_01{
		padding: 8px 15px; height: auto;
		text-align: center; line-height: 1.4;
	}
}

/* ---------------------------------------------------
sec01_2　料理長の挨拶
------------------------------------------------------ */
.sec01_2{
	height: 440px;
	display: flex; justify-content: flex-end;
	flex-direction: row-reverse; overflow: hidden;
	background: #000 url(../../meal/img/sec01_2_bg_pc.jpg) no-repeat left bottom;
}

.sec01_2 .txt_block{
	padding: 50px; width: 550px;
	color: #fff;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
	box-sizing: border-box;
}

.sec01_2 .txt_block h3{ margin-left: 20px; font-size: 25px;}
.sec01_2 .txt_block p{ line-height: 3;}

.sec01_2 .photo_block{
	width: 510px;
	display: flex; justify-content: flex-end; align-items: flex-end;
	flex-direction: row-reverse;
}
.sec01_2 .photo_block .name{
	padding-bottom: 50px; width: 100px;
	color: #fff; font-size: 25px; line-height: 1.2;
	writing-mode: vertical-rl; font-feature-settings: 'palt' 0;
}
.sec01_2 .photo_block .name span{ font-size: 18px;}
.sec01_2 .photo_block .photo{
	width: calc(98% - 100px); max-width: 406px; height: 440px;
	position: relative; overflow: hidden;
}
.sec01_2 .photo_block .photo img{
	width: 406px; height: 407px;
	right: 0; bottom: 0; position: absolute;
	object-position: 100% 100%
}

@media screen and (max-width:  1196px) {
	.sec01_2 .txt_block{
		padding: 50px 5vw 50px 0; width: calc(100% - 510px);
	}
	.sec01_2 .photo_block .name{ width: 80px;;}
}
@media screen and (max-width: 600px) {
	.sec01_2{
		height: auto;
		flex-direction: column;
		overflow: auto;
		background: #000 url(../../meal/img/sec01_2_bg_sp.jpg) no-repeat left bottom;
	}
	.sec01_2 .txt_block{
		padding: 7vw 7vw 10vw; width: 100%;
		writing-mode: horizontal-tb; font-feature-settings: 'palt';
	}
	.sec01_2 .txt_block h3{
		margin: 0 0 5vw;
		font-size: 24px; text-align: center;
	}
	.sec01_2 .txt_block p{ line-height: 1.7;}
	.sec01_2 .photo_block{
		padding: 0 5vw; width: 100%;
		justify-content: center;
		box-sizing: border-box;
		position: relative;
	}
	.sec01_2 .photo_block .name{
		width: auto; font-size: 22px;
		top: 20px; right: 20px; position: absolute;
	}
	.sec01_2 .photo_block .name span{ font-size: 16px;}
	.sec01_2 .photo_block .photo{
		width: 100%; height: auto;
		text-align: center; overflow: auto;
	}
	.sec01_2 .photo_block .photo img{
		width: 80%; height: auto;
		position: static;
	}
}

/* ---------------------------------------------------
sec01_3 スタンダードプラン
------------------------------------------------------ */
.sec01_3{
	padding: 80px 0 90px;
	position: relative; overflow: hidden;
}
.sec01_3::after{
	display: block; content: ''; width: 1080px; height: 342px;
	right: 50%; bottom: 0; position: absolute; z-index: -1;
	background: url(../../meal/img/sec_bg_pc.png) no-repeat right top;
	background-size: 100% auto;
}

.sec01_3 .flex_col{ display: flex; justify-content: space-between;}

.sec01_3 .photo_block{ width: calc(94% - 340px);}

.sec01_3 .txt_block{ padding-top: 60px; width: 340px;}
.sec01_3 .txt_block h3{ margin-bottom: 25px; font-size: 23px;}
.sec01_3 .txt_block h3 + p{ margin-bottom: 35px;}
.sec01_3 .txt_block .cmn_linkbtn_01{ width: calc(100% - 5px);}

@media screen and (max-width: 600px) {
	.sec01_3{ padding: 10vw 0 12vw;}
	.sec01_3::after{
		width: 100%; height: 207px;
		left: 0; right: auto;
		background: url(../../meal/img/sec_bg_sp.png) no-repeat left bottom;
		background-size: contain;
	}
	.sec01_3 .flex_col{ flex-direction: column;}
	.sec01_3 .photo_block{ margin-bottom: 7vw; width: 100%;}
	.sec01_3 .photo_block img{ height: 60vw; max-height: 300px;}
	.sec01_3 .txt_block{ padding-top: 0; width: 100%;}
	.sec01_3 .txt_block h3{ margin-bottom: 5vw; font-size: 20px;}
	.sec01_3 .txt_block h3 + p{ margin-bottom: 7vw;}
	.sec01_3 .txt_block .cmn_linkbtn_01{ width: calc(100% - 5px);}
}

/* ---------------------------------------------------
sec01_4 別注料理
------------------------------------------------------ */
.sec01_4 .flex_col{
	display: flex; justify-content: space-between;
	flex-wrap: wrap;
}

.sec01_4 .item{
	margin-bottom: 80px;
	width: 46%; max-width: 500px;
}
.sec01_4 .item .photo{ margin-bottom: 25px;}
.sec01_4 .item h3{
	margin-bottom: 15px; font-size: 25px;
	text-align: center; line-height: 1;
}
.sec01_4 .item .price{
	margin-bottom: 15px; padding-bottom: 15px;
	font-size: 20px; text-align: center; line-height: 1;
	border-bottom: 2px solid #e1dbcb;
}
.sec01_4 .item .txt{ line-height: 2;}

@media screen and (max-width: 600px) {
	.sec01_4{ margin-bottom: 0;}
	.sec01_4 .flex_col{ flex-direction: column;}
	.sec01_4 .item{ margin-bottom: 10vw; width: 100%; max-width: 100%;}
	.sec01_4 .item .photo{ margin-bottom: 5vw;}
	.sec01_4 .item .photo img{ height: 60vw; max-height: 300px;}
	.sec01_4 .item h3{ font-size: 20px;}
	.sec01_4 .item .price{ font-size: 18px;}
	.sec01_4 .item .txt{ line-height: 1.7;}
}

/* ---------------------------------------------------
sec01_5　地酒・ワイン
------------------------------------------------------ */
.sec01_5{
	padding: 0 0 0 4%; height: 331px;
	display: flex; justify-content: space-between;
	flex-direction: row-reverse;
	background: #260f00; overflow: hidden;
}

.sec01_5 .photo_block{ width: 638px;}

.sec01_5 .slick-dotted.slick-slider{
	margin-bottom: 0; height: 331px;
}
.sec01_5 .slick-dots{
	text-align: right;
	right: 10px !important; bottom: 10px !important; position: absolute !important;
}
.sec01_5 .slick-dots li button::before { border: 1px solid #fff;}
.sec01_5 .slick-dots li.slick-active button::before {
	background: #fff !important;
}

.sec01_5 .txt_block{
	width: calc(94% - 638px); color: #fff;
	display: flex; justify-content: center;
	flex-direction: column;
}

.sec01_5 .txt_block h3{
	margin-bottom: 30px;
	font-size: 29px; line-height: 1;
}
.sec01_5 .txt_block h3 span{
	display: block; margin-bottom: 15px;
	font-size: 15px;
}
.sec01_5 .txt_block p{ line-height: 2;}

@media screen and (max-width: 600px) {
	.sec01_5{
		padding: 0; height: auto;
		flex-direction: column; overflow: auto;
	}
	.sec01_5 .photo_block{ width: 100%;}
	.sec01_5 .slick-dotted.slick-slider,
	.sec01_5 .slick-dotted.slick-slider img{ height: 60vw; max-height: 300px;}
	.sec01_5 .txt_block{ padding: 10vw 5vw 7vw; width: 100%;}
	.sec01_5 .txt_block h3{ margin-bottom: 7vw; font-size: 24px; text-align: center;}
	.sec01_5 .txt_block p{ line-height: 1.7;}
}

/* ---------------------------------------------------
sec02_main　朝食
------------------------------------------------------ */
#sec02{ padding: 100px 0;}

.sec02_main{
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.sec02_main h2{ margin-top: -30px; width: 128px;}
.sec02_main .photo_col{
	width: calc(96% - 128px);
	max-width: 900px;
}

.sec02_main + .flex_col{ margin-bottom: 80px;}
.sec02_main + .flex_col ul{
	margin-bottom: 20px;
	display: flex; justify-content: space-between;
}
.sec02_main + .flex_col li{ width: 32%; max-width: 350px;}

@media screen and (max-width: 600px) {
	#sec02{ padding: 10vw 0;}
	#sec02 .tit_en:first-child{ margin-bottom: 5vw;}
	.sec02_main{ margin-bottom: 10vw; flex-direction: column;}
	.sec02_main h2{ margin: 0 0 5vw; width: auto;}
	.sec02_main .photo_col{ width: 100%; max-width: 100%;}
	.sec02_main .photo_col img{ height: 60vw; max-height: 300px;}
	.sec02_main + .flex_col{ margin-bottom: 10vw;}
	.sec02_main + .flex_col ul{ margin-bottom: 5vw;}
	.sec02_main + .flex_col li{ width: 32%; max-width: 350px;}
}

/* ---------------------------------------------------
sec02
------------------------------------------------------ */
#sec02 .sec02{ padding: 70px 0;}

.sec02{
	display: flex; justify-content: space-between;
	flex-direction: row-reverse;
}

.sec02 .photo_block{ width: 620px;}

.sec02 .txt_block{
	width: calc(94% - 620px); height: 350px;
	display: flex; justify-content: center;
	align-items: center; flex-direction: column;
}
.sec02 .txt_block h2{
	margin-bottom: 20px; padding-bottom: 15px;
	width: 100%; border-bottom: 1px solid #d4ccb8;
}

#sec02 .msg{
	margin-top: 70px; font-size: 16px;
	text-align: center; letter-spacing: 0.2em;
}
#sec02 .msg a{ color: #542653; position: relative;}
#sec02 .msg a::after{
	display: block; content: ''; width: 100%; height: 1px;
	left: 0; bottom: -7px; position: absolute;
	background: #a992a9;
}
@media screen and (hover:hover) and (min-width: 601px) {
	#sec02 .msg a:hover::after{ display: none;}
}
@media screen and (max-width: 600px) {
	#sec02 .sec02{ padding: 10vw 0;}
	.sec02{ flex-direction: column;}
	.sec02 .photo_block{ margin-bottom: 5vw; width: 100%;}
	.sec02 .photo_block img{ height: 60vw; max-height: 300px;}
	.sec02 .txt_block{ width: 100%; height: auto;}
	.sec02 .txt_block h2{
		margin-bottom: 20px; padding-bottom: 15px;
		width: 100%; border-bottom: 1px solid #d4ccb8;
	}
	#sec02 .msg{
		margin-top: 12vw; line-height: 1.8;
		text-align: left; letter-spacing: 0;
	}
}

