@charset "utf-8";

.inliner { display: inline-block; }
.form { border-top: 3px #d4d4d4 solid; border-bottom: 3px #d4d4d4 solid; padding-inline: 10px; font-size: 1.8rem; line-height: 1.8; margin-top: 10px; padding-bottom: 90px; }
.form_alert{ margin:50px 0 0 0; font-size:120%; font-weight:bold; color:red; }
.formWrap { display: flex; flex-wrap: wrap; gap: 15px 30px; padding: 25px 0; }
.formWrap + .formWrap { border-top: 1px solid #d4d4d4; }
.formLabel { width: 210px; line-height: 1.31; font-size: 1.8rem; font-weight: 700; }
.formLabel .note { font-size: 1.4rem; line-height: 1.31; font-weight: 500; }
.formInput { flex: 1; line-height: 1.31; font-size: 1.8rem; display: flex; flex-wrap: wrap; gap: 10px; }
.input_alert{ flex: 1 1 600px; font-size:90%; font-weight:bold; color:red; }
.inputTel { display: flex; flex-wrap: wrap; gap: 10px ; }

.radio,
select { cursor: pointer; }
input[type="text"],
input[type="tel"],
input[type="email"],
select { font-size: 1.6rem; padding: 10px; border-radius: 5px; border: 2px solid #d4d4d4; }
.formCheckbox { display: flex; flex-wrap: wrap; gap: 10px 30px; }
.formCheckboxItem label { cursor: pointer; }
input[type="text"].otherTxt { margin-inline: 5px; padding: 3px 5px; }
.formTypeItem { width: 100%; }
.formTypeItem div,
.formTypeItem iframe{ width: 100%; }
.formTypeItem div img.iconsize{ width:42px; height:auto; margin-right:10px; }
.formTypeItem + .formTypeItem { margin-top: 25px; }
.formTypeItem .label { position: relative; font-weight: 700; margin-bottom: 5px; padding-left: 1em; }
.formTypeItem .label::before { position: absolute; content: ""; inset: 0.35em auto 0 0; width: 0.65em; aspect-ratio: 1/1; min-width: 0; border-radius: 100%; background: #000; }
.formTypeItem .infomsg { position: relative; font-weight: 700; margin-top: 12px; padding-left: 1em; }
.formTypeItem .infomsg::before { position: absolute; content: "※"; inset: 0 auto 0 0; width: 0.65em; aspect-ratio: 1/1; }
textarea { width: 100%; resize: none; line-height: 1.71; }

.formCheck { max-width: 720px; margin: 60px auto 0; }
.formCheckLabel { font-weight: 700; text-align: center; font-size: 2rem; }
.formCheckTxt { text-align: center; line-height: 1.5; }
.must { display: block; font-size: 1.4rem; }
.formExp { margin-top: 15px; background: #fffaeb; padding: 30px; }
.formExpList { max-height: 300px; overflow-y: scroll; background: #fff; padding: 15px; }
.formExpList .title { font-size: 2rem; line-height: 1.5; font-weight: 700; }
.formExpList .label { font-size: 1.6rem; line-height: 1.5; font-weight: 700; }
.formExpList * + .label { margin-top: 10px; }
.formExpList .ex + .ex { margin-top: 20px; }
.formExpList .txt { font-size: 1.4rem; line-height: 1.5; }
.formExpList .list + .txt { margin-top: 10px; }
.formExpList .list { font-size: 1.4rem; line-height: 1.5; }
.formExpList * + .list { margin-top: 10px; }
.formExpWrap + .formExpWrap { margin-top: 30px; }
.formExpLink { background: #fff; padding: 15px; }
a.formExpLinkItem[target="_blank"] { position: relative; padding-right: 1.5em; }
a.formExpLinkItem[target="_blank"]::before { position: absolute; content: ""; inset: calc(4px + .25em) -3px 0 auto; width: .8em; aspect-ratio: 12/9; min-width: 0; border-right: 1px solid #000; border-bottom: 1px solid #000; }
a.formExpLinkItem[target="_blank"]::after { position: absolute; content: ""; inset: calc(.25em) 0 0 auto; width: .8em; aspect-ratio: 12/9; min-width: 0; border: 1px solid #000; }

.consentCheckboxWrap { text-align: center; }
.consentCheckboxTxt { cursor: pointer; line-height: 1.31; }
.check_alert{ font-size:90%; font-weight:bold; color:red; }

.endmsg_title{ display: block; max-width:600px; margin:50px auto 25px; font-size: 2.1rem; line-height: 1.5; font-weight: 700; }
.endmsg_title span{  font-size: 1.6rem; }
.endmsg_text{ display: block; max-width:600px; margin:25px auto 50px; font-size: 1.8rem; line-height: 1.5; font-weight: 700; }

.formSend { margin: 60px auto 0; }
.formSendBtn { text-align: center; }
.formSend button { margin-inline: auto; font-size: 2.4rem; font-weight: 700; background: #ff8e00; color: #fff; border-radius: 10px; padding: 15px 0; border: 0; width: 270px; cursor: pointer; line-height: 1; }

.inputTitle,
.inputMail,
.inputSchool { width: 300px; }

@media (max-width: 767px) {
	.form { font-size: 1.6rem; }
	.formLabel { width: 100%; font-size: 1.6rem; }
	.formLabel .note { font-size: 1.3rem; }
	.formInput { flex: 0 1 auto; width: 100%; font-size: 1.6rem; }
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="text"],
	select { font-size: 1.4rem; }
	.formCheckLabel { font-size: 1.8rem; }
	.formCheckTxt { text-align: left; }
	.formExp { padding: 15px; }
	.formExpList { max-height: 200px; }
	.formExpWrap + .formExpWrap { margin-top: 15px; }
	.formExpLink { padding: 10px; }
}
@media (max-width: 450px) {
	input[type="text"],
	input[type="tel"],
	input[type="email"] { width: 100%; }
	input[type="text"].otherTxt { width: auto; }
}


@media (hover: hover) {
	.formSend button:hover { opacity: 0.5; }
}