@charset "UTF-8";

/* GLOBAL */
body{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	background: #000 url("jp/img/jishujoeiBG.jpg") no-repeat fixed 50% 50% / cover;
}

/* GENERAL */
.cWidth{
	width: 640px;
}

ol{
	list-style: none;
}

/* LINKS */

/* COMMON */



/* ------ GLOBAL NAV ------ */

/* GN styles*/

/* LANGUAGE */





/* ------ JISHUJOEI ------ */
h1{
	padding: 3em 0 2em 0;
	text-align: center;
	font-size: 150%;
}

h2{
	display: inline-block;
	padding: 0.5em 0;
	font-size: 130%;
}
h2::after{
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: #fff;
}
h3{
	padding: 0.25em 0;
	font-size: 110%;
}


.jjBlock{
	padding-bottom: 2em;
}
.jjBlock .inner, .jjStep{
	font-family: "Noto Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", YuGothic, メイリオ, meiryo, Verdana, Helvetica, -apple-system, sans-serif;
}
.jjBlock .inner{
	margin-left: 0em;
}
.jjBlock p{
	margin-bottom: 0.5em;
}
.jjBlock p span.list{
	display: block;
}
ul.precautions li{
	font-size: 85%;
}


#jishujoei02{
	margin: 3em 0;
}

#schools{
	display: inline-block;
	margin: 1em 0;
	padding: 1em 1.5em;
	background: rgba(255,255,255,0.1);
	border-radius: 5px;
}
#schools a{
	text-decoration: underline;
	text-underline-offset: 4px;
}
#schools a:hover{
	text-decoration: none;
}

#jjSteps{
	margin-top: 1em;
}
.jjStep .inner{
	min-height: 1em;
	margin: 0 0 0 0.75em;
	padding: 0.25em 0 0.5em 0.9em;
	border-left: solid 1px rgba(255,255,255,0.3);
}





/* ------ FORM ------ */
#wrapContact{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin-bottom: 5em;
}


#theForm{
	position: relative;
	width: 560px;
	max-width: 90%;
	margin: 0 auto;
	text-align: center;
}

#theForm h2{
	margin: 0 0 1.5em 0;
}

#theForm h1, #theForm h3{
	margin-bottom: 1.25em;
}
#theForm p{
	margin-bottom: 1.0em;
}
#theForm label{
	display: block;
	position: relative;
	font-family: "Noto Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", YuGothic, メイリオ, meiryo, Verdana, Helvetica, -apple-system, sans-serif;
	font-weight: bold;
	line-height: 2.5;
}
#theForm label span{
	display: block;
	margin: 0;
}
#theForm input[type="text"], #theForm input[type="email"], #theForm textarea{
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0.5em;
	background: rgba(255,255,255,0.2);
	border: none;
	border-radius: 5px;
	color: #fff;
	font-family: "Noto Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", YuGothic, メイリオ, meiryo, Verdana, Helvetica, -apple-system, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}
#theForm textarea{
	max-height: 25vh;
}

#theForm .formBtns{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
}
#theForm .cancel{
	position: relative;
	padding: 0 20px 0 27px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1px;
	opacity: 0.75;
	cursor: pointer;
	transition: 0.3s ease;
}
#theForm .cancel:hover{
	opacity: 1;
}
#theForm .cancel::before, #theForm .cancel::after{
	content: "";
	display: block;
	position: absolute;
	top: 45%;
	left: 2px;
	width: 16px;
	height: 1px;
	background: #fff;
}
#theForm .cancel::before{ transform:rotate(45deg); }
#theForm .cancel::after{ transform:rotate(-45deg); }

#theForm input[type="submit"]{
	padding: 7px 30px;
	background: rgba(255,255,255,0.1);
	border: solid 1px #fff;
	border-radius: 50px;
	color: #fff;
	font-family: "Noto Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", YuGothic, メイリオ, meiryo, Verdana, Helvetica, -apple-system, sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1px;
	cursor: pointer;
	transition: 0.3s ease;
}
#theForm input[type="submit"]:hover{
	background: rgba(255,255,255,1);
	color: #000;
}
#theForm input[type="submit"].off{
	opacity: 0;
}


/* SENDING */
.blockLoader {
	display: none;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 30px 50px;
}
.loading .blockLoader {
	display: block;
}

.loader {
	display: block;
	position: relative;
	width: 50%;
	display: grid;
	place-items: center;
}
.loader::before,
.loader::after {
	content: '';
	box-sizing: border-box;
	position: absolute;
	width: 12px;
	height: 12px;
	background-color: #fff;
	border-radius: 50%;
	opacity: 0;
	animation: loader-2 1.8s cubic-bezier(0.2, 0.32, 0, 0.87) infinite;
}
.loader::after {
	animation-delay: 0.3s;
}

@keyframes loader-2 {
	0%, 80%, 100% { opacity: 0; }
	33% { opacity: 1; }
	0%, 100% { transform: translateX(-4vmin); }
	90% { transform: translateX(4vmin); }
}


/* ERROR */
.wpcf7-not-valid-tip{
	position: absolute;
	top: 0.25em;
	right: 0;
	letter-spacing: 0.1em;
}


/* SENT */
#theForm.sent .screen-reader-response{
	display: block;
}
#theForm.sent form.sent{
	display: none;

}

#theForm form.sent p, #theForm form.sent .formBtns{
	opacity: 0;
	transition: 0.3s ease;
}

.thanks{
	display: none;
	position: absolute;
	width: 100%;
	padding: 0;
	font-size: 14px;
	opacity: 0;
	z-index: -1;
	transition: opacity 0.5s ease 0.2s;
}
form.sent .thanks{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	height: 100%;
	top: 0;
	left: 50%;
	opacity: 1;
	z-index: 1;
	transform: translateX(-50%);
}

@media only screen and (max-width: 560px){
	h1 {
		padding: 5.5em 0 2em 0;
		font-size: 5.0vw;
	}
	.blockLoader {
		padding: 20px 50px;
	}
}




@media only screen and (max-width: 960px){
	/* ------ JISHUJOEI ------ */
	
}




@media only screen and (max-width: 480px){
}







