@charset "utf-8";
/* reset
================================================== */
html,body,div,h1,h2,h3,h4,p,img,small,dl,dt,dd,ul,li,article,footer,header,main,section,picture{margin:0;padding:0;font-size:100%;vertical-align:bottom;border:0;background:transparent;outline:0;}
html{font-size:10px;}
body{position:relative;line-height:1;color:#333;font-family:source-han-sans-japanese,sans-serif;background:#FFF;-webkit-text-size-adjust:100%;}
article,footer,header,main,picture,section{display:block;}
ul{list-style:none;}
img{width:100%;height:auto;}
a{margin:0;padding:0;color:#01A4E4;vertical-align:bottom;background:transparent;}
a:link,a:visited,a:hover,a:active{text-decoration:none;}
a:hover{color:#70CCF0;}
@media screen and (max-width:879px){
a:hover{color:#01A4E4;}
}

/* #logo
================================================== */
#logo{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	background:url(../images/header_bg.jpg) no-repeat center top;
	background-size:cover;
	z-index:-1;
}
.logo_inner{
	position:relative;
	width:100%;
	max-width:1440px;
	height:248px;
	margin:0 auto;
	padding:0 60px;
}
.logo_img{
	position:absolute;
	top:74px;
	left:60px;
	width:176px;
	height:auto;
}
@media screen and (max-width:1279px){
	#logo{
		background-image:url(../images/header_bg_tablet.png);
	}
	.logo_inner{
		height:176px;
	}
	.logo_img{
		top:55px;
		width:122px;
	}
}
@media screen and (max-width:879px){
	#logo{
		background-image:url(../images/header_bg_sp.png);
	}
	.logo_inner{
		height:130px;
		padding:0;
	}
	.logo_img{
		top:34px;
		left:50%;
		width:96px;
		transform:translateX(-50%);
	}
}

/* header
================================================== */
header{
	width:100%;
	height:100vh;
	padding:0 40px;
	box-sizing:border-box;
}
.header_inner{
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	max-width:1156px;
	height:100vh;
	margin:0 auto;
}
.header_content dt{
	position:relative;
	width:715px;
	height:auto;
	margin:0 auto;
	z-index:10;
}
.header_content dd{
	position:relative;
	width:1000px;
	margin-top:-35px;
	padding:80px 40px 50px;
	color:#FFF;
	text-align:center;
	background:#000;
	box-sizing:border-box;
}
.header_content h1{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	font-size:2.4rem;
	line-height:1.4;
	font-weight:500;
	letter-spacing:0.05em;
}
.header_content h1 span{
	display:block;
	padding-bottom:4px;
}
.header_content .header_content_logo{
	margin-right:10px;
	padding:0;
}
.header_content .header_content_logo,
.header_content .header_content_logo img{
	width:auto;
	height:36px;
}
.header_content h2{
	font-size:4.6rem;
	line-height:1.4;
	font-weight:700;
}
.header_content h2 span{
	font-size:4rem;
	letter-spacing:0.05em;
}
.header_text{
	margin-top:16px;
}
@media screen and (max-height:806px) and ( min-width:1280px){
	header{
		height:auto;
	}
	.header_inner{
		height:806px;
	}
}
@media screen and (max-width:1279px){
	header{
		height:743px;
		padding:0 60px;
	}
	.header_inner{
		align-items:flex-start;
		height:748px;
		padding-top:85px;
		box-sizing:border-box;
	}
	.header_logo{
		top:55px;
		left:0;
		width:122px;
	}
	.header_content dt{
		width:480px;
	}
	.header_content dd{
		width:760px;
		margin-top:-33px;
		padding:57px 35px 41px;
	}
	.header_content h1{
		font-size:2rem;
	}
	.header_content h1 span{
		padding-bottom:3px;
	}
	.header_content .header_content_logo{
		margin-right:6px;
	}
	.header_content .header_content_logo,
	.header_content .header_content_logo img{
		height:30px;
	}
	.header_content h2{
		margin-top:1px;
		font-size:3.8rem;
	}
	.header_content h2 span{
		font-size:3.6rem;
	}
	.header_text{
		margin-top:11px;
		line-height:1.7143;
	}
}
@media screen and (max-width:879px){
	header{
		height:auto;
		padding:0;
	}
	.header_inner{
		position:static;
		display:block;
		justify-content:initial;
		align-items:initial;
		height:auto;
		padding-top:169px;
	}
	.header_logo{
		position:static;
		top:initial;
		left:initial;
		width:97px;
		margin:0 auto;
	}
	.header_content dt{
		width:100%;
		max-width:600px;
		padding:0 28px;
		box-sizing:border-box;
	}
	.header_content dd{
		width:100%;
		margin-top:-28px;
		padding:60px 28px 39px;
	}
	.header_content h1{
		width:260px;
		margin:0 auto;
	}
	.header_content .header_content_logo{
		margin-right:4px;
	}
	.header_content h2{
		margin:0;
		font-size:3rem;
		letter-spacing:0.05em;
	}
	.header_content h2 span{
		display:block;
		font-size:3rem;
	}
	.header_text{
		margin-top:13px;
	}
}
@media screen and (max-width:413px){
	.header_content h1{
		font-size:1.8rem;
		letter-spacing:0;
	}
	.header_content .header_content_logo,
	.header_content .header_content_logo img{
		height:26px;
	}
	.header_content h2{
		letter-spacing:0;
	}
}
@media screen and (max-width:374px){
	.header_content h1{
		font-size:1.6rem;
		letter-spacing:0;
	}
	.header_content h1 span{
		padding-bottom:2px;
	}
	.header_content .header_content_logo,
	.header_content .header_content_logo img{
		height:24px;
	}
	.header_content h2{
		font-size:2.5rem;
	}
	.header_content h2 span{
		font-size:2.5rem;
	}
}

/* footer
================================================== */
footer{
	background:#000;
}
footer p{
	padding:8px 0;
	font-size:1.2rem;
	line-height:2;
	color:#FFF;
	text-align:center;
}
@media screen and (max-width:879px){
	footer p{
		padding:6px 0;
	}
}

/* main
================================================== */
/* common
-------------------------------------------------- */
.content{
	position:relative;
}
.inner{
	position:relative;
	max-width:1156px;
	margin:0 auto;
	padding:0 50px;
	z-index:10;
}
h1:not(.header):not(.contest){
	position:relative;
	display:inline-block;
	margin:-35px 0 0 -200%;
	padding:15px 36px 19px calc(200% + 3px);
	font-size:3rem;
	line-height:1.2;
	color:#5FC6CB;
	font-weight:700;
	letter-spacing:0.2em;
	white-space:nowrap;
	background:#000;
}
.text{
	font-size:1.6rem;
	line-height:1.75;
	font-weight:400;
}
.link_text a{
	color:#01A4E4;
}
.link_text a:hover{
	color:#70CCF0;
}
.link_text_yellow a{
	color:#FFF000;
}
.link_text_yellow a:hover{
	color:#FFF995;
}
.block{
	display:block;
}
.arrow{
	position:relative;
}
.arrow::before{
	position:absolute;
	top:50%;
	left:50%;
	display:block;
	width:86px;
	height:86px;
	border-radius:50%;
	background:#FFF;
	transform:translate(-50%,-50%);
	content:'';
}
.arrow::after{
	position:absolute;
	top:50%;
	left:50%;
	margin-left:5px;
	border-left:38px solid #4EBACE;
	border-top:22px solid transparent;
	border-bottom:22px solid transparent;
	transform:translate(-50%,-50%);
	transition:0.3s;
	content:'';
}
.arrow:hover::after{
	border-left-color:#80E7FA;
}
.button{
	display:block;
	padding:11px 0 13px;
	font-size:1.6rem;
	line-height:1.5;
	color:#FFF;
	font-weight:700;
	letter-spacing:0.05em;
	text-align:center;
	border-radius:24px;
	background:#333;
	transition:0.3s;
}
.button:hover{
	color:#FFF;
	background:#5D5D5D;
}
@media screen and (max-width:1279px){
	.inner{
		max-width:980px;
		padding:0 60px;
	}
	.text{
		font-size:1.4rem;
		line-height:1.7143;
	}
	.arrow::before{
		width:62px;
		height:62px;
	}
	.arrow::after{
		margin-left:4px;
		border-left-width:27px;
		border-top-width:16px;
		border-bottom-width:16px;
	}
	.button{
		padding:13px 0 14px;
		font-size:1.4rem;
	}
}
@media screen and (max-width:879px){
	.content::before{
		height:30px;
	}
	.inner{
		max-width:640px;
		padding:0 28px;
	}
	h1:not(.header):not(.contest){
		margin-top:-30px;
		padding-right:26px;
		padding-bottom:17px;
		font-size:2.4rem;
	}
	.link_text a:hover{
		color:#01A4E4;
	}
	.link_text_yellow a:hover{
		color:#FFF000;
	}
	.arrow:hover::after{
		border-left-color:#4EBACE;
	}
	.button{
		padding:11px 0 12px;
		font-size:1.8rem;
		border-radius:25px;
	}
	.button:hover{
		background:#333;
	}
}
@media screen and (max-width:413px){
	h1:not(.header):not(.contest){
		padding-top:17px;
		padding-bottom:18px;
		font-size:2.1rem;
	}
}
@media screen and (max-width:374px){
	.inner{
		padding:0 15px;
	}
	h1:not(.header):not(.contest){
		padding-right:15px;
		letter-spacing:0;
	}
}

/* #contest
-------------------------------------------------- */
#contest{
	padding:108px 0 150px;
	background:rgba(255,255,255,.9);
}
.contest_theme{
	display:flex;
	justify-content:center;
	align-items:center;
}
.contest_theme h1{
	font-size:2.4rem;
	line-height:1.2;
	font-weight:700;
	letter-spacing:0.1em;
}
.contest_theme h2{
	position:relative;
	margin-left:12px;
	padding:0 45px 0 56px;
	font-size:6rem;
	line-height:1.2;
	color:#01A4E4;
	font-weight:700;
	letter-spacing:0.2em;
}
.contest_theme h2::before,
.contest_theme h2::after{
	position:absolute;
	font-size:7.7rem;
	line-height:1;
	font-weight:700;
	color:#9BE3FF;
	font-family:source-han-sans-japanese,sans-serif;
	letter-spacing:0.05em;
}
.contest_theme h2::before{
	top:-9px;
	left:0;
	content:'\201C';
}
.contest_theme h2::after{
	bottom:-46px;
	right:0;
	content:'\201D';
}
.contest_theme h2 span{
	display:none;
}
.contest_details{
	display:grid;
	grid-template-columns:1fr 228px;
	column-gap:10px;
	margin-top:46px;
}
.contest_lead{
	grid-row:1;
	grid-column:1;
}
.contest_lead p+p{
	margin-top:8px;
}
.contest_lead a{
	text-decoration:underline;
}
.contest_questioner{
	grid-row:1/3;
	grid-column:2;
	text-align:center;
}
.contest_questioner dt{
	width:120px;
	height:auto;
	margin:0 auto;
	padding-top:2px;
}
.contest_questioner .name{
	margin-top:16px;
	font-size:1.8rem;
	line-height:1.5556;
	font-weight:700;
	letter-spacing:0.05em;
}
.contest_questioner .name span{
	display:inline-block;
	padding-left:5px;
	font-size:1.5rem;
	font-weight:400;
}
.contest_questioner .title{
	margin-top:3px;
	font-size:1.6rem;
	line-height:1.5;
}
.contest_movie{
	display:flex;
	justify-content:space-between;
	grid-row:3;
	grid-column:1/3;
	margin-top:67px;
}
.contest_movie li{
	width:calc((100% - 36px) / 2);
}
.contest_movie dl{
	display:flex;
	flex-direction:column-reverse;
}
.contest_movie dt{
	margin-top:13px;
}
.contest_movie dd{
	position:relative;
	padding-left:18px;
	font-size:1.4rem;
	line-height:1.5385;
	font-weight:500;
}
.contest_movie dd::before{
	position:absolute;
	top:0;
	left:0;
	font-size:1.4rem;
	line-height:1.5385;
	color:#5FC6CB;
	font-family:source-han-sans-japanese,sans-serif;
	content:'\25BC';
}
.contest_movie dd span{
	display:none;
}
.contest_movie dd br,
.contest_movie dd .mobile{
	display:none;
}
.contest_button{
	display:flex;
	grid-row:2;
	grid-column:1;
	margin-top:27px;
}
.contest_button li{
	width:274px;
}
.contest_button li+li{
	margin-left:20px;
}
.supported{
	display:flex;
	justify-content:center;
	align-items:center;
	margin-top:80px;
}
.supported_text{
	font-weight:700;
}
.supported_img{
	width:142px;
	height:auto;
	margin-left:24px;
}
.supported_img:hover{
	opacity:0.5;
}
@media screen and (max-width:1279px){
	#contest{
		margin-top:0;
		padding:72px 0 120px;
	}
	.contest_theme h1{
		padding-top:6px;
		font-size:1.8rem;
	}
	.contest_theme h2{
		margin-left:8px;
		padding:0 33px 0 40px;
		font-size:4.6rem;
	}
	.contest_theme h2::before,
	.contest_theme h2::after{
		font-size:6.4rem;
	}
	.contest_theme h2::after{
		bottom:-35px;
	}
	.contest_details{
		grid-template-columns:1fr 172px;
		column-gap:24px;
		margin-top:24px;
	}
	.contest_questioner dt{
		width:100px;
		padding-top:2px;
	}
	.contest_questioner .name{
		margin-top:6px;
		font-size:1.6rem;
		line-height:1.75;
	}
	.contest_questioner .name span{
		padding-left:4px;
		font-size:1.3rem;
	}
	.contest_questioner .title{
		margin-top:1px;
		font-size:1.3rem;
		line-height:1.385;
	}
	.contest_movie{
		margin-top:36px;
	}
	.contest_movie li{
		width:calc((100% - 24px) / 2);
	}
	.contest_movie dt{
		margin-top:12px;
	}
	.contest_movie dd{
		padding-left:16px;
		font-size:1.3rem;
	}
	.contest_movie dd::before{
		font-size:1.3rem;
	}
	.contest_movie dd br{
		display:block;
	}
	.contest_button{
		margin-top:20px;
	}
	.contest_button li{
		width:270px;
	}
	.contest_button li+li{
		margin-left:24px;
	}
	.supported{
		margin-top:49px;
	}
	.supported_img{
		width:108px;
		margin-left:22px;
	}
}
@media screen and (max-width:879px){
	#contest{
		padding:78px 0 80px;
	}
	.contest_theme{
		flex-direction:column;
		justify-content:flex-start;
		align-items:center;
	}
	.contest_theme h1{
		margin:0;
		letter-spacing:0;
	}
	.contest_theme h2{
		margin:10px 0 0;
		padding:0 39px 0 50px;
		font-size:5.8rem;
	}
	.contest_theme h2::before,
	.contest_theme h2::after{
		font-size:7rem;
		color:#E1F7FF;
	}
	.contest_theme h2::after{
		bottom:-42px;
	}
	.contest_details{
		grid-template-columns:auto;
		column-gap:initial;
		margin-top:29px;
	}
	.contest_lead{
		grid-row:1;
		grid-column:1;
	}
	.contest_questioner{
		grid-row:2;
		grid-column:1;
		display:flex;
		justify-content:center;
		align-items:center;
		margin-top:65px;
	}
	.contest_questioner dt{
		margin:0;
		padding:0;
	}
	.contest_questioner dd{
		margin-left:20px;
		padding-bottom:6px;
	}
	.contest_questioner .name{
		margin:0;
		text-align:left;
	}
	.contest_questioner .title{
		margin-top:1px;
		text-align:left;
	}
	.contest_movie{
		grid-row:3;
		grid-column:1;
		flex-direction:column;
		justify-content:flex-start;
		align-items:center;
		margin-top:40px;
	}
	.contest_movie li{
		width:100%;
		max-width:560px;
	}
	.contest_movie li+li{
		margin-top:30px;
	}
	.contest_movie dt{
		margin-top:8px;
	}
	.contest_movie li:nth-of-type(1) dd br{
		display:none;
	}
	.contest_button{
		grid-row:4;
		flex-direction:column;
		margin-top:30px;
	}
	.contest_button li{
		width:100%;
	}
	.contest_button li+li{
		margin:16px 0 0;
	}
	.supported{
		margin-top:60px;
	}
	.supported_img{
		width:118px;
		margin-left:30px;
	}
}
@media screen and (max-width:424px){
	.contest_theme h2{
		padding:0 45px 0 50px;
		letter-spacing:0.1em;
	}
}
@media screen and (max-width:413px){
	.contest_theme h2{
		padding:0 37px 0 40px;
		font-size:4.6rem;
	}
	.contest_theme h2::before,
	.contest_theme h2::after{
		font-size:6.4rem;
	}
	.contest_theme h2::after{
		bottom:-35px;
	}
	.supported_img{
		margin-left:15px;
	}
}
@media screen and (max-width:374px){
	.contest_movie li:nth-of-type(1) dd br,
	.contest_movie dd .mobile{
		display:block;
	}
}

/* #winning-team
-------------------------------------------------- */
#winning-team{
	padding-bottom:140px;
	background:#5FC6CB;
}
#winning-team.content::before{
	background:#FFF;
}
.winning-teams{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:80px 20px;
	margin-top:-93px;
}

/* layout */
.team{
	display:grid;
	grid-template-columns:1fr 344px;
}
.team .design-image{
	grid-row:1/3;
	grid-column:1/2;
}
.team .member{
	grid-row:3;
	grid-column:1/3;
}
#winner{
	grid-column:1/3;
	grid-template-columns:700px 1fr;
	width:1080px;
	margin-left:auto;
}
#winner .design-image{
	grid-row:1/4;
	grid-column:2/3;
}
#winner .member{
	grid-row:3;
	grid-column:1/2;
}

/* common */
.ranking{
	color:#FFF;
}
.ranking h2{
	position:relative;
	font-size:2.4rem;
	line-height:1.5;
	font-weight:700;
	letter-spacing:0.1em;
}
.ranking h2 span{
	display:inline-block;
	padding:0 2px;
	font-size:4rem;
}
.ranking h3{
	margin-top:10px;
	font-size:3.8rem;
	line-height:1.3684;
	font-weight:700;
	letter-spacing:0.05em;
}
.ranking h3 .mobile{
	display:none;
}
.ranking h3 .sp{
	display:none;
}
.design-image{
	padding-left:30px;
}
.design-image img{
	width:auto;
	height:316px;
	filter:drop-shadow(20px 20px 10px rgba(12,40,41,0.3));
}
.winning-team_button li+li{
	margin-top:19px;
}
.member{
	display:flex;
	align-items:center;
	margin-top:40px;
	padding:15px 20px;
	border-radius:10px;
	background:#FFF;
}
.team-name{
	width:102px;
	margin-right:10px;
}
.team-name h4{
	font-size:1.8rem;
	line-height:1.3333;
	color:#5FC6CB;
	font-weight:700;
}
.team-name p{
	margin-top:6px;
	font-size:1.4rem;
	line-height:1.2857;
	font-weight:500;
	letter-spacing:0.05em;
}
.member ul{
	display:grid;
	grid-template-columns:repeat(2,208px);
	row-gap:10px;
}
.member li{
	width:208px;
}
.member dl{
	display:flex;
	align-items:center;
}
.member dt{
	width:80px;
	height:auto;
}
.member dd{
	margin-left:10px;
	font-size:1.6rem;
	line-height:1.75;
	font-weight:700;
}
.member dd span{
	padding-left:4px;
	font-size:1rem;
	font-weight:400;
}

/* .ranking */
#winner .ranking h2,
#second .ranking h2,
#third .ranking h2{
	padding-left:55px;
}
#winner .ranking h2::before,
#second .ranking h2::before,
#third .ranking h2::before{
	position:absolute;
	bottom:8px;
	left:0;
	display:block;
	width:40px;
	height:40px;
	background-size:auto 40px;
	content:'';
}
#winner .ranking h2::before{
	background-image:url(../images/winning-team_icon_gold.png);
}
#second .ranking h2::before,
#third .ranking h2::before{
	background-image:url(../images/winning-team_icon_white.png);
}
/* .design-image */
#second .design-image,
#third .design-image{
	padding-top:22px;
}
#fourth .design-image,
#fifth .design-image{
	padding-top:2px;
}

/* .winning-team_button */
#second .winning-team_button{
	margin-top:35px;
}
#third .winning-team_button{
	margin-top:102px;
}
#fourth .winning-team_button{
	margin-top:82px;
}
#fifth .winning-team_button{
	margin-top:31px;
}

/* .member */
#fourth .member .member1,
#fifth .member .member1{
	order:1;
}
#fourth .member .member2,
#fifth .member .member2{
	order:3;
}
#fourth .member .member3,
#fifth .member .member3{
	order:2;
}

/* #winner */
#winner .ranking{
	padding-top:129px;
}
#winner .ranking h2{
	color:#FFDE02;
}
#winner .ranking h3{
	margin-top:6px;
}
#winner .design-image{
	padding:0 0 0 60px;
}
#winner .design-image img{
	width:auto;
	height:574px;
}
#winner .winning-team_button{
	display:flex;
	margin-top:33px;
}
#winner .winning-team_button li{
	width:220px;
}
#winner .winning-team_button li:nth-of-type(2){
	width:240px;
}
#winner .winning-team_button li+li{
	margin:0 0 0 10px;
}
#winner .member{
	flex-direction:column;
	margin-top:35px;
	padding:25px 66px 23px;
}
#winner .team-name{
	display:flex;
	justify-content:center;
	align-items:center;
	width:auto;
	margin:0;
}
#winner .team-name h4{
	font-size:2rem;
}
#winner .team-name p{
	margin:0 0 0 8px;
	font-size:1.6rem;
	letter-spacing:0.1em;
}
#winner .member ul{
	display:flex;
	justify-content:space-between;
	margin-top:18px;
}
#winner .member li{
	width:263px;
}
#winner .member dt{
	width:120px;
}
#winner .member dd{
	margin-left:18px;
	font-size:2rem;
	line-height:1.4;
	letter-spacing:0.05em;
}
#winner .member dd span{
	font-size:1.4rem;
}
@media screen and (max-width:1279px){
	#winning-team{
		padding-bottom:110px;
	}
	.winning-teams{
		display:block;
		grid-template-columns:initial;
		gap:initial;
		max-width:760px;
		margin:-112px auto 0;
	}

	/* layout */
	.team{
		grid-template-columns:1fr 499px;
	}
	.team .design-image{
		grid-row:1/4;
	}
	.team .member{
		grid-row:3;
		grid-column:2/3;
	}
	#winner{
		grid-column:initial;
		grid-template-columns:368px 1fr;
		width:100%;
	}
	#winner .design-image{
		grid-row:1/3;
	}
	#winner .member{
		grid-column:1/3;
	}

	/* common */
	.team+.team{
		margin-top:60px;
	}
	.design-image{
		padding-left:11.5385%;
	}
	.design-image img{
		height:354px;
	}
	.winning-team_button{
		display:grid;
		grid-template-columns:repeat(2,237px);
		gap:20px 25px;
	}
	.winning-team_button li+li{
		margin-top:0;
	}
	.member{
		flex-direction:column;
		padding:26px 0 22px;
	}
	.team-name{
		display:flex;
		align-items:center;
		width:auto;
		margin:0;
	}
	.team-name p{
		margin:0 0 0 18px;
	}
	.member ul{
		grid-template-columns:repeat(2,210px);
		row-gap:13px;
		margin-top:19px;
	}
	.member li{
		width:210px;
	}
	
	/* .ranking */
	#fifth .ranking h3{
		font-size:3.7rem;
		letter-spacing:0.04em;
	}
	
	/* .design-image */
	#second .design-image,
	#third .design-image{
		padding-top:14px;
	}
	#fourth .design-image,
	#fifth .design-image{
		padding-top:20px;
	}

	/* .winning-team_button */
	#second .winning-team_button,
	#third .winning-team_button,
	#fourth .winning-team_button,
	#fifth .winning-team_button{
		margin-top:23px;
	}

	/* #winner */
	#winner .ranking{
		padding-top:142px;
	}
	#winner .design-image{
		padding:0 0 0 95px;
	}
	#winner .design-image img{
		height:476px;
	}
	#winner .winning-team_button{
		grid-template-columns:initial;
		gap:initial;
		flex-direction:column;
		margin-top:34px;
	}
	#winner .winning-team_button li,
	#winner .winning-team_button li:nth-of-type(2){
		width:368px;
	}
	#winner .winning-team_button li+li{
		margin:19px 0 0 0;
	}
	#winner .member{
		margin-top:50px;
		padding:25px 97px 23px;
	}
}
@media screen and (max-width:879px){
	#winning-team{
		padding-bottom:85px;
	}
	.winning-teams{
		display:grid;
		grid-template-columns:auto;
		gap:initial;
		margin-top:0px;
	}

	/* layout */
	.team{
		display:grid;
		grid-template-columns:auto;
	}
	#winner{
		grid-column:1;
		grid-template-columns:auto;
		width:100%;
		margin:0;
	}
	.team .ranking{
		grid-row:1;
		grid-column:1;
	}
	.team .design-image,
	#winner .design-image{
		grid-row:2;
		grid-column:1;
	}
	.team .winning-team_button{
		grid-template-columns:auto;
		gap:initial;
		grid-row:3;
		grid-column:1;
	}
	.team .member,
	#winner .member{
		grid-row:4;
		grid-column:1;
	}

	/* common */
	.ranking{
		text-align:center;
	}
	.ranking h3{
		margin:0;
	}
	.ranking h3 .mobile{
		display:block;
	}
	.design-image{
		margin-top:38px;
		padding:0;
		text-align:center;
	}
	.design-image img{
		height:350px;
	}
	.winning-team_button li+li{
		margin-top:15px;
	}
	.member{
		padding:32px 20px 30px;
	}
	.team-name{
		flex-direction:column;
	}
	.team-name p{
		margin:6px 0 0;
	}
	.member ul{
		grid-template-columns:repeat(2,1fr);
		gap:10px 20px;
		width:100%;
		max-width:460px;
	}
	.member li{
		width:100%;
	}

	/* .ranking */
	#winner .ranking h2,
	#second .ranking h2,
	#third .ranking h2{
		padding:38px 0 0;
	}
	#winner .ranking h2::before,
	#second .ranking h2::before,
	#third .ranking h2::before{
		position:absolute;
		top:0;
		bottom:0;
		left:50%;
		transform:translateX(-50%);
	}

	/* .design-image */
	#second .design-image,
	#third .design-image,
	#fourth .design-image,
	#fifth .design-image{
		padding-top:0px;
	}

	/* .winning-team_button */
	#second .winning-team_button,
	#third .winning-team_button,
	#fourth .winning-team_button,
	#fifth .winning-team_button{
		margin-top:45px;
	}

	/* #winner */
	#winner .ranking{
		padding-top:36px;
	}
	#winner .design-image{
		padding:0;
	}
	#winner .design-image img{
		height:516px;
	}
	#winner .winning-team_button{
		margin-top:50px;
	}
	#winner .winning-team_button li,
	#winner .winning-team_button li:nth-of-type(2){
		width:100%;
	}
	#winner .winning-team_button li+li{
		margin:15px 0 0;
	}
	#winner .member{
		margin-top:35px;
		padding:32px 20px 30px;
	}
	#winner .team-name p{
		margin:6px 0 0;
	}
	#winner .member ul{
		max-width:480px;
		margin-top:19px;
	}
	#winner .member li{
		width:100%;
	}
	#winner .member dt{
		width:110px;
	}
	#winner .member dd{
		margin-left:10px;
		font-size:1.6rem;
		line-height:1.75;
		letter-spacing:0;
	}
	#winner .member dd span{
		font-size:1rem;
	}
}
@media screen and (max-width:549px){
	.member ul{
		gap:20px;
		max-width:300px;
		margin-top:26px;
	}
	.member dl{
		flex-direction:column;
	}
	.member dd{
		margin:8px 0 0;
	}

	/* .member */
	#fourth .member .member2,
	#fifth .member .member2{
		order:2;
	}
	#fourth .member .member3,
	#fifth .member .member3{
		order:3;
		grid-row:2;
		grid-column:1/3;
	}
	
	/* #winner */
	#winner .member ul{
		max-width:280px;
		margin-top:26px;
	}
	#winner .member li{
		width:calc((100% - 20px) / 2);
	}
	#winner .team-name h4{
		font-size:1.8rem;
	}
	#winner .team-name p{
		font-size:1.4rem;
		line-height:1.2857;
		letter-spacing:0.05em;
	}
}
@media screen and (max-width:413px){
	.ranking h3,
	#fifth .ranking h3{
		font-size:3.8rem;
		line-height:1.3684;
		letter-spacing:0;
	}
	.ranking h3 .mobile{
		display:none;
	}
}
@media screen and (max-width:374px){
	.ranking h3,
	#fifth .ranking h3{
		font-size:3.5rem;
	}
	.member ul{
		gap:20px 4px;
	}
}

/* #judge
-------------------------------------------------- */
#judge{
	padding-bottom:140px;
	color:#FFF;
	background:#333;
}
#judge.content::before{
	background:#5FC6CB;
}
.live{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:20px;
}
.live h2{
	font-size:3.2rem;
	line-height:1.4375;
	letter-spacing:0.05em;
}
.live h2+p{
	max-width:514px;
	margin:20px 20px 0 0;
}
.live ul{
	display:flex;
	justify-content:space-between;
	width:618px;
}
.live li{
	width:200px;
	text-align:center;
}
.live dt{
	width:140px;
	height:auto;
	margin:0 auto;
}
.live dd{
	margin-top:15px;
}
.live .name{
	font-size:1.8rem;
	line-height:1.75;
	font-weight:700;
	letter-spacing:0.05em;
}
.live .name span{
	display:inline-block;
	padding-left:5px;
	font-size:1.4rem;
	font-weight:400;
}
.live .title{
	margin-top:3px;
	font-size:1.4rem;
	line-height:1.5715;
}
.offline{
	margin-top:58px;
}
.offline h2{
	position:relative;
	font-size:2rem;
	line-height:1.5;
	font-weight:700;
	letter-spacing:0.05em;
	text-align:center;
}
.offline h2::before,
.offline h2::after{
	position:absolute;
	top:50%;
	display:block;
	width:calc(50% - 150px);
	height:1px;
	background:#FFF;
	content:'';
}
.offline h2::before{
	left:0;
}
.offline h2::after{
	right:0;
}
.offline h2+p{
	margin-top:13px;
}
.offline ul{
	margin-top:42px;
	display:grid;
	grid-template-columns:repeat(6,1fr);
	gap:20px;
}
.offline .name{
	font-size:1.6rem;
	line-height:1.5;
	font-weight:700;
}
.offline .name span{
	display:inline-block;
	padding-left:3px;
	font-size:1.2rem;
	font-weight:400;
}
.offline .title{
	margin-top:6px;
	font-size:1.3rem;
	line-height:1.5385;
}
.offline .title .mobile{
	display:none;
}
.recruitment{
	margin-top:62px;
	padding:23px 29px;
	border-radius:6px;
	border:1px solid #FFF;
}
.recruitment h3{
	font-size:1.6rem;
	line-height:1.75;
	font-weight:700;
}
.recruitment p{
	margin-top:4px;
}
@media screen and (max-width:1279px){
	#judge{
		padding-bottom:110px;
	}
	.live{
		flex-direction:column;
		justify-content:flex-start;
		margin-top:45px;
		text-align:center;
	}
	.live h2{
		font-size:2.8rem;
	}
	.live h2+p{
		max-width:960px;
		margin:17px 0 0;
	}
	.live ul{
		width:100%;
		max-width:760px;
		margin-top:32px;
	}
	.live li{
		width:246px;
	}
	.live dt{
		width:120px;
	}
	.live dd{
		margin-top:13px;
	}
	.live dd .pc{
		display:none;
	}
	.live .name{
		font-size:1.6rem;
	}
	.live .name span{
		font-size:1.2rem;
	}
	.live .title{
		margin-top:4px;
		font-size:1.3rem;
		line-height:1.5385;
	}
	.offline{
		margin-top:52px;
	}
	.offline h2{
		font-size:1.8rem;
	}
	.offline h2::before,
	.offline h2::after{
		width:calc(50% - 140px);
	}
	.offline h2+p{
		margin-top:9px;
	}
	.offline ul{
		margin-top:39px;
		grid-template-columns:repeat(5,1fr);
		gap:30px 25px;
	}
	.offline .title{
		margin-top:7px;
		line-height:1.3847;
	}
	.recruitment{
		margin-top:53px;
		padding:17px 19px;
	}
	.recruitment h3{
		font-size:1.4rem;
	}
	.recruitment p{
		margin-top:2px;
	}
}
@media screen and (max-width:1109px){
	.offline ul{
		grid-template-columns:repeat(4,1fr);
	}
}
@media screen and (max-width:879px){
	#judge{
		padding-bottom:85px;
	}
	.live{
		margin-top:38px;
	}
	.live h2+p{
		margin-top:21px;
		text-align:left;
	}
	.live ul{
		flex-direction:column;
		justify-content:flex-start;
		align-items:center;
		margin-top:42px;
	}
	.live li{
		width:100%;
	}
	.live li+li{
		margin-top:40px;
	}
	.live dd{
		margin-top:11px;
	}
	.live .title{
		margin-top:4px;
		font-size:1.3rem;
		line-height:1.6923;
	}
	.offline{
		margin-top:62px;
	}
	.offline h2{
		letter-spacing:0;
	}
	.offline h2::before,
	.offline h2::after{
		width:calc(50% - 125px);
	}
	.offline h2+p{
		margin-top:10px;
	}
	.offline ul{
		grid-template-columns:repeat(3,1fr);
		gap:20px;
		max-width:568px;
		margin:28px auto 0;
	}
	.offline .title{
		margin-top:6px;
	}
	.offline .title .pc{
		display:none;
	}
	.offline .title .mobile{
		display:block;
	}
	.recruitment{
		margin-top:51px;
		padding:18px 19px;
	}
	.recruitment h3{
		font-size:1.3rem;
	}
	.recruitment p{
		margin-top:1px;
		font-size:1.3rem;
		line-height:1.6154;
	}
	.recruitment p+p{
		margin-top:2px;
	}
}
@media screen and (max-width:623px){
	.offline ul{
		grid-template-columns:repeat(2,1fr);
		gap:20px 18px;
		max-width:370px;
	}
}
@media screen and (max-width:413px){
	.live h2{
		font-size:2.5rem;
	}
}
@media screen and (max-width:374px){
	.live h2{
		font-size:2.2rem;
	}
	.offline ul{
		gap:20px 10px;
	}
}

/* #tokyo-trip
-------------------------------------------------- */
#tokyo-trip{
	padding-bottom:140px;
	background:rgba(255,255,255,.9);
}
#tokyo-trip.content::before{
	background:#333;
}
#tokyo-trip dl{
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
	margin-top:75px;
}
#tokyo-trip dt{
	width:calc(100% - 596px);
}
#tokyo-trip dd{
	width:566px;
}
#tokyo-trip h2{
	font-size:3.2rem;
	line-height:1.4375;
	letter-spacing:0.05em;
}
#tokyo-trip h2 .mobile{
	display:none;
}
#tokyo-trip h2+p{
	margin-top:20px;
}
.cooperation-companies{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:50px;
	padding:33px 39px 35px;
	border-radius:6px;
	border:1px solid #000;
}
.cooperation-companies h3{
	font-size:2rem;
	line-height:1.5;
	font-weight:400;
	letter-spacing:0.15em;
}
.cooperation-companies h3::after{
	content:'\FF1A';
}
.cooperation-companies ul{
	display:flex;
	justify-content:space-between;
	width:88%;
	max-width:924px;
}
.cooperation-companies li a{
	font-size:2rem;
	line-height:1.5;
	font-weight:700;
	letter-spacing:0.05em;
	text-align:center;
}
.cooperation-companies li a .mobile{
	display:none;
}

@media screen and (max-width:1279px){
	#tokyo-trip{
		padding-bottom:110px;
	}
	#tokyo-trip dl{
		flex-direction:column-reverse;
		justify-content:flex-start;
		align-items:center;
		margin-top:45px;
	}
	#tokyo-trip dt{
		width:100%;
		max-width:760px;
		margin-top:40px;
	}
	#tokyo-trip dd{
		width:100%;
	}
	#tokyo-trip h2{
		font-size:2.8rem;
		line-height:1.4286;
		text-align:center;
	}
	#tokyo-trip h2+p{
		margin-top:14px;
		text-align:center;
	}
	.cooperation-companies{
		flex-direction:column;
		justify-content:flex-start;
		align-items:center;
		padding:18px 30px 20px;
	}
	.cooperation-companies h3{
		font-size:1.6rem;
	}
	.cooperation-companies h3::after{
		content:none;
	}
	.cooperation-companies ul{
		width:100%;
		max-width:700px;
		margin-top:12px;
	}
	.cooperation-companies li a{
		font-size:1.6rem;
	}
}
@media screen and (max-width:879px){
	#tokyo-trip{
		padding-bottom:85px;
	}
	#tokyo-trip dl{
		margin-top:38px;
	}
	#tokyo-trip h2+p{
		margin-top:21px;
		text-align:left;
	}
	#tokyo-trip dt{
		margin-top:33px;
	}
	.cooperation-companies{
		padding:23px 15px 31px;
	}
	.cooperation-companies ul{
		display:grid;
		grid-template-columns:repeat(2,1fr);
		gap:20px 10px;
		margin-top:18px;
	}
	.cooperation-companies li{
		display:flex;
		justify-content:center;
		align-items:center;
	}
}
@media screen and (max-width:549px){
	#tokyo-trip h1{
		padding-top:17px;
		padding-bottom:18px;
		font-size:2.1rem;
	}
	#tokyo-trip h2 .mobile{
		display:block;
	}
	.cooperation-companies li a .mobile{
		display:block;
	}
}
@media screen and (max-width:413px){
	#tokyo-trip h2{
		font-size:2.5rem;
	}
	.cooperation-companies li a{
		font-size:1.4rem;
	}
}
@media screen and (max-width:374px){
	#tokyo-trip h2{
		font-size:2.2rem;
	}
	.cooperation-companies{
		padding:23px 10px 31px;
	}
	.cooperation-companies ul{
		gap:20px 5px;
	}
	.cooperation-companies li a{
		font-size:1.3rem;
	}
}

/* #adobe-max
-------------------------------------------------- */
#adobe-max{
	padding-bottom:95px;
	color:#FFF;
	background:#5FC6CB;
}
#adobe-max.content::before{
	background:#FFF;
}
#adobe-max dl{
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
	margin-top:75px;
}
#adobe-max dt{
	width:calc(100% - 596px);
}
#adobe-max dd{
	width:566px;
}
#adobe-max h2{
	font-size:3.2rem;
	line-height:1.4375;
	letter-spacing:0.05em;
}
#adobe-max h2 .mobile{
	display:none;
}
#adobe-max h2+p{
	margin-top:20px;
}
article{
	margin-top:50px;
	padding:24px 30px 26px;
	color:#333;
	border-radius:6px;
	background:#FFF;
}
article .link_text{
	margin-top:6px;
}
.adobe-max_link{
	margin-top:43px;
}
.adobe-max_link .text{
	font-size:2rem;
	line-height:1.3125;
	text-align:center;
}
.adobe-max_link .link_text_yellow{
	margin-top:6px;
	font-weight:700;
}
.adobe-max_link .link_text_yellow+.link_text_yellow{
	margin-top:22px;
}
.adobe-max_link  .mobile{
	display:none;
}
@media screen and (max-width:1279px){
	#adobe-max{
		padding-bottom:82px;
	}
	#adobe-max dl{
		flex-direction:column-reverse;
		justify-content:flex-start;
		align-items:center;
		margin-top:45px;
	}
	#adobe-max dt{
		width:100%;
		max-width:760px;
		margin-top:40px;
	}
	#adobe-max dd{
		width:100%;
	}
	#adobe-max h2{
		font-size:2.8rem;
		line-height:1.4286;
		text-align:center;
	}
	#adobe-max h2+p{
		margin-top:14px;
		text-align:center;
	}
	article{
		margin-top:40px;
		padding:18px 20px 20px;
	}
	article .link_text{
		margin-top:2px;
	}
}
@media screen and (max-width:879px){
	#adobe-max{
		padding-bottom:85px;
	}
	#adobe-max dl{
		margin-top:38px;
	}
	#adobe-max h2+p{
		margin-top:21px;
		text-align:left;
	}
	#adobe-max dt{
		margin-top:33px;
	}
	article{
		padding:19px 20px 23px;
	}
	article .text{
		font-size:1.3rem;
		line-height:1.6154;
	}
	.adobe-max_link{
		margin-top:32px;
	}
	.adobe-max_link .text{
		font-size:1.6rem;
	}
	.adobe-max_link .link_text_yellow{
		margin-top:7px;
	}
	.adobe-max_link .link_text_yellow+.link_text_yellow{
		margin-top:16px;
	}
}
@media screen and (max-width:549px){
	#adobe-max h2 .mobile{
		display:block;
	}
	.adobe-max_link .mobile{
		display:block;
	}
}
@media screen and (max-width:413px){
	#adobe-max h2{
		font-size:2.5rem;
	}
}
@media screen and (max-width:374px){
	#adobe-max h2{
		font-size:2.2rem;
	}
}