@charset "utf-8";
/* CSS Document */

/* common
*****************/
html{
	font-size: 62.5%;
}
body{
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	font-size: 1rem;
	margin: 0;
	min-width: 1200px;
}
h1,h2,h3,h4{
	margin: 0;
}
li{
	list-style: none;
}
a{
	color: inherit;
	text-decoration: none;
}
a:hover{
	opacity: .8;
}

.button{
	cursor: pointer;
	color: #fff;
	background-color: #ef7b21;
	box-sizing: border-box;
	box-shadow:2px 2px 2px rgba(0,0,0,0.2);
	border: solid 2px rgba(255,255,255,0.41);
	font-size: 2rem;
	width: 275px;
	height: 6.3rem;
	line-height: 6.3rem;
	letter-spacing: .5em;
}
.button img{
	margin-left: 5%;
}
.button a{
	display: inline-block;
	width: inherit;
}
.button:hover{
	opacity: .8;
}

.headline{
	margin: 0 auto;
	text-align: center;
}
.headline h3{
	color: #fff;
	font-size: 4.8rem;
	letter-spacing: 0.2em;
	text-shadow: 1px 1px #000;
	margin-top: 30px;
}
.headline_black h3{
	color: #000;
	text-shadow: none;
}
.inner{
	width: 960px;
	margin: 0 auto;
}
.center{
	text-align: center
}
.right{
	text-align: right;
}

@media screen and (max-width: 768px){
	body{
		min-width: initial;
		width: 100%;
	}
	img{
		max-width: 100%;
	}
	.inner{
		width: 95%;
	}
	.headline h3{
		font-size: 3rem;
	}
}


/* header
*****************/
header{
	background-color: #fff;
	box-sizing: border-box;
	border-bottom: solid 2px #e22727;
	height: 60px;
}
header .inner{
	height: 60px;
}
header a{
	display: inline-block;
}
header img{
	height: 58px;
}

header .sp_menu,
header #spMenuSub{
	display: none;
}
@media screen and (max-width: 768px){
	header .sp_menu{
		cursor: pointer;
		display: inline-block;
		background-color: #fff;
		border: 1px solid #db0917;
		border-radius: 5px;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 30px;
		width: 70px;
		height: 30px;
		float: right;
		margin-top: 10px;
		text-align: center;
	}
	header .sp_menu .line {
		display: inline-block;
	}
	header .sp_menu .line i{
		display: block;
		background-color: #db0917;
		margin-bottom: 2px;
		width: 12px;
		height: 2px;
	}
	header .sp_menu .line i:last-child{
		margin-bottom: 0;
	}
	header #spMenuSub{
		position: absolute;
		padding: 0;
		margin: 0;
		width: 100%;
		background-color: #fff;
		border-bottom: solid 1px #db0917;
	}
	header #spMenuSub.open{
		display: block;
	}
	header #spMenuSub li{
		font-size: 1.5rem;
		border-bottom: solid 1px #db0917;
		padding: 10px;
	}
	header #spMenuSub li a{
		display: block;
	}
	header.fixed{
		position: fixed;
		width: 100%;
		z-index: 999;
	}
}

/* firstView
*****************/
#firstView{
	background: url(../img/main.jpg) no-repeat 0 0;
	width: 100%;
	height: 0;
	padding-bottom: 63.66%;
	background-size: contain;
}
#firstView h1,
#firstView h2{
	text-align: center;
	margin: 0 auto;
}
#firstView h1{
	padding-top: 5.9%;
}
#firstView h2{
	padding-top: 2%;
}
#pe #firstView h2{
	padding-top: 3%;
}
#firstView .date{
	margin-top: 3.6%;
	margin-left: 65.62%;
}
#pe #firstView .date{
	margin-left: 0;
	text-align: center;
}
#firstView .date img:last-child{
	margin-top: 10px;
}
#firstView .scroll{
	text-align: center;
}
#pe #firstView .scroll{
	margin-top: 3%;
}
#firstView .scroll a{
	display: inline-block;
}
#firstView .scroll img{
	display: block;
	margin: 0 auto;
}
#firstView .scroll img:last-child{
	margin-top: 5%;
}
@media screen and (max-width: 768px){
#firstView{
		background: url(../img/main_sp.jpg) no-repeat 0 0;
		background-size: contain;
		padding-bottom: 84.63%;
	}
	#firstView h1{
		width: 80%;
	}
	#pe #firstView h1{
		width: 100%;
		padding-top: 8%;
	}
	#firstView h2{
		width: 90%;
	}
	#pe #firstView h2{
		width: 80%;
	}
	#firstView .date{
		margin: 10% auto 0;
		width: 70%;
	}
	#pe #firstView .date{
		margin: 10% auto 0;
		width: 70%;
	}
	#firstView .date img{
		display: block;
		width: 100%;
	}
	#firstView .scroll{
		display: none;
	}
}

/* nav
*****************/
#nav{
	margin-top: -4.7%;
	display:  -webkit-flex;
	display: flex;
	min-height: 112px;
}
#nav ul{
	margin:0 3.9%;
	display:  -webkit-flex;
	display: flex;
	padding: 0;
	justify-content: space-around;
}
#nav ul li{
	color: #fff001;
	display: inline-block;
	font-size: 1.4rem;
	text-align: center;
}
#nav ul li img{
	display: block;
	margin: 8px auto 0;
}
#nav.fixed{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1200px;
	margin-top: 0;
	
	background: #000;
	min-height: 75px;
	background-size: contain;
	z-index: 999;
}
#nav.fixed ul{
	margin: 20px 38px 0;
}
@media screen and (max-width: 768px){
	#nav{
		display: none;
	}
	#nav.fixed{
		min-width: 100%;
		min-height: 30px;
	}
	#nav.fixed ul{
		margin: 20px 0;
		padding: 0;
	}
}
/* news
*****************/
#news .inner{
	display:  -webkit-flex;
	display: flex;
	align-items: center;
}
#news h3{
	font-size: 1.4rem;
}
#news ul{
	width: 100%;
}
#news ul li{
	font-size: 1.4rem;
	margin-top: 12px;
	display:  -webkit-flex;
	display: flex;
}
#news ul li span{
	display: inline-block;
	width: 75px;
	margin-right: 30px;
}
#news ul li span.detail{
	width: calc(100% - 75px);
	margin-right: 0;
}
@media screen and (max-width: 768px){
	#news{
		margin-top: 10px;
	}
#news .inner{
	display: block;
	}
	#news h3{
		display: block;
		margin: 0;
		text-align: center;
	}
	#news ul{
		margin-left: 0;
		padding: 0;
	}
	#news ul li span{
		margin-right: 10px;
	}
}


/* about
*****************/
#about-1{
	margin-top: 5.7%;
	background: url(../img/about_bg.jpg) no-repeat 0 80px ;
	
	background-size: contain;
	width: 100%;
	height: 78px;
	padding-bottom: 86.91%;
	
	position: relative;
}
#pe #about-1{
	background-image: url(../img/pe_about_bg.jpg);
	padding-bottom: 40.3%;
}

#about-1 .method{
	position: absolute;
	bottom: 0;
	width: 960px;
}
#about-2{
	background-color: #000;
}
#about-1 section,
#about-2 section{
	display:  -webkit-flex;
	display: flex;
	align-items: center;
}
#about-1 .about_title{
	margin-bottom: 3.1%;
}
#about-1 p,
#about-2 p{
	font-size: 1.6rem;
	line-height: 1.875;
	text-align: center;
}
#about-1 .button,
#about-2 .button{
	margin: 5.4% auto 0;
	text-align: center;
}
#about-1 .first,
#about-2 .first{
	margin-top: 7.9%;
}
#about-1 .fourth,
#about-2 .fourth{
	margin-left: 31%;
}
#about-1 section .number,
#about-2 section .number{
	display: inline-block;
	color: #fff;
	font-size: 7.2rem;
	font-weight: bold;
	font-style: italic;
	text-shadow: 1px 1px #000;
	margin: 0 3.6% 0 0;
}
#about-1 section h4,
#about-2 section h4{
	display: inline-block;
	color: #ffd800;
	font-size: 2rem;
	line-height: 1.8;
}
#about-1 section h4 span,
#about-2 section h4 span{
	display: block;
	color: #fff;
	font-size: 1.6rem;
	font-weight: normal;
}
#about-1 .first img,
#about-1 .third img,
#about-2 .first img,
#about-2 .third img{
	margin-left: 5.1%;
}
#about-1 .second img,
#about-2 .second img{
	margin-left: 10.7%;
	margin-right: 15.2%;
}

@media screen and  (min-width: 737px) and (max-width: 768px){
	#about-1{
		background: url(../img/about_bg_tab.jpg) no-repeat 0 40px;
		background-size: contain;
		width: 100%;
		height: 40px;
		padding-bottom: 170.9%;
	}
}
@media screen and (max-width: 736px){
	#about-1{
		background: url(../img/about_bg_sp.jpg) no-repeat 0 40px;
		background-size: contain;
		width: 100%;
		height: 40px;
		padding-bottom: 320%;
	}
	#pe #about-1{
		background-image: url(../img/pe_about_bg_sp.jpg);
		padding-bottom: 143.2%;
	}
}

@media screen and (max-width: 768px){
	#about-1 .about_title{
	margin:5% 0 3.1%;
}
	#about-1 .method{
		width: 95%;
	}
	#about-1 p,
	#about-2 p{
		font-size: 1.4rem;
	}
	#about-1 p br{
		display: none;
	}
	#about-1 section img,
	#about-2 section img{
		display: none;
	}
	
	#about-1 section,
	#about-2 section,
	#about-2 .fourth{
		margin-left: 0;
		padding-top: 5%;
	}
	#about-1 section .number,
	#about-2 section .number{
		font-size: 5rem;
		margin-right: 5%;
	}
	#about-2 .inner{
		padding-bottom: 100px;
	}
}
/* awarding
*****************/
#awarding{
	background: url(../img/awarding_bg.png) no-repeat 0 0;
	background-size: contain;
	height: 0;
	width: 100%;
	padding: 3.6% 0 110.83%;
}
#awarding .trophy{
	margin-top: 50%;
	position: relative;
	width: 100%;
	height: 608px;
}
#awarding .trophy .first{
	margin: 0 auto;
	display: block;
}
#awarding .trophy .second,
#awarding .trophy .third{
	position: absolute;
	top: 38.6%;
}
#awarding .trophy .third{
	right: 0;
}
#awarding .inner p{
	font-size: 1.6rem;
	text-align: center;
	background-color: #fff;
	display: inline-block;
	padding: 0 1rem;
}

@media screen and (max-width: 768px){
	#awarding{
		background: url(../img/awarding_bg_sp.jpg) no-repeat 0 0;
		background-size: contain;
		padding-bottom: 184.8%;
		margin-bottom: 150px;
	}
	#awarding .trophy{
		margin-top: 60%;
		height: auto;
	}
	#awarding .trophy .first{
		width: 80%;
	}
	#awarding .trophy .second,
	#awarding .trophy .third{
		position: relative;
		width: 50%;
		float: left;
	}
	#awarding .trophy .third:after{
		content: '';
		display: table;
		clear: both;
	}
}

/* message
*****************/
#message{
	background: url(../img/spangle_bg.png) repeat-y;
	background-size: cover;
}
#message .inner{
	display:  -webkit-flex;
	display: flex;
	margin-top: 4.6%;
}
#message p{
	font-size: 1.4rem;
	line-height: 1.71;
	letter-spacing: 0.2em;
}
#message .profile {
	display: inline-block;
	width: 26.3%;
}
#message .comment{
	margin-left: 7.2%;
	width: 67%;
}

@media screen and (max-width: 768px){
	#message{
		background: none;
	}
	#message .headline{
		padding-top: 10%;
	}
	#message .inner{
		display: block;
	}
	#message .profile{
		width: 100%;
	}
	#message .profile:after{
		content: '';
		display: table;
		clear: both;
	}
	#message p{
		letter-spacing: initial;
	}
	#message .profile p,
	#message .profile img{
		display: inline-block;
		margin-left: 3rem;
	}
	#message .profile p{
		width: 80%;
	}
	#message .name{
		float: left;
		width: 70%;
	}
	#message .name img{
		max-width: 80%;
	}
	#message .profile .face{
		float: left;
		margin-left: 0;
		width: 30%;
	}
	#message .comment{
		margin-left: 0;
		width: 100%;
	}
}

/* outline
*****************/
#outline{
	background: url(../img/spangle_bg.png) repeat-y;
	background-size: cover;
	padding-top: 8.3%;
}
#outline .inner{
	margin-top: 4.6%;
}
#outline .row{
	margin-top: 2.2%;
}
#outline .row img{
	display: inline-block;
}
#outline .row .col{
	margin-right: 2rem;
	line-height: 1;
}
#outline .row p{
	font-size: 1.6rem;
	display: inline-block;
	margin: 0;
	vertical-align: middle;
	line-height: 1.6;
}
@media screen and (max-width: 768px){
	#outline{
		background: none;
		padding-top: 10%;
	}
	#outline .row p{
		font-size: 1.3rem;
		padding-left: 1rem;
		margin-top: 1rem;
	}
	#outline .row p br{
		margin-bottom: 1rem;
	}
	#outline .row .col{
		display: block;
		margin: 0;
		padding-left: 0;
	}
}

/* lecture
*****************/
#lecture{
	margin-top: 8.3%;
}
#lecture .inner{
	display:  -webkit-flex;
	display: flex;
	margin-top: 1.5%;
	justify-content: space-between;
}
#lecture h4{
	margin-top: 10.4%;
	font-size: 3.6rem;
}
#lecture h4 span{
	display: block;
	font-size: 2.4rem;
	margin-top: 1.9%;
}
#lecture p{
	font-size: 1.6rem;
	line-height: 1.5;
}
#lecture .comment{
	background: url(../img/spangle_bg.png) repeat-y;
	background-size: cover;
}
#lecture .comment .inner{
	display:block; 
}
#lecture .comment p{
	font-size: 1.4rem;
	line-height: 1.71;
}
#lecture .history{
	background-color:#eeede7;
}
#lecture .history .inner{
	display:block;
	padding: 36px 0 23px;
	margin-top: 0;
}
#lecture .history h4{
	font-size: 1.8rem;
	margin-top: 0;
}
#lecture .history p{
	font-size: 1.4rem;
	line-height: 1.71;
}
@media screen and (max-width: 768px){
	#lecture{
		margin-top: 15%;
	}
	#lecture h4{
		font-size: 3rem;
	}
	#lecture h4 span{
		font-size: 1.8rem;
	}
#lecture .comment{
	background: none;
	}
#lecture .inner{
		display: block;
	}
	#lecture .inner img{
		width: 60%;
	}
	#lecture .inner .face{
		text-align: center;
	}
}

/* speakers
*****************/
#speakers{
	background: url(../img/spangle_bg.png) repeat-y;
	background-size: contain;
	padding-top: 8.3%;
}
#speakers .speaker{
	margin-top: 4.6%;
}
#speakers .text{
	font-size: 1.5rem;
	line-height: 1.5;
	margin-top: 30px;
	text-align: center;
}
#speakers .speaker .face{
	display: inline-block;
}
#speakers .speaker section{
	display:  -webkit-flex;
	display: flex;
	margin-bottom: 3.1%;
}
#speakers .speaker .comment{
	margin-left: 4.5%;
	font-size: 1.4rem;
	line-height: 1.71;
	width: 67%;
}
#speakers .speaker .comment h4{
	font-size: 1.8rem;
}
#speakers .speaker .comment .name{
	margin: 0 0 8.3%;
}
@media screen and (max-width: 768px){
	#speakers{
		background: none;
		margin-top: 10%;
	}
	#speakers .speaker section{
		display: block;
	}
	#speakers .speaker .face{
		width: 26.6%;
	}
	#speakers .speaker section:after{
		content: '';
		display: table;
		clear: both;
	}
	#speakers .speaker .face{
		float: left;
		margin-right: 3rem;
	}
	#speakers .speaker .comment{
		margin-left: 0;
		width: 100%;
	}
}

/* prizewinners
*****************/
#prizewinners{
	background: url(../img/spangle_bg.png) repeat-y;
	background-size: cover;
	padding-top: 8.3%;
}
#prizewinners .inner{
	margin-top: 2%;
}
#prizewinners .text{
	font-size: 1.6rem;
	line-height: 1.7;
	margin-bottom: 5%;
}
#prizewinners .prizewinner:after{
	content: '';
	display: table;
	clear: both;
}
#prizewinners .prizewinner section{
	float: left;
	width: 26.7%;
	margin-bottom: 3%;
}
#prizewinners .prizewinner section:nth-child(3n+1),
#prizewinners .prizewinner section:nth-child(3n+2) {
	margin-right: 9.6%;
}
#prizewinners .prizewinner section p{
	font-size: 1.4rem;
	line-height: 1.71;
	text-align: center;
}

@media screen and (max-width: 768px){
	#prizewinners{
		background: none;
	}
	#prizewinners .prizewinner section{
		width: 45%;
	}
	#prizewinners .prizewinner section:nth-child(odd){
		margin-right: 10%;
	}
	#prizewinners .prizewinner section:nth-child(even){
		margin-right: 0;
	}
}

/* supporters,sponsorship
*****************/
#supporters,
#sponsorship{
	background: url(../img/spangle_bg.png) repeat-y;
	background-size: cover;
}
#supporters{
	padding-top: 2.5%;
}
#sponsorship{
	padding-bottom: 8.3%;
}
#supporters .supporter,
#sponsorship .supporter{
	margin-top: 3.1%;
	display:  -webkit-flex;
	display: flex;
	justify-content: space-around;
}
#supporters .supporter .logo,
#sponsorship .supporter .logo{
	height: 93px;
	line-height: 93px;
	text-align: center;
}
#supporters .supporter .logo img,
#sponsorship .supporter .logo img{
	vertical-align: middle;
	width: 70%;
}
#sponsorship .supporter .logo img{
	width: 100%;
}
#supporters .supporter h4,
#sponsorship .supporter h4{
	font-size: 1.4rem;
	font-weight: normal;
	letter-spacing: .07em;
	margin-top: 10%;
	text-align: center;
}
#sponsorship .supporter h4{
	margin-top: 4%;
}

@media screen and (max-width: 768px){
	#supporters,
	#sponsorship{
		background: none;
	}
	#supporters .supporter h4,
	#sponsorship .supporter h4{
		padding: 0 .5rem;
	letter-spacing: .04em;
	}
	#sponsorship .supporter .logo img{
		width: 70%;
	}
}
/* entry
*****************/
#entry{
	background: url(../img/entry_bg.jpg) no-repeat center;
	background-size: cover;
	padding: 6.3% 0;
}
#entry .box{
	background: rgba(238,237,231,.9);
	box-sizing: border-box;
	padding: 5% 0;
}
#entry form{
	width: 608px;
	margin: 0 auto;
}
#entry p{
	font-size: 1.4rem;
	margin-top: 30px;
}
#entry h3{
	font-size: 2.4rem;
	font-weight: normal;
	text-align: center;
}
#entry .half{
	display: inline-block;
	width: 300px;
}
#entry input[type=text],
#entry input[type=email]{
	box-sizing: border-box;
	font-size: 1.4rem;
	width: 603px;
	height: 48px;
	border: none;
	padding: 0 10px;
}
#entry input[type=text].name{
	width: 260px;
}
#entry input[type=checkbox]{
	width: 19px;
	height: 19px;
	vertical-align: bottom;
}
#entry label{
	font-size: 1.4rem;
	margin-right: 10px;
}
#entry .privacy{
	background-color: #fff;
	border: none;
	box-sizing: border-box;
	font-size: 1.2rem;
	line-height: 2;
	width: 603px;
	height: 197px;
	overflow: auto;
	padding: 0 18px;
}
#entry .privacy:first-child{
 height: 650px;
}
#entry dd{
	margin-left: 1em
}
#entry p span{
	color: #ff3700;
}
#entry .btn-area{
	text-align: center;
}
#entry .button{
	border: initial;
	box-shadow: none;
}
#entry button[disabled] {
background-color: #ccc;
cursor: default;
}
#entry button[disabled]:hover{
	opacity: 1;
}

@media screen and (max-width: 768px){
	#entry form{
		width: 95%;
	}
	#entry .half{
		display: block;
		width: 100%;
	}
	#entry .half.right{
		text-align: initial;
	}
	#entry input[type=text].name{
		width: 100%;
	}
	#entry input[type=text],
	#entry input[type=email]{
		font-size: 1.6rem;
		width: 100%;
	}
	#entry .privacy{
		width: 100%;
		height: 200px;
	}

	
}

/* entry - thanks
*****************/
#entry .thanks.box{
	padding: 250px 0 323px;
	text-align: center;
}
#entry .thanks h3{
	color: #db0917;
}
#entry .thanks h3 br{
	display: none;
}
#entry .thanks p{
	margin-top: 50px;
	font-size: 1.4rem;
	line-height: 2;
}
@media screen and (max-width: 768px){
	#entry .thanks h3 br{
		display: block;
	}
}