@charset "UTF-8";

body.contest2512 {
	max-width:1200px;
	margin:0 auto;
	position:relative;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	letter-spacing:0.2em;
	font-weight:bold;
}

h2 {
	max-width:70%;
	background-image:none;
}

#about {
	padding:clamp( 30px, calc( -12px + 11.200000000000001vw ), 100px ) 20px;
	background-image:url(../img/2512/bg01.png);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}


#about .sec_inner {
	max-width:1000px;
	padding:0 clamp( 10px, calc( -14px + 6.4vw ), 50px ) 50px;
	position:relative;
	background-color:#FFFFFF;
}

#about p {
	font-size:clamp( 11px, calc( 3.666666666666667px + 1.8333333333333333vw ), 22px ) !important;
	word-break:auto-phrase !important;
	overflow-wrap: break-word !important;
	text-align:justify !important;
	letter-spacing:0 !important;
}

.img_2512ch01 {
	width:clamp( 100px, calc( -14px + 30.4vw ), 290px );
	position:absolute;
	top:calc(clamp( 80px, calc( 41.73469387755102px + 10.204081632653061vw ), 120px ) * -1);
	right:calc(clamp( 10px, calc( 0.4336734693877542px + 2.5510204081632653vw ), 20px ) * -1);
}

#about p:nth-of-type(1) {
	margin:clamp(25px, calc(10px + 4vw), 50px) auto;
	font-size:clamp( 12px, calc( 6px + 1.6vw ), 22px );
	text-align:left;
	color:#202020;
}

.flow_bg {
	background-image:url(../img/2512/bg02.png);
	background-repeat:repeat;
	background-size:30px;
	background-position:top center;
}

#flow {
	margin-top:-1px;
	position:relative;
	background-color: transparent;
	scroll-margin-top:clamp(90px, calc(24px + 17.599999999999998vw), 200px);
}

.img_2512ch02 {
	width:clamp( 160px, calc( -44.00000000000003px + 54.400000000000006vw ), 500px );
	position:absolute;
	top:calc(clamp( 40px, calc( -423.44827586206895px + 60.3448275862069vw ), 180px ) * -1);
	left:50%;
	transform: translateX(-50%);
}

#flow h2 {
	width:clamp( 170px, calc( -392.7586206896551px + 73.27586206896551vw ), 340px );
	margin:0 auto;
	padding-top:clamp( 75px, calc( -206.37931034482756px + 36.637931034482754vw ), 160px );
}

.contest2512 .step_ttl + p span {
    font-size: clamp(12px, calc(9.6px + 0.64vw), 16px);
}

.step_wrap {
	padding-left:clamp( 30px, calc( 18px + 3.2vw ), 50px );
	padding-right:clamp( 30px, calc( 18px + 3.2vw ), 50px );
}

.step_wrap p {
	text-align:justify;
}


.step_wrap > img {
	width:auto;
}

.step_wrap > div {
	width:100%;
	padding:15px 0;
}

.step_ttl {
	margin-bottom:clamp( 20px, calc( 14px + 1.6vw ), 30px );
	padding:15px 0 15px clamp( 80px, calc( 56px + 6.4vw ), 120px );
	background-image:url(../img/2512/step1.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:left center;
}

.step2 .step_ttl {
	background-image:url(../img/2512/step2.png);
}

.step3 .step_ttl {
	background-image:url(../img/2512/step3.png);
}

.step3_bottom {
	text-align:center;
}

.step3_bottom p {
	text-align:center;
}


.btn_open {
	background-image:url(../img/2512/btn_open.png);
}

.btn_open.opened {
	background-image:url(../img/2512/btn_close.png);
}

.award p {
	text-align:left !important;
}

#juror {
	background-color:transparent;
}

#juror h2 {
	width:clamp( 160px, calc( 64px + 25.6vw ), 320px );
	margin:0 auto;
}

.img_juror {
	top:calc(clamp( 90px, calc( 30px + 16vw ), 190px ) * -1) !important;
	right:calc(clamp( 10px, calc( -20px + 8vw ), 60px ) * -1) !important;
}

.img_juror img {
	width:clamp( 140px, calc( 26px + 30.4vw ), 330px );
}

.juror_wrap{
	background-color:#FFFFFF;
	background-image:none;
}

#schedule {
	padding:50px 0 clamp(35px, calc(8.000000000000004px + 7.199999999999999vw), 80px);
	background-image:url(../img/2512/bg03.png);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
	position:relative;
	scroll-margin-top:clamp(60px, calc(42px + 4.8vw), 90px);
}

#schedule .sec_inner {
	background-color:transparent;
}

#schedule h2 {
	width:clamp( 150px, calc( 60px + 24vw ), 300px );
	margin:0 auto;
	padding-bottom:clamp( 30px, calc( 21px + 2.4vw ), 45px );
}

.img_schedule {
	top:-60px;
	left:calc(50% - 550px);
}

.img_schedule img {
	width:clamp( 110px, calc( 44px + 17.599999999999998vw ), 220px );
}

#schedule ul li div:nth-of-type(1) {
	border-right:#FD6803 2px solid;
	color:#FD6803;
}

#schedule ul li div:nth-of-type(2) span {
	font-weight:bold;
	letter-spacing:0;
}

#faq {
	padding:clamp( 30px, calc( -12px + 11.200000000000001vw ), 100px ) 20px;
	background-image:url(../img/2512/bg02.png);
	background-repeat:repeat;
	background-size:30px;
	background-position:top center;
}

#faq .sec_inner {
	padding:20px 30px 30px;
	border-radius:15px;
	background-color:#FFFFFF;
}

#faq h2 {
	width:clamp( 185px, calc( 110px + 20vw ), 310px );
	margin:0 auto;
	padding-bottom:clamp( 30px, calc( 21px + 2.4vw ), 45px );
}

#faq h3 {
	padding:5px 0 5px 25px;
	border:none;
	background-image:url(../img/2512/l-border.png);
	background-repeat:no-repeat;
	background-size:contaion;
	background-position:left center;
}

.img_schedule {
    top:calc(clamp( 30px, calc( -72.00000000000001px + 27.200000000000003vw ), 200px ) * -1) !important;
    left:clamp( 0px, calc( -30px + 8vw ), 50px ) !important;
}

#faq .btn_open {
	margin:0 !important;
	padding:40px 40px 40px 40px;
	border-top:#5D2323 2px dashed;
	border-bottom:none;
	background-image:url(../img/2512/Q_red.png), url(../img/2512/btn_open.png);
	background-position:top 35px left, top 35px right;
	color:#724141;
}

#faq .btn_open.opened {
	background-image:url(../img/2512/Q_red.png), url(../img/2512/btn_close.png);
}

#faq .open_cnt {
	padding-bottom:40px;
	background-image:url(../img/2512/A_red.png);
}

.img_faq img {
	width:clamp( 100px, calc( -7.999999999999986px + 28.799999999999997vw ), 280px );
}

.img_faq {
	right:clamp( 0px, calc( -53.99999999999999px + 14.399999999999999vw ), 90px ) !important;
	top:10px !important;
}

#faq .faq_wrap > div:nth-of-type(1) {
	border:none;
}

#faq .faq_wrap > div:nth-of-type(3), #faq .faq_wrap > div:nth-of-type(15) {
	background-image:url(../img/2512/Q_orange.png), url(../img/2512/btn_open.png);
}

#faq .faq_wrap > div:nth-of-type(3).opened, #faq .faq_wrap > div:nth-of-type(15).opened {
	background-image:url(../img/2512/Q_orange.png), url(../img/2512/btn_close.png);
}

#faq .faq_wrap > div:nth-of-type(3) + .open_cnt, #faq .faq_wrap > div:nth-of-type(15) + .open_cnt {
	background-image:url(../img/2512/A_orange.png);
}

#faq .faq_wrap > div:nth-of-type(5), #faq .faq_wrap > div:nth-of-type(17) {
	background-image:url(../img/2512/Q_yellow.png), url(../img/2512/btn_open.png);
}

#faq .faq_wrap > div:nth-of-type(5).opened, #faq .faq_wrap > div:nth-of-type(17).opened {
	background-image:url(../img/2512/Q_yellow.png), url(../img/2512/btn_close.png);
}

#faq .faq_wrap > div:nth-of-type(5) + .open_cnt, #faq .faq_wrap > div:nth-of-type(17) + .open_cnt {
	background-image:url(../img/2512/A_yellow.png);
}

#faq .faq_wrap > div:nth-of-type(7), #faq .faq_wrap > div:nth-of-type(19) {
	background-image:url(../img/2512/Q_yellowgreen.png), url(../img/2512/btn_open.png);
}

#faq .faq_wrap > div:nth-of-type(7).opened, #faq .faq_wrap > div:nth-of-type(19).opened {
	background-image:url(../img/2512/Q_yellowgreen.png), url(../img/2512/btn_close.png);
}

#faq .faq_wrap > div:nth-of-type(7) + .open_cnt, #faq .faq_wrap > div:nth-of-type(19) + .open_cnt {
	background-image:url(../img/2512/A_yellowgreen.png);
}

#faq .faq_wrap > div:nth-of-type(9), #faq .faq_wrap > div:nth-of-type(21) {
	background-image:url(../img/2512/Q_green.png), url(../img/2512/btn_open.png);
}

#faq .faq_wrap > div:nth-of-type(9).opened, #faq .faq_wrap > div:nth-of-type(21).opened {
	background-image:url(../img/2512/Q_green.png), url(../img/2512/btn_close.png);
}

#faq .faq_wrap > div:nth-of-type(9) + .open_cnt, #faq .faq_wrap > div:nth-of-type(21) + .open_cnt {
	background-image:url(../img/2512/A_green.png);
}

#faq .faq_wrap > div:nth-of-type(11), #faq .faq_wrap > div:nth-of-type(23) {
	background-image:url(../img/2512/Q_lightblue.png), url(../img/2512/btn_open.png);
}

#faq .faq_wrap > div:nth-of-type(11).opened, #faq .faq_wrap > div:nth-of-type(23).opened {
	background-image:url(../img/2512/Q_lightblue.png), url(../img/2512/btn_close.png);
}

#faq .faq_wrap > div:nth-of-type(11) + .open_cnt, #faq .faq_wrap > div:nth-of-type(23) + .open_cnt {
	background-image:url(../img/2512/A_lightblue.png);
}

#contact {
	padding:clamp( 50px, calc( 20px + 8vw ), 100px ) 20px clamp( 30px, calc( 6px + 6.4vw ), 70px );
	background-color:transparent;
}

#sns {
	background-color:transparent;
}

#sns h2 {
	width:clamp( 115px, calc( 46px + 18.4vw ), 230px );
	padding-bottom:clamp( 30px, calc( 6px + 6.4vw ), 70px );
}

.img_sns img {
	width:clamp( 145px, calc( 46px + 26.400000000000002vw ), 310px );
}

#sns .sns_share {
	margin:0;
}

#sns .sns_share li + li {
	margin-left:clamp( 45px, calc( -18.000000000000007px + 16.8vw ), 150px );
}

#sns .sns_share img {
	width:clamp( 40px, calc( -13.999999999999993px + 14.399999999999999vw ), 130px );
	height:auto;
}

.img_footer img {
	width:clamp( 120px, calc( 30px + 24vw ), 270px );
}

footer {
	padding-top:clamp( 60px, calc( 24px + 9.6vw ), 120px );
}


/* Only SP */
@media only screen and (max-width: 767px) {

.img_sns {
	top:-50px;
	left:50%;
	transform: translateX(-50%);
}

}


/* Only PC */
@media only screen and (min-width: 768px) {

h2 {
	max-width:78%;
}

.img_2512ch01 {
	width:clamp( 100px, calc( -14px + 30.4vw ), 290px );
	position:absolute;
	top:calc(clamp( 120px, calc( -12.413793103448285px + 17.24137931034483vw ), 160px ) * -1);
	right:calc(clamp( 45px, calc( -70.86206896551724px + 15.086206896551724vw ), 80px ) * -1);
}

.img_juror {
	top:-190px;
	right:-60px;
}

.img_schedule {
    top: -190px;
    left: 0
}

#faq .btn_open {
	padding:40px 40px 40px 60px;
	background-position:top 30px left, top 35px right;
}

#sns {
	padding-top:0;
}

.img_sns {
	top:0;
	left:0;
}

.img_sns img {
	width:clamp( 220px, calc( -77.9310344827586px + 38.793103448275865vw ), 310px );
}

}


@media screen and (max-width: 859px) {
	
#schedule ul li {
	position:relative;
}

#schedule ul li + li {
	margin-top:30px;
}

#schedule ul li + li:after {
	content:url(../img/2512/arrow_sp.png);
	display:block;
	position:absolute;
	top:-20px;
	left:50%;
	transform:translateX(-50%);
}

}


@media screen and (min-width: 860px) {

#schedule ul li div:nth-of-type(1) {
	border-right:none;
	border-bottom:#FD6803 2px solid;
}

#schedule ul li + li:after {
	content:url(../img/2512/arrow_pc.png);
	display:block;
	position:absolute;
	top:50%;
	left:-25px;
	transform:translateY(-50%);
}

}
