@charset "utf-8";

/* google font */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');

#wrap{
	background: url(../images/bg_city.png), url(../images/bg_body.jpg);
	background-position: bottom left, top center;
	background-repeat: repeat-x, repeat;
	background-size: 100% auto, 129px auto;
	background-attachment: fixed;
}

.contents{
	max-width: 680px;
	margin: 0 auto;
	background: #fff4be;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
}
.contents-block{
	position: relative;
}
.contents-block:before, .contents-block:after{
	display: block;
	content: '';
	position: absolute;
	width: 30px;
	height: 100%;
}
.contents-block:before{
	top: 0;
	left: -30px;
	background: url(../images/bg_wrapper_l.png) top center;
	background-size: 100% auto;
	background-repeat: repeat-y;
}
.contents-block:after{
	top: 0;
	right: -30px;
	background: url(../images/bg_wrapper_r.png) top center;
	background-size: 100% auto;
	background-repeat: repeat-y;
}

.main{
	position: relative;
	background: #fff4be;
}

.desc{
	max-width: 476px;
	margin: 0 auto 18px;
}

.notes{
	padding-left: 1em;
	text-indent: -1em;
	color: #7a4422;
}

.info{
	width: 100%;
	max-width: 600px;
	margin: 0 auto 34px;
}
.info__limit{
	max-width: 531px;
	margin: 0 auto 24px;
}
.info ul li{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.04em;
}

.content1{
	max-width: calc(100% - 20px);
	margin: 0 auto 111px;
	background: url(../images/bg_content_1.png) top 9px center no-repeat;
	background-size: 100% auto;
}
.content1__inner{
	max-width: 600px;
	margin: 0 auto;
	padding: 0 18px 140px 16px;
}
.content1 h2{
	max-width: 480px;
	margin: 0 auto 21px;
	transform: translateY(-9px);
}
.content1 h3{
	max-width: calc(100% - 98px);
	margin: 0 auto 15px;
}
.content1 small{
	padding-left: 48px;
	color: #7a4422;
	/* font-family: "a-otf-ud-shin-maru-go-pr6n", sans-serif; */
	font-size: 18px;
	font-weight: 500;
	font-style: normal;
}
.content1__tie{
	max-width: 525px;
	margin: -24px auto 15px;
	transform: translateX(26px);
}
.prize1, .prize2{
	max-width: 579px;
}
.prize1{
	margin-bottom: 45px;
}

.content2{
	max-width: 600px;
	margin: 0 auto 32px;
	padding: 0 0 36px;
	background: url(../images/bg_content_2.png) top center no-repeat;
	background-size: 100% auto;
}
.content2__inner{
	margin: 0 auto;
	padding: 0 18px 23px 16px;
}
.content2 h2{
	max-width: 552px;
	margin: 0 auto -58px;
	transform: translateY(-88px);
}
.content2 h2 img{
	display: block;
}
.content2 dl{
	display: flex;
	gap: 13px;
	margin-bottom: 15px;
}
.content2 dl:last-of-type{
	margin-bottom: 27px;
}
.content2 dl dt,
.content2 dl dd{
	width: 100%;
}
.content2 dl dt{
	max-width: 110px;
	height: 38px;
	border-radius: 19px;
	background: #7a4422;
	color: #FFF;
	font-size: 19px;
	line-height: 38px;
	text-align: center;
}
.content2 dl dd{
	color: #7a4422;
	font-size: 24px;
	font-weight: 500;
	line-height: 35px;
}
.content2 dl dd span{
	font-size: 18px;
	line-height: 24px;
}
.content2 dl dd span.block{
	display: block;
	line-height: 24px;
}
.content2 ul li{
	font-size: 16px;
}

.content3{
	max-width: 600px;
	margin: 0 auto;
	padding-bottom: 40px;
}

.content3 ul{
 	margin-bottom: 36px;
}
.content3 ul li:first-of-type{
	margin-bottom: 14px;
}
.content3 ul li a{
	display: block;
	max-width: 600px;
	height: 42px;
	margin: 0 auto;
	border-radius: 21px;
	background: #d90000 url(../images/icon_arrow.png) center right 12px;
	background-size: auto 12px;
	background-repeat: no-repeat;
	color: #FFF;
	font-size: 16px;
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 300;
	font-style: normal;
	line-height: 42px;
	text-align: center;
}
.copyright{
	max-width: 340px;
	margin: 0 auto;
}


@media screen and (max-width: 678px) {
.contents{
	max-width: 113.333vw;
}

.contents-block:before, .contents-block:after{
	display: none;
}

.desc{
	max-width: 79.333vw;
	margin: 0 auto 3vw;
}

.info{
	max-width: 88.5vw;
	margin: 0 auto 5.667vw;
}
.info__limit{
	margin-bottom: 4vw;
}
.info ul li{
	font-size: 2.667vw;
}

.content1{
	max-width: calc(100% - 3.333vw);
	margin: 0 auto 17.667vw;
	background: url(../images/bg_content_1.png) top 1.5vw center no-repeat;
	background-size: 100% auto;
}
.content1__inner{
	max-width: 100vw;
	padding: 0 5.833vw 15vw 2.667vw;
}
.content1 h2{
	max-width: 70.667vw;
	margin: 0 auto 3.5vw;
	transform: translateY(-1.5vw);
}
.content1 h3{
	max-width: calc(100% - 16.333vw);
	margin: 0 auto 2.5vw;
}
.content1 small{
	padding-left: 8vw;
	font-size: 3vw;
}
.content1__tie{
	max-width: 76.5vw;
	margin: -4vw auto 2.5vw;
	transform: translateX(4.333vw);
}
.prize1, .prize2{
	max-width: 85.333vw;
}
.prize1{
	margin: 0 auto 6.667vw;
}
.prize2{
	margin: 0 auto;
}

.content2{
	max-width: 88.5vw;
	margin: 0 auto 5.333vw;
	padding: 0 0 1vw;
}
.content2__inner{
	padding: 0 3vw 3.833vw 2.667vw;
}
.content2 h2{
	max-width: 81.333vw;
	margin: 0 auto -13.667vw;
	transform: translateY(-14.667vw);
}
.content2 dl{
	gap: 2.167vw;
	margin-bottom: 2.5vw;
}
.content2 dl:last-of-type{
	margin-bottom: 3.5vw;
}
.content2 dl dt{
	max-width: 18.333vw;
	height: 6.333vw;
	border-radius: 3.167vw;
	font-size: 3.167vw;
	line-height: 6.333vw;
}
.content2 dl dd{
	font-size: 4vw;
	line-height: 5.833vw;
}
.content2 dl dd span{
	font-size: 3vw;
	line-height: 4vw;
}
.content2 dl dd span.block{
	line-height: 4vw;
}
.content2 ul li{
	font-size: 2.667vw;
}

.content3{
	max-width: 100vw;
	padding-bottom: 6.667vw;
}

.content3 ul{
 	margin-bottom: 6vw;
}
.content3 ul li:first-of-type{
	margin-bottom: 2.333vw;
}
.content3 ul li a{
	max-width: 88.5vw;
	height: 7vw;
	border-radius: 3.5vw;
	background: #d90000 url(../images/icon_arrow.png) center right 2vw;
	background-size: auto 2vw;
	background-repeat: no-repeat;
	font-size: 2.667vw;
	line-height: 7vw;
}
.copyright{
	max-width: 56.667vw;
}
}