@charset "UTF-8";
/* CSS Document */

#contact-form td span {display: inline-block;}
#mailform {border-top: 1px solid #CCC; padding-top: 20px;}
#mailform dl {font-size: 14px}
#mailform dl dt {width: 280px; clear: both; font-weight: 700; margin-top: 12px; float: left; clear: left; padding-bottom: 10px; position: relative;}
#mailform dl dd {padding-left: 300px; text-align: left; border-bottom: 1px solid #CCC; padding-bottom: 20px; margin-bottom: 20px; width: 100%;}
#mailform dl dd.mf100 {width: calc(100% - 300px);}
#mailform dl dd.mf264,.mf264 {width: 264px;}
#mailform dl dd.mf344,.mf344 {width: 344px;}
#mailform dl dd.yubin {width: 40%; display: flex;}
#mailform dl dd.yubin span.txt {vertical-align: middle; margin-right: 5px; margin-top: 8px;}
#mailform dl dd.year {width: 50%; display: flex;}
#mailform dl dd.year span.txt {vertical-align: middle; margin-right: 5px; margin-top: 8px;}
#mailform dl dd.confirm {padding: 18px 10px;}
#mailform dl dd .txt {float: left;}
#mailform dl dd .mf90 {width: 90px;}
#mailform dl dd .mf90 span {display: inline-block;}
#mailform dl dd .mf50 {width: 50%;}
#mailform dl dd .mf50 span input[type="text"] {width: calc(100% - 90px);}
#mailform dl dd .mf132 {width: 132px;}
#mailform dl dd .txt {margin-top: 10px;}
@media screen and (max-width: 896px) {
	#mailform {border-top: 1px solid #CCC; padding-top: 10px;}
	#mailform dl dt {float: none; width: 100%; margin-bottom: 10px;}
	#mailform dl dd {float: none; margin: 0; padding-left: 0;}
	#mailform dl dd.mf100,#mailform dl dd.mf70,#mailform dl dd.yubin,#mailform dl dd.year,#mailform dl dd.mf264,#mailform dl dd.mf344,.mf264,.mf344 {width: calc(100% - 2px);}
	#mailform dl dd.mf40 {width: 100%; display: flex;}
}
@media screen and (max-width: 568px) {
	#mailform dl dd .mf50 {width: 100%; margin-bottom: 10px}
}
.submitBtn {width: 200px; margin: 0 auto; text-align: center;}
.submit {font-size: 18px; background: #671E2C; display: block; color: #FFF; font-weight: 700; padding: 12px 0; width: 100%;}
.form-radio span.wpcf7-list-item {margin-right: 10px;}
.form-radio {padding-top: 10px;}
#form-btn .wpcf7c-btn-confirm,#form-btn .wpcf7c-btn-back,#form-btn .wpcf7-submit {width: 200px; text-align: center; display: inline-block; margin: 0 10px; padding: 20px 0; border-radius: 5px;}
#form-btn .wpcf7c-btn-confirm {background: #201E43;}
#form-btn .wpcf7c-btn-back {background: #666;}
#form-btn .wpcf7-submit {background: #91121D;}
#form-btn input[type="button"],#form-btn input[type="submit"] {color: #FFF; font-size: 18px;}

.must {
	display: inline-block;
	height: 20px;
	background-color: #C00;
	border: solid 2px #C00;
	padding: 2px 5px;
	font-size: 12px;
  line-height: 12px;
	color: #FFF;
	float: right;
	margin: -3px 5px 0;
	border-radius: 4px;
}

/*
reset
***********************/

button,
option,
select,
textarea,
input[type="button"],
input[type="submit"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="text"],
input[type="select"],
input[type="option"],
input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
    border: none;
    outline: 0;
    margin: 0;
}

/* デフォルトのradio、checkboxは非表示 */

input[type=radio],
input[type=checkbox] {
    display: none;
}

/* for firefox */

select {
    text-indent: 0.01px;
    text-overflow: '';
}

/* for ie10 ie11 ie系のプルダウンの矢印を消す ie9は非対応 */

select::-ms-expand {
    display: none;
}

/*
input[type="text"] textarea
input[type="●●●"] 適宜追加
*/

textarea,
input[type="number"],
input[type="text"],
input[type="tel"],
input[type="password"],
input[type="email"]{
	width: 100%;
	padding: 10px 15px;
	font-size: 18px;
	border: 1px solid #999;
	background-color: #FFF;
  border-radius: 5px;
}

textarea {
    height: 100px; /* お好みの高さに */
}

/* フォーカス時の色変更 */

textarea:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="text"]:focus {
    border: 1px solid #222;
}

/* ラジオボタン */

.form-radio input[type=radio] {
    position: relative;
    display: inline-block;
    font-size: 18px;
    cursor: pointer;
    padding: 9px 10px 8px 28px;
    top: -2px;
}

.form-radio input[type=radio]::before,
.form-radio input[type=radio]::after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: -2px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.form-radio input[type=radio]::before {
    width: 22px;
    height: 22px;
    margin-top: -11px;
    background: #FFF;
    border: 1px solid #ccc;
}

.form-radio input[type=radio]::after {
    left: 4px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: #f4f4f4;
}

.form-radio input[type=radio]:checked::after {
    background: #333;
}

.wpcf7-list-item-label {padding-left: 10px; display: inline-block;}

/* チェックボックス */

.form-checkbox label {
    position: relative;
    display: inline-block;
    font-size: 12px;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 6px 5px 8px 30px;
}

.form-checkbox label::before,
.form-checkbox label::after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.form-checkbox label::before {
    width: 22px;
    height: 22px;
    margin-top: -12px;
    background: #FFF;
    border: 2px solid #ccc;
}

.form-checkbox input[type=checkbox]+label::after {
    width: 24px;
    height: 24px;
    top: 2px;
}

.form-checkbox input[type=checkbox]:checked+label::after {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/icon_check.png) 0 0 no-repeat;
    background-size: 24px 24px;
    left: -1px;
    top: -1px;
}

.form-select,.search-select,.search-select2 {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
}
.form-select {height: 43px; border: 1px solid #ccc;}
.search-select.search-select2 {height: 58px; border: 1px solid #666666;}
.form-select select,.search-select select,.search-select2 select {
	width: 100%;
	border: none;
	position: relative;
	background-repeat: no-repeat;
	background-size: 15px 10px;
	background-position: right 20px center;
}
.form-select select {font-size: 18px; height: 43px; padding: 0 0 0 10px; width: calc(100% - 10px)!important; -webkit-appearance: button; -moz-appearance: button; appearance: button; outline:none; text-overflow: '';}
.form-select::after {content: ''; width: 8px; height: 8px; border: 0px; border-bottom: solid 2px #222; border-right: solid 2px #222; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 50%; right: 15px; margin-top: -8px;}
span.wpcf7-list-item {margin: 0 10px 0 0!important;}
.wpcf7 .wpcf7-response-output {padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;}
.wpcf7 .wpcf7-validation-errors {color: #a94442; background-color: #f2dede; border-color: #ebccd1;}
.wpcf7 .wpcf7-mail-sent-ok {color: #31708f; background-color: #d9edf7; border-color: #bce8f1;}
.req{font-size:12px; font-weight: normal;}
span.wpcf7-not-valid-tip {font-size: 12px!important; margin-top: 5px;}

/* ie9対策 */

.form-select select:not(:target),.search-select select:not(:target) {
    width: 120% \9;
}

#formBtn {margin: 20px auto 0; width: 80%;}

#search button {
	width: 100%;
	height: 60px;
	display: block;
	position: relative;
	color: #222222;
	text-align: center;
	cursor: pointer;
	font-size: 20px;
	background: #999999;
	font-weight: 700;
}

#mailform button {
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    width: 47%;
    height: 50px;
    display: block;
    position: relative;
    color: #fff;
    text-align: center;
    cursor: pointer;
    margin: 0 1.5% 10px;
    float: left;
    font-size: 16px;
}
#mailform button.confirm {background: #111; border: 1px solid #111;}
#mailform button.reset {background: #C00; border: 1px solid #C00;}
#mailform button:before {
    position: absolute;
    display: block;
    content: '';
    width: 98%;
    height: 3px;
    background: #ccc;
    bottom: -4px;
    left: 1%;
}

@media print,screen and (min-width: 1024px) {
	#mailform button {
        -webkit-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
        -moz-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
        -ms-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
        transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    }
	#mailform button:hover {
        color: #111;
        background: #fff;
    }
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */

::-webkit-input-placeholder {
    color: #ccc;
    font-size: 12px;
    font-size: 1.2rem;
}

/* Firefox 18- */

:-moz-placeholder {
    color: #ccc;
    opacity: 1;
    font-size: 12px;
    font-size: 1.2rem;
}

/* Firefox 19+ */

::-moz-placeholder {
    color: #ccc;
    opacity: 1;
    font-size: 12px;
    font-size: 1.2rem;
}

/* IE 10+ */

:-ms-input-placeholder {
    color: #ccc;
    font-size: 12px;
    font-size: 1.2rem;
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset;
}

/* 合格発表プラグイン */
section#gokaku form.gokaku input[type="submit"] {
    width: 10em;
    height: 3em;
    border-radius: 5px;
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd;
}


