@charset "UTF-8";

body{
	font-family: "Noto Serif JP", serif;
	font-style: normal;
	font-weight:500;
	font-size:16px;
	background:#26241D;
	color:#f3f3f3;
}
@media screen and (max-width: 768px){
	body{
		overflow-x: hidden;
	}
}

/*swiper*/
.slideshow { 
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100vh;
	z-index: 1;
}

.swiper-slide {
  width: 100%;
  /*height: 400px;*/
  overflow: hidden;
  padding: 2em;
}

.swiper-slide img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px){
	.swiper01 .swiper-slide{
		height:203px;
	}
	.swiper03 .swiper-slide{
		height:472px;
	}
}
@media screen and (min-width: 769px){
	.swiper01 .swiper-slide{
		height:752px;
	}
	.swiper02 .swiper-slide{
		height:572px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1300px){
	.swiper01 .swiper-slide{
		height:500px;
	}
}



/*common*/
.tate-txt{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	/*text-orientation: upright;*/
}
span.num-txt{
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}
section h2{
	font-family: "garamond-atf-subhead", serif;
	font-weight: 500;
	font-style: normal;
}
header,main,footer{
		overflow-x:hidden;
	}
@media screen and (max-width: 768px){
	header,main,footer{
		overflow-x:hidden;
	}
}

/*header/mv*/
header{
	position:relative;
}
header *:not(.slideshow){
	z-index:1;
}
header .mv_logo{
	position:absolute;
	top:90px;
	right:150px;
	width:181px;
	height:181px;
}
@media screen and (max-width: 768px){
	header .slideshow::before{
		content:"";
		display:block;
		position:absolute;
		top:514px;
		left:-150px;
		width:195px;
		height:812px;
		background:url("../images/deco_line_ul_sp.png") no-repeat 0 0 /cover;
		z-index:2;
	}
	header .mv_logo{
		top:28px;
		right:24px;
		width:78px;
		height:78px;
	}
	header .mv_logo::before{
		content:"";
		display:block;
		position:absolute;
		top:-610px;
		right:-89px;
		width:195px;
		height:812px;
		background:url("../images/deco_line_ur_sp.png") no-repeat 0 0 /cover;
	}
	header .mv_caption_wrap p{
		position:absolute;
		top:40%;
		right:50px;
		font-size:14px;
		line-height: 1.0;
		letter-spacing:0.2em;
		text-orientation: upright;
	}
	header .mv_caption_wrap p span{
		display: inline-block;
        background: #84785D;
        padding:1.2em 0.5em;
	}
	header .mv_caption_wrap p span:not(:last-of-type){
		margin-left: 0.5em;
	}
	header .mv_caption_wrap h1{
		position:absolute;
		bottom:180px;
		left:80px;
		line-height:2;
		letter-spacing:0.2em;
	}
	header .mv_caption_wrap h1 span.f14{
		font-size:14px;
	}
	header .mv_caption_wrap h1 span.f24{
		font-size:24px;
	}
	header .mv_caption_wrap h1 span.f18{
		font-size:18px;
	}
	header .mv_caption_wrap h1 span.main_caption{
		letter-spacing:0.4em;
		text-indent: 1.7em;
        display: block;
	}
	header nav{
		position:absolute;
		bottom:0;
		left:0;
		z-index:99 !important;
	}
	header nav ul{
		position:fixed;
		bottom:0;
		left:0;
		display:flex;
		flex-wrap:wrap;
		width:100%;
		z-index:99;
	}
	header nav ul li{
		line-height:44px;
		background:#A07B2D;
		font-size:12px;
		text-align:center;
	}
	header nav ul li:nth-of-type(1){
		width:70%;
	}
	header nav ul li:nth-of-type(2){
		width:30%;
		border-left:1px solid #fff;
	}
	header nav ul li a{
		display:block;
	}
}
@media screen and (min-width: 769px){
	header .slideshow ul.slick01 li.slick-slide img{
		object-fit: cover;
		height: 100vh;
	}
	header .mv_caption{
		position:absolute;
		top:317px;
		right:150px;
		color:#fff;
		font-size: 18px;
        line-height: 2.5;
        letter-spacing: 0.5em;
		text-orientation: upright;
	}
	header .mv_logo::before{
		content:"";
		display:block;
		position:absolute;
		top:-925px;
		right:-110px;
		width:338px;
		height:1323px;
		background:url("../images/deco_line_ur.png") no-repeat 0 0 /cover;
	}
	header .mv_caption span{
		display:inline-block;
	}
	header .mv_caption span:nth-of-type(2){
		text-indent:1.5em;
	}
	header .mv_caption span:nth-of-type(3){
		text-indent:7.5em;
	}
	header .mv_caption span:nth-of-type(4){
		text-indent:16em;
	}
	header nav{
		position:absolute;
		bottom:45px;
		left:50px;
	}
	header nav li a{
		position:relative;
		display:block;
		height:260px;
		padding-top:25px;
		color:#fff;
		line-height:65px;
		background:rgba(163,113,11,.87);
		transition:.5s all;
	}
	header nav li a span:nth-of-type(1){
		letter-spacing:0.15em;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright;
	}
	header nav li a:hover{
		background:rgba(255,255,255,.87);
		color:rgba(163,113,11,1);
		transition:.5s all;
	}
	header nav li a span:nth-of-type(2){
		position:absolute;
		bottom:15px;
		left:5px;
		right:5px;
		margin:0 auto;
		font-size:12px;
		text-align:center;
		line-height:1;
	}
}
@media screen and (min-width: 769px) and (max-width: 1200px){
	header .mv_logo{
		right:60px;
	}
	header .mv_caption{
		right:60px;
	}
}
@media screen and (min-width: 1025px) and (max-width: 1536px) and (max-height: 767px){
	header .slideshow{
		height:115vh;
	}
}

/*top*/
main.top .sec01{
	position:relative;
	background:url("../images/cont_bg.jpg") no-repeat 0 0 /cover;
}
main.top .sec01::before{
	content:"";
	display:block;
	position:absolute;
	top:-355px;
	right:0;
	width:230px;
	height:987px;
	background:url("../images/deco_line_dr.png") no-repeat 0 0 /cover;
	z-index:2;
}
main.top .sec01::after{
	content:"";
	display:block;
	position:absolute;
	bottom:115px;
	left:0;
	width:141px;
	height:511px;
	background:url("../images/deco_line_dl.png") no-repeat 0 0 /cover;
	z-index:2;
}
main.top .sec01_wrap{
	display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: center;
	max-width:1140px;
	margin:0 auto;
	padding:260px 0;
	color:#0A0504;
}
main.top .sec01_wrap h2{
	position:relative;
	top:-60px;
	letter-spacing:0.15em;
	margin-left: 60px;
}
main.top .sec01_wrap h3{
	font-size:28px;
	line-height:2.5;
	letter-spacing:0.3em;
	margin-left: 82px;
}
main.top .sec01_wrap h3 span{
	color:#A3710B;
	font-weight:600;
}
main.top .sec01_wrap figure{
	display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
}
main.top .sec01_wrap figure .introduction_img{
	position:relative;
	width:383px;
}
main.top .sec01_wrap figcaption{
	line-height: 3em;
    letter-spacing: 0.3em;
	margin-left:110px;
}
main.top .sec01_wrap figcaption span > span{
	display: inline-block;
    padding-bottom: 0.25em;
    position: relative;
    left: -0.17em;
}
@media screen and (max-width: 768px){
	main.top .sec01::before{
		top:-812px;
		right:-193px;
		width:230px;
		height:1010px;
		background:url("../images/deco_line_dr_sp.png") no-repeat 0 0 /cover;
	}
	main.top .sec01::after{
		top:293px;
		bottom: auto;
		left:-60px;
		width:108px;
		height:424px;
		background:url("../images/deco_line_dl_sp.png") no-repeat 0 0 /cover;
	}
	main.top .sec01_wrap{
		padding:100px 0 calc(75px - 8em);
	}
	main.top .sec01_wrap h2{
		top:-20px;
		font-size:10px;
		margin-left: 20px;
	}
	main.top .sec01_wrap h3{
		font-size:20px;
		margin-left:0;
	}
	main.top .sec01_wrap figure{
		display: block;
		margin-top:100px;
		position:relative;
		z-index:3;
	}
	main.top .sec01_wrap figure .introduction_img{
		width:70%;
	}
	main.top .sec01_wrap figcaption{
		position:relative;
		top:-8em;
		margin-left:auto;
		margin-right:60px;
		font-size:12px;
		line-height:1;
	}
	main.top .sec01_wrap figcaption > span{
		display:inline-block;
		background:rgba(255,255,255,.8);
		padding:5px;
	}
	main.top .sec01_wrap figcaption > span:not(:last-of-type){
		margin-left:1em;
	}
	main.top .sec01_wrap figcaption span > span {
		text-combine-upright: none;
        transform: rotate(-90deg);
        letter-spacing: 0;
        top: -0.1em;
        left: 0.14em;
	}
}
@media screen and (min-width: 769px){
	main.top .sec01_wrap figure .introduction_img{
		z-index:1;
	}
	main.top .sec01_wrap figure .introduction_img::before{
		content:"";
		display:block;
		position:absolute;
		bottom:-7px;
		left:-17px;
		width:100%;
		height:460px;
		background:#EAEAE7;
		z-index:-1;
	}
}
@media screen and (min-width: 769px) and (max-width: 1200px){
	main.top .sec01_wrap{
		padding: 260px 20px;
	}
	main.top .sec01_wrap figure{
		margin: 100px 20px 0;
	}
	main.top .sec01_wrap figcaption{
		margin-left: 50px;
	}
}

main.top .sec02_wrap{
	position:relative;
	background:#27251D;
	padding:103px 0 216px;
}
main.top .sec02_wrap h2{
	position:absolute;
	top:-152px;
	left:153px;
	letter-spacing:0.15em;
	padding-top: 80px;
    padding-right: 10px;
    color: #DFDFDE;
    border-right: 1px solid #fff;
	z-index:1;
}
main.top .sec02-01{
	padding-left:220px;
}
main.top .sec02-01 h3{
	font-size:28px;
	line-height:1.5;
	letter-spacing:0.1em;
}
main.top .sec02-01 p{
	margin-top: 30px;
    letter-spacing: 0.2em;
}
main.top .sec02-02{
	position:relative;
	margin-top:200px;
}
main.top .sec02-02 h3{
	position:absolute;
	top:-1em;
	left:275px;
	text-align:right;
	line-height:3em;
	letter-spacing:0.15em;
	z-index:2;
}
main.top .sec02-02 h3::before{
	content:"";
	display:block;
	position:absolute;
	top:2.8em;
	left:-275px;
	padding-left:275px;
	width:calc(100% + 275px);
	height:1px;
	border-bottom:1px solid #DFDFDE;
}
main.top .sec02-02 h3 span:nth-of-type(1){
	font-family: "garamond-atf-subhead", serif;
	font-weight: 500;
	font-style: normal;
	color:#dfdfdf;
}main.top .sec02-02 h3 span:nth-of-type(2){
	font-size:28px;
}
main.top .sec02-02 .slideshow{
	height:auto;
}
main.top .sec02-02 .slideshow li{
	margin:0 10px;
}
@media screen and (max-width: 768px){
	main.top .sec02_wrap{
		padding:65px 0 120px;
	}
	main.top .sec02_wrap h2 {
		top: -135px;
		left: 10px;
		font-size: 12px;
	}
	main.top .sec02-01 {
		padding-left: 50px;
		padding-right: 50px;
	}
	main.top .sec02-01 h3 {
		font-size: 24px;
		letter-spacing: 0.05em;
	}
	main.top .sec02-01 p {
		margin-top: 70px;
		font-size: 13px;
		line-height: 2.5;
	}
	main.top .sec02-02 {
		margin-top: 100px;
	}
	main.top .sec02-02 h3 {
		position: relative;
		top: 0;
		left: 20px;
		text-align: left;
		line-height: 2.5em;
	}
	main.top .sec02-02 h3::before{
		top:2.5em;
		left: -20px;
		padding-left: 0;
		width: 7em;
	}
	main.top .sec02-02 h3 span:nth-of-type(1){
		font-size: 12px;
	}
	main.top .sec02-02 h3 span:nth-of-type(2){
		font-size: 24px;
	}
	main.top .sec02-02 .slideshow {
		margin-top: 40px;
	}
}
@media screen and (min-width: 769px){
	main.top .sec02-02 .slideshow{
		margin-left:487px;
	}
}
@media screen and (min-width: 769px) and (max-width: 900px){
	main.top .sec02_wrap h2{
		left:60px;
	}
	main.top .sec02-01{
		padding-left: 120px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1000px){
	main.top .sec02-02 h3{
		left: 195px;
	}
	main.top .sec02-02 .slideshow{
		margin-left: 407px;
	}
}
@media screen and (max-width: 380px){
	main.top .sec02_wrap h2{
		top: -145px;
	}
	main.top .sec02-01 h3{
		font-size: 20px;
	}
}

main.top .sec03{
	background:url("../images/cont_bg.jpg") no-repeat 0 0 /cover;
}
main.top .sec03_wrap{
	position:relative;
	max-width:1247px;
	margin:0 auto;
	padding:215px 20px;
	color:#0A0504;
	display:flex;
	flex-wrap:wrap;
}
main.top .sec03_wrap h2{
	position:relative;
	top:-215px;
	left:auto;
	letter-spacing:0.15em;
	padding-top: 260px;
    padding-right: 10px;
    color: #26241D;
    border-right: 1px solid #26241D;
	height:308px;
}
main.top .sec03_wrap figure{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	width:calc(100% - 60px);
	margin-left:30px;
}
main.top .sec03_wrap figure .chef_img{
	width:40%;
}
main.top .sec03_wrap figcaption{
	width:57%;
}
main.top .sec03_wrap figcaption h3{
	margin-top:40px;
	font-size:22px;
	letter-spacing:0.1em;
}
main.top .sec03_wrap figcaption h3 span{
	margin-left:1em;
	font-size:32px;
	letter-spacing:0.15em;
}
main.top .sec03_wrap figcaption p{
	margin-top: 25px;
    letter-spacing: 0.1em;
    font-size: 15.5px;
}
@media screen and (max-width: 768px){
	main.top .sec03_wrap{
		padding:0;
		display:block;
	}
	main.top .sec03_wrap figure{
		display: block;
		width: 100%;
    	margin-left: 0;
	}
	main.top .sec03_wrap figure .chef_img{
		width:100%;
	}
	main.top .sec03_wrap figcaption {
		width: 100%;
		padding: 44px 44px 58px;
	}
	main.top .sec03_wrap h2{
		position: absolute;
		top: -50px;
		left: 10px;
		font-size: 12px;
		padding-top: 120px;
		color: #fff;
		border-right: 1px solid #fff;
		height: 154px;
	}
	main.top .sec03_wrap figcaption h3 {
		margin-top: 0;
		font-size: 16px;
	}
	main.top .sec03_wrap figcaption h3 span{
		font-size: 24px;
	}
	main.top .sec03_wrap figcaption p {
		margin-top: 30px;
		font-size: 13px;
		line-height: 2.2;
	}	
}
@media screen and (min-width: 769px){
	
}
@media screen and (min-width: 769px) and (max-width: 1260px){
	main.top .sec03_wrap figcaption h3{
		margin-top:0;
	}
}
/*footer*/
footer .footer_wrap{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	background:#26241D;
	padding-top:126px;
	margin:0 auto;
}
footer .footer_wrap figure{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
footer .footer_wrap figure .footer_logo{
	width:230px;
	margin-right:100px;
}
footer .footer_wrap figure .footer_logo a{
	display:block;
	transition:.5s all;
}
footer .footer_wrap figure .footer_logo a:hover{
	transition:.5s all;
	transform:scale(1.1,1.1);
}
footer .footer_wrap figcaption p.shop_name{
	font-size:24px;
}
footer .footer_wrap figcaption dl{
	margin-top:20px;
	display:flex;
	flex-wrap:wrap;
	max-width:331px;
}
footer .footer_wrap figcaption dt,
footer .footer_wrap figcaption dd{
	line-height:2.5;
	letter-spacing:0.2em;
}
footer .footer_wrap figcaption dt{
	width:6em;
}
footer .footer_wrap figcaption dd{
	width:calc(100% - 6em);
}
footer .footer_wrap figcaption ul.sns{
	margin-top:25px;
	display:flex;
	flex-wrap:wrap;
	max-width:331px;
}
footer .footer_wrap figcaption ul.sns li:not(:last-of-type){
	margin-right:10px;
}
footer .footer_wrap figcaption ul.sns li a{
	display:block;
	width:36px;
	transition:.5s all;
}
footer .footer_wrap figcaption ul.sns li a:hover{
	transition:.5s all;
	transform:scale(1.2,1.2);
}
footer .footer_wrap .information{
	margin-left:89px;
	padding:42px 0 34px;
	border:1px solid #fff;
	width:486px;
	text-align:center;
}
footer .footer_wrap .information .shop_information{
	font-size:20px;
	letter-spacing:0.15em;
}
footer .footer_wrap .information .shop_tel{
	margin-top:20px;
	font-size:36px;
	line-height:1;
	letter-spacing:0.15em;
}
footer .footer_wrap .information .shop_address{
	margin-top:10px;
	letter-spacing:0.15em;
}
footer .footer_wrap .information .shop_comment{
	margin-top:20px;
	font-size:12px;
	letter-spacing:0.15em;
}
footer p.copy{
	padding:200px 0 50px;
	font-size:12px;
	text-align:center;
}
@media screen and (max-width: 768px){
	footer .footer_wrap{
		padding:100px 20px 0;
		flex-direction:column-reverse;
	}
	footer .footer_wrap .information {
		margin-left: 0;
		padding: 32px 0;
		width: 100%;
	}
	footer .footer_wrap .information .shop_information {
		font-size: 16px;
	}
	footer .footer_wrap .information .shop_tel {
		margin-top: 12px;
		font-size: 32px;
	}
	footer .footer_wrap .information .shop_address{
		font-size: 13px;
	}
	footer .footer_wrap figure {
		justify-content: flex-start;
		flex-direction: column-reverse;
		margin-top:100px;
	}
	footer .footer_wrap figcaption{
		margin:0 24px;
	}
	footer .footer_wrap figcaption p.shop_name {
		font-size: 20px;
	}
	footer .footer_wrap figcaption dl {
		margin-top: 22px;
		width: 100%;
		max-width: initial;
	}
	footer .footer_wrap figcaption dt {
		width: 7em;
	}
	footer .footer_wrap figcaption dd {
		width: calc(100% - 7em);
	}
	footer .footer_wrap figcaption dt,
	footer .footer_wrap figcaption dd {
		font-size: 13px;
	}
	footer .footer_wrap figcaption ul.sns {
		margin-top: 34px;
		max-width: initial;
	}
	footer .footer_wrap figure .footer_logo {
		margin: 100px auto 0;
	}
	footer p.copy {
		padding: 45px 0 60px;
		font-size: 10px;
	}
}
@media screen and (min-width: 769px){
	footer .footer_wrap .information .shop_tel a{
		pointer-events:none;
		cursor:text;
	}
}
@media screen and (min-width: 769px) and (max-width: 1300px){
	footer .footer_wrap{
		flex-direction: column-reverse;
	}
	footer .footer_wrap figure{
		justify-content: center;
    	margin-top: 100px;
	}
	footer .footer_wrap .information{
		margin: 0 auto;
	}
}

/*disp*/
@media screen and (max-width: 768px){
	.disp_sp{
		display:block;
	}
	.disp_pc{
		display:none;
	}
}
@media screen and (min-width: 769px){
	.disp_sp{
		display:none;
	}
	.disp_pc{
		display:block;
	}
}




