@charset "utf-8";



/* ===== common ================================================== */

.hide {
	display: none;
}

.wrap_window {
	min-width: 320px;
	width: 100%;
}

.wrap_contents {
	margin: 0 auto;
	padding: 0 20px;
	width: 100%;
	min-width: 280px;
	max-width: 1030px;
}

@media screen and (max-width: 639px) {
.wideonly {
	display: none;
}
}

@media screen and (min-width: 640px) {
.nallowonly {
	display: none;
}
}



/* ===== header ================================================== */

header {
	width: 100%;
	background-color: #009fe8;
}

h1 {
	padding: 25px 0;
	font-size: 3.7em;
	font-weight: bold;
	color: #fff;
	line-height: 1.378em;
	text-align: center;
}
@media screen and (max-width: 639px) {
h1 {
	padding: max( 3.9vw, 15px ) 0;
	font-size: max( 5.78vw, 2.0em );
}
}

h1 span {
	display: inline-block;
}

.top {
	background-repeat: repeat-x;
	background-position: center top;
}



/* ===== top ================================================== */

.top_form {
	background-image: url( ../image/bg_form_w.jpg);
}
@media screen and (max-width: 639px ) {
.top_form {
	background-image: url( ../image/bg_common.jpg);
	background-repeat: repeat-x;
	background-size: contain;
}
}

.top_common {
	background-image: url( ../image/bg_common.jpg);
	background-repeat: repeat-x;
	background-size: contain;
}

.top .link_pdf {
	padding: 40px 0 0;
	text-align: center;
}
@media screen and (max-width: 639px) {
.top .link_pdf {
	padding: max( 6.25vw, 25px ) 0 0;
}
}

.top .link_pdf a {
	display: block;
	margin: 0 auto;
	width: 345px;
	max-width: 75%;
	border: 5px solid #009fe8;
	background-color: #fff;
	line-height: 1.0em;
}

.top .link_pdf a img {
	display: block;
	width: 100%;
}
.top .link_pdf a:hover img {
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

.top .flow {
	text-align: center;
}
@media screen and (max-width: 639px) {
.top .flow {
}
}

.top .flow_input {
	padding: 40px 0;
}
@media screen and (max-width: 639px) {
.top .flow_input {
	padding: max( 6.25vw, 40px) 0 max( 6.25vw, 30px );
}
}

.top .flow_common {
	padding: 80px 0;
}
@media screen and (max-width: 639px) {
.top .flow_common {
	padding: max( 12vw, 40px) 0 max( 11vw, 35px );
}
}

.top .flow img {
	width: 408px;
	max-width: 85%;
}



/* ===== form ================================================== */

label {
	display: inline-block;
}

label .label_view {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}

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

.radio {
	display: inline-block;
	position: relative;
	left: 0;
	height: 0.9em;
	width: 0.9em;
	margin-right: 0.3em;
	background-color: #eee;
	border: 1px solid #bbb;
	border-radius: 50%;
	box-sizing: border-box;
}
.radio:after {
	content: "";
	position: absolute;
	background: #009fe8;
	border-radius: 50%;
	top: 0.2em;
	bottom: 0.2em;
	left: 0.2em;
	right: 0.2em;
	opacity: 0;
}
input:checked+.radio:after {
	opacity: 1;
}

.checkbox {
	display: inline-block;
	position: relative;
	left: 0;
	height: 0.9em;
	width: 0.9em;
	margin-right: 0.3em;
	background-color: #eee;
	border: 1px solid #bbb;
	box-sizing: border-box;
}
.checkbox:after {
	content: "";
	position: absolute;
	background: #009fe8;
	top: 0.2em;
	bottom: 0.2em;
	left: 0.2em;
	right: 0.2em;
	opacity: 0;
}
input:checked+.checkbox:after {
	opacity: 1;
}




/* ===== main ================================================== */

.main {
	margin: 0 auto;
}

h2 {
	padding: 20px 0;
	font-size: 3.0em;
	font-weight: bold;
	color: #009fe8;
	line-height: 1.0em;
	text-align: center;
	border-top: 3px solid #009fe8;
	border-bottom: 3px solid #009fe8;
}
@media screen and (max-width: 639px) {
h2 {
	padding: max( 3.125vw, 15px ) 0;
	font-size: max( 4.6875vw, 1.8em );
}
}



.form_error {
	margin: 40px 0 0;
	padding: 30px 45px;
	width: 100%;
	border: 3px solid #f00;
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-o-border-radius: 10px;
	-ms-border-radius: 10px;
	background-color: #fee;
}
@media screen and (max-width: 639px) {
.form_error {
	margin: max( 5vw, 15px ) 0 0;
	padding: max( 4vw, 12px );
}
}

.form_error li {
	font-size: 2.3em;
	font-weight: bold;
	color: #f00;
	line-height: 1.4em;
}
@media screen and (max-width: 639px) {
.form_error li {
	font-size: max( 3.59375vw, 1.4em );
}
}



.form_notice {
	padding: 50px 0 0;
}
@media screen and (max-width: 639px) {
.form_notice {
	padding: max( 7.8125vw, 40px ) 0 0;
}
}

.form_notice p {
	font-size: 2.3em;
	font-weight: bold;
	color: #bf0d23;
	line-height: 1.8em;
	text-align: center;
}
@media screen and (max-width: 639px) {
.form_notice p {
	font-size: max( 3.59375vw, 1.4em );
}
}

.form_title p {
	font-size: 2.3em;
	font-weight: bold;
	line-height: 1.4em;
}
@media screen and (max-width: 639px) {
.form_title p {
	font-size: max( 3.59375vw, 1.4em );
}
}

.form_label {
	font-size: 2.3em;
	line-height: 1.4em;
}
@media screen and (max-width: 639px) {
.form_label {
	font-size: max( 3.59375vw, 1.4em );
}
}

input[type=checkbox] {
	margin-right: 0.3em;
}

.form_title_privacy p {
	text-align: center;
}

.form_title_privacy {
	padding: 40px 0 35px;
}
@media screen and (max-width: 639px) {
.form_title_privacy {
	padding: max( 7.8125vw, 15px ) 0 max( 7.8125vw, 10px ) ;
}
}

.form_privacy_box {
	padding: 40px 45px;
	width: 100%;
	border: 3px solid #009fe8;
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-o-border-radius: 10px;
	-ms-border-radius: 10px;
}
@media screen and (max-width: 639px) {
.form_privacy_box {
	padding: max( 5vw, 15px );
}
}

.form_label_privacy {
	font-weight: bold;
}

.form_confirm_privacy {
	display: block;
	padding: 0;
	font-weight: bold;
	color: #009fe8;
	text-align: center;
}

.form_guide_privacy {
	padding: max( 01.2vw, 5px ) 0 0;
	font-size: 2.3em;
	color: #bf0d23;
	line-height: 1.7em;
}
@media screen and (max-width: 639px) {
.form_guide_privacy {
	font-size: max( 3.59375vw, 1.4em );
}
}

.form_guide_privacy .note {
	padding-left: 1.0em;
	text-indent: -1.0em;
}

.form_guide_privacy_link {
	font-weight: bold;
	word-break: break-all;
}

.form_table {
	width: 100%;
	margin: 30px 0 0;
}

.form_table th {
	width: 33%;
	max-width: 325px;
	font-size: 2.0em;
	line-height: 1.4em;
	vertical-align: middle;
}
@media screen and (max-width: 639px) {
.form_table th {
	display: block;
	width: 100%;
	max-width: 100%;
	font-size: max( 3.125vw, 1.2em );
}
}

.form_table th div {
	padding: 0.8em 0 0;
}
@media screen and (max-width: 639px) {
.form_table th div {
	padding: 1.2em 0 0;
}
}

.form_table th p {
	padding-left: 20px;
	font-weight: bold;
}
@media screen and (max-width: 639px) {
.form_table th p {
	padding-left: 0;
}
}

.form_table th p span {
	display: inline-block;
}

.form_table th .notice {
	font-weight: normal;
	color: #bf0d23;
}

.form_table td {
	width: 67%;
	max-width: 665px;
	font-size: 2.0em;
	line-height: 1.4em;
	vertical-align: top;
}
@media screen and (max-width: 639px) {
.form_table td {
	display: block;
	width: 100%;
	max-width: 100%;
	font-size: max( 3.125vw, 1.2em );
}
}

.form_table td .input_box {
	padding: 1.5em 0 0.7em;
}
@media screen and (max-width: 639px) {
.form_table td .input_box {
	padding: 0.8em 0 0.7em;
}
}

.form_table td .confirm_box {
	padding: 1.5em 0 0.7em;
}
@media screen and (max-width: 639px) {
.form_table td .confirm_box {
	padding: 0.8em 0 0.7em;
}
}

.form_table td .confirm_box p span.nowrap {
	display: inline-block;
}

.form_table td .prefix {
	display: inline-block;
	width: 1.3em;
}
.form_table td .prefix:nth-of-type(2) {
	margin-left: 1.5em;
}

.form_table td .ex {
	padding: 0 0 0.8em 1.3em;
	color: #bf0d23;
}
@media screen and (max-width: 639px) {
.form_table td .ex {
	padding: 0 0 0.8em 0;
}
}

.form_table td .value {
	display: inline-block;
	color: #009fe8;
	font-weight: bold;
	font-size: 1.25em;
}
@media screen and (max-width: 639px) {
.form_table td .value {
}
}

.required {
	font-weight: normal;
	color: #bf0d23;
}

input[type=text] {
	padding: 8px 10px;
	border: 1px solid #231815;
}

input.input_name {
	width: calc( ( 100% - 4.1em - 20px ) / 2 );
	max-width: 220px;
}
@media screen and (max-width: 639px) {
input.input_name {
	width: calc( ( 100% - 4.1em ) / 2 );
	max-width: 220px;
}
}

input.input_full {
	width: calc( 100% - 1.3em - 20px );
}
@media screen and (max-width: 639px) {
input.input_full {
	width: calc( 100% - 1.3em );
}
}

.confirm_name {
	padding: 0 1.5em 0 0;
	min-width: calc( ( 100% - 4.1em - 20px ) / 2 );
	width: auto;
}
@media screen and (max-width: 639px) {
.confirm_name {
	min-width: calc( ( 100% - 4.1em ) / 2 );
}
}

.confirm_privacy {
	padding: 0 1.5em 0 0;
	min-width: calc( ( 100% - 4.1em - 20px ) / 2 );
	width: auto;
}
@media screen and (max-width: 639px) {
.confirm_privacy {
	min-width: calc( ( 100% - 4.1em ) / 2 );
}
}

.confirm_full {
	width: calc( 100% - 1.3em - 20px );
}
@media screen and (max-width: 639px) {
.confirm_full {
	width: calc( 100% - 1.3em );
}
}

.message_bottom {
	padding: 80px 20px 0 40px;
	font-size: 2.0em;
	font-weight: bold;
	line-height: 1.8em;
	text-indent: -1.0em;
}
@media screen and (max-width: 639px) {
.message_bottom {
	padding: max( 1.25vw, 50px ) 0 0 1.0em;
	font-size: max( 3.125vw, 1.2em );
}
}

.btn_box {
	padding: 80px 0 70px;
	text-align: center;
}
@media screen and (max-width: 639px) {
.btn_box {
	padding: max( 1.25vw, 50px ) 0 max( 1.25vw, 50px );
}
}

.btn_box a {
	display: inline-block;
	margin: 0 2%;
	border: 2px solid #009fe8;
}
@media screen and (max-width: 639px) {
.btn_box a {
}
}
.btn_box a:hover {
	background-color: #e2f7f5;
}
.btn_box a:active {
	background-color: #009fe8;
}

.btn_box_input a {
	width: 280px;
}
@media screen and (max-width: 639px) {
.btn_box_input a {
	width: max( 43.75vw, 150px );
}
}

.btn_box_confirm a {
	width: 200px;
}
@media screen and (max-width: 639px) {
.btn_box_confirm a {
	width: max( 25vw, 100px );
}
}

.btn_box a p {
	display: inline-block;
	padding: 10px;
	font-size: 2.3em;
	color: #009fe8;
	line-height: 1.0em;
	text-align: center;
}
@media screen and (max-width: 639px) {
.btn_box a p {
	font-size: max( 3.125vw, 1.2em );
}
}
.btn_box a:active p {
	color: #fff;
}

.message_no {
	padding: 50px 20px 0 20px;
	font-size: 2.0em;
	font-weight: bold;
	line-height: 1.8em;
}
@media screen and (max-width: 639px) {
.message_no {
	padding: max( 1.25vw, 30px ) 0 0;
	font-size: max( 3.125vw, 1.2em );
	text-align: center;
}
}

.message_to {
	padding: 40px 20px 0 20px;
	font-size: 2.3em;
	font-weight: bold;
	line-height: 1.8em;
}
@media screen and (max-width: 639px) {
.message_to {
	padding: max( 1.25vw, 30px ) 0 0;
	font-size: max( 3.125vw, 1.2em );
}
}

.message_over {
	padding: 20px 20px 0 20px;
	font-size: 2.3em;
	line-height: 1.8em;
}
@media screen and (max-width: 639px) {
.message_over {
	padding: max( 1.25vw, 10px ) 0 0;
	font-size: max( 3.125vw, 1.2em );
}
}

.message_by {
	padding: 30px 20px 50px 20px;
	font-size: 2.3em;
	line-height: 1.8em;
	text-align: right;
}
@media screen and (max-width: 639px) {
.message_by {
	padding: max( 1.25vw, 20px ) 0 max( 1.25vw, 50px );
	font-size: max( 3.125vw, 1.2em );
}
}









