@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Inter:wght@400..700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
		-webkit-font-smoothing: antialiased;
}
table {
		border-collapse: collapse;
}
img {
		border: none;
		vertical-align: top;
}
body {
		font-family: 'Inter', 'Noto Sans JP', sans-serif;
		font-size: 16px;
		color: #1E1E1E;
		-webkit-text-size-adjust: 100%;
		text-rendering: optimizeLegibility;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url("../images/bg_texture.png");
		background-color: #f5f5f5
}
@media(max-width: 767px) {
		html.bodyLock {
				overflow: hidden;
		}
		body {
				font-size: 15px;
		}
}
h1, h2, h3, h4, h5, p, li, dt, dd, th, td {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.page_shell {
		overflow-x: clip;
}
.wrap {
		max-width: 960px;
		padding: 50px;
		margin: 0 auto;
}
.header_wrap {
		position: fixed;
		top: 34px;
		left: 0;
		width: 100%;
		z-index: 5000;
		box-sizing: border-box;
		padding: 0 30px
}
header {
		width: 100%;
		height: 60px;
		background: #fff;
		border-radius: 60px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		padding-left: 20px;
		padding-right: 75px;
		position: relative;
}
.header_inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		box-sizing: border-box;
}
.header_logo_gr {
		display: flex;
		align-items: center;
}
.header_logo {
		width: 197px;
		border-right: 1px solid #1E1E1E;
		line-height: 1;
		margin: 0 24px 0 0;
		padding: 0 24px 0 0;
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_logo_gr p {
		font-size: 14px;
		font-weight: 500;
}
.header_inner_right {
		display: flex;
		align-items: center;
}
.header_inner li {
		font-size: 15px;
		list-style: none
}
.header_inner a {
		color: #1E1E1E;
		text-decoration: none;
}
@media (hover: hover) {
		.header_inner a:hover {
				color: #3DAE35;
		}
}
ul.desktop_global {
		display: flex;
		align-items: center;
}
.desktop_global > li {
		font-size: 15px;
		margin-right: 20px;
		font-weight: 500;
}
.desktop_global > li a {
		display: flex;
		align-items: center;
		height: 60px;
		position: relative;
}
.desktop_global > li a::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 3px;
		background: #3DAE35;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0)
}
.desktop_global > li.isOpen > a {
		color: #3DAE35;
}
.desktop_global > li.isOpen a::before {
		transform: scaleX(1)
}
@media (hover: hover) {
		.desktop_global > li a:hover::before {
				transform: scaleX(1)
		}
}
ul.desktop_global ul {
		display: block
}
.menu_parent {
		position: relative;
}
.menu_parent > a {
		cursor: pointer
}
.menu_parent .subnav {
		z-index: 500;
		overflow: hidden;
		position: absolute;
		width: 280px;
		display: none;
		top: 50px;
		left: -30px;
}
.subnav_in {
		background: #fff;
		box-sizing: border-box;
		border-radius: 16px;
		padding: 20px 30px;
		margin-top: 20px;
}
.subnav ul li {
		margin-bottom: 15px;
}
.subnav ul li:last-child {
		margin-bottom: 0;
}
.subnav ul li a {
		position: relative;
		padding-left: 20px;
		height: auto;
		display: inline
}
.subnav ul li a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: 0;
		width: 14px;
		height: 14px;
		background: #3DAE35;
		border-radius: 50%;
}
.subnav ul li a::after {
		content: '';
		display: block;
		position: absolute;
		width: 0;
		height: 0;
		top: calc(50% - 2.9px);
		left: 5px;
		border-style: solid;
		border-top: 3px solid transparent;
		border-bottom: 3px solid transparent;
		border-left: 5px solid #fff;
		border-right: 0;
}
.header_btn_gr {
		width: 247px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 15px;
		font-weight: 500;
}
.header_btn {
		width: 120px;
}
.header_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 40px;
		border-radius: 60px;
		transition: background 0.2s;
		color: #fff;
		box-sizing: border-box;
}
.header_btn a span {
		transform: translateY(-1px)
}
.recruitBtn {
		border: 1px solid #3DAE35;
		background: #3DAE35;
}
.contactBtn {
		border: 1px solid #328C5F;
		background: #328C5F;
}
@media (hover: hover) {
		.header_btn a.recruitBtn:hover {
				background: #fff;
				color: #3DAE35;
		}
		.header_btn a.contactBtn:hover {
				background: #fff;
				color: #328C5F;
		}
}
@media(max-width: 1350px) {
		.header_logo {
				width: 170px;
				height: 26px;
				margin: 0 14px 0 0;
				padding: 0 14px 0 0;
		}
		.header_logo_gr p {
				font-size: 12px;
		}
		.header_inner li {
				font-size: 14px;
		}
		.desktop_global > li {
				margin-right: 15px;
		}
		.header_btn_gr {
				width: 225px;
				font-size: 14px;
		}
		.header_btn {
				width: 110px;
		}
}
@media(max-width: 1200px) {
		.header_logo {
				width: 150px;
				height: 23px
		}
		.header_logo_gr p {
				font-size: 11px;
		}
		.header_inner li {
				font-size: 13px;
		}
		.desktop_global > li {
				font-size: 13px;
		}
		.header_btn_gr {
				width: 200px;
				font-size: 13px;
		}
		.header_btn {
				width: calc(50% - 2px);
		}
}
@media(max-width: 1150px) {
		.header_logo {
				width: 170px;
				height: 26px;
				margin: 0 14px 0 0;
				padding: 0 14px 0 0;
		}
		.header_logo_gr p {
				font-size: 12px;
		}
}
@media(max-width: 767px) {
		.header_wrap {
				top: 0;
				padding: 20px 15px 10px;
		}
		.header_wrap.isWht {
				background: #fff;
		}
		header {
				height: 44px;
				padding: 0 15px;
		}
		.header_logo {
				width: 130px;
				height: 20px;
				margin: 0 10px 0 0;
				padding: 0 10px 0 0;
		}
		.header_logo_gr p {
				font-size: 11px;
		}
}
.isOpen .header_inner_right {
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s;
}
header .hmb_nav {
		position: absolute;
		right: 20px;
		top: 16px;
		width: 40px;
		height: 40px;
}
/* ============== */
.sp_nav, .sp_nav_trigger {
		width: 40px;
		height: 30px;
}
@media(max-width: 1100px) {
		.header_inner_right {
				display: none
		}
}
.sp_nav_trigger {
		background: none;
		border: none;
		cursor: pointer;
		display: inline-block;
		position: relative;
}
.sp_nav_trigger .sp_nav_trigger_bar {
		display: block;
		position: absolute;
		top: 17px;
		left: 0;
		height: 2px;
		width: 40px;
		background: #3DAE35;
		z-index: 2;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
}
.sp_nav_trigger .sp_nav_trigger_bar:first-child {
		top: 0;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
		top: 7px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		top: 14px;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:first-child {
		transform: translateY(7px) rotate(30deg);
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(2) {
		opacity: 0;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3) {
		transform: translateY(-7px) rotate(-30deg);
}
.hmb_nav .sp_nav_trigger_txt {
		position: absolute;
		bottom: -3px;
		left: 0;
		width: 100%;
		text-align: center;
		font-size: 11px;
		font-weight: 500;
		color: #3DAE35;
		pointer-events: none
}
@keyframes fadeOp {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
@media(max-width: 1100px) {
		.hmb_nav .sp_nav_trigger_txt {
				display: none
		}
		header .hmb_nav {
				position: absolute;
				top: 7px;
				right: 9px;
				width: 46px;
				height: 46px;
		}
		.hmb_nav, .sp_nav_trigger {
				width: 46px;
				height: 46px;
		}
		.sp_nav_trigger::after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 46px;
				height: 46px;
				background: #328C5F;
				border-radius: 50%;
				pointer-events: none;
				z-index: 1;
				transition: background 0.2s;
		}
		.sp_nav_trigger .sp_nav_trigger_bar {
				left: 11px;
				height: 2px;
				width: 24px;
				background: #fff;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:first-child {
				top: 17px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
				top: 22px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
				top: 27px;
		}
		.sp_nav_trigger.navOpen .sp_nav_trigger_bar:first-child {
				transform: translateY(5px) rotate(30deg);
		}
		.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(2) {
				opacity: 0;
		}
		.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3) {
				transform: translateY(-5px) rotate(-30deg);
		}
}
@media(max-width: 767px) {
		header .hmb_nav {
				top: 5px;
				right: 8px;
				width: 36px;
				height: 36px;
		}
		.hmb_nav, .sp_nav_trigger {
				width: 36px;
				height: 36px;
		}
		.sp_nav_trigger::after {
				width: 36px;
				height: 36px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar {
				top: 17px;
				left: 9px;
				width: 18px;
				height: 1px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:first-child {
				top: 12.5px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
				top: 17.5px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
				top: 22.5px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:first-child {
				top: 12px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
				top: 17px;
		}
		.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
				top: 22px;
		}
		.sp_nav_trigger.navOpen .sp_nav_trigger_bar:first-child {
				transform: translateY(5px) rotate(30deg);
		}
		.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(2) {
				opacity: 0;
		}
		.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3) {
				transform: translateY(-5px) rotate(-30deg);
		}
}
.navBoard {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		min-height: 550px;
		z-index: 1000;
		display: none;
		background: #fff;
}
.navBoard_inner {
		display: flex;
		justify-content: center;
		align-items: center;
}
@media (min-width: 961px) and (max-height: 600px) {
		.navBoard_inner {
				display: flex;
				justify-content: center;
				align-items: flex-start;
				padding-top: 100px;
		}
}
.navBoard_col_flex {
		display: flex;
}
.navBoard_inner_menu li {
		list-style: none
}
.navBoard_inner_menu li a {
		text-decoration: none;
		color: #fff;
}
.navBoard .navBoard_footer {
		position: absolute;
		left: 0;
		bottom: 30px;
		width: 100%;
}
.navBoard_footer_inner {
		max-width: 1300px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		padding: 0 20px;
}
.navBoard_col {
		width: 250px;
		margin: 0 25px;
}
.navBoard_hd {
		font-size: 22px;
		font-weight: 500;
		padding-bottom: 10px;
		margin-bottom: 15px;
		border-bottom: 1px solid #B4B4B4;
}
footer .navBoard_hd {
		font-size: 18px;
		border-bottom: 1px solid #fff;
}
@media(min-width: 768px) {
		.menu_trigger {
				display: none
		}
}
@media(max-width: 767px) {
		.hd_link {
				display: none
		}
}
.navBoard_col li {
		list-style: none;
		margin: 0 0 15px;
		font-weight: 500;
}
@media(max-width: 767px) {
		.navBoard_col li {
				margin-bottom: 0;
		}
}
.navBoard_col ul li:last-child {
		margin-bottom: 0;
}
.hd_link a, .navBoard_col li a {
		position: relative;
		padding-left: 20px;
		color: #1e1e1e;
		text-decoration: none;
}
@media(max-width: 767px) {
		.navBoard_col li a {
				display: block;
				padding-top: 8px;
				padding-bottom: 8px;
		}
}
.hd_link a {
		padding-left: 0;
}
.navBoard_col li a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: 0;
		width: 14px;
		height: 14px;
		background: #3DAE35;
		border-radius: 50%;
}
.navBoard_col li a::after {
		content: '';
		display: block;
		position: absolute;
		width: 0;
		height: 0;
		top: calc(50% - 2.9px);
		left: 5px;
		border-style: solid;
		border-top: 3px solid transparent;
		border-bottom: 3px solid transparent;
		border-left: 5px solid #fff;
		border-right: 0;
}
@media (hover: hover) {
		.hd_link a:hover, .navBoard_col li a:hover {
				color: #3DAE35;
		}
}
.navBoard_btn_gr {
		margin-top: 60px;
}
.navBoard_btn {
		margin-bottom: 15px;
		font-size: 15px;
		font-weight: 500;
}
.navBoard_btn a {
		display: flex;
		align-items: center;
		line-height: 1.4;
		color: #fff;
		text-decoration: none;
		box-sizing: border-box;
		height: 60px;
		border: 1px solid #3DAE35;
		background: #3DAE35;
		border-radius: 8px;
		padding-left: 12px;
		position: relative;
		transition: background 0.2s;
}
.navBoard_btn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 15px;
		right: 15px;
		width: 30px;
		height: 30px;
		background: #fff;
		border-radius: 50%;
		transition: background 0.2s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.navBoard_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 25px;
		right: 26px;
		width: 8px;
		height: 8px;
		border-top: 2px solid #3DAE35;
		border-right: 2px solid #3DAE35;
		transform: rotate(45deg);
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1)
}
@media (hover: hover) {
		.navBoard_btn a:hover {
				background: #fff;
				color: #3DAE35;
		}
		.navBoard_btn a:hover::before {
				background: #3DAE35;
				transform: translateX(-8px);
		}
		.navBoard_btn a:hover::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
				transform: translateX(-8px) rotate(45deg);
		}
}
.copy {
		font-size: 12px;
		font-family: 'Inter', sans-serif;
		letter-spacing: 0.03em
}
.navBoard_footer_inner ul {
		display: flex;
		align-items: center;
		list-style: none;
		margin-left: 210px;
		font-size: 14px;
}
.navBoard_footer_inner ul li {
		margin-right: 40px;
}
.navBoard_footer_inner ul li:last-child {
		margin-right: 0;
}
.navBoard_footer_inner ul li a {
		color: #1e1e1e;
		text-decoration: none;
}
@media (hover: hover) {
		.navBoard_footer_inner ul li a:hover {
				color: #3DAE35;
		}
}
@media(max-width: 1100px) {
		.navBoard_col {
				width: 220px;
				margin: 0 15px;
		}
		.navBoard_hd {
				font-size: 18px;
				padding-bottom: 5px;
				margin-bottom: 20px;
		}
		.navBoard_btn a {
				padding-left: 10px;
		}
		.navBoard_btn a::before {
				top: 18px;
				right: 13px;
				width: 24px;
				height: 24px;
		}
		.navBoard_btn a::after {
				top: 26px;
				right: 22px;
				width: 6px;
				height: 6px;
		}
		.navBoard_footer_inner ul {
				margin-left: 50px;
		}
		.navBoard_footer_inner ul li {
				margin-right: 20px;
		}
}
@media(min-width: 767px) {
		.navBoard_flex_exBtn {
				display: none
		}
}
@media(max-width: 767px) {
		.navBoard_inner, .navBoard_col_flex {
				display: block;
		}
		.navBoard_inner {
				padding-top: 80px;
				overflow: auto;
				height: calc(100vh - 100px) !important;
		}
		.navBoard_col {
				width: 100%;
				margin: 0;
				box-sizing: border-box;
				padding: 0;
				border-top: 1px solid #C8C8C8;
		}
		.navBoard_col.last {
				padding: 0;
		}
		.navBoard_hd {
				font-size: 16px;
				padding: 15px 20px;
				margin-bottom: 0;
				border: none;
				position: relative;
				cursor: pointer;
		}
		.navBoard_hd::before, .navBoard_hd::after {
				content: '';
				display: block;
				position: absolute;
				top: calc(50% - 1px);
				right: 20px;
				width: 16px;
				height: 2px;
				background: #3DAE35;
				transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		}
		footer .navBoard_hd::before, footer .navBoard_hd::after {
				right: 20px;
				background: #fff;
		}
		.navBoard_hd::after {
				transform: rotate(90deg);
		}
		.navBoard_hd.isOpen::before {
				opacity: 0;
		}
		.navBoard_hd.isOpen::after {
				transform: rotate(360deg);
		}
		.main_menu li {
				font-size: 16px;
				font-weight: 500;
				margin: 0 !important;
				border-bottom: 1px solid #C8C8C8;
		}
		.navBoard_col .main_menu li a {
				display: block;
				padding: 15px 20px;
		}
		.main_menu li {
				position: relative;
		}
		.main_menu li::after {
				content: '';
				display: block;
				position: absolute;
				top: calc(50% - 4px);
				right: 25px;
				width: 8px;
				height: 8px;
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
				transform: rotate(45deg);
		}
		footer .main_menu li::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
		.navBoard_btn_gr {
				display: none;
		}
		.navBoard_btn {
				margin: 0;
				font-size: 16px;
				font-weight: 500;
				border-bottom: 1px solid #C8C8C8;
		}
		.navBoard_btn a {
				display: block;
				padding: 15px 20px;
				background: none;
				color: #1e1e1e;
				border: none;
				height: auto;
		}
		.navBoard_btn a::before {
				display: none
		}
		.navBoard_btn a::after {
				content: '';
				display: block;
				position: absolute;
				top: calc(50% - 4px);
				left: inherit;
				right: 25px;
				width: 8px;
				height: 8px;
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
				transform: rotate(45deg);
				background: none;
		}
		.navBoard_btn a:hover::after {
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
		}
		.navBoard_btn br {
				display: none
		}
		.nav_cont {
				height: 0;
				overflow: hidden;
				padding-left: 20px;
				transition: height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
		}
		footer .nav_cont {
				padding-left: 20px;
		}
		.nav_cont.isOpen {
				padding-top: 5px;
				padding-bottom: 10px;
		}
		.navBoard_col li a {
				padding-left: 0;
		}
		.navBoard_col li a::before, .navBoard_col li a::after {
				display: none
		}
		.navBoard_flex_exBtn {
				padding: 0 20px;
				margin: 40px 0 30px;
		}
		.navBoard_exBtn {
				width: 100%;
				font-weight: 500;
		}
		.navBoard_flex_exBtn .navBoard_exBtn {
				margin-bottom: 15px;
		}
		.navBoard_exBtn a {
				height: 60px;
				display: flex;
				align-items: center;
				line-height: 1.4;
				color: #fff;
				text-decoration: none;
				background: #3DAE35;
				border: 1px solid #3DAE35;
				border-radius: 8px;
				padding-left: 12px;
				position: relative;
				transition: background 0.2s;
		}
		.navBoard_exBtn a::before, .navBoard_exBtn a::after {
				content: '';
				display: block;
				position: absolute;
		}
		.navBoard_exBtn a::before {
				top: 15px;
				right: 15px;
				width: 30px;
				height: 30px;
				background: #fff;
				border-radius: 50%;
				transition: background 0.2s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		}
		.navBoard_exBtn a::after {
				top: 25px;
				right: 26px;
				width: 8px;
				height: 8px;
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
				transform: rotate(45deg);
				transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1)
		}
		.navBoard .navBoard_footer {
				position: static;
				left: 0;
				display: block;
				width: 100%;
				padding-bottom: 80px;
		}
		.navBoard_footer_inner {
				display: flex;
				flex-direction: column-reverse;
				align-items: flex-start;
				padding-bottom: 80px;
				text-align: left;
		}
		.navBoard_footer_inner ul {
				display: block;
				text-align: left;
				margin: 0 0 40px;
		}
		.navBoard_footer_inner ul li {
				margin: 0 0 10px;
		}
		.copy {
				font-size: 10px;
				letter-spacing: 0;
		}
}
@media (hover: hover) {
		.footer_exBtn a:hover {
				background: #328C5F;
				color: #fff;
		}
		.footer_exBtn a:hover::before {
				background: #fff;
				transform: translateX(-8px);
		}
		.footer_exBtn a:hover::after {
				border-top: 2px solid #328C5F;
				border-right: 2px solid #328C5F;
				transform: translateX(-8px) rotate(45deg);
		}
}
/* ================ */
footer {
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url("../images/bg_texture_dark.png");
		background-color: #2a9164;
		position: relative;
		z-index: 5;
		padding: 60px 40px 30px;
		color: #fff;
}
footer a, footer .hd_link a {
		color: #fff;
		text-decoration: none;
}
@media (hover: hover) {
		footer a:hover, footer .hd_link a:hover {
				color: #fff;
		}
}
.footer_inner {
		max-width: 1260px;
		margin: 0 auto 60px;
		display: flex;
		justify-content: space-between;
}
.footer_inner li {
		list-style: none
}
.footer_left {
		width: 330px;
}
.footer_logo {
		width: 330px;
		margin: 0 0 50px
}
.footer_logo img {
		width: 100%;
		height: auto;
}
.footer_right {
		display: flex;
}
.footer_right .nav_cont li {
		font-size: 15px;
		margin-bottom: 12px;
}
.footer_right .main_menu li {
		margin-bottom: 18px;
		font-weight: 500;
}
.footer_right .footer_col {
		margin-right: 50px;
		min-width: 200px;
}
.footer_right .footer_col:last-child {
		min-width: inherit;
		margin-right: 0;
}
.footer_exBtn_flex {
		width: 250px;
}
.footer_exBtn {
		margin: 0 0 17px;
		font-weight: 500;
}
.footer_exBtn a {
		display: flex;
		align-items: center;
		line-height: 1.4;
		color: #328C5F;
		text-decoration: none;
		box-sizing: border-box;
		height: 60px;
		background: #fff;
		border: 1px solid #fff;
		border-radius: 8px;
		padding-left: 12px;
		position: relative;
		transition: background 0.2s;
}
.footer_exBtn a::before, .footer_exBtn a::after {
		content: '';
		display: block;
		position: absolute;
}
.footer_exBtn a::before {
		top: 15px;
		right: 15px;
		width: 30px;
		height: 30px;
		background: #328C5F;
		border-radius: 50%;
		transition: background 0.2s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.footer_exBtn a::after {
		top: 25px;
		right: 26px;
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1)
}
@media (hover: hover) {
		.footer_exBtn a:hover {
				background: #328C5F;
				color: #fff;
		}
		.footer_exBtn a:hover::before {
				background: #fff;
				transform: translateX(-8px);
		}
		.footer_exBtn a:hover::after {
				border-top: 2px solid #328C5F;
				border-right: 2px solid #328C5F;
				transform: translateX(-8px) rotate(45deg);
		}
}
.footer_exBtn a span {
		transform: translateY(1px)
}
.copyright_flex {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: 1260px;
		margin: 0 auto;
}
.copyright_flex ul {
		display: flex;
		align-items: center;
		list-style: none;
		width: 750px;
}
.copyright_flex ul li {
		font-size: 14px;
		margin-right: 40px;
}
.copyright_flex ul li:last-child {
		margin-right: 0;
}
@media(max-width: 1200px) {
		.footer_left {
				width: 260px;
		}
		.footer_logo {
				width: 260px;
				margin: 0 0 50px
		}
		.footer_right .footer_col {
				margin-right: 30px;
				min-width: 170px;
		}
		.copyright_flex ul {
				width: 600px;
		}
}
@media(max-width: 1100px) {
		footer {
				padding: 60px 20px 30px;
		}
		.footer_inner {
				margin: 0 auto 120px;
				display: block;
		}
		.footer_left {
				display: flex;
				align-items: center;
				justify-content: space-between;
				width: 100%;
				margin: 0 0 50px;
		}
		.footer_right .footer_col {
				margin-right: 50px;
				min-width: calc(calc(100% - 150px) / 3);
		}
		.footer_logo {
				margin-bottom: 0;
		}
		.footer_exBtn_flex {
				width: 310px;
		}
		.footer_exBtn {
				margin: 0;
		}
		.copyright_flex {
				display: block;
		}
		.copyright_flex .footer_left {
				display: none
		}
		.copyright_flex ul {
				width: auto;
		}
		.copyright_flex ul li {
				margin-right: 20px;
		}
}
footer .pagetop {
		position: absolute;
		width: 70px;
		height: 70px;
		right: 40px;
		bottom: 40px;
		cursor: pointer;
		font-size: 10px;
}
.pagetop a {
		display: block;
		width: 70px;
		height: 70px;
		color: rgba(255, 255, 255, 0) !important;
		text-decoration: none;
}
.pagetop::before, .pagetop::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 70px;
		height: 70px;
		pointer-events: none
}
.pagetop::before {
		border-radius: 50%;
		border: 1px solid #fff;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.pagetop::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 70px;
		background-image: url("../images/pagetop_arw_pc.png");
}
@media (hover: hover) {
		.pagetop:hover::before {
				transform: scale(1.2)
		}
}
@media(max-width: 1100px) {
		footer .pagetop {
				right: 20px;
				bottom: 70px;
		}
}
@media(min-width: 768px) {
		.footer_right .footer_exBtn_flex {
				display: none
		}
}
@media(max-width: 767px) {
		footer {
				padding: 40px 0 20px;
		}
		.footer_inner {
				margin-bottom: 50px;
		}
		.footer_left .footer_exBtn_flex {
				display: none
		}
		.footer_logo {
				width: 200px;
				margin: 0 20px 40px;
		}
		.footer_left {
				display: block;
				margin: 0;
		}
		.footer_right {
				display: block;
		}
		.footer_right .footer_col {
				margin-right: 0;
				min-width: inherit;
				width: 100%;
		}
		footer .navBoard_hd {
				width: 100%;
				margin: 0;
				box-sizing: border-box;
				padding: 15px 20px;
				border-top: 1px solid #fff;
				border-bottom: none;
				font-size: 16px;
		}
		footer .main_menu li a {
				width: 100%;
				margin: 0;
				box-sizing: border-box;
				padding: 15px 20px;
				display: block;
		}
		footer .main_menu {
				border-top: 1px solid #fff;
		}
		footer .main_menu li {
				font-size: 16px;
		}
		footer .main_menu li br {
				display: none
		}
		.footer_right .footer_exBtn_flex {
				width: 100%;
				margin: 50px auto;
				display: block;
				padding: 0 20px;
				box-sizing: border-box;
		}
		.footer_exBtn {
				width: 100%;
				font-size: 16px;
		}
		.footer_right .footer_exBtn_flex .footer_exBtn {
				margin-bottom: 15px;
		}
		.copyright_flex {
				display: flex;
				flex-direction: column-reverse;
				align-items: flex-start;
				padding: 0 20px;
		}
		.copyright_flex ul {
				display: block;
				align-items: flex-start;
				margin-left: 0;
				margin-bottom: 90px
		}
		.copyright_flex ul li {
				margin: 0 0 15px
		}
		.copyright_flex ul li:last-child {
				margin: 0;
		}
		footer .pagetop {
				width: 40px;
				height: 40px;
				right: 25px;
				bottom: 30px;
		}
		.pagetop a {
				width: 40px;
				height: 40px;
		}
		.pagetop::before, .pagetop::after {
				width: 40px;
				height: 40px;
		}
		.pagetop::after {
				background-size: 40px;
				background-image: url("../images/pagetop_arw_sp.png");
		}
}
.footer_copyright {
		background: #fff;
		padding: 20px;
		position: relative;
		z-index: 5
}
.footer_copyright_inner {
		max-width: 1260px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
}
.footer_copyright_inner p {
		font-size: 12px;
		font-weight: 500;
}
.holidings_logo {
		width: 420px;
}
.holidings_logo img {
		width: 100%;
		height: auto;
}
@media(max-width: 960px) {
		.footer_copyright_inner p {
				font-size: 11px;
		}
		.holidings_logo {
				width: 360px;
		}
}
@media(max-width: 767px) {
		.footer_copyright_inner {
				display: flex;
				flex-direction: column-reverse;
				align-items: flex-start
		}
		.holidings_logo {
				max-width: 360px;
				width: 100%;
				margin: 0 0 25px;
		}
		.footer_copyright_inner p {
				font-size: 10px;
		}
}
/* ==================== */
/* ==================== */
*::selection {
		background: #ccc !important;
		-webkit-background-clip: inherit;
		-webkit-text-fill-color: #1B1F21;
		color: #328C5F;
}
::-moz-selection {
		background: #f5f5f5;
}