@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');


/** structure **/
html{
	font-size: 62.5%;
	font-family: 'Apis', 'Noto Sans JP', sans-serif ;
	font-weight: 300;
	color: #333;
	background: #fff;
	font-weight:400;
	position: relative;
}
body{
	font-size:1.6rem;
	line-height: 1.5;
}
#wapper{
	width: 100%;
}
#container{
	min-height: 100vh;
	background: #efefef;
	background-size:100%;
	padding:0 0 100px 0;
}
header{
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	height: 400px;
	background: url(../image/kv.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
}
header h1{
	padding: 15px 0 0 0;
}
header h1 .logo{
	width: 85%;
	height: auto;
	margin: 0 auto;
}
header h1 .date{
	width: 60%;
	position: absolute;
	margin: 0 auto;
	right: 0;
	left: 0;
	bottom: 10px;
}
header .character{
	width: 80px;
	position: absolute;
	right: 10px;
	bottom: -5px;
}
.line_area{
	background: #001965;
}
.line_area p{
	color: #FFF;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	padding: 5px 0;
}
#contents{
	margin: 30px 0;
}
#contents h1{
	color: #001965;
	text-align: center;
	margin: 0 0 20px 0;
}
#contents .copy{
	font-size: 1.8rem;
	font-weight: bold;
	color: #FFF;
	width: 90%;
	margin: 0 5% 40px 5%;
}
#contents .area{
	margin: 0 0 50px 0;
}
#contents .banner{
	margin: 0 auto 40px auto;
	width: 75%;
	max-width: 450px;
	height: auto;
}
#contents .banner a{
	display: block;
	margin: 0 0 20px 0;
}
#contents article{
	background: #fff;
	border: solid 3px #001965;
	margin:0 3% 40px 3%;
	padding: 15px 15px 10px 15px;
	width: 94%;
	border-radius: 25px;
}
#contents article h2{
	text-align: center;
	margin: 0 0 20px 0;
}
#contents article p{
	margin: 0 0 20px;
}
#contents article dl{
	padding: 0 0 15px 0;
	margin: 0 0 15px 0;
	border-bottom: dotted 1px #CCC;
}
#contents article dl dt{
	color: #001965;
	font-weight: bold;
}
#contents article dl dd .attention{
	padding:10px 0;
　background-color: #F00;
}
#contents article dl dd .attention p,
#contents article dl dd .attention ul{
	margin: 0 0 5px 0;
}
#contents article .txt_bold{
	color: #1f579f;
	font-weight: bold;
	font-size: 2rem;
}
#contents article .btn a{
	display: block;
	background: #036EB8;
	font-size: 2.0rem;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	border-radius: 50px;
	width: 94%;
	border: solid 3px #036EB8;
	max-width: 360px;
	padding: 10px 0;
	margin: 0 auto 20px;
	box-shadow: 2px 3px 3px rgba(0, 0, 0, .2);
}
#contents article .btn a:hover{
	background: #FFF;
	color: #036EB8;
}
#contents article .apply_member a{
	background: #001965;
	border: solid 3px #001965;
	padding: 15px 0;
	max-width: 400px;
}
#contents article .apply_general a{
	background: #d54816;
	border: solid 3px #d54816;
	padding: 15px 0;
	max-width: 400px;
}
#contents article .apply_member a:hover{
	color: #001965;
}
#contents article .apply_general a:hover{
	color: #d54816;
}
#contents article ul{
	padding-left: 1em;
}
#contents article ul li{
	margin: 0 0 5px 0;
}
#contents form dl dd input.text{
	padding: 5px;
	width: 100%;
}
#contents form dl dd input.text::placeholder{
	color: #CCC;
}
#contents form dl dd label{
	margin: 0 15px 0 0;
}
#contents form .btn input{
	display: block;
	background: #036EB8;
	font-size: 2.0rem;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	border-radius: 50px;
	width: 80%;
	border: solid 3px #036EB8;
	max-width: 320px;
	padding: 10px 0;
	margin: 0 auto 20px;
	box-shadow: 2px 3px 3px rgba(0, 0, 0, .2);
	cursor: pointer;
}
#contents form .btn input:hover{
	background: #FFF;
	color: #036EB8;
}
#contents form .btn input:disabled{
	background: #ccc;
	border:solid 3px #CCC;
	color: #FFF;
	box-shadow:none;
	cursor: not-allowed;;
}
#contents form .btn input:disabled:hover{
	color: #FFF;
	background: #ccc;
}
#contents form .agree{
	margin: 50px 0 0 0;
}
#contents article #participant{
	margin:0 0 40px 0;
	padding: 0 0 40px 0;
	border-bottom: dotted 2px #4179B7;
}
#contents #guest article .photo{
	margin: 0 auto 10px;
	width: 50%;
	max-width: 240px;
}
#contents #guest article .icon img{
	width: 20px;
	height: 20px;
	margin: auto 3px auto 0;
	display: inline-block;
}
#contents #guest article span.ttl{
	font-weight: bold;
	color: #036EB8;
}
#contents #guest article .name{
	font-weight: bold;
}
#contents #guest article .name span{
	font-size: 2.6rem;
}
footer{
	background:#001965;
	color: #FFF;
	font-size:1.2rem;
	text-align: center;
	padding: 20px 0;
	position: absolute;
	bottom: 0;
	width: 100%;
}
footer a{
	color: #FFF;
	text-decoration: none;
}
footer a:hover{
	border-bottom:solid 1px #FFF;
}
.txt_C{
	text-align: center;
}
.txt_red{
	color: #F00;
}
.txt_white{
	color: #FFF;
}
.txt_blue{
	color: #0082C9;
}
.txt_sizeL{
	font-size: 125%;
}
.txt_sizeS{
	font-size: 85%;
}
.txt_sizeL{
	font-size: 125%;
}
.error,
.required{
	color: #F00;
	font-size: 90%;
}
.mb_10{
	margin-bottom: 10px;
}
.mb_20{
	margin-bottom: 20px;
}
.mb_30{
	margin-bottom: 30px;
}
.mb_40{
	margin-bottom: 40px;
}
.sp{
	display: block;
}
.pc{
	display: none;
}
/***　Tab 640px以上　***/
@media (min-width: 640px){
	header{
		height: 540px;
	}
	header h1 .logo{
		width: 540px;
	}
	header h1 .date{
		width: 360px;
	}
	header .character{
		width: 130px;
		margin: 10px auto;
		position: absolute;
		bottom: -30px;
		right: 20px;
	}
	.line_area p{
		font-size: 2.4rem;
	}
	#contents .banner{
		display: flex;
		justify-content:center; 
		max-width: 900px;
	}
	#contents .banner a{
		margin: 0 10px;
		width: 280px;
	}
	#contents .copy{
		font-size: 2.0rem;
		text-align: center;
	}
	#contents article{
		width: 90%;
		margin:0 5% 40px 5%;
		padding: 30px 30px 20px 30px;
	}
	#contents .line_btn{
		display:flex;
		justify-content: center;
	}
	#contents .line_btn div{
		width: 320px;

	}
	#contents #guest article{
		display: flex;
		justify-content: center;
	}
	#contents article .txt_bold{
		text-align: center;
	}
	#contents #guest article .photo{
		margin: 0 20px 10px 0;
		width: 50%;
		max-width: 240px;
	}
	footer a.gakkai{
		margin: 0 25px 0 0;
	}
}
/***　PC 1080px以上　***/
@media (min-width: 1080px){
	body{
		font-size:1.8rem;
	}
	header{
		height: 640px;
	}
	header h1 .logo{
		width: 680px;
	}
	header h1 .date{
		width: 420px;
	}
	#contents .banner a{
		width: 360px;
	}
	#contents .copy{
		font-size: 2.4rem;
		width: 960px;
		margin: 0 auto 60px;
		text-align: center;
	}
	#contents article{
		width:960px;
		margin:0 auto;
		padding: 40px 40px 20px 40px;
	}
	#contents article dl{
		display: flex;
	}
	#contents article dt{
		width: 240px;
		max-width: 240px;
		min-width: 240px;
	}
	#contents form dl dd input.text{
		width: 400px;
	}
	#contents form dl dd input.text{
		width: 500px;
	}
	.sp{
		display: none;
	}
	.pc{
		display: block;
	}
}


/* Vue transition Add by Matsukubo */
.top-enter-active,
.top-leave-active
{
	transition: all .3s ease;
}

.top-enter,
.top-leave-to
{
	transform: translateY(-30px);
	opacity: 0;
}

.notification
{
	position: -webkit-sticky;
    /* position: sticky; */
    top: 0;
    z-index: 1020;
	font-size: 1.5em;
	padding: 1em;
	text-align: center;
}

.notification-ng
{
	border: #fff 5px solid;
	background-color: #dd0000;
	color: #fff;
}


.notification-ok
{
	border: #fff 5px solid;
	background-color: #dd0000;
	color: #fff;
}

/* 松久保追加（必要なら調整ください） */
#outline dd{
	width: 100%;
}
@media (min-width: 1080px) {
	#outline dd{
		width: 80%;
	}
}