@charset "utf-8";

/* common */
:root {
	--main-color: #5a801d;
	--sub-color01: #d5e7b9;
	--sub-color02: #f2b557;
	--gold-color: #b7a43c;
	--silver-color: #89a4ac;
	--kojitu-color: #005c3f;
}

.gold {
	color: var(--gold-color);
}

.silver {
	color: var(--silver-color);
}

.basic {
	color: var(--kojitu-color);
}

.overline span {
	font-size: 100%;
	font-weight: 700;
	position: relative;
	display: inline-block;
}

.overline span::before {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 2px;
	background: #000;
}

.premium {
	max-width: 950px;
	width: 100%;
	margin: 100px auto;
}

.ib {
	display: inline-block;
	font-size: 100%;
	font-weight: 700;
}

.premium .ricepl_sec {
	margin-bottom: 50px;
}

.premium .ricepl_sec p {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.caution {
	font-size: 1.5rem !important;
	font-weight: 400 !important;
}

.caution .ib {
	font-weight: 400;
}

picture {
	display: block;
}

.caption {
	width: 100%;
	border: solid 1px #666;
	padding: 20px;
}

.caption .caption_item {
	width: 100%;
}

/* .caption .caption_item:first-of-type { 
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: dotted 1px #999;
} */

.caption .caption_item_wrap {
	width: 100%;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.caption .caption_item_wrap div {
	width: 70%;
}

.caption .caption_item_wrap img {
	display: block;
	width: 25%;
}

.caption h5,
.caption .caption_item_wrap h5,
#staff .staff_wrap div p:first-of-type {
	width: 100%;
	font-size: 1.8rem;
	padding-bottom: 10px;
	line-height: 1;
	font-weight: 700;
	border-bottom: solid 1px #999;
	margin-bottom: 15px;
}

.caption h5 {
	text-align: center;
	padding-left: 0;
	padding-right: 0;
}

.caption .caption_item_wrap h5 {
	text-align: start;
	padding-left: 0;
}

.caption p,
.caption ul li {
	font-size: 1.6rem !important;
	font-weight: 400 !important;
}

.caption p {
	margin-bottom: 0 !important;
}

.caption p .ib {
	font-weight: 400 !important;
}

.caption .caption_item_wrap p,
#staff .staff_wrap div p:last-of-type {
	font-size: 1.6rem !important;
	line-height: 1.5;
	margin-bottom: 20px !important;
	text-align: start;
}

.caption .caption_item_wrap .ib {
	font-weight: 400;
}

.caption .caption_item_wrap a {
	display: block;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	padding: 10px 0;
	background-color: var(--sub-color02);
	border: solid 1px var(--sub-color02);
	color: #fff;
}

.caption .caption_item_wrap a:hover {
	opacity: 1 !important;
	color: var(--sub-color02);
	background-color: #fff;
}

.ricepl_sec .item_sec {
	width: 100%;
	margin-bottom: 80px;
}

.ricepl_sec .item_sec:last-of-type {
	margin-bottom: 0px;
}

.ricepl_sec h2 {
	width: 100%;
	padding: 0;
	text-align: center;
	font-size: 2.5rem;
	line-height: 1.8;
	color: #fff;
	background-color: var(--main-color);
	margin-bottom: 25px;
}

.ricepl_sec .item_sec h3 {
	width: 100%;
	text-align: center;
	padding: 0;
	font-size: 1.8rem;
	line-height: 1.7;
	color: var(--main-color);
	background-color: var(--sub-color01);
	margin-bottom: 25px;
}

.ricepl_sec .item_sec h4 {
	width: 100%;
	text-align: center;
	position: relative;
	font-size: 1.8rem;
	margin-bottom: 15px;
	line-height: 1;
	padding: 0;
}

.ricepl_sec .item_sec h4::before,
.ricepl_sec .item_sec h4::after {
	position: absolute;
	content: "";
	display: block;
	width: 30%;
	height: 1px;
	background-color: #666;
	top: calc(50% - 0.5px);
}

.ricepl_sec .item_sec h4::before {
	left: 0;
}

.ricepl_sec .item_sec h4::after {
	right: 0;
}

.list li {
	font-size: 1.8rem;
	margin-bottom: 10px;
	text-indent: -1em;
	padding-left: 1em;
}

.application h4 {
	width: 100%;
	padding: 0;
	text-align: center;
	font-size: 2.5rem;
	line-height: 1;
	color: var(--main-color);
	margin-bottom: 10px;
}

.application .application_catch {
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.application .application_list {
	width: 100%;
	display: flex;
	justify-content: center;
}

.application .application_list div {
	width: 100%;
	margin-right: 15px;
}

.application .application_list div:last-of-type {
	margin-right: 0;
}

.application .application_list div a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.5rem;
	font-weight: 700;
	padding: 30px 0;
	text-align: center;
	width: 100%;
	color: #fff;
	background-color: var(--sub-color02);
	border: solid 1px var(--sub-color02);
}

.application .application_list div a:first-of-type {
	margin-bottom: 30px 0;
}

.application .application_list div a br {
	display: none;
}

.application .application_list div a:hover {
	opacity: 1;
	background-color: #fff;
	color: var(--sub-color02);
}

.application .caption {
	font-size: 1.3rem;
	margin-top: 1%;
}

/* common */

#top {
	margin-bottom: 50px;
}

#top h1 {
	padding: 0;
}

.food_pj {
	margin-bottom: 30px;
}

.food_pj a,
.food_pj a img,
#top h1,
#top h1 img {
	display: block;
	width: 100%;
}

#intro .intro_ttl {
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 1.7;
	margin-top: 30px;
	margin-bottom: 30px;
	color: var(--kojitu-color);
}

#intro .intro_ttl span {
	font-weight: 900;
	font-size: 100%;
}

#intro .intro_desc {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 50px;
}

.caption {
	margin-top: 50px;
	width: 100%;
}

.tokuten {
	margin-top: 50px;
	width: 100%;
	background-color: #feffcc;
	padding: 30px;
}

.tokuten h5 {
	font-size: 2.5rem;
	text-align: center;
	padding-bottom: 15px;
	margin-bottom: 5px;
	color: #e76d00;
	line-height: 1;
}

.tokuten ul {
	width: 100%;
	/* display: flex;
	flex-wrap: wrap;
	justify-content: space-between; */
	margin-bottom: 15px;
}

.tokuten ul li {
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.2;
	padding: 10px;
	background-color: #e76d00;
	color: #fff;
	/* width: 49%; */
	width: 100%;
}

.tokuten ul li:first-child {
	margin-bottom: 15px;
}

.tokuten h6 {
	font-size: 1.6rem;
	width: 100%;
	padding: 5px 0;
	color: #e76d00;
	background-color: #fff;
	margin-bottom: 5px;
}

.tokuten ul li p {
	font-size: 1.6rem;
}

.tokuten p {
	width: 100%;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 400;
}

#intro .strong {
	font-size: 140%;
	font-weight: 700;
	color: #e76d00;
}

#intro .intro_desc_bg {
	font-size: 2rem;
	width: 100%;
	padding: 15px;
	background-color: #feffcc;
	line-height: 1.7;
}

#date .caution {
	margin-bottom: 30px;
}

#date .map {
	width: 60%;
	margin: 25px auto 0;
	aspect-ratio: 16 / 9;
}

#date .map iframe {
	height: 100%;
}

#date .end {
	position: relative;
	padding: 30px 10px;
}

#date .end_txt {
	position: absolute;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(50, 50, 50, .7);
	height: 100%;
	top: 0;
	left: 0;
	z-index: 5;
}

#date .end_txt p {
	text-align: center;
	font-size: 2rem;
	color: #fff;
}

#set .item_sec .caption {
	margin-top: 15px;
	margin-bottom: 50px;
}

#set .item_sec li {
	width: 100%;
	text-align: center;
	font-size: 2rem;
	margin-bottom: 5px;
	font-weight: 700;
}

#set .item_sec li:last-child {
	margin-bottom: 0;
}

#set .item_sec li .ib {
	font-weight: 700;
}

#schedule h3 {
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 5px;
}

#schedule table {
	width: 100%;
}

#schedule table:first-of-type {
	margin-bottom: 20px;
}

#schedule th {
	width: 20%;
	color: var(--main-color);
	background-color: var(--sub-color01);
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	border-right: solid 2px #fff;
}

#schedule tr {
	border-bottom: solid 2px #fff;
}

#schedule td {
	background-color: #efefef;
	border-right: solid 2px #fff;
	padding: 1%;
	font-size: 1.7rem;
	text-align: center;
}

#schedule .table_time {
	width: 20%;
}

#schedule td p,
#schedule td ul li {
	text-align: start;
}

#schedule td p {
	margin-bottom: 10px;
	font-weight: 400;
}

#schedule td p:last-of-type {
	margin-bottom: 0;
}

#staff .staff_wrap {
	width: 100%;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

/* #staff .staff_wrap:first-of-type { 
	padding-bottom: 50px;
	margin-bottom: 50px;
	border-bottom: dotted 1px #999;
} */

#staff .staff_wrap div {
	width: 70%;
}

#staff .staff_wrap img {
	display: block;
	width: 25%;
}


#staff .staff_wrap div p:first-of-type {
	text-align: start;
}

#staff .staff_wrap div p:last-of-type {
	font-weight: 400;
}

#price .member {
	line-height: 1.4;
	margin-bottom: 5px;
	padding-bottom: 10px;
	border-bottom: solid 1px #666;
}

#price div {
	margin-bottom: 50px;
}

#price div:last-of-type {
	margin-bottom: 0;
}

#period table {
	width: 100%;
	margin-bottom: 30px;
}

#period th {
	width: 50%;
	color: var(--main-color);
	background-color: var(--sub-color01);
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	border-right: solid 2px #fff;
}

#period tr {
	border-bottom: solid 2px #fff;
}

#period td {
	background-color: #efefef;
	border-right: solid 2px #fff;
	padding: 2% 0;
	font-size: 1.7rem;
	text-align: center;
}

#period td span {
	font-size: 110%;
	font-weight: 700;
}

#period td .ib {
	font-weight: 400;
}

#recommend .recommend_item {
	width: 100%;
	margin-bottom: 100px;
}

#recommend .recommend_item_catch {
	font-size: 2.5rem;
	margin-bottom: 15px;
}

#recommend .recommend_item:last-of-type {
	margin-bottom: 0;
}

#recommend .recommend_item_list {
	width: 100%;
	display: flex;
	justify-content: center;
}

#recommend .recommend_item_list li {
	width: 47%;
}

#recommend .recommend_item_list li img {
	width: 100%;
}

#recommend a {
	display: block;
	width: 100%;
}

#recommend .recommend_item_link01 {
	margin-bottom: 10px;
}

#recommend .recommend_item_link02 {
	background-color: #000;
	color: #fff;
	text-align: center;
	line-height: 1;
	padding: 30px 0;
	font-size: 1.8rem;
}

#recommend .jender {
	font-size: 1.7rem;
	width: 30%;
	color: #fff;
	margin: 0 auto 10px auto;
}

#recommend .men {
	background-color: #237caf;
}

#recommend .women {
	background-color: #d97676;
}

#recommend .unisex {
	background-color: #ffb033;
}

#recommend .item_name {
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 10px;
}

#recommend .item_price {
	font-size: 1.7rem;
	margin-bottom: 15px;
}

#recommend .item_intro {
	font-size: 1.7rem;
	font-weight: 400;
	margin-bottom: 10px;
}

#recommend .item_intro .ib {
	font-weight: 400;
	font-size: 100%;
}

#gsmall {
	width: 100%;
	background-color: #007896;
	padding: 30px;
}

#gsmall img {
	display: block;
	width: 100%;
	margin-bottom: 15px;
}

#gsmall a {
	display: block;
	width: 80%;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
	font-size: 3rem;
	font-weight: 700;
	background-color: #ffff00;
	color: #000;
	border-radius: 50px;
}


#condition a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	font-size: 2.5rem;
	font-weight: 700;
	padding: 30px 0;
	transition: all .2s;
	text-align: center;
}

#condition a br {
	display: none;
}

#condition .kojitu_member_link {
	color: #fff;
	background-color: var(--kojitu-color);
	border: solid 1px var(--kojitu-color);
	/* margin-bottom: 30px; */
}

#condition .kojitu_member_link:hover {
	color: var(--kojitu-color);
	background-color: #fff;
}

#condition .premium_member_link {
	color: #fff;
	background-color: var(--gold-color);
	border: solid 1px var(--gold-color);
	margin-bottom: 30px;
}

#condition .premium_member_link:hover {
	color: var(--gold-color);
	background-color: #fff;
}

#condition .caption {
	margin-top: 30px;
}

#condition .caption a {
	margin-top: 20px;
	color: #fff;
	background-color: var(--sub-color02);
	border: solid 1px var(--sub-color02);
}

#condition .caption a:hover {
	opacity: 1;
	background-color: #fff;
	color: var(--sub-color02);
}

#condition .caption ul {
	margin-top: 10px;
}

#condition .caption li {
	font-size: 2rem !important;
	text-align: center;
	margin-bottom: 5px;
}

#condition .caption li span {
	display: inline-block;
	font-weight: 700;
	font-size: 100% !important;
}

#condition .caption li:last-child {
	font-size: 1.7rem !important;
	margin-bottom: 0;
}

#recommend_food_pj .food_pj_shopinfo {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 50px;
}

#recommend_food_pj .food_pj_catch {
	margin-bottom: 10px;
}

#recommend_food_pj ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 80px;
}

#recommend_food_pj ul li {
	width: 32%;
	text-align: center;
	margin-bottom: 1em;
}

#recommend_food_pj ul li a {
	display: block;
	width: 100%;
	padding: 20px 0;
	background-color: var(--main-color);
	border: solid 1px var(--main-color);
	color: #fff;
	transition: all .2s;
	font-size: 1.8rem;
	font-weight: 700;
}

#recommend_food_pj ul li a:hover {
	background-color: #fff;
	color: var(--main-color);
}

#recommend_food_pj img {
	width: 100%;
}

#recommend_food_pj .gh_gs {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
	padding: 30px 0;
	color: #000;
	background-color: #ffff00;
	border: solid 1px #ffff00;
	transition: all .2s;
}

#recommend_food_pj .gh_gs:hover {
	background-color: #ffffbc;
	color: #000 !important;
	opacity: 1;
}

#recommend_food_pj .gh_gs br,
#condition h2 br {
	display: none;
}

.timerHidden {
	display: none;
}

.timerVisible {
	display: block;
}

.event_img {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-top: 50px;
}

.event_img li {
	width: 50%;
}

.event_img li img {
	width: 100%;
}

/* #application p {
	font-weight: 600;
	text-align: left;
	font-size: 2rem;
	line-height: 1.5;
	margin: 5% 0;
} */

/* イベントへの想い */
#application.ricepl_sec {
	width: 100%;
	margin: 50px auto;
	padding: 0;
	box-sizing: border-box;
	color: #222;
	line-height: 2;
}


/* 画像とテキストの共通設定 */
#application .omoi_wrap {
	display: flex;
	align-items: flex-start;
	width: 100%;
	margin: 30px 0;
	gap: 20px;
}

/* 画像 */
#application .omoi_wrap img {
	display: block;
	width: calc(60% - 10px);
	height: auto;
	flex-shrink: 0;
	object-fit: cover;
}

/* テキスト */
#application .omoi_wrap p {
	flex: 1;
	min-width: 0;
	margin: 10px 0 0;
	font-size: 16px;
	line-height: 2.2;
	overflow-wrap: break-word;
	font-weight: 600;
	text-align: left;
}

/* 画像を右側に配置 */
#application .omoi_wrap.phot_right {
	flex-direction: row-reverse;
}

/* 各ブロックの間隔 */
#application .omoi_wrap+.omoi_wrap {
	margin-top: 0;
}

/* PC：画像と文章を交互に組み合わせる */
@media screen and (min-width: 768px) {
	#application .omoi_wrap.phot_left img {
		width: 58%;
	}

	#application .omoi_wrap.phot_right img {
		width: 58%;
	}

	#application .omoi_wrap.phot_left p,
	#application .omoi_wrap.phot_right p {
		width: 42%;
	}
}

/* スマートフォン */
@media screen and (max-width: 767px) {
	#application.ricepl_sec {
		padding: 0 15px;
	}

	#application.ricepl_sec h2 {
		margin-bottom: 24px;
		font-size: 20px;
	}

	#application .omoi_wrap,
	#application .omoi_wrap.phot_right {
		flex-direction: column;
		gap: 12px;
		margin-bottom: 30px;
	}

	#application .omoi_wrap img {
		width: 100%;
	}

	#application .omoi_wrap p {
		width: 100%;
		margin: 0;
		font-size: 15px;
		line-height: 1.9;
	}

	#application .pc {
		display: none;
	}
}


/* -------------- resonsive -------------- */
@media screen and (max-width:950px) {
	.premium {
		width: 85%;
		margin: 5% auto;
	}
}

@media screen and (max-width:768px) {
	.premium {
		width: 90%;
	}

	.ricepl_sec .item_sec h4::before,
	.ricepl_sec .item_sec h4::after {
		width: 20%;
	}
}

@media screen and (max-width:600px) {
	#intro .tokuten ul li {
		width: 100%;
	}


	.food_pj {
		margin-bottom: 10px;
	}

	.premium {
		letter-spacing: 0.02rem;
	}

	.premium .ricepl_sec {
		margin-bottom: 50px;
	}

	.ricepl_sec .item_sec h3 {
		margin-bottom: 10px;
	}

	.ricepl_sec h2 {
		font-size: 5vw;
	}

	#intro .tokuten {
		padding: 20px;
	}

	/* #intro .tokuten ul {flex-direction: column;}  */

	#intro .tokuten ul li {
		width: 100%;
	}

	#intro .tokuten ul li:first-child {
		margin-bottom: 20px;
	}

	#intro .intro_ttl {
		font-size: 4.7vw;
		letter-spacing: 0;
	}

	#intro .intro_desc,
	#intro .intro_ttl,
	#intro .caution {
		text-align: start;
	}



	#intro .intro_desc,
	.caption .caption_item_wrap h5,
	.caption .caption_item_wrap a,
	.ricepl_sec .item_sec h3,
	.ricepl_sec .item_sec h4,
	#set .item_sec li,
	#staff .staff_wrap div p:first-of-type,
	.list li,
	#price .member,
	#recommend .item_name,
	#recommend .recommend_item_catch,
	#recommend_food_pj .food_pj_shopinfo,
	#recommend_food_pj ul li a,
	#condition a,
	#date .end_txt p,
	#intro .tokuten h6,
	#intro .tokuten ul li p {
		font-size: 4vw;
	}

	.caption .caption_item_wrap p,
	.caption p,
	.caption ul li,
	#staff .staff_wrap div p:last-of-type {
		font-size: 4vw !important;
	}

	.caption .caption_item_wrap,
	#staff .staff_wrap {
		flex-direction: column-reverse;
	}

	.caption .caption_item_wrap img {
		width: 40%;
		margin-bottom: 20px;
	}

	.caption .caption_item_wrap div,
	#date .map,
	#staff .staff_wrap div {
		width: 100%;
	}

	.caption .caption_item_wrap h5,
	.caption .caption_item_wrap p,
	#staff .staff_wrap div p:first-of-type {
		text-align: center;
	}

	.caption .caption_item_wrap a {
		padding: 25px 0;
	}

	.caution {
		font-size: 2.8vw !important;
	}

	.premium .ricepl_sec p,
	.application h4,
	.application .application_list div a,
	#recommend .recommend_item_link02,
	#recommend_food_pj .gh_gs,
	#intro .tokuten h5 {
		font-size: 4.5vw;
	}

	#schedule th,
	#schedule td,
	#schedule td p,
	#recommend .item_intro {
		font-size: 3.5vw;
	}

	#schedule td ul li,
	#period th,
	#period td {
		font-size: 3vw;
	}

	#schedule table:first-of-type {
		margin-bottom: 50px;
	}

	#schedule th {
		width: 25%;
	}

	#schedule .table_time {
		width: 15%;
	}

	#staff .staff_wrap {
		align-items: center;
	}

	#staff .staff_wrap img {
		width: 50%;
		margin-bottom: 20px;
	}

	#period th {
		width: 40%;
	}

	#period td span {
		font-size: 100%;
	}

	#recommend .recommend_item_list li {
		width: 100%;
	}

	#recommend .jender {
		font-size: 3.5vw;
		width: 100%;
	}

	#recommend .recommend_item_link02 {
		padding: 35px 0;
	}

	#gsmall a {
		width: 100%;
		font-size: 5.5vw;
		padding: 20px 0;
	}

	.application .application_catch {
		font-size: 4vw !important;
	}

	#condition a br,
	.application .application_list div a br,
	#recommend_food_pj .gh_gs br,
	#condition h2 br {
		display: block;
	}

	#recommend_food_pj ul li {
		width: 100%;
		margin-bottom: 20px;
	}

	#recommend_food_pj ul li:last-child {
		margin-bottom: 0;
	}

	#recommend_food_pj ul li a {
		padding: 30px 0;
	}

	#condition .caption li {
		font-size: 3.5vw !important;
		margin-bottom: 10px;
	}

	#condition .caption p,
	#condition .caption li:last-child {
		font-size: 3vw !important;
	}

	.event_img li {
		width: 50%;
	}

	.premium .ricepl_sec p.catch_txt {
		text-align: left;
	}

}


/*ボタン*/

/* ページ内リンクボタン */
.anchor_btn_wrap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 30px 0;
}

.anchor_btn {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 56px;
	padding: 14px 10px;
	align-items: center;
	justify-content: center;
	border: 1px solid #005c3f;
	border-radius: 4px;
	background: #fff;
	color: #005c3f;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: background-color 0.3s, color 0.3s;
}

.anchor_btn:hover {
	background: #005c3f;
	color: #fff;
}

html {
	scroll-behavior: smooth;
}

/* スマートフォン */
@media screen and (max-width: 480px) {
	.anchor_btn {
		padding: 12px 6px;
		font-size: 14px;
	}
}