@charset "UTF-8";
.sections {
  opacity: 0; /* 初期状態で非表示 */
}
.header-box .menus .menu ul li a {
	color: #483D3A !important;
}
.section01 {
	height: 600px;
}
/* タイトル アニメーション */
.section01 .animate_titleBox {
	position: absolute;
	top: 34%;
	left: 20%;
	z-index: 2;
	width: 100%;
	max-width: 250px;
	height: 100px;
	overflow: hidden;
	display: block;
}
.section01 .animate_titleBox svg {
/*	width: 100%;*/
	max-width: 350px;
}
.section01 .animate_titleBox text {
	font-size: 50px;
}


.contact_page_box {
	background-color: #F5F5F5;
}

.section02 {
	padding: 0px 20px;
}
.section02 .tel_box {
	width: 100%;
	max-width: 500px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
}
.section02 .tel_box a {
	color: #483D3A;
	text-decoration: none;
	padding: 20px;
	display: block;
}
.section02 .tel_box a span {
	display: block;
	font-family: "Noto Sans JP",sans-serif;
}
.section02 .tel_box a .text01 {
	font-size: 18px;
}
.section02 .tel_box a .phone_num {
	position: relative;
	width: 256px;
	font-size: 34px;
	font-weight: bold;
	text-align: right;
	margin: 20px auto;
	padding-right: 15px;
	transition: all 0.5s ease-in-out;
}
.section02 .tel_box a:hover .phone_num {
	color: #1E6D64;
}
.section02 .tel_box a .phone_num:after {
	position: absolute;
	top: 5px;
	left: 0;
	content: '';
	width: 28px;
	height: 28px;
	background-image: url(../img/common/icon-tel.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto;
}
.section02 .tel_box a .text02 {
	font-size: 16px;
}




.border_top {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 1px;
	background-color: #979797;
}
@keyframes border_top {
	0% {
		width: 0;
	}
	70% {
		width: 0;
	}
	100% {
		width: 100%;
	}
}

.border_left {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 0;
	background-color: #979797;
}
@keyframes border_left {
	0% {
		height: 0;
	}
	70% {
		height: 0;
	}
	100% {
		height: 100%;
	}
}

.border_right {
	position: absolute;
	top: 100%;
	right: 0;
	width: 1px;
	height: 100%;
	background-color: #979797;
}
@keyframes border_right {
	0% {
		top: 100%;
	}
	70% {
		top: 100%;
	}
	100% {
		top: 0;
	}
}
.border_bottom {
	position: absolute;
	bottom: 0;
	left: 100%;
	width: 100%;
	height: 1px;
	background-color: #979797;
}
@keyframes border_bottom {
	0% {
		left: 100%;
	}
	70% {
		left: 100%;
	}
	100% {
		left: 0;
	}
}


.text01 {
	position: relative;
	transform: translate(0%,-30%);
	opacity: 0;
}
@keyframes text01 {
	0% {
		transform: translate(0%,-30%);
		opacity: 0;
	}
	70% {
		transform: translate(0%,-30%);
		opacity: 0;
	}
	100% {
		transform: translate(0%,0%);
		opacity: 1;
	}
}
.phone_num {
	position: relative;
	opacity: 0;
}
@keyframes phone_num {
	0% {
		opacity: 0;
	}
	70% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.text02 {
	position: relative;
	transform: translate(0%,30%);
	opacity: 0;
}
@keyframes text02 {
	0% {
		transform: translate(0%,30%);
		opacity: 0;
	}
	70% {
		transform: translate(0%,30%);
		opacity: 0;
	}
	100% {
		transform: translate(0%,0%);
		opacity: 1;
	}
}



.contact_form {
	color: #483D3A;
	font-family: "Noto Sans JP",sans-serif;
	margin-top: 50px;
	margin-bottom: 100px;
	padding: 0px 20px;
}
.contact_form .form_title {
	font-size: 16px;
	line-height: 1.5;
	padding: 20px 0px;
	display: block;
}
.contact_form form {

}
.contact_form .form-group {
	padding: 40px 0px;
	border-bottom: 1px solid #979797;
}
.contact_form .form-group label {
	width: 250px;
	display: flex;
	align-items: center;
}
.contact_form .form-group label .label {
	width: 200px;
	font-size: 18px;
}
.contact_form .form-group label .required {
	width: 70px;
	color: #FFFFFF;
	font-size: 14px;
	text-align: center;
	padding: 10px 10px;
	background-color: #1E6D64;
}
.contact_form .form-group .fields {
	width: 100%;
	box-sizing: border-box;
	margin-top: 10px;
}
.contact_form .form-group .fields input[type=text],
.contact_form .form-group .fields input[type=email],
.contact_form .form-group .fields input[type=tel] {
	width: 100%;
	font-size: 16px;
	box-sizing: border-box;
	padding: 10px 10px;
}
.contact_form .form-group .fields .tooltip {
	font-size: 14px;
	margin-top: 10px;
	display: block;
}
.contact_form .form-group .fields textarea {
	width: 100%;
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
	padding: 10px; 
}
.contact_form .form-group .checkbox-group {
	line-height: 2;
}
.contact_form .other-group {
	line-height: 2;
	margin-top: 50px;
	margin-bottom: 50px;
}
.contact_form .other-group label {
	font-size: 18ox;
	font-weight: bold;
}
.contact_form .form-actions {
	width: 350px;
	margin-top: 100px;
	margin-left: auto;
	margin-right: auto;
}
.contact_form .form-actions button {
	width: 100%;
	color: #FFFFFF;
	text-align: center;
	padding: 15px;
	box-sizing: border-box;
	border-radius: 10px;
}

.contact_form .form-actions button[type=submit] {
	background-color: #1E6D64;
	border: 1px solid #1E6D64;
}
.contact_form .form-actions button[type=button] {
	background-color: #E7900D;
	border: 1px solid #E7900D;
}

/* 確認画面用のボタン */
.contact_form .form-actions {
	width: 100%;
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	gap: 20px;
}

/* 送信完了 */
.complete .animate_titleBox {
	top: 15%;
	
}
.complete .section01 {
	height: 362px;
}
.complete {
	padding-bottom: 100px;
	padding: 20px;
}
.contact-form {
	width: 100%;
	max-width: 500px;
	margin-top: 20px;

}
.contact-form .sub_form {
	text-align: left;
	line-height: 1.5;
	margin-bottom: 100px;
	padding: 20px;
	background-color: #FFFFFF;
}
.contact-form .sub_form h2 {
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
	display: block;
}
.contact-form .sub_form p {
	font-size: 15px; 
	text-align: center;
	display: block;
}
.contact-form .sub_form span {
	margin-top: 15px;
	display: block;
}



