@charset "UTF-8";

.container--ct { padding-top: 60px; padding-bottom: 80px; border-bottom: 1px solid #fff; }
.contact__inner { width: calc(100% - 60px); margin-left: auto; margin-right: auto; padding-top: 38px; }
@media print, screen and (max-width:680px) {
	.fixed-button__btn:first-of-type { opacity: 0; pointer-events: none; }
}

@media print, screen and (min-width:681px) {
	.header__cont { display: none; }
	.contact__inner { width: 970px; padding-top: 96px; }
}
/**********************
*　Main Visual
***********************/
.mvct { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 150px; border-top: 1px solid #fff; border-bottom: 1px solid #fff; text-align: center; color: #fff; }
.mvct__ttl { font-size: 2.2rem; font-weight: 700; line-height: 1; }
.mvct__txt { font-size: 1.8rem; font-weight: 400; line-height: 1; }
@media print, screen and (max-width:680px) {
	.mvct__ttl { margin-bottom: 13px; }
}
@media print, screen and (min-width:681px) {
	.mvct { flex-direction: row; height: 220px; }
	.mvct__ttl,
	.mvct:before,
	.mvct__txt { font-size: 3.8rem; }
	.mvct__ttl { order: 1; }
	.mvct:before { order: 2; content: "／"; }
	.mvct__txt { order: 3; }
}


.csc { font-family: YakuHanMP_Noto, "Noto Serif JP", serif; color: #fff; }
.csc__tel { display: flex; align-items: center; font-size: 3.0rem; font-weight: 400; line-height: 1; color: #fff; }
.csc__tel:before { content: "p"; font-family: 'bje' !important; font-size: 3.0rem; margin-right: 3px; margin-bottom: -7px; color: #ccc; }
.csc__info__txt { font-size: 1.4rem; font-weight: 400; line-height: 1; }
.csc__info__txt--jp { margin-bottom: 30px; }
.csc__info__txt--en { text-align: left; }
.csc__info__txt--en strong,
.csc__info__txt--en span { display: block; }
.csc__info__txt--en strong { margin-bottom: 10px; font-weight: 400; }
.csc__info__txt--en span { font-size: 1.2rem; }

.contact__ntc { margin-top: 24px; margin-bottom: 42px; color: #fff; }
.contact__ntc__txt { font-size: 1.3rem; font-weight: 400; line-height: 2; letter-spacing: 0.05em; }
.contact__ntc__txt--jp { margin-bottom: 15px; }
@media print, screen and (max-width:680px) {
	.csc { background: #242424; padding: 18px 30px 20px; }
	.csc__tel { justify-content: center; margin-bottom: 30px; }
}
@media print, screen and (min-width:681px) {
	.csc { display: flex; justify-content: center; align-items: center; height: 150px; border: 2px solid #fff; }
	.csc__tel,
	.csc__tel:before { font-size: 4.2rem; }
	.csc__info { border-left: 1px solid #fff; margin-left: 70px; padding-left: 30px; }
	.csc__info__txt { font-size: 1.6rem; }
	.csc__info__txt--jp { margin-bottom: 18px; }
	.csc__info__txt--en span { font-size: 1.4rem; }
	
	.contact__ntc { margin-top: 55px; margin-bottom: 74px; text-align: center; }
	.contact__ntc__txt { font-size: 1.6rem; letter-spacing: 0.03em; }
	.contact__ntc__txt--jp { margin-bottom: 22px; }
	.contact__ntc__txt--en { font-size: 1.4rem; line-height: 1.7857; }
}






.sec--contact { }
.current-wrap { position: relative; padding-top: 20px; padding-bottom: 18px; }
.current-wrap:before { position: absolute; top: 53px; left: 50%; transform: translateX(-50%); width: 190px; height: 1px; background: #fff; content: ""; z-index: 0; }
.current { position: relative; display: flex; justify-content: space-between; align-items: flex-start; width: 282px; margin-left: auto; margin-right: auto; color: #fff; z-index: 10; }
.current__item { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 89px; font-family: YakuHanMP_Noto, "Noto Serif JP", serif; font-weight: 400; text-align: center; }
.current__item__jp { font-size: 1.3rem; line-height: 1; }
.current__item__en { font-size: 1.1rem; line-height: 1.4545; letter-spacing: -0.02em; }
.current__item__circle { display: flex; justify-content: center; align-items: center; width: 18px; height: 40px; }
.current__item__circle:before { width: 10px; height: 10px; background: #fff; border-radius: 50%; content: ""; }

.current__item--active span { color: #fd377b; }
.current__item--active .current__item__circle:before { width: 18px; height: 18px; background: #fd377b; }
@media print, screen and (max-width:680px) {
	.current-wrap { background: #242424; margin-left: -30px; margin-right: -30px; }
	.current__item:not(:first-of-type) .current__item__en { padding-top: 8px; }
}
@media print, screen and (min-width:681px) {
	.current-wrap:before { top: 57px; left: 50%; transform: translateX(-50%); width: 265px; }
	.current { width: 398px; }
	.current__item { width: 130px; }
	
	.current__item__jp { font-size: 1.5rem; }
	.current__item__en { font-size: 1.2rem; line-height: 1; }
	.current__item__circle { width: 20px; height: 44px; }
	.current__item__circle:before { width: 14px; height: 14px; }
	.current__item--active .current__item__circle:before { width: 20px; height: 20px; }
}


.contact-wrap { padding-top: 35px; }
.exptxt { margin-bottom: 26px; font-size: 1.3rem; font-weight: 400; color: #fff; }
.exptxt:before { margin-right: 4px; color: #fd377b; content: "\02749"; }
@media print, screen and (min-width:681px) {
	.sec--contact { padding-bottom: 85px; }
}





.common-ttl--form { margin-bottom: 45px; }
.form__txt { margin-bottom: 35px; font-size: 1.4rem; font-weight: 400; line-height: 1.857; }
.form__hq { margin-bottom: 70px; border-left: 1px solid #ccc; padding-left: 20px; text-align: left; }
.form__hq__name,
.form__hq__num { display: block; }
.form__hq__name { margin-bottom: 8px; font-size: 1.5rem; font-weight: 500; line-height: 1; }
.form__hq__num { font-size: 1.4rem; font-weight: 400; line-height: 1; color: #666; }

@media screen and (min-width: 681px) {
	.common-ttl--form { margin-bottom: 54px; }
	.form__txt { margin-bottom: 57px; }
	.form__hq { margin-bottom: 60px; }
}


input:placeholder,
textarea:placeholder { font-size: 1.2rem; font-weight: 500; color: #808080; }
input:-ms-input-placeholder { font-size: 1.2rem; font-weight: 500; color: #808080; }
input,
select,
textarea { font: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; }
textarea.input { min-height: 208px; padding: 10px; }
select { color: #000; }

.button[disabled] { background: #CCC; pointer-events: none; }
/* PAGE form module */


.form__label { font-size: 1.3rem; font-weight: 400; line-height: 1; }
.form__label__text { white-space: nowrap; flex-shrink: 0; color: #fff; }
.form__label__text.must:after { margin-left: 4px; color: #fd377b; content: "\02749"; }
.form__must { display: flex; justify-content: center; align-items: center; width: 40px; height: 20px; background: #D52B46; font-size: 1.2rem; font-weight: 400; line-height: 1; color: #fff; }
.form__content { margin-top: 10px; font-size: 1.3rem; font-weight: 500; }

.form__content--flex { display: flex; }
.form__item { margin-bottom: 30px; }
.form__item--confirm .form__content { line-height: 2; padding: 18px 5.35vw 15px; }
/*.form__name { display: flex; align-items: center; width: 47%; }*/
.form__name:not(:last-child) { margin-right: 6%; }
.form__name__label { width: 3em; }
.form__address { display: block; }
.form__address:not(:last-child) { margin-bottom: 20px; }
.form__address__label { display: block; margin-bottom: 14px; }
.form__confirm-mail { display: block; margin-top: 20px; }
.form__confirm-mail__label { display: block; margin-bottom: 10px; }
.form__graduate { display: flex; align-items: center; width: 190px; }
.form__graduate__unit { margin-left: 0.5em; }
.form__course__item:not(:last-child) { margin-bottom: 22px; }
.form__course__detail { margin-top: 14px; padding-left: 24px; }
.form__course__detail__item { margin-top: 6px; }

.form__annouce { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 25px; font-size: 1.3rem; font-weight: 400; line-height: 1.384; text-align: left; color: #fff; padding-bottom: 5px; -webkit-transition: 0.4s; -o-transition: 0.4s; transition: 0.4s; }
.form__annouce:before { width: 35px; height: 31px; background: url("../img/icon_caution.svg") no-repeat center/contain; margin-right: 10px; content: ""; }

.form__annouce + .button { margin-top: 0; }
.form__annouce.is-hide { opacity: 0; height: 0; margin-top: 0; margin-bottom: 0; }
.form__buttons { border-top: 1px solid #ccc; padding-top: 26px; margin-top: 30px; }
.form__buttons .button--submit { margin-top: 25px; }
/*.input { width: 100%; background: #e5e8ea;  -webkit-box-shadow: none;  padding: 0 10px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 40px; font-size: 1.4rem; border-radius: 0; }*/

.input { width: 100%; background: #ccc; border: none; border-radius: 3px; box-shadow: none; padding: 0 10px; box-sizing: border-box; height: 45px; font-family: YakuHanMP_Noto, "Noto Serif JP", serif; font-size: 1.3rem; font-weight: 500; }

.input--textarea { width: 100%; height: 300px; resize: none; padding-top: 10px; }
.input.is-error { background: #fff4f0; border: 2px solid #f00; }
.radio { position: relative; padding-left: 30px; cursor: pointer; }
.radio:not(:last-child) { margin-right: 40px; }
.radio__input { opacity: 0; width: 0; height: 0; position: absolute; }
.radio__input:checked + .radio__text:after { opacity: 1; }
.radio__text { display: inline-block; padding: 3px 0; }
.radio__text:before,
.radio__text:after { content: ""; display: block; position: absolute; top: 0; left: 0; border-radius: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; }
.radio__text:before { width: 20px; height: 20px; border: 2px solid #c1c1c1; }
.radio__text:after { width: 8px; height: 8px; background: #D52B46; margin: 6px 0 0 6px; opacity: 0; }
.checkbox { position: relative; padding-left: 22px; cursor: pointer; }
.checkbox__input { opacity: 0; width: 0; height: 0; position: absolute; }
.checkbox__input:checked + .checkbox__text:after { opacity: 1; }
.checkbox__text { display: inline-block; padding: 10px 0; }
.checkbox__text:before,
.checkbox__text:after { content: ""; display: block; position: absolute; top: 3px; left: 0; -webkit-box-sizing: border-box; box-sizing: border-box; }
.checkbox__text:before { width: 16px; height: 16px; border: 2px solid #cccccc; }
.checkbox__text:after { width: 6px; height: 10px; border-right: 2px solid #FFFFFF; border-bottom: 2px solid #FFFFFF; margin: 1px 0 0 5px; opacity: 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.select { border: 2px solid #dbdbdb; width: 100%; -webkit-box-shadow: none; box-shadow: none; padding: 0 30px 0 14px; -webkit-box-sizing: border-box; box-sizing: border-box; height: 40px; background: url(../img/icon_selecttag.svg) no-repeat right 14px center, #FFFFFF; }
.select:-ms-expand { display: none; }
.select--gray { background-color: #f5f5f5; border: none; height: 50px; background-position: right 20px center; background-image: url(../img/icon_selecttag_black.svg); padding: 0 30px 0 20px; }
.select.is-error { background-color: #ffcccc; border-color: #ff8d8d; }

.form__notice { margin-top: 24px; margin-bottom: 35px; font-size: 1.2rem; font-weight: 400; line-height: 1.666; text-align: center; }

.btn--submit-wrap.lock { pointer-events: none; }
.btn--submit,
.btn--return { border: none; width: 100%; font-weight: 500; transition: 0.5s; }

.btn--submit { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 60px; background-color: transparent; border: 1px solid #fff; border-radius: 30px; font-size: 1.2rem; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; color: #fff; z-index: 10; cursor: pointer; }
.btn--submit strong { margin-bottom: 8px; font-size: 1.6rem; font-weight: 400; }
.btn--submit span { font-size: 1.2rem; }
.btn--modify { border-color: #999; color: #ccc; }
.btn--submit:after { position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-right: 1px solid #fff; border-top: 1px solid #fff; content: ""; }
.btn--modify:after { transform: translateY(-50%) rotate(225deg); right: auto; left: 20px; border-color: #999; }

.btn--return { background: #fff; border: 1px solid #000; margin-top: 20px; }
.btn--return span { position: relative; z-index: 10; }
.btn--return:after { left: 20px; right: auto; transform: translateY(-50%) rotate(225deg); }

.btn--submit:hover,
.btn--return:hover { background-color: #333; }
@media screen and (max-width: 680px) {
	.btn--return { margin-bottom: 22px; }
	.btn--modify { margin-top: 25px; }
}


.cate-wrap { position: relative; }
.cate-wrap:before { position: absolute; top: 50%; right: 20px; transform: translateY(-50%); width: 0; height: 0; border-style: solid; border-width: 5px 5px 0 5px; border-color: #000000 transparent transparent; content: ""; transition: 0.5s; }

.form__btn-wrap { margin-top: 35px; }
.form__txt--confirm { font-size: 1.8rem; font-weight: 500; line-height: 1.333; text-align: center; }
.form__subtxt--confirm { margin-top: -7px; padding-bottom: 44px; font-size: 1.5rem; line-height: 2; }
.form__agree { text-align: center; }
.form__agree a { text-decoration: underline; color: #D52B46; }
.checkbox { position: relative; padding-left: 32px; font-size: 1.4rem; }
.checkbox__input { opacity: 0; width: 0; height: 0; position: absolute; }
.checkbox__input:checked + .checkbox__text:after { opacity: 1; }
.checkbox__text { display: inline-block; padding: 0; }
.checkbox__text:before,
.checkbox__text:after { content: ""; display: block; position: absolute; top: 50%; left: 0; transform: translateY(-50%); box-sizing: border-box; }
.checkbox__text:before { width: 18px; height: 18px; border: 1px solid #000; }
.checkbox__text:after { width: 8px; height: 14px; border-right: 3px solid #D52B46; border-bottom: 3px solid #D52B46; margin: -3px 0 0 6px; opacity: 0; transform: translateY(-50%) rotate(45deg); }
.input-slc option:disabled { display: flex; }
.input-slc option:disabled:before { width: 100%; height: 1px; background: #c00; content: ""; }
.input-slc option { color: #c00; }
@media screen and (max-width: 374px) {
	.form__txt--confirm { font-size: 1.7rem; }
}
@media screen and (min-width: 681px) {
	.input { font-size: 1.5rem; }
	.form {  }
	.form__item { margin-bottom: 37px; }
	.form__label { font-size: 1.3rem; }
	.form__item--confirm .form__label { align-items: center; padding: 30px 0 30px 28px; width: 310px; }
	.form__must { margin-top: 2px; }
	.form__content { font-size: 1.6rem; }
	.form__content--lg { max-width: 100%; }
	.form__item--confirm .form__content { width: calc(100% - 210px); padding: 22px 30px 22px; }
	
	.nobg .form__label { background-color: transparent; border-right: none; }
	.form__notice { margin-top: 0; }
	.form__address { display: flex; align-items: center; }
	.form__address__label { width: 148px; flex-shrink: 0; margin-bottom: 0; }

	.form__buttons { border-top: none; padding-top: 50px; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
	.form__buttons .button { width: 300px; margin-left: 0; margin-right: 0; }
	.form__buttons .button--submit { margin-top: 0; margin-right: 40px; }
	.input--textarea { height: 250px; }
	.radio { padding-top: 7px; padding-bottom: 7px; }
	.radio__text:before,
	.radio__text:after { top: 7px; }
	
	textarea.input { min-height: 322px; }
	.form__btn-wrap { margin-top: 43px; }
	.form__txt--confirm { font-size: 2.0rem;line-height: 1; }
	.form__btn-wrap--confirm { display: flex; justify-content: center; flex-wrap: wrap; }
	.form__btn-wrap--confirm .form__notice { width: 100%; }
	.form__btn-wrap--confirm .btn { margin-left: 0; margin-right: 0; }
	.form__btn-wrap--confirm .btn--return-wrap { order: 1; margin-top: 0; margin-right: 80px; }
	.form__btn-wrap--confirm .btn--submit-wrap { order: 2; }
	.form__subtxt--confirm { margin-top: -25px; padding-bottom: 12px; text-align: center; }
	.form__agree a { }
	.form__agree a:hover { text-decoration: none; }
	
	.form__btn-wrap { margin-top: 0; }
	.btn--return-wrap,
	.btn--submit-wrap { display: flex; width: 360px; max-width: 360px; }
	.btn--return-wrap,
	.btn--submit { font-size: 1.3rem; }
	.btn--submit-wrap--single { margin-left: auto; margin-right: auto; }
	
	.form__annouce { margin-top: -15px; margin-bottom: 50px; }
}


.form__agree__txt { margin-bottom: 8px; font-size: 1.4rem; font-weight: 500; line-height: 1.714; letter-spacing: 0.05em; text-align: left; }
.form__agree__txt__ttl { display: block; font-weight: 700; letter-spacing: 0; }
.pripol { max-height: 240px; background: #fff; border: 1px solid #e5e8ea; border-radius: 3px; overflow: scroll; margin-bottom: 20px; padding: 15px; text-align: left; color: #a1a6a8; }
.pripol dl { font-size: 1.4rem; line-height: 2; letter-spacing: 0.05em; }
.pripol dl:not(:last-of-type) { margin-bottom: 10px; }
.pripol dt { font-weight: 700; }
.pripol dt:before { content: "\025a0"; }
.pripol dd { text-align: justify; }
.pripol__notice { margin-top: 5px; }
.pripol__notice li:before { content: "・"; }


@media screen and (min-width: 681px) {
	.form__agree { margin-top: -5px; }
	.form__agree__txt { margin-bottom: 15px; font-size: 1.6rem; }
}





/**********************
*　Confirm
***********************/
.inputted__item { position: relative; padding-top: 16px; padding-bottom: 16px; }
.inputted__item:nth-of-type(1) { padding-top: 0; }
.inputted__item__ttl { margin-bottom: 10px; font-size: 1.2rem; line-height: 1; color: #aaa; }
.inputted__item__cont { font-size: 1.4rem; font-weight: 400; line-height: 1; letter-spacing: 0.05em; color: #fff; }
@media screen and (max-width: 680px) {
	.inputted__item:not(:last-of-type):after { position: absolute; left: 0; bottom: 0; display: flex; width: 100%; height: 1px; background: url("../img/line_dot.svg") repeat-x 0 0/contain; content: ""; }
	.inputted__item__cont { line-height: 1.5; }
}
@media screen and (min-width: 681px) {
	.inputted { margin-bottom: 106px; }
	.inputted__item { display: flex; align-items: flex-start; border-bottom: 1px solid rgba(255,255,255,0.8); padding-top: 20px; padding-bottom: 21px; font-size: 1.6rem; line-height: 2.1875; }
	.inputted__item__ttl { width: 290px; font-size: 1.3rem; line-height: 2; }
	.inputted__item__cont { flex: 1; font-size: 1.3rem; line-height: 2; }
}

/**********************
*　Thanks
***********************/
.thanks__ttl,
.thanks__txt { font-weight: 400; text-align: center; color: #fff; }
.thanks__ttl { margin-bottom: 45px; font-size: 2.0rem; line-height: 1; }
.thanks__txt { margin-top: 13px; padding-bottom: 40px; font-size: 1.4rem; line-height: 2; }

@media screen and (min-width: 681px) {
	.thanks__ttl { margin-bottom: 55px; padding-top: 50px; font-size: 3.0rem; }
	.thanks__txt { margin-top: 18px; margin-bottom: 148px; padding-bottom: 0; font-size: 1.6rem; line-height: 1.75; }
}



