@charset "UTF-8";

*{
	margin:0;
	padding:0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-ms-transition: all .5s ease;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
html{
	font-size: 10px;
	font-size: 62.5%;
}
/* html, body {height: auto;min-height: 100vh;} */
body, h1, h2, h3, h4, h5, h6, blockquote, p, form,iframe{margin: 0;padding: 0;}
h1, h2, h3, h4, h5, h6{font-weight: bold;}
ul,li{list-style:none;margin:0;padding:0;}
ol li{list-style-position:outside;padding:0;}
li ul, li ol{padding: 0;}
img{
	border: 0;
	width: auto;
	max-width: 100%;
	-webkit-transition: all 0.25s ease;
					transition: all 0.25s ease;
}
h1{margin: 0; padding: 0;}
del {text-decoration: line-through;}
a{
	color: #bc3624;
	-webkit-transition: all 0.25s ease;
					transition: all 0.25s ease;
}
a::before,a::after{
	-webkit-transition: all 0.25s ease;
					transition: all 0.25s ease;
}
blockquote{
	margin: 0 0 0 5px;
	padding: 3px 0 3px 10px;
	border-left: 2px solid #DDD;
}
th{font-weight: normal;}
select,
input,
button,
textarea,
select,
button {
	font-size: 100%;
}
sup{vertical-align: super;}
strong, b{font-weight: 500;}

body {
/* 	font-family: 'Noto Sans JP', Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; */
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: left;
	text-align: justify;
	text-justify: inter-ideograph;
	-webkit-text-size-adjust: 100%;
/* 	-webkit-font-smoothing: antialiased; */
	position: relative;
	color: #111;
	letter-spacing: 0.03em;
	margin: 0 auto;
	word-break: break-all;
}

@media (max-width: 767px) {
	body {font-size: 16px;font-size: 1.6rem;}
}

.vertical{writing-mode: vertical-rl;
align-items: center;}
.serif{font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;}

/* =====
 * header
 * ===== */
#header{background-color: #0a0a0a;padding: 25px 0;}
#header h1{width: 200px;}
#header h1 a,#header h1 a img{display: block;}
#header_inner{width: 100%;max-width: 1040px;margin: 0 auto; padding: 0 20px;}
@media (max-width: 767px) {
	#header{padding: 13px 0;}
	#header h1{width: 136px;}
	#header_inner{padding: 0 10px;}
}


/* =====
 * contents
 * ===== */

.contents section{position: relative; overflow: hidden;}

#contents{position: relative;width: 100%;margin: 0;padding: 0;}
.container{position: relative;margin: 0 auto;padding: 0;width: 90%;max-width: 960px;}
.container-mini{position: relative;margin: 0 auto;padding: 0;width: 80%;max-width: 720px;}

/* メインビジュアル */
#mainimg {position: relative;margin: 0;padding: 0;width: 100%;background-color: #000;}
#mainimg-body{width: 100%;max-width: 1440px;margin: 0 auto;overflow: hidden;}
#mainimg-body img{position: relative;display: block;width: 100%;}
#mainimg .keytxt{width: 40%; position: absolute; top:70px; left: 30%; text-align: center;}
@media (max-width: 767px) {
	#mainimg .keytxt{width: 80%; position: absolute; top:calc(100vw / (800 / 237)); left: 10%; text-align: center;}
}

/* 導入 */
#index-01{position: relative;padding: 50px 0 120px;background: url(../img/index-01-back-pc.jpg) no-repeat center top;background-size: cover;}

#index-01-txt{width: 90%;max-width: 700px;max-height: 400px;margin: 0 auto; display: flex; flex-direction: row-reverse; justify-content: center;
}
#index-01-txt h1{width:90px; margin-left: 45px;}
#index-01-txt p{ padding-top: 30px; margin-right: 1em; font-size: 21px;font-size: 2.1rem;writing-mode: vertical-rl;}
#index-01-img{width: 100%;height: 403px;margin-top: 20px;background: url(../img/index-01-01.png) no-repeat center bottom;background-size: auto 100%;}
#index-01-txt p span {
   text-combine-upright: all;
}
@media (max-width: 767px) {
	#index-01{padding: 40px 0 80px;background-image: url(../img/index-01-back-sp.jpg);}
	#index-01-txt{width: 90%}
	#index-01-txt h1{margin-left: 10px;width: 80px;}
	#index-01-txt h1 img{width: 100%;}
	#index-01-txt p{ padding-top: 20px; margin-right: 0.6em;  line-height: 1.5; font-size: 19px;font-size: 1.9rem;}
	#index-01-img{height: 295px;margin-top: 10px;}
}

/* おすすめ */
#recommend{position: relative;padding: 60px 0 90px;background: url(../img/index-03-back.svg) repeat center top;overflow: visible;}
#recommend::before{content: "";position: absolute;top: 0;left: 0;display: block;background: url(../img/index-02-back-pc.jpg) no-repeat center top;background-size: cover;width: 100%;height: 857px;box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.3)}
#recommend-01{position: relative;text-align: center;}
#recommend-logo{display: block;line-height: 1;margin-bottom: 18px;}
#recommend-01 h1{line-height: 1; width: 20%; max-width: 440px; min-width: 240px; margin: 0 auto 20px;}
#recommend-list{position: relative;width: 100%;margin: 0 auto;padding-top: 20px;}
#recommend-list ul{flex-wrap: nowrap;width: 100%;display: flex;justify-content: center;padding-top: 8px;}
#recommend-list li{white-space: nowrap;width: 10%;max-width: 144px;min-width: 110px;padding: 0 7px 10px;flex-shrink: 0;}
#recommend-list li a{display: block;box-shadow: 0px 6px 3px 0px rgba(0,0,0,0.6)}
#recommend-list li a img{display: block;}
#recommend-list li a:hover{box-shadow: 0px 12px 9px 0px rgba(0,0,0,0.6);opacity: 0.75;margin-top: -6px;}

#recommend-item{position: relative;padding-top: 80px;}
#recommend-item ul{width: 90%;max-width: 1080px;margin: 0 auto;}
#recommend-item ul li{width: 33.3333333333%;padding: 0 10px;margin-bottom: 30px;}
#recommend-item ul li a{position: relative;display: block;height: 100%;background-color: #fff;box-shadow: 3px 3px 3px 0px rgba(0,0,0,0.25);}
#recommend-item .item-img{position: absolute;top: 0;left: 0;width: 100%;padding-top: 70%;overflow: hidden;}
#recommend-item .item-img img{display: block;width: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}
#recommend-item .item-txt{position: relative;width: 100%;height: 100%;margin-bottom: 5px; padding: 70% 0 15px;flex-flow: column;}
#recommend-item .item-desc{background: url(../img/index-menu-back.svg) no-repeat left top;padding: 20px 20px 10px;}
#recommend-item .item-txt h3{font-size: 26px;font-size: 2.6rem;line-height: 1.5;margin-bottom: 12px;color: #e13828;font-weight: bold;text-align: center;}
#recommend-item .item-txt p{font-size: 18px;font-size: 1.8rem;color: #111; text-align: center;}
#recommend-item .item-txt p span.fs{font-size: 14px;font-size: 1.4rem;}

#recommend-item .item-button{font-size: 16px;font-size: 1.6rem;width: 100%;text-align: center;font-weight: bold;padding: 0 20px;}
#recommend-item .item-button p{color: #e13828;}
#recommend-item .item-button p.fs{color: #000000; font-size: 14px;font-size: 1.4rem; font-weight: normal; letter-spacing: 0;}
#recommend-item .item-button .btn{margin: 6px auto;}
#recommend-item a:hover .item-button p{color: #ff0000;}
#recommend-item p.notes{ text-align: center;color: #000;font-size: 15px;font-size: 1.5rem;}
#recommend-item a:hover p.notes{ text-align: center;color: #000;font-size: 15px;font-size: 1.5rem;}


@media (max-width: 960px) {
	#recommend-item ul li{width: 50%;}
}
@media (max-width: 767px) {
	#recommend{padding: 30px 0 60px;}
	#recommend::before{background: url(../img/index-02-back-sp.jpg) no-repeat center top;background-size: cover;height: 690px;}
	#recommend-logo img{width: 120px;}
	#recommend-01 h1 img{width: 238px;}
	#recommend-list ul{padding: 8px calc(5vw - 5px) 0;overflow-x: scroll;overflow-y: visible;}
	#recommend-list ul:has(> :nth-child(4)) {justify-content: left;}
	#recommend-list li {padding:0 5px 10px;}
	#recommend-item{position: relative;padding-top: 50px;}
	#recommend-item ul li{width: 100%;padding: 0;}
}


/* 予定 */
#scheduled{position: relative;padding: 60px 0 90px;background: url(../img/index-03-back.svg) repeat center top;overflow: visible;}
#scheduled::before{content: "";position: absolute;top: 0;left: 0;display: block;background: url(../img/index-02-back-pc.jpg) no-repeat center top;background-size: cover;width: 100%;height: 857px;box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.3)}
#scheduled-01{position: relative;text-align: center;}
#scheduled-logo{display: block;line-height: 1;margin-bottom: 18px;}
#scheduled-01 h1{line-height: 1; width: 22%; max-width: 340px; min-width: 140px; margin: 0 auto 40px;}
#scheduled-list{position: relative;width: 60%; max-width: 960px; min-width: 700px;  margin: 0 auto; padding: 20px 20px; background:url(../img/index-021-back-pc.jpg) no-repeat center top;background-size: 100%; box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.3)}
#scheduled-list dl{flex-wrap:wrap; width: 100%;display: flex;justify-content: center; align-items: center; border-top: 1px solid #000; padding: 14px 3px;  font-size: 18px;}
#scheduled-list dl:first-child{border-top: none;}
#scheduled-list dt{ width: 47%; padding-right: 3%; text-align:right; color: #d70c19; font-size: 25px; font-weight: bold; line-height: 1.4;}
#scheduled-list dd{ width: 47%; padding-left: 3%; text-align:left; }

@media (max-width: 960px) {
	#scheduled-item ul li{width: 50%;}
}
@media (max-width: 767px) {
	#scheduled{padding: 60px 0;}
	#scheduled::before{background: url(../img/index-02-back-sp.jpg) no-repeat center top;background-size: cover;height: 690px;}
	#scheduled-logo img{width: 120px;}
	#scheduled-01 h1{line-height: 1; width: 60%; margin: 0 auto 40px;}
	#scheduled-01 h1 img{width: 100%;}
	#scheduled-list{position: relative;width: 86%; max-width: 86%; min-width: 86%;  margin: 0 auto; padding: 20px 2%; background:url(../img/index-021-back-sp.jpg) repeat-y center top;background-size: 100% auto; box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.3)}
	#scheduled-list dl{flex-wrap:wrap; width: 100%;display:block; border-top: 1px solid #000; padding: 25px 0;  font-size: 17px;}
	#scheduled-list dl:first-child{border-top: none;}
	#scheduled-list dt{ width: 100%; padding-right: 0; color: #d70c19; font-size: 23px; font-weight: bold; line-height: 1.4; text-align: center; }
	#scheduled-list dd{ width: 100%; padding-right: 0; text-align: center;}
}



/* 終了 */
#ended{position: relative;padding: 60px 0 90px;background: url(../img/index-03-back.svg) repeat center top;overflow: visible;}
#ended-01{position: relative;text-align: center;}
#ended-logo{display: block;line-height: 1;margin-bottom: 18px;}
#ended-01 h1{line-height: 1; width: 15%; max-width: 440px; min-width: 240px; margin: 0 auto 20px;}

#ended-item{position: relative;padding-top: 40px;}
#ended-item ul{width: 90%; max-width: 1080px;margin: 0 auto;}
#ended-item ul li{width: 31.3333%;padding: 0;margin:0 1% 30px; position: relative;display: block;height: 100%;}

#ended-item .item-img{position: absolute;top: 0;left: 0;width: 100%;padding-top: 70%;overflow: hidden;}
#ended-item .item-img img{display: block;width: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}
#ended-item .item-txt{position: relative;width: 100%;height: 100%;padding: 70% 0 15px;flex-flow: column;}
#ended-item .item-desc{padding: 20px 20px 10px;}
#ended-item .item-txt h3{font-size: 26px;font-size: 2.6rem;line-height: 1.5;margin-bottom: 12px;font-weight: bold;text-align: center;}
#ended-item .item-txt p{font-size: 18px;font-size: 1.8rem;color: #111; text-align: center;}


@media (max-width: 960px) {
	#ended-item ul li{width: 50%;}
}
@media (max-width: 767px) {
	#ended{padding: 30px 0 60px;}
	#ended::before{background: url(../img/index-02-back-sp.jpg) no-repeat center top;background-size: cover;height: 690px;}
	#ended-logo img{width: 120px;}
	#ended-01 h1{line-height: 1; width: 40%; margin: 0 auto 40px;}
	#ended-01 h1 img{width: 100%;}
	#ended-list ul{padding: 8px calc(5vw - 5px) 0;overflow-x: scroll;overflow-y: visible;}
	#ended-list ul:has(> :nth-child(4)) {justify-content: left;}
	#ended-list li {padding:0 5px 10px;}
	#ended-item{position: relative;padding-top: 50px;}
	#ended-item ul li{width: 100%;padding: 0;}
}


/* こだわり */
#points{position: relative;padding-top: 20px;background-color: #0a0a0a;}
#points::before{content: "";display: block;position: absolute;top: 0;left: 0;width: 100%;height: 240px;background: url(../img/index-03-back.jpg) no-repeat center top;background-size: cover;z-index: 111;}
#points h1{position: relative;z-index: 777;text-align: center;line-height: 1;}
.points-content{position: relative;z-index: 666;}
.points-img{position: relative;width: 66.666666666666667%;background-repeat: no-repeat;background-position: center center;background-size: cover;}
.points-desc{position: relative;width: 33.333333333333333%;padding: 80px 0 100px;color: #fff;display: flex;}
.points-content:nth-of-type(odd) .points-desc{background: url(../img/index-03-list-R.svg) no-repeat right top;background-size: 100%;}
.points-content:nth-of-type(even) .points-desc{background: url(../img/index-03-list-L.svg) no-repeat left top;background-size: 100%;}
.points-txt {height: 320px;letter-spacing: 0.06em}
.points-txt h2{margin-left: 15px;}
.points-txt p{padding-top: 50px; font-size: 19px;}

#points-01 {margin-top: -125px;}
/* こだわり部の画像3種 */
#points-01 .points-img{background-image: url(../img/index-03-01.jpg);}
#points-02 .points-img{background-image: url(../img/index-03-02.jpg);}
#points-03 .points-img{background-image: url(../img/index-03-03.jpg);}
/* ここまで */
.points-content .points-img::before{content: "";display: block;width: 25%;height: 100%;position: absolute;top: 0;}
.points-content:nth-of-type(odd) .points-img::before{right: 0;background: linear-gradient(90deg, rgba(10,10,10,0) 0%, rgba(10,10,10,1) 90%);}
.points-content:nth-of-type(even) .points-img::before{left: 0;background: linear-gradient(270deg, rgba(10,10,10,0) 0%, rgba(10,10,10,1) 90%);}
.points-content:nth-of-type(odd) .points-txt{margin: 0 auto 0 12.5%;}
.points-content:nth-of-type(even) .points-txt{margin: 0 12.5% 0 auto;}

@media (max-width: 767px) {
	#points{padding-top: 60px;}
	#points h1 img{margin: 0 auto;}
	.points-img {width: 100%;padding-top: 52%;z-index: 333;}
	.points-desc {width: 100%;z-index: 444;padding: 0 0 60px!important;background-size: 66.6666666667%!important;}
	#points-01 {margin-top: -15px;}
	.points-txt{height: 300px;margin: -20px auto 0!important;}
	.points-txt p{max-height: 300px; font-size: 18px;}
	#points-03 .points-txt {height: 320px;}
	.points-content .points-img::before{display: none;}
}

/* 注文 */
#index-04{position: relative;padding: 60px 0 90px;background-color: #0a0a0a;}
#index-04 h2{text-align: center;line-height: 1;margin-bottom: 45px;}
#index-04 h2 img{display: block;margin: 0 auto;}
@media (max-width: 767px) {
	#index-04 {padding-top: 0;}
	#index-04 .container{width: 80%;padding-top: 60px;border-top: 1px solid #666;}
}

/* 注意事項 */
#index-05{position: relative;padding: 90px 0 0;font-size: 16px;font-size: 1.6rem;}
#index-05 ul{padding: 1.03em;margin-bottom: 90px;}
#index-05 li{position: relative;text-indent: -1.03em;line-height: 1.4;margin-bottom: 8px;}
#index-05 li::before{content: "※";}


/* =====
 * footer
 * ===== */
footer {letter-spacing: 0;}
.c-list__button.-arrow .c-list__icon:after {width: 6px;height: 6px;}


/* =====
 * Parts
 * ===== */
.btn{
	font-size: 16px;
	font-size: 1.6rem;
	position: relative;
	text-align: center;
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 300px;
	line-height: 1.25;
	text-decoration: none;
	-webkit-transition: all 0.25s ease;
					transition: all 0.25s ease;
	padding: 16px 30px 18px;
	letter-spacing: 0.06em;
	color: #e13828;
	background-color: transparent;
	border: 1px solid #e13828;
	font-weight: bold;
	border-radius: 6px;
}
a > .btn{text-decoration: none;}
.btn::after{content: "";display: block;width: 7px;height: 10px;position: absolute;top: 22px;right: 15px;background: url(../img/arrow-r.svg) no-repeat left center;}
.btn:hover,a:hover .btn{opacity: 1}

.btn-r{color: #fff;background-color: #e13828;}
.btn-r:hover,a:hover .btn-r{color: #fff;background-color: #ff0000;border-color: #ff0000;}
.btn-r::after{background-image: url(../img/arrow-w.svg);}

.btn-w{background-color: #fff;}
.btn-w:hover,a:hover .btn-w{color: #fff;background-color: #e13828;}
.btn-w:hover::after,a:hover .btn-w::after{background-image: url(../img/arrow-w.svg);}


/* =====
 * MISC
 * ===== */

.flist{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.row-reverse{
-webkit-flex-direction:row-reverse;
		-ms-flex-direction:row-reverse;
				flex-direction:row-reverse;
}
.space-between{
-webkit-box-pack: justify;
	 -ms-flex-pack: justify;
 justify-content: space-between;
}
.align-center{
	-webkit-box-align: center;
		 -ms-flex-align: center;
-webkit-align-items: center;
				align-items: center;
}
.justify-center{
			 -webkit-box-pack: center;
			-webkit-flex-pack: center;
					-ms-flex-pack: center;
			-webkit-box-align: center;
-webkit-justify-content: center;
				justify-content: center;
}
.align-top{
	-webkit-box-align:flex-start;
		 -ms-flex-align:flex-start;
-webkit-align-items:flex-start;
				align-items:flex-start;
}
.align-bottom{
	-webkit-box-align:flex-end;
		 -ms-flex-align:flex-end;
-webkit-align-items:flex-end;
				align-items:flex-end;
}
.justify-end{
 -webkit-box-pack: end;
		-ms-flex-pack: end;
	justify-content: flex-end;
}

.mb0{	margin-bottom: 0!important;}
.mb5{	margin-bottom: 5px!important;}
.mb10{margin-bottom: 10px!important;}
.mb15{margin-bottom: 15px!important;}
.mb20{margin-bottom: 20px!important;}
.mb25{margin-bottom: 25px!important;}
.mb30{margin-bottom: 30px!important;}
.mb35{margin-bottom: 35px!important;}
.mb40{margin-bottom: 40px!important;}
.mb45{margin-bottom: 45px!important;}
.mb50{margin-bottom: 50px!important;}
.mb60{margin-bottom: 60px!important;}
.pb0{padding-bottom: 0 !important;}

.relative{position: relative;}
.fz10{font-size: 10px;font-size: 1.0rem;}
.fz11{font-size: 11px;font-size: 1.1rem;}
.fz12{font-size: 12px;font-size: 1.2rem;}
.fz16{font-size: 16px;font-size: 1.6rem;}
.fz18{font-size: 18px;font-size: 1.8rem;}

/* Clearfix */
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
	content: " ";
	display: table;
	width: 100%;
}
.clearfix:after,
.container:after,
.row:after {
	clear: both;
}

/* Float */
.left   {float: left;}
.right  {float: right;}
.center {margin-right: auto !important; margin-left: auto !important;}

@media (max-width: 480px) {
	.left,.right{float: none;}
}

/* Text Alignment */
.text-left {text-align: left;}
.text-right {text-align: right;}
.text-center {text-align: center;}
.text-justify {
	text-align: justify;
	text-justify: inter-ideograph;
	-webkit-text-size-adjust: 100%;
}
.text-nowrap {white-space: nowrap;}
.text-bold {font-weight: bold;}
.text-blue{color: #006AAC;}
.text-gray{color: #333;}

/* Visibility */
.disn {display: none;}

.visible-s,
.visible-s-block,
.visible-xs,
.visible-xs-block {display: none!important;}

@media (max-width: 960px) {
	.visible-s,
	.visible-s-block {display: block!important;}
	.hidden-s {display: none!important;}
}
@media (max-width: 767px) {
	.visible-xs,
	.visible-xs-block {display: block!important;}
	.hidden-xs {display: none!important;}
}
