@charset "utf-8";
/* CSS Document */
html{scroll-padding-top: 74px;}

main{
  background: transparent linear-gradient(170deg, #2C6BB2 0%, #4FA1D9 26%, #5DAADF 60%, #AED9F3 100%) 0% 0% no-repeat padding-box;
  overflow: hidden;
}

main{padding:5.556% 0;position: relative;z-index:0;}
/* 雲 */
.object1 { position: absolute; top: 250px; left: -313px; z-index: -1; max-width: 45.5%; }    /* 819px */
.object2 { position: absolute; top: 600px; right: -89px; z-index: -1; max-width: 29.9%; }   /* 539px */
.object3 { position: absolute; top: 1890px; left: -110px; z-index: -1; max-width: 23.9%; }  /* 430px */
.object4 { position: absolute; top: 3600px; right: -172px; z-index: -1; max-width: 34.6%; } /* 622px */
.object5 { position: absolute; top: 4500px; left: -165px; z-index: -1; max-width: 62.4%; }  /* 1124px */
.object6 { position: absolute; top: 5600px; left: -274px; z-index: -1; max-width: 31.3%; }  /* 564px */
.object7 { position: absolute; top: 6200px; right: -217px; z-index: -1; max-width: 33.1%; } /* 595px */
.object8 { position: absolute; top: 7000px; left: 0; z-index: -1; max-width: 53.1%; }       /* 955px */
.object9 { position: absolute; bottom: 900px; right: -107px; z-index: -1; max-width: 43.5%; }/* 783px */

.bottom-bg {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  width: 100%;
}

/* サイドランプ島 */
.object10 { position: absolute; top: 850px; left: -54px; z-index: -1; max-width: 34.5%; }   /* 621px */
.object11 { position: absolute; top: 1270px; right: -118px; z-index: -1; max-width: 22.7%; }/* 408px */
.object12 { position: absolute; top: 2700px; left: -110px; z-index: -1; max-width: 29.6%; } /* 532px */
.object13 { position: absolute; top: 3700px; right: 0; z-index: -1; max-width: 37.2%; }     /* 670px */
.object14 { position: absolute; top: 4900px; left: 0; z-index: -1; max-width: 20.8%; }      /* 375px */
.object15 { position: absolute; top: 5900px; right: -84px; z-index: -2; max-width: 28.6%; } /* 514px */
.object16 { position: absolute; bottom: 1500px; left: -106px; z-index: -2; max-width: 27.9%; }/* 503px */


section:first-child{margin-top:0;}
section{margin-top:6.25rem;}

/* 共通 */
.br800, .br605, .br450, .br400 {display: none;}
.content {max-width: 1130px;}
h1 {background: #E6E1D8;}
h2{text-align: center; margin-bottom:4.167%;font-size: clamp(24px, 1.263vw + 19.26px, 42px);}
h2 img {width:100%;max-width:clamp(120px, 17vw, 180px);margin: 0 auto;display: inline-block;vertical-align: super;}

/*タイトルサイドアイコン*/

.h2_gaiyo,.h2_item-tokuten{
	display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/neon_frame1.webp") no-repeat center center;
  background-size: contain;
  width: 100%;
  max-width: 369px; /* 最大サイズを固定 */
  height: auto; /* 高さはアスペクト比に応じてJSかpaddingで対応が必要 */
  aspect-ratio: 369 / 151; /* CSSでアスペクト比を固定 */
  color: #ff1493; /* ピンク */
  margin: 0 auto 5.738%; /* 中央寄せ */
  text-align: center;
}

.h3_menu{
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/MENU_frame_text.png") no-repeat center center;
  background-size: contain;
  width: 100%;
  max-width: 281px; /* 最大サイズを固定 */
  height: auto; /* 高さはアスペクト比に応じてJSかpaddingで対応が必要 */
  aspect-ratio: 281 / 106; /* CSSでアスペクト比を固定 */
  color: #D8342D;
  margin: 5.738% auto 0 ; /* 中央寄せ */
  text-align: center;
}

.h2_food-tokuten,.h2_item{
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/neon_frame2.webp") no-repeat center center;
  background-size: contain;
  width: 100%;
  max-width: 369px; /* 最大サイズを固定 */
  height: auto; /* 高さはアスペクト比に応じてJSかpaddingで対応が必要 */
  aspect-ratio: 369 / 151; /* CSSでアスペクト比を固定 */
  color: #C427EA; /* ピンク */
  margin: 0 auto 5.738%; /* 中央寄せ */
  text-align: center;
}

.h2_schedule,.h2_notes{
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/neon_frame3.webp") no-repeat center center;
  background-size: contain;
  width: 100%;
  max-width: 369px; /* 最大サイズを固定 */
  height: auto; /* 高さはアスペクト比に応じてJSかpaddingで対応が必要 */
  aspect-ratio: 369 / 151; /* CSSでアスペクト比を固定 */
  color: #1EB100; /* ピンク */
  margin: 0 auto 5.738%; /* 中央寄せ */
  text-align: center;
}

.h3_online{
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/shop_frame.png") no-repeat center center;
  background-size: contain;
  width: 100%;
  max-width: 552px; /* 最大サイズを固定 */
  height: auto; /* 高さはアスペクト比に応じてJSかpaddingで対応が必要 */
  aspect-ratio: 552 / 103; /* CSSでアスペクト比を固定 */
  color: #DE0074;
  margin: 5.738% auto 0 ; /* 中央寄せ */
  text-align: center;
  font-size: clamp(24px, 1.263vw + 19.26px, 42px);
}






h3 img {max-width: 18.2rem;margin: 0 auto;}
.x-heading img {max-width: 27px;width:100%;margin: 0 auto;}
.schedule__online-heading img {max-width:360px; width:100%; margin: 0 auto;}

p, dl, dt, dd  {
	font-size: clamp(14px,2vw,24px);
	letter-spacing: 0.21px;
	line-height: clamp(1.5rem,2vw,2.25rem);
	font-weight: 600;
}


.note__list {
	padding-top: 1.5rem;
	font-size: clamp(12px,2vw,18px);
	letter-spacing: 0.14px;
	line-height: 1.5rem;
	text-indent: -1em;
    padding-left: 1em;
	margin:0 auto;
}
.note__list-item:not(:last-child) {margin-bottom: 0.5rem;}
.heading {padding-top: 5rem;}
/*.img_border {border: 1px solid #707070;}*/

/* 背景 */


/* 枠 */

.content{
	width:100%;
	max-width:1220px;
	height:auto;
	background-color:#fff;
	border-radius: 1.875em;
	padding:3.889% 8.889%;
	margin:0 auto;
	position: relative;  
  background-image: url("../img/section_frame.webp");
  background-position: center;
  background-size: cover;
  background-repeat: repeat-y;
}
.bottom{
	margin:0 auto 7.223% !important;
}

#schedule .content dl dt{
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/wood_frame.webp") no-repeat center center;
  background-size: contain;
  width: 220px;
  height: 61px;
  color:#fff !important;
  letter-spacing: 1.8px;
}


/* gaiyo */
/*.gaiyo__content-wrapper{
	margin: 0 2rem 0 auto;
}*/
/*.gaiyo__content-details{
	max-width: 920px;
	margin: 0 auto;
}*/
.gaiyo__heading_menu {
	padding-bottom: 3.6rem;
}
.gaiyo__text, .gaiyo__benefits-text {
	text-align: center;
	margin: 0 auto;
}
/*.gaiyo__text {
	padding-top: 4.5rem;
	padding-bottom: 5.7rem;
	max-width: 820px;
}*/

.gaiyo__benefits-text {
	/*padding-top: 3.6rem;*/
	padding-bottom: 3.5rem;
}
.gaiyo__highlight {
	padding: 0 1.5rem 0 0.5rem;
	background: #DA292A;
	color:#FFF;
}
.gaiyo__menu-image {padding-bottom: 2rem;}
.allergy-list {padding-bottom: 4rem; text-align: center;}
.allergy-list-highlight{
	font-weight: 600;
	color: #DA292A;
}

p.bar{margin:5.334% auto;}

/* schedule */
.schedule__content-wrapper{
	margin: 0 2rem 0 auto;
}
.schedule__content-details{
	margin: 0 auto;
}
/*.schedule__details {
	padding-top: 3.5rem;
	padding-bottom: 5rem;
}*/
.schedule__online-details {
	/*padding-top: 3.6rem;
	padding-bottom: 3.5rem;*/
	padding:3.112% 0;
}
.schedule__item, .schedule__online-item {
	display: flex;
	align-items: center;
  margin-bottom:1em;
}
.schedule__item-title {
    width: 30%;
    text-align: center;
    align-content: center;
	padding: 1rem 0;
	white-space: nowrap;
}
.schedule__online-item-title {
    width: 27%;
    text-align: center;
    align-content: center;
	padding: 0.1rem 0;
	white-space: nowrap;
}
.schedule__item:not(:last-child), 
/*.schedule__online-item:not(:last-child) {margin-bottom: 1.5rem;}*/
.schedule__item-text, .schedule__online-item-text{
	/*padding-left: 2.5rem;
    width: 80%;*/
	text-align: left;
}

.schedule__item-text,.schedule__online-item-text{padding-left:2rem;width:80%;}

.common__promo {
	padding-bottom: 3.5rem;
	text-align: center;
	margin: 0 auto;
}
.common__promo-highlight {
  text-decoration: underline; /* 下線 */
  text-decoration-thickness: 0.5em; /* 線の太さ */
  text-decoration-color: rgba(248, 141, 189, 0.5); /* 線の色 */
  text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
  text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}
.schedule__bold {font-weight: 600;}
.schedule__large {
	font-size: clamp(14px,2.5vw,29px);
	letter-spacing: 0.25px;
	line-height:clamp(1.5rem,1.6vw,3.5rem);
}
.schedule__online-banner{
	width:90%;
	margin:0 auto;
}

/* X */
#X {
	position: relative;
	text-align: center;
	font-size: 1.9rem;
	font-weight: 600;
	letter-spacing: 0.19px;
	line-height: 3.5rem;
  margin:10.901% auto 0;
  border: 50px solid transparent;
  border-image-slice: 60 fill;
  border-image-repeat: stretch; /* または repeat / round */
  border-image-source: url("../img/X_frame.webp");
  width: 100%;
  max-width: 900px; /* 最大サイズを固定 */
  height: auto; /* 高さはアスペクト比に応じてJSかpaddingで対応が必要 */
}

h3.x-heading{
  color:#1A58D8;
  font-size: clamp(20px,2vw,32px);
}
.x-text {
	padding: 1rem 0;
}

/* tokuten */
.tokuten__content-wrapper{
	margin: 0 2rem 0 auto;
}
.tokuten__content-details{
	max-width: 920px;
	margin: 0 auto;
}
/*.tokuten__details {padding-top: 3.5rem;}*/

/* item */

#item .content{
  padding: 3.889% 2.223%;
}

#item .item__content-wrapper{
	max-width:1180px;
  padding:4.238% 2.882%;
  margin: 0 auto;
  background-color: #fff;
}

#item ul {
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
    width: 100%;
	margin: 0 auto;
	/*gap: 1rem;*/
}
#item li {
	width: calc(25% - 1rem);
    margin-bottom: 4%;
}
#item li:last-child {
    margin-right: 51%;
}
.animateme{position: relative;}
.animateme img {border: 1px solid #707070;}

.item__text{
	width:100%;
	min-height:11.0625rem;
	margin-top:0.625rem;
	padding:5%;
	position: relative;
}
.item__text p{
	font-family: "BIZ UDGothic" , serif;
	font-weight: 600;
	font-style: normal;
	text-align: center;
	font-size: clamp(12px,2vw,14px);
	letter-spacing: 0;
	line-height: 1.375rem;
	color: #090403;
}
.condition {
	border-bottom:2px solid #fff;
	padding:2% 0;
  background-color:#0E66C3;
  border-radius: 0.75rem;
	margin:0 auto;
  color:#fff !important;
}
.itemname_box{
	margin: 0.75rem auto;
	font-size: 1rem;
}
.itemname {
	margin-bottom: 1rem;
	height: 8.1rem;
}
.item__text .price-right {
	text-align: right;
	margin: 0 auto;
	max-width: 161px;
}
.price-tax {
	padding-right: 0.5rem;
}

dl.price-box{
	font-weight: 600;
	font-style: normal;
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	bottom:8%;
	left:0;
	right:0;
	margin:auto;
	padding:0 2%;
	color:#090403;
}
.price-box dt{
	width:40%;
	text-align: right;
	line-height: 1.6875rem;
}
.price-box dd{
	width:60%;
	text-align: right;
	line-height: 1.6875rem;
}
.item__text .rprice{
	font-size: 1rem;
}
.item__text .ryomoku,.item__text .rprice span,.item__text .price span{
	font-size:clamp(0.65rem, 2vw, 0.875rem);
	padding-left:2%;
}
.item__text .price{
	width:100%;
	font-size:1rem;
	position: absolute;
	bottom: 8%;
    left: 50%;
    transform: translate(-50%, 0);
}

.flag1{
  position: absolute;
  top:0;
  left:0;
	background-color: #ff0000;
	color:#fff;
	text-align: center;
	font-size:clamp(0.65rem, 2vw, 0.875rem);
  padding:0 2%;
}


/* notes */
.notes__content-wrapper{
	margin: 0 2rem 0 auto;
}
.notes__content-details{
	max-width: 920px;
	margin: 0 auto;
}
.notes-horizon{
	position: absolute;
	max-width: 231px;
	top: 8%;
	right: 2%;
}
.notes-nessie{
	position: absolute;
	max-width: 211px;
	bottom: 0%;
	right: 8%;
}
#notes li {
	text-indent: -1em;
    padding-left: 1em;
}
.attention__list {
	font-size: clamp(12px,2vw,18px);
	font-weight: 600;
	letter-spacing: 0.15px;
	line-height: 1.5rem;
}
.attention__list-item:not(:last-child) {margin-bottom: 1rem;}

/* footer */
footer {background: #030303;}
.copyright {
	color: #FFF;
	letter-spacing: 1.2px;
	line-height: 1.5rem;
	text-align: center;
	padding: 2rem 0;
  font-size: 14px;
}

/* TOPへ戻る */
.top1 {
	text-align: center;
}
#top img {
	max-width: 130px;
	width: 100%;
	filter: drop-shadow(0px 0px 15px rgba(255, 255, 255, 1));
}
#top {
	position: fixed;
	bottom: 7%;
	z-index: 3;
	right: calc(50.5% - 800px);
	font-size: 1.8rem;
	font-weight: 600;
	text-shadow:
		  1.5px 1.5px 0 #FFF, -1.5px -1.5px 0 #FFF, /* 右下方向に影 */
		  -1.5px 1.5px 0 #FFF,  1.5px -1.5px 0 #FFF, /* 左下方向に影 */
		  1.5px 0 0 #FFF, -1.5px  0 0 #FFF, /* 左上方向に影 */
		  0 1.5px 0 #FFF,  0 -1.5px 0 #FFF; /* 右上方向に影 */
}
#top a {
	display: inline-flex;
	flex-direction: column;
  	align-items: center;
	font-size:0.875rem;
}

/* 	responsive */

@media screen and (max-width:1799px) {
	#top {
	position: fixed;
	bottom: 7%;
	z-index: 3;
	right: 3%;
	}
}
@media screen and (max-width:1200px) {
	#top img {
		max-width: 70px;
	}
	#top{
		font-size: 1.6rem;
	}
}
@media screen and (max-width:1100px) {
	/*p, dl, dt, dd  {
	font-size: 1.8rem;
	letter-spacing: 0.15px;
	line-height: 3rem;
	}*/
	/*.schedule__large {font-size: 2.2rem;}*/
	
	h3 img {max-width: 14rem;}
	/*.schedule__online-heading img {max-width: 38.3rem;}*/
	/*.note__list {
    padding-top: 1rem;
    line-height: 1.8rem;
	}*/
	.gaiyo__content, .item__content{
	border-image: url("../img/frame-grey.png") 100 fill / 80px / 0px round;
	}
	.schedule__content{
	border-image: url("../img/frame-black.png") 100 fill / 80px / 0px round;
	}
	.tokuten__content, .notes__content{
	border-image: url("../img/frame-red.png") 100 fill / 80px / 0px round;
	}
	.gaiyo__content-wrapper, .schedule__content-wrapper, .tokuten__content-wrapper, .item__content-wrapper, .notes__content-wrapper {
    margin: 0 1.8rem 0 auto;
	}
	.notes-horizon{
		max-width: 185px;
	}
	.notes-nessie{
		max-width: 169px;
		right: 2%;
	}
}
@media screen and (max-width:1000px) {
	html{scroll-padding-top: 0;}
	h1 {padding-top: 0;}
	#item li {
        width: calc(33.33% - 1rem);
    }
	.notes-horizon{
		max-width: 161px;
		top: 0;
		right: 7%;
	}
	.notes-nessie{
		max-width: 148px;
		left: 7%;
		top: 0;
	}
	#item li:last-child {
    margin-right: 34%;
	}
  
  .h2_gaiyo,.h3_menu,.h2_item-tokuten,.h2_food-tokuten, .h2_item,.h2_schedule, .h2_notes{
    background-size: 75%;
  }
  #schedule .content dl dt{
    width:35%;
  }
}

@media screen and (max-width:900px) {
	.attention__list-item:not(:last-child) {
    	margin-bottom: 0.8rem;
	}
	.content{
		width:98%;
	}
}
@media screen and (max-width:800px){
	.br800 {display: block;}
	.schedule__online-item-title {
		padding: 1.5rem 0;
	}
	/*.schedule__item-text, .schedule__online-item-text {
    padding-left: 1.5rem;
	}*/
	/*.schedule__details, .schedule__online-details {
    	max-width: 511px;
		width: 100%;
		margin: 0 auto;
	}*/
}
@media screen and (max-width:750px){
	#item li {
        width: calc(50% - 0.5rem);
    }
	#item li:last-child {
        margin-right: 0;
    }
	#item li {
    margin-bottom: 0;
	}
}

@media screen and (max-width:700px){
	/*.x-text {
		font-size: 1.6rem;
		letter-spacing: 0.12px;
		line-height: 2.8rem;
	}*/
	
}
@media screen and (max-width:605px){
	.br605 {display: block;}
	/*.schedule__item:nth-of-type(1) dt, .schedule__online-item:nth-of-type(1) dt{
		padding: 1.7rem 1.2rem;
	}*/
	/*.schedule__item:nth-of-type(2) dt{
		padding: 3rem 1.2rem;
	}
	.schedule__item-text, .schedule__online-item-text {
		width: 74%;
	}
	.schedule__item-title, .schedule__online-item-title {
    	width: 26%;
		padding: 1.2rem;
	}*/
	
}
@media screen and (max-width:600px){
	/*.note__list {
	font-size: 1.2rem;
    padding-top: 1rem;
    line-height: 1.8rem;
	}
	.note__list-item:not(:last-child) {
    margin-bottom: 0.2rem;
	}*/
}

@media screen and (max-width:530px){

}
@media screen and (max-width:500px){
	
	/*p, dl, dt, dd  {
	font-size: 1.6rem;
	letter-spacing: 0.12px;
	line-height: 2.8rem;
	}*/
	/*.schedule__large {
    font-size: 1.7rem;
	line-height: 2.5rem;
    }*/
	
	h3 img {max-width: 11rem;}
	.schedule__online-heading img {
        max-width: 32.3rem;
    }
	.heading {padding-top: 4rem;}
	/*.gaiyo__text {
    padding-top: 3.5rem;
    padding-bottom: 4.7rem;
	width: 93%;
	}*/
	.gaiyo__benefits-text {
    padding-bottom: 2.5rem;
	}
	/*.gaiyo__content-details, .schedule__content-details 
	{width: 93%;}*/
	
	/*.attention__list {
    font-size: 1.35rem;
    letter-spacing: 0.14px;
    line-height: 2rem;
	}*/
	#top{
		font-size: 1.4rem;
	}
	
}
@media screen and (max-width:450px){
	.content{padding: 4.834% 4.0556% 8.834%;}
	.br450 {display: block;}
	/*.gaiyo__content-details, .schedule__content-details
	{width: 95%;}*/
	.schedule__item-text, .schedule__online-item-text {
		width: 70%;
		padding-left: 1rem;
	}
	.schedule__item-title, .schedule__online-item-title {
    	width: 30%;
		padding: 1rem;
	}
	.note__list{
		line-height: 1.25rem;
	}
	
	/*.item__text p {
		font-size: 1.4rem;
		line-height: 2.3rem;
	}*/
	.item__text p small {
		font-size: 1.3rem!important;
	}
	/*.itemname_box {
		height: 5.8rem;
	}*/
	.schedule__online-heading img {
        max-width: 29.3rem;
    }

}
@media screen and (max-width:400px){
	.br400 {display: block;}
	/*p, dl, dt, dd  {
	font-size: 1.55rem;
	letter-spacing: 0.12px;
	line-height: 2.3rem;
	}*/
	/*.schedule__large {
    font-size: 1.7rem;
    }
	.gaiyo__highlight {
    padding: 0 1rem 0 0.1rem;
	}
	.common__promo-highlight {
	padding: 0;
	}
	.highlight_400 {padding: 0 1rem;}*/
}

@media screen and (max-width:380px){
	.schedule__item-text, .schedule__online-item-text {
		width: 72%;
		padding-left: 0.8rem;
	}
	.schedule__item-title, .schedule__online-item-title {
		width: 28%;
		padding: 1rem 0.5rem;
	}

}