@charset "utf-8";
.ability_section {
		width: 250vh;
		min-width: 250vh;
		box-sizing: border-box;
}
@media(max-height: 900px) and (min-width: 1195px) {
		.ability_section {
				width: 2400px;
				min-width: 2400px;
		}
}
.ability_section::before, .ability_section::after {
		content: '';
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
}
.ability_section::before {
		background-image: url("../images/ability1_bg_pc.png");
		width: 86.4vh;
		height: 37vh;
		top: 0;
		left: 72vh;
}
.ability_section::after {
		background-image: url("../images/ability2_bg_pc.png");
		background-position: 0 bottom;
		width: 95.6vh;
		height: 36.4vh;
		bottom: 0;
		right: -10vh;
}
.ability_section_inner {
		padding-top: 13.3vh;
		display: flex;
		position: relative;
		z-index: 5;
		padding-left: 20vh;
		padding-right: 20vh;
}
.ability_hd {
		width: 52.7vh;
		margin-bottom: 15px;
}
.ability_section_inner_left {
		margin-right: 10vh;
}
.ability_section_inner_right {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		min-width: 1600px;
}
.ability_item {
		width: calc(calc(100% - 150px) * 0.25);
		margin-right: 50px;
		margin-bottom: 30px;
}
.ability_section_inner_right .ability_item:nth-child(4) {
		margin-right: 0;
}
.ability_item_hdr {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
}
.ability_item_hdr h5 {
		font-size: 2.2vh;
		font-size: 22px;
		font-weight: 600;
		flex: 1;
}
.ability_item_icon {
		width: 11vh;
		min-width: 110px;
		margin-right: 5px;
}
.ability_item p {
		font-size: 16px;
		line-height: 2.0;
}
@media(max-height: 900px) and (min-width: 1195px) {
		.ability_section::before {
				background-image: url("../images/ability1_bg_pc.png");
				width: 86.4vh;
				height: 37vh;
				top: 0;
				left: 100vh;
		}
}
@media(max-height: 800px) and (min-width: 1195px) {
		.ability_item_hdr h5 {
				font-size: 16px;
		}
		.ability_item p {
				font-size: 14px;
				line-height: 1.6;
		}
}
@media(max-width: 1194px) {
		.ability_section {
				width: 100%;
				min-width: 100%;
				box-sizing: border-box;
				padding: 23vw 20px 40vw;
		}
		.ability_section::before, .ability_section::after {
				width: 100%;
				background-position: 0 0;
				right: inherit;
				left: 0
		}
		.ability_section::before {
				background-image: url("../images/ability1_bg_sp.png");
				height: 72vw;
				top: -15vw;
		}
		.ability_section::after {
				background-image: url("../images/ability2_bg_sp.png");
				height: 60vw;
				bottom: -36vw;
		}
		.ability_section_inner {
				padding: 0;
				display: block;
				max-width: 680px;
				margin: 0 auto;
		}
		.ability_hd {
				width: 54vw;
				width: 54%;
				margin-bottom: 15px;
		}
		.ability_section .title_hd_lead {
				margin-bottom: 40px;
		}
		.ability_section_inner_left {
				margin-right: 0;
		}
		.ability_section_inner_right {
				display: block;
				min-width: inherit;
		}
		.ability_item {
				width: 100%;
				margin: 0 0 40px;
		}
		.ability_item_hdr {
				margin-bottom: 20px;
		}
		.ability_item_hdr h5 {
				font-size: 18px;
		}
		.ability_item_icon {
				width: 19vw;
				min-width: 80px;
				max-width: 100px;
				margin-right: 15px;
		}
		.ability_item p {
				font-size: 15px;
				line-height: 1.8;
		}
}
.ability_section_inner_left {
		position: relative;
}
.ability_section_inner_left .ability_mission {
		position: absolute;
		width: 13vh;
		bottom: 0;
		right: 0
}
@media(max-width: 1194px) {
		.ability_section_inner_left .ability_mission {
				position: absolute;
				width: 15vw;
				bottom: inherit;
				right: 27vw;
				top: -20vw;
		}
}