@charset "utf-8";
body {
		background-color: #F6F7F8;
}
main section {
		padding: 110px 0;
		min-height: 300px;
}
main section.development_section {
		padding-top: 0;
}
main section.voice_section {
		padding-bottom: 180px;
}
@media(max-width: 767px) {
		main section {
				padding-bottom: 60px;
		}
		main section:first-of-type {
				padding-top: 0;
		}
		main section.voice_section {
				padding-bottom: 80px;
		}
}
.itconsulting_section, .voice_section {
		background: #DCE5EE;
		background: rgba(1, 104, 183, 0.05)
}
main h2 {
		font-size: 42px;
		font-weight: 600;
		line-height: 1.6;
		padding-left: 30px;
		position: relative;
		margin-bottom: 45px;
}
main h2::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 23px);
		left: 0;
		width: 3px;
		height: 46px;
		background: #0168b7;
}
main h3 {
		font-size: 26px;
		font-weight: 600;
		line-height: 1.6;
		margin: 0 0 25px
}
@media(max-width: 1300px) {
		main h2 {
				font-size: 34px;
				padding-left: 30px;
				margin-bottom: 35px;
		}
		main h2::before {
				top: calc(50% - 20px);
				height: 46px;
		}
		main h3 {
				font-size: 22px;
				margin: 0 0 20px
		}
}
@media(max-width: 1100px) {
		main h2 {
				font-size: 28px;
				padding-left: 30px;
				margin-bottom: 35px;
		}
		main h2::before {
				top: calc(50% - 18px);
				width: 3px;
				height: 36px;
		}
		main h3 {
				font-size: 20px;
				margin: 0 0 20px
		}
}
@media(max-width: 767px) {
		main h2 {
				font-size: 22px;
				padding-left: 20px;
				margin-bottom: 25px;
		}
		main h2::before {
				top: calc(50% - 13px);
				width: 3px;
				height: 26px;
		}
		main h3 {
				font-size: 18px;
				margin: 0 0 20px
		}
}
section p {
		line-height: 1.8;
}
.service_flex {
		display: flex;
}
.service_flex_left {
		width: 500px;
		margin-right: 40px;
}
.service_flex_left img {
		width: 100%;
		height: auto;
}
@media(max-width: 1300px) {
		.service_flex_left {
				width: 45%;
				margin-right: 30px;
		}
}
.service_flex_right {
		flex: 1
}
.service_flex_right.extra {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.system_flex {
		display: flex;
		justify-content: space-between;
		margin-top: 40px;
		flex-wrap: wrap;
}
.flex_item {
		border-radius: 8px;
		border: 1px solid #dce5ee;
		padding: 25px 20px;
		box-sizing: border-box;
		font-size: 15px;
}
.development_section .flex_item {
		width: calc(calc(100% - 45px) / 4);
		background-color: #f0f3f7;
}
.itconsulting_section .flex_item {
		width: calc(calc(100% - 15px) / 2);
		background-color: #fff;
}
.infla_section .flex_item {
		width: calc(calc(100% - 15px) / 2);
		font-size: 14px;
		margin-bottom: 15px;
		background-color: #f0f3f7;
}
@media(max-width: 1300px) {
		.service_flex_right.extra {
				display: block
		}
		.service_flex_right.extra .system_flex {
				display: block
		}
		.itconsulting_section .flex_item {
				width: 100%;
				margin: 0 0 15px
		}
		.development_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin-bottom: 15px;
		}
		.infla_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin-bottom: 15px;
		}
}
@media(max-width: 1100px) {
		.service_flex {
				display: block
		}
		.service_flex_left {
				width: 100%;
				margin: 0 0 30px;
		}
		.service_flex_left img {
				width: 100%;
				height: 200px;
				object-fit: cover
		}
		.service_flex_right.extra .system_flex {
				display: flex
		}
		.itconsulting_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin: 0;
		}
		.development_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin-bottom: 15px;
		}
		.infla_section .system_flex {
				display: block;
		}
		.infla_section .flex_item {
				width: 100%;
				margin-bottom: 15px;
		}
}
.flex_item h4 {
		font-size: 17px;
		line-height: 1.6;
		font-weight: 500;
		color: #0168b7;
		padding-bottom: 10px;
		margin-bottom: 15px;
		border-bottom: 1px solid #dce5ee;
		padding-left: 35px;
		position: relative;
}
.flex_item h4::before {
		content: '';
		display: block;
		position: absolute;
		top: 1px;
		left: 0;
		width: 25px;
		height: 25px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: cover;
}
.adjust {
		height: 3.5em;
		display: flex;
		align-items: center;
		padding-bottom: 10px;
		margin-bottom: 15px;
		border-bottom: 1px solid #dce5ee;
}
.adjust h4 {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
		border: none !important;
}
.flex_item h4.star::before {
		background-image: url("../images/icon_star.png")
}
.flex_item h4.gear::before {
		background-image: url("../images/icon_gear.png")
}
.flex_item h4.db::before {
		background-image: url("../images/icon_db.png")
}
.flex_item h4.server::before {
		background-image: url("../images/icon_server.png")
}
.flex_item h4.comment::before {
		background-image: url("../images/icon_comment.png")
}
.flex_item h4.spana::before {
		background-image: url("../images/icon_spana.png")
}
.flex_item ul {
		list-style: none;
		margin-left: 0.75em;
}
.flex_item ul li {
		position: relative;
		margin: 0 0 3px;
		line-height: 1.6;
}
.infla_section .flex_item ul li {
		margin: 0 0 10px
}
.flex_item ul li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -0.75em;
}
.flex_item ul li:last-child {
		margin-bottom: 0;
}
.flex_item p {
		line-height: 1.6;
		margin-bottom: 2em;
}
@media(max-width: 1300px) {
		.flex_item {
				padding: 15px;
		}
		.flex_item h4 {
				font-size: 16px;
				padding-left: 32px;
		}
}
@media(min-width: 961px) and (max-width: 1300px) {
		.flex_item h4 br {
				display: none
		}
}
@media(max-width: 767px) {
		.system_flex {
				display: block;
				margin-top: 30px;
		}
		.service_flex_right.extra .system_flex {
				display: block;
		}
		.development_section .flex_item {
				width: 100%;
				margin-bottom: 10px;
		}
		.itconsulting_section .flex_item {
				width: 100%;
				margin-bottom: 10px;
		}
		.flex_item h4 br {
				display: none
		}
		.flex_item p {
				margin-bottom: 1em;
		}
}
main .hrCenter {
		margin-top: 60px;
}
@media(max-width: 767px) {
		main .hrCenter {
				margin-top: 40px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.system_flex, .service_flex_right.extra .system_flex, .infla_section .system_flex {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
		}
		.itconsulting_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin: 0;
		}
		.development_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin-bottom: 15px;
		}
		.infla_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin-bottom: 15px;
		}
}
@media screen and (orientation: landscape) and (max-width: 1200px) {
		.service_flex {
				display: block
		}
		.service_flex_left {
				width: 100%;
				margin: 0 0 30px;
		}
		.service_flex_left img {
				width: 100%;
				height: 200px;
				object-fit: cover
		}
		.service_flex_right.extra .system_flex {
				display: flex
		}
		.system_flex, .service_flex_right.extra .system_flex, .infla_section .system_flex {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
		}
		.itconsulting_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin: 0;
		}
		.development_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin-bottom: 15px;
		}
		.infla_section .flex_item {
				width: calc(calc(100% - 15px) / 2);
				margin-bottom: 15px;
		}
}
.voice_item {
		display: flex;
		align-items: center;
		margin: 0 0 40px;
}
.voice_gr .voice_item:nth-child(even) {
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
}
.voice_gr .voice_item:last-child {
		margin-bottom: 0;
}
.voice_item_figure {
		width: 165px;
		margin-right: 50px;
}
.voice_gr .voice_item:nth-child(even) .voice_item_figure {
		margin-right: 0;
		margin-left: 50px;
}
.voice_item_figure img {
		width: 100%;
		height: auto;
}
.voice_item_caption {
		flex: 1;
		background: rgba(255, 255, 255, 0.8);
		border-radius: 8px;
		box-sizing: border-box;
		padding: 40px 50px;
		border: 1px solid #dce5ee;
}
.voice_item_caption h5 {
		font-size: 16px;
		font-weight: 500;
		color: #0168B7;
		margin: 0 0 15px;
}
@media(max-width: 1200px) {
		.voice_item_figure {
				width: 130px;
				margin-right: 30px;
		}
		.voice_gr .voice_item:nth-child(even) .voice_item_figure {
				margin-right: 0;
				margin-left: 30px;
		}
		.voice_item_caption {
				padding: 25px;
		}
}
@media(max-width: 767px) {
		.voice_item {
				display: block !important;
				margin: 0 0 20px;
		}
		.voice_item_figure, .voice_gr .voice_item:nth-child(even) .voice_item_figure {
				width: 80px;
				margin: 0 auto -30px;
				position: relative;
				z-index: 5
		}
		.voice_item_caption {
				padding: 25px 15px 15px;
		}
}