@charset "utf-8";

/* -------------------------------------------------- */
/* COMMON */
/* -------------------------------------------------- */
#pageTtl {
	background-image: url(../img/contact_ttl_bg.jpg);
}

#contact {
	letter-spacing: .1em;
}

#contactInner {
	width: 1000px;
	padding-bottom: 133px;
}

/* リード */
/* -------------------------------------------------- */
#contactlead {
	margin-bottom: 31px;
	text-align: center;
}

.contactleadWrap:not(:last-child) {
	margin-bottom: 91px;
}

.contactleadTxt {
	margin-bottom: 27px;
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: .15em;
}

/* 入力画面 */
#contactTelNum {
	padding-top: 23px;
	font-size: 3.3rem;
	font-weight: 500;
}

/* 確認画面 */
#contactCautionTxt {
	color: #F21928;
}

/* 完了画面 */
#contactEndTxt {
	color: #0D54A7;
}

/* サイドバー */
/* -------------------------------------------------- */
#pageContainer {
	column-gap: 45px;
}

#sidebar {
	width: 200px;
}

.sidebarItem {
	padding: 10px 13px;
	background: #C2C2C2;
	color: #FFFFFF;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}

.sidebarItem.current {
	background: linear-gradient(90deg, #008CCF 0%, #10459C 100%);
}

.sidebarItem:not(:last-child) {
	margin-bottom: 20px;
}

.sidebarItem:not(:last-child)::before,
.sidebarItem:not(:last-child)::after {
	display: block;
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #B5D7FF;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.sidebarItem:not(:last-child)::before {
	bottom: -8px;
}

.sidebarItem:not(:last-child)::after {
	bottom: -17px;
}

.step {
	padding-right: 9px;
	border-right: 1px solid #FFFFFF;
	font-family: 'Jost', sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
}

.step span {
	display: block;
	font-size: 2rem;
}

.stepTxt {
	padding-left: 13px;
	font-size: 1.6rem;
	font-weight: bold;
}

/* フォーム */
/* -------------------------------------------------- */
#contactformWrap {
	width: calc(100% - 245px);
}

#contactformList {
	margin-bottom: 19px;
}

#contactformList dt {
	padding: 19px 5px 3px;
	border-top: 1px solid #F4F4F4;
	font-size: 1.4rem;
	font-weight: bold;
}

#contactformList dt span {
	display: inline-block;
	margin-left: 7px;
	padding: 0 6px;
	background: #0D54A7;
	color: #FFFFFF;
	font-size: 1.2rem;
	font-weight: normal;
}

#contactformList dd {
	padding: 3px 5px 19px;
	width: 100%;
}

#contactformList dd:last-child {
	border-bottom: 1px solid #F4F4F4;
}

#contactformList input,
#contactformList textarea {
	width: 100%;
	padding: 11px 17px;
	border: none;
	background: #F4F4F4;
	font-size: 1.6rem;
}

#contactformList textarea {
	height: 175px;
	overflow: auto;
}

/* 件名 */
#formSubject label {
	display: inline-block;
}

#formSubject label:not(:last-child) {
	margin-right: 10px;
}

#formSubject input {
	width: auto;
	vertical-align: text-bottom;
}

/* エラー */
.errForm {
	background-color: #F3BCBF !important;
}

.errorMessage {
	color: #F21928;
	font-size: 1.2rem;
}

/* プライバシーポリシー */
/* -------------------------------------------------- */
#ppWrap {
	margin-bottom: 30px;
	padding: 17px 19px;
	background: #DEEEF6;
	font-size: 1.4rem;
}

.ppSubhead {
	margin-bottom: 13px;
	font-weight: bold;
}

/* ボタン */
/* -------------------------------------------------- */
#formBtnWrap {
	text-align: center;
}

#formBtnCheckBox {
	margin-bottom: 29px;
}

.contactBtn a,
button.contactBtn {
	display: block;
	width: 280px;
	max-width: 100%;
	margin: auto;
	padding: 18px 21px;
	border: 1px solid #0D54A7;
	border-radius: 30px;
	background: #FFFFFF;
	color: #0D54A7;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: .1em;
	text-align: center;
	position: relative;
	transition: all .3s;
	cursor: pointer;
}

.contactBtn a::after,
button.contactBtn::after {
	display: inline-block;
	content: url(../img/common/arrow_right_color.png);
	position: absolute;
	top: 50%;
	right: 27px;
	transform: translateY(-50%);
	transition: all .3s;
}

/* ホバーアクション */
.contactBtn a:hover,
.contactBtn a:active,
button.contactBtn:hover,
button.contactBtn:active {
	background: #0D54A7;
	color: #FFFFFF;
}

.contactBtn a:hover::after,
.contactBtn a:active::after,
button.contactBtn:hover::after,
button.contactBtn:active::after {
	content: url(../img/common/arrow_right.png);
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	#pageContainer {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		row-gap: 40px;
	}

	#contactformWrap {
		width: 100%;
	}
}

/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	.contactleadWrap:not(:last-child) {
		margin-bottom: 50px;
	}

	#contactTelNum {
		padding-top: 10px;
	}

	#formSubject label {
		display: block;
	}
}