@charset "utf-8";
.wrap780 {
		max-width: 780px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap780.center {
		display: flex;
		justify-content: center;
}
.wrap790 {
		max-width: 790px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap810 {
		max-width: 810px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap860 {
		max-width: 860px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap920 {
		max-width: 920px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap980 {
		max-width: 980px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap1120 {
		max-width: 1120px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap1180 {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap1280 {
		max-width: 1280px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
.wrap1340 {
		max-width: 1340px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 5
}
@media(max-width: 767px) {
		.wrap780, .wrap790, .wrap810, .wrap860, .wrap920, .wrap980, .wrap1120, .wrap1180, .wrap1280, .wrap1340 {
				padding: 0 20px
		}
}
.main_contents {
		padding-bottom: 120px;
}
/* =========== */
.linkBtn {
		width: 210px;
		font-weight: 500;
}
.linkBtn.wide {
		width: 280px;
}
.linkBtn.large {
		width: 320px;
}
.linkBtn.mid {
		width: 240px;
}
.philosophy_btn_gr .linkBtn {
		width: 280px;
		margin: 0 0 15px
}
.philosophy_btn_gr .linkBtn:last-child {
		margin-bottom: 0;
}
.linkBtn a {
		display: flex;
		align-items: center;
		height: 50px;
		border-radius: 60px;
		color: #fff;
		text-decoration: none;
		border: 1px solid #3DAE35;
		background: #3DAE35;
		transition: background 0.2s;
		padding: 0 0 0 22px;
		position: relative;
}
.linkBtn a span {
		transform: translateY(-1px)
}
.linkBtn a.bgWht {
		color: #3DAE35;
		border: 1px solid #fff;
		background: #fff;
}
.linkBtn a.bgLtGrn {
		color: #fff;
		border: 1px solid #3DAE35;
		background: #3DAE35;
}
.linkBtn a.bgDkGrn {
		color: #328C5F;
		border: 1px solid #fff;
		background: #fff;
}
.linkBtn a .linkBtnArw {
		position: absolute;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		top: calc(50% - 15px);
		right: 8px;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.linkBtn a .linkBtnArw::before, .linkBtn a .linkBtnArw::after {
		content: '';
		display: block;
		position: absolute;
		pointer-events: none
}
.linkBtn a .linkBtnArw::before {
		border-radius: 50%;
		width: 30px;
		height: 30px;
		background: #fff;
}
.linkBtn a.bgWht .linkBtnArw::before {
		background: #3DAE35;
}
.linkBtn a.bgLtGrn .linkBtnArw::before {
		background: #fff;
}
.linkBtn a.bgDkGrn .linkBtnArw::before {
		background: #328C5F;
}
.linkBtn a .linkBtnArw::after {
		width: 8px;
		height: 8px;
		border-top: 2px solid #3DAE35;
		border-right: 2px solid #3DAE35;
		top: calc(50% - 5px);
		left: 9px;
		transform: rotate(45deg)
}
.linkBtn a.bgWht .linkBtnArw::after {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
}
.linkBtn a.bgLtGrn .linkBtnArw::after {
		border-top: 2px solid #3DAE35;
		border-right: 2px solid #3DAE35;
}
.linkBtn a.bgDkGrn .linkBtnArw::after {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
}
.linkBtn a .linkBtnArw.back::after {
		width: 8px;
		height: 8px;
		border-top: 2px solid #3DAE35;
		border-right: 2px solid #3DAE35;
		top: calc(50% - 4.5px);
		left: 12px;
		transform: rotate(-135deg)
}
.linkBtn a .linkBtnArw.top::after {
		width: 7px;
		height: 7px;
		border-top: 2px solid #3DAE35;
		border-right: 2px solid #3DAE35;
		top: calc(50% - 3px);
		left: 11px;
		transform: rotate(-45deg);
}
.linkBtn a.bgWht .linkBtnArw.back::after {
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
}
.linkBtn a.bgLtGrn .linkBtnArw.back::after {
		border-top: 2px solid #3DAE35;
		border-right: 2px solid #3DAE35;
}
.linkBtn a.bgDkGrn .linkBtnArw.back::after {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
}
.linkBtn a .linkBtnArw.blank::after {
		width: 12px;
		height: 12px;
		border: none;
		top: 9px;
		left: 9px;
		transform: rotate(0deg);
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 12px;
}
.linkBtn a.bgWht .linkBtnArw.blank::after {
		background-image: url("../images/linkBtn_blank_wht.png")
}
.linkBtn a.bgLtGrn .linkBtnArw.blank::after {
		background-image: url("../images/linkBtn_blank_ltGrn.png")
}
.linkBtn a.bgDkGrn .linkBtnArw.blank::after {
		background-image: url("../images/linkBtn_blank_wht.png")
}
.linkBtn a .linkBtnArw.file::after {
		width: 12px;
		height: 15px;
		border: none;
		top: 7px;
		left: 9px;
		transform: rotate(0deg);
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 12px;
}
.linkBtn a.bgWht .linkBtnArw.file::after {
		background-image: url("../images/linkBtn_file_wht.png")
}
.linkBtn a.bgLtGrn .linkBtnArw.file::after {
		background-image: url("../images/linkBtn_file_ltGrn.png")
}
.linkBtn a.bgDkGrn .linkBtnArw.file::after {
		background-image: url("../images/linkBtn_file_wht.png")
}
@media (hover: hover) {
		.linkBtn a:hover .linkBtnArw {
				transform: translateX(-8px);
		}
		.linkBtn a.bgWht:hover {
				background: #3DAE35;
				color: #fff;
		}
		.linkBtn a.bgLtGrn:hover {
				background: #fff;
				color: #3DAE35;
		}
		.linkBtn a.bgDkGrn:hover {
				background: #328C5F;
				color: #fff;
		}
		.linkBtn a.bgWht:hover .linkBtnArw::before {
				background: #fff;
		}
		.linkBtn a.bgLtGrn:hover .linkBtnArw::before {
				background: #3DAE35;
		}
		.linkBtn a.bgDkGrn:hover .linkBtnArw::before {
				background: #fff;
		}
		.linkBtn a.bgWht:hover .linkBtnArw::after {
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
		}
		.linkBtn a.bgLtGrn:hover .linkBtnArw::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
		.linkBtn a.bgDkGrn:hover .linkBtnArw::after {
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
		}
		.linkBtn a.bgWht:hover .linkBtnArw.back::after {
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
		}
		.linkBtn a.bgLtGrn:hover .linkBtnArw.back::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
		.linkBtn a.bgDkGrn:hover .linkBtnArw.back::after {
				border-top: 2px solid #3DAE35;
				border-right: 2px solid #3DAE35;
		}
		.linkBtn a:hover .linkBtnArw.blank::after, .linkBtn a:hover .linkBtnArw.file::after {
				border: none;
		}
		.linkBtn a.bgWht:hover .linkBtnArw.blank::after {
				background-image: url("../images/linkBtn_blank_ltGrn.png")
		}
		.linkBtn a.bgLtGrn:hover .linkBtnArw.blank::after {
				background-image: url("../images/linkBtn_blank_wht.png")
		}
		.linkBtn a.bgDkGrn:hover .linkBtnArw.blank::after {
				background-image: url("../images/linkBtn_blank_dkGrn.png")
		}
		.linkBtn a.bgWht:hover .linkBtnArw.file::after {
				background-image: url("../images/linkBtn_file_ltGrn.png")
		}
		.linkBtn a.bgLtGrn:hover .linkBtnArw.file::after {
				background-image: url("../images/linkBtn_file_wht.png")
		}
		.linkBtn a.bgDkGrn:hover .linkBtnArw.file::after {
				background-image: url("../images/linkBtn_file_dkGrn.png")
		}
}
@media(max-width: 767px) {
		.linkBtn {
				width: 190px;
		}
		.philosophy_btn_gr .linkBtn {
				width: 260px;
		}
}
/* =========== */
.underL {
		position: relative;
}
.underL::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #3DAE35;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
.underL.bgWht::after {
		background: #fff;
}
@media (hover: hover) {
		a:hover .underL::after {
				transform: scaleX(1);
		}
}
/* =========== */
.page_lead {
		text-align: center;
		line-height: 2.2;
		font-weight: 600;
		margin: 0 0 80px;
}
.wrap780.center .page_lead {
		text-align: left;
}
.page_hd {
		font-size: 42px;
		line-height: 1.6;
		font-weight: 500;
		margin: 0 0 35px;
}
.page_hd span {
		position: relative;
}
.page_hd span:not(.holdings)::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 9px);
		left: -40px;
		width: 23px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 23px;
		background-image: url("../images/icon_logo_grn_l.png")
}
.page_hd.wht {
		color: #fff;
}
.page_hd.wht span::before {
		background-image: url("../images/icon_logo_wht_l.png")
}
@media(max-width: 1200px) {
		.page_hd {
				font-size: 34px;
		}
		.page_hd span:not(.holdings) {
				padding-left: 37px;
				display: inline-block
		}
		.page_hd span:not(.holdings)::before {
				top: 15px;
				left: 0;
		}
}
@media(max-width: 767px) {
		.page_hd {
				font-size: 28px;
				margin: 0 0 20px;
		}
}
@media(max-width: 390px) {
		.page_hd {
				font-size: 26px;
		}
		.page_hd span:not(.holdings)::before {
				top: 11px;
		}
}
/* =========== */
.page_btn_flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 780px;
		margin: 0 auto 120px;
		padding: 0 30px;
}
.section_col .page_btn_flex {
		margin-bottom: 0 !important;
}
.page_btn_flex.endCenter {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 80px;
		margin-bottom: 100px;
}
.page_btn_flex.end {
		margin-top: 80px;
}
.page_btn {
		width: calc(50% - 10px);
		font-size: 20px;
		font-weight: 500;
		max-width: 350px;
}
#page_service .page_btn {
		max-width: 380px;
}
.page_btn a {
		display: flex;
		align-items: center;
		height: 90px;
		color: #fff;
		text-decoration: none;
		padding-left: 25px;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url(../images/bg_texture.png);
		background-color: #328C5F;
		border-radius: 10px;
		border: 1px solid #328C5F;
		transition: background 0.2s;
		position: relative;
}
.page_btn a span {
		transform: translateY(-1px);
		position: relative;
		z-index: 2
}
.page_btn a::before, .page_btn a::after {
		content: '';
		display: block;
		position: absolute;
}
.page_btn a::before {
		width: 30px;
		height: 30px;
		border-radius: 50%;
		background: #fff;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		right: 15px;
		top: calc(50% - 15px);
}
.page_btn a::after {
		width: 8px;
		height: 8px;
		border-top: 2px solid #328C5F;
		border-right: 2px solid #328C5F;
		top: calc(50% - 5px);
		right: 26px;
		transform: rotate(45deg);
}
@media (hover: hover) {
		.page_btn a:hover {
				background: #fff;
				color: #328C5F;
		}
		.page_btn a:hover::before {
				background: #328C5F;
				transform: scale(1.2)
		}
		.page_btn a:hover::after {
				border-top: 2px solid #fff;
				border-right: 2px solid #fff;
		}
}
@media(max-width: 767px) {
		.page_btn_flex {
				display: block;
				margin: 0 auto 80px;
				padding: 0 20px;
		}
		.page_btn_flex.endCenter {
				margin-top: 40px;
				margin-bottom: 60px;
		}
		.page_btn_flex.end {
				margin-top: 40px;
		}
		.page_btn {
				width: 100%;
				font-size: 16px;
				margin-bottom: 15px;
		}
		.page_btn_flex .page_btn:last-child {
				margin-bottom: 0;
		}
		.page_btn a {
				height: 70px;
				padding-left: 20px;
		}
		.page_btn a span {
				transform: translateY(-1px)
		}
}
/* =========== */
hgroup.section_title {
		display: flex;
		flex-direction: column-reverse;
		margin: 0 0 40px;
		position: relative;
		z-index: 5
}
.section_title.isWht {
		color: #fff;
}
hgroup.section_title .jp {
		font-size: 42px;
		line-height: 1.5;
		font-weight: 500;
}
hgroup.section_title .en {
		font-family: 'Inter', sans-serif;
		font-weight: 500;
		font-size: 14px;
		margin: 0 0 15px;
		letter-spacing: 0
}
hgroup.section_title .en span {
		position: relative;
		padding-left: 22px;
}
hgroup.section_title.alignCenter .en span {
		padding-left: 0;
		margin-left: 17px;
}
hgroup.section_title .en span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		left: 0;
		width: 13px;
		height: 10px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 13px;
		background-image: url("../images/icon_logo_grn.png")
}
hgroup.section_title .en span.holdings::before {
		display: none;
}
hgroup.section_title.alignCenter .en span::before {
		left: -22px;
}
hgroup.section_title .en span.isWht::before {
		background-image: url("../images/icon_logo_wht.png")
}
@media(max-width: 1200px) {
		hgroup.section_title .jp {
				font-size: 38px;
		}
}
@media(max-width: 840px) {
		hgroup.section_title .jp {
				font-size: 34px;
		}
		hgroup.section_title .jp.extra {
				font-size: 26px;
		}
}
@media(max-width: 767px) {
		.second_hdr hgroup.section_title .jp {
				font-size: 32px
		}
		.second_hdr hgroup.section_title .en {
				font-size: 12px;
		}
}
/* ================ */
.second_hdr {
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: cover;
		background-image: url("../images/second_hdr_pc.jpg");
		position: relative;
		height: 29vw;
		min-height: 300px;
		overflow: hidden;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		margin-bottom: 120px;
}
.second_hdr.igm {
		background-image: url("../images/igm_hdr_pc.jpg");
}
@media(min-width: 1681px) {
		.second_hdr {
				background-size: cover;
				max-height: 600px;
		}
		.second_hdr.recruitKV {
				background-size: cover;
				max-height: inherit;
		}
}
@media(max-width: 767px) {
		.second_hdr {
				background-repeat: no-repeat;
				background-position: center bottom;
				background-size: cover;
				background-image: url("../images/second_hdr_sp.jpg");
				height: 70vw;
				height: 80vw;
				min-height: inherit;
				margin-bottom: 60px;
		}
		.second_hdr.igm {
				background-image: url("../images/igm_hdr_sp.jpg");
		}
}
.second_hdr::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-position: 0 0;
		background-size: 100px;
		background-image: url("../images/bg_texture-2.png");
		pointer-events: none
}
.second_hdr hgroup.section_title {
		position: relative;
		z-index: 5;
		margin: 0
}
.second_hdr hgroup.section_title .jp {
		font-size: 48px;
		position: relative;
}
.second_hdr hgroup.section_title .jp::before {
		content: '';
		display: block;
		position: absolute;
		top: -45px;
		left: calc(50% - 12.5px);
		width: 25px;
		height: 20px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 25px;
		background-image: url("../images/second_hdr_logo.png")
}
.second_hdr_inner {
		padding-top: 60px;
}
@media(max-width: 767px) {
		.second_hdr::after {
				background-image: url("../images/bg_texture_dark.png");
		}
		.second_hdr hgroup.section_title .jp {
				font-size: 30px;
		}
		.second_hdr hgroup.section_title .jp::before {
				top: -30px;
				left: calc(50% - 10px);
				width: 20px;
				height: 16px;
				background-size: 20px;
		}
		.second_hdr_inner {
				padding-top: 20px;
		}
}
/* ============ */
.section_col {
		padding: 70px 100px;
		background: #fff;
		border-radius: 16px;
}
@media(max-width: 1100px) {
		.section_col {
				padding: 70px 50px;
		}
}
@media(max-width: 767px) {
		.section_col {
				padding: 45px 20px;
		}
}
/* ============ */
.alignCenter {
		text-align: center;
}
.hrCenter {
		display: flex;
		justify-content: center;
}
.backCenter {
		display: flex;
		justify-content: center;
		margin-top: 100px;
}
/* =============== */
.wp-pagenavi {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 60px 0;
		font-size: 20px;
}
.pages {
		display: none
}
.wp-pagenavi a, .wp-pagenavi span {
		text-decoration: none;
		border: none !important;
		padding: 10px;
		margin: 0 5px !important;
}
.wp-pagenavi a {
		color: #969696;
}
@media (hover: hover) {
		.wp-pagenavi a:hover {
				color: #3DAE35;
		}
}
.current {
		color: #3DAE35;
}
.extend {
		color: #B4B4B4;
}
.wp-pagenavi .first, .wp-pagenavi .last {
		display: none
}
a.previouspostslink, a.nextpostslink {
		width: 55px;
		height: 55px;
		position: relative;
		color: rgba(255, 255, 255, 0);
		margin: 0 15px !important;
		padding: 0 !important;
		border: none !important;
}
a.previouspostslink::before, a.nextpostslink::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 55px;
		height: 55px;
		background: #3DAE35;
		border-radius: 50%;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		a.previouspostslink:hover, a.nextpostslink:hover {
				color: rgba(255, 255, 255, 0) !important;
		}
		a.previouspostslink:hover::before, a.nextpostslink:hover::before {
				transform: scale(1.15)
		}
}
a.previouspostslink::after, a.nextpostslink::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 55px;
		height: 55px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		pointer-events: none;
}
a.previouspostslink::after {
		background-image: url("../images/pagenav_arw_prev_wht.png")
}
a.nextpostslink::after {
		background-image: url("../images/pagenav_arw_next_wht.png")
}
@media(max-width: 767px) {
		.wp-pagenavi {
				margin: 40px 0 60px;
				font-size: 16px;
		}
		.wp-pagenavi a, .wp-pagenavi span {
				padding: 8px;
				margin: 0 4px !important;
		}
		a.previouspostslink, a.nextpostslink {
				width: 30px;
				height: 30px;
				margin: 0 10px !important;
		}
		a.previouspostslink::before, a.nextpostslink::before {
				width: 30px;
				height: 30px;
		}
		a.previouspostslink::after, a.nextpostslink::after {
				width: 30px;
				height: 30px;
		}
}
/* ============ */
@media(min-width: 768px) {
		br.spbr {
				display: none;
		}
}
@media(max-width: 767px) {
		br.pcbr {
				display: none;
		}
}
@media(min-width: 768px) {
		.spObj {
				display: none;
		}
}
@media(max-width: 767px) {
		.pcObj {
				display: none;
		}
}
/* ============ */
.anchor {
		margin-top: -100px;
		padding-top: 100px;
		position: relative;
		z-index: 0;
		pointer-events: none
}
@media(max-width: 767px) {
		.anchor {
				margin-top: -70px;
				padding-top: 70px;
		}
}
/* ============ */
.fadeInNml {
		opacity: 0;
		transition: opacity 0.4s linear;
}
.fadeInNmlActive {
		opacity: 1
}
.fadeInZoom {
		opacity: 0;
		transform: scale(1.2);
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s linear;
}
.fadeInZoomActive {
		opacity: 1;
		transform: scale(1);
}
/* ============ */
.mb00 {
		margin-bottom: 0px !important;
}
.mb05 {
		margin-bottom: 5px !important;
}
.mb10 {
		margin-bottom: 10px !important;
}
.mb15 {
		margin-bottom: 15px !important;
}
.mb20 {
		margin-bottom: 20px !important;
}