@charset "utf-8";
/* CSS Document */
/*2025 created by NANACO JAPAN CREATIVE OFFICE*/
html{scroll-padding-top: 74px;}

main{
  position: relative;
  z-index: 0;
  /*opacity: 0.6;*/
  background-image: linear-gradient(#CCF4FA 3.98%, rgba(254, 223, 238, 0.80) 8.62%,rgba(255, 255, 255, 0.60) 15%,rgba(255, 255, 255, 0.60) 75%,rgba(254, 223, 238, 0.80) 80.62%,rgba(204, 244, 250, 0.75) 87%,#CCF4FA 100%);
  background-size: contain;
  background-position: top;
}

/* 共通 */
.br800, .br605, .br450, .br400 {display: none;}

section{
  position: relative;
}

section#menu,section#tokuten,section#notes{
  padding: 4.445% 0;
}
section#schedule{
  padding:13.445% 0 4.445%;
}

section#gaiyo{
  background-color: #fff;
}

.content {max-width: 1130px;}
h1 {background: #E6E1D8;}
h2{
  text-align: center; margin-bottom:4.167%;
}
h2 img {/*width:100%;max-width:clamp(140px, 17vw, 380px);*/width:auto;height:clamp(45px, 8vw, 141px);object-fit: contain; margin: 0 auto;display: inline-block;vertical-align: super;}



h3 img {max-width: 18.2rem;margin: 0 auto;}
/*.x-heading img {width:100%;margin: 0 auto;display: inline;max-width:432px;}
.schedule__online-heading img {max-width:432px; width:100%; margin: 0 auto;display: inline-block;}*/

.schedule__online-heading img,.x-heading img{
  width:auto;height:clamp(45px, 8vw, 80px);object-fit: contain; margin: 0 auto;display: inline-block;vertical-align: super;
}

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


.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;
	width:90%;
	margin:0 auto;
}
.note__list-item:not(:last-child) {margin-bottom: 0.5rem;}
.heading {padding-top: 5rem;}
/*.img_border {border: 1px solid #707070;}*/

/* 背景 */
.bg-beige:first-of-type{
    padding: 9rem 0 10rem;
}
section#gaiyo{
  position: relative;
  margin-bottom: 10%;
}
section#gaiyo::after{
  content:"";
  position: absolute;
  bottom: -40%;
  margin: auto;
  display: block;
  background-image: url("../img/summary_bg.png");
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
  z-index: 1;
  width:100%;
  max-width:1800px;
  height:auto;
  aspect-ratio: 1800 / 442;
}

/*.bg-area-pink{
	position: relative;
	background: url("../img/pink_bg.png") repeat-y;
	background-size: contain;
    padding: 5.8334% 0;
  z-index: 0;
}*/

.bg-area-footer{
  margin: auto;
  display: block;
  background: linear-gradient(180deg, #496488 25%, #30375C 100%);
	position: relative;
  z-index: 0;
}

.bg-area-footer::before{
  content:"";
  position: absolute;
  top:-12rem;
  background-image: url("../img/note_bg.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: contain;
  padding: 5.8334% 0;
  z-index: 0;
  width:100%;
  max-width:1800px;
  height:auto;
  aspect-ratio: 1800 / 365;
}



/* 枠 */

.contentA{
	width:100%;
	max-width:1200px;
	height:auto;
	/*background-color:#fff;
	border:6px solid #042434;
	border-radius: 1.875em;
	padding:2.834% 8.0556%;*/
  margin:0 auto;
	position: relative;
  z-index:3;
  padding: 4.445% 0;
}

.contentMenu{
  display: block;
  max-width:1200px;
  width:100%;
  height:auto;
  background-color: #fff;
  padding: 4.445% 6%;
  margin:0 auto;
}

.contentTokuten{
  display: block;
  max-width:1200px;
  width:100%;
  height:auto;
  background-color: #fff;
  padding: 4.445% 6%;
  margin:0 auto;
}

.contentB{
	display: block;
  max-width:1200px;
  width:100%;
  height:auto;
  padding: 4.445% 6%;
  margin:0 auto;
}



.bottom{
	margin:0 auto 7.223% !important;
}



.gaiyo__heading_menu {
	padding-bottom: 3.6rem;
}
.gaiyo__text, .gaiyo__benefits-text {
	text-align: center;
	margin: 0 auto;
}

.gaiyo__benefits-text {
  color:#4B678B;
	/*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 {text-align: center;}
.allergy-list-highlight{
	font-weight: 600;
	color: #DA292A;
}

p.bar{margin:5.334% auto;}

/* schedule */

.schedule{
  background-image: url("../img/schedule_bg.png");
  background-position: center;
  background-repeat: no-repeat;
  margin: 12.445% 0 4.445%;
}

.schedule__content-wrapper{
	margin: 0 2rem 0 auto;
}
.schedule__content-details{
	margin: 0 auto;
}
/*.schedule__details {
	padding-top: 3.5rem;
	padding-bottom: 5rem;
}*/

.schedule__content-details{
  margin-bottom:5em;  
}

.schedule__online-heading{
  text-align: center;
}
.schedule__online-heading .cart-icon{
  padding-right:1%;
  max-width:83px;
  width:100%;
}

.schedule__online-details {
	/*padding-top: 3.6rem;
	padding-bottom: 3.5rem;*/
	padding:3.112% 0 0;
}


.schedule__item, .schedule__online-item {
	display: flex;
	align-items: center;
  margin-bottom: 1.25em;
}
.schedule__item-title,.schedule__online-item-title {
  width: 14.214%;
  text-align: center;
  align-content: center;
	padding: 0 1em;
	white-space: nowrap;
  background-color: #222222;
  color:#fff;
  background-position: center;
}
/*.schedule__online-item-title {
    width: 14.214%;
    text-align: center;
    align-content: center;
	padding: 1rem 0;
	white-space: nowrap;
  
  
  color:#fff;
  background-position: center;
}*/

.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:2em;
}

.common__promo {
  text-align: center;
	margin: 0 auto;
  color:#4B678B;
}
.common__promo-highlight {
  /*text-decoration: underline; 
  text-decoration-thickness: 0.5em; 
  text-decoration-color: rgba(255, 255, 0, 0.5); 
  text-underline-offset: -0.2em; 
  text-decoration-skip-ink: none; */
}
.schedule__bold {font-weight: 600;}
.schedule__large {
	font-size: clamp(14px,2.2vw,30px);
	letter-spacing: 0.25px;
	line-height:clamp(1.5rem,2.2vw,3.5rem);
}
.schedule__online-banner{
	width:90%;
	margin:0 auto;
}

/* X */
#X {
	position: relative;
	padding: 1.3rem;
	text-align: center;
	font-size: 1.9rem;
	font-weight: 600;
	letter-spacing: 0.19px;
	line-height: 3.5rem;
}

.x-text {
	padding: 2.5rem 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-wrapper{
	margin: 0 2rem 0 auto;
}

.animateme{
  position: relative;
  background-color: #ffffff;
  box-shadow: 2px 0 20px 0 #DFF8FB, -2px 0 20px 0 #FFEDF5;
  border: 1px solid #FFBDD9;
}

.animateme span.flag{
  color:#000000;
  background: radial-gradient(circle at center, white 50%, transparent 50%);
  font-size:0.875rem;
  width:5rem;
  height:5rem;
  border-radius: 50%; /* ←ここが重要！要素自体を円形にする */
  display: flex;               /* ← flexを使う */
  align-items: center;         /* 縦方向の中央寄せ */
  justify-content: center;     /* 横方向の中央寄せ */
  text-align: center;
  position: absolute;
  top:-2rem;
  right:-2rem;
  z-index: 3;
}

#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%;
}
.item__text{
	width:100%;
	min-height:12.0625rem;
	margin-top:0.625rem;
	padding:5%;
	position: relative;
}
.item__text p{
	font-family: "Shippori Mincho";
	font-weight: 600;
	font-style: normal;
	text-align: center;
	font-size: clamp(12px,2vw,14px);
	letter-spacing: 0;
	line-height: 1.375rem;
}
.condition {
	padding:2% 0;
	margin:0 auto;
  color:#fff;
  background-color:#000;
}
.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%;
}
.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{
	background-color: #ff0000;
	color:#fff;
	text-align: center;
	font-size:clamp(0.65rem, 2vw, 0.875rem);
}


/* notes */
.notes__content-wrapper{
	margin: 0 2rem 0 auto;
}
.notes__content-details{
	max-width: 920px;
	margin: 0 auto;
  color:#fff;
}
.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: 400;
	letter-spacing: 0.14px;
	line-height: 180%;
}
.attention__list-item:not(:last-child) {margin-bottom: 1rem;}

.attention__list-item a{
  color:#fff;
}

/* footer */
footer {background: #123461;position: relative;z-index:-1;}
.copyright {
	color: #FFF;
	letter-spacing: 1.2px;
	line-height: 2rem;
	text-align: center;
	padding: 2rem 0;
}

/* TOPへ戻る */
.top1 {
	text-align: center;
}
#top img {
	max-width: 80px;
	width: 100%;
	filter: drop-shadow(0px 0px 15px rgba(255, 255, 255, 1));
}
#top {
	position: fixed;
	bottom: 7%;
	z-index: 999;
	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;
}

.copyright{
	width:100%;
	margin:0 auto;
}

/*obj*/
.obj1,.obj2,.obj3,.obj4,.obj5,.obj6,.obj7,
.obj8,.obj9,.obj10,.obj11,.obj12,.obj13,
.obj14,.obj15,.obj16,.obj17,.obj18,.obj19,
.obj20,.obj21,.obj22,.obj23,.obj24,.obj25,.obj26,
.obj27,.obj27-a,.obj28,.obj29,.obj30,
.obj31,.obj32,.obj33,.obj34,.obj35,.obj36,.obj37,
.obj38,.obj39,.obj40,.obj41,.obj42,.obj43,.obj44,
.obj45,.obj46,.obj47,.obj48,.obj49{
  position: absolute;
}

/*開催概要*/

/*メニュー*/

/*メニューセクション*/
.obj1{top:0;right:0;width:13.612%;}
.obj2{top:50%;left:5%;width:12.889%;}
.obj3{top:60%;left:0;width:9.945%;}

/*飲食特典*/

/*飲食特典セクション*/
.obj4{top:-8%;left:0;width:25.667%;}
.obj5{bottom:-13%;right:0;width:36.389%;}

/*開催日程*/

/*開催日程セクション*/
.obj6{top:9%;right:0;width:100%;z-index: -1}
.obj7{bottom:0;right:0;width:100%;z-index: -1}

/*物販特典*/

/*物販特典セクション*/
.obj8{top:50%;left:5%;width:21.778%;}
.obj9{top:50%;right:0;width:23.667%;z-index: -1}


/*商品*/

/*商品セクション*/
.obj10{top:0;right:0;width:31.056%;}
.obj11{top:10%;left:0;width:100%;z-index: -1;}

.obj12{top:50%;left:0;width:9.945%;}
.obj13{top:60%;left:5%;width:12.889%;}
.obj14{top:75%;right:0;width:13.612%;}

/*注意事項*/

/*注意事項セクション*/


/* 	responsive */

.change{display: block;}

@media screen and (max-width:1799px) {
	#top {
	position: fixed;
	bottom: 7%;
	z-index: 3;
	right: 3%;
	}
}

@media screen and (max-width:1400px) {
  .change{display:none;}
}

/* ------------------------------
   レスポンシブ時：各セクション幅を96%に調整
   ------------------------------ */
@media screen and (max-width: 1250px) {
  .contentA,
  .contentB,
  .contentMenu,
  .contentTokuten {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (max-width:1200px) {
	#top img {
		max-width: 70px;
	}
	#top{
		font-size: 1.6rem;
	}
  
  
  .bg-area-purple,
  .bg-area-pink,
  .bg-area-green{
    padding:10% 0;
  }
}
@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%;
	}
  .bg-area-footer::before{
    top:-10%;
  }
	.copyright{max-width:80%;font-size: clamp(10px,2vw,23px);}
}

@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: 2rem;
	}
}

@media screen and (max-width:700px){
	/*.x-text {
		font-size: 1.6rem;
		letter-spacing: 0.12px;
		line-height: 2.8rem;
	}*/
  
  h2{
    top:-44px;
  }
  
  .contentA,.contentB{
    border-width: 30px;
  }
  .contentA,.contentB{
    padding:1em 0 0;
  }
  .schedule__content-details{
    margin-bottom:2.5em;
  }
  
  [class^="obj"] {
    display:none;
  }
	
}
@media screen and (max-width:605px){
	.br605 {display: block;}
	
}
@media screen and (max-width:600px){

}

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

}
@media screen and (max-width:500px){
	
	h3 img {max-width: 11rem;}
	.schedule__online-heading img {
        max-width: 32.3rem;
    }
	.heading {padding-top: 4rem;}
	
	#top{
		font-size: 1.4rem;
	}
	
}
@media screen and (max-width:450px){
  section#gaiyo::after{
    bottom:-20%;
    z-index: -1;
  }
	.content{padding: 4.834% 4.0556%;}
	.br450 {display: block;}
  .schedule__online-heading .cart-icon{width:20%;}
	.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: 75%;
    }

}
@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;
	}

}