input,
select,
textarea {
	font: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
}

/* PAGE form module */

.form__item {
	margin-bottom: 12px;
}

.form__item fieldset {
	display: contents;
}

.form__label {
	background: #f9f9f9;
	padding: 0 5.35vw;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 48px;
}

.form__label__text {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	display: block;
	white-space: nowrap;
}

.form__must {
	color: #FFF;
	background: #51a1aa;
	font-size: 1.0rem;
	padding: 4px 6px;
	display: inline-block;
	margin-left: 5px;
}

.form__content {
	padding: 20px 5.35vw;
}

.form__content--flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.form__item--confirm .form__content {
	line-height: 2;
	padding: 18px 5.35vw 15px;
}

.form__item--confirm .form__content p:not(:last-child) {
	margin-bottom: 2em;
}

.form__name {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	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: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 190px;
}

.form__graduate__unit {
	margin-left: 0.5em;
}

.form__birth {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.form__birth__unit {
	padding: 0 0.7em;
}

.form__birth__unit:last-child {
	padding-right: 0;
}

.form__course__item:not(:last-child) {
	margin-bottom: 22px;
}

.form__course__detail {
	margin-top: 14px;
	padding-left: 24px;
}

.form__course__detail__subttl { margin-top: 6px; padding-bottom: 2px; }
.form__course__detail__subttl:not(:first-child) { margin-top: 12px; }
.form__course__detail__subttl::before { content: "["; }
.form__course__detail__subttl::after { content: "]"; }
.form__course__detail__item {
	margin-top: 6px;
}

.form__agree {
	border-top: 1px solid #e5e5e5;
	padding: 26px 0;
	text-align: center;
}

.form__agree a {
	text-decoration: underline;
	color: #51a1aa;
}

.form__annouce {
	text-align: center;
	color: #ff3333;
	padding-bottom: 5px;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	transition: 0.4s;
}

.form__annouce + .button {
	margin-top: 0;
}

.form__annouce.is-hide {
	opacity: 0;
}

.form__buttons {
	border-top: 1px solid #e5e5e5;
	padding-top: 26px;
	margin-top: 30px;
}

.form__buttons .button--return {
	margin-top: 20px;
}

.input {
	border: 2px solid #dbdbdb;
	background: #FFFFFF;
	width: 100%;
	-webkit-box-shadow: none;
	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::-webkit-input-placeholder {
	color: #808080;
}

.input:-ms-input-placeholder {
	color: #808080;
}

.input::-moz-placeholder {
	color: #808080;
}

.input::-ms-input-placeholder {
	color: #808080;
}

.input::placeholder {
	color: #808080;
}

.input--textarea {
	width: 100%;
	height: 300px;
	resize: none;
	padding-top: 6px;
	line-height: 1.75;
}

.input.is-error {
	background: #ffcccc;
	border-color: #ff8d8d;
}

.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: #51a1aa;
	margin: 6px 0 0 6px;
	opacity: 0;
}

.checkbox {
	position: relative;
	padding-left: 22px;
}

.checkbox__input {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
}

.checkbox__input:checked + .checkbox__text:after {
	opacity: 1;
}

.checkbox__text {
	display: inline-block;
	padding: 4px 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: 14px;
	height: 14px;
	border: 2px solid #c1c1c1;
}

.checkbox__text:after {
	width: 8px;
	height: 14px;
	border-right: 3px solid #51a1aa;
	border-bottom: 3px solid #51a1aa;
	margin: -3px 0 0 6px;
	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.is-error {
	background-color: #ffcccc;
	border-color: #ff8d8d;
}

.select--address {
	width: 115px;
}

.select--4digits {
	width: 115px;
}

.select--2digits {
	width: 61px;
}

@media screen and (min-width: 681px) {

.form { /* md */
}

.form__item { /* md */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 0;
	border-bottom: 1px solid #e5e5e5;
}

.form__item:first-child {
	border-top: 1px solid #e5e5e5;
}

.form__label { /* md */
	padding: 40px 20px;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	height: auto;
	width: 31%;
}

.form__item--confirm .form__label { /* md */
	padding: 30px 0 30px 30px;
	width: 170px;
}

.form__must { /* md */
	margin-left: 10px;
}

.form__content { /* md */
	padding: 30px 0 30px 20px;
	max-width: 564px;
	width: 69%;
}

.form__content--lg { /* md */
	max-width: 100%;
}

.form__item--confirm .form__content { /* md */
	width: calc(100% - 170px);
	padding: 22px 30px 22px;
}

.form__address { /* md */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.form__address__label { /* md */
	width: 148px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-bottom: 0;
}

.form__agree { /* md */
	padding: 56px 0 30px;
}

.form__agree a { /* md */
}

.form__agree a:hover {
	text-decoration: none;
}

.form__buttons { /* md */
	border-top: none;
	padding-top: 56px;
	display: -webkit-box;
	display: -ms-flexbox;
	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 { /* md */
	width: 300px;
	margin-left: 0;
	margin-right: 0;
}

.form__buttons .button--return { /* md */
	margin-top: 0;
	margin-right: 40px;
}

.input--textarea { /* md */
	height: 250px;
}

.input#zip { /* md */
	width: 220px;
}

.input#tel { /* md */
	width: 235px;
}

.input#school { /* md */
	width: 235px;
}

.radio { /* md */
	padding-top: 7px;
	padding-bottom: 7px;
}

.radio__text:before,
.radio__text:after { /* md */
	top: 7px;
}

.select--address { /* md */
	width: 145px;
}

.select--4digits { /* md */
	width: 145px;
}

.select--2digits { /* md */
	width: 75px;
}

.select#state { /* md */
	width: 235px;
}

}

@media screen and (min-width: 1100px) {

.form__label { /* lg */
	padding-left: 30px;
}

.form__content { /* lg */
	padding: 30px 30px;
}

.form__name__label { /* lg */
	width: 3.5em;
}

.form__graduate { /* lg */
	width: 166px;
}

.form__birth__unit { /* lg */
	padding: 0 2.3em 0 1em;
}

}

