@charset "UTF-8";

/* Index
====================================================*/

/* --- common --- */

html {
	min-width:375px;
	font-family:"M PLUS Rounded 1c", serif;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	min-height:100%;
	position: relative;
	font-size:clamp(12px, calc(9.6px + 0.64vw), 16px);
	letter-spacing:0.05em;
	color:#333333;
	scroll-behavior:smooth;
}

body {
	min-height:100vh;
	display:-webkit-box;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	flex-direction:column;
	background-image:url(../img/bg_body.jpg);
	background-repeat:repeat;
	background-position:top left;
}

body.contest2504 {
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

a {
	color:#333333;
	text-decoration:none;
}

.sp_inline {
	display:inline-block !important;
}

.pc {
	display:none !important;
}

.pc_inline {
	display:none !important;
}

.txt_u {
	text-decoration:underline !important;
}

.txt_c {
	text-align:center !important;
}

.txt_l {
	text-align:left !important;
}

.txt_r {
	text-align:right !important;
}

.txt_12 {
	font-size:clamp(9px, calc(7.2px + 0.48vw), 12px);
}

.txt_14 {
	font-size:clamp(9px, calc(6px + 0.8vw), 14px);
}

.txt_16 {
	font-size:clamp(10px, calc(6.4px + 0.96vw), 16px);
}

.txt_18 {
	font-size:clamp(11px, calc(6.8px + 1.1199999999999999vw), 18px);
}

.txt_20 {
	font-size:clamp(11px, calc(5.6000000000000005px + 1.44vw), 20px);
}

.txt_22 {
	font-size:clamp(12px, calc(6px + 1.6vw), 22px);
}

.txt_26 {
	font-size:clamp(12px, calc(3.5999999999999996px + 2.2399999999999998vw), 26px);
}

.txt_30 {
	font-size:clamp(13px, calc(2.8000000000000007px + 2.7199999999999998vw), 30px);
}

.txt_34 {
	font-size:clamp(21px, calc(13.2px + 2.08vw), 34px);
}

.txt_40 {
	font-size:clamp(26px, calc(17.6px + 2.2399999999999998vw), 40px);
}


/* --- header --- */

.menu_fix {
	width:clamp(45px, calc(12px + 8.799999999999999vw), 100px);
	height:auto;
	position:fixed;
	top:clamp(10px, calc(5.216836734693877px + 1.2755102040816326vw), 15px);
	right:clamp(10px, calc(5.216836734693877px + 1.2755102040816326vw), 15px);
	z-index:20000;
}

.contest2504 .menu_fix {
	position:absolute;
	top:clamp(10px, calc(5.216836734693877px + 1.2755102040816326vw), 15px);
	right:clamp(10px, calc(5.216836734693877px + 1.2755102040816326vw), 15px);
}

.menu_fix.open a {
	width:clamp(45px, calc(12px + 8.799999999999999vw), 100px);
	height:clamp(45px, calc(12px + 8.799999999999999vw), 100px);
	display:block;
	background-image:url(../img/btn_menu-close.png);
	background-size:cover;
	background-repeat:no-repeat;
	background-position:top center;
}

.menu_fix.open img {
	display:none;
}

.menu_wrap {
	display:none;
}

.menu_wrap.open {
	width:100%;
	min-width:360px;
	height:100vh;
	display:block;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:10000;
	background-color:#5E2A2E;
	overflow-y:auto;
}

.menu_wrap.open .menu {
	width:100%;
	margin-top:100px;
}

.menu_wrap.open .menu li {
	text-align:center;
}

.menu_wrap.open .menu > li + li {
	margin-top:clamp(40px, calc(34px + 1.6vw), 50px);
}

.menu_wrap.open .menu li a {
	font-size:clamp(26px, calc(17.6px + 2.2399999999999998vw), 40px);
	display:inline-block;
	font-weight:bold;
	color:#FFFFFF;
}

.menu_wrap.open .menu li a span {
	font-size:clamp(21px, calc(13.2px + 2.08vw), 34px);	
}

.menu_wrap.open .menu .sns_share {
	margin-top:clamp(50px, calc(32px + 4.8vw), 80px);
	height:clamp(25px, calc(16px + 2.4vw), 40px);
}

.menu_wrap.open .menu .sns_share img {
	height:clamp(25px, calc(16px + 2.4vw), 40px);
}

.menu_wrap.open .menu .sns_share li + li {
	margin-left:clamp(12px, calc(7.2px + 1.28vw), 20px);
}

.entry_fix {
	width:clamp(100px, calc(52px + 12.8vw), 180px);
	height:auto;
	position:fixed;
	bottom:10px;
	right:10px;
	z-index:9999;
	display:none;
}

.entry_fix.top {
	left:10px;
}

.entry_fix.show {
	display:block;
}

.entry_fix.none {
	display:none !important;
}

.menu_fix_wrap {
	max-width:1200px;
	margin:0 auto;
}


/* --- main --- */

main {
	transform:rotateZ(0.03deg);
}

.contest2504 main {
	background-color:#FFFFFF;
}

main p {
	letter-spacing:normal;
	line-height:2;
}

.sec_inner {
	padding:0 20px;
	box-sizing:border-box;
}

.main_img {
	position:relative;
	background:#FFFFFF;
}

.main_img img {
	width:100%;
	margin:0 auto;
	max-width:1500px;
	height:auto;
	display:block;
}

.contest2504 .main_img h1 {
	z-index:10;
}

.main_img h1 {
	width:90%;
	max-width:1000px;
	min-width:310px;
	margin:0 auto;
	position:absolute;
	left:50%;
	bottom:0;
	transform:translate(-50%, 40%);
}

h2 {
	padding-top:4.8%;
	font-size:clamp(29px, calc(11.600000000000001px + 4.64vw), 58px);
	letter-spacing:0.1em;
	text-align:center;
	color:#6B3A3E;
	background-image:url(../img/bg_ttl.png);
	background-repeat:no-repeat;
	background-size:auto 28%;
	background-position:top center;
}

h2 span {
	font-size:clamp(26px, calc(14px + 3.2vw), 46px);
}

h3 {
	padding-left:15px;
	margin-top:clamp(25px, calc(7px + 4.8vw), 55px);
	font-size:clamp(15px, calc(8.399999999999999px + 1.76vw), 26px);
	color:#6B3A3E;
	border-left:#6B3A3E 6px solid;
}

h2 + h3 {
	margin-top:0;
}

h4 {
	margin-top:-10px;
	margin-bottom:clamp( 20px, calc( 8px + 3.2vw ), 40px );
	font-size:clamp( 15px, calc( 6px + 2.4vw ), 30px );
	line-height:1.4;
	text-align:center;
	color:#F30500;
}

#about {
	padding:clamp(60px, calc(12px + 12.8vw), 140px) 0 clamp(120px, calc(36px + 22.400000000000002vw), 260px);
	background-image:url(../img/bg_green.png);
	background-repeat:no-repeat;
	background-size:auto;
	background-position:bottom -40px center;
	scroll-margin-top:clamp(45px, calc(0px + 12vw), 120px);
}

.contest2504 #about {
	background-image:url(../img/2504/bg_u_sp.png);
	background-repeat:no-repeat;
	background-position:bottom center;
}

#about p:nth-of-type(1) {
	margin:clamp(25px, calc(10px + 4vw), 50px) auto;
	font-size:clamp(21px, calc(13.2px + 2.08vw), 34px);
	letter-spacing:0.1em;
	text-align:center;
	font-weight:bold;
	color:#6B3A3E;
}

#about p:nth-of-type(2) {
	font-size:clamp(14px, calc(9.2px + 1.28vw), 22px);	
}

#about .sec_inner {
	width:100%;
	max-width:840px;
}

#flow {
	margin-top:-1px;
	position:relative;
	background-color:#B4D07B;
	scroll-margin-top:clamp(90px, calc(24px + 17.599999999999998vw), 200px);
}

.contest2504 #flow {
	background-color:#FFE8E8;
}

.img_flow {
	max-width:clamp(110px, calc(7.999999999999986px + 27.200000000000003vw), 280px);
	position:absolute;
	left:50%;
	top:0;
	transform:translate(-50%, -108%);
}

h2 + .step_wrap {
	margin-top:clamp(25px, calc(1px + 6.4vw), 65px);
}

.step_wrap {
	padding:15px 10px;
	display:-webkit-box;
	display:flex;
	-webkit-box-pack:justify;
	justify-content:space-between;
	-webkit-box-align:start;
	align-items:flex-start;
	background-color:#FFFFFF;
	border-radius:15px;
}

.step_wrap + .step_wrap {
	margin-top:15px;
}

.step_wrap a {
	text-decoration:underline;
}

.step_wrap > img {
	width:20%;
}

.step_wrap > div {
	width:76%;
	padding:15px 0;
}

.step_ttl {
	font-size:clamp(16px, calc(5.200000000000001px + 2.88vw), 34px) !important;
	font-weight:bold;
	color:#6B3A3E;
}

.step_ttl + p {
	font-size:clamp(14px, calc(10.4px + 0.96vw), 20px);	
}

.contest2504 .step_ttl + p span {
	font-size:clamp( 12px, calc( 9.6px + 0.64vw ), 16px );	
}

.step_wrap p b {
	font-size:clamp(13px, calc(10px + 0.8vw), 18px);
}

.step_ttl + p b {
	font-size:clamp(14px, calc(5.6px + 2.2399999999999998vw), 28px);	
}

.btn_open {
	width:100%;
	padding-top:15px;
	box-sizing:border-box;
	background-image:url(../img/btn_open.png);
	background-repeat:no-repeat;
	background-size:25px;
	background-position:center right;
	font-weight:bold;
	cursor:pointer;
}

.btn_open.opened {
	background-image:url(../img/btn_close.png);
}

.step_wrap .btn_open {
	padding-bottom:15px;
	font-size:clamp(12px, calc(3.5999999999999996px + 2.2399999999999998vw), 26px);
	border-bottom:#323232 1px solid;
}

.step_wrap .btn_open span {
	color:#6B3A3E;
}

.step_wrap .open_cnt {
	margin-top:15px;
}

.step_wrap.step3 {
	position:relative;
}

.step_wrap.step3 p {
	font-size:clamp(12px, calc(6px + 1.6vw), 22px);	
}

.step_wrap.step3 a {
	margin-top:20px;
	display:inline-block;
}

.step_wrap.step3 a.txt_link {
	position:relative !important;
	bottom:auto !important;
}

.step_wrap.step3 a img {
	width:75%;
	max-width:570px;
}

.award {
	margin-top:15px;
	padding:20px 20px 30px;
	background-color:#FFFFFF;
	border-radius:15px;
}

.award img:nth-of-type(1) {
	max-width:clamp(170px, calc(74px + 25.6vw), 330px);
	margin-bottom:clamp(20px, calc(5px + 4vw), 45px);
}

.award img {
	margin:auto;
}

.award p {
	margin-top:clamp(25px, calc(10px + 4vw), 50px);
	font-size:clamp(11px, calc(6.8px + 1.1199999999999999vw), 18px);
}

#juror {
	margin-top:-1px;
	padding:clamp(40px, calc(4px + 9.6vw), 100px) 0 clamp(60px, calc(36px + 6.4vw), 100px);
	background-color:#B4D07B;
}

.contest2504 #juror {
	background-color:#FFE8E8;
}

.juror_wrap{
	padding:20px 30px 30px;
	border-radius:15px;
	background-image:url(../img/bg_body.jpg);
	background-repeat:repeat;
	background-position:top left;
	position:relative;
}

.img_juror {
	position:absolute;
	top:-30px;
	right:10px;
}

.img_juror img {
	width:clamp(85px, calc(13px + 19.2vw), 205px);
}

.contest2504 .img_juror img {
	width:clamp( 70px, calc( -2px + 19.2vw ), 190px );
}

#juror ul {
	margin-top:clamp(30px, calc(18px + 3.2vw), 50px);
	display:-webkit-box;
	display:flex;
	flex-wrap:wrap;
	-webkit-box-pack:justify;
	justify-content:space-between;
}

#juror ul li {
	width:47.5%;
	display:-webkit-box;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	flex-direction:column;
	-webkit-box-align:center;
	align-items:center;
}

#juror p {
	line-height:1.4;
	flex-grow:1;
}

#juror ul li > div {
	margin-top:clamp(10px, calc(7px + 0.8vw), 15px);
	margin-bottom:clamp(10px, calc(1px + 2.4vw), 25px);
	font-weight:bold;
}

#juror .ttl {
	font-size:clamp(10px, calc(8.8px + 0.32vw), 12px);
	text-align:center;
}

#juror .name {
	font-size:clamp(14px, calc(11.6px + 0.64vw), 18px);
	text-align:center;
}

#juror ul li > p:nth-last-of-type(1) {
	font-size:clamp(11px, calc(9.2px + 0.48vw), 14px);
}

#schedule {
	margin-top:-1px;
	padding:50px 0 clamp(35px, calc(8.000000000000004px + 7.199999999999999vw), 80px);
	background-image:url(../img/bg_green2.png);
	background-repeat:no-repeat;
	background-size:auto;
	background-position:top center;
	position:relative;
	scroll-margin-top:clamp(60px, calc(42px + 4.8vw), 90px);
}

.contest2504 #schedule {
	background-image:url(../img/2504/bg_green.png);
}


#schedule .sec_inner {
	max-width:none;
	background-color:#01A89E;
	padding-bottom:clamp(35px, calc(8.000000000000004px + 7.199999999999999vw), 80px);
}

.contest2504 #schedule .sec_inner {
	background-color:#B9DCD5;
}

.img_schedule {
	position:absolute;
	top:-10%;
	left:10px;
}

.img_schedule img {
	width:clamp(115px, calc(-2px + 31.2vw), 310px);
}

#schedule h2 {
	margin-bottom:clamp(20px, calc(2px + 4.8vw), 50px);
	color:#FFFFFF;
}

#schedule ul {
	width:100%;
	max-width:1040px;
	margin:0 auto;
}

#schedule ul li {
	width:100%;
	padding:10px 5px;
	box-sizing:border-box;
	background-color:#FFFFFF;
	border-radius:15px;
	display:-webkit-box;
	display:flex;
	text-align:center;
	-webkit-box-align:center;
	align-items:center;
}

#schedule ul li + li {
	margin-top:clamp(10px, calc(5.216836734693877px + 1.2755102040816326vw), 15px);
}

#schedule ul li div {
	width:50%;
	font-weight:bold;
	flex-grow:1;
}

#schedule ul li div:nth-of-type(1) {
	padding:10px 0;
	font-size:clamp(16px, calc(10px + 1.6vw), 26px);
	border-right:#9F9F9F 1px solid;
	color:#01A398;
}

#schedule ul li div:nth-of-type(1) span {
	font-size:clamp(23px, calc(12.8px + 2.7199999999999998vw), 40px);

}

#schedule ul li div:nth-of-type(1) span.year {
	font-size:clamp(18px, calc(10.8px + 1.92vw), 30px);
}

#schedule ul li div:nth-of-type(1) .nen {
	font-size:clamp(12px, calc(6px + 1.6vw), 22px);
}

#schedule ul li div:nth-of-type(2) {
	font-size:clamp(20px, calc(15.8px + 1.1199999999999999vw), 27px);
}

#schedule ul li div:nth-of-type(2) span {
	font-size:clamp(10px, calc(8.8px + 0.32vw), 12px);
	font-weight:normal;
}

#faq {
	padding:clamp(30px, calc(6px + 6.4vw), 70px) 0 clamp(80px, calc(50px + 8vw), 130px);
	position:relative;
	scroll-margin-top:clamp(35px, calc(20px + 4vw), 60px);
}

.contest2504 #faq {
	padding:20px 0 clamp(80px, calc(50px + 8vw), 130px);
}

.img_faq {
	position:absolute;
	top:-2%;
	right:10px;
}

.contest2504 .img_faq {
	top:-2.5%;
}

.img_faq img {
	width:clamp(70px, calc(4px + 17.599999999999998vw), 180px);
}

.contest2504 .img_faq img {
	width:clamp( 80px, calc( 2px + 20.8vw ), 210px );
}


#faq h2 {
	margin-bottom:clamp(35px, calc(8.000000000000004px + 7.199999999999999vw), 80px);
}

#faq .btn_open {
	margin-top:15px;
	padding:16px 40px 15px 40px;
	border-bottom:#C2C0B3 1px dashed;
	background-image:url(../img/icon_q.png), url(../img/btn_open.png);
	background-repeat:no-repeat;
	background-size:30px, 25px;
	background-position:top 10px left, top 10px right;
	font-size:clamp(13px, calc(10.6px + 0.64vw), 17px);
	line-height:1.6;
}

#faq .btn_open.opened {
	background-image:url(../img/icon_q.png), url(../img/btn_close.png);
}

#faq .open_cnt {
	margin-top:15px;
	padding:16px 0 15px 40px;
	background-image:url(../img/icon_a.png);
	background-repeat:no-repeat;
	background-size:30px;
	background-position:top 10px left;
	font-size:clamp(13px, calc(11.2px + 0.48vw), 16px);
	line-height:1.6;
}

#sns {
	padding:clamp(25px, calc(7px + 4.8vw), 55px) 0 clamp(30px, calc(6px + 6.4vw), 70px);
	background-color:#6C3B3F;
	position:relative;
	scroll-margin-top:clamp(60px, calc(42px + 4.8vw), 90px);
}

.contest2504 #sns {
	background-color:#FFE8E8;
}

.img_sns{
	position:absolute;
	top:-13%;
	left:0;
}

.img_sns img {
	width:clamp(120px, calc(-12px + 35.199999999999996vw), 340px);
}

.contest2504 .img_sns img {
	width:clamp( 100px, calc( -14px + 30.4vw ), 290px );
}

#sns h2 {
	color:#FFFFFF;
}

.contest2504 #sns h2 {
	color:#6A393D;
}

.tw_embed {
    max-width:340px;
    max-height:320px;
    margin:clamp(20px, calc(2px + 4.8vw), 50px) auto 0;
    display:block;
    overflow-y:scroll;
}


/* --- footer --- */

footer {
	margin-top:auto;
	transform:rotateZ(0.03deg);
	background-color:#FFFFFF;
}

#contact {
	padding:30px 20px;
	text-align:center;
	background:#FFEBB6;
}

.contest2504 #contact {
	background:#FFF7DA;
}

#contact a {
	display:inline-block;
}

#contact img {
	width:100%;
	max-width:570px;
	margin:0 auto;
}

.img_footer img {
	width:clamp(270px, calc(108px + 43.2vw), 540px);
	margin:0 auto;
}

.contest2504 .img_footer img {
	width:clamp( 240px, calc( 96px + 38.4vw ), 480px );
	margin:clamp( 30px, calc( 24px + 1.6vw ), 40px ) auto clamp( 40px, calc( 28px + 3.2vw ), 60px ); 
}


.sns_share {
	text-align:center;
}


.sns_share li {
    display:inline-block;
    vertical-align:middle;
}

.footer_bottom ul li {
	display:inline-block;
    vertical-align:middle;
}

footer .copyrights {
	padding:30px 0 15px;
	font-size:9px;
	text-align:center;
}


/* Index
====================================================*/

.index_page header {
	max-width:950px;
	margin:0 auto;
	padding:clamp( 10px, calc( 1px + 2.4vw ), 25px ) 20px clamp( 30px, calc( 12px + 4.8vw ), 60px );
}

.index_page main {
	max-width:990px;
	margin:0 auto;
	padding-bottom:clamp( 40px, calc( 22px + 4.8vw ), 70px );
}

.index_page main ul li img {
	border:#5e2a2d 1px solid;
	border-radius:20px;
}

.index_page main ul li p {
	margin-top:clamp( 10px, calc( 7px + 0.8vw ), 15px );
	font-size:clamp( 13px, calc( 10px + 0.8vw ), 18px );
	font-weight:bold;
	line-height:1.6;
}

.index_page main ul li p span {
	display:inline-block;
	font-weight:normal;
}

.index_page main ul li p span.active {
	color:#E50000 !important;
}

.index_page main ul li p span:nth-of-type(1) {
	color:#868686;
}

.index_page main ul li p span:nth-of-type(2) {
	font-size:clamp( 10px, calc( 7.6px + 0.64vw ), 14px );
}

.index_page main ul li + li {
	margin-top:30px;
}


/* 404
====================================================*/

.error_page main {
	padding:clamp(70px, calc(58px + 3.2vw), 90px) 0 clamp(40px, calc(16px + 6.4vw), 80px);
}

.error_page main .sec_inner {
	display:block;
	text-align:center;
}

.error_page .ttl {
	margin-bottom:clamp(40px, calc(28px + 3.2vw), 60px);
	font-size:clamp(60px, calc(43.2px + 4.4799999999999995vw), 88px);
	font-weight:bold;
	line-height:1;
}

.error_page .ttl span {
	margin-top:8px;
	display:block;
	font-size:clamp(22px, calc(16px + 1.6vw), 32px);
	font-weight:normal;
}

.error_page main p:nth-of-type(2) {
	margin-bottom:20px;
	font-size:clamp(14px, calc(9.2px + 1.28vw), 22px);
	font-weight:bold;
	line-height:1.6;
}

.error_page main p:nth-of-type(3) {
	margin-bottom:50px;
	line-height:2.2;
}

.error_page main a {
	font-size:clamp(13px, calc(10px + 0.8vw), 18px);
	text-decoration:underline;
}


/* For adjust */


/* Only SP */
@media only screen and (max-width: 767px) {


/* --- main --- */

html, body {
	overflow-x:hidden;
}

.step_wrap.step3 {
	padding-bottom:22%;
}

.step_wrap.step3 a {
	position:absolute;
	bottom:20px;
	left:0;
}

.step_wrap.step3 a img {
	width:100%;
	max-width:none;
	padding:0 20px;
	box-sizing:border-box;
}

#contact img {
	max-width:none;
}


/* --- footer --- */

footer .sec_inner {
	padding:0;
}

.footer_menu {
	border-top:#E0E0E0 1px solid;
}

.footer_menu > li > a {
	padding:20px 30px;
	display:block;
	background-image:url(../img/footer_arrow_sp.png);
	background-size:auto 14px;
	background-repeat:no-repeat;
	background-position:center right 20px;
	font-size:14px;
	font-weight:bold;
	color:#6C6C6C;
}

.footer_menu > li + li {
	border-top:#E0E0E0 1px solid;
}

.sns_share {
	margin:35px 45px;
	text-align:center;
}

.sns_share li img {
	height:35px;
}

.sns_share li + li {
    margin-left:35px;
}

.footer_bottom ul {
	text-align:center;
}

.footer_bottom li:nth-of-type(1) img {
	width:60px;
}

.footer_bottom li:nth-of-type(2) img {
	width:160px;
}

.footer_bottom li + li {
	margin-left:30px;
}

}


/* Only PC */
@media only screen and (min-width: 768px) {

/* --- common --- */

html {
	scroll-padding-top:0;
}

a:hover {
	animation-name:a-hover;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}

@keyframes a-hover{
    from{
    }
    to{
	opacity:0.6;
    }
}

a:hover img {
	animation-name:a-hover-img;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}

@keyframes a-hover-img{
    from{
    }
    to{
	opacity:0.6;
    }
}

.txt_u:hover {
	text-decoration:none !important;
}

.sp {
	display:none !important;
}

.sp_inline {
	display:none !important;
}

.pc {
	display:block !important;
}

.pc_inline {
	display:inline-block !important;
}


/* --- header --- */

.menu_fix.open {
	width:60px;
	height:60px;
}

.menu_fix.open a {
	width:60px;
	height:60px;
}

.entry_fix {
	bottom:15px;
	right:15px;
}


/* --- main --- */

.sec_inner {
	width:100%;
	max-width:1040px;
	margin:0 auto;
}

.contest2504 #about {
	background-image:url(../img/2504/bg_u.png);
	background-position:bottom -40px center;
}

.step_wrap {
	padding:20px 30px;
}

.award {
	margin-top:30px;
	padding:45px 20px 55px;
}

.step_wrap + .step_wrap {
	margin-top:30px;
}

.step_wrap > div {
	padding:25px 0;
}

.step_wrap a:hover {
	text-decoration:none;
}

.btn_open {
	background-size:30px;
}

.step_wrap .open_cnt {
	margin-top:25px;
}

.step_wrap.step3 a {
	margin-top:40px;
}

.step_wrap.step3 a img {
	width:100%;
}

.award p {
	text-align:center;
}

#schedule ul li.adjust {
        padding: 7px 15px 15px;
}

.juror_wrap{
	padding:30px clamp(30px, calc(-103.16017316017314px + 17.316017316017316vw), 70px) 60px;
}

.img_juror {
	top:-80px;
}

#juror ul {
	flex-wrap:nowrap;
	-webkit-box-pack:center;
	justify-content:center;
}

#juror ul li {
	max-width:320px;
	margin-right:5%;
}


#juror ul img {
	max-width:80%;
	margin:0 auto;
}

.contest2504 .img_faq {
	top:-4%;
}


#faq .btn_open {
	margin-top:15px;
	padding:20px 40px 25px 60px;
	background-size:45px, 30px;
	background-position:top 10px left, top 10px right;
}

#faq .btn_open.opened {
	background-image:url(../img/icon_q.png), url(../img/btn_close.png);
}

#faq .open_cnt {
	margin-top:15px;
	padding:20px 0 25px 60px;
	background-size:45px;
	background-position:top 10px left;
}

.tw_embed {
    max-width:600px;
    max-height:570px;
    display:block;
    overflow-y:scroll;
}


/* --- footer --- */

#contact {
	padding:60px 0;
}

.footer_menu {
	margin:50px auto;
	text-align:center;

}

.footer_menu li {
    display:inline-block;
    vertical-align:middle;
}

.footer_menu li + li {
	margin-left:30px;
}

.footer_menu > li > a {
	display:block;
	padding:3px 0 3px 28px;
	background-image:url(../img/arrow_footer.png);
	background-size:20px;
	background-repeat:no-repeat;
	background-position:center left;
	font-weight:bold;
}

.footer_menu .sns_share li + li {
	margin-left:8px;
}

.footer_menu .sns_share li img {
	max-height:30px;
}

.footer_bottom {
	text-align:center;
}

.footer_bottom li + li {
	margin-left:55px;
}

.footer_bottom li:nth-of-type(1) img {
	width:120px;
}

.footer_bottom li:nth-of-type(2) img {
	width:280px;
}

footer .copyrights {
	padding:40px 0 30px;
	font-size:14px;
}


/* Index
====================================================*/

.index_page main {
	width:100%;
}

.index_page main ul {
	width:100%;
	display:-webkit-box;
	display:flex;
	flex-wrap:wrap;
	-webkit-box-pack:justify;
	justify-content:space-between;
	row-gap:clamp( 20px, calc( 14px + 1.6vw ), 30px );
}

.index_page main ul li {
	width:47.5%;
}

.index_page main ul li + li {
	margin-top:0;
}



/* 404
====================================================*/

.error_page main a:hover {
	text-decoration:none;
}

}


/* For adjust */

@media screen and (max-width: 1000px) {

.contest2412 #about {
	background-image:url(../img/bg_green_sp.png);
	background-position:bottom -180px center;
	background-size:100% auto;
}

}

@media screen and (min-width: 801px) and (max-width: 900px) {

.contest2412 #about {
	background-position:bottom -150px center;
}

}

@media screen and (min-width: 701px) and (max-width: 800px) {

.contest2412 #about {
	background-position:bottom -120px center;
}

}

@media screen and (min-width: 601px) and (max-width: 700px) {

.contest2412 #about {
	background-position:bottom -110px center;
}

}

@media screen and (min-width: 501px) and (max-width: 600px) {

.contest2412 #about {
	background-position:bottom -100px center;
}

}

@media screen and (min-width: 401px) and (max-width: 500px) {

.contest2412 #about {
	background-position:bottom -90px center;
}

}


@media screen and (max-width: 400px) {

.contest2412 #about {
	background-position:bottom -80px center;
}

}


@media screen and (min-width: 768px) and (max-width: 800px) {

#juror ul li {
	margin-right:2%;
}

}


@media screen and (min-width: 860px) {

#schedule ul {
	display:-webkit-box;
	display:flex;
}

#schedule ul li {
	padding:30px 15px 25px;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	flex-direction:column;
}

#schedule ul li + li {
	margin-top:0;
}

#schedule ul li {
	position:relative;
}

#schedule ul li + li:after {
	content:url(../img/arrow_w.png);
	display:block;
	position:absolute;
	top:50%;
	left:-25px;
	transform:translateY(-50%);
}

#schedule ul li div:nth-of-type(1) {
	padding:0 0 20px;
	border-right:none;
	border-bottom:#9F9F9F 1px solid;
	line-height:1.2;
}

#schedule ul li div:nth-of-type(2) {
	padding:20px 0 0;
}

#schedule ul li div {
	width:100%;
	box-sizing:border-box;
	flex-grow:0;
}

#schedule ul li {
	margin-right:4%;
}

#schedule ul li:nth-last-of-type(1) {
	margin-right:0;
}

}


@media screen and (min-width: 1160px) {

.img_schedule {
	top:-60px;
	left:calc(50% - 550px);
}

.img_faq {
	top:-2%;
	right:calc(50% - 500px);
}

}
