@charset "Shift_JIS";


/* プラン
----------------------------------------------------*/

#contents, #contents div, #contents dl, #contents dt, #contents dd, #contents ul, #contents ol, #contents li, #contents h1, #contents h2, #contents h3, #contents h4, #contents h5, #contents h6, #contents pre, #contents form, #contents fieldset, #contents input, #contents textarea, #contents p, #contents blockquote, #contents th, #contents td, #contents span, #contents strong {
	font-family: "Noto Serif JP", serif;
	line-height: 2;
	font-weight: 400;
	font-size: 15px;
}
#contents {
	overflow-x: hidden;
}
.inline-txt {
	display: inline-block;
}
@media (min-width: 600px) {
.sp { display: none; }
.pc { display: block; }
.att {
	font-size: 13px!important;
	text-align: center;
}
}
@media (max-width: 599px) {
.sp { display: block; }
.pc { display: none; }
.att {
	font-size: 11px!important;
	text-align: center;
}
}
.view_timer {
	display: none;
}

/* ボタン
----------------------------------------------------*/
#contents .fes-btn {
	text-align: center;
	margin: 3em auto 0;
	max-width: 800px;
	width: 100%;
}
#contents .fes-btn a {
	background-color: #c6002d;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	box-sizing: border-box;
	padding: 1em 1em;
	border-radius: 300px;
	font-weight: 600;
	text-decoration: none!important;
	line-height: 1;
	box-shadow: 5px 5px 0px 0px #950022;
}
#contents .fes-btn a:after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	transform: rotate(45deg);
	margin-left: .5em;
}
#contents .fes-btn a:hover {
	background-color: #e70034;
}
@media (min-width: 600px) and (max-width: 859px) {
#contents .fes-btn a {
	font-size: clamp(1.25rem, 0.816rem + 1.16vw, 1.438rem);
}
}
@media (max-width: 599px) {
#contents .fes-btn a {
	font-size: 18px;
}
#contents .fes-btn a:after {
	width: 8px;
	height: 8px;
}
}

/* メイン
----------------------------------------------------*/
#contents #cttImg {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
	background-image: url("img/main.jpg?202510301450");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}
#contents #cttImg .main-title {
	aspect-ratio: 1/1;
}
#contents #cttImg .main-title img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}
@media (min-width: 860px) {
#contents #cttImg {
	height: 100dvh;
	max-height: 800px;
}
#contents #cttImg .main-title {
	height: 84vh;
	max-height: 650px;
}
}
@media (min-width: 860px) and (min-height: 750px) {
#contents #cttImg .main-title {
	height: 90vh;
	max-height: 650px;
}
}
@media (min-width: 860px) and (max-width: 999px) {
#contents #cttImg {
	max-height: 700px;
}
#contents #cttImg .main-title {
	max-height: 600px;
}
}
@media (min-width: 860px) and (max-width: 899px) {
#contents #cttImg {
	max-height: 650px;
}
#contents #cttImg .main-title {
	max-height: 550px;
}
}
@media (max-width: 859px) {
#contents #cttImg {
	background-image: url("img/main-sp.jpg?202510301550");
	width: 100%;
	aspect-ratio: 1200/1800;
	height: auto;
}
#contents #cttImg .main-title {
	width: 94%;
	max-width: 650px;
}
}
@media (min-width: 510px) and (max-width: 859px) and (max-height: 599px) {
#contents #cttImg .main-title {
	height: 84vh;
	max-height: 480px;
}
}

/* メイン下の日時
----------------------------------------------------*/
#contents #first {
	background-color: #b9901e;
	margin: 0!important;
	padding: 2.5em 0;
}
#contents #first .fes-btn {
	margin: 1.5em auto 0;
}
#contents #first .sec_box {
	text-align: center;
}
#contents #first .first-date  {
	display: inline-flex;
}
#contents #first .first-date dt  {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FFF;
	width: 5em;
	flex-shrink: 0;
	border-radius: 10px;
	font-size: 22px;
	font-weight: 600;
	color: #b9901e;
	margin-right: 1em;
}
#contents #first .first-date dd  {
	text-align: left;
	color: #FFF;
	font-size: 22px;
	font-weight: 600;
}
#contents #first .first-date dd span  {
	font-size: 22px;
	font-weight: 600;
}
@media (min-width: 600px) and (max-width: 859px) {
#contents #first .first-date dt,
#contents #first .first-date dd,
#contents #first .first-date dd span  {
	font-size: clamp(1.125rem, 0.546rem + 1.54vw, 1.375rem);
}
}
@media (max-width: 599px) {
#contents #first .first-date  {
	display: flex;
	flex-flow: column;
}
#contents #first .first-date dt  {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FFF;
	width: 100%;
	border-radius: 5px;
	margin-right: 0;
	font-size: 18px;
	font-weight: 700!important;
}
#contents #first .first-date dd  {
	padding: .5em .5em 0;
	font-size: 18px;
	text-align: center;
	justify-content: center;
	position: relative;
}
#contents #first .first-date dd:after  {
	content: "";
	width: 96%;
	height: 1px;
	border-bottom: dashed 1px #FFF;
	position: absolute;
	left: 50%;
	top: calc(50% + .4em);
	transform: translate(-50%,-50%);
}
#contents #first .first-date dd span  {
	font-size: 22px;
	display: inline-block;
	margin-top: 8px;
}
}

/* bg-wa01
----------------------------------------------------*/
#contents .bg-wa01 {
	background-image: url("img/deco02-1.png"),url("img/deco02-2.png"),url("img/kinpaku.png"),url("img/bg-yellow.jpg");
	background-repeat: no-repeat,no-repeat,repeat,repeat;
	background-size: 100% 6vw, 100% 6vw, 50% auto, auto auto;
	background-position: left top, left bottom, left top, left top;
	margin: 0!important;
	position: relative;
	z-index: 0;
}
#contents .bg-wa01:before {
	content: "";
	width: 34vw;
	aspect-ratio: 750/781;
	background-image: url("img/deco01-1.png");
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	right: 0;
	top: 0;
}
#contents .bg-wa01:after {
	content: "";
	width: 31vw;
	aspect-ratio: 704/750;
	background-image: url("img/deco01-2.png");
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	bottom: 0;
}
#contents .bg-wa01 .in-wrap {
	position: relative;
	z-index: 0;
	padding: 12vw 0;
}
#contents .bg-wa01 .in-wrap:before,
#contents .bg-wa01 .in-wrap:after {
	content: "";
	width: 40vw;
	height: 7vw;
	background-image: url("img/deco03.png");
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: right top;
	position: absolute;
}
#contents .bg-wa01 .in-wrap:before {
	left: 0;
	top: 2.4vw;
}
#contents .bg-wa01 .in-wrap:after {
	right: 0;
	bottom: 1.5vw;
}
#contents .bg-wa01 .in-wrap .sec_box {
	text-align: center;
	width: 64vw;
	margin: 0 auto;
	box-sizing: border-box;
}
@media (max-width: 859px) {
#contents .bg-wa01 .in-wrap .sec_box {
	width: 86vw;
}
#contents .bg-wa01:before {
	width: 30vw;
}
#contents .bg-wa01:after {
	width: 27vw;
}
#contents .bg-wa01 .in-wrap {
	padding: 15vw 0 15vw;
}
}
@media (max-width: 699px) {
#contents .bg-wa01:before {
	width: 40vw;
}
#contents .bg-wa01:after {
	width: 37vw;
}
#contents .bg-wa01 .in-wrap {
	padding: 22vw 0 22vw;
}
#contents .bg-wa01 .in-wrap .sec_box {
	width: 90vw;
}
}


/* main
----------------------------------------------------*/
#contents #main-info h3 {
	font-size: 26px;
	color: #b50029;
	line-height: 1.8;
	font-weight: 600;
	text-align: center;
	margin-bottom: 1.5em;
}
#contents .lead {
	font-size: 16px;
	line-height: 2.4;
	text-align: center;
	font-weight: 500;
	/*width: 60vw;
	margin: 0 auto;*/
}
#contents .lead span {
	font-size: 16px;
	line-height: 2.4;
	text-align: center;
	font-weight: 500;
}
@media (min-width: 600px) and (max-width: 859px) {
#contents #main-info h3 {
	font-size: clamp(1.25rem, 0.526rem + 1.93vw, 1.563rem);
}
}
@media (max-width: 599px) {
#contents #main-info h3 {
	font-size: 20px;
}
#contents .lead ,
#contents .lead span {
	font-size: 15px;
}
}

/* sec
----------------------------------------------------*/
#contents .sec {
	padding: 0 1.5em;
	margin: 0;
}
#contents .sec-title {
	display: flex;
	justify-content: center;
	margin-bottom: 1.5em;
	margin-top: 50px;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #b9901e;
	position: relative;
}
#contents .sec-title span {
	display: inline-block;
	flex-shrink: 0;
	font-size: 32px;
	font-weight: 700;
	padding: 0 1em;
	/*background-image: url("img/bg-yellow.jpg");*/
	position: relative;
	z-index: 2;
	text-align: center;
}
#contents .sec-title:before {
	content: "";
	aspect-ratio: 700/296;
	height: 50px;
	background-image: url("img/deco04.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: auto 50px;
	position: absolute;
	left: 50%;
	top: -50px;
	transform: translate(-50%,0);
}

#contents .midashi {
	color: #FFF;
	font-size: 22px;
	padding: .5em 1.5em;
	margin-bottom: 2.5em;
	display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 0 100%, transparent 14px, #b9901e 14px), radial-gradient(circle at 100% 100%, transparent 14px, #b9901e 14px), radial-gradient(circle at 100% 0, transparent 14px, #b9901e 14px), radial-gradient(circle at 0 0, transparent 14px, #b9901e 14px);
    background-position: bottom left, bottom right, top right, top left;
    background-repeat: no-repeat;
    background-size: 50% 50%;
	position: relative;
	z-index: 0;
}
#contents .midashi:before {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	content: '';
	width: 5px;
	height: 100%;
	transform: translateX(-50%);
	background-color: #b9901e;
}
#contents .midashi:after {
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	content: '';
	width: 100%;
	height: 5px;
	transform: translateY(-50%);
	background-color: #b9901e;
}
@media (min-width: 860px) and (max-width: 1084px) {
#contents .sec-title,
#contents .sec-title span {
	font-size: clamp(1.563rem, -0.117rem + 3.13vw, 2rem);
}
#contents .midashi {
	font-size: clamp(1.063rem, 0.358rem + 1.41vw, 1.313rem);
}
}
@media (max-width: 859px) {
#contents .sec-title,
#contents .sec-title span {
	font-size: 24px;
}
#contents .midashi {
	font-size: 17px;
}
}
@media (max-width: 599px) {
#contents .sec-title,
#contents .sec-title span {
	font-size: 20px;
}
#contents .sec {
	padding: 1em 0 ;
}
#contents .sec-title {
	margin-top: 40px;
}
#contents .sec-title:before {
	height: 40px;
	background-size: auto 40px;
	top: -40px;
}
}

/* bg-wa02
----------------------------------------------------*/
#contents .bg-wa02 {
	background-image: url("img/deco06-1.png"),url("img/deco06-2.png"),url("img/bg-p01.jpg");
	background-repeat: no-repeat,no-repeat,repeat;
	background-size: 50% 15vw, 50% 15vw, 70% auto;
	background-position: left top, right top, left top;
	/*background-size: 70% auto;*/
	padding: 10vw 0 8vw;
}

/* event
----------------------------------------------------*/
#contents .event-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#contents .event-box {
	box-sizing: border-box;
	display: flex;
	flex-flow: column;
	margin: 0 0 3em;
	width: 46%;
}

#contents .event-box dl dt {
	width: 90%;
	margin: 0 auto 1em;
}

#contents .lottery {
	display: flex;
	padding: 3em 2em;
	flex-flow: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
	border: solid 1px #b9901e;
	margin: 2em 0 0;
	background-color: rgba(255,255,255,.8);
}
#contents .lottery h4 {
	width: 13em;
	margin: 0;
	flex-shrink: 0;
	margin-right: 4%;
}
#contents .lottery p {
	/*width: 55%;*/
	box-sizing: border-box;
	text-align: left;
}

/*#contents .event-box dl {
	display: flex;
	padding: 3em 2em;
	flex-flow: row-reverse;
	align-items: center;
	justify-content: center;
}
#contents .event-box dl dt {
	width: 40%;
}
#contents .event-box dl dd {
	width: 50%;
	box-sizing: border-box;
	padding-right: 3em;
	text-align: left;
}*/
@media (min-width: 600px) and (max-width: 859px) {
#contents .event-flex {
	display: flex;
	flex-flow: column;
}
#contents .event-box {
	width: 100%;
	align-items: center;
}
#contents .event-box .midashi {
	max-width: 22em;
}
#contents .event-box dl {
	display: flex;
	flex-flow: row-reverse;
	align-items: center;
	justify-content: space-between;
	padding: 0 1.5em;
}
#contents .event-box dl dt {
	width: 45%;
}
#contents .event-box dl dd {
	width: 55%;
	box-sizing: border-box;
	padding-right: 3em;
	text-align: left;
}
}
@media (max-width: 649px) {
#contents .lottery {
	padding: 2em 1.5em;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	margin: 0;
}
#contents .lottery h4 {
	width: 13em;
	flex-shrink: 0;
	margin-right: 0;
	margin-bottom: 1.5em;
}
}
@media (max-width: 599px) {
#contents .event-flex {
	display: flex;
	flex-flow: column;
}
#contents .event-box {
	width: 100%;
	align-items: center;
}
#contents .event-box .midashi {
	margin-bottom: 1.5em;
}
}

/* buffet
----------------------------------------------------*/

#contents #buffet {
	background-image: url("img/deco02-1.png"),url("img/deco02-2.png"),url("img/kinpaku.png"),url("img/bg-yellow.jpg");
	background-repeat: no-repeat,no-repeat,repeat,repeat;
	background-size: 100% 6vw, 100% 6vw, 50% auto, auto auto;
	background-position: left top, left bottom, left top, left top;
}
#contents #buffet .midashi {
	display: inline-flex;
}
#contents #buffet .buffet-slider {
	margin-bottom: 2em;
}
#contents #buffet .buffet-slider .swiper-pagination {
	position: relative;
	margin: 10px 0;
}
#contents #buffet .buffet-slider .swiper-pagination-bullet-active {
	background: #b50029!important;
}

#contents .buffet-menu {
	margin-top: 2.5em!important;
}
#contents .buffet-menu .ac-inner {
	text-align: left;
}
#contents .buffet-menu .ac-inner dt {
	margin-top: 1em;
	font-weight: 600;
	font-size: 17px;
}
#contents .buffet-menu .ac-inner dt:first-of-type {
	margin-top: 0;
}
#contents .buffet-menu .ac-inner dd {
	display: inline-block;
	margin-right: 1em;
}

#contents .fair {
	margin-top: 5em!important;
}
#contents .ennichi {
	margin: 0 auto 2em;
	width: 80%;
	max-width: 480px;
}
@media (max-width: 599px) {
#contents .buffet-menu .ac-inner dt {
	font-size: 16px;
}
#contents .ennichi {
	width: 100%;
	max-width: 100%;
}
}

/* アコーディオン
----------------------------------------------------*/
.ac-header {
	text-align: center;
	background-color: #FFF;
	color: #b9901e;
	border: double 3px #b9901e;
	font-weight: 600!important;
	font-size: 18px!important;
	padding: .5em;
	position: relative;
	z-index: +1;
	cursor: pointer;
	transition-duration: 0.2s;
}
.ac-header:hover {
	opacity: .8;
}
.ac-header .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 5%;
	width: 30px;
	height: 30px;
	border: 1px solid #b9901e;
	box-sizing: border-box;
	-webkit-transform: translate(0,-50%) rotate(45deg);
	transform: translate(0,-50%) rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
}
.ac-header .icon i {
	display: block;
	width: 14px;
	height: 14px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}
.ac-header.open .icon {
	-webkit-transform: translate(0,-50%) rotate(-360deg);
	transform: translate(0,-50%) rotate(-360deg);
}
.ac-header .icon i:before, .ac-header .icon i:after {
	display: flex;
	content: '';
	background-color: #b9901e;
	border-radius: 10px;
	width: 14px;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0,-50%) rotate(0deg);
	transform: translate(0,-50%) rotate(0deg);
	transform-origin: center center;
}
.ac-header .icon i:before {
	width: 2px;
	height: 14px;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%,0) rotate(0deg);
	transform: translate(-50%,0) rotate(0deg);
}
.ac-header.open .icon i:before {
	content: none;
}
.ac-header.open .icon i:after {
	-webkit-transform: translate(0,-50%) rotate(-45deg);
	transform: translate(0,-50%) rotate(-45deg);
}
.ac-inner {
	display: none;
	padding: 2em 1.5em;
	border-left: 1px solid #b9901e;
	border-right: 1px solid #b9901e;
	border-bottom: 1px solid #b9901e;
	box-sizing: border-box;
	background-color: rgba(255,255,255,.8);
}
@media (max-width: 599px) {
.ac-header {
	font-size: 16px!important;
}
.ac-header .icon {
	width: 24px;
	height: 24px;
}
}

/* price
----------------------------------------------------*/
#contents #price .sec_box {
	text-align: center;
}
#contents #price h4 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 1.5em;
	font-size: 24px;
	color: #b9901e;
	font-weight: 700;
}
#contents #price h4:before,
#contents #price h4:after {
	content: "";
	width: calc(50% - 3em);
	height: 1px;
	background-color: #b9901e;
}

#contents #price .price-list  {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 94%;
	margin: 4em auto;
}
#contents #price .price-list li  {
	width: 48%;
	box-sizing: border-box;
	border: solid 2px #b9901e;
	margin-bottom: 2em;
	display: flex;
	flex-flow: column;
}
#contents #price .price-list li:nth-last-child(1),
#contents #price .price-list li:nth-last-child(2):nth-child(2n+1)  {
	margin-bottom: 0;
}
#contents #price .price-list h5  {
	font-weight: 700;
	font-size: 18px;
	background-color: #b9901e;
	color: #FFF;
	padding: .5em;
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.5;
}
#contents #price .price-list h5 span  {
	font-weight: 700;
	font-size: 18px;
	color: #FFF;
}
#contents #price .price-list p  {
	padding: 1em;
	background-color: #FFF;
}
#contents #price .price-list p span {
	color: #b50029;
	font-weight: 500;
	font-size: 20px;
	margin-left: .5em;
}

@media (min-width: 860px) and (max-width: 979px) {
#contents #price .price-list h5,
#contents #price .price-list h5 span  {
	font-size: clamp(1rem, 0.097rem + 1.68vw, 1.125rem);
}
}
@media (max-width: 859px) {
#contents #price .price-list  {
	flex-flow: column;
	margin: 2em auto;
}
#contents #price .price-list li  {
	width: 100%;
	margin-bottom: 1.5em;
}
#contents #price .price-list li:nth-last-child(2):nth-child(2n+1)  {
	margin-bottom: 1.5em;
}
#contents #price .price-list h5,
#contents #price .price-list h5 span  {
	font-size: 18px;
}
#contents #price .price-list h5 br  {
	display: none;
}
}
@media (max-width: 599px) {
#contents #price {
	padding-bottom: 4em;
}
#contents #price h4 {
	font-size: 20px;
}
#contents #price .price-list h5,
#contents #price .price-list h5 span  {
	font-size: 16px;
}
}





