@charaset"UTF-8";
:root{
	--main:#e82e55;
	--name:#f6bf60;
	}


/*==================================================================*/
/* css */
/*==================================================================*/
header{background:#fff;}

/* -------------------------------------------------------------- */
/* contents */
/* -------------------------------------------------------------- */
#contents{
	margin:0;
	padding:0 0 100px;
	background:#f6f6f6;
	}

/* -------------------------------------------------------------- */
/* mainvisual */
/* -------------------------------------------------------------- */
#mainvisual *{margin:0;padding:0;}

#mainvisual{
	margin: 0 auto;
	background:url('./image/mainvisual_back.png') repeat-x #fff 50% 50%;
	background-size:auto 100%;
	}
#mainvisual h1{}
/* 640 *//* ------- */@media screen and (min-width:640px){h1 img{width:100%;}}
/* 980 *//* ------- */@media screen and (min-width:980px){
#mainvisual{
	background:url('./image/mainvisual_back.png') repeat-x #fff 50% 50%;
	background-size:auto;
	}
h1 img{width:auto;}
}

/* -------------------------------------------------------------- */
/* lead */
/* -------------------------------------------------------------- */
#lead *{margin:0;padding:0;}
#lead{
	margin:0 auto;
	padding:20px 0 4px;
	background:#fff;
	}
#lead div{
	margin:0 auto;
	width:90%;
	}
	
#lead p{
	margin:0 0 1em;
	padding:0;
	font-size:18px;
	}

/* 840 *//* ------- */@media screen and (min-width:840px){
#lead{
	margin:0 auto;
	padding:30px 0 14px;
	}
#lead div{
	width:840px;
	background:url('./image/lead_photo.png') no-repeat 100% 0%;
	}
#lead p{
	margin:0 0 1em;
	padding:0 360px 0 0;
	}
}

/* -------------------------------------------------------------- */
/* news */
/* -------------------------------------------------------------- */
#news *{margin:0;padding:0;}
#news{
	padding:20px 0 40px;
	background:#fff;
	}
#news div{
	margin:0 auto;
	width:90%;
	}
#news p{
	margin:0 auto;
	padding:0 0 0 50px;
	position:relative;
	text-align:left;
	}

#news p a,#news p span{color:var(--main);}
#news p a:after,#news p span:after{
	content:'';
	position:absolute;
	left:0;
	top:-6px;
	height:0;
	width:0;
	border-top:30px solid var(--main);
	border-left: 16px solid var(--main);
	border-right: 16px solid var(--main);
	border-bottom: 10px solid transparent;
	}
#news p a:hover{color:var(--main);}

/* 840 *//* ------- */@media screen and (min-width:840px){
#news div{width:840px;}
}

/* -------------------------------------------------------------- */
/* about */
/* -------------------------------------------------------------- */
#about *{margin:0;padding:0;}
#about{
	margin:0 auto 30px;
	width:90%;
	}
#about h2{
	margin:0 0 10px;
	text-align:center;
	font-size:30px;
	font-weight:350;
	}

#about div{
	margin:0 auto;
	padding:10px 20px;
	border:1px solid var(--main);
	background:#fff;
	}

#about h3{
	margin:0 0 10px;
	color:var(--main);
	}
#about dl{
	margin:0 0 5px;
	display:flex;
	flex-wrap:wrap;
	}
#about dt{width:25%;}
#about dd{width:75%;}

#about dd p{margin:1em 0 0;}
#about dd a{
	padding:0 15px 0 0;
	position:relative;
	color:#70b737;
	text-align:center;
	}
#about dd a::before,
#about dd a::after{
	margin:0;
	position: absolute;
	top:10px;
	bottom:0;
	right:0;
	content:"";
	display: block;
	content: '';
	}
#about dd a::before{
	right:0;
	width:6px;
	height:6px;
	border-top: 2px solid #70b737;
	border-right: 2px solid #70b737;
	transform: rotate(45deg);
	}

#about dd a::after{
	content:'';
	position:absolute;
	top:auto;
	bottom:-5px;
	left:0;
	width:100%;
	height:1px;
	background:#70b737;
	transform:scaleX(0);
	}

/* over */
#about dd a:hover::after{transform: scaleX(1);}

#about dd a,
#about dd a::before,
#about dd a::after{transition: all .3s;}

/* 420 *//* ------- */@media screen and (max-width:420px){
#about dl{display:block;}
#about dt{width:auto;font-weight:bold;}
#about dd{width:auto;}
}
/* 840 *//* ------- */@media screen and (min-width:840px){
#about{
	margin:0 auto 60px;
	padding:30px 0 0;
	width:840px;
	}
#about div{
	padding:20px 30px;
	background-size:auto;
	}
#about dl{
	justify-content:space-between;
	width:780px;
	}
#about dt{width:120px;}
#about dd{width:660px;}
}

/* -------------------------------------------------------------- */
/* result */
/* -------------------------------------------------------------- */
#result *{margin:0;padding:0;}
#result{
	margin:0 auto 10px;
	padding:20px 0 4px;
	}
#result{
	width:90%;
	}

#result h2{
	margin:0 0 60px;
	width:100%;
	text-align:center;
	font-size:30px;
	font-weight:350;
	position:relative;
	}
#result h2 span{
	border-radius:50%;
	position:absolute;
	top:-15px;
	right:calc(50% - 140px);
	display:flex;
	justify-content:center;
	align-items:center;
	width:54px;
	height:54px;
	line-height:1.1;
	color:#fff;
	background:var(--main);
	font-size:17px;
	font-weight:500;
	}

#result .award{
	margin:0 auto 65px;
	border:1px solid #c3a75b;
	width:100%;
	background:#fff;
	box-sizing:border-box;
	}
#result .award .headline{
	padding:40px 10px 0;
	position:relative;
	}
#result .award .headline::before{
	position:absolute;
	content: '';
	left:0;
	right:0;
	top:-40px;
	display:block;
	background:url('./image/award.png') no-repeat 50% 0;
	background-size:20%;
	width:100%;
	height:80px;
	}

#result .award .headline h3{
	margin:0;
	height:3.2em;
	line-height:1.3;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	}
#result .award .headline h3 a{
	position:relative;
	color:#6eb92b;
	}
#result .award .headline h3 a::after{
	content:'';
	position:absolute;
	top:auto;
	bottom:-2px;
	left:0;
	width:100%;
	height:1px;
	background:#6eb92b;
	transform:scaleX(0);
	}
/* over */
#result .award .headline h3 a:hover::after{transform: scaleX(1);}
#result .award .headline h3 a::after{transition: all .3s;}

#result .award .headline h4{
	margin:0 0 3px;
	padding:5px 0;
	border-top:1px solid #eee;
	border-bottom:1px solid #eee;
	line-height:1.4;
	text-align:center;
	position:relative;
	}
#result .award .headline h4 em{
	font-style:normal;
	position:relative;
	color:var(--name);
	}

#result .award .headline h4::after{
	border-radius:50%;
	position:absolute;
	top:-18px;
	left:0;
	content:'優勝';
	width:44px;
	height:44px;
	line-height:44px;
	color:#fff;
	background:linear-gradient(15deg, #f8cf61, #c3a75b); 
	font-size:15px;
	font-weight:400;
	transform:rotate(-10deg);
	z-index:5;
	}

#result .award .headline h4 span{
	font-weight:normal;
	font-size:13px;
	}

#result .award .headline p{
	font-size:14px;
	text-align:right;
	z-index:10;
	}

#result .movie{text-align:center;}
#result .movie iframe{
	width:398px;
	height:224px;
	vertical-align:bottom;
	}

#result .award .winner{
	margin:0 20px;
	background:url('./image/award_medal.png') no-repeat 0 0;
	}
#result .award .winner dl{
	margin:0 0 10px;
	padding:0 0 10px;
	border-bottom:1px dotted #c3a75b;
	}
#result .award .winner dt{
	padding:22px 0 5px 32px;
	font-weight:bold;
	font-weight:18px;
	color:#c3a75b;
	}
#result .award .winner dd{}
#result .award .winner dd p{
	margin:1em 0 0;
	text-align:center;
	}

#result .award .winner .comment{
	margin:0;
	border:none;
	}
#result .award .winner .comment dt{
	padding:0 0 5px;
	color:var(--main);
	}
#result .award .more{
	margin:0 10px 5px;
	text-align:right;
	}
#result .award .more a{
	position:relative;
	color:#6eb92b;
	}
#result .award .more a::after{
	content:'';
	position:absolute;
	top:auto;
	bottom:-2px;
	left:0;
	width:100%;
	height:1px;
	background:#6eb92b;
	transform:scaleX(0);
	}
/* over */
#result .award .more a:hover::after{transform: scaleX(1);}
#result .award .more a::after{transition: all .3s;}

/* 4200 *//* ------- */@media screen and (max-width:420px){
#result .movie iframe{
	width:320px;
	height:180px;
	}
}

/* 640 *//* ------- */@media screen and (min-width:640px){
#result .award .headline{padding:60px 40px 0;}
#result .award .headline::before{height:100px;}
#result .movie iframe{
	width:480px;
	height:270px;
	}
#result .award .winner{margin:0 40px;}
}
/* 840 *//* ------- */@media screen and (min-width:840px){
#result{
	width:840px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	}
#result .award{
	margin:0 0 65px;
	width:400px;
	}
#result .award .headline{padding:50px 10px 0;}
#result .award .headline::before{
	top:-55px;
	background-size:auto;
	width:398px;
	height:110px;
	}
#result .movie iframe{
	width:398px;
	height:224px;
	}
#result .award .winner{margin:0 20px;}
}
/* -------------------------------------------------------------- */
/* general */
/* -------------------------------------------------------------- */
#general *{margin:0;padding:0;}
#general{
	margin:0;
	background:#eee;
	}
#general div{
	margin:0 auto;
	padding:20px 0;
	width:90%;
	background: url(./image/general_back.png) no-repeat 100% 100%;
	}
#general h3{
	margin:0 0 20px;
	font-size:24px;
	font-weight:400;
	}
#general p{margin:0 0 1em;}

/* 840 *//* ------- */@media screen and (min-width:840px){
#general div{
	margin:0 auto;
	padding:40px 0;
	width:840px;
	background: url(./image/general_back.png) no-repeat 100% 100%;
	}
}

/* -------------------------------------------------------------- */