@charset "UTF-8";


/************************************************************
/* コンテンツ
************************************************************/

#contentArea form dl * {
	box-sizing: border-box;
}

#contentArea form dt {
	font-weight: bold;
	margin: 8px 0 4px;
}

#contentArea form .requred {
	display: inline-block;
	font-size: 10px;
	color: #fff;
	line-height: 1;
	background-color: #E01B2A;
	padding: 2px 4px;
	margin-left: 10px;
	vertical-align: middle;
}

#contentArea form dd:not(:last-child) {
	border-bottom: 1px solid #eee;
	min-height: 2em;
}

#contentArea form input[type="text"],
#contentArea form input[type="email"],
#contentArea form input[type="tel"] {
	border: 1px solid transparent;
	background: #f5f5f5;
	width: 100%;
	padding: 10px;
	border-radius: 0;
	margin-bottom: 8px;
}

#contentArea form select {
	margin-bottom: 8px;
}

#contentArea form input[type="radio"],
#contentArea form input[type="checkbox"]{
	display: none;
}

#contentArea form input[type="checkbox"] + label {
	padding-left: 30px;
	margin-right: 20px;
	position: relative;
	cursor: pointer;
}

#contentArea form input[type="checkbox"] + label:before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-color: #f5f5f5;
	position: absolute;
	top: 50%;
	left: 0px;
	margin-top: -8px;
}

#contentArea form input[type="checkbox"]:checked + label:after {
	content: "";
	display: block;
	width: 8px;
	height: 12px;
	border:3px solid #000;
	border-right: none;
	border-bottom: none;
	position: absolute;
	top: 50%;
	left: 4px;
	margin-top: -10px;
	-webkit-transform: rotate(225deg);
	   -moz-transform: rotate(225deg);
	     -ms-transform: rotate(225deg);
	        -o-transform: rotate(225deg);
	            transform: rotate(225deg);
}

#contentArea form input[type="radio"] + label {
	padding-left: 30px;
	margin-right: 20px;
	position: relative;
	cursor: pointer;
}

#contentArea form input[type="radio"] + label:before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-color: #f5f5f5;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
}

#contentArea form input[type="radio"]:checked + label:after {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #000;
	position: absolute;
	top: 50%;
	left: 3px;
	margin-top: -5px;
}

#contentArea form select {
	width: 100%;
	padding:10px 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-indent: 10px;
	background: url('/common/images/select_arrow.png') no-repeat right center;
	background-size:16px;
	border-radius: 0;
	border: 1px solid #eee;

	box-shadow: none;
}

#contentArea form textarea {
	width: 100%;
	border: 1px solid transparent;
	background: #f5f5f5;
	padding: 15px 20px;
	height: 15em;
}

#contentArea form dd.radio {
	padding-bottom: 10px;
}

#contentArea form .errorMsg {
	display: none;
}

#contentArea form .date select {
	width: 66px;
	background-color: #fff;
}

#contentArea form .history li {
	overflow: hidden;
}

#contentArea form .history li:not(:last-child) {
	border-bottom: 1px dotted #000;
	margin-bottom: 8px;
}

/*エラー*/
#contentArea form input:focus:required:invalid,
#contentArea form textarea:focus:required:invalid,
#contentArea form input:required:invalid,
#contentArea form textarea:required:invalid {
	background: url('/common/images/form_ng.png') no-repeat right 5px top 50% #fdf5f5;
	background-size: 14px 14px;
}

#contentArea form input:focus:required:valid,
#contentArea form input:focus:valid,
#contentArea form textarea:focus:required:valid,
#contentArea form textarea:focus:valid {
	background: url('/common/images/form_ok.png') no-repeat right 5px top 50% #f0fcf2;
	background-size: 14px 14px;
}

#contentArea form input[type="submit"]:focus:valid {
	background-image: none;
	background-color: #FCD600;
}

#contentArea div.error span.error {
	background-color:  #fdf5f5;
	padding: 15px;
	color: #f00;
	display: block;
	margin-top: 10px;
}

/*OK(入力済)*/
#contentArea form input:required:valid,
#contentArea form textarea:required:valid {
}

#contentArea form #submit {
	margin-bottom: 20px;
	text-align: center;
}

#contentArea form .submitBtn input,
#contentArea form #submit input#submitBtn {
	width: 100%;
	display: block;
	text-align: center;
	border: 1px solid #000000;
	background-color: transparent;
	padding: 12px;
	font-size: 12px;
	color: #000;
	max-width: 400px;
	margin: 0 auto;
	border-radius: 0;
}

#contentArea form #back {
	text-align: center;
}

#contentArea form #BackBtn {
	-webkit-appearance: none;
	background-color: transparent;
	border: none;
	margin: 0 auto;
	text-align: center;
	font-size: 12px;
}

/*エラー*/
#contentArea form .error {
	color:#E01B2A!important;
}

#contentArea form .error input {
	color: #000!important;
}

#contentArea form .error input,
#contentArea form .error select {
	border-color: #E01B2A!important;
}

#contentArea .errs {
	background-color: #FDF5F5;
	color: #880000;
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 10px;
	min-height: 32px;
	height: auto !important;
}

footer {
	margin-top: 0;
}

#contentArea .end .textLink a{
	background-color: transparent;
	padding-left: 20px;
	position: relative;
}

#contentArea .end .textLink a:before {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #FCD600;
	border-right: 2px solid #FCD600;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	     -ms-transform: rotate(45deg);
	        -o-transform: rotate(45deg);
	            transform: rotate(45deg);
}

#contentArea #agreementTxt {
	width: calc(100% - 40px);
	padding: 30px 20px 30px;
	font-size: 12px;
	overflow: hidden;
	position: absolute;
	top: 0;left: 0;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
	z-index: 1;
	color: #fff;
	margin:0;
}

#contentArea #agreementTxt h2 {
	font-size: 16px;
	margin-bottom: 30px;
	text-align: center;
}

#contentArea #agreementTxt h3 {
	margin-bottom: 30px;
	text-align: center;
}

#contentArea #agreementTxt ol.list > li:before {
	color: #000;
}

#contentArea #agreementTxt .yBox {
	color: #fcf7db;
}

#contentArea #agreementTxt #agreeBtn {
	display: block;
	color: #fff;
	padding: 8px;
	border: 1px solid #fff;
	text-align: center;
	margin-top: 20px;
}

#contentArea form #inputArea {
	padding-top: 20px;
}

#contentArea form #inputArea #agreeBtn2 {
	display: block;
	padding: 11px 10px 9px 50px;
	margin-top: 20px;
	border: 1px solid #eee;
}

#contentArea form #inputArea input[disabled] + #agreeBtn2 {
	opacity: 0.6;
	cursor: default;
}

#contentArea form #agreeCheck + label:before {left: 20px;}
#contentArea form #agreeCheck:checked + label:after {left: 24px;}

#contentArea #agreementTxt p.end {
	font-size: 16px;
	margin-top: 100px;
	text-align: center;
	font-weight: bold;
}

/*****************************************************************/
	@media print, screen and (min-width: 920px) {
		#contentArea .notes {
			position: relative;
			height: auto;
			background-color: rgba(255,255,255,0.8);
			width: 950px;
			border: 1px solid #eee;
			margin: 20px auto;
			padding: 0 20px 0 30px;
			color: #333;
		}

		#contentArea .notes.hide {
			display: block;
		}

		#contentArea .notes a.outLink:after {
			background-image: url('/common/images/icon_outlink_g.png') ;
		}

		#contentArea .notes a.internalLink:before {
			border-left-color: #FCD600;
		}

		#contentArea .notes .closeBtn a {
			display:none;
		}


#contentArea .notes .applicationBox {
	margin-top: 20px;
	padding: 20px 0;
	border-top: 1px dotted #eee;
}

#contentArea .notes .applicationBox h2 {
	font-size: 14px;
}


		#contentArea form dl * {
			box-sizing: content-box;
		}

		#contentArea form {
			padding-bottom: 50px;
		}

		#contentArea form dt {
			color:#000;
			font-weight: normal;
			margin: 0;
			float: left;
			width: 200px;
			padding-top: 31px;
		}

		#contentArea form dd {
			padding: 20px 20px 20px 240px;
			border-bottom: 1px solid #eee;
			position: relative;
		}

		#contentArea form dd:before {
			content: "";
			width: 0;height: 100%;
			border-left: 1px solid #eee;
			position: absolute;
			top: 0;
			left: 220px;
		}

		#contentArea form dd:not(:last-child) {
			padding-bottom: 12px ;
			padding-right: 0;
		}


		#contentArea form input[type="text"].length150,
		#contentArea form input[type="email"].length150,
		#contentArea form input[type="tel"].length150 {
			width: 150px;
		}

		#contentArea form input[type="text"].length200,
		#contentArea form input[type="email"].length200,
		#contentArea form input[type="tel"].length200 {
			width: 200px;
		}

		#contentArea form input[type="text"].length300,
		#contentArea form input[type="email"].length300,
		#contentArea form input[type="tel"].length300 {
			width: 300px;
		}

		#contentArea form input[type="text"].length400,
		#contentArea form input[type="email"].length400,
		#contentArea form input[type="tel"].length400 {
			width: 400px;
		}

		#contentArea form input[type="text"].length500,
		#contentArea form input[type="email"].length500,
		#contentArea form input[type="tel"].length500 {
			width: 500px;
		}

		#contentArea form select {
			width: 200px;
		}

		#contentArea form select.subject {
			width: 320px;
		}

		#contentArea form textarea {
			width: 600px;
		}

		#contentArea form .error .errorMsg,
		#contentArea form .errorMsg {
			background: #D45252;
			color: #fff;
			font-size: 12px;
			padding: 3px 10px 2px;
			position: relative;
			margin-left: 10px;
			display: inline-block;
			opacity: 0;
			-webkit-transition: all 0.5s linear;
			       -moz-transition: all 0.5s linear;
			        -ms-transition: all 0.5s linear;
			         -o-transition: all 0.5s linear;
			            transition: all 0.5s linear;
		}

		#contentArea form .errorMsg:before {
			content: "";
			display: block;
			left: 0;
			top: 50%;
			position: absolute;
			margin-top: -4px;
			margin-left: -10px;
			border: 4px solid transparent;
			border-right: 6px solid #D45252;
		}

		#contentArea form textarea + .errorMsg {
			margin-top: 10px;
		}

		#contentArea form textarea + .errorMsg:before {
			border-bottom: 6px solid #D45252;
			border-right-color: transparent;
			top: -6px;
			left: 20px;
		}

		#contentArea form .bottom.errorMsg {
			margin: 15px 0 0 0;
		}

		#contentArea form .address li {
			position: relative;
			padding-left: 130px;
		}

		#contentArea form .address li:not(:last-child) {
			margin-bottom: 8px;
		}

		#contentArea form .ad {
			position: absolute;
			left: 0;
			width: 115px;
			font-weight: normal;
		}


		#contentArea form #submit {
			margin-top: 20px;
			text-align: center;
		}

		#contentArea form #submit input#submitBtn {
			width: 200px;
			-webkit-transition: all 0.1s linear;
			       -moz-transition: all 0.1s linear;
			        -ms-transition: all 0.1s linear;
			         -o-transition: all 0.1s linear;
			            transition: all 0.1s linear;
			font-size: 14px;
			padding: 16px;
			margin-top: 50px;
		}

		#contentArea form #submit input#submitBtn:hover {
			background-color: #FCD600;
			-webkit-transition: all 0.1s linear;
			       -moz-transition: all 0.1s linear;
			        -ms-transition: all 0.1s linear;
			         -o-transition: all 0.1s linear;
			            transition: all 0.1s linear;
		}

		#contentArea form input:focus:invalid + .errorMsg,
		#contentArea form input:focus:required:invalid + .errorMsg,
		#contentArea form textarea:focus:required:invalid + .errorMsg{
			opacity: 1;
			-webkit-transition: all 0.5s linear;
			       -moz-transition: all 0.5s linear;
			        -ms-transition: all 0.5s linear;
			         -o-transition: all 0.5s linear;
			            transition: all 0.5s linear;
		}

		#contentArea form .date select {
			width: 100px;
		}

		#contentArea form dd.radio {
			padding-top: 30px;
			padding-bottom: 30px;
		}

		#contentArea form dd.address span {
			width: 140px;
			display: block;
			float: left;
			margin-top: 10px;
		}

		#contentArea form dd.history span:not(.requred) {
			width: 100px;
			display: block;
			float: left;
			margin-top: 10px;
		}
		.EN #contentArea form dd.history span:not(.requred) {
			width: 180px;
		}


		#contentArea form .history li:not(:last-child) {
			margin-bottom: 20px;
			padding-bottom: 12px;
		}

		#contentArea form dd.activity span {
			width: 140px;
			display: block;
			float: left;
			margin-top: 10px;
		}
		.EN #contentArea form dd.activity span {
			width: 30px;
		}

		/*確認画面*/
		#contentArea form .check dt {
			padding-top: 20px;
		}

		#contentArea form .check .address li {
			margin-top: 0;
		}

		#contentArea form .check .ad {
			margin-top: 0;
		}

		#contentArea form .check dd.history span:not(.requred) {
			margin-top: 0;
		}

		#contentArea #agreementTxt {
			font-size: 14px;
			top: -40px;
			width: 100%;
			padding: 0 0 80px 0;
		}

		#contentArea #agreementTxt .inner {
			width: 1000px;
			margin: 80px auto;
		}

		#contentArea #agreementTxt h2 {
			font-size: 24px;
			margin-bottom: 54px;
		}

		#contentArea #agreementTxt h3 {
		    margin: 100px 0 80px;
			font-size: 18px;
		}

		#contentArea #agreementTxt #agreeBtn {
			width: 600px;
			margin: 80px auto 0;
			cursor: pointer;
			-webkit-transition: all 0.1s linear;
			    -moz-transition: all 0.1s linear;
			      -ms-transition: all 0.1s linear;
			        -o-transition: all 0.1s linear;
			            transition: all 0.1s linear;
			padding: 12px;
		}

		#contentArea #agreementTxt #agreeBtn:hover {
			background-color: rgba(252,214,0,1);
			color: #000;
			-webkit-transition: all 0.1s linear;
			    -moz-transition: all 0.1s linear;
			      -ms-transition: all 0.1s linear;
			        -o-transition: all 0.1s linear;
			            transition: all 0.1s linear;
		}


		#contentArea form #inputArea #agreeBtn2 {
			padding: 21px 10px 19px 50px;
			-webkit-transition: all 0.1s linear;
			    -moz-transition: all 0.1s linear;
			      -ms-transition: all 0.1s linear;
			        -o-transition: all 0.1s linear;
			            transition: all 0.1s linear;
		}

		#contentArea form #inputArea #agreeBtn2:hover {
			background-color: rgba(252,214,0,1);
			-webkit-transition: all 0.1s linear;
			    -moz-transition: all 0.1s linear;
			      -ms-transition: all 0.1s linear;
			        -o-transition: all 0.1s linear;
			            transition: all 0.1s linear;
		}

		#contentArea form #inputArea input[disabled] + #agreeBtn2:hover {
			background-color: #fff;
		}

		#contentArea #agreementTxt p.end {
			font-size: 20px;
			margin-top: 150px;
		}

	}


/************************************************************
/* 支払い画面
************************************************************/
#payment #inputArea #contactForm {
	background-color: #f5f5f5;
	padding: 20px;
	margin-bottom: 50px;
}

#ENTRYFEE #contentArea #YOUTUBE ,
#YOUTUBE #contentArea #ENTRYFEE {
	opacity: 0.2;
	position: relative;
}

/*
#contentArea #YOUTUBE:before {
	content: "";
	width: 0;
	height: 0;
	font-size: 0;
	border: 20px solid transparent;
	border-top: 15px solid #000;
	position: absolute;
	top: -20px;
	left: 50%;
	opacity: 1;
	margin-left: -20px;
}
*/

#ENTRYFEE #contentArea #YOUTUBE input ,
#YOUTUBE #contentArea #ENTRYFEE input {
	pointer-events: none;
}

#contentArea form .submitBtn .Btn + .Btn {
	margin: 20px 0 80px;
}

#YOUTUBE .program + .program {
	margin-top: 0.5em;
}

#YOUTUBE .selectWide {
	width: 100%;
}


/*****************************************************************/
@media print, screen and (min-width: 920px) {

	#payment #inputArea {
		width: 500px;
		margin: 0 auto;
	}

	#payment #inputArea #contactForm {
		padding: 30px 50px;
	}

	#payment #inputArea #contactForm dt {
		float: none;
		padding: 0;
	}

	#payment #inputArea #contactForm dd {
		padding-left: 0;
		border-bottom: none;
	}

	#payment #inputArea #contactForm dd:before {
		content: none;
	}

/*
	#contentArea #YOUTUBE:before {
		top: -40px;
	}
*/

	#contentArea form .submitBtn {
		display: flex;
	}

	#contentArea form .submitBtn .Btn {
		width: calc(50% - 15px);
	}

	#contentArea form .submitBtn .Btn input {
		font-size: 14px;
		padding: 16px;
	}

	#contentArea form .submitBtn .Btn input:hover {
		background-color: #FCD600;
			-webkit-transition: all 0.1s linear;
		       -moz-transition: all 0.1s linear;
		        -ms-transition: all 0.1s linear;
		         -o-transition: all 0.1s linear;
		            transition: all 0.1s linear;
	}

	#contentArea form .submitBtn .Btn + .Btn {
		margin-top: 0;
		margin-left: 30px;
	}

	#YOUTUBE .selectWide {
		width: 500px;
	}


}
