@charset "utf-8";
.first_flex {
		position: relative;
		margin-bottom: 120px;
}
.first_flex_left {
		width: 480px;
}
.first_hd {
		font-size: 42px;
		font-weight: 500;
		line-height: 1.6;
		margin: 0 0 40px;
		position: relative;
}
.first_flex_left p {
		line-height: 2.0;
		text-align: justify;
		margin-bottom: 1em;
}
.first_flex .first_flex_right {
		width: 540px;
		position: absolute;
		top: 0;
		right: -100px;
}
.first_flex_right img {
		width: 100%;
		height: auto;
		border-radius: 50%;
}
.about_section {
		padding: 0 0 160px
}
.about_mark_wrap {
		max-width: 980px;
		margin: 0 auto;
		border-radius: 16px;
		background: #fff;
}
.about_mark_wrap_in {
		padding: 50px;
		max-width: 780px;
		margin: 0 auto;
		display: flex;
		align-items: center;
}
.about_mark_left {
		flex: 1
}
.about_mark_hd {
		font-size: 32px;
		font-weight: 500;
		margin: 0 0 20px;
}
.about_mark_left p {
		line-height: 2.0;
		text-align: justify;
}
@media(max-width: 1200px) {
		.about_mark_left p br.pcbr {
				display: none !important;
		}
}
.about_mark_right {
		width: 218px;
		margin-left: 80px;
}
.about_mark_right img {
		width: 100%;
		height: auto;
}
.years_section {
		padding: 80px 0;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url(../images/bg_texture.png);
		background-color: #328C5F;
		position: relative;
		z-index: 5;
		color: #fff;
}
.years_section p {
		line-height: 2.2;
		text-align: justify;
		margin: 0 0 1em
}
.years_figure {
		position: relative;
		overflow: hidden;
		background: #fff;
		border-radius: 16px;
		margin-top: 60px;
}
.years_figure::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url(../images/bg_texture.png);
		z-index: 10
}
.years_figure img {
		width: 100%;
		height: auto;
}
.concept_section {
		padding: 160px 0 0;
}
.section_col {
		margin-bottom: 60px;
		padding: 70px 30px;
}
.concept_section .wrap980 .section_col:last-child {
		margin-bottom: 0;
}
.future_hd span {
		padding-left: 40px;
		position: relative;
}
.first_hd::before, .future_hd span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 9px);
		left: 0;
		width: 23px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 23px;
		background-image: url("../images/icon_logo_grn_l.png")
}
.first_hd::before {
		top: 0.6em;
		left: -40px;
}
.years_hd span::before {
		background-image: url("../images/icon_logo_wht_l.png")
}
.concept_section p {
		text-align: justify;
		line-height: 2.0;
		margin: 0 0 1em;
}
.concept_section p.alignCenter {
		text-align: center;
}
.concept_figure {
		margin: 40px auto 20px;
}
.concept_figure img {
		width: 100%;
		height: auto;
		border-radius: 16px;
}
.concept_figure.narrow {
		max-width: 530px;
		margin: 40px auto 0;
}
.future_section {
		padding: 160px 30px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/kv-5_pc.jpg");
		position: relative;
		overflow: hidden;
		margin-bottom: 120px;
}
.future_section::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url(../images/bg_texture_dark.png);
}
.future_section_inner {
		max-width: 720px;
		position: relative;
		z-index: 5;
		margin: 0 auto;
		box-sizing: border-box;
		padding: 70px;
		background: rgba(255, 255, 255, 0.8);
		border-radius: 16px;
}
.future_hd {
		font-size: 36px;
		font-weight: 500;
		margin: 0 0 35px
}
.future_section_inner p {
		line-height: 2.2;
		text-align: justify;
		margin: 0 0 1em;
}
.future_section_inner .hrCenter {
		margin-top: 40px;
}
.section_arw {
		position: relative;
		width: 244px;
		height: 44px;
		margin: 50px auto;
}
.section_arw::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 122px solid transparent;
		border-left: 122px solid transparent;
		border-top: 44px solid #3DAE35;
		border-bottom: 0;
}
@media(max-width: 1200px) {
		.first_flex_left {
				width: calc(50% + 20px);
		}
		.first_flex .first_flex_right {
				width: calc(50% - 40px);
				top: 0;
				right: -20px;
		}
		.first_hd {
				font-size: 34px;
		}
		.about_mark_right {
				width: 28%;
				margin-left: 50px;
		}
		.about_mark_wrap_in {
				padding-left: 30px;
				padding-right: 30px;
		}
}
@media(max-width: 960px) {
		.first_hd {
				padding-left: 40px;
		}
		.first_hd::before {
				top: 0.6em;
				left: 0px;
		}
		.about_mark_wrap_in {
				padding: 40px;
		}
}
@media(max-width: 767px) {
		.about_section {
				padding: 0 0 80px;
		}
		.first_flex {
				display: block;
				margin-bottom: 80px;
		}
		.first_flex_left {
				width: auto;
				margin: 0 0 40px;
		}
		.first_flex .first_flex_right {
				position: static;
				top: inherit;
				right: inherit;
				width: 80%;
				max-width: 300px;
				margin: 0 auto
		}
		.first_hd {
				font-size: 28px;
				margin: 0 0 20px;
		}
		.about_mark_wrap_in {
				padding: 40px 20px;
				display: block;
		}
		.about_mark_right {
				width: 56%;
				max-width: 180px;
				margin: 40px auto 0;
		}
		.about_mark_hd {
				font-size: 22px;
				margin: 0 0 15px;
		}
		.years_section p {
				line-height: 1.8;
		}
		.years_figure {
				margin-top: 30px;
		}
		.section_col .wrap780 {
				padding-left: 0;
				padding-right: 0;
		}
		.concept_section {
				padding: 80px 0 0;
		}
		.future_section {
				padding: 80px 20px;
				background-size: cover;
				background-image: url("../images/kv-5_sp.jpg");
				margin-bottom: 80px;
		}
		.section_col {
				padding: 40px 20px;
				margin-bottom: 40px;
		}
		.future_section_inner {
				padding: 40px 20px;
		}
		.future_hd {
				font-size: 28px;
				margin: 0 0 30px;
		}
		.future_hd span {
				display: block
		}
		.future_hd span::before {
				top: 14px;
		}
		.future_section_inner p {
				line-height: 1.8;
		}
		.section_arw {
				width: 212px;
				height: 38px;
				margin: 25px auto;
		}
		.section_arw::after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 0;
				height: 0;
				border-style: solid;
				border-right: 106px solid transparent;
				border-left: 106px solid transparent;
				border-top: 38px solid #3DAE35;
				border-bottom: 0;
		}
		.concept_figure {
				margin: 30px auto 20px;
		}
}