@charset "UTF-8";
/* CSS Document */

@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

/* ----------------------------------------------
	共通設定
------------------------------------------------- */
.stageWrap {
	width: calc(100% - 20px);
	margin: auto;
}

body {
	padding-top: 55px;
	color: #3e3a39;
}
section {
	margin: 0;
}

.date {
	font-weight: bold;
}
.year {
	font-size: 80%;
	font-weight: normal;
}
.week {
	font-size: 80%;
	font-weight: normal;
}

.notes,
.disc {
	padding-left: 1em;
	font-size:14px;
}
.notes > li,
.disc > li {
	text-indent: -1em;
}
.notes > li::before {
	content: '※';
	font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}
.disc > li::before {
	content: '・';
	font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}
ol {
	counter-reset: listnum;
}
ol > li {
	padding-left: 2em;
	
	position: relative;
}
ol > li::before {
	counter-increment: listnum;
	content: counter(listnum) '.';

	position: absolute;
	top: 0;
	left: 0;

	font-weight: bold;
	
	width: 1.8em;
	box-sizing: border-box;
	
	display: grid;
	place-items: center;
}

#list .spot_note{
  font-size: 13px;
  color: #E95738;
  order: 4;
  grid-column: 2 / 4;
  line-height: 1;
  padding-bottom: 4px;
}
#list .spot_name {
  order: 2;
}

.end {
    text-align: center;
    margin: 0 auto;
    padding: 20px 0 0;
	font-weight: bold;
	color: #d23631;
	background-color: #fff;
	border-radius: 10px 10px 0 0;
    }


/* ----------------------------------------------
	イベントとイメージ
------------------------------------------------- */
#mainimages {
	background-color: #f6a500;
}
#mainimages .stageWrap {
	padding: 0 0 50px;
}
#mainimages .stageWrap h1 {
	background-image: url("../images/title_sp.png");
	background-position: center;
	background-repeat: no-repeat;
	/*background-size: contain;*/
	background-size: 100%;
	width: 100%;
	height: 0;
	/* 縦 / 横 * 100 */
	padding-top: 30.6%;
}
#mainimages .stageWrap h1 + p {
	color: #FFF;
	font-weight: bold;
	text-align: center;
	margin: 10px 0;
}
#mainimages .stageWrap dl {
	background-color: #fff;
	padding: 15px;
}
#mainimages .stageWrap dl:nth-of-type(1) {
	/*border-radius: 10px 10px 0 0;*/
	padding-bottom: 0;
}
#mainimages .stageWrap dl:nth-of-type(2) {
	border-radius: 0 0 10px 10px;
}
#mainimages .stageWrap dl dt {
	background-color: #d23631;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
#mainimages .stageWrap dl dd {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
}
#mainimages .stageWrap dl dd .year,
#mainimages .stageWrap dl dd .week {
	font-weight: bold;
}


/* ----------------------------------------------
	プレゼント
------------------------------------------------- */
#present {
	background-image: url("../images/present_bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
#present .stageWrap {
	position: relative;
	padding-top: 60px;
}
#present .stageWrap::before {
	content: '';
	
	background-image: url("../images/present_img.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	
	border-bottom: none;
	
	display: block;
	width: 100%;
	height: 180px;
	margin: 0;
}
#present .stageWrap h2 {
	background-image: url("../images/present_sub-title_sp.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	
	position: absolute;
	top: -35px;
	
	width: 100%;
	height: 100px;
	margin: 0;
}
#present .stageWrap h2::after {
	content: none;
}
#present .stageWrap h2 + p {
	background-color: #562b00;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	padding: 5px;
}
#present .stageWrap div {
	background-color: #fff;
	border-radius: 10px;

	margin-top: 20px;
	padding: 10px;
	padding-left: 50px;
}
#present .stageWrap div dl {
	display: grid;
	gap: 10px;
	
	position: relative;
}
#present .stageWrap div dl::before {
	content: '';
	
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	
	height: 80px;
	width: 80px;
	
	position: absolute;
	top: -20px;
	left: -55px;
	
}
#present .stageWrap div dl dt {
	background-color: #000;
	border-radius: 25px;
	padding: 0 0 0 35px;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	display: flex;
	align-items: center;
}
#present .stageWrap div dl dt .num {
	font-size: 25px;
	color: #fff100;
	padding: 0 3px;
}
#present .stageWrap div dl dd {
	color: #562b00;
}
#present .stageWrap div dl dd .remarks {
	font-size:13px;
}

#present .stageWrap div#pre_a dl::before {
	background-image: url("../images/award_a.png");
}
#present .stageWrap div#pre_a dl dt {
	background-color: #c30e23;
}
#present .stageWrap div#pre_a dl dd .gift {
	font-size: 26px;
	font-weight: bold;
}
#present .stageWrap div#pre_a dl dd .gift span{
	font-size: 18px;
}
#present .stageWrap div#pre_a dl dd .remarks {
	color: #c30e23;
}

#present .stageWrap div#pre_b dl::before {
	background-image: url("../images/award_b.png");
}
#present .stageWrap div#pre_b dl dt {
	background-color: #036eb8;
}
#present .stageWrap div#pre_b dl dd .gift li {
	font-size: 18px;
	font-weight: bold;
}
#present .stageWrap div#pre_b dl dd .gift li span{
	font-size: 14px;
}
#present .stageWrap div#pre_b dl dd .gift li::before {
	content: '★';
	color: #036eb8;
}
#present .stageWrap div#pre_b dl dd .remarks {
	color: #036eb8;
}

#present .stageWrap div#pre_c dl::before {
	background-image: url("../images/award_c.png");
}
#present .stageWrap div#pre_c dl dt {
	background-color: #006934;
}
#present .stageWrap div#pre_c dl dd .gift {
	font-size: 18px;
	font-weight: bold;
}
#present .stageWrap div#pre_c dl dd .gift span{
	font-size: 14px;
}
#present .stageWrap div#pre_c dl dd .remarks {
	color: #006934;
}

#present .stageWrap div#pre_w {
	border-radius: 80px;
	border: solid 4px #c30e23;
	box-shadow: 0px 0px 0px 4px rgb(255, 255, 255);
	
	width: 20em;
	padding: 10px;
	margin: 20px auto;
	
	display: grid;
	gap: 15px;
	grid-template-columns: 50px 1fr;
	align-items: center;
}
#present .stageWrap div#pre_w p:nth-of-type(1){
	background-image: url("../images/award_w.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	
	height: 65px;
	width: 65px;
}
#present .stageWrap div#pre_w p:nth-of-type(2){
	font-size: 14px;
	font-weight: bold;
}
#present .stageWrap > p {
	font-size: 14px;
	padding: 10px 0 30px;
}


/* ----------------------------------------------
	遊び方
------------------------------------------------- */
#play {
	background-color: #fffde9;
}
#play .stageWrap {
	padding: 30px 0 30px;
}
#play .stageWrap dl {
	border-radius: 10px;
	background-color: #fff;
	margin-bottom: 20px;
}
#play .stageWrap dl dt {
	background-color: #ed9200;
	border-radius: 10px 10px 0 0;
	text-align: center;
	color: #fff;
	font-weight: bold;
	padding: 5px;
}
#play .stageWrap dl dd {
	padding: 10px;
}
#play .stageWrap dl dd + dd {
	border-top: dotted 6px #ed9200;
}
#play .stageWrap dl dd > p {
	font-weight: bold;
	color: #c30e23;
	text-align: center;
}
#play .stageWrap dl dd div {
	display: grid;
	gap: 10px;
	place-items: center;
	
	padding: 20px 0;
}
#play .stageWrap dl dd div p {}
#play .stageWrap dl dd div p a{
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	
	height: 85px;
	width: 320px;
	display: block;
	margin: auto;
}
#play .stageWrap dl dd div p#iphon a {
	background-image: url("../images/btn_dl_app.png");
}
#play .stageWrap dl dd div p#android a {
	background-image: url("../images/btn_dl_android.png");
}
#play .stageWrap dl dd img {
	width: 100%;
}
#play .stageWrap .link_btn {
	width: 300px;
	margin: 20px auto 0;
}
#play .stageWrap .link_btn a {
	background-color: #ed9200;
	border-radius: 20px;
	height: 2em;
	width: 100%;
	
	text-align: center;
	color: #fff;
	font-weight: bold;
	
	display: flex;
	align-items: center;
	justify-content: center;
}
#play .stageWrap .link_btn a::after {
	font-family: 'Material Icons';
	content: '\e313';
	font-size: 24px;
	line-height: 1em;

	display: inline-block;
}


/* ----------------------------------------------
	応募条件
------------------------------------------------- */
#application {
	background-color: #fcebf3;
}
#application .stageWrap {
	padding: 30px 0;
	display: grid;
	gap: 20px;
}
#application .stageWrap dl {
}
#application .stageWrap dl dt {
	background-color: #d23631;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 5px;
}
#application .stageWrap dl dd {
	/*font-size: 18px;
	font-weight: bold;
	text-align: center;*/
	
	background-color: #fff;
	padding: 10px;
}
#application .stageWrap dl dd > ul {
	list-style: disc;
	padding-left: 1em;
}
#application .stageWrap dl dd > ul .notes {
	font-size: 16px;
	color: #d23631;
}
#application .stageWrap dl dd.date {
	font-size: 20px;
	text-align: center;
}


/* ----------------------------------------------
	スタンプスポット一覧
------------------------------------------------- */
#list {
	padding: 30px 0;
}
#list .stageWrap {}
#list .stageWrap h3 {
	font-size: 18px;
	margin-bottom: 10px;
	text-indent: 0;
	padding: 0;
	line-height: 1.5;
}
#list .stageWrap h3::before {
	content: none;
}
#list .stageWrap h3 span {
	font-size: 14px;
	font-weight: normal;
}
#list .stageWrap h3 + p.pay {
	display: flex;
	align-items: center;
}
#list .stageWrap h3 + p.pay::before {
	content: '';
	display: inline-block;
	
	background-image: url("../images/pay_mark.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	
	height: 2em;
	width: 1em;
}

#list .stageWrap details {
	padding-top: 10px;
}
#list .stageWrap details summary {
	background-color: #666;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	
	padding: 5px 10px;

	display: flex;
	align-items: center;
}

#list .stageWrap details summary::before {
	font-family: 'Material Icons';
	content: '\e5c5';
	font-size: 24px;
	line-height: 1em;
	
	display: inline-block;

	transition: transform 0.4s;
}
#list .stageWrap details[open] summary::before {
	transform: rotate(180deg);
}
#list .stageWrap details div {
	overflow: hidden;
}
#list .stageWrap details div ul {
	padding: 5px 10px;
}
#list .stageWrap details div ul li {
	/*display: flex;
	align-items: start;*/
	display: grid;
    grid-template-columns: auto auto 1fr;
	padding-top: 5px;
}
#list .stageWrap details div ul li::before {
	content: '●';
	font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	order: 1;
}
#list .stageWrap details div ul li.pay::after {
	margin-left: 2px;
	content: '';
	display: inline-block;
	
	background-image: url("../images/pay_mark.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	
	height: 1.5em;
	width: 1em;
	
	order: 3;
}
#list .stageWrap details#tou summary {
	background-color: #0081cc;
}
#list .stageWrap details#tou div ul li::before {
	color: #0081cc;
}
#list .stageWrap details#chu summary {
	background-color: #00a73b;
}
#list .stageWrap details#chu div ul li::before {
	color: #00a73b;
}
#list .stageWrap details#nan summary {
	background-color: #e50054;
}
#list .stageWrap details#nan div ul li::before {
	color: #e50054;
}


/* ----------------------------------------------
	よくある質問
------------------------------------------------- */
#question {
	background-color: #fffde9;
}
#question .stageWrap {
	padding: 10px 0;
}
#question .stageWrap details {}
#question .stageWrap details summary {
	cursor: pointer;
}
#question .stageWrap details summary {
	color: #ed9200;
	font-size: 20px;
	font-weight: bold;
	
	padding: 5px 0;

	display: flex;
	/*justify-content: space-between;*/
}
#question .stageWrap details summary::before {
	font-family: 'Material Icons';
	content: '\e5c5';
	font-size: 30px;
	line-height: 1em;
	
	display: inline-block;

	transition: transform 0.4s;
}
#question .stageWrap details[open] summary::before {
	transform: rotate(180deg);
}
#question .stageWrap details div {
	overflow: hidden;
}
#question .stageWrap details div dl {
	display: grid;
	gap: 10px;
	
	padding-top: 10px;
	
	border-top: solid 2px #ed9200;
}
#question .stageWrap details div dl dt,
#question .stageWrap details div dl dd {
	position: relative;
	padding-left: 2em;
}
#question .stageWrap details div dl dt {}
#question .stageWrap details div dl dd {
	border-bottom: solid 2px #ed9200;
	padding-bottom: 10px;
}
#question .stageWrap details div dl dt::before,
#question .stageWrap details div dl dd::before {
	font-weight: bold;
	font-size: 12px;
	
	border: solid 2px #ed9200;
	border-radius: 50%;
	
	width: 1.8em;
	height: 1.8em;
	box-sizing: border-box;
	
	position: absolute;
	top: 0;
	left: 0;
	
	display: grid;
	place-items: center;
}
#question .stageWrap details div dl dt::before {
	content: 'Ｑ';
	
	color: #fffde9;
	background-color: #ed9200;
}
#question .stageWrap details div dl dd::before {
	content: 'Ａ';
	
	color: #ed9200;
}
#question .stageWrap details div dl dd ol {}
#question .stageWrap details div dl dd ol > li {
	margin-top: 10px;
}
#question .stageWrap details div dl dd ol > li::before {
	content: counter(listnum);

	color: #ed9200;
	font-size: 12px;
	
	width: 1.8em;
	height: 1.8em;
	
	border: solid 2px #ed9200;
	border-radius: 50%;
	
}


/* ----------------------------------------------
	お問い合わせ
------------------------------------------------- */
#inquiry {
	padding: 30px 0 0;
}
#inquiry .stageWrap {}
#inquiry .stageWrap dl {
	border: solid 2px #d23631;
}
#inquiry .stageWrap dl dt {
	background-color: #d23631;

	color: #fff;
	font-weight: bold;
	text-align: center;
	
	padding: 5px 10px;
}
#inquiry .stageWrap dl dd {
	padding: 5px 10px;
}
#inquiry .stageWrap dl dd .tel {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	color: #d23631;
}
#inquiry .stageWrap dl dd .tel::before {
	content: 'TEL';
	
	font-size: 20px;
	padding-right: .5em;
}
#inquiry .stageWrap dl dd span {
	font-size: 14px;
	text-align: center;
	display: block;
}
#inquiry .stageWrap dl dd span::before {
	content: '[';
}
#inquiry .stageWrap dl dd span::after {
	content: ']';
}


/*-
	PC版（769px以上）ここから
------------------------------------------------- */
@media screen and (min-width:769px), print{

	/* ----------------------------------------------
		共通設定
	------------------------------------------------- */
	body {
		padding-top: 90px;
	}
	.stageWrap {
		width: 1000px;
	}
	.date {
	    font-size: 24px;
	}
	.year {
		font-size: 80%;
	}
	.week {
		font-size: 80%;
	}
	.notes {
		font-size:16px;
		margin-top: 20px;
	}
	.disc {
		font-size:16px;
	}
	
	.end {
    width: 750px;
    text-align: center;
    margin: 0 auto;
    padding: 20px 0 0;
	font-weight: bold;
	color: #d23631;
	background-color: #fff;
	border-radius: 20px 20px 0 0;
    }
	
	
	/* ----------------------------------------------
		イベントとイメージ
	------------------------------------------------- */
	#mainimages {}
	#mainimages .stageWrap {
		padding: 0 0 100px;
		width: 1200px;
	}
	#mainimages .stageWrap h1 {
		background-image: url("../images/title_pc.png");
		background-position: center bottom;
		/* 縦 / 横 * 100 */
		padding-top: calc(12.6% + 30px);
	}
	#mainimages .stageWrap h1 + p {
		font-size: 36px;
		margin-top: 0;
	}
	#mainimages .stageWrap dl {
		padding: 20px 60px;
		
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		
		width: 750px;
		margin: auto;
	}
	#mainimages .stageWrap dl:nth-of-type(1) {
		/*border-radius: 20px 20px 0 0;*/
	}
	#mainimages .stageWrap dl:nth-of-type(2) {
		padding: 10px 60px 20px;
		border-radius: 0 0 20px 20px;
	}

	#mainimages .stageWrap dl dt,
	#mainimages .stageWrap dl dd {
		padding: 0 20px;
	}
	#mainimages .stageWrap dl dt {
		font-size: 20px;
		padding: 10px 20px;
	}
	#mainimages .stageWrap dl dd {
		text-align: left;
		font-size: 30px;
		font-weight: bold;
	}
	
	
	/* ----------------------------------------------
		プレゼント
	------------------------------------------------- */
	#present {}
	#present .stageWrap {
		padding-top: 85px;
	}
	#present .stageWrap::before {
		height: 400px;
	}
	#present .stageWrap h2 {
		background-image: url("../images/present_sub-title_pc.png");
		
		top: -60px;
		
		height: 150px;
	}
	#present .stageWrap h2 + p {
		font-size: 26px;
		width: 30em;
		margin: auto;
	}
	#present .stageWrap div {
		border-radius: 20px;
		width: 1000px;
		
		margin: auto;
		margin-top: 40px;
		padding: 30px 20px 30px 120px;
	}
	#present .stageWrap div dl {}
	#present .stageWrap div dl::before {
		height: 150px;
		width: 150px;
		
		top: -30px;
		left: -150px;
	}
	#present .stageWrap div dl dt {
		border-radius: 50px;
		padding: 0 30px;
		
		font-size: 40px;
	}
	#present .stageWrap div dl dt .num {
		font-size: 60px;
		padding: 0 10px;
	}
	#present .stageWrap div dl dd .remarks {
		font-size: 20px;
	}
	
	#present .stageWrap div#pre_a dl dd .gift {
		font-size: 50px;
	}
	#present .stageWrap div#pre_a dl dd .gift span{
		font-size: 30px;
	}
	
	#present .stageWrap div#pre_b dl dd .gift {
		display: grid;
		grid-template-columns: auto auto;
		gap: 10px;
	}
	#present .stageWrap div#pre_b dl dd .gift li {
		font-size: 28px;
		letter-spacing: -0.5px;
	}
	#present .stageWrap div#pre_b dl dd .gift li span{
		font-size: 20px;
	}
	
	#present .stageWrap div#pre_c dl dd .gift {
		font-size: 28px;
	}
	#present .stageWrap div#pre_c dl dd .gift span{
		font-size: 20px;
	}

	#present .stageWrap div#pre_w {
		width: 45em;
		
		grid-template-columns: 100px 1fr;
	}
	#present .stageWrap div#pre_w p:nth-of-type(1){
		height: 100px;
		width: 100px;
	}
	#present .stageWrap div#pre_w p:nth-of-type(2){
		font-size: 20px;
	}
	#present .stageWrap div#pre_w p:nth-of-type(2) .num {
		font-size: 30px;
	}
	#present .stageWrap > p {
		font-size: 14px;
	}
	
	
	/* ----------------------------------------------
		遊び方
	------------------------------------------------- */
	#play {}
	#play .stageWrap {
		padding: 60px 0;
	}
	#play .stageWrap dl dt {
		font-size: 26px;
	}
	#play .stageWrap dl dd {
		padding: 20px;
	}
	#play .stageWrap dl dd > p {
		font-size: 20px;
	}
	#play .stageWrap dl dd div {
		grid-template-columns: 1fr 1fr;
	}
	#play .stageWrap dl dd div p a{
		height: 100px;
		width: 400px;
	}
	#play .stageWrap .link_btn {
		display: none;
	}
	
	
	/* ----------------------------------------------
		応募条件
	------------------------------------------------- */
	#application {}
	#application .stageWrap {
		padding: 60px 0;
	}
	#application .stageWrap dl {
		display: grid;
		grid-template-columns: 260px 1fr;
	}
	#application .stageWrap dl dt {
		font-size: 20px;
		display: grid;
		place-items: center;
	}
	#application .stageWrap dl dd {
		text-align: left;
	}
	#application .stageWrap dl dd > ul {
		font-size: 18px;
	}
	#application .stageWrap dl dd > ul .notes {
		font-size: 18px;
	}
	#application .stageWrap dl dd.date {
		text-align: left;
	}	
	
	
	/* ----------------------------------------------
		スタンプスポット一覧
	------------------------------------------------- */
	#list {
		padding: 30px 0;
	}
	#list .stageWrap {
		display: grid;
		grid-template-columns: auto auto;
		justify-content: space-between;
	}
	#list .stageWrap h3 {
		font-size: 26px;
	}
	#list .stageWrap h3 span {
		font-size: 18px;
	}
	#list .stageWrap h3 + p.pay {
		font-size: 18px;
		justify-content: flex-end;
	}

	#list .stageWrap details {
		grid-column: 1 / 3;
	}
	#list .stageWrap details summary {
		font-size: 20px;
	}

	#list .stageWrap details div ul {
		padding: 15px 10px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 10px 20px;
	}
	
	
	/* ----------------------------------------------
		よくある質問
	------------------------------------------------- */
	#question {}
	
	
	
	/* ----------------------------------------------
		お問い合わせ
	------------------------------------------------- */
	#inquiry {
		padding: 60px 0 0;
	}
	#inquiry .stageWrap dl {
		width: 800px;
		margin: auto;
	}
	#inquiry .stageWrap dl dt {
		font-size: 20px;
	}
	#inquiry .stageWrap dl dd .tel {
		font-size: 60px;
	}
	#inquiry .stageWrap dl dd .tel::before {
		font-size: 30px;
	}
	#inquiry .stageWrap dl dd span {
		font-size: 20px;
	}
	
	
}


/*-
	SP版（768px以下）ここから
------------------------------------------------- */
@media screen and (max-width: 768px) {

#present .stageWrap::before {
	background-image: url("../images/present_img_sp.png");
}
#present .notes {
		margin-top: 20px;
	}

}
