@charset "utf-8";
/* ==========================================================================
   header
========================================================================== */
#header{
	padding: 15px 0;
	background-color: #fff;
	border-bottom: 3px solid #7dcdf4;
}
#header .logoArea{
	width: 164px;
}
#header .logoArea a:hover img{
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	#header{
	padding: 10px 6%;
	}
	#header .logoArea{
		width: 135px;
	}
}


/* ==========================================================================
  ttlCategory
========================================================================== */

.ttlCategory h1{
	text-indent:0;
	padding-left: 0;
	margin-bottom: 10px;
}
.ttlCategory .teacher,
.ttlCategory .subjectWrap{
	display: inline-block;
	vertical-align: middle;
}
.ttlCategory .teacher{
	font-size: 18px;
	margin-right: 10px;
}
@media screen and (max-width: 767px) {
	.ttlCategory h1{
		margin-bottom: 5px;
	}
	.ttlCategory .ttl{
		text-indent:0;
		padding-left: 0;
	}
}

/* ==========================================================================
  parts
========================================================================== */
.backArea{
	margin-bottom: 25px;
}
.btmCaution{
	margin-top: 25px;
}
.ttlCategory .backArea{
	margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
	.backArea{
		width: 92%;
		margin: 0 auto 25px;
	}
	.ttlCategory .backArea{
		width: 100%;
		text-align: left;
	}
}

/* ==========================================================================
  errWrap
========================================================================== */
.errWrap{
	margin-top: 30px;
	margin-bottom: 30px;
	background-color: #fee;
	border: 1px solid #ffb5b5;
	border-radius: 5px;
}
.errWrap .errList{
	padding: 15px;
}
.errWrap .errList .ttl{
	color: #eb3c3c;
	font-size: 14px;
	font-weight: bold;
}
.errWrap .errList ul{}
.errWrap .errList ul li{
	margin-top: 10px;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.errWrap{
		width: 92%;
		margin-right: auto;
		margin-left: auto;
	}
	.errWrap .errList ul{
		display: none;
	}
}

/* ==========================================================================
  stepWrap
========================================================================== */
.stepWrap{
	text-align: center;
	font-size: 0;
	margin: 30px 0;
}
.stepWrap .stepWrapInner{
	position: relative;
}
.stepWrap .stepWrapInner .copy{
	position: relative;
    width: auto;
    display: inline-block;
	font-size:1.2rem;
	font-weight: bold;
	margin-left:3em;
	padding:10px 13px 10px 20px;
}
.stepWrap .stepWrapInner .copy::before,
.stepWrap .stepWrapInner .copy::after{
	content:"";
    display: inline-block;
    background:#1e1e1e;
    width: 2px;
    position: absolute;
    height: 30px;
    bottom: 5px;
	top:0;
	bottom:0;
	margin:auto;
}
.stepWrap .stepWrapInner .copy::before{
	left: 0;
	transform:rotate(-40deg);
}
.stepWrap .stepWrapInner .copy::after{
	right: 0;
	transform:rotate(40deg);
}
@media screen and (max-width: 767px) {
	.stepWrap .stepWrapInner .copy{
		font-size:4.2vw;
		margin-left:auto;
	}
}
.stepWrap .stepStatus{
	margin-top: 12px;
	margin-right: 35px;
	display: inline-block;
	vertical-align: top;
}
.stepWrap .stepStatus .txt{
	font-size: 20px;
	line-height: 1.4;
	font-weight: bold;
}
.stepWrap .stepList{
	position: relative;
	display: inline-block;
}
.stepWrap .stepList:after{
	content: "";
	display: block;
	position: absolute;
	left: 25px;
	right: 25px;
	height: 4px;
	top: 25px;
	background-color: #7dcdf4;
	z-index: 1;
}
.stepWrap .stepList.late:after{
	top: 40px;
}
.stepWrap .flow{
	position: relative;
	display: inline-block;
	vertical-align: top;
	z-index: 2;
	margin-right: 35px;
}
.stepWrap .late .flow{
	margin-right: 65px;
}
.stepWrap .flow:last-child,
.stepWrap .late .flow:last-child{
	margin-right: 0;
}
.stepWrap .flow .num,
.stepWrap .flow .txtChk{
	border: 4px solid #7dcdf4;
	width: 50px;
	border-radius: 25px;
	background-color: #fff;
	font-size: 18px;
	line-height: 42px;
	font-weight: bold;
	margin: auto;
}
.stepWrap .flow .txtChk{
	width: 80px;
	border-radius: 40px;
	line-height: 72px;
}
.stepWrap .flow.act .num,
.stepWrap .flow.past .txtChk,
.stepWrap .flow.act .txtChk{
	background-color: #7dcdf4;
	color: #fff;
}
.stepWrap .flow .txt{
	font-size: 13px;
	line-height: 1.4;
	font-weight: bold;
	width: 95px;
	margin-top: 5px;
}

.sectionWrap .sectionInner{
	text-align: center;
	margin:1.5em 1em;
}
.sectionWrap .cautionTxt{
	padding:0.5em 1em;
	margin:0 auto;
	color:#2364AA;
	border:#2364AA double 6px;
	text-align: center;
	max-width: 520px;
	font-size:clamp(1rem, 0.641rem + 1.53vw, 1.375rem);
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.stepWrap{
		margin: 25px 0;
	}
	.stepWrap .stepStatus{
		margin-top: 0;
		margin-right: 2.3vw;
		vertical-align: middle;
	}
	.stepWrap .stepList{
		vertical-align: middle;
	}
	.stepWrap .stepStatus .txt{
		font-size: 4.8vw;
	}
	.stepWrap .stepList:after{
		left: 5.3px;
		right: 5.3px;
		height: 3px;
		top: 5.3vw;
	}
	.stepWrap .stepList.late:after{
		top: 7vw;
	}
	.stepWrap .flow{
		margin-right: 4.6vw;
	}
	.stepWrap .late .flow{
		margin-right: 13vw;
	}
	.stepWrap .flow .num,
	.stepWrap .flow .txtChk{
		border: 3px solid #7dcdf4;
		width: 10.6vw;
		height: 10.6vw;
		border-radius: 5.3vw;
		padding: 2.4vw 0;
		line-height: 1;
		font-size: 4.2vw;
	}
	.stepWrap .flow .txtChk{
		width: 14vw;
		height: 14vw;
		padding: 4.2vw 0;
		border-radius: 7vw;
	}
	.stepWrap .flow .txt{
		display: none;
	}

	/* .sectionWrap .cautionTxt{
		font-size: 3.5vw;
	} */
}


/* ==========================================================================
  formWrap
========================================================================== */

.formWrap .tableNml .ttl{
	width: 283px;
	background-color: #fff9d8;
	font-weight: bold;
}
.formWrap .tableNml .cont{
	word-break: break-all;
}
.formWrap .tableNml .iconRequired,
.formWrap .tableNml .iconOptional{
	display: inline-block;
	margin-left: 12px;
	background-color: #ff6b6b;
	color: #fff;
	border-radius: 2px;
	padding: 2px 7px;
	font-size: 13px;
	font-weight: bold;
}
.formWrap .tableNml .iconOptional{
	background-color: #c8c8c8;
}
.formWrap .tableNml .subTtl,
.formWrap .tableNml .subTtl2,
.formWrap .tableNml .unit,
.formWrap .tableNml .btnPostal,
.formWrap .tableNml .formWrap,
.formWrap .tableNml .icon{
	display: inline-block;
	vertical-align: middle;
}
.formWrap .tableNml .subTtl{
	font-weight: bold;
	margin-right: 1em;
}
.formWrap .tableNml .subTtl2{
	text-align: right;
	margin-right: 0.5em;
}
.formWrap .tableNml .formWrap .questionnaire_select .iconRequired,
.formWrap .tableNml .formWrap .questionnaire_select .iconOptional{
	margin-left: 0px;
	margin-right: 18px;
}
.formWrap .tableNml .formWrap + .formWrap{
	margin-left: 30px;
}
.formWrap .tableNml .w1em{width:1.2em;}
.formWrap .tableNml .w2em{width:2.1em;}
.formWrap .tableNml .w4em{width:4.2em;}
.formWrap .tableNml .w5em{width:5.2em;}
.formWrap .tableNml .w6em{width:6.2em;}
.formWrap .inputM{width: 250px;}
.radioBox + input[type="text"]{
	margin-left: 10px;
}

@media screen and (max-width: 767px) {
	.formWrap .tableNml{
		border: none;
	}
	.formWrap .tableNml .ttl{
		border-top: 1px solid #dcdcdc;
		border-bottom: 1px solid #dcdcdc;
		text-align: left;
	}
	.formWrap .tableNml .cont{
		border-bottom: none;
	}
}
/*
errTtxt
-------------------------------------*/
.errTtxt p{
	color: #eb3c3c;
	font-weight: bold;
}

.inputNml.noFill:focus,
.slctNml.noFill:focus,
.textareaNml.noFill:focus{
    outline:#7dcdf4 solid 2px;
}

.inputNml.noFill.inputErr,
.inputNml.noFill.inputErr:focus,
.slctNml.noFill.inputErr,
.slctNml.noFill.inputErr:focus,
.textareaNml.noFill.inputErr,
.textareaNml.noFill.inputErr:focus{
    background-color:#ffeeee;
    outline:#eb3c3c solid 2px;
}
.slctNml{
	color:#1e1e1e;
}

/*
name,yomi
-------------------------------------*/
.name .inputNml,
.yomi .inputNml{
	width: 210px;
}
.name.monitor .inputNml,
.yomi.monitor .inputNml{
	width: 170px;
}
/*
tel
-------------------------------------*/
.tel .inputNml{
	width: 95px;
}
.tel .unit{
	margin: 0 0.5em;
}
/*
email
-------------------------------------*/
.email .inputNml{
	width: 300px;
}
/*
postal
-------------------------------------*/
.postal .inputNml{
	width: 120px;
}
.formWrap .tableNml .btnPostal{
	margin-left: 30px;
	border: 1px solid #dcdcdc;
	border-radius: 2px;
	text-align: center;
}
.formWrap .tableNml .btnPostal:hover{
	opacity: 0.7;
}
/*
.formWrap .tableNml .btnPostal:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
	background-image: url(/common_2019/img/arrow/arrow_blue_r.svg);
	background-repeat: no-repeat;
	background-size: auto 16px;
	margin: -2px 0 0 0;
}
*/
@media print, screen and (min-width: 768px) {
	.formWrap .tableNml .btnPostal{
		padding: 4px 2% 5px;
		display: inline-block;
	}
}
@media screen and (max-width: 767px) {
	.formWrap .tableNml .btnPostal{
		width: calc(96% - 143px);
		padding: 10px 2%;
		border-radius: 5px;
	}
	/*
	.formWrap .tableNml .btnPostal:before {
    width: 14px;
		margin-top: 0;
		margin-right: 5px;
	}
	*/
	.formWrap .postal .cont{
		padding-bottom: 10px;
	}
}
/*
address
-------------------------------------*/
.address .inputNml,.address .slctNml{
	width: 260px;
}
.formWrap .address .subTtl2{
	text-align: left;
}
@media screen and (max-width: 767px) {
	.formWrap .address .cont{
		padding-top: 0;
		padding-bottom: 10px;
	}
	.formWrap .address #city {
		margin-bottom: calc(3% - 10px);
	}
}
/*
year, subject
-------------------------------------*/
.year .formWrap,
.subject .formWrap{
	padding-left: 2.5em;
}
.questionnaire .formWrap{
	padding-left: 1.5em;
	width: 75%;
}
.year .slctNml{
	width: 260px;
}

/*
question
-------------------------------------*/
.question .textareaNml{
	width: 593px;
}

/*
questionnaire
-------------------------------------*/
.questionnaire.monitor .formWrap ul{
	margin-left: -30px;
}

.questionnaire.monitor .formWrap ul li:not(:last-child){
	margin-bottom: 10px;
}
.questionnaire.monitor .slctNml{
	width: 320px;
}
.questionnaire.monitor .inputNml{
	width: 380px;
}
.questionnaire.monitor .formWrap .questionnaire_select{
	display: inline-block;
	margin-left: 9px;
}
.questionnaire.monitor .formWrap .questionnaire_other{
	margin-left: 100px;
}
.questionnaire.monitor .formWrap .questionnaire_other .questionnaire_text{
	margin-left: 2px;
}

.formWrap .tableNml tr.trShow{
	display: table-row !important;
}
@media screen and (max-width: 767px) {
  .formWrap .tableNml tr.trShow{
		display: block !important;
  }
	.formWrap .tableNml .ttl{
		width: 100%;
		overflow: hidden;
	}
	.formWrap .tableNml .iconRequired,
	.formWrap .tableNml .iconOptional{}
	.formWrap .tableNml .subTtl{
		display: inline;
		margin: 0 0 10px 0;
	}
	.formWrap .tableNml .subTtl2{
		text-align: left;
	}
	.formWrap .tableNml .formWrap{
		display: block;
	}
	.formWrap .tableNml .formWrap .icon{
		margin-left: -12px;
	}
	.formWrap .tableNml .formWrap + .formWrap{
		margin:10px 0 0 0;
	}
	.formWrap .inputM{width: 100%;}
	.radioBox + input[type="text"]{
		width: 96%;
		margin: 10px 0 0 4%;
	}


	/*
	name,yomi
	-------------------------------------*/
.inputNml::-webkit-input-placeholder {
	color: #ccc;
}
.inputNml:-ms-input-placeholder {
	color: #ccc;
}
.inputNml::-ms-input-placeholder {
	color: #ccc;
}
.inputNml::placeholder {
	color: #ccc;
}

	/*
	name,yomi
	-------------------------------------*/
	.formWrap .tableNml .name .subTtl,
	.formWrap .tableNml .yomi .subTtl,
	.formWrap .tableNml .year .subTtl,
	.formWrap .tableNml .subject .subTtl,
	.formWrap .tableNml .questionnaire .subTtl{
		width: 100%;
	}
	.name .inputNml,
	.yomi .inputNml{
		width:calc(100% - 2.5em);
	}
	.nameOne .inputNml,
	.yomiOne .inputNml{
		width:100%;
	}
	/*
	roomname
	-------------------------------------*/
	.roomname .inputNml{
		width:calc(100% - 2.5em);
	}
	.formWrap .tableNml .roomname .subTtl2{
		margin-right: 0;
	}
	/*
	roomteacher
	-------------------------------------*/
	.roomteacher .inputNml{
		width:calc(100% - 2.5em);
	}
	.formWrap .tableNml .roomteacher .subTtl2{
		margin-right: 0;
	}
	/*
	tel
	-------------------------------------*/
	.tel .inputNml{
		width: 28%;
	}
	.tel .unit{
		margin: 0;
		width: 8%;
		text-align: center;
	}
	/*
	email
	-------------------------------------*/
	.email .inputNml{
		width: 100%;
	}
	/*
	postal
	-------------------------------------*/
	.tableNml .postal .formWrap{
		display: inline-block;
	}
	.postal .inputNml{
		width: 115px;
	}
	.formWrap .tableNml .btnPostal{
		margin-left: 4%;
	}
	/*
	address
	-------------------------------------*/
	.address .inputNml,.address .slctNml{
		width: calc(100% - 4.5em);
	}
	/*
	year, subject
	-------------------------------------*/
	.year .formWrap,
	.subject .formWrap{
		padding-left:0;
	}
	.year .slctNml{
		width: 100%;
	}
	/*
	question
	-------------------------------------*/
	.formWrap .tableNml .question .subTtl{
		width: 100%;
	}
	.question .inputNml{
		width: 100%;
	}
	.question .textareaNml{
		width: 100%;
	}
	/*
	mailMagazine
	-------------------------------------*/
	.mailMagazine .check + .checkBox:after{
		top: 4px;
		margin-top: 0;
	}
	/*
	questionnaire
	-------------------------------------*/
	.questionnaire .formWrap{
		padding-left:0;
		width: auto;
	}
	.questionnaire .inputNml{
		width: 80%;
	}
	.questionnaire .questionnaire_text{
		padding-left: 38px;
	}
	.questionnaire.monitor .formWrap{
		padding-left:0;
		width: auto;
	}
	.questionnaire.monitor .formWrap ul{
		margin-left: 0px;
	}
	.questionnaire.monitor .slctNml{
		width: 100%;
		font-size:15px;
		margin-top: 10px;
	}
	.questionnaire.monitor .inputNml{
		width: 100%;
	}
	.questionnaire.monitor .formWrap .questionnaire_select{
		display: inline;
	}
	.questionnaire.monitor .formWrap .questionnaire_other{
		margin-left: 0px;
	}
	.questionnaire.monitor .questionnaire_text{
		padding-left: 0px;
	}
}
@media screen and (max-width: 380px) {
	.tel .inputNml{
		padding: 10px 4%;
	}
}
@media screen and (max-width: 320px) {
	.tel .inputNml{
		padding: 10px 2%;
	}
	.questionnaire.monitor .slctNml{
		font-size:14px;
	}
}
/* ==========================================================================
  radio, check
========================================================================== */
@media screen and (max-width: 767px) {
	.spClm1 li{
		display: block;
		width: 100%;
		margin-bottom: 10px;
	}
	.spClm1 li:last-child{
		margin-bottom: 0;
	}
	.spClm3:after{
		content: "";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}
	.spClm3 li{
		width: 32%;
		margin-right: 2%;
		float: left;
	}
	.spClm3 li:last-child{
		margin-right: 0;
	}
}


/* ==========================================================================
  submitWrap
========================================================================== */
.submitWrap{
	text-align: center;
	margin: 40px auto 0;
	width: 500px;
	overflow: hidden;
}
.submitWrap input.btnSubmit,
.submitWrap input[type="submit"]{display: none;}
.submitWrap .btnOval{
	width: 240px;
	padding: 9px 10px;
	float: right;
}
.submitWrap .btnOval + .btnOval{
	float: left;
}
.submitWrap.btnOne .btnOval{
	float: none;
	width: 300px;
}
.submitWrap .btnBack{
	background-color: #c8c8c8;
}
.submitWrap .btnBack:after{
	background-image: url(/common_2019/img/arrow/arrow_wh_l.svg);
	left: 15px;
}
.submitWrap .btnOval.bgOrng:hover{
	cursor:pointer;
}
@media screen and (max-width: 767px) {
	.submitWrap{
		margin: 30px auto 0;
		width: 84%;
	}
	.submitWrap input[type="submit"]{display: none;}
	.submitWrap .btnOval{
		width: 100%;
	}
	.submitWrap .btnOval + .btnOval{
		margin: 15px 0 0 0;
	}
}


/* ==========================================================================
  annotationWrap
========================================================================== */
.annotationWrap{
	margin-top: 40px;
}
.annotationWrap .annotation{
	font-size: 12px;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.annotationWrap{
		width: 92%;
		margin-right: auto;
		margin-left: auto;
	}
}

/* ==========================================================================
  provacyWrap
========================================================================== */
.privacyWrap{
	margin-top: 40px;
	font-size: 12px;
	line-height: 1.5;
}
.privacyWrap .ttlBox{
	font-size: 16px;
}
.privacyWrap .link{
	margin: 10px 0;
	text-align: right;
}
.privacyWrap .link a{
	display: inline-block;
	position: relative;
	padding-left: 14px;
	text-indent: -14px;
	line-height: 1.3;
	text-decoration: underline;
}
.privacyWrap .link a:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 6px;
	height: 12px;
	background-image: url(/common_2019/img/arrow/arrow_blue_r.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin: 2px 5px 0 0;
}
.privacyWrap .link a:hover{
	text-decoration: none;
}
@media screen and (max-width: 767px) {
	.privacyWrap{
		width: 92%;
		margin: 30px auto 0;
	}
}

/* ==========================================================================
  complete
========================================================================== */
.compWrap .ttlBluCopy{
	font-size: 22px;
}
.compWrap .btnWrap{
	margin: 40px auto 0;
	text-align: center;
}
.compWrap .btnWrap .btnOval{
	width: 275px;
	padding: 9px 25px 9px 25px;
}
@media screen and (max-width: 767px) {
	.compWrap .ttlBluCopy{
		font-size: 20px;
	}
	.compWrap .btnWrap{
		width: 84%;
		margin: 30px auto 0;
	}
	.compWrap .btnWrap .btnOval{
		width: 100%;
	}
}

/* ==========================================================================
  bnrWrap
========================================================================== */
.bnrWrap{
	padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
	.bnrWrap{
		width: 92%;
		margin-right: auto;
		margin-left: auto;
		padding-bottom: 50px;
	}
}

/* ==========================================================================
   custom
========================================================================== */
.ttlBgBlue{
	margin-bottom: 10px;
}
.boxBgRed{
	line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
	.boxBgRed{
		font-size: 15px;
	}
	.tableNml .cont.borderTN{
		border-top: none;
		padding-top: 5px;
	}
	.tableNml .cont.borderBN{
		border-bottom: none;
		padding-bottom: 5px;
	}
}
@media screen and (max-width: 767px) {
	.boxBgRed{
		width: 92%;
		margin-right: auto;
		margin-left: auto;
		font-size: 12px;
	}
}
