@charset "UTF-8";
.pc_none {
	display: none!important;
}
.sp_none {
	display: block!important;
}
@media screen and (max-width: 767px) {
	.pc_none {
		display: block!important;
	}
	.sp_none {
		display: none!important;
	}
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #ffffff;
	color: #32443A;
	font-weight: 400;
	font-feature-settings: "palt";
	letter-spacing: 1px;
	padding-top: 80px;
}
ul {
	list-style: none;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
a {
	text-decoration: none;
	color: #32443A;
	cursor: pointer;
	transition: all .5s;
}
@media screen and (min-width: 768px) {
	a:hover {
		opacity: .7;
	}
}


main {
	overflow: hidden;
}
.inner {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}
@media screen and (max-width: 767px) {
	body {
		padding-top: 0;
	}
	.inner {
		max-width: 390px;
		padding: 0 15px;
	}
}

#header {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
}
#header .header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 0 60px;
	height: 80px;
	background: #fff;
}
#header .logo {
	height: 64px;
}
#header .logo img,
#header .logo picture {
	width: auto;
	height: 100%;
	max-height: 100%;
}
#header .list {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 48px;
	margin: 0;
	padding: 0;
}
#header .list li {
	font-size: 16px;
	font-weight: 700;
}
#header .list a {
	display: inline-block;
}
#header .list .tel {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#header .list .tel a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}
#header .list .tel a svg {
	width: 19px;
	height: auto;
}
#header .list .tel a .num {
	font-family: "Montserrat", "Josefin Sans", 'Noto Sans JP', sans-serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 2px;
	color: #14763F;
}
#header .list .tel .text {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .5px;
}
#header .list .mail a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	width: 180px;
	height: 80px;
	border-radius: 4px 0 0 4px;
	background-color: #EB5437;
	border: 2px solid #EB5437;
	color: #fff;
}
#header .list .mail a svg {
	width: 26px;
}
@media only screen and (max-width: 767px) {
	#header {
		position: absolute;
	}
	#header .header_inner {
		padding: 10px;
		height: auto;
		background: transparent;
	}
	#header .logo {
		height: 104px;
	}
	#header .list {
		position: fixed;
		top: 10px;
		right: 10px;
		gap: 0;
		margin: 0;
		padding: 0;
	}
	#header .list .tel {
		display: block;
	}
	#header .list .tel a {
		width: 80px;
		height: 70px;
		border-radius: 8px 0 0 8px;
		background: #EB5437;
		border: none;
		color: #fff;
	}
	#header .list .tel a svg path{
		fill: #fff;
	}
	#header .list .mail a {
		width: 80px;
		height: 70px;
		border-radius: 0 8px 8px 0;
		background: #D14024;
		border: none;
		color: #fff;
	}
	#header .list .mail a svg path.line {
		fill: #D14024;
	}
	#header .list span {
		display: none;
	}
}


.cta_box {
	position: relative;
	background: #fff;
	border: 2px solid #99C8AE;
	border-radius: 8px;
	padding: 40px 70px 50px;
}
.cta_icon {
	position: absolute;
	top: -44px;
	left: 50px;
	width: 125px;
}
.cta_text {
	margin: 0 auto 20px;
	width: 393px;
}
.cta_flex {
	display: flex;
	justify-content: space-between;
}
.cta_flex .line {
	display: block;
	width: 2px;
	height: auto;
	background: #99C8AE;
}
.cta_tel {
	display: flex;
	align-items: center;
	width: 40%;
}
.cta_btn {
	display: flex;
	align-items: center;
	width: 50%;
}
.cta_btn img {
	margin: -3% -1.3% -2.4%;
	width: 103.5%;
	max-width: 103.5%;
}
@media only screen and (max-width: 767px) {
.cta_box {
	border-radius: 4px;
	padding: 20px;
}
.cta_icon {
	top: -76px;
	left: -5px;
	width: 90px;
}
.cta_text {
	margin: 0 auto 8px;
	width: 228px;
}
.cta_flex {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 16px;
}
.cta_flex .line {
	width: 100%;
	height: 2px;
}
.cta_tel {
	width: 90%;
}
.cta_btn {
	width: 100%;
}
.cta_btn img {
	margin: -3% -1.3% -2.4%;
	width: 103.5%;
	max-width: 103.5%;
}
}


#page_top {
	position: fixed;
	bottom: 40px;
	right: 40px;
	width: 50px;
	z-index: 10;
	opacity: 0;
	transition: all .5s;
}
#page_top svg {
	filter: drop-shadow(0 0 4px #0C65334d);
}
@media only screen and (max-width: 767px) {
	#page_top {
		bottom: 10px;
		right: 10px;
	}
}
#page_top.show {
	opacity: 1;
}


#footer {
	background-color: #0C6533;
	color: #fff;
	padding: 40px 0 90px;
}
#footer .inner {
}
#footer .footer_link {
	position: relative;
	display: flex;
	justify-content: center;
	margin-bottom: 120px;
	padding: 30px;
}
#footer .footer_link .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../img/footer_link_bg.jpg") no-repeat center / cover;
	background-color: #0C6533;
	border-radius: 8px;
	opacity: .5;
	z-index: 0;
}
#footer .footer_link .content {
	position: relative;
	width: 100%;
	max-width: 724px;
	padding: 96px 60px 40px;
	overflow: hidden;
	z-index: 1;
	background: url("../img/footer_link_content_bg.svg") no-repeat center / 100% 100%;
}
#footer .footer_link .title {
	margin: 0 auto 50px;
	width: 208px;
}
#footer .footer_link .link_wrap {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	width: 100%;
	max-width: 372px;
}
#footer .footer_link .link_wrap .link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 176px;
	height: 34px;
	padding: 0 13px 0 16px;
	border-radius: 34px;
	background-color: #0C6533;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .5px;
	color: #fff;
}
#footer .footer_link .link_wrap .link:nth-child(1) {
	order: 1;
}
#footer .footer_link .link_wrap .link:nth-child(2) {
	order: 3;
}
#footer .footer_link .link_wrap .link:nth-child(3) {
	order: 2;
}
#footer .footer_link .link_wrap .link:nth-child(4) {
	order: 4;
}
#footer .footer_link .link_wrap .link.home {
	background-color: #EB5437;
}
#footer .footer_link .icon_01 {
	position: absolute;
	top: 98px;
	left: 120px;
	width: 38px;
	z-index: -1;
}
#footer .footer_link .icon_02 {
	position: absolute;
	bottom: 40px;
	right: 50px;
	width: 170px;
	z-index: -1;
}
#footer .footer_nav {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 60px;
	margin-top: 60px;
}
#footer .footer_nav .footer_left {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 60px;
}
#footer .footer_nav .logo a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 8px;
	width: 120px;
	height: 120px;
	border-radius: 120px;
	background-color: #fff;
}
#footer .footer_nav .logo a img {
	width: 72px;
}
#footer .footer_nav .profile {
}
#footer .footer_nav .name {
	margin-bottom: 12px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}
#footer .footer_nav .info {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.75;
}
#footer .footer_nav .info .line {
	text-decoration: underline;
}
#footer .footer_nav .footer_right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 24px;
}
#footer .footer_nav .link {
	width: 25px;
	height: 25px;
}
#footer .footer_nav .link a {
	display: inline-block;
}
#footer .footer_nav .cp {
	font-size: 10px;
	font-weight: 400;
	line-height: 1.3;
}
@media only screen and (max-width: 767px) {
	#footer {
		padding: 0 0 100px;
	}
	#footer .footer_link {
		margin-bottom: 100px;
		padding: 60px 15px;
	}
	#footer .footer_link .bg {
		left: -15px;
		width: calc(100% + 30px);
		border-radius: 0;
		background: url("../img/footer_link_bg.jpg") no-repeat 26% 92% / auto 170%;
	}
	#footer .footer_link .content {
		padding: 80px 30px 200px;
		border-radius: 4px;
		background: url("../img/footer_link_content_bg_sp.svg") no-repeat center / 100% 100%;
	}
	#footer .footer_link .title {
		margin: 0 auto 40px;
		width: 166px;
	}
	#footer .footer_link .link_wrap {
		justify-content: center;
		gap: 18px;
		max-width: none;
	}
	#footer .footer_link .link_wrap .link {
		width: 100%;
		max-width: 300px;
		height: 60px;
		padding: 0 20px 0 23px;
		border-radius: 60px;
		font-size: 16px;
		letter-spacing: 1px;
	}
	#footer .footer_link .link_wrap .link:nth-child(1) {
		order: 1;
	}
	#footer .footer_link .link_wrap .link:nth-child(2) {
		order: 2;
	}
	#footer .footer_link .link_wrap .link:nth-child(3) {
		order: 3;
	}
	#footer .footer_link .link_wrap .link:nth-child(4) {
		order: 4;
	}
	#footer .footer_link .icon_01 {
		top: 63px;
		left: 40px;
		width: 32px;
	}
	#footer .footer_link .icon_02 {
		bottom: 27px;
		right: 58px;
		width: 144px;
	}
	#footer .footer_nav {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 32px;
	}
	#footer .footer_nav .footer_left {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 16px;
	}
	#footer .footer_nav .logo a {
		padding-bottom: 6px;
		width: 100px;
		height: 100px;
		border-radius: 100px;
	}
	#footer .footer_nav .logo a img {
		width: 60px;
	}
	#footer .footer_nav .profile {
	}
	#footer .footer_nav .name {
		margin-bottom: 10px;
		font-size: 20px;
		text-align: center;
	}
	#footer .footer_nav .info {
		font-size: 14px;
		text-align: center;
	}
	#footer .footer_nav .footer_right {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 32px;
	}
	#footer .footer_nav .link {
		width: 30px;
		height: 30px;
	}
	#footer .footer_nav .cp {
		font-size: 6px;
		text-align: center;
	}
}














