@charset "utf-8";


.step ol {
	display: flex;
	justify-content: center;
	counter-reset: order;
}
.step li {
	position: relative;
	padding: 50px 0 0;
	width: 80px;
	text-align: center;
	counter-increment: order;
}
.step li + li {
	margin-left: 65px;
}

.step li strong {
	position: relative;
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
}
.step li::before {
	position: absolute;
	display: block;
	text-align: center;
	content: counter(order);
	width: 30px;
	height: 30px;
	left: calc(50% - 15px);
	top: 0;
	z-index: 10;
	line-height: 28px;
	font-size: 1.0625rem;
	font-weight: 400;
	color: #fff;
	background: #c9c9c9;
	border-radius: 15px;
}
.step li + li::after {
	position: absolute;
	display: block;
	content: "";
	width: 120px;
	height: 1px;
	left: calc(-100% - 10px);
	top: 15px;
	background: #c9c9c9;
}

#wrap.step1 .step li:nth-child(1)::before {
	background: #165d89;
}
#wrap.step2 .step li:nth-child(2)::before {
	background: #165d89;
}
#wrap.step3 .step li:nth-child(3)::before {
	background: #165d89;
}


.attention {
	margin: 70px 0 0;
	text-align: center;
	font-size: 1.0rem;
	line-height: 1.8;
}


.contact-list {
	width: 900px;
	margin: 75px auto 0;
}
.contact-list ul {
	display: flex;
	border: 1px solid #c9c9c9;
}
.contact-list li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 450px;
	height: 165px;
	text-align: center;
	font-size: 1.25rem;
	line-height: 1.8;
	transition: all 400ms ease-out;
}
.contact-list li:nth-child(1) {
	border-right: 1px solid #c9c9c9;
}


.contact-list a::after {
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 14px;
	right: 18px;
	bottom: 18px;
	background: url(/img/arrow_nano_blue.svg) 0 0 no-repeat;
	background-size: 8px auto;
}
.contact-list li a:hover {
	background: #EAF7FF;
}
.contact-list li a::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	left: -1px;
	top: -1px;
	z-index: 10;
	border: 1px solid #165d89;
	opacity: 0;
	visibility: hidden;
	transition: all 400ms ease-out;
}
.contact-list li a:hover::before {
	opacity: 1;
	visibility: visible;
}




.attention.dynamic {
	display: none;
}
.step1 .attention.input,
.step2 .attention.confirm {
	display: block;
}


.contact-form {
	box-sizing: border-box;
	max-width: calc(900 + 80px);
	padding: 0 40px;
	margin: 90px auto 0;
}
.contact-form h2 {
	margin: 0 0 60px !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
}
.step3 .contact-form h2 {
	display: none;
}
.complete .contact-form h2 {
	display: none;
}
.mw_wp_form {
}

.contact-form dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.contact-form dl + dl {
	margin-top: 50px;
}
.contact-form dt {
	width: 200px;
	padding: 15px 0 0;
	font-size: 0.875rem;
}
.contact-form dd {
	width: calc(100% - 200px);
}
.contact-form dd.multi {
	display: flex;
	justify-content: space-between;
}
.contact-form dd.multi .group {
	width: calc(50% - 10px);
}
.contact-form dd.multi input {
}

.contact-form dl.file dt,
.contact-form dl.content dt {
	padding: 0;
}
.contact-form dd.notice {
	margin: 15px 0 0 200px;
	font-size: 0.75rem;
	line-height: 1.8;
	color: #999;
}

.contact-form .require {
	display: inline-block;
	margin-left: 10px;
	color: #165d89;
}


.contact-form input[type="text"] {
	box-sizing: border-box;
	width: 100%;
	padding: 8px;
	font-size: 0.875rem;
	font-weight: 500;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	background: none;
	border: 0 solid #c9c9c9;
	border-width: 0 0 1px;
}
.contact-form input[type="text"]:focus {
	outline: none;
	border-bottom-color: #165d89;
}


.contact-form select {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 50%;
	padding: 8px;
	color: #165d89;
	font-size: 0.875rem;
	font-weight: 500;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	background: transparent url(/img/arrow_nano_bottom.svg) right 10px top 50% no-repeat;
	background-size: 14px auto;
	border: 0 solid #c9c9c9;
	border-width: 0 0 1px;
	border-radius: 0;
}
.contact-form select:focus {
	outline: none;
	border-bottom-color: #165d89;
}


.contact-form textarea {
	box-sizing: border-box;
	width: 100%;
	height: 150px;
	padding: 8px;
	font-size: 0.875rem;
	font-weight: 500;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	background: none;
	border: 0 solid #c9c9c9;
	border-width: 1px;
}
.contact-form textarea:focus {
	outline: none;
	border-color: #165d89;
}

.contact-form input[type="file"],
.mwform-file-delete {
	position: absolute;
	visibility: hidden !important;
}


.contact-form .upload {
	position: relative;
	display: inline-block;
	padding-right: 20px;
	font-size: 0.875rem;
	color: #165d89;
	cursor: pointer;
	background: url(/img/icon_plus.svg) 100% 50% no-repeat;
	background-size: 12px auto;
	margin-top: 10px;
}
.contact-form .upload:hover {
	text-decoration: underline;
}

.contact-form .file-label {
	position: relative;
	display: none;
	font-size: 0.875rem;
}
.contact-form .file-label.visible {
	display: flex;
	align-items: center;
}
.contact-form .file-label span {
	display: inline-block;
	padding: 8px 12px;
	color: #165d89;
	border: 1px solid #165d89;
}
.contact-form .file-label .remove {
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-left: 5px;
	background: url(/img/icon_close_nano.svg) 50% 50% no-repeat;
	background-size: 15px auto;
	cursor: pointer;
}

.contact-form nav {
	position: relative;
	display: flex;
	justify-content: center;
	margin: 70px 0 0;
}
.contact-form nav button,
.contact-form nav input {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	height: 60px;
	padding: 10px 50px;
	color: #165d89;
	font-size: 1rem;
	font-weight: 500;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	background: none;
	border: 1px solid #165d89;
	cursor: pointer;
	transition: all 300ms ease-out;
}
.contact-form nav button:hover,
.contact-form nav input:hover {
	background-color: #eaf7ff;
}

.contact-form nav input[name="submitBack"] {
	position: absolute;
	left: 0;
	top: 0;
	padding-left: 20px;
	padding-right: 0;
	border: none;
	background: transparent url(/img/arrow_nano_prev.svg) 0 50% no-repeat;
	background-size: 10px auto;
}
.contact-form nav inputt[name="submitBack"]:hover {
	background-color: transparent;
	text-decoration: underline;
}




.contact-form span.error {
	display: block;
	margin: 10px 0;
	font-size: 0.875rem;
}


.mw-wp-form_file a[target] {
	display: none;
}


.mw_wp_form_confirm dt {
	padding: 0;
}

.mw_wp_form_confirm dd.notice {
	display: none;
}

.mw_wp_form_confirm dl.content dd {
	position: relative;
	margin-top: -0.4em;
	line-height: 1.8;
}

.mw_wp_form_confirm dd.multi {
	justify-content: flex-start;
}
.mw_wp_form_confirm dd.multi .group {
	width: auto;
}



.form-complete {
	margin: 40px 0 0;
	text-align: center;
}
.form-complete a {
	color: #165d89;
}
.form-complete a:hover {
	text-decoration: none;
}





html:lang(en) .contact-form dt {
	width: 300px;
}
html:lang(en) .contact-form dd {
	width: calc(100% - 300px);
}
html:lang(en) .contact-form dd.notice {
	margin-left: 300px;
}
html:lang(en) dl.kana {
	display: none;
}





.notice-dtf {
	margin: 0 0 15px;
	font-size: 14px;
	line-height: 1.6;
}
.mw-wp-form_file {
	display: none;
}

.contact-form dd.multibox {
	margin-left: 200px;	
	margin-top: 15px;	
}

.mw_wp_form_confirm .notice-dtf {
	display: none;
}

