@charset 'utf-8';
/* 共通調整 */
.bg {
	padding-top: 1px;
	background: #fafafa;
}
.contact p {
	word-break: break-all;
}
.contact .sec_inner {
	box-sizing: content-box;
	width: auto;
	max-width: 980px;
	margin: auto;
	padding: 0 30px;
}
.grecaptcha-badge {
	z-index: 5;
}

/* contact */
.contact .info_box {
	margin: 35px auto;
}
.contact .info_txt {
	padding: 20px;
	border: 1px solid #e6e6e6;
	background: #fff;
}
.contact .info_txt + .info_txt {
	border-top: none;
}
.contact .txt_area {
	font-size: 1.4rem;
}
.contact .txt_area .txt {
	margin: 30px 0;
}
.contact .txt_list {
	margin: 30px 0 30px 1em;
}
.contact .txt_list li {
	padding-left: 1em;
	text-indent: -1em;
}
.contact .txt_list li::before {
	content: '\30fb';
}
.contact .txt_list li::before,
.contact .txt_list li::after {
	margin: 0;
}
.contact .txt_area .txt + .txt_list {
	margin-top: -30px;
}

.mailform {
	margin: 35px auto 0;
}
.mailform .alert.alert-danger {
	color: #e60012;
}
.mailform .form_head {
	font-size: 1.4rem;
	padding: 0 0 10px 30px;
}
.mailform .form_col-l span::before,
.mailform .form_col-l span::after,
.mailform .form_col-r p::before,
.mailform .form_col-r p::after {
	display: none;
}
.mailform input[type='text'],
.mailform input[type='email'],
.mailform input[type='tel'],
.mailform textarea,
.mailform select {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	display: block;
	width: 100%;
	padding: 5px 12px;
	border: none;
	background-color: #f2f2f2;
}
.mailform .alert.alert-warning input[type='text'],
.mailform .alert.alert-warning input[type='email'],
.mailform .alert.alert-warning textarea,
.mailform .alert.alert-warning select {
	background-color: rgb(255, 238, 238);
	color: #e60012;
}
.mailform textarea {
	min-height: 200px;
	resize: vertical;
}
.mailform select {
	display: inline-block;
	width: auto;
	margin: 0 10px;
	padding-right: 15px;
	padding-left: 15px;
	cursor: pointer;
}
.mailform label:first-child select {
	margin-left: 0;
}
.mailform input[type='text']:focus,
.mailform input[type='email']:focus,
.mailform input[type='tel']:focus,
.mailform textarea:focus,
.mailform select:focus {
	outline: 1px solid #c4c4c4;
}
.mailform .radio {
	position: relative;
	margin: 8px 0;
}
.mailform .radio:first-child {
	margin-left: 8px;
}
.mailform .radio input[type='radio'] {
	position: absolute;
	opacity: 0;
}
.mailform .radio label {
	position: relative;
	padding-right: 30px;
	padding-left: 35px;
	cursor: pointer;
}
.mailform .radio label::before,
.mailform .radio label::after {
	position: absolute;
	top: -2px;
	left: 0;
	display: block;
	width: 24px;
	height: 24px;
	content: '';
	border: 1px solid transparent;
	border-radius: 50%;
	background: #f2f2f2;
}
.mailform .radio label::after {
	top: 3px;
	left: 5px;
	width: 14px;
	height: 14px;
	background: transparent;
}
.mailform .radio input:checked + label::after {
	transition: background .5s ease;
	background: #38393c;
}
.mailform .radio input:focus + label::before {
	border-color: #c4c4c4;
}

.mailform .checkbox {
	position: relative;
	margin: 0px 0;
}
.mailform .checkbox input[type='checkbox'] {
	position: absolute;
	opacity: 0;
}
.mailform .checkbox label {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	width: auto;
	padding: 8px 30px;
	cursor: pointer;
}
.mailform .checkbox label::before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 18px;
	height: 18px;
	margin-top: -8px;
	content: '';
	border: 1px solid transparent;
	border-radius: 3px;
	background: #f2f2f2;
}
.mailform .checkbox label::after {
	position: absolute;
	top: 50%;
	left: 7px;
	display: block;
	width: 9px;
	height: 16px;
	margin-top: -12px;
	content: '';
	transition: transform .2s, opacity .2s;
	transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
	opacity: 0;
	border-right: 3px solid #38393c;
	border-bottom: 3px solid #38393c;
}
.mailform .checkbox input:focus + label::before {
	border-color: #c4c4c4;
}
.mailform .checkbox input[type='checkbox']:checked + label::after {
	transform: rotate(45deg) scale3d(1,1,1);
	opacity: 1;
}

.mailform .form_group {
	display: flex;
	border: 1px solid #e6e6e6;
	background: #fff;
}
.mailform .form_group + .form_group {
	border-top-width: 0;
}
.mailform .form_col-l {
	font-size: 1.4rem;
	display: flex;
	min-height: 64px;
	padding: 20px 16px 20px 30px;
	border-right: 1px solid #e6e6e6;

	align-items: flex-start;
	flex: 0 0 280px;
}
.mailform .form_col-l span {
	line-height: 24px;

	flex: 1 1 auto;
}
.mailform .form_col-l .required {
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	background: #c1272d;

	flex: 0 0 60px;
}
.mailform .form_col-r {
	display: flex;
	font-size: 1.4rem;
	min-height: 64px;
	padding: 8px 16px;
	flex: 1 1 auto;
	align-items: center;
	flex-wrap: wrap;
}
.mailform .form_col1 p:first-child,
.mailform .form_col2,
.mailform .zip_group {
	display: flex;
	width: 100%;
	min-height: 48px;

	align-items: center;
}
.mailform .form_col1 p:first-child {
	max-width: 500px;
}
.mailform .form_col2 p:first-child,
.mailform .zip_group {
	flex: 0 0 300px;
}
.mailform .form_col2 p:nth-child(2),
.mailform .zip_group + p {
	margin-left: 16px;

	flex: 1 1 auto;
	align-self: center;
}
.mailform .zip_group + p {
	flex: 1;
}
.mailform .form_row2 {
	display: block;
	padding-top: 20px;
	padding-bottom: 12px;
}
.mailform .form_textarea {
	width: 100%;
	margin: 8px 0;
}
.mailform .form_in_col2 {
	display: flex;
	max-width: 500px;
	margin: 8px 0;

	align-items: center;
}
.mailform .form_in_col2 p:first-child {
	flex: 0 0 auto;
}
.mailform .form_in_col2 p:nth-child(2) {
	margin-left: 16px;

	flex: 1 1 auto;
	align-self: center;
}
.mailform .zip_group {
	max-width: 300px;
}
.mailform .form_group .alert {
	line-height: 1.14;
	flex: 0 1 100%;
	width: 100%;
}
.mailform .form_col-r .txt_ex {
	padding-left: 2em;
	text-indent: -2em;
}
.mailform .form_col-r .txt_note {
	padding-left: 1.3em;
	text-indent: -1.3em;
}
.mailform .form_col-r .txt_b {
	font-weight: 700;
}
.mailform .emailRetype_nore {
	max-width: 296px;
}
.mailform .btn_zip {
	padding: 5px 12px;
	cursor: pointer;
	color: #fff;
	border-style: solid;
	border-color: #f7931e;
	background: #f7931e;
	transition: opacity .5s ease;
}
.mailform .btn_zip:hover {
	opacity: 0.7;
}
.mailform .inquiry_group {
	display: flex;
	width: 100%;
	justify-content: space-between;
}
.mailform .inquiry_group-item {
	flex: 0 1 calc((100% - 30px) / 2);
	margin-top: -8px;
	margin-bottom: 4px;
}
.mailform .inquiry_group-item .txt_b {
	margin: 23px 0 5px;
}
.mailform .inquiry_group-item .checkbox label {
	padding: 4px 0 4px 30px;
}
.mailform .inquiry_comment {
	width: 100%;
}
.mailform .inquiry_comment > p:first-child {
	margin-top: 22px;
}

.mailform .form_btn {
	margin: 40px auto;
	text-align: center;
}
.mailform .form_btn .btn_submit {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 64px;
	position: relative;
	display: block;
	width: 100%;
	max-width: 384px;
	height: 64px;
	cursor: pointer;
	transition: opacity .5s ease;
	color: #fff;
	border: none;
	background: #e60012;
	margin: auto;
}
.mailform .form_btn .btn_submit:hover {
	opacity: .7;
}
.mailform .form_btn .arrow {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 10px;
	height: 10px;
	content: '';
	transform: translateY(-50%) rotate(45deg);
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
}
.mailform .form_foot {
	font-size: 1.4rem;
	padding-bottom: 22px;
}
.tetsudo .mailform .form_foot {
	text-align: center;
	padding-bottom: 0;
}
.mailform .form_foot_inner {
	display: inline-block;
}
.tetsudo .mailform .form_foot_inner {
	margin-left: 66px;
	text-align: left;
}
.mailform .form_foot p {
	margin: 14px auto 22px;
}
.tetsudo .mailform .form_foot p {
	margin: 22px auto;
}
.tetsudo .mailform .form_foot p + p {
	margin-top: 40px;
}
.mailform .form_foot .form_lnk::before,
.mailform .form_foot .form_lnk::after {
	margin: 0;
}
.mailform .form_foot .form_lnk {
	display: block;
	padding-left: 1em;
	text-decoration: underline;
	text-indent: -1em;
	color: #0070bd;
}
.mailform .form_foot .form_lnk:hover,
.mailform .form_foot .txt_lnk:hover {
	text-decoration: none;
}
.mailform .form_foot .form_lnk::before {
	content: '・';
}
.mailform .form_foot .txt_lnk {
	text-decoration: underline;
	color: #0070bd;
}
.mailform .form_foot .txt_indent {
	padding-left: 1em;
	text-indent: -1em;
}
.mailform .form_note {
	display: flex;
	justify-content: center;
	margin: 0 auto 40px;
	font-size: 1.4rem;
}

/* datepicker */
.ui-datepicker {
	width: 18.8em;
}
.ui-datepicker td span,
.ui-datepicker td a {
	padding: .38em .72em;
	text-align: center;
}
.ui-datepicker-header span::before,
.ui-datepicker-header span::after {
	display: none;
}
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
	font-family: inherit;
	font-weight: 500;
}
.ui-datepicker-close.ui-priority-primary {
	font-weight: normal;
}
.ui-datepicker-current.ui-priority-secondary {
	opacity: 1;
}

/* confirm */
.confirm .mailform .form_col-r {
	padding: 20px 30px 20px 20px;
}
.confirm .mailform .form_col-r p {
	width: 100%;
}
.confirm .mailform .form_col-r p span {
	display: inline-block;
}
.confirm .mailform .zipcode::before {
	display: inline-block;
	content: '\3012';
	width:  1em;
}
.confirm .mailform .form_btn {
	display: flex;
	max-width: 838px;
	margin-right: auto;
	margin-left: auto;
}
.confirm .mailform .btn_submit {
	order: 2;
}
.confirm .mailform .btn_back {
	color: #38393c;
	border: 1px solid #e6e6e6;
	background: #fff;

	order: 1;
}
.confirm .mailform .btn_back .arrow {
	right: auto;
	left: 16px;
	transform: translateY(-50%) rotate(225deg);
	border-color: #38393c;
}


/* thanks */
.thanks .txt_area {
	padding-top: calc(var(--spacing-vertical) - 30px);
	font-size: 1.6rem;
	text-align: center;
}
.thanks .mailform .form_btn {
	margin-top: 80px;
}


@media screen and (max-width: 900px) {
	.contact .page_ttl_space {
		padding-right: .5em;
		display: block;
	}
	.mailform .form_col-l {
		flex-basis: 27.08vw;
		padding-left: 1.56vw;
		padding-right: 1.56vw;
	}
	.mailform .form_col-r,
	.confirm .mailform .form_col-r {
		padding-left: 1.56vw;
		padding-right: 1.56vw;
	}
	.mailform .form_col2 p:nth-child(2),
	.mailform .zip_group + p {
		margin-left: 1.56vw;
	}
	.mailform .form_col2 p:first-child,
	.mailform .zip_group {
		flex-basis: 34.24vw;
	}
	.mailform select {
		margin: 0 1.04vw;
		padding-right: 1.3vw;
		padding-left: 1.3vw;
	}

	/* confirm */
	.confirm .mailform .form_btn {
		display: block;
	}
	.confirm .mailform .btn_back {
		margin-top: 40px;
	}
}
/* SP
---------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.contact .sec_inner {
		padding: 0 5.33vw;
	}
	.contact .page_ttl_area {
		padding: 25px 5.33vw 40px;
	}

	.contact .page_ttl {
		font-size: 2.6rem;
	}
	.contact .page_ttl_en {
		font-size: 1rem;
	}
	.contact .info_txt,
	.contact .txt_area .txt,
	.contact .txt_list,
	.mailform .form_col-l,
	.mailform .form_col-r,
	.mailform .form_head,
	.mailform .form_foot {
		font-size: 1.3rem;
	}

	.contact .info_box {
		margin: 30px auto;
	}
	.contact .info_txt {
		padding: 15px;
	}
	.contact .txt_area .txt {
		margin: 20px 0;
	}
	.contact .txt_list {
		margin: 20px 0;
	}
	.contact .txt_area .txt + .txt_list {
		margin-top: -20px;
	}

	.mailform {
		margin: 25px auto;
	}
	.mailform .form_head {
		padding-left: 15px;
	}
	.mailform .form_group {
		display: block;
		margin-bottom: 15px;
	}
	.mailform .form_group + .form_group {
		border-top-width: 1px;
	}
	.mailform .form_col1 p:first-child, .mailform .form_col2 {
		display: block;
		min-height: auto;
	}
	.mailform .form_col-l {
		min-height: auto;
		padding: 15px;
		border-right: none;
		border-bottom: 1px solid #e6e6e6;
	}
	.mailform .form_col-l span {
		line-height: 18px;
	}
	.mailform .form_col-l .required {
		font-size: .9rem;

		flex-basis: 45px;
	}
	.mailform .form_col-r {
		display: block;
		min-height: auto;
		padding: 15px;
	}

	.mailform input[type='text'],
	.mailform input[type='email'],
	.mailform input[type='tel'],
	.mailform textarea,
	.mailform select {
		padding: 9px 10px;
		font-size: 1.6rem;
	}
	.mailform select {
		margin: 0 6px;
		padding-right: 5px;
		padding-left: 5px;
	}
	.mailform textarea {
		min-height: 140px;
	}
	.mailform .radio {
		display: inline-block;
		height: 24px;
		margin: 0;
	}
	.mailform .form_col1 p:first-child,
	.mailform .form_in_col2 {
		max-width: 100%;
	}
	.mailform .form_col2 p:nth-child(2),
	.mailform .zip_group + p {
		margin-left: 0;
	}
	.mailform .form_col2 p + p,
	.mailform .zip_group + p {
		margin-top: 8px;
		margin-bottom: -7px;
	}
	.mailform .form_in_col2 p:nth-child(2) {
		margin-left: 0;
	}
	.mailform .btn_zip {
		padding: 11px 8px;
		height: 46px;
	}
	.mailform .inquiry_group {
		display: block;
	}
	.mailform .inquiry_group-item .txt_b {
		margin-top: 16px;
	}
	.mailform .inquiry_group .inquiry_group-item:first-child .txt_b:first-child {
		margin-top: 0;
	}
	.mailform .inquiry_group-item {
		margin-top: 0;
	}
	.mailform .form_foot_inner {
		margin-left: 0;
	}
	.tetsudo .mailform .form_foot_inner {
		margin-left: 0;
	}
	.mailform .form_foot p {
		margin: 15px auto;
	}
	.mailform .form_foot p + p {
		margin-top: 30px;
	}
	.mailform .form_btn {
		margin: 30px auto;
	}
	.mailform .form_btn .btn_submit {
		/* font-size: 1.9rem; */
	}
	.mailform .form_group .alert {
		margin-top: 8px;
	}
	/* datepicker */
	.ui-datepicker {
		max-width: 300px;
		min-width: 20em;
		width: calc(100% - 10.66vw - 30px)
	}
	.ui-datepicker td span,
	.ui-datepicker td a {
		padding: .72em;
	}
	/* confirm */
	.confirm .mailform .form_col-r {
			padding: 15px;
	}
	.confirm .mailform .btn_back {
		margin-top: 30px;
	}

}