@charset "UTF-8";
/* **********************************************
	問い合わせページスタイル
	
	スマホ(max-width: 768px)
	タブレット（min-width: 768px）and(max-width:960px)
	PC（min-width: 960px）
	
 ********************************************** */
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
}
/* =================================================
	本文エリア
 ================================================= */
#wrapper .contents {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
	background: #fff;
	position: relative;
	z-index: 0;
}
.contactArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px 0px 100px 0px;
	text-align: center;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
}
/* 見出し */
.contactArea .mds h1 {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 40px 0px 20px;
	text-align: center;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.25em;
	color: #231815;
}
.contactArea .mds h2 {
	width: 90%;
	height: auto;
	display: block;
	margin: 30px auto;
	padding: 0px;
	text-align: left;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.75em;
	color: #231815;
}
.contactArea .mds h2 span {
	width: 100%;
	height: auto;
	display: block;
	margin: 5px auto;
	padding: 0px;
	text-align: left;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.75em;
	color: #D33F5E;
}
.contactArea .mds .eyecatch {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
}
.contactArea .mds .eyecatch img {
	width: 100%;
	height: 160px;
	object-fit: cover;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 見出し */
	.contactArea .mds h1 {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 60px 0px 30px;
		text-align: center;
		font-size: 32px;
		font-weight: 500;
		line-height: 1.25em;
		color: #231815;
	}
	.contactArea .mds h2 {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto 60px;
		padding: 0px;
		text-align: center;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.65em;
		color: #231815;
	}
	.contactArea .mds h2 span {
		width: 100%;
		height: auto;
		display: block;
		margin: 5px auto;
		padding: 0px;
		text-align: center;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.75em;
		color: #D33F5E;
	}
	.contactArea .mds p {
		width: 100%;
		height: auto;
		display: block;
		margin: 40px auto 20px;
		padding: 0px;
		text-align: center;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.65em;
		color: #231815;
	}
	.contactArea .mds p br {
		display: inline-block;
	}
	.contactArea .mds .eyecatch {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 0px;
	}
	.contactArea .mds .eyecatch img {
		width: 100%;
		height: 240px;
		object-fit: cover;
	}
}
/* =================================================
	入力フォームエリア
 ================================================= */
.formArea {
	width: 90%;
	margin: 40px auto;
	padding: 0;
	box-sizing: border-box;
}
/* fieldset全体を横並びに */
.form-group {
	width: 100%;
	display: block;
	margin-bottom: 2.5em;
	font-size: 16px;
	color: #333;
	border: none;
	box-sizing: border-box;
}
.form-group .pc, .confirm_area .pc, .thanks_area .pc {
	display: none;
}
.form-group .sp, .confirm_area .sp, .thanks_area .sp {
	display: inline-block;
}
/* 区切り線 */
.form-group.kugiri {
	padding-bottom: 40px;
	border-bottom: 1px dotted #c5cbd3;
}
/* ラベル部分 */
.form-group .form-label {
	width: 100%;
	display: block;
	margin: 0px 0px 10px;
	padding: 0;
	box-sizing: border-box;
	font-weight: 500;
	text-align: left;
}
/* 必須マーク */
.form-group .required {
	display: inline-block;
	margin: 0 0.25em 0 0;
	padding: 0.2em 0.3em;
	background-color: #ffc6da;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.5em;
	font-weight: 400;
	color: #333;
}
/* 入力欄全体 */
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group select,
.form-group textarea {
	width: 100%;
	display: block;
	padding: 0.75em;
	font-size: 16px;
	line-height: 1.5em;
	font-weight: 400;
	color: #333;
	background-color: #fcfcfc;
	border: 1px solid #eff1f3;
	border-radius: 6px;
	box-sizing: border-box;
	outline: none;
}
/* エラーメッセージ */
.error-msg {
	margin: 10px 0px 0px;
	font-size: 14px;
	line-height: 1.5em;
	font-weight: 500;
	color: #f00;
	display:none;
}
/* 所属（法人個人） */
.form-group.belonging,
.form-group.gender {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.form-group.belonging div:not(.form-label),
.form-group.gender div:not(.form-label) {
	width: 100%;
	display: block;
	margin: 30px 0px 10px;
	padding: 0;
	box-sizing: border-box;
	font-weight: 400;
	text-align: left;
}
/* セレクトエリア */
.form-group select {
	appearance: none;
	-webkit-appearance: none; /* Safari */
	-moz-appearance: none;    /* Firefox */
	padding: 0.75em;
	position: relative;
}
.select-wrap {
	position: relative;
}
.select-wrap::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #666;
	border-left: 2px solid #666;
	transform: translateY(-50%) rotate(-135deg);
	font-size: 20px;
	pointer-events: none;
}
/* テキストエリア */
.form-group textarea {
	height: 250px;
}
/* placeholderの色 */
.form-group ::placeholder {
	color: #aaa;
}
/* きっかけチェックボックス */
.form-group.opportunity {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.form-group.opportunity div.form-label {
	width: 100%;
	display: block;
	margin: 0px auto;
	padding: 0;
	box-sizing: border-box;
}
.form-group.opportunity div:not(.form-label) {
	width: 100%;
	display: block;
	margin: 0px auto;
	padding: 0;
	box-sizing: border-box;
	font-weight: 400;
	text-align: left;
}
.form-group.opportunity ul {
	width: 100%;
	height: auto;
	display: block;
	margin: 20px auto 0px;
	padding: 0;
	box-sizing: border-box;
	list-style: none;
	font-size: 14px;
	line-height: 1.5em;
	font-weight: 400;
	color: #333;
}
.form-group.opportunity ul li {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	margin: 0px auto 10px;
	padding: 0;
}
.form-group.opportunity input[type=checkbox] {
	margin: 0px 10px 0px 0px;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.formArea {
		width: 100%;
		max-width: 860px;
		margin: 80px auto;
		padding: 0;
		box-sizing: border-box;
	}
	/* fieldset全体を横並びに */
	.form-group {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: nowrap;
		margin-bottom: 2.5em;
		gap: 1em; /* legendと入力欄の間 */
		font-size: 16px;
		color: #333;
		border: none;
		box-sizing: border-box;
	}
	.form-group .pc, .confirm_area .pc, .thanks_area .pc {
		display: inline-block;
	}
	.form-group .sp, .confirm_area .sp, .thanks_area .sp {
		display: none;
	}
	/* 区切り線 */
	.form-group.kugiri {
		padding-bottom: 40px;
		border-bottom: 1px dotted #c5cbd3;
	}
	/* ラベル部分 */
	.form-group .form-label {
		width: 15.5em;
		display: block;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		font-weight: 500;
		text-align: left;
	}
	/* 必須マーク */
	.form-group .required {
		display: inline-block;
		margin: 0 0.5em 0 0;
		padding: 0.2em 0.3em;
		background-color: #ffc6da;
		border-radius: 3px;
		font-size: 14px;
		line-height: 1.5em;
		font-weight: 400;
		color: #333;
	}
	/* 所属（法人個人） */
	.form-group.belonging,
	.form-group.gender {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	.form-group.belonging div.form-label,
	.form-group.gender div.form-label {
		width: 15em;
		display: block;
		margin: 0px auto;
		padding: 0;
		box-sizing: border-box;
	}
	.form-group.belonging div:not(.form-label),
	.form-group.gender div:not(.form-label) {
		width: calc(100% - 16em);
		display: block;
		margin: 0px auto;
		padding: 0;
		box-sizing: border-box;
		font-weight: 400;
		text-align: left;
	}
	.form-group.belonging div.last,
	.form-group.gender div.last {
		width: 100%;
	}
	.select-wrap {
		width: 100%;
		position: relative;
	}
	.select-wrap::after {
		content: "";
		position: absolute;
		top: 20px;
		right: 15px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #666;
		border-left: 2px solid #666;
		transform: translateY(-50%) rotate(-135deg);
		font-size: 20px;
		pointer-events: none;
	}
	/* セレクトエリア */
	.form-group select {
		width: 100%;
		appearance: none;
		-webkit-appearance: none; /* Safari */
		-moz-appearance: none;    /* Firefox */
		padding: 0.75em;
		position: relative;
	}
	/* テキストエリア */
	.form-group textarea {
		height: 250px;
	}
	/* placeholderの色 */
	.form-group ::placeholder {
		color: #aaa;
	}
	/* きっかけチェックボックス */
	.form-group.opportunity {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	.form-group.opportunity div.form-label {
		width: 13em;
		display: block;
		margin: 0px auto;
		padding: 0;
		box-sizing: border-box;
	}
	.form-group.opportunity div:not(.form-label) {
		width: calc(100% - 15.5em);
		display: block;
		margin: 0px auto;
		padding: 0;
		box-sizing: border-box;
		font-weight: 400;
		text-align: left;
	}
	.form-group.opportunity ul {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 0;
		box-sizing: border-box;
		list-style: none;
		font-size: 14px;
		line-height: 1.5em;
		font-weight: 400;
		color: #333;
	}
	.form-group.opportunity ul li {
		width: 100%;
		height: auto;
		display: flex;
		align-items: center;
		margin: 0px auto 15px;
		padding: 0;
	}
}
/* =================================================
	個人情報の取り扱い説明エリア（プライバシーポリシーはcmn）
 ================================================= */
.contactArea .formArea .privacy {
	width: 100%;
	height: auto;
	display: block;
	margin: 60px auto;
	padding: 20px;
	text-align: left;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.75em;
	color: #222;
	background: #eff1f3;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.contactArea .formArea .privacy {
		width: 100%;
		max-width: 860px;
		height: auto;
		display: block;
		margin: 60px auto;
		padding: 30px;
		text-align: left;
		font-size: 14px;
		font-weight: 400;
		line-height: 2em;
		color: #222;
		background: #eff1f3;
	}
}
/* =================================================
	入力内容確認ボタン
 ================================================= */
.cmfrmbtn {
	width: 100%;
	max-width: 500px;
	height: 85px;
	display: block;
	margin: 0px auto 20px 0px;
	padding: 15px 0px;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.75em;
	color: #fff;
	background: #D33F5E;
	border: 2px solid #D33F5E;
	border-radius: 15px;
	cursor: pointer;
	transition: all 0.3s ease;
}
.wpcf7 .cmfrmbtn:disabled {	/* contact form7 の調整 */
	cursor: not-allowed;
	background: #ccc;
	border: 2px solid #ccc;
	transition: all 0.3s ease;
}
.cmfrmbtn:hover {
	color: #fff;
	background: #D33F5E;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}
.backbtn {
	width: 100%;
	max-width: 500px;
	height: 85px;
	display: block;
	margin: 0px auto 20px;
	padding: 15px 0px;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.75em;
	color: #D33F5E;
	background: #fff;
	border: 2px solid #D33F5E;
	border-radius: 15px;
	cursor: pointer;
	transition: all 0.3s ease;
}
.backbtn:hover {
	color: #fff;
	background: #D33F5E;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.btnArea {
		width: 100%;
		max-width: 860px;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 50px;
		margin: 0px auto;
		padding: 30px;
		text-align: center;
		transition: all 0.3s ease;
	}
	.cmfrmbtn {
		width: 100%;
		max-width: 500px;
		height: 85px;
		display: block;
		margin: 0px auto 30px;
		padding: 15px 0px;
		text-align: center;
		font-size: 24px;
		font-weight: 500;
		line-height: 1.75em;
		color: #fff;
		background: #D33F5E;
		border: 2px solid #D33F5E;
		border-radius: 15px;
		cursor: pointer;
		transition: all 0.3s ease;
	}
	.cmfrmbtn:hover {
		color: #fff;
		background: #D33F5E;
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
	}
	.backbtn {
		width: 100%;
		max-width: initial;
		height: 85px;
		display: block;
		margin: 0px auto 20px;
		padding: 15px 0px;
		text-align: center;
		font-size: 24px;
		font-weight: 500;
		line-height: 1.75em;
		color: #D33F5E;
		background: #fff;
		border: 2px solid #D33F5E;
		border-radius: 15px;
		cursor: pointer;
		transition: all 0.3s ease;
	}
	.backbtn:hover {
		color: #fff;
		background: #D33F5E;
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
	}
}
/* =================================================
	【入力確認画面】 contact-confirmページ用スタイル
 ================================================= */
.confirm-text {
	width: 100%!important;
	margin: 10px auto 0px!important;
	padding: 10px!important;
	font-size: 20px;
	font-weight: 500!important;
	line-height: 1.5em;
	text-align: left!important;
	color: #888;
	background: #F9FAFA;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.confirm-text {
		width: 100%!important;
		margin: 10px auto 0px!important;
		padding: 10px!important;
		font-size: 22px;
		font-weight: 500!important;
		line-height: 1.5em;
		text-align: left!important;
		color: #888;
		background: #F9FAFA;
	}
}
/* =================================================
	【送信完了画面】 contact-thanksページ用スタイル
 ================================================= */
.thanks-links {
	width: 90%;
	display: block;
	margin: 60px auto;
	padding: 0px 0px 0px 15px;
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75em;
}
.thanks-links p {
	margin: 0px auto 20px;
}
.thanks-links a {
	width: 100%;
	height: auto;
	padding: 0px 0px 3px 0px;
	color: #666;
	text-decoration: none;
	border-bottom: 1px solid #fff;
	position: relative;
}
.thanks-links a:hover {
	color: #333;
	border-bottom: 1px solid #333;
}
.thanks-links a::after {
	content: '';
	width: 10px;
	height: 10px;
	margin: auto;
	border-top: 1px solid #1e22aa;
	border-right: 1px solid #1e22aa;
	transform: rotate(45deg);
	box-sizing: border-box;
	position: absolute;
	top: -3px;
	bottom: 0;
	left: -20px;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.thanks-links {
		width: 100%;
		max-width: 220px;
		display: block;
		margin: 80px auto;
		padding: 0px 0px 0px 25px;
		text-align: left;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.75em;
	}
	.thanks-links p {
		margin: 0px auto 20px;
	}
	.thanks-links a {
		width: 100%;
		height: auto;
		padding: 0px 0px 3px 0px;
		color: #666;
		text-decoration: none;
		border-bottom: 1px solid #fff;
		position: relative;
	}
	.thanks-links a:hover {
		color: #333;
		border-bottom: 1px solid #333;
	}
	.thanks-links a::after {
		content: '';
		width: 10px;
		height: 10px;
		margin: auto;
		border-top: 1px solid #1e22aa;
		border-right: 1px solid #1e22aa;
		transform: rotate(45deg);
		box-sizing: border-box;
		position: absolute;
		top: -3px;
		bottom: 0;
		left: -20px;
	}
}
/* =================================================
	【入力確認／送信完了画面】 初期設定（非表示）
 ================================================= */
/*確認画面と完了画面を非表示*/
.contactArea.confirm,
.contactArea.contacted {
	display: none;
}
/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output{
	display: none;
}
