@charset "UTF-8";

/*---------- PAGE ----------*/

.page-header{
	display:none;
}

.page div.content{
	width:100%;
	
	background-color:#fff;
	color:#444;
}

.page div.content-inner{
	width:100%;
	margin:0 auto;
	max-width:960px;
	
	box-sizing:border-box;
	padding:15px;
	
	margin-bottom:20px;
}

.content-inner h3{
	font-size:1.75rem;
	line-height:50px;
	font-weight:bold;
	
	color:#da2;
	text-align: center;
	
	margin-bottom:15px;
}

.content-inner h3 span.note{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 80px;
	
	position: relative;
}

.content-inner h3 span.note::before{
	display:block;
	content:"";
	
	width:60px;
	height:1px;
	
	background-color:#da2;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.content-inner h3 span.note::after{
	display:block;
	content:"";
	
	width:60px;
	height:1px;
	
	background-color:#da2;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

@media only screen and (min-width: 768px){
	
	.page div.content-inner{
		padding:20px;
	}
	
	.content-inner h3{
		margin-bottom:30px;
	}
	
	.content-inner h3 span.note{
		padding:0 240px;
	}
	
	.content-inner h3 span.note::before{
		width:220px;
	}
	
	.content-inner h3 span.note::after{
		width:220px;
	}
	
}

/*-----COLOR-VARIATION-END-----*/

.cover ul{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin:0 auto;
	max-width: 1080px;
}

.cover ul li{
	width:100%;
}

.cover ul li.sp-only{
	display:block;
}

.cover ul li.pc-only{
	display:none;
}

.cover ul li img{
	width:100%;
	vertical-align: bottom;
}

@media only screen and (min-width: 768px){
	
	.cover ul li.sp-only{
		display:none;
	}
	
	.cover ul li.pc-only{
		display:block;
	}
	
}

/*----------ANNOUNCE----------*/

.announce div.post{
	width:100%;
	margin:0 auto;
	max-width:960px;
}

.announce h4{
	font-size:1.5rem;
	line-height:1.5em;
	font-weight:bold;
	
	color:#da2;
	
	box-sizing:border-box;
	padding:15px 0;
	
	text-align:left;
}

@media only screen and (min-width: 768px){
	
	.announce h4{
		text-align:center;
		
		padding:20px 0;
	}
	
}

/*----------PICKUP----------*/

.pickup div.post{
	width:100%;
	margin:0 auto;
	max-width:960px;
	
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
	justify-content:flex-start;
}

.pickup div.row{
	width:100%;
	margin-bottom:20px;
}

.pickup div.row:lastchild{
	margin-bottom:0;
}

.pickup div.row div.inner{
	box-sizing:border-box;
	padding:10px;
	border:solid 5px #ddcc22;
}

.pickup div.row h5{
	width:100%;
	
	margin-bottom:10px;
	
	font-size:1.0rem;
	line-height:30px;
	font-weight:bold;
	
	background-color:#da2;
	color:#fff;
	
	border-radius:2.5px;
	
	text-align:center;
	
	position:relative;
}

.pickup div.row h5 span.budge{
	display:block;
	
	width:280px;
	
	font-size:1.0rem;
	line-height:30px;
	font-weight:bold;
	
	text-align:center;
	
	background-color:#f80;
	color:#fff;
	
	position:absolute;
	top:-40px;
	left:0;
	right:0;
	
	margin:0 auto;
}

.pickup div.row h5 span.budge::after{
	display:block;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#f80;
	
	position:absolute;
	top:20px;
	left:40px;
	
	clip-path:polygon(0 0,100% 0,50% 100%);
}

.pickup div.row p.thumbnail{
	margin-bottom:10px;
}

.pickup div.row p.thumbnail img{
	width:100%;
	vertical-align:bottom;
	
	border-radius:5px;
}

@media only screen and (min-width: 768px){
	
	.pickup div.row{
		width:50%;
		
		box-sizing:border-box;
		padding:10px;
	}
	
	.pickup div.row h5{
		font-size:1.25rem;
		line-height:40px;
	}
	
}

/*----------CHECKPOINT----------*/

.checkpoint h3{
	font-size:1.15rem;
	line-height:1.75em;
	
	margin-bottom:15px;
}

.checkpoint p.caption{
	margin-bottom:35px;
}

.checkpoint div.post{
	width:100%;
	margin:0 auto;
	max-width:960px;
	
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
	justify-content:flex-start;
}

.checkpoint div.row{
	width:100%;
	margin-bottom:20px;
}

.checkpoint div.row:lastchild{
	margin-bottom:0;
}

.checkpoint div.row div.inner{
	box-sizing:border-box;
	padding:10px;
	
	background-color:#ffd;
	border-radius:2.5px;
}

.checkpoint div.row h4{
	font-size:1.0rem;
	line-height:1.75em;
	font-weight:bold;
	
	text-align:center;
	
	background-color:#da2;
	color:#fff;
	
	border-radius:2.5px;
	
	position:relative;
	
	box-sizing:border-box;
	padding:5px 0;
	margin-bottom:10px;
}

.checkpoint div.row h4 span.number{
	display:block;
	
	font-size:1.25rem;
	line-height:25px;
	
	width:60px;
	height:60px;
	
	box-sizing:border-box;
	padding-bottom:10px;
	border:solid 5px #da2;
	
	border-radius:50px;
	
	background-color:#da2;
	color:#fff;
	
	position:absolute;
	top:-30px;
	left:0;
	right:0;
	
	margin:0 auto;
	
	clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
}

.checkpoint div.row p{
	box-sizing:border-box;
	padding:10px;
	
	background-color:#fff;
	border-radius:5px;
}

@media only screen and (min-width: 768px){
	
	.checkpoint h3{
		font-size:1.5rem;
		line-height:1.75em;
	}
	
	.checkpoint div.row{
		width:calc(100%/3);
		
		box-sizing:border-box;
		padding:10px;
	}
	
}

/*----------OUTLINE----------*/

.outline div.row{
	margin-bottom:5px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.outline div.row:last-child{
	margin-bottom:0;
}

.outline div.row p.que{
	width:80px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f0f0f0;
	color:#000;
	
	font-size:1.0rem;
	line-height:1.75em;
	font-weight:bold;
}

.outline div.row div.ans{
	width:calc(100% - 80px);
	
	box-sizing: border-box;
	padding:10px;
	border-left:solid 5px #fff;
	
	background-color:#f0f0f0;
	color:#000;
	
	font-size:1.0rem;
	line-height:1.75em;
}

.outline div.row div.ans p.note{
	font-size:0.8rem;
	line-height:1.75em;
	
}

.outline div.row div.ans p span.attention{
	font-weight:bold;
	color:#f44;
}

.outline div.row div.ans ul.extra li{
	font-size:0.8rem;
	line-height:1.75em;
	
	box-sizing: border-box;
	padding-left:20px;
	
	position: relative;
}

.outline div.row div.ans ul.extra li::before{
	display:block;
	content:"※";
	
	position: absolute;
	top:0;
	left:5px;
}

@media only screen and (min-width: 768px){
	
	.outline div.row p.que{
		width:180px;
		
		padding:20px;
	}
	
	.outline div.row div.ans{
		width:calc(100% - 180px);
		
		padding:20px;
	}
	
}

/*----------PLACE----------*/

.place h4{
	font-size:1.5rem;
	line-height:1.75em;
	font-weight:bold;
	
	text-align: center;
	
	margin-bottom:20px;
}

.place h4 span.note{
	display:block;
	
	font-size:1.0rem;
	line-height:1.75em;
}

.place ul{
	font-size:1.0rem;
	line-height:1.75em;
	text-align: center;
	
	margin-bottom:20px;
}

.place ul.thumbnail{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.place ul.thumbnail li{
	width:100%;
	text-align: center;
}

.place ul.thumbnail li img{
	width:100%;
	vertical-align: bottom;
	max-width: 480px;
}

.place p.btn{	
	font-size:1.0rem;
	line-height:80px;
	
	text-align: center;
}

.place p.btn a{
	display:block;
	
	width:100%;
	margin:0 auto;
	max-width: 480px;
	
	box-sizing: border-box;
	border:solid 1px #000;
	
	color:#000;
	
	background-image: url("../images/event20250511/icon-arrow-right-black.webp");
	background-repeat: no-repeat;
	background-size: 25px;
	background-position: center right 15px;
	
	transition:0.25s;
}

.place p.btn a:hover{
	background-color:#000;
	color:#fff;
	
	background-image: url("../images/event20250511/icon-arrow-right.webp");
	text-decoration: none;
}

@media only screen and (min-width: 768px){
	
	.place ul.thumbnail li{
		width:50%;
	}
	
}

/*----------ENTRY----------*/

.entry p.caption{	
	font-size:1.0rem;
	line-height:1.75em;
	font-weight:bold;
	
	margin-bottom:20px;
	text-align:left;
}

.entry p.caption.ready{
	font-size:1.25rem;
	line-height:30px;
	
	box-sizing:border-box;
	padding:10px;
	
	background-color:#fee;
	color:#f44;
	
	text-align:center;
}

.entry p.caption.ready span{
	font-weight:bold;
}

.entry div.form-content{
	width:100%;
	
	box-sizing:border-box;
	border:solid 5px #f0f0f0;
	
	padding:5px;
}

.entry div.form-content div.row{
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
	justify-content:flex-start;
	
	width:100%;
	margin-bottom:10px;
}

.entry div.form-content div.row p.note{
	font-size:0.6rem;
	line-height:1.75em;
	color:#444;
}

.entry div.form-content div.row p.must{
	color:#f44;
}

.entry div.form-content div.row p.extra{
	font-size:0.6rem;
	line-height:1.75em;
	color:#444;
}

.entry div.form-content div.row div.que{
	width:100%;
	
	box-sizing:border-box;
	padding:10px;
	
	font-size:1.0rem;
	line-height:1.75em;
	
	background-color:#f8f8f8;
}

.entry div.form-content div.row div.que h6{
	font-size:1.25rem;
	line-height:30px;
	
	color:#000;
}

.entry div.form-content div.row div.ans{
	width:100%;
	
	box-sizing:border-box;
	padding:10px;
	border-top:solid 5px #fff;
	
	font-size:1.0rem;
	line-height:1.75em;
	
	background-color:#f8f8f8;
}

@media only screen and (min-width: 768px){
	
	.entry p.caption{
		text-align:center;
	}
	
	.entry div.form-content div.row{
		margin-bottom:5px;
	}
	
	.entry div.form-content div.row div.que{
		width:240px;
	}
	
	.entry div.form-content div.row div.ans{
		width:calc(100% - 240px);
		
		border-top:none;
		border-left:solid 5px #fff;
	}
	
}

/*----------FAQ----------*/

.faq div.row{
	margin-bottom:15px;
}

.faq div.row:last-child{
	margin-bottom:0;
}

.faq div.row div.inner{
	box-sizing: border-box;
	padding:10px;
	border:solid 5px #f0f0f0;
}

.faq div.row input[type="checkbox"]{
	display:none;
}

.faq div.row label{
	display:block;
	
	font-size:1.25rem;
	line-height:30px;
	font-weight:bold;
	
	box-sizing: border-box;
	padding-left:40px;
	padding-right:30px;
	
	position: relative;
}

.faq div.row label::before{
	display:block;
	content:"Q";
	
	width:30px;
	height:30px;
	
	line-height: 30px;
	
	text-align: center;
	
	position: absolute;
	top:0;
	left:0;
	
	background-color:#f0f0f0;
	color:#000;
}

.faq div.row label span.note{
	display:block;
	
	width:30px;
	height:30px;
	
	position: absolute;
	top:0;
	right:0;
	
	/*background-color:#f0f0f0;*/
}

.faq div.row label span.note::before{
	display:block;
	content:"";
	
	width:20px;
	height:2px;
	
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	
	margin:auto;
	
	background-color:#000;
}

.faq div.row label span.note::after{
	display:block;
	content:"";
	
	width:2px;
	height:20px;
	
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	
	margin:auto;
	opacity: 1.0;
	
	background-color:#000;
	
	transition:0.25s;
}

.faq div.row label:hover{
	cursor: pointer;
}

.faq div.row div.ans{
	height:0;
	line-height:0;
	
	margin-top:0;
	opacity: 0;
	visibility: hidden;
	
	transition:0.25s;
}

.faq div.row div.ans{
	display:block;
	
	font-size:1.0rem;
	line-height:1.75em;
	font-weight:bold;
	
	box-sizing: border-box;
	padding-left:40px;
	
	position: relative;
}

.faq div.row div.ans::before{
	display:block;
	content:"A";
	
	width:30px;
	height:30px;
	
	line-height: 30px;
	
	text-align: center;
	
	position: absolute;
	top:0;
	left:0;
	
	background-color:#fef;
	color:#95327A;
}

.faq div.row input[type="checkbox"]:checked ~ div.ans{
	line-height:1.75em;
	
	opacity: 1.0;
	visibility: visible;
	
	margin-top:20px;
	
	height:auto;
}

.faq div.row input[type="checkbox"]:checked ~ label span.note::after{
	opacity: 0;
}

/*----------FORMPARTS-INPUT----------*/

.formparts input[type="text"]{
	width:100%;
	max-width: 240px;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:2.0em;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

.formparts.short input[type="text"]{
	width:120px!important;
}

.formparts input[type="text"].double{
	max-width: 480px;
}

.formparts input[type="text"].minimam{
	max-width: 60px;
}

.formparts input[type="tel"]{
	width:100%;
	max-width: 180px;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:2.0em;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

.formparts input[type="email"]{
	width:100%;
	max-width: 360px;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:2.0em;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

.formparts textarea{
	width:100%;
	min-height: 120px;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:2.0em;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

.btn-action input[type="submit"]{
	display:block;
	
	width:240px;
	margin:0 auto;
	margin-top:20px;
	
	font-size:1.0rem;
	line-height:50px;
	font-weight:bold;
	
	box-sizing: border-box;
	padding:0;
	border-radius:2.5px;
	border:none;
	
	background-color:#49a;
	color:#fff;
	
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	
	transition: 0.25s;
}

.btn-action input[type="submit"]:hover{
	opacity: 0.8;
	
	text-decoration: none;
	cursor: pointer;
}

.formparts select{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	
	width:200px;
	border-radius: 2.5px;
	border:solid 1px #eee;
	margin: 0;
	padding: 5px 10px;
	
	background-color: #FFFFFF;
	background-image:url("../images/bg-icon-select.webp");
	background-repeat:no-repeat;
	background-size:10px;
	background-position:center right 10px;
	
	vertical-align: middle;
	box-sizing: content-box;
	
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	font-size:0.8rem;
	line-height:30px;
	color:#666;
}

@media only screen and (min-width: 768px){
	
	.formparts input[type="text"]{
		font-size:1.0rem;
		line-height:1.75em;
	}
	
	.formparts input[type="tel"]{
		font-size:1.0rem;
		line-height:1.75em;
	}
	
	.formparts input[type="email"]{
		font-size:1.0rem;
		line-height:1.75em;
	}
	
	.formparts textarea{
		font-size:1.0rem;
		line-height:1.75em;
	}
	
	.btn-action input[type="submit"]{
		width:360px;
		
		font-size:1.5rem;
		line-height:80px;
	}
	
	.formparts select{
		font-size:1.0rem;
		line-height:30px;
	}
	
}

/*----------ORDERFORM-CHOICE----------*/

.choices{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.choices span.wpcf7-radio{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.choices span.wpcf7-form-control-wrap{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.choices li{
	width:100%;
	margin-bottom:10px;
}

.choices span.wpcf7-radio span.wpcf7-list-item{
	width:50%;
	margin:0;
	/*margin-bottom:10px;*/
}

.choices li:last-child{
	margin-bottom:0;
}

.choices span.wpcf7-radio span.wpcf7-list-item:last-child{
	margin-bottom:0;
}

.choices li input[type="radio"]{
	display:none;
}

.choices span.wpcf7-radio span.wpcf7-list-item input[type="radio"]{
	display:none;
}

.choices li label{
	display:block;
	
	width:100%;
	font-size:1.0rem;
	line-height:50px;
	
	background-color:#fff;
	border-radius:2.5px;
	
	box-sizing: border-box;
	padding-left:50px;
	
	position: relative;
}

.choices span.wpcf7-radio span.wpcf7-list-item label{
	display:block;
}

.choices span.wpcf7-radio span.wpcf7-list-item label span.wpcf7-list-item-label{
	display:block;
	
	width:100%;
	font-size:1.0rem;
	line-height:50px;
	
	background-color:#fff;
	border-radius:2.5px;
	
	box-sizing: border-box;
	padding-left:50px;
	
	position: relative;
}

.choices li label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#f8f8f8;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	border-radius:30px;
	
	margin:auto 0;
}

.choices span.wpcf7-radio span.wpcf7-list-item label span.wpcf7-list-item-label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#f8f8f8;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	border-radius:30px;
	
	margin:auto 0;
}

.choices li label::after{
	display:none;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#49a;
	
	position: absolute;
	top:0;
	bottom:0;
	left:15px;
	
	border-radius:30px;
	
	margin:auto 0;
}

.choices span.wpcf7-radio span.wpcf7-list-item label span.wpcf7-list-item-label::after{
	display:none;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#49a;
	
	position: absolute;
	top:0;
	bottom:0;
	left:15px;
	
	border-radius:30px;
	
	margin:auto 0;
}

.choices li input[type="radio"]:checked ~ label::after{
	display:block;
}

.choices span.wpcf7-radio span.wpcf7-list-item label input[type="radio"]:checked ~ span.wpcf7-list-item-label::after{
	display:block;
}

@media only screen and (min-width: 768px){
	
	.choices.twin li{
		width:100%;
	}
	
	.choices span.wpcf7-radio span.wpcf7-list-item{
		width:50%;
	}
	
}
