@charset "utf-8";
.company_nav {
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 10
}
.company_nav ul {
		display: flex;
		justify-content: center;
		align-items: center;
		list-style: none;
}
.company_nav ul li {
		margin: 0 13px;
		width: 135px;
}
.company_nav ul li a {
		color: #1e1e1e;
		display: block;
		text-decoration: none;
		padding-bottom: 10px;
		position: relative;
		border-bottom: 1px solid #1e1e1e;
}
.company_nav ul li a::before {
		content: '';
		display: block;
		position: absolute;
		width: 0;
		height: 0;
		right: 1px;
		top: calc(50% - 6px);
		border-style: solid;
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
		border-top: 7px solid #1e1e1e;
		border-bottom: 0;
}
.company_nav ul li a::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 1px;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
		transform-origin: left center;
		background: #3DAE35;
		transform: scaleX(0);
}
@media (hover: hover) {
		.company_nav ul li a:hover {
				color: #3DAE35;
		}
		.company_nav ul li a:hover::before {
				border-top: 7px solid #3DAE35;
		}
		.company_nav ul li a:hover::after {
				transform: scaleX(1);
		}
}
.company_hd {
		font-size: 42px;
		font-weight: 500;
		margin: 120px 0 35px;
}
.company_hd span {
		position: relative;
		display: inline-block;
		padding-left: 100px;
}
.company_hd span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: 56px;
		width: 23px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 23px;
		background-image: url("../images/icon_logo_grn_m.png")
}
.company_sb {
		font-size: 24px;
		font-weight: 500;
		margin: 0 0 15px;
}
.access_sb_flex {
		display: flex;
		justify-content: space-between;
		margin: 0 0 25px;
}
@media(max-width: 960px) {
		.access_sb_flex p br.spbr {
				display: block;
		}
		.access_sb_flex p {
				line-height: 1.6;
		}
}
.access_cont_flex {
		display: flex;
		justify-content: space-between;
		padding-bottom: 50px;
		margin-bottom: 50px;
		border-bottom: 1px solid #B4B4B4;
}
.section_col .access_cont_flex:last-child {
		padding-bottom: 0;
		margin-bottom: 0;
		border-bottom: none;
}
.access_cont_photo, .access_cont_map {
		width: calc(50% - 10px);
}
.access_cont_photo img {
		width: 100%;
		height: auto;
}
.access_cont_map iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 5.8;
}
.section_col table {
		width: 100%;
		border-top: 1px solid #B4B4B4;
}
.section_col table th, .section_col table td {
		line-height: 1.8;
		border-bottom: 1px solid #B4B4B4;
		padding: 20px 0;
}
.section_col table th {
		color: #3DAE35;
		width: 25%;
		text-align: left;
		font-weight: 500;
		border-left: none;
		border-right: none;
}
.section_col table td {
		border-left: none;
		border-right: none;
}
.section_col table tr:first-child th, .section_col table tr:first-child td {
		border-top: none;
}
.section_col td ul {
		list-style: none
}
.section_col.first td a {
		display: block;
		color: #1e1e1e;
		text-decoration: none;
		position: relative;
}
.section_col.first td a::before, .section_col.first td a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 15px);
		right: 30px;
		width: 30px;
		height: 30px;
		box-sizing: border-box;
}
.section_col.first td a::before {
		border: 1px solid rgba(30, 30, 30, 0.8);
		border-radius: 50%;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), background 0.4s, border 0.2s;
}
.section_col.first td a.toLink::after, .section_col.first td a.blankPDF::after, .section_col.first td a.blankLink::after {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 30px;
}
.section_col.first td a.toLink::after {
		background-image: url("../images/icon_toLink_blk.png")
}
.section_col.first td a.blankPDF::after {
		background-image: url("../images/icon_blankPDF_blk.png")
}
.section_col.first td a.blankLink::after {
		background-image: url("../images/icon_blankLink_blk.png")
}
@media (hover: hover) {
		.section_col td a:hover {
				color: #3DAE35;
		}
		.section_col.first td a:hover::before {
				transform: scale(1.3);
				background: #3DAE35;
				border: 1px solid rgba(30, 30, 30, 0);
		}
		.section_col.first td a.toLink:hover::after {
				background-image: url("../images/icon_toLink_wht.png")
		}
		.section_col.first td a.blankPDF:hover::after {
				background-image: url("../images/icon_blankPDF_wht.png")
		}
		.section_col.first td a.blankLink:hover::after {
				background-image: url("../images/icon_blankLink_wht.png")
		}
}
.map_item {
		width: 100%;
		aspect-ratio: 5 / 3;
		margin: 0 0 40px;
}
.kessan_btn {
		max-width: 580px;
		margin: 120px auto 0;
		font-size: 32px;
		font-weight: 500;
		letter-spacing: 0.05em;
}
.kessan_btn a {
		display: flex;
		align-items: center;
		padding: 0 45px;
		color: #fff;
		text-decoration: none;
		height: 150px;
		border-radius: 10px;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url(../images/bg_texture.png);
		background-color: #328C5F;
		border: 1px solid #328C5F;
		transition: background 0.2s;
		position: relative;
}
.kessan_btn a::before, .kessan_btn a::after {
		content: '';
		display: block;
		position: absolute;
}
.kessan_btn a::before {
		width: 40px;
		height: 40px;
		background: #fff;
		transition: background 0.2s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		border-radius: 50%;
		right: 35px;
		top: calc(50% - 20px);
}
.kessan_btn a::after {
		width: 9px;
		height: 9px;
		top: calc(50% - 5px);
		right: 51px;
		border-top: 2px solid #328C5F;
		border-right: 2px solid #328C5F;
		transform: rotate(45deg);
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.kessan_btn a.blank::after {
		width: 15px;
		height: 12px;
		top: calc(50% - 6px);
		right: 46px;
		border-top: none;
		border-right: none;
		transform: rotate(0deg);
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 15px;
		background-image: url("../images/kessan_btn_blank_dkGrn.png");
}
.kessan_btn a span {
		position: relative;
		z-index: 5;
		padding-left: 47px;
}
.kessan_btn a span.holdings {
		padding-left: 0px;
}
.kessan_btn a span:not(.holdings)::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: 0;
		width: 23px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 23px;
		background-image: url("../images/icon_logo_wht_m.png")
}
@media (hover: hover) {
		.kessan_btn a:hover {
				background: #fff;
				color: #328C5F;
		}
		.kessan_btn a:hover span::before {
				background-image: url("../images/icon_logo_dkGrn_m.png")
		}
		.kessan_btn a:hover::before {
				background: #328C5F;
				transform: translateX(-8px);
		}
		.kessan_btn a:hover::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
				transform: translateX(-8px) rotate(45deg);
		}
		.kessan_btn a.blank:hover::after {
				border-top: none;
				border-right: none;
				transform: translateX(-8px) rotate(0deg);
				background-image: url("../images/kessan_btn_blank_wht.png");
		}
}
@media(max-width: 960px) {
		.company_nav ul li {
				margin: 0 10px;
				width: 120px;
		}
}
@media(max-width: 767px) {
		.company_nav {
				display: block;
				padding: 0 30px;
		}
		.company_nav ul {
				display: flex;
				justify-content: space-between;
				align-items: center;
				flex-wrap: wrap
		}
		.company_nav ul li {
				margin: 0 0 20px;
				width: calc(50% - 10px)
		}
		.company_hd {
				font-size: 30px;
				margin: 80px 0 20px;
		}
		.company_hd span {
				padding-left: 43px;
		}
		.company_hd span::before {
				top: calc(50% - 7px);
				left: 0;
				width: 23px;
				height: 18px;
				background-size: 23px;
		}
		.company_sb {
				font-size: 20px;
		}
		.section_col table th, .section_col table td {
				width: auto;
				text-align: left;
				padding: 0;
				display: block;
				border: none;
		}
		.section_col table th {
				padding-top: 20px;
				padding-bottom: 10px;
		}
		.section_col table td {
				padding-bottom: 20px;
				border-bottom: 1px solid #B4B4B4;
		}
		.access_cont_flex {
				display: block;
				padding-bottom: 40px;
				margin-bottom: 40px;
		}
		.access_cont_photo, .access_cont_map {
				width: 100%
		}
		.access_cont_photo {
				margin-bottom: 15px;
		}
		.linkBtn.mid {
				margin-left: auto;
				margin-right: auto;
		}
		.kessan_btn {
				margin: 80px auto 0;
				font-size: 22px;
				padding: 0 20px;
		}
		.section_col .kessan_btn {
				padding: 0;
		}
		.kessan_btn a {
				padding: 0 18px;
				height: 120px;
				border-radius: 10px;
		}
		.kessan_btn a::before {
				width: 30px;
				height: 30px;
				right: 17px;
				top: calc(50% - 15px);
		}
		.kessan_btn a::after {
				width: 8px;
				height: 8px;
				top: calc(50% - 5px);
				right: 29px;
		}
		.kessan_btn a.blank::after {
				top: calc(50% - 6px);
				right: 46px;
		}
		.section_col .kessan_btn a.blank::after {
				right: 25px
		}
		.kessan_btn a span {
				padding-left: 30px;
		}
		.kessan_btn a span.holdings {
				padding-left: 0px;
		}
		.kessan_btn a span:not(.holdings)::before {
				top: calc(50% - 8px);
				width: 20px;
				height: 16px;
				background-size: 20px;
		}
}