@charset "utf-8";
/* CSS Document */

input, select {
    vertical-align: baseline;
}

.center { text-align:center; margin-right:auto; margin-left:auto; }

form { display:block; max-width:1000px; width:90%; padding: 3em 0 3em 0; margin: 0 auto 0 auto; }
form dl.table { display:table; width:100%; }
form dl.table dt,form dl.table dd{ display:table-cell; vertical-align:top; }
form .sp { display:none; }
form dl dd p { margin: 0 0 0.5em 0; }

form #assist {
    position: fixed;
    z-index: 100;
    top: 12em;
    right: 0;
    background-color: #E13A33;
    color: #FFF;
    padding: 1em;
    font-size: 0.9em;
    width: 10em; text-align: center
}
.fade_off {
    opacity: 0;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -o-transition: all 1s;
    -ms-transition: all 1s;
    transition: all 1s;
}

.fade_on {
    opacity: 1;
}
span.error {
    color: #F03;
    display: block;
    font-size: 0.8em;
    margin-bottom: 0.3em;
}
span.error_count {
    color: #F03;
    display: block;
    font-size: 2.2em;
    margin-bottom: 0.8em;
    background-color: #FFF9C0;
    padding: 0;
}

form dl { }
form dl dt { border-bottom:solid 1px #CCC; margin:0; padding:1em 0 1em 0; width:15em; font-weight: bold; color: #454545; }
form dl dd { border-bottom:solid 1px #CCC; margin:0; padding:1em 0 1em 0; }
form dl dd input[type=text],
form dl dd input[type=tel],
form dl dd input[type=email] {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	appearance:none; background-color:#F9FBFF; padding: 0 0.5em 0 0.5em; height: 2.5em; border: 1px solid #ccc;
	border-radius: 4px; width:80%; max-width:325px; box-sizing: border-box; font-size: 0.9em;
}
form dl dd input[type=text]:required,
form dl dd input[type=tel]:required,
form dl dd input[type=email]:required,
form dl dd select:required {
	background: #fcf7bf;
}

form dl dd input.datepicker { max-width:155px; }

form dl dd select {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	background-color:#F9FBFF; padding: 0 0.5em 0 0.5em; height: 2.5em; border: 1px solid #ccc;
	border-radius: 4px; width:80%; max-width:155px; box-sizing: border-box; font-size: 0.9em;
}

form dl dd textarea {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	appearance:none; background-color:#F9FBFF; padding: 0.5em 0.5em 0.5em 0.5em; height: 2.5em; border: 1px solid #ccc;
	border-radius: 4px; width:100%; max-width:450px; box-sizing: border-box; font-size: 0.9em;
}

form .approval_btn.pc { max-width:220px; }
form .memo { margin-top:0.5em; font-size:0.8em; }

form dl .must {
    background: #E13A33;
    padding: 0.2em 0.5em 0.2em 0.5em;
    color: #fff;
    border-radius: 0;
    margin-right: 0.5em;
    font-size: 0.7em;
    vertical-align: text-bottom;
    font-weight: normal;
}

form dl .any {
    background: #4696E6;
    padding: 0.2em 0.5em 0.2em 0.5em;
    color: #fff;
    border-radius: 0;
    margin-right: 0.5em;
    font-size: 0.7em;
    vertical-align: text-bottom;
    font-weight: normal;
}
form dl .null { display:inline-block; width:3em; margin-right: 0.5em; padding: 0.2em 0.5em 0.2em 0.5em; font-size: 0.8em; }


form dl dd ol {
    margin: 0px;
    padding: 0px;
}
form dl dd ol li {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

form label {
    border-radius: 3px;
    margin: 3px;
    display: block;
}

form div.send { margin: 2em auto 2em auto; }
form div.send button#post {
	display: block; width: 90%; max-width:350px; height:4.5em; color: #FFF; margin: auto; font-size: 1em;
	appearance: none; background-color: #CCCCCC; border: none;
	box-shadow: 0 0.66667vw 1.33333vw 0 rgb(34 34 34 / 10%);
	border-bottom-left-radius:0.3em; border-bottom-right-radius:0.3em; border-top-left-radius:0.3em; border-top-right-radius:0.3em;
}
form button#post:disabled i {
    margin-right: 0.5em;
    font-size: 180%;
    vertical-align: middle;
}
form div.send button#post span.text { vertical-align: middle; font-size: 1.1em; }

form button#post.post_btn {
    background: linear-gradient(#428bca, #357ebd); cursor:pointer;
}
form div.send button#post.post_btn span.text { font-size:1.3em; }
form div.send button#post.post_btn:hover { opacity:0.8; }



.consent {
    width: 90%;
    margin: 20px auto;
}
form .caution_area {
    background: #fbfbfb;
    border: solid 1px #f5f5f5;
    padding: 15px 10px;
    font-size: 13px;
    margin-bottom: 20px;
}
form .caution_area .title {
    font-weight: bold;
    color: #002782;
    text-align: center;
    border-top: solid 1px #002782;
    padding: 10px 0;
    border-bottom: solid 1px #002782;
}

form .caution_area .sub_title {
    color: #002782;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 5px;
}


div.thanks { width: 90%; max-width: 1000px; margin: auto; padding:3em 0 0 0; height:68vh; }
div.thanks .thanks_title { border:solid 2px #071742; color:#071742; padding:0.5em 1em 0.5em 1em; margin: 0 0 3em 0; font-size:2em; font-family: "Noto Serif CJK JP"; }
div.thanks p { margin:1em 0 1em 0; }


@media screen and (max-width: 1079px) {
	
	form dl.table { display:block; }
	form dl.table dt,form dl.table dd{ display:block; width: 100%; }
	form .pc { display:none; }
	form .sp { display:block; }
	
	form dl dd input[type=radio],form dl dd input[type="checkbox"] { width: 1.6em; transform: scale(1.2); }
	form label { margin: 0 0 0.5em 0; }
	form dl .null { display:none; }
	
	form #assist { padding: 0.5em; font-size: 0.8em; width: 9em; }
	form div.send button#post span.text { font-size:1.1em; }
	
	div.thanks .thanks_title { font-size:1.5em; }
	div.thanks { height: 78vh; }
	div.thanks p.center { text-align:left; }
	footer { padding-bottom: 2em !important; }
	
}





