@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-JYJ */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.content {
	min-width: 106.4rem;
}

/* comBtn */
.comBtn a {
	margin: 0 auto;
	padding-left: 1.6rem;
	position: relative;
	font-size: 1.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 5.7rem;
	width: 16.6rem;
	letter-spacing: 0.09em;
	border-radius: 3rem;
	color: #fff;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	text-align: center;
	background: linear-gradient(135deg, #63b7c6, #5b83bf);
}
.comBtn a::before {
	display: block;
	position: absolute;
	content: "";
}
.comBtn a::after {
	display: block;
	position: absolute;
	content: "";
}
.comBtn a::before {
	top: 50%;
	left: 0;
	transform: translate(100%, -25%);
	width: 1.6rem;
	height: 2.4rem;
	background-image: url(../image/common/ico_mail.svg);
	background-repeat: no-repeat;
	background-size: 100%;
}
.comBtn a:hover {
	opacity: 0.6;
}
.comBtn02 a {
	width: 24rem;
	padding-left: 0;
}
.comBtn02 a::before {
	display: none;
}
.comBtn02 a::after {
	position: absolute;
	content: "";
	right: 2.4rem;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 0.6rem;
	height: 0.6rem;
	border-top: 0.2rem solid #fff;
	border-right: 0.2rem solid #fff;
}
@media all and (min-width: 897px) {
	.comBtn02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		width: 16rem;
		height: 4rem;
	}
}
/* comBox */
.comBox {
	width: 100rem;
	padding: 0 6.4rem;
	margin: 0 auto;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.comBox {
		padding: 0 2rem;
		width: auto;
	}
}
.j-mecUnderlayerWrap {
	display: block;
	position: relative;
	box-sizing: border-box;
	height: 100%;
	padding: 10.4rem;
	background: #f2f5f7;
}
.j-mecUnderlayerInner {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: #fff;
}


/* headLine01 */
.headLine01 {
	margin: 0 auto 4.8rem;
	width: fit-content;
	font-size: 3rem;
	display: block;
	text-align: center;
	font-weight: 400;
	font-family: "Open Sans", sans-serif;
	letter-spacing: 0.3rem;
	line-height: 1.4;
}
.headLine01 .subTtl {
	font-size: 1.4rem;
	position: relative;
	display: block;
	padding-left: 5rem;
	color: #000000;
	letter-spacing: 0.1rem;
}
.headLine01 .subTtl:before {
	display: block;
	position: absolute;
	content: "";
}
.headLine01 .subTtl:before {
	top: 50%;
	left: 0;
	width: 4rem;
	height: 0.2rem;
	background: linear-gradient(135deg, #63b7c6, #5b83bf);
}
.headLine02 {
	margin: 0 auto 7.4rem;
	padding: 0 0.2rem 0.2rem;
	line-height: 1.5;
	width: fit-content;
	font-size: 2.8rem;
	text-align: center;
	font-weight: 400;
	letter-spacing: 0.075em;
	background: linear-gradient(to right, #63b7c6, #5b83bf) no-repeat center bottom / 100% 0.2rem;
}
@media all and (min-width: 897px) {
	.aboutBox .headLine01 {
		margin-bottom: 2.4rem;
		text-align: left;
	}
	.companyBox .headLine01 .subTtl {
		position: relative;
		padding-left: 3.6rem;
	}
	.companyBox .headLine01 .subTtl:before {
		display: block;
		position: absolute;
		content: "";
	}
	.companyBox .headLine01 .subTtl:before {
		left: 2rem;
	}
	.comFormBox  .headLine01 {
		margin-bottom: 5.1rem;
	}
	.comFormBox  .headLine01 .subTtl {
		position: relative;
		padding-left: 4.2rem;
	}
	.comFormBox  .headLine01 .subTtl:before {
		display: block;
		position: absolute;
		content: "";
	}
	.comFormBox  .headLine01 .subTtl:before {
		left: 0.6rem;
	}
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 4rem;
		font-size: 2rem;
	}
	.headLine02 {
		margin-bottom: 5rem;
		font-size: 2rem;
	}
}

.comTable table {
	width: 87.2rem;
	text-align: left;
	border-collapse: collapse;
}
.comTable table th {
	width: 22.4rem;
	background: #f2f5f7;
}
.comTable table th,
.comTable table td {
	border-color: #e6e6e6;
	border-style: solid;
	border-width: 0.1rem 0 0;
	height: auto !important;
	padding: 2.4rem;
	line-height: 1.8;
	letter-spacing: 0.075em;
	word-break: break-all;
}
.comTable table td a {
	color: #0000ee;
}
.comTable table td a:visited {
	color: #551a8b;
}
.comTable table th {
	font-weight: 500;
	vertical-align: top;
}
.comTable table tr:last-child th,
.comTable table tr:last-child td {
	border-color: #e6e6e6;
	border-style: solid;
	border-width: 0.1rem 0 0.1rem;
}
.comTable table td .mapBox {
	margin: 2.9rem 0 0.8rem;
	aspect-ratio: 1.333;
}
.comTable table td .mapBox iframe {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comTable .textList li {
	position: relative;
	padding-left: 1.7rem;
	text-indent: -1.7rem;
}
.comTable .textList li::before {
	content: "・";
	display: inline;
}
@media all and (min-width: 897px) {
	.comTable table td a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	.comTable table {
		width: 100%;
	}
	.comTable table th,
	.comTable table td {
		padding: 1rem;
		width: 100% !important;
		display: block;
	}
	.comTable table td .mapBox {
		margin: 2.8rem 0 1.6rem;
	}
	.comTable table tr:last-child th {
		border-bottom: none;
	}
}

/* comFormBox */
.comFormBox {
	padding: 8.1rem 0 10.4rem;
	background: #f2f5f7;
	text-align: center;
}
.comFormBox .errorMsg {
	margin-bottom: 2rem;
}
.comFormBox .errorMsg li {
	color: #F00;
}
.comFormBox .text {
	margin-bottom: 3.2rem;
}
.comFormBox .telTtl {
	font-size: 1.6rem;
	font-weight: 600;
}
.comFormBox .telBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 70rem;
	box-sizing: border-box;
	margin: 0 auto 5.6rem;
	padding: 1.6rem 4rem;
	border-top: 0.1rem solid #333;
	border-bottom: 0.1rem solid #333;
}
.comFormBox .telBox .telTxt {
	font-size: 1.4rem;
	color: gray;
}
.comFormBox .telBox .tel {
	font-size: 2.6rem;
	position: relative;
	display: inline-block;
	padding-left: 2.4rem;
	color: #333;
	font-family: "Open Sans", sans-serif;
	letter-spacing: 0.2rem;
	font-weight: 600;
}
.comFormBox .telBox .tel:before {
	display: block;
	position: absolute;
	content: "";
}
.comFormBox .telBox .tel:before {
	top: 50%;
	left: 0;
	transform: translate(0%, -36%);
	width: 2.2rem;
	height: 2.6rem;
	background-image: url(../image/common/ico_tel_black.svg);
	background-repeat: no-repeat;
}
.comFormBox .mailForm {
	width: 70rem;
	margin: 0 auto;
	text-align: left;
	line-height: 1.8;
}
.comFormBox .mailForm dt {
	margin-bottom: 1.2rem;
	font-weight: 600;
}
.comFormBox .mailForm dd {
	margin-bottom: 2.4rem;
}
.comFormBox input[type="text"],
.comFormBox input[type="tel"],
.comFormBox input[type="email"],
.comFormBox textarea {
	font-size: 1.6rem;
	width: 100%;
	height: 5.1rem;
	box-sizing: border-box;
	padding: 1.3rem 2.4rem;
	border: none;
	border-radius: 0.4rem;
	background: #fff;
	color: #333;
	letter-spacing: 0.15rem;
	resize: none;
}
.comFormBox textarea {
	padding: 1.2rem 2.4rem;
	min-height: 22.4rem;
	resize: vertical;
	font-weight: 500;
	display: block;
}
.comFormBox input::-webkit-input-placeholder,
.comFormBox textarea::-webkit-input-placeholder {
	color: #999;
	opacity:1;
}
.comFormBox input::-moz-placeholder,
.comFormBox textarea::-moz-placeholder {
	color: #999;
	opacity:1;
}
.comFormBox .submit {
	margin-top: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2.5rem;
}
.comFormBox .submit input {
	width: 24rem;
	height: 5.3rem;
	position: relative;
	font-size: 1.4rem;
	border-radius: 3rem;
	color: #fff;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s;
	border: none;
	background: linear-gradient(135deg, #63b7c6, #5b83bf);
}
.comFormBox .submit li {
	position: relative;
}
.comFormBox .submit li::before {
	content: "";
	position: absolute;
	right: 2.4rem;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 0.6rem;
	height: 0.6rem;
	border-top: 0.2rem solid #fff;
	border-right: 0.2rem solid #fff;
	z-index: 2;
}
.comFormBox.confirm {
	padding: 12.4rem 0 12rem;
	background: #fff;
}
.comFormBox.confirm th,
.comFormBox.confirm td {
	padding: 2.6rem 2rem 2.3rem 4rem;
	border-color: #ccc !important;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	vertical-align: middle;
}
.comFormBox.confirm th {
	width: 22.1rem;
	font-weight: 600;
}
.comFormBox.confirm td {
	font-weight: 300;
}
.comFormBox.confirm .submit {
	margin-top: 8.6rem;
}
.comFormBox.confirm .submit li {
	position: relative;
}
.comFormBox.confirm .submit input {
	font-size: 1.6rem;
	width: 22.6rem;
	background: linear-gradient(135deg, #63b7c6, #5b83bf);
	font-family: "Noto Sans JP",sans-serif;
}
.comFormBox .submit .backBtn input {
	width: 16.6rem;
	background: linear-gradient(135deg, #dededc, #afb3b3);
}
.comFormBox.confirm .submit li.backBtn::before {
	content: "";
	top: 50%;
	transform: translateY(-50%) rotate(-135deg);
	right: auto;
	left: 3.3rem;
}
.thanksBox {
	padding: 12.4rem 0 12rem;
	min-height: calc(100vh - 9.1rem);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
.thanksBox .comBox {
	margin-bottom: 10rem;
	width: 75rem;
	line-height: 1.9;
	letter-spacing: 0.05em;
}
.thanksBox .comBox p + p {
	margin-top: 3.6rem;
}
.thanksBox .comBox p a {
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.5;
}
@media all and (min-width: 897px) {
	.comFormBox .submit input:hover {
		opacity: 0.6;
	}
}
@media all and (max-width: 896px) {
	.comFormBox {
		padding-top: 5rem;
	}
	.comFormBox .telBox {
		width: auto;
		display: block;
	}
	.comFormBox .mailForm {
		width: auto;
	}
	.comFormBox input[type="text"],
	.comFormBox input[type="tel"],
	.comFormBox input[type="email"] {
		padding: 0.5rem 1rem;
		height: 4rem;
		font-size: 1.4rem;
	}
	.comFormBox textarea {
		padding: 1rem;
		min-height: 15rem;
		font-size: 1.4rem;
	}
	.comFormBox .submit {
		gap: 1rem;
	}
	.comFormBox .submit input {
		height: 4rem;
	}
	.comFormBox .submit li::before {
		right: 2rem;
	}
	.comFormBox.confirm .submit input {
		font-size: 1.4rem;
		width: 16rem;
	}
	.comFormBox .submit .backBtn input {
		width: 12rem;
	}
	.comFormBox.confirm .submit li.backBtn::before {
		left: 2rem;
	}
	.comFormBox.confirm th,
	.comFormBox.confirm td {
		padding: 1rem;
	}
	.thanksBox {
		min-height: calc(100svh - 6.8rem);
	}
	.thanksBox .comBox {
		margin-bottom: 5rem;
		width: auto;
	}
}
/* comMainVisual */
.comMainVisual {
	padding-top: 8.9rem;
	height: 30rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../image/common/main_img.png) no-repeat left top / cover;
}
.comMainVisual .pageTitle {
	font-size: 3rem;
	color: #fff;
	text-align: center;
	letter-spacing: 0.1em;
	font-weight: 500;
}
.comMainVisual .innerBox .j-mecMainVisualIconBlock {
	display: flex;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 100;
	width: 460px;
	margin: 30px 0 0 -200px;
}
@media all and (max-width: 896px) {
	.comMainVisual {
		padding-top: 6rem;
		height: 23rem;
	}
	.comMainVisual .pageTitle {
		font-size: 2.5rem;
	}
}
.comBg {
	background: #f2f5f7;
}
/* fadeInUp */
.fadeInUp {
	opacity: 0;
	transform: translateY(40px);
	transition: all ease .5s;
}
.fadeInUp.on {
	opacity: 1;
	transform: translateY(0);
}