@charset "utf-8";
/*///////////////////////////////////

reset

///////////////////////////////////*/


/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

/*///////////////////////////////////

common

///////////////////////////////////*/
body {
	background-color: #f9edcd;
	background-image: url(../img/bg_body.webp), url(../img/bg_body.webp);
	background-size: auto 430px;
	background-position: left, right;
	background-repeat: repeat-y;
	background-attachment: fixed;
}

.wrap {
	font-family: "Kiwi Maru", serif;
	font-size: clamp(0.8rem, 0.727rem + 0.36vw, 1rem);

	background-color: #89cbd4;
	max-width: 1200px;
	min-width: 320px;
	margin: 30px auto;
	border-radius: 25px;
	box-shadow: 0px 0px 5px #beb382;
	overflow: hidden;
}

.wrap img {
	max-width: 100%;
	height: auto;
}

.pcnone {
	display: none;
}

@media screen and (max-width: 600px) {
	.pcnone {
		display: inline;
	}

	.spnone {
		display: none;
	}
}

.inner {
	margin: 20px;
}

/*///////////////////////////////////

header

///////////////////////////////////*/


.wrap header {
	background-color: #89cbd4;
	background-image: url(../img/bg_header_bottom.webp), url(../img/bg_header.webp);
	background-size: 100% auto, cover;
	background-repeat: no-repeat;
	background-position: bottom -2px center, top center;

	padding: 30px 20px 20%;
}

.wrap header .link_contents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.link_contents img {
	display: block;
	height: clamp(70px, 10vw, 130px);
	padding: 20px;
}

.wrap header h1 {
	text-align: center;
}

img.title {
	width: 880px;
}

img.tips_fooddrive {
	width: 840px;
	margin-top: 20px;
}


/*///////////////////////////////////

read

///////////////////////////////////*/

.wrap .read {
	font-weight: bold;
	text-align: center;
	padding: 30px 0px;
}

.wrap .read p {
	display: block;
	width: 80%;

	background-image: url(../img/bg_read.jpg), url(../img/bg_read.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: bottom center, top center;

	font-size: clamp(1.2rem, 0.545rem + 3.27vw, 3rem);
	line-height: 120%;

	color: #ffffff;
	padding: 50px 20px;
	margin: 0px auto;
}

.wrap .read p span {
	display: inline-block;
}

/*///////////////////////////////////

period

///////////////////////////////////*/

.wrap .period {
	background-color: #fff;
	border-radius: 25px;
	color: #3f2b20;
	padding: 30px 20px;
}

@media screen and (max-width: 800px) {
	.wrap .period {
		padding: 30px 10px;
	}

}


.wrap .period h2 {
	background-image: url(../img/hr_dot.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
	text-align: center;

	padding-bottom: clamp(10px, 3vw, 30px);
	margin-bottom: 30px;
}

.wrap .period .period_box {
	background-color: #fffddc;
	padding: 20px 10px;
	margin-bottom: 40px;
	border-radius: 15px;
}

.wrap .period .period_box>h3 {
	background-color: #fac83e;
	border-radius: 50px;
	text-align: center;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
	padding: 10px;
	margin-bottom: 20px;
}

.wrap .detail_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;

}

.wrap .detail_box>dt {
	background-color: #facb3e76;
	width: 20%;
	text-align: center;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
	font-weight: bold;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 10px;
}

.wrap .detail_box>dd {
	width: calc(80% - 10px);
	padding: 10px;
	box-sizing: border-box;
}

@media screen and (max-width: 800px) {
	.wrap .detail_box>dt, .wrap .detail_box>dd {
		width: 100%;
	}
}



.wrap .bg_y {
	background-color: #fac83e;
	display: block;
	width: fit-content;
	border-radius: 2px;
	font-size: 1rem;
	letter-spacing: 4px;

	padding: 2px 6px 2px 10px;
}

.wrap .line {
	font-family: "Mochiy Pop One", sans-serif;
	font-size: clamp(1.2rem, 0.909rem + 1.45vw, 2rem);
	background: linear-gradient(transparent 70%, #facb3e76 70%);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.wrap .attention {
	text-align: center;
	margin-top: 20px;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
	font-weight: bold;
}



.wrap .period .time {
	width: fit-content;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;

	margin: 20px 0;
}

@media screen and (max-width: 600px) {
	.wrap .period .time {
		max-width: 17rem;
	}
}

.wrap .period .time dt {
	background-color: #fac83e;
	width: 5rem;
	text-align: center;
	border-radius: 50px;
}

.wrap .period .time dt:last-of-type {
	background-color: rgba(235, 122, 171, 0.548);
}

@media screen and (max-width: 600px) {
	.wrap .period .time dt {
		width: 11rem;
	}

	.wrap .period .time dd {
		width: 11rem;
	}
}




/*///////////////////////////////////

location

///////////////////////////////////*/

.wrap .location {
	background-color: #fff;
	border-radius: 25px;

	color: #3f2b20;

	padding: 30px 20px;
}

.wrap .location h2 {
	background-image: url(../img/hr_dot.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
	text-align: center;

	padding-bottom: clamp(10px, 3vw, 30px);
	margin-bottom: 50px;
}

.wrap .location p {
	display: block;
	width: fit-content;
	margin: 0px auto;
}

.wrap .location .place {
	display: block;
	margin-top: 10px;
}

.wrap .location .support_message {
	width: fit-content;
	background-color: rgba(235, 122, 171, 0.2);
	padding: 20px;
	margin: 30px auto 0px;

	border-radius: 25px;
}

.wrap .location .support_message h3 {
	margin-bottom: 10px;
}

.wrap .location .support_message h3::before {
	content: "●";
	color: #eb7aab;
	margin-right: 5px;
}

/*///////////////////////////////////

rules

///////////////////////////////////*/

.rules ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	margin-top: 50px;
}

.rules ul li {
	width: calc(50% - 10px);
	background-color: #ffffff;

	box-sizing: border-box;
	border-radius: 25px;
	border: 6px solid #000;


	padding: 20px;
	margin-bottom: 20px;
}

@media screen and (max-width: 700px) {
	.rules ul li {
		width: 100%;
	}
}



.rules ul li.ok {
	border-color: #eb7aab;
}

.rules ul li.ok h3 {
	background-color: #eb7aab;
	text-align: center;
	color: #ffffff;

	border-radius: 20px;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);

	padding: 10px;
	margin-bottom: 20px;

}

.rules ul li.ok .box {
	background-image: url(../img/bg_maru.webp);
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center center;
}

.rules ul li.ok .box p {
	border-top: 4px dotted #eb7aab;
	padding-top: 20px;
	margin-top: 20px;
}

.rules ul li.no {
	border-color: #46a5e0;
}

.rules ul li.no h3 {
	background-color: #46a5e0;
	text-align: center;
	color: #ffffff;

	border-radius: 20px;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);

	padding: 10px;
	margin-bottom: 20px;

}


.rules ul li.no .box {
	background-image: url(../img/bg_batsu.webp);
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center center;
}

.rules ul li.no .box p {
	border-top: 4px dotted #46a5e0;
	padding-top: 20px;
	margin-top: 20px;
}


/*///////////////////////////////////

message

///////////////////////////////////*/

.message {
	background-image: url(../img/bg_footer.webp);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: bottom -2px center;

	text-align: center;
	padding: 30px 0px;
	padding-bottom: clamp(100px, 12vw, 250px);
	;
}

.wrap .message h2 {
	width: 80%;

	font-size: clamp(1.2rem, 0.545rem + 3.27vw, 3rem);
	line-height: 120%;

	color: #ffffff;
	padding: 30px 20px;
	margin: 0px auto;
}

.wrap .message h2 span, .wrap .message p span {
	display: inline-block;
}

.wrap .message .on {
	width: clamp(150px, 25vw, 300px);
}

.wrap .message p {
	margin: 20px;
}



/*///////////////////////////////////

footer

///////////////////////////////////*/

footer {
	background-color: #ffffff;
	padding: 30px 0px;
	text-align: center;
	line-height: 200%;
	color: #757073;
}


footer .inner {
	background-image: url(../img/hr_dot.png), url(../img/hr_dot.png);
	background-repeat: no-repeat;
	background-position: center top, center bottom;
	background-size: 100% auto;

	width: 80%;
	padding: 30px 0px;
	margin: 0px auto 30px;
}

footer .title {
	color: #46a5e0;
	font-size: 1.2rem;
}