@charset "utf-8";
.lead {
		line-height: 2.2;
		margin: 0 0 80px;
		font-weight: 600;
		text-align: center;
}
.section_title .jp span {
		position: relative;
		display: inline-block;
		padding-left: 20px;
}
.section_title .jp span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 7px);
		left: -23px;
		width: 23px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 23px;
		background-image: url(../images/icon_logo_grn_m.png);
}
.training_wrap .section_title .jp span::before, .carreer_wrap .section_title .jp span::before {
		background-image: url(../images/icon_logo_grn_m_wht.png);
}
@media(max-width: 767px) {
		hgroup.section_title .jp {
				text-align: left !important;
				font-size: 26px;
		}
		.section_title .jp span {
				padding-left: 40px;
		}
		.section_title .jp span::before {
				left: 0;
				top: 0.40em
		}
}
.training_section {
		padding-bottom: 120px;
}
.training_wrap, .carreer_wrap {
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 100px;
		background-image: url("../images/bg_texture_dark.png");
		background-color: #2a9164;
		position: relative;
		padding: 80px 60px;
		color: #fff;
		border-radius: 16px;
}
.training_wrap hgroup.section_title {
		margin-bottom: 50px;
}
.training_wrap h3 {
		text-align: center;
		font-size: 32px;
		font-weight: 500;
		color: #fff;
		margin: 0 0 40px
}
@media(max-width: 767px) {
		.training_wrap hgroup.section_title {
				margin-bottom: 40px;
		}
		.training_wrap h3 {
				font-size: 24px;
				margin: 0 0 25px
		}
}
.training_figure {
		background: #fff;
		max-width: 865px;
		margin: 0 auto 60px;
		padding: 60px;
		border-radius: 16px;
}
.training_figure img {
		width: 100%;
		height: auto;
}
.program_section {
		padding-bottom: 120px;
}
.program_col {
		background: #fff;
		padding: 30px;
		border-radius: 16px;
		margin: 0 0 15px;
}
.program_col dl {
		display: flex;
		align-items: center;
}
.program_col dt {
		font-size: 22px;
		font-weight: 500;
		color: #3DAE35;
		width: 270px;
}
.program_col dt small {
		font-size: 18px;
}
.program_col dd {
		line-height: 2.0;
		flex: 1;
		text-align: justify;
		color: #1e1e1e;
		font-weight: 500;
}
.carreer_section {
		padding-bottom: 120px;
}
.carreer_section p.lead {
		line-height: 2.0;
		text-align: justify;
		margin: 0 0 40px
}
.carreer_figure {
		max-width: 790px;
		margin: 0 auto;
		background: #fff;
		border-radius: 16px;
		padding: 50px 65px
}
.carreer_figure img {
		width: 100%;
		height: auto;
}
.support_section p.lead {
		line-height: 2.0;
		margin: 0 0 40px;
}
.support_flex {
		display: flex;
		justify-content: space-between;
}
.support_flex > div {
		box-sizing: border-box;
		background: #fff;
		border-radius: 16px;
		padding: 35px 15px 35px 80px
}
.support_left {
		width: calc(60% - 10px);
}
.support_right {
		width: calc(40% - 10px);
}
.support_sb {
		font-size: 28px;
		font-weight: 500;
		color: #3DAE35;
		margin: 0 0 25px;
}
.support_sb span {
		display: inline-block;
		position: relative;
}
.support_sb span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		left: -25px;
		width: 15px;
		height: 12px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 13px;
		background-image: url("../images/icon_logo_grn.png")
}
.list_flex {
		display: flex;
}
.support_flex div ul {
		list-style: none;
		margin-left: 1em;
}
.support_flex div ul:first-child {
		margin-right: 3em;
}
.support_flex div ul li {
		margin: 0 0 10px;
		position: relative;
}
.support_flex div ul li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
		color: #3DAE35;
}
@media(max-width: 960px) {
		.training_wrap, .carreer_wrap {
				padding: 70px 30px;
		}
		.support_sb {
				font-size: 22px;
		}
		.support_sb span {
				padding-left: 30px;
		}
		.support_sb span::before {
				left: 0;
		}
		.support_left {
				width: calc(50% - 10px);
		}
		.support_right {
				width: calc(50% - 10px);
		}
		.support_flex > div {
				padding: 30px;
		}
		.list_flex {
				display: block;
		}
}
@media(max-width: 767px) {
		.training_section, .program_section, .carreer_section {
				padding-bottom: 80px;
		}
		.lead {
				line-height: 1.8;
				text-align: left;
				margin: 0 0 60px;
		}
		.training_wrap, .carreer_wrap {
				padding: 40px 20px;
		}
		.training_figure {
				padding: 30px 15px;
		}
		.program_col {
				padding: 30px 20px;
				margin: 0 0 15px;
		}
		.program_col dl {
				display: block;
		}
		.program_col dl dt {
				font-size: 24px;
				width: auto;
				margin: 0 0 10px;
		}
		.carreer_wrap .wrap780 {
				padding-left: 0;
				padding-right: 0;
		}
		.carreer_figure {
				padding: 30px 15px;
		}
		.support_flex {
				display: block;
		}
		.support_left, .support_right {
				width: 100%;
				box-sizing: border-box;
				padding: 30px 10px 30px 50px;
		}
		.support_flex > div {
				padding-left: 30px;
				padding-right: 10px;
		}
		.support_left {
				margin: 0 0 20px
		}
		.support_sb span {
				padding-left: 0;
		}
		.support_sb span::before {
				left: -30px;
		}
		.support_sb {
				font-size: 26px;
				margin-bottom: 15px;
		}
}