@charset "UTF-8";
/*==============
    contact
================*/

@media screen and (min-width: 769px) {

}
@media screen and (max-width: 768px) {
}

/* ------------------------------
    contact_step
------------------------------ */
.contact_step{
	margin-bottom: 60px;
}
.contact_stepli{
	display: flex;
	justify-content:center;

}
.contact_stepli li{
	width: 2em;
	position: relative;
	padding-top: 36px;
}

.contact_stepli li+li{
	margin-left: 140px;
}
.contact_stepli li+li:before{
	content: "";
	display: block;
	position: absolute;
	width: 160px;
	z-index: -1;
	left: 0;
	transform: translateX(-150px);
	height: 2px;
	background: #B9B9B9;
	top: 14px;
}
.contact_stepli li.passed+li:before{
	background: #194375;
}
.contact_stepli .circle{
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.contact_stepli .circle:before, .contact_stepli .circle:after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border-radius: 50%;
}
.contact_stepli .circle:before{
	z-index: 2;
	width: 20px;
	height: 20px;
	background: #B9B9B9;
}
.contact_stepli li.current .circle:before{
	background: #194375;
	width: 16px;
	height:16px;
}
.contact_stepli li.passed .circle:before{
	background: #194375;
}
.contact_stepli li.current .circle:after{
	z-index: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	border: 2px solid #194375;
}
.contact_stepli .txt{
	line-height: 1;
	font-weight: bold;
	white-space: nowrap;
}

.en .contact_stepli li:nth-of-type(1) .txt{
	position: absolute;
	left:-0.6em;
}

.en .contact_stepli li:nth-of-type(2) .txt{
	position: absolute;
	left:-0.9em;
}

.en .contact_stepli li:nth-of-type(3) .txt{
	position: absolute;
	left:-1em;
}

.contact_stepli li.current{
	color: #194375;
}
@media screen and (min-width: 769px) {
}
@media screen and (max-width: 768px) {
	.contact_step{
		margin-bottom: 30px;
	}
	.contact_stepli li{
		padding-top: 36px;
	}

	.contact_stepli li+li{
		margin-left: 90px;
	}
	.contact_stepli li+li:before{
		width: 120px;
		transform: translateX(-105px);
		height: 2px;
		top: 14px;
	}
	.contact_stepli .circle{
		width: 30px;
		height: 30px;
	}
	.contact_stepli .circle:before{
		width: 20px;
		height: 20px;
	}
	.contact_stepli li.current .circle:before{
		width: 16px;
		height:16px;
	}
}


/* ------------------------------
    contact_lead
------------------------------ */
.contact_lead{
	margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
	.contact_lead{
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	.contact_lead{
		margin-bottom: 30px;
	}
}

/* ------------------------------
    form
------------------------------ */
.form_tbl{
	margin-bottom: 40px;
}
.form_tbl th,.form_tbl td{
	vertical-align: middle;
}
.form_tbl tr:nth-of-type(odd) th, .form_tbl tr:nth-of-type(odd) td{
	background: #F2F7FF;
}
.form_tbl th{
	padding: 22px 20px 22px 30px;
	width: 292px;
	line-height: 1.4;
	position: relative;
	font-weight: bold;
}
.form_tbl th .mid{
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.form_tbl th .ico{
	display: inline-block;
	vertical-align: middle;
	font-weight: normal;
	line-height: 1;
	padding: 5px 9px 3px;
	border-radius: 2px;
	font-size: 14px;
}
.form_tbl th .req{
	color: #fff;
	background:#ed34a7;
}
.form_tbl th .noreq{
	color: #fff;
	background:#B9B9B9;
}


.form_tbl td{
	padding: 35px 40px 35px 0;
}
.form_tbl input, .form_tbl textarea{
	width: 100%;
	padding: 11px 20px;
	border: 1px solid #333333;
	border-radius: 5px;
}

.form_tbl textarea{
	height: 200px;
}
.form_tbl textarea.route{
	height: 50px;
}

.form_radio{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.form_radio li{

}
.form_radio li+li{
	margin-left: 18px;
}


.form_radio label{
}
input[type="radio"]{
	/*visibility:hidden;*/
	width:1px;
	padding: 0;
	position: absolute;
	opacity: 0;
}
input[type="radio"] + label{
  display: block;
  position:relative;
  padding:0 2em 0 42px;
  cursor: pointer;
  line-height: 1;
  white-space: nowrap;
}

input[type="radio"] + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform:translateY(-50%);
  left: 0;
  width: 24px;
  height: 24px;
  background: #fff;
  border: 1px solid #464B45;
  border-radius: 50%;
  top:50%;
}
input[type="radio"]:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform:translateY(-50%);
  left: 6px;
  width: 12px;
  height: 12px;
  background: #194375;
  border-radius: 50%;
}


.form_tbl input::placeholder, .form_tbl textarea::placeholder {
  color: #B9B9B9;
}
/* IE */
.form_tbl input:-ms-input-placeholder, .form_tbl textarea:-ms-input-placeholder {
  color: #B9B9B9;
}
/* Edge */
.form_tbl input::-ms-input-placeholder, .form_tbl textarea::-ms-input-placeholder{
  color: #B9B9B9;
}
.form_tbl textarea{
	resize: vertical;
    overflow: auto;
}

.selectwrap{
	position: relative;
	width: 250px;
	height: 50px;
	z-index: 1;
	border-radius: 5px;
}
.selectwrap:before,.selectwrap:after{
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
}
.selectwrap:after{
	content: "";
	position: absolute;
	right: 17px;
	top: 20px;
	width: 8px;
	height: 8px;
	border:2px solid #333;
	transform: rotate(45deg);
	border-top: none;
	border-left: none;
}
.selectwrap{
	padding: 11px 0;
	border: 0;
}
.selectwrap:has(> select){
	padding: 0;
	border: 1px solid #333;
}
.selectwrap:has(> select):after{
	display: block;
	z-index: 9!important;
}
.selectwrap:after{
	display: none;
}
.selectwrap select{
	width: 100%;
	height: 100%;
	background:none;
	padding: 0 20px;
	color: #333;
	background-color: #fff;
    border-radius: 5px;
}
.mw_wp_form .error{
	font-size: 1.3rem;
	font-weight: bold;
	color:#B81247;
	line-height: 1.2;
	margin-top: 0.5em;
}
.contact_alertbox{
	margin-top: 40px;
}


@media screen and (min-width: 769px) {
	.form_tbl th{
		white-space: nowrap;
	}
	.form_btn .btn:hover{
		opacity: 0.6;
	}
	.form_btn .btn.btn_back{
		margin-right: 30px;
	}
	.contact_form .btn1w{
		margin-right: 30px;
	}
}


@media screen and (max-width: 768px) {
	.form_tbl{
		margin-bottom: 30px;
	}
	.form_tbl th,.form_tbl td{
		display: block;
		width: 100%;
	}
	.form_tbl th,.form_tbl td{
	}
	.form_tbl th{
		padding: 14px 15px;
		line-height: 1.7;
	}
	.form_tbl th .mid{
		margin-right: 10px;
	}
	.form_tbl th .ico{
		padding: 5px 13px 3px;
	}
	.form_tbl td{
		padding: 0 15px 20px;
	}
	.form_tbl input, .form_tbl textarea{
		padding: 6px 10px;
		border-radius: 5px;
	}

	.form_tbl textarea{
		height: 80vw;
	}
	.form_tbl textarea.route{
		height: 100px;
	}
	.form_radio li.customer_type{
        width: 100%;
	}
	.form_radio li+li{
		margin-left: 20px;
	}
	.form_radio label{
	}
	input[type="radio"] + label{
	  padding:0 2em 0 42px;
	}

	input[type="radio"] + label::before{
	  width: 24px;
	  height: 24px;
	}
	input[type="radio"]:checked + label::after{
	  left: 6px;
	  width: 12px;
	  height: 12px;
	}
	.selectwrap{
		width: 250px;
		height: 40px;
		border-radius: 5px;
	}
	.selectwrap:after{
		right: 17px;
		top: 14px;
		width: 13px;
		height: 13px;
	}
	.selectwrap select{
		padding: 0 30px 0 10px;
	}
	.form_error{
		font-size: 0.px;
		margin-top: 1.2em;
	}
	.contact_alertbox{
		margin-top: 40px;
	}
	.contact_alertbox p+p{
		margin-top: 0.5em;
	}
	.contact_form .btnwrap{
		display: block;
		width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	.contact_form .btn1w{
		margin-bottom: 15px;
	}
}
/* 20220906׷ӛ */
.form_tbl input[name="your_familyname"],.form_tbl input[name="your_firstname"],.form_tbl input[name="kana_familyname"],.form_tbl input[name="kana_firstname"]{
	width:49%;
}
.form_tbl input[name="your_familyname"],.form_tbl input[name="kana_familyname"]{
	margin-right:5px;
}
.form_tbl input[name="zip"]{
	width:250px;
}

.mid.alert{font-weight:normal;}
input:-webkit-autofill {
    transition: background-color 5000s ease-in-out 0s !important;
}
@media screen and (max-width: 769px) {
	.form_radio li+li.customer_type {
		margin-left: 0;
		margin-top:1.2em;
	}
	.form_tbl input[name="your_familyname"],.form_tbl input[name="kana_familyname"]{
		margin-right:1px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .form_radio li.customer_type{
        width: 100%;
    }
    .form_radio li.customer_type+li{
        margin-left: 0;
        margin-top: 20px;
    }
    .form_tbl input[name="your_familyname"], .form_tbl input[name="your_firstname"], .form_tbl input[name="kana_familyname"], .form_tbl input[name="kana_firstname"] {
        width: 48%;
    }
}

#zip_footer{
	display: none;
}

/* ------------------------------
    confirm
------------------------------ */
.confirm_txt{
	margin-bottom: 36px;
}
@media screen and (min-width: 769px) {
	.confirm_txt{
		text-align: center;
		margin-top: -20px;
	}
	.confirm_tbl th, .confirm_tbl td{
		padding-top: 21px;
		padding-bottom: 21px;
	}

}
@media screen and (max-width: 768px) {
	.confirm_txt{
		margin-top: -10px;
		margin-bottom: 40px;
	}
	.confirm_tbl th{
		padding-bottom: 7px;
	}
	.confirm_tbl td{
		line-height: 1.7;
	}
}


/* ------------------------------
    thanks
------------------------------ */
.thanksbox{
	background: #F3F7FF;
	padding: 40px 20px;
}
.thanksbox .ttl{
	line-height: 1;
	text-align: center;
	color: #194375;
	margin-bottom: 30px;
	font-size: 2.4rem;
	font-weight: bold;
	white-space: nowrap;
}
.thanksbox .btnwrap{
	margin-top: 30px;
}
@media screen and (min-width: 769px) {
	.thanksbox p{
		width: 670px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px) {
	.thanksbox{
		padding: 30px 23px;
	}
	.thanksbox .ttl{
		margin-bottom: 20px;
		font-size: 2.4rem;
	}
	.thanksbox .btnwrap{
		margin-top: 20px;
	}
}
