@charset "utf-8";
/* CSS Document */




	/*ログイン画面*/
	#login{max-width: 480px;}

	.loginBox{display: flex;flex-direction: column;}

	

	.whiteBox_log{
		width: 100%;
		background-color: #ffffff;
		border-radius:30px 30px 0 0;
		padding: 4rem 0;
	}

	.whiteBox_log .whiteBox_log_context{
		color:#00A8D2;
		font-size: 1.2em;
		font-weight: bold;
	}

	.whiteBox_log_1{
		width: 100%;
		background-color: #ffffff;
		border-radius:30px;
		padding: 4rem 0;
		margin-bottom: 4.5rem;
	}

	.whiteBox_log_1 .whiteBox_log_context{
		color:#00A8D2;
		font-size: 1.3em;
		font-weight: bold;
		margin-bottom: 5px;
	}

	.yellow_underline{
		text-decoration: underline;
		text-decoration-thickness: 0.5em; /* 線の太さ */
		text-decoration-color: yellow; /* 線の色 */
		text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
		text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
	}

	.pass_Box{width: 100%;
		background-color: #00a8d2;
		border-radius: 0 0 30px 30px;padding: 4rem 0;}


	.area-text {
			max-width: 300px;
			width:75%;
			margin: 0 auto;
			text-align: left;
		}


	.area-text input[type="text"],
	.area-text input[type="password"] {
		width: 92%;
		padding: 10px;
		border-radius: 5px;
		border: 2px solid #ccc;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
	    height: 30px;
		font-size: 17px;
	}


	.area-text input[type="text"]:focus {
	  border: 2px solid #00a8d2;outline: 0;
	}

	.area-text p{color: #434343;}

	.ablue_btn {
		font-size: 1.2em;
		font-weight: bold;
		line-height: 1.5;
		position: relative;
		display:block;
		margin: 2rem auto 0;
		width: 75%;
		padding: 1.7rem 0;
		cursor: pointer;
		transition: all 0.3s;
		text-align: center;
		vertical-align: middle;
		text-decoration: none;
		letter-spacing: 0.1em;
		border-radius: 15px;
		color: #fff;
		background-color: #00a8d2;
		border: none;
	}

	.ablue_btn::after {
		content: "\f054";
		font-family: Font Awesome\ 5 Free;
		font-weight: 900;
		top: 20px;
		right: 10px;
		color: #00a8d2;
		position: absolute;
		font-size: 0.88em;
		}

	.ablue_btn::before {
	  content: '';
	  width: 22px;
	  height: 22px;
	  background: #fff;
	  border-radius: 50%;
	  position: absolute;
	  top: 48%;
	  right:7px;
	  margin-top: -9px;
	}

	a.white_btn {
			font-size: 1.2em;
			line-height: 1.5;
			position: relative;
			margin: 0 auto ;
			display: block;
			width: 75%;
			padding:1.4rem 0rem;
			color: white;
			background-color: #00a8d2;
			cursor: pointer;
			transition: all 0.3s;
			text-align: center;
			vertical-align: middle;
			text-decoration: none;
			border-radius: 15px;
			font-weight: bold;
		}

	a.white_btn::after {
		content: "\f054";
		font-family: Font Awesome\ 5 Free;
		font-weight: 900;
		top: 16px;
		right: 10px;
		color: #00a8d2;
		position: absolute;
		font-size: 0.88em;
		}

	a.white_btn::before {
	  content: '';
	  width: 22px;
	  height: 22px;
	  background:  white;
	  border-radius: 50%;
	  position: absolute;
	  top: 48%;
	  right:7px;
	  margin-top: -10px;
	}

	.linktxt_w{
		color: #ffffff;
		text-decoration: none;
		font-size: 1.6rem;
		text-align: center;
	}

	a.arrow_w::before {
		content: '\f04b';
		font-family: Font Awesome\ 5 Free;
		font-weight: 900;
		color: #ffffff;
		font-size: 0.9em;
		}


	.yellwtxt{margin-top: 2rem;
		color: #fff666!important;line-height: 1.4;
	}

	.yohakutop3{
		margin-top: 4rem!important;
	}

.yohakutop4,.yohakutop5{
		margin-top: 4.5rem!important;
	}

	.yohakutop{
		margin-top: 2rem;
	}

	.yohakutop6{margin-top: 9rem;}


	.yohakutop1{
		margin-top: 1rem!important}

	.yohakubottom1{
		margin-bottom: 1rem!important;}

	.yohakubottom2{
		margin-bottom: 2rem;}

	.yohakubottom3{
		margin-bottom:4rem;}

	.yohakubottom4{
			margin-bottom:0.5rem;}




/*一般規約*/
input[type="submit"]{
 
    font-size: 1.1em;
    font-weight: bold;
    border: none;
    color: #fff;
    background: none;
    transition: 0.3s;
}
.whiteBox {
	width: 88.6%;
	background-color: #ffffff;
	border-radius: 30px;
	padding: 4rem 6rem;
}
.kiyakibox{
	height: 400px;
}
.attention {
	text-align: left;
	margin:3rem auto 2rem;
	padding:3.5rem 3rem;
	background: #fff4dd;line-height: 1.5;
}
.blue_btn {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	display:block;
	margin: 2rem auto 0;
	width: 100%;
	max-width: 300px;
	padding: 1.7rem 0;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 15px;
	color: #fff;
	background-color: #0078b5;
	border: none;
}
.blue_btn::after {
	content: "\f054";
	font-family: Font Awesome\ 5 Free;
	font-weight: 900;
	top: 20px;
	right: 12px;
	color: #0078b5;
	position: absolute;
	font-size: 0.88em;
}
.blue_btn::before {
	content: '';
	width: 22px;
	height: 22px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 48%;
	right:7px;
	margin-top: -9px;
}
.gray_btn2 {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	display:block;
	margin: 2rem auto 0;
	width: 100%;
	max-width: 300px;
	padding: 1.7rem 0;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 15px;
	color: #fff;
	background-color: #d3d7d9;
	border: none;
}
.gray_btn2::after {
	content: "\f054";
	font-family: Font Awesome\ 5 Free;
	font-weight: 900;
	top: 20px;
	right: 12px;
	color: #d3d7d9;
	position: absolute;
	font-size: 0.88em;
}
.gray_btn2::before {
	content: '';
	width: 22px;
	height: 22px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 48%;
	right:7px;
	margin-top: -9px;
}
/*一般メアド*/
.whiteBox2 {
    width: 100%;
    background-color: #ffffff;
    border-radius: 30px;
}
.padbox{
	padding: 4rem 6rem;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
}
.area-text2 {
	width: 400px;
	margin: 0 auto;
	text-align: left;
}
.area-text2 input[type="text"],
.area-text2 input[type="password"] {
	width: 93%;
	padding: 10px;
	border-radius: 5px;
	border: 2px solid #ccc;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	height: 30px;
}
.area-text2 input[type="text"]:focus {
	border: 2px solid #00a8d2;outline: 0;
}
.area-text2 p{
	color: #434343;
}
.error{
	border: 2px solid #e8240f!important;
	background-color: #ffe9e7;
}
.tyukitxt{ 
	display: inline-block;
	text-align: left;	
	font-size: 0.85em!important;
	width: 100%;
	max-width: 650px;
}
.red_btn {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	display:block;
	margin: 3rem auto 0;
	width: 100%;
	max-width: 300px;
	padding: 1.7rem 0;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 15px;
	color: #fff;
	background-color: #ea3e2c;border: none;
}
.red_btn::after {
	content: "\f054";
	font-family: Font Awesome\ 5 Free;
	font-weight: 900;
	top: 20px;
	right: 12px;
	color: #ea3e2c;
	position: absolute;
	font-size: 0.88em;
}
.red_btn::before {
	content: '';
	width: 22px;
	height: 22px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 48%;
	right:7px;
	margin-top: -9px;
}
/*一般入力フォーム*/
.area-text3 {
	margin-top: 0.4rem;
	max-width: 500px;
	width: 100%;
}
.form_midasi{
	font-size: 1.7rem;
}
.area-text3 p{
	text-align:left!important;
}
.area-text3 ul {
	display: flex;
	justify-content: space-between;
}
.area-text3 ul li{
	flex:1;
}
.area-text3 input[type="text"],
.area-text3 input[type="password"]{
	width:97%;
	font-size: 1.6rem;
	padding: 1.8rem;
	border-radius: 5px;
	box-sizing: border-box;
	transition: 0.3s;
	border: 2px solid #d5d5d5; -webkit-appearance: none;
}
input[type='text']:focus,
input[type="password"]:focus{
	border: 2px solid #00a8d2;
	outline: none;
}
.area-text3 .data select,.area-text3 .school select,.area-text3 .class select,
.prefectures select{
	width: 100%;
	font-size: 1.5rem;
	position: relative;
	padding: 1.8rem;
	border: 2px solid #d5d5d5;
	box-sizing: border-box;
	/* transition: 0.3s; */
	border-radius: 6px;
	-webkit-appearance: none!important;
	-moz-appearance: none!important;
	appearance: none!important;
}
.data2{
	display: flex;
	flex-direction: column;
}
.area-text3 .data select:focus,.area-text3 .school select:focus,.area-text3 .class select:focus,
.prefectures select:focus{	
	border: 2px solid #00a8d2;;
	border-radius:6px;
	outline:none;
}
.area-text3 .data label,.area-text3 .school label,.area-text3 .class label,
.prefectures label{
	width:100%;
	position:relative;
}
.area-text3 .data div,.area-text3 .prefectures div{
	width:40%;
}

.area-text3 .school div{
	width:45%;
}

.area-text3 .class div{
	width:40%;
}

.area-text3 .data label:after,.area-text3 .school label:after,.area-text3 .class label:after,
.prefectures label:after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 32%;
	right: 9px;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 11px solid #e77537;
	pointer-events: none;
}
.area-text3 .radiobox div {
	width: 7.5em;
	display: flex;
	margin-right: 0.3rem;
}
.radio {
	display: none;
} 
.radiobox{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	width: auto !important;
}

.radiobox div {
	width: 15%;
}


.radiobox div label {
	width: 100% !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	padding: 1.3em 2rem 1.5rem 6rem;
	font-size: 1.5rem;
	border: #d5d5d5 2px solid;
	border-radius: 6px;
	background: #fff;
	transition: transform .2s ease-in-out, opacity .2s ease-in-out;
}

.other-flg{
	padding: 1.3em 1rem 1.5rem 5rem !important;
}

.radiobtn {
	position: relative;
}

input[type=checkbox]:checked ~ .radiobtn::after, input[type=checkbox]:checked ~ .radiobtn::after {
	background: #e77537; border: #e77537 2px solid;
}

.radiobtn::after {
	content: "";
	position: absolute;
	top: 40%;
	left: 1rem;
	margin-right: 0.5rem;
	cursor: pointer;
	transition: all 0.15s ease-out 0s;
	color: #ffffff;
	border: #d5d5d5 2px solid;
	outline: none;
	width: 3.3rem;
	height: 3.3rem;
	margin-top: -11px;
	border-radius: 50%;
	background: #fff;
	box-sizing: border-box;
}


input[type=checkbox]:checked ~ .radiobtn, input[type=checkbox]:checked ~ .radiobtn {
		background: #fff;
	border: #e77537 2px solid;
}


input[type=checkbox]:checked ~ .radiobtn::before, input[type=checkbox]:checked ~ .radiobtn::before {
	opacity: 1;
	transform: rotate(45deg) scale3d(1,1,1);
}


.radiobtn::before {
	border-right: 4px solid #fff;
	border-bottom: 3px solid #fff;
	content: '';
	height: 15px;
	left: 2rem;
	margin-top: -14px;
	opacity: 0;
	position: absolute;
	top: 56%;
	transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
	transition: transform .2s ease-in-out, opacity .2s ease-in-out;
	width: 9px;
	z-index: 1;
}

.adress {
	display: flex;
	justify-content: flex-start !important;
	align-items: center;
	margin-right: 1rem;
}

.adress .btn-adress {
    margin-left: 1rem;
    padding: 2rem 3rem;
    border-radius: 5px;
    background: #e77537;
    border: none;
    cursor: pointer;
    outline: none;
    appearance: none;
    color: #fff;
    box-sizing: border-box;
    font-size: 1.5rem;
}
.magtm0{
	margin-bottom: 0;
}
.obimidasi{
	font-size: 1.8rem;
	font-weight: normal;
	background-color: #0078b5;
	color: #fff;
	padding: 1.3rem 0 1.1rem;
	line-height: 1.4;
	margin: 6rem 0 3rem;
}
.subttl {
	border: 1px solid;
	padding: 0.8rem;
	width: 100%;
	font-weight: normal;
}

.subttl2 {
	border: 1px solid;
	padding: 0.8rem;
	width: 100%;
	font-weight: normal;
	max-width: 632px;
}

.area-text3 .data2 input[type="text"]{
	width: 40%;
}


.attention_form{
	text-align: center;
	margin:4rem auto 2rem;
	padding:2.8rem 3rem;
	background: #fff4dd;line-height: 1.5;
}
.grabr{
	max-width: 973px;
	width: 100%;
	margin: 8rem auto;
	border-top: 2px solid #0078b5;
}
/*中学生　フォーム*/
.class{
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	margin-bottom: 4rem;
}
.maL{

}
/*確認画面*/
.row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	margin:0 auto;
}
.gray_btn {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	display:block;
	margin: 3rem 0;
	width: 100%;
	max-width: 115px;
	padding: 1.7rem 2rem;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 15px;
	color: #fff;
	background-color: #9c9c9c;border: none;
}
.gray_btn::after {
	content: "\f053";
	font-family: Font Awesome\ 5 Free;
	font-weight: 900;
	top: 20px;
	left: 11px;
	color: #9c9c9c;
	position: absolute;
	font-size: 0.88em;
}
.gray_btn::before {
	content: '';
	width: 22px;
	height: 22px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 48%;
	left:7px;
	margin-top: -9px;
}
.red_btn2  {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	display: block;
	margin: 3rem 0 3rem 2rem;
	width: 100%;
	max-width: 200px;
	padding: 1.7rem 4rem;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 15px;
	color: #fff;
	background-color: #ea3e2c;border: none;
}
.red_btn2::after {
	content: "\f054";
	font-family: Font Awesome\ 5 Free;
	font-weight: 900;
	top: 19px;
	right: 12px;
	color: #ea3e2c;
	position: absolute;
	font-size: 0.88em;
}
.red_btn2::before {
	content: '';
	width: 22px;
	height: 22px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 48%;
	right:7px;
	margin-top: -9px;
}
/*送信完了*/
.compmagin{
	margin: 2rem auto 3rem;
}
/*中学生送信完了*/
.juni_pad{
	width: 88.6%;
	padding: 4rem 6rem;
}
.src_Box {
	color: #ffffff;
	width: 88.6%;
	padding: 4rem 6rem;
	background-color: #58c4db;
	border-radius: 0 0 30px 30px;
}
.btnearea{
	width: 300px;
	margin: 0 auto;
}
@media screen and (max-width: 1040px){
	.whiteBox,.whiteBox2,.juni_pad,.src_Box {
		width: auto;
	}
}
@media screen and (max-width:970px){
	.radiobox div {
		width: 20%;
	}	
	.area-text3 .class div{

	}
}
@media screen and (max-width:640px){
	.ablue_btn {
		padding: 2rem 0;
		font-size: 0.85em;
	}
	.ablue_btn::after {
		top:22px;
	}
	a.white_btn {
		padding: 1.8rem 0rem;
		font-size: 1em;
	}
	a.white_btn::after {
		top: 20px;
	}
	.whiteBox,.juni_pad,.src_Box{
		padding: 3rem 2.5rem;
	}	
	.attention{
		padding: 3rem 2rem;
	}
	.padbox{
		padding: 3rem 2.5rem;
	}	
	.area-text2 {
		width: 93%;
	}
	.midasi_b {
		font-size: 2.5rem;
	}	
	input[type="submit"]{
		font-size: 1em;
	}
	.blue_btn::after,.gray_btn2::after {
		top: 19.5px;
	}	
	.red_btn {
		max-width: 250px;
	}
	.red_btn::after {
		top: 20px;
	}
	.area-text3 ul {
		display: block;
	}
	.area-text3 ul li:nth-child(2) {
		margin-top: 1.3rem;
	}
	.area-text3 p {
		line-height: 1.4;
		margin-bottom: 0.5rem;
	}
	.area-text3 input[type="text"],
	.area-text3 input[type="password"] {
		width:100%;
	}
	.area-text3 .school div {
		width: 100%;
	}
	.class{
		display: block;margin-bottom: 0rem;
	}
	.area-text3 input[type="text"],
	.area-text3 input[type="password"] {
		padding: 1.5rem;
		font-size: 1.8rem !important;
	}
	.radiobox div label {
		padding: 1.8rem 1rem 1.8rem 4rem;
		font-size: 1.3rem;
	}	
	.area-text3 .data2 input[type="text"],.area-text3 .data div, .area-text3 .prefectures div {
		width: 60%;
	}
	.adress .btn-adress {
		padding: 1.7rem 3rem;
	}	
	.radiobtn::after {
		top: 47%;
		left: 0.6rem;
		width: 2.5rem;
		height: 2.5rem;
	}
	.radiobox div {
		width: 29%;
	}
	.radiobtn::before {
		height: 11px;
		left: 1.4rem;
		margin-top: -14px;
		top: 61%;
		width: 6px;
	}
	.obimidasi {
		font-size: 1.6rem;
		padding: 1.5rem 1.8rem;
	}
	.attention_form{
		text-align: left;
		padding: 3rem 2.3rem;
		font-size: 1.5rem;
	}
	.row{
		display: flex;
		flex-wrap: wrap-reverse;
	}
	.gray_btn {
		margin: 3rem auto 0;
		padding: 1.8rem 2rem;
	}
	.gray_btn::after{
		top: 20.5px;
	}
	.red_btn2::after{
		top: 20.5px;
	}
	.red_btn2{
		margin: 3rem auto 0;padding: 1.9rem 4rem;
	}
	.btnearea{
		width: 100%;
		max-width: 300px;
	}
	.maL{
		margin-bottom: 4rem;
	}
	.area-text3 .class div {
		width: 60%;
	}
	.yohakutop4{
		margin-top: 3rem!important;
	}
	.yohakutop5{
		margin-top: 5rem!important;
	}
	.subttl2{
		max-width: 332px;
	}
}
@media screen and (max-width: 440px){
	.subttl,.subttl2{
		max-width: 240px;
		display: inline-block;
		padding: 0.8rem 1rem;
	}
	.whiteBox_log_1 .whiteBox_log_context{
		font-size: 1em;
	}	
	.whiteBox_log .whiteBox_log_context{
		font-size: 1em;
	}
}
@media screen and (max-width: 405px){
	.red_btn2::after{top: 21.5px;}
}
@media screen and (max-width: 320px){
	.area-text {
		width: auto;
	}
	.whiteBox_log {
		width: 86%;padding: 4rem 2rem;
	}
	.area-text3 .data2 input[type="text"], .area-text3 .data div, .area-text3 .prefectures div {
		width: 80%;
	}
	.radiobox div {
		width: 45%;
		margin-bottom: 1rem;
	}
	.subttl {
		max-width: 217px;
		font-size: 1.5rem;
	}
}