@charset "UTF-8";
.con-contact { margin-left: auto; margin-right: auto; }
@media only screen and (min-width: 1025px) { .con-contact { width: 85.7%; } }
@media print { .con-contact { width: 85.7%; } }
.ie8 .con-contact { width: 85.7%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-contact { width: 92%; } }
@media only screen and (max-width: 767px) { .con-contact { width: 89.3%; } }

/*Animate */
@media only screen and (min-width: 768px) { main .con-pagetitle { margin-bottom: 0; } }
@media print { main .con-pagetitle { margin-bottom: 0; } }
.ie8 main .con-pagetitle { margin-bottom: 0; }

/* -----------------------------------------------------------
	.con-contact
----------------------------------------------------------- */
@media only screen and (min-width: 768px) { .con-contact { display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; } }
@media print { .con-contact { display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; } }
.ie8 .con-contact { display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; }
@media only screen and (min-width: 768px) { .con-contact .box-step { width: 15%; position: -webkit-sticky; position: sticky; top: 0; padding-top: 120px; margin-bottom: 180px; } }
@media print { .con-contact .box-step { width: 15%; position: -webkit-sticky; position: sticky; top: 0; padding-top: 120px; margin-bottom: 180px; } }
.ie8 .con-contact .box-step { width: 15%; position: -webkit-sticky; position: sticky; top: 0; padding-top: 120px; margin-bottom: 180px; }
@media only screen and (max-width: 767px) { .con-contact .box-step { margin-bottom: 40px; } }
.con-contact .box-step ul { position: relative; }
@media only screen and (max-width: 767px) { .con-contact .box-step ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
.con-contact .box-step ul:before { content: ""; width: 1px; height: calc(100% - 36px); background: #999; position: absolute; top: 20px; left: 11px; }
@media only screen and (max-width: 767px) { .con-contact .box-step ul:before { display: none; } }
.con-contact .box-step ul li { letter-spacing: 0.18em; position: relative; padding-left: 28px; }
@media only screen and (min-width: 768px) { .con-contact .box-step ul li:not(:last-child) { margin-bottom: 36px; } }
@media print { .con-contact .box-step ul li:not(:last-child) { margin-bottom: 36px; } }
.ie8 .con-contact .box-step ul li:not(:last-child) { margin-bottom: 36px; }
.con-contact .box-step ul li:before, .con-contact .box-step ul li:after { content: ""; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; position: absolute; }
.con-contact .box-step ul li:before { width: 8px; height: 8px; background: #999; top: calc(50% - 3px); left: 7px; z-index: 1; }
.con-contact .box-step ul li:after { content: ""; width: 20px; height: 20px; background: #dedede; border: 1px solid #111; top: calc(50% - 10px); left: 0; opacity: 0; }
.con-contact .box-step ul li .en { font-family: "EB Garamond", serif; font-size: 1.2rem; line-height: 1; color: #666; }
.con-contact .box-step ul li .jp { line-height: 1.5; font-size: 1.8rem; }
@media only screen and (max-width: 767px) { .con-contact .box-step ul li .jp { font-size: 1.6rem; } }
.con-contact .box-step ul li.currant:before { background: #111; }
.con-contact .box-step ul li.currant:after { opacity: 1; }
@media only screen and (min-width: 768px) { .con-contact .box-contact { width: 70%; margin-bottom: 180px; padding-left: 10%; margin-top: 120px; } }
@media print { .con-contact .box-contact { width: 70%; margin-bottom: 180px; padding-left: 10%; margin-top: 120px; } }
.ie8 .con-contact .box-contact { width: 70%; margin-bottom: 180px; padding-left: 10%; margin-top: 120px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .con-contact .box-contact { width: 80%; } }
@media only screen and (max-width: 767px) { .con-contact .box-contact { margin-bottom: 100px; } }
.con-contact .box-contact h2 { font-weight: 400; font-size: 2.4rem; }
@media only screen and (max-width: 767px) { .con-contact .box-contact h2 { font-size: 2rem; } }
.con-contact .box-contact .txt-intro { margin-bottom: 48px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .txt-intro { line-height: 1.75; margin-bottom: 36px; } }
.con-contact .box-contact .box-form { border-top: 1px solid #111; border-bottom: 1px solid #111; padding-bottom: 24px; margin-bottom: 90px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form { margin-bottom: 60px; } }
.con-contact .box-contact .box-form .txt-required { line-height: 1; font-size: 1.4rem; letter-spacing: 0.18em; text-align: right; margin-top: 15px; margin-bottom: 48px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form .txt-required { margin-bottom: 24px; } }
.con-contact .box-contact .box-form .txt-required span { position: relative; display: inline-block; padding-left: 1em; }
.con-contact .box-contact .box-form .txt-required span em { font-size: 2.4rem; color: #a82a2a; position: absolute; top: -2px; left: 0; }
.con-contact .box-contact .box-form table { width: 100%; }
.con-contact .box-contact .box-form table tr th, .con-contact .box-contact .box-form table tr td { display: block; width: 100%; }
.con-contact .box-contact .box-form table tr th { font-weight: 400; font-size: 1.8rem; letter-spacing: 0.18em; margin-bottom: 8px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr th { font-size: 1.6rem; margin-bottom: 0; } }
.con-contact .box-contact .box-form table tr th .required { color: #a82a2a; font-size: 2.4rem; line-height: 1; }
.con-contact .box-contact .box-form table tr td { margin-bottom: 36px; }
.con-contact .box-contact .box-form table tr td input, .con-contact .box-contact .box-form table tr td textarea, .con-contact .box-contact .box-form table tr td select { width: 100%; margin: 0; padding: 18px 20px; background: #fff; outline: none; border: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; letter-spacing: 0.1em; display: block; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td input, .con-contact .box-contact .box-form table tr td textarea, .con-contact .box-contact .box-form table tr td select { padding: 15px; } }
.con-contact .box-contact .box-form table tr td input::placeholder, .con-contact .box-contact .box-form table tr td textarea::placeholder, .con-contact .box-contact .box-form table tr td select::placeholder { color: #aaa; font-size: 1.6rem; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td input::placeholder, .con-contact .box-contact .box-form table tr td textarea::placeholder, .con-contact .box-contact .box-form table tr td select::placeholder { font-size: 1.4rem; } }
.con-contact .box-contact .box-form table tr td input:-ms-input-placeholder, .con-contact .box-contact .box-form table tr td input::-ms-input-placeholder, .con-contact .box-contact .box-form table tr td textarea:-ms-input-placeholder, .con-contact .box-contact .box-form table tr td textarea::-ms-input-placeholder, .con-contact .box-contact .box-form table tr td select:-ms-input-placeholder, .con-contact .box-contact .box-form table tr td select::-ms-input-placeholder { color: #aaa; font-size: 1.6rem; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td input:-ms-input-placeholder, .con-contact .box-contact .box-form table tr td input::-ms-input-placeholder, .con-contact .box-contact .box-form table tr td textarea:-ms-input-placeholder, .con-contact .box-contact .box-form table tr td textarea::-ms-input-placeholder, .con-contact .box-contact .box-form table tr td select:-ms-input-placeholder, .con-contact .box-contact .box-form table tr td select::-ms-input-placeholder { font-size: 1.4rem; } }
.con-contact .box-contact .box-form table tr td .list-radio input[type="radio"] { display: none; }
.con-contact .box-contact .box-form table tr td .list-radio .mwform-radio-field:not(:last-child) { margin-right: 40px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td .list-radio .mwform-radio-field:not(:last-child) { margin-right: 0; } }
.con-contact .box-contact .box-form table tr td .list-radio .mwform-radio-field-text { position: relative; display: inline-block; padding: 3px 3px 3px 30px; cursor: pointer; font-size: 1.7rem; letter-spacing: 0.18em; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td .list-radio .mwform-radio-field-text { display: block; padding: 3px 3px 3px 20px; font-size: 1.5rem; } }
.con-contact .box-contact .box-form table tr td .list-radio .mwform-radio-field-text:before { position: absolute; content: ""; top: 50%; left: 0; width: 20px; height: 20px; margin-top: -10px; border: 1px solid #111; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td .list-radio .mwform-radio-field-text:before { width: 14px; height: 14px; margin-top: -8px; } }
.con-contact .box-contact .box-form table tr td .list-radio input[type="radio"]:checked + .mwform-radio-field-text::after { position: absolute; content: ""; top: 50%; left: 7px; width: 8px; height: 8px; margin-top: -3px; background: #111; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td .list-radio input[type="radio"]:checked + .mwform-radio-field-text::after { left: 4px; margin-top: -4px; } }
.con-contact .box-contact .box-form table tr td .link a { letter-spacing: 0.075em; background: linear-gradient(rgba(0, 0, 0, 0) 95%, #111111 100%); -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
@media only screen and (min-width: 1025px) { .con-contact .box-contact .box-form table tr td .link a:hover { opacity: 0.7; } }
@media print { .con-contact .box-contact .box-form table tr td .link a:hover { opacity: 0.7; } }
.ie8 .con-contact .box-contact .box-form table tr td .link a:hover { opacity: 0.7; }
.con-contact .box-contact .box-form table tr td .box-upload .upload-box { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin-bottom: 10px; }
.con-contact .box-contact .box-form table tr td .box-upload .upload-box [type="file"] { display: none !important; }
.con-contact .box-contact .box-form table tr td .box-upload .upload-box label { background: #fff; width: 200px; text-align: center; padding: 2px 16px; display: block; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td .box-upload .upload-box label { width: auto; padding: 2px 24px; } }
.con-contact .box-contact .box-form table tr td .box-upload .upload-box .file-name { font-size: 1.4rem; padding-left: 16px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td .box-upload .upload-box .file-name { padding-left: 8px; } }
.con-contact .box-contact .box-form table tr td .box-notice li { color: #666; font-size: 1.4rem; letter-spacing: 0.075em; line-height: 1.5; position: relative; padding-left: 1.25em; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .box-form table tr td .box-notice li { font-size: 1.2rem; } }
.con-contact .box-contact .box-form table tr td .box-notice li:before { content: "※"; position: absolute; top: 0; left: 0; }
.con-contact .box-contact .box-form table tr td .box-notice li:not(:last-child) { margin-bottom: 3px; }
.con-contact .box-contact .mw_wp_form_confirm table tr td { line-height: 1.75; }
.con-contact .box-contact .mw_wp_form_confirm table tr td .link { display: none; }
.con-contact .box-contact .mw_wp_form_confirm table tr td .box-upload .upload-box label { background: none; width: 360px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .mw_wp_form_confirm table tr td .box-upload .upload-box label { width: 100%; } }
.con-contact .box-contact .mw_wp_form_confirm table tr td .box-upload .upload-box label span { display: none; }
.con-contact .box-contact .mw_wp_form_confirm table tr td .box-upload .file-name { display: none; }
.con-contact .box-contact .mw_wp_form_confirm table tr td .box-notice { display: none; }
.con-contact .box-contact .mw_wp_form_confirm .txt-consent { display: none; }
.con-contact .box-contact .txt-link { text-align: center; margin-bottom: 80px; margin-left: -80px; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .txt-link { margin-bottom: 40px; } }
.con-contact .box-contact .txt-link button span { font-size: 1.8rem; }
.con-contact .box-contact .txt-link.complete { text-align: left; margin-left: 0; }
.con-contact .box-contact .txt-link.complete a span, .con-contact .box-contact .txt-link.complete button span { font-size: 1.6rem; }
@media only screen and (max-width: 767px) { .con-contact .box-contact .txt-link.complete a span, .con-contact .box-contact .txt-link.complete button span { font-size: 1.4rem; } }
.con-contact .box-contact .link-back { text-align: center; }
.con-contact .box-contact .link-back input { display: inline-block; outline: none; border: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: linear-gradient(rgba(0, 0, 0, 0) 95%, #111111 100%); -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; cursor: pointer; }
@media only screen and (min-width: 1025px) { .con-contact .box-contact .link-back input:hover { opacity: 0.7; } }
@media print { .con-contact .box-contact .link-back input:hover { opacity: 0.7; } }
.ie8 .con-contact .box-contact .link-back input:hover { opacity: 0.7; }
.con-contact .box-contact .txt-consent { text-align: center; }
.con-contact .box-contact .txt-consent a { background: linear-gradient(rgba(0, 0, 0, 0) 95%, #111111 100%); -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
@media only screen and (min-width: 1025px) { .con-contact .box-contact .txt-consent a:hover { opacity: 0.7; } }
@media print { .con-contact .box-contact .txt-consent a:hover { opacity: 0.7; } }
.ie8 .con-contact .box-contact .txt-consent a:hover { opacity: 0.7; }
