@charaset"UTF-8";

/*==================================================================*/
/* css */
/*==================================================================*/
:root{
	--color_main:#1c4885;
	--color_first:#b39642;
	--color_second:#b34294;
	--color_third:#427fb3;
	--color_basic:#1c4885;
	--color_ex:#976cb8;
	--color_first_back:#f5f1de;
	--color_second_back:#f5e8e7;
	--color_third_back:#e9eeea;
	--color_ex_back:#f2ecea;
	--size_sp_s:280px;
	--size_sp:300px;
	--size_tab:600px;
	--size_pc:840px;
	}

#certificate{display:none;}

br.sp1{display:block;}
br.sp2{display:block;}
br.sp3{display:none;}
br.sp4{display:none;}
br.sp5{display:none;}

/* 340 *//* ------- */@media screen and (max-width:340px){br.sp5{display:block;}}
/* 640 *//* ------- */@media print, screen and (min-width:640px){
br.sp1{display:none;}
br.sp2{display:block;}
br.sp3{display:block;}
br.sp4{display:none;}
}

/* 980 *//* ------- */@media print, screen and (min-width:980px){
br.sp1{display:none;}
br.sp2{display:none;}
br.sp3{display:block;}
br.sp4{display:block;}
}

/* -------------------------------------------------------------- */
/* contents */
/* -------------------------------------------------------------- */
#contents{
	margin:0;
	padding:0;
	background:#fcfbf0;
	}

/* -------------------------------------------------------------- */
/* mainvisual */
/* -------------------------------------------------------------- */
#mainvisual *{margin:0;padding:0;}
#mainvisual{
	margin:0;
	padding:0;
	background:url('./image/mainvisual_back.png') repeat-x 50% 50% var(--color_main);
	background-size:cover;
	}

#mainvisual h1{
	margin:0 auto;
	padding:0;
	width:100%;
	}

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

/* -------------------------------------------------------------- */
/* lead */
/* -------------------------------------------------------------- */
#lead *{margin:0;padding:0;}
#lead{
	margin:0 auto 20px;
	padding:20px 0 10px;
	width:var(--size_sp);
	}
#lead p{margin:0 0 1em;}
#lead strong{color:var(--color_main);}
#lead strong.basic{color:var(--color_basic);}
#lead strong.ex{color:var(--color_ex);}

/* 340 *//* ------- */@media screen and (max-width:340px){#lead{width:var(--size_sp_s);}}
/* 640 *//* ------- */@media print, screen and (min-width:640px){#lead{width:calc(var(--size_tab) - 40px);}}
/* 840 *//* ------- */@media print, screen and (min-width:840px){#lead{width:var(--size_pc);}}

/* -------------------------------------------------------------- */
/* news */
/* -------------------------------------------------------------- */
#news *{margin:0;padding:0;}
#news{
	margin:0 auto 30px;
	width:var(--size_sp);
	}
#news p{
	color:var(--color_main);
	letter-spacing:0;
	}
#news span{
	padding:0 5px 0 0;
	font-size:15px;
	}

/* 340 *//* ------- */@media screen and (max-width:340px){
#news{width:var(--size_sp_s);}
#news p{font-size:12px;}
}
/* 640 *//* ------- */@media print, screen and (min-width:640px){
#news{width:calc(var(--size_tab) - 40px);}
#news p{letter-spacing:1px;}
#news span{padding:0 10px 0 0;font-size:20px;}
}
/* 840 *//* ------- */@media print, screen and (min-width:840px){#news{width:var(--size_pc);}}

/* -------------------------------------------------------------- */
/* about */
/* -------------------------------------------------------------- */
#about *{margin:0;padding:0;}
#about{
	margin:0 auto 40px;
	padding:20px 0;
	background:var(--color_main);
	}
#about h2{
	margin:0 auto 10px;
	width:240px;
	color:#fff;
	font-size:24px;
	font-weight:400;
	font-style:normal;
	text-align:center;
	}

#about h3{
	margin:0 0 20px;
	color:#fff;
	font-size:15px;
	font-weight:600;
	text-align:center;
	}
#about h3 span{display:block;}

#about div{
	margin:0 auto;
	width:var(--size_sp);
	}

#about dl{
	position:relative;
	margin:0 0 20px auto;
	z-index:5;
	}
#about dt{
	margin:0 0 5px;
	padding:0 10px;
	border-radius:60px;
	width:80px;
	color:#fff;
	background:var(--color_first);
	text-align:center;
	}
#about dd{color:#fff;}
#about dd p{
	padding:0 0 0 1em;
	text-indent:-1em;
	}

#about .help{
	display:inline;
	position:relative;
	width:auto;
	background:none;
	}
#about .help .hint{
	padding:0;
	display:inline-block;
	color:#fff;
	cursor:pointer;
	position:absolute;
	top:3px;
	left:5px;
	text-indent:0;
	}
#about .help p span{font-size:18px;}

#about .help div{
	margin:5px 0;
	border:2px solid var(--color_ex);
	border-radius:3px;
	position:relative;
	width:auto;
	color:var(--color_ex);
	background:#fff;
	font-size:12px;
	display:none;
	}
#about .help div p{
	margin:0;
	padding:10px;
	text-indent:0;
	}

/* 340 *//* ------- */@media screen and (max-width:340px){#about div{width:var(--size_sp_s);}}
/* 640 *//* ------- */@media print, screen and (min-width:640px){
#about div{width:var(--size_tab)}
#about h3 span{display:inline;}
#about dl{
	margin:0 0 10px auto;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	width:var(--size_tab)
	}
#about dt{margin:0;}
#about dd{width:480px;}
}
/* 840 *//* ------- */@media print, screen and (min-width:840px){
#about{
	margin:0 auto 40px;
	padding:20px 0 40px;
	}
#about h2{
	font-size:30px;
	font-weight:500;
	}
#about div{
	position:relative;
	width:var(--size_pc);
	}
#about div::after{
	position:absolute;
	top:0;
	left:0;
	content:" ";
	width:240px;
	height:184px;
	background:url(./image/about_photo.png) no-repeat 0 0;
	}
#about div.help{}
#about div.help:after{display:none;}
#about div.help div:after{display:none;}

#about h3{
	margin:0 auto 20px;
	font-size:24px;
	}
#about h3 span{
	display:inline;
	padding:0 0 0 1em;
	}
#about dl{width:570px;}
#about dd{width:440px;}
}

/* -------------------------------------------------------------- */
/* course */
/* -------------------------------------------------------------- */
#course *{margin:0;padding:0;}
#course{
	margin:0 auto 80px;
	padding:0;
	position:relative;
	}

#course .inner{
	margin:0 auto 40px;
	padding:20px 0 0;
	width:var(--size_sp);
	}
#course ul{
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	}
#course li{
	margin:0 0 20px;
	width:130px;
	list-style:none;
	line-height:1.3;
	}

#course li a{
	padding:10px 0;
	position:relative;
	display:inline-block;
	width:100%;
	text-align:center;
	color:#fff;
	transition:all .3s;
	font-size:14px;
	}
#course li a:before,
#course li a:after{
	position:absolute;
	top:0;
	width:0;
	height:0;
	content:'';
	border:28px solid transparent;
	border-right:14px solid transparent;
	border-left:14px solid transparent;
	transition:all .3s;
	}
#course li a:before{right:100%;}
#course li a:after{left:100%;}

#course li a span{font-size:12px;}

/* basic */
#course #course-basic a{background:var(--color_basic);}
#course #course-basic a:before{border-right-color:var(--color_basic);}
#course #course-basic a:after{border-left-color:var(--color_basic);}

/* ex */
#course #course-ex a{background:var(--color_ex);}
#course #course-ex a:before{border-right-color:var(--color_ex);}
#course #course-ex a:after{border-left-color:var(--color_ex);}

/* hover */
@media (hover:hover){
#course #course-basic a:hover{background:var(--color_first);}
#course #course-basic a:hover:before{border-right-color:var(--color_first);}
#course #course-basic a:hover:after{border-left-color:var(--color_first);}
#course #course-ex a:hover{background:var(--color_first);}
#course #course-ex a:hover:before{border-right-color:var(--color_first);}
#course #course-ex a:hover:after{border-left-color:var(--color_first);}
}

/* 340 *//* ------- */@media screen and (max-width:340px){
#course .inner{width:var(--size_sp_s);}}

/* 640 *//* ------- */@media print, screen and (min-width:640px){
#course .inner{
	margin:0 auto;
	width:calc(var(--size_tab) - 40px);
	}
#course li{
	width:250px;
	line-height:1.4;
	}
#course li a{
	font-weight:800;
	font-size:20px;
	letter-spacing:1px;
	}

#course li a:before,
#course li a:after{border:38px solid transparent;}
#course li a span{font-size:15px;}
}
/* 840 *//* ------- */@media print, screen and (min-width:840px){
#course{padding:20px 0;}

#course .inner{
	margin:0 auto;
	padding:20px 0 0;
	width:var(--size_pc);
	}
#course li{width:360px;}
#course li a{font-size:24px;}
#course li a:before,
#course li a:after{
	border:44px solid transparent;
	border-right:16px solid transparent;
	border-left:16px solid transparent;
	}
}

/* -------------------------------------------------------------- */
/* basic・ex */
/* -------------------------------------------------------------- */
#basic{margin:0 0 100px;}
#ex{padding:40px 0 100px;}

#basic h2, #ex h2{
	margin:0 auto 40px;
	padding:50px 0;
	position:relative;
	font-size:20px;
	text-align:center;
	font-weight:800;
	font-style:normal;
	}
#basic h2{
	color:var(--color_basic);
	background:url('./image/course_basic.png') no-repeat 50% 50%;
	background-size:100px;
	}
#ex h2{
	color:var(--color_ex);
	background:url('./image/course_ex.png') no-repeat 50% 50%;
	background-size:100px;
	}

#basic h2 span, #ex h2 span{
	padding:5px 10px;
	background:#fcfbf0;
	}

#basic h2 em, #ex h2 em{
	font-size:16px;
	font-style:normal;
	}


/* 340 *//* ------- */@media screen and (max-width:340px){
#basic h2, #ex h2{
	width:var(--size_sp_s);
	height:30px;
	font-size:18px;
	}
#basic h2 span, #ex h2 span{line-height:30px;}
#basic h2 em, #ex h2 em{font-size:14px;}
}
/* 640 *//* ------- */@media print, screen and (min-width:640px){
#basic h2, #ex h2{
	margin:0 auto 60px;
	width:480px;
	height:54px;
	font-size:30px;
	}
#basic h2 span::after, #ex h2 span::after{
	width:100px;
	height:100px;
	}
#basic h2 span, #ex h2 span{line-height:54px;}
#basic h2 em, #ex h2 em{font-size:18px;}
}


/* -------------------------------------------------------------- */
/* result */
/* -------------------------------------------------------------- */
.result *{margin:0;padding:0;}
.result{}

.result .award{
	margin:0 auto 20px;
	padding:0;
	}
.result .inner-second,
#ex .result .inner-first,
#ex .result .inner-third{
	margin:40px 0;
	padding:40px 0;
	}

/* h2 */
.result .award h2 img{width:100%;}
#basic .result h2,#ex .result h2{
	margin:0 auto 20px;
	padding:0;
	position:static;
	width:300px;
	height:auto;
	text-align:center;
	background:none;
	}
#basic .result h2:before, #ex .result h2:before{content:none;}
#basic .result h2:after, #ex .result h2:after{content:none;}

.result .inner{
	margin:0 auto 80px;
	padding:0;
	position:relative;
	width:300px;
	}

/* 参加賞印刷 */
.result button{display:none;}

/* headline */
.result .headline{
	margin:0 auto 20px;
	padding:0;
	text-align:center;
	}
.result .headline span{
	margin:0 auto 3px;
	border-radius:3px;
	display:block;
	width:80px;
	color:#fff;
	font-size:14px;
	}

.result .headline h3{}
.result .headline p a{
	position:relative;
	color:#6eb92b;
	}
.result .headline p a::after{
	content:'';
	position:absolute;
	top:auto;
	bottom:-2px;
	left:0;
	width:100%;
	height:1px;
	background:#6eb92b;
	transform:scaleX(0);
	}
/* over */
.result .headline p a:hover::after{transform: scaleX(1);}
.result .headline p a,.result .headline p a::after{transition: all .3s;}

/* detail */
.result .detail{
	margin:0 auto 30px;
	padding:0;
	}

.result .movie{
	margin:0 auto 20px;
	position:relative;
	width:auto;
	text-align:center;
	}
.result .movie p::before{
	margin:auto;
	content:" ";
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	width:70px;
	height:70px;
	background:url('/image/ic_movie.png') no-repeat 50% 50%;
	cursor:pointer;
	}
.result .movie p{
	margin:0 auto;
	width:300px;
	height:169px;
	cursor:pointer;
	}

.result .movie iframe{
	width:300px;
	height:169px;
	}

.result .detail p{
	margin:0 auto;
	width:300px;
	text-align:center;
	font-size:13px;
	letter-spacing:2px;
	}
.result .detail p img{
	margin:0 auto 5px;
	width:100%;
	}

.result .detail p{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-content:center;
	}
.result .detail p img{margin:0 auto 10px;}

/* cmt */
.result .cmt{
	width:auto;
	text-align:left;
	z-index:1;
	position:relative;
	}
.result .cmt p{margin:0 0 2em;}


/* everyone */
.result .everyone{
	margin:0 0 2em;
	width:auto;
	text-align:left;
	z-index:1;
	position:relative;
	}

.result .everyone ul{}
.result .everyone li{
	margin:0 0 5px;
	padding:10px 15px;
	border-radius:6px;
	list-style:none;
	font-size:13px;
	}

/* winner */
.result .winner{
	position:relative;
	text-align:left;
	}	
.result .winner p.photo{margin:0 0 20px;width:300px;}

.result .winner dl{
	z-index:1;
	position:relative;
	}

.result .winner dd{margin:0 0 10px;}
.result .winner ul{margin:0 0 20px;padding:0 0 0 20px;}
.result .winner li{margin:0 0 10px;}
.result .winner p.photo{
	margin:0 auto 20px;
	width:300px;
	}

/* 見出し */
.result .cmt h3,.result .everyone h3,.result .winner dt{
	margin:0 auto 10px;
	padding:5px 0 6px;
	position:relative;
	width:240px;
	color:#fff;
	font-weight:600;
	font-size:16px;
	text-align:center;
	box-sizing:border-box;
	}
.result .cmt h3:before,
.result .cmt h3:after,
.result .everyone h3:before,
.result .everyone h3:after,
.result .winner dt:before,
.result .winner dt:after{
	position:absolute;
	top:0;
	width:0;
	height:0;
	content:'';
	border:18px solid transparent;
	border-right:14px solid transparent;
	border-left:14px solid transparent;
	transition:all .3s;
	}
.result .cmt h3:before,.result .everyone h3:before,.result .winner dt:before{right:100%;}
.result .cmt h3:after,.result .everyone h3:after,.result .winner dt:after{left:100%;}


/* メインカラー */
/*文字色*/
.result .headline h3,
.result .first .headline h3,
.result .everyone li span,
.result .first .everyone li span{color:var(--color_first);}

.result .second .headline h3,
.result .second .everyone li span{color:var(--color_second);}

.result .third .headline h3,
.result .third .everyone li span{color:var(--color_third);}

#ex .result .first .headline h3,
#ex .result .first .everyone li span{color:var(--color_ex);}

/*背景*/
.result .headline span,
.result .cmt h3,
.result .everyone h3,
.result .winner dt,
.result .first .headline span,
.result .first .cmt h3,
.result .first .everyone h3,
.result .first .winner dt{background:var(--color_first);}

.result .second .headline span,
.result .second .cmt h3,
.result .second .everyone h3,
.result .second .winner dt{background:var(--color_second);}

.result .third .headline span,
.result .third .cmt h3,
.result .third .everyone h3,
.result .third .winner dt{background:var(--color_third);}

#ex .result .first .headline span,
#ex .result .first .cmt h3,
#ex .result .first .everyone h3,
#ex .result .first .winner dt{background:var(--color_ex);}

/* その他 */
.result .cmt h3:before,
.result .first .cmt h3:before,
.result .everyone h3:before,
.result .first .everyone h3:before,
.result .winner dt:before,
.result .first .winner dt:before{border-right-color:var(--color_first);}

.result .cmt h3:after,
.result .first .cmt h3:after,
.result .everyone h3:after,
.result .first .everyone h3:after,
.result .winner dt:after,
.result .first .winner dt:after{border-left-color:var(--color_first);}

.result .second .cmt h3:before,
.result .second .everyone h3:before,
.result .second .winner dt:before{border-right-color:var(--color_second);}
.result .second .cmt h3:after,
.result .second .everyone h3:after,
.result .second .winner dt:after{border-left-color:var(--color_second);}

.result .third .cmt h3:before,
.result .third .everyone h3:before,
.result .third .winner dt:before{border-right-color:var(--color_third);}
.result .third .cmt h3:after,
.result .third .everyone h3:after,
.result .third .winner dt:after{border-left-color:var(--color_third);}

#ex .result .first .cmt h3:before,
#ex .result .first .everyone h3:before,
#ex .result .first .winner dt:before{border-right-color:var(--color_ex);}
#ex .result .first .cmt h3:after,
#ex .result .first .everyone h3:after,
#ex .result .first .winner dt:after{border-left-color:var(--color_ex);}

/* コメント背景 */
.result .everyone li,
.result .first .everyone li{border:1px solid var(--color_first);background:var(--color_first_back);}
.result .second .everyone li{border:1px solid var(--color_second);background:var(--color_second_back);}
.result .third .everyone li{border:1px solid var(--color_third);background:var(--color_third_back);}
#ex .result .first .everyone li{border:1px solid var(--color_ex);background:var(--ex_back);}

/* award-line */
.result .award .award-line{
	margin:40px auto 60px;
	border-top:6px double;
	width:300px;
	}
.result .second .award-line{border-color:var(--color_second);}
.result .third .award-line{border-color:var(--color_third);}

/* 640 *//* ------- */@media print, screen and (min-width:640px){
.result .inner{width:580px;}
#basic .result h2,#ex .result h2{width:580px;}
.result .headline h3{font-size:30px;font-weight: 400;}
.result .award .award-line{width:580px;}
.result .block{text-align:center;}
.result iframe{width:440px;height:248px;}
.result .cmt h3{margin:0 0 10px;}
.result .everyone h3{margin:0 0 10px;}
.result .winner dt{margin:0 0 10px;}
}
/* 840 *//* ------- */@media print, screen and (min-width:840px){
.result .award{margin:0 auto 200px;}
.result .award:last-of-type{margin:0 auto 40px;}

.result .award h2 img{width:auto;}
#basic .result h2,#ex .result h2{width:auto;}

.result .inner{
	margin:0 auto 80px;
	padding:0;
	position:relative;
	width:var(--size_pc);
	}

/* 参加賞印刷 */
.result button{
	display:block;
	position:absolute;
	right:0;
	top:0;
	border:none;
	border-radius:50%;
	width:74px;
	height:74px;
	color:#fff;
	background:url('./image/print.svg') no-repeat 50% 20% var(--color_first);
	background-size:50%;
	font-weight:bold;
	cursor:pointer;
	transition:all .3s;
	}
.result .first button{background-color:var(--color_first);}
.result .second button{background-color:var(--color_second);}
.result .third button{background-color:var(--color_third);}
#ex .result .first button{background-color:var(--color_ex);}

.result button span{
	padding:24px 0 0;
	display:inline-block;
	font-size:12px;
	}
.result button:hover{
	background-color:var(--color_basic);
	transition:all .3s;
	}
.result .first button:hover{background-color:var(--color_basic);}
.result .second button:hover{background-color:var(--color_basic);}
.result .third button:hover{background-color:var(--color_basic);}
#ex .result .first button:hover{background-color:var(--color_basic);}

.result .award .award-line{width:var(--size_pc);}

.result .detail{
	margin:0 auto 30px;
	display:flex;
	justify-content:space-between;
	background-size:auto;
	}
.result .movie{margin:0 0 40px;text-align:center;}
.result .movie p{
	margin:0 auto;
	width:500px;
	height:281px;
	}
.result .movie iframe{width:500px;height:281px;}

/* winner */
.result .winner{
	position:relative;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	text-align:left;
	}	
.result .winner dl{width:500px;}
.result .winner p.photo{margin:52px 0 20px;}

/* first */
.result .first .detail{display:block;text-align:center;}
.result .first .detail .movie p{width:640px;height:360px;}
.result .first iframe{width:640px;height:360px;}
.result .first .detail p{margin:10px auto 0;width:480px;}
}


/* -------------------------------------------------------------- */
/* list */
/* -------------------------------------------------------------- */
.list *{margin:0;padding:0;}
.list{
	margin:0 auto;
	width:320px;
	}
.list h2{}
#basic .list h2,#ex .list h2{
	margin:0 0 20px;
	padding:5px 0;
	position:static;
	width:auto;
	height:auto;
	text-align:center;
	font-size:24px;
	}

#basic .list h2{background:none;}
#ex .list h2{background:none;}

.list h3{
	margin:0 0 20px;
	font-weight:400;
	text-align:center;
	font-size:14px;
	}

.list dl{
	margin:0 auto 30px;
	width:320px;
	text-align:center;
	}

.list dt{margin:0 0 10px;}

.list dd{}
.list dd span{
	margin:0 auto;
	border-radius:3px;
	display:block;
	width:80px;
	color:#fff;
	background:var(--color_basic);
	font-size:14px;
	}
#basic .list dd span{background:var(--color_basic);}
#ex .list dd span{background:var(--color_ex);}

.list dd p{
	font-size:14px;
	color:#999;
	}
.list dd p a{
	position:relative;
	display:inline-block;
	color:#6eb92b;
	font-size:18px;
	}
.list dd p a.school{font-size:14px;}

.list dd p a::after{
	content:'';
	position:absolute;
	top:auto;
	bottom:-2px;
	left:0;
	width:100%;
	height:1px;
	background:#6eb92b;
	transform:scaleX(0);
	}
/* over */
.list dd p a:hover::after{transform: scaleX(1);}
.list p a,
.list p a::after{transition: all .3s;}

/* 340 *//* ------- */@media screen and (max-width:340px){
.list{width:var(--size_sp_s);}
#basic .list h2,#ex .list h2{font-size:20px;}
.list dl{width:var(--size_sp_s);}
}

/* 640 *//* ------- */@media print, screen and (min-width:640px){
.list{width:var(--size_tab)}
.list h2{letter-spacing:10px;}
.list h3{margin:0 0 40px;font-size:20px;}
.list div{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	}
.list dl{margin:0 0 30px;width:var(--size_sp_s);}
.list dt img{width:var(--size_sp_s);}
}

/* 840 *//* ------- */@media print, screen and (min-width:840px){
.list{width:var(--size_pc);}
.list dl{width:400px;}
.list dt img{width:400px;}
}

.lum-lightbox.lum-open{z-index:50;}

/* -------------------------------------------------------------- */
/* general */
/* -------------------------------------------------------------- */
#general *{margin:0;padding:0;}
#general{
	margin:0 0 30px;
	background:url('./image/general_back.png') repeat-x 50% 100% var(--color_basic);
	background-size:cover;
	}
#general div{
	margin:0 auto;
	padding:40px 0;
	width:320px;
	color:#fff;
	font-weight:600;
	}

/* 340 *//* ------- */@media screen and (max-width:340px){#general div{width:var(--size_sp_s);}}
/* 640 *//* ------- */@media print, screen and (min-width:640px){
#general div{
	width:calc(var(--size_tab) - 40px);
	padding:70px 0;
	}
}
/* 840 *//* ------- */@media print, screen and (min-width:840px){
#general{
	margin:0 0 60px;
	background:url('./image/general_back.png') repeat-x 50% 50% var(--color_basic);
	background-size:auto;
	}
#general div{
	padding:90px 0;
	width:var(--size_pc);
	}
}


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