@charset "utf-8";
/*
Theme Name:GENESIS child
Theme URI:
Description:GENESISの子テーマ
Template:genesis_tcd103
Author:Fivestar
Author URI:
Version:1.4.1
*/

.post_content p {
	margin-bottom: 24px;
	line-height: 2;
}

.post_content .label-num {
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 700;
}


/* --------------------------------------------------

	grid

-------------------------------------------------- */

.section {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.post_content .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2rem -4rem;
}

.post_content .row:last-child {
	margin-bottom: -4rem;
}

.row--small {
	margin-left: -1rem;
	margin-right: -1rem;
}

.post_content .row [class^=col] {
	margin-bottom: 4rem;
	padding: 0 2rem;
}

.row--small [class^=col] {
	padding: 0 1rem;
}

.row [class^=col] > :last-child {
	margin-bottom: 0;
}

.col-1 { width: 8.33333333%;}
.col-2 { width: 16.6666667%;}
.col-3 { width: 25%;}
.col-4 { width: 33.33333333%;}
.col-5 { width: 41.6666667%;}
.col-6 { width: 50%;}
.col-7 { width: 58.3333333%;}
.col-8 { width: 66.6666667%;}
.col-9 { width: 75%;}
.col-10 { width: 83.3333333%;}
.col-11 { width: 91.6666667%;}
.col-12 { width: 100%;}

@media (max-width: 1024px) {
	
	.col-md-1 { width: 8.33333333%;}
	.col-md-2 { width: 16.6666667%;}
	.col-md-3 { width: 25%;}
	.col-md-4 { width: 33.33333333%;}
	.col-md-5 { width: 41.6666667%;}
	.col-md-6 { width: 50%;}
	.col-md-7 { width: 58.3333333%;}
	.col-md-8 { width: 66.6666667%;}
	.col-md-9 { width: 75%;}
	.col-md-10 { width: 83.3333333%;}
	.col-md-11 { width: 91.6666667%;}
	.col-md-12 { width: 100%;}
}

@media (max-width: 767px) {

	.post_content .row {
		margin: 0 -1rem -2rem;
	}
	
	.post_content .row [class^=col] {
		margin-bottom: 2rem;
		padding: 0 1rem;
	}

	.col-xs-1 { width: 8.33333333%;}
	.col-xs-2 { width: 16.6666667%;}
	.col-xs-3 { width: 25%;}
	.col-xs-4 { width: 33.33333333%;}
	.col-xs-5 { width: 41.6666667%;}
	.col-xs-6 { width: 50%;}
	.col-xs-7 { width: 58.3333333%;}
	.col-xs-8 { width: 66.6666667%;}
	.col-xs-9 { width: 75%;}
	.col-xs-10 { width: 83.3333333%;}
	.col-xs-11 { width: 91.6666667%;}
	.col-xs-12 { width: 100%;}

}


/* --------------------------------------------------

	space

-------------------------------------------------- */

.mt-2 { margin-top: 20px !important;}

.mb-4 { margin-bottom: 40px !important;}
.mb-8 { margin-bottom: 80px !important;}

.p-4 { padding: 40px !important;}


/* --------------------------------------------------

	color

-------------------------------------------------- */

.text-primary { color: #d90000;}
.text-white { color: #fff;}

.bg-primary { background-color: #d90000; color: #fff;}
.bg-light { background-color: #f6f6f6;}
.bg-white { background-color: #fff !important;}

[class^=col] > [class*="bg-"] {
	height: 100%;
}

.text-center { text-align: center;}


/* --------------------------------------------------

	btn

-------------------------------------------------- */

.post_content .btn {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 20px 32px;
	background-color: #d90000;
	border: 2px solid #d90000;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}

.post_content .btn::after {
	content: '\e94f';
	display: block;
	font-family: 'design_plus';
	color: currentColor;
	font-size: 10px;
	line-height: 1;
}

.post_content .btn:hover {
	background-color: #fff;
	color: #d90000;
	text-decoration: none;
}

.post_content .btn-white {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 20px 32px;
	background-color: #fff;
	border: 2px solid #fff;
	color: #d90000;
	font-weight: 700;
	line-height: 1;
}

.post_content .btn-white::after {
	content: '\e94f';
	display: block;
	font-family: 'design_plus';
	color: currentColor;
	font-size: 10px;
	line-height: 1;
}

.post_content .btn-white:hover {
	background-color: #d90000;
	color: #fff;
	text-decoration: none;
}


/* --------------------------------------------------

	table

-------------------------------------------------- */

.table {
	width: 100%;
	border-top: 1px solid #ccc;
}

.table tr {
	border-bottom: 1px solid #ccc;
}

.table th,
.table td {
	padding: 16px;
}


/* --------------------------------------------------

	list

-------------------------------------------------- */

.post_content .check-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post_content .check-list li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.post_content .check-list li::before {
	content: '';
	display: block;
	width: 20px !important;
	height: 20px !important;
	background: url(assets/images/icon-check.svg) no-repeat center center;
	background-size: contain;
}

.check-list__text {
	width: calc(100% - 28px);
}


.post_content .step-list {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr);
	gap: 12px;
	margin: 0;
	padding: 10px 20px;
	background-color: #fff;
}

.post_content .step-list + .step-list {
	margin-top: 1px;
}


/* --------------------------------------------------

	heading

-------------------------------------------------- */

.head-parts {
	margin: 0 0 40px;
}

.post_content .head-parts__sub-title {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	color: #d90000;
}

.post_content .head-parts__title {
	margin: 0;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

@media (max-width: 767px) {

	.post_content .head-parts__title {
		font-size: 24px;
	}

}


.post_content .h3 {
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

.post_content .h3-style02 {
	margin: 0 0 20px;
	padding: 0 0 16px;
	border-bottom: 1px solid currentColor;
	font-size: 20px;
	font-weight: 700;
}


/* --------------------------------------------------

	TOP

-------------------------------------------------- */

.top-service-box {
	height: 100%;
}

.top-service-box > :last-child {
	margin-bottom: 0;
}

.top-service-box__icon {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
}

.top-service-box__icon img {
	width: 40px;
}

.post_content .top-service-box p {
	line-height: 1.8;
}


/* --------------------------------------------------

	サービス内容

-------------------------------------------------- */

.proposal-box {
	padding: 2rem;
	background-color: #ffffff;
}

.post_content .proposal-box__step {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin: 0 0 30px;
	padding: 0;
	font-weight: 700;
	list-style: none;
}

.post_content .proposal-box__step li {
	position: relative;
	display: block;
	width: 100%;
	background-color: #fff;
	padding: 10px;
	border: 1px solid #ccc;
	text-align: center;
}

.post_content .proposal-box__step li + li::before {
	content: '';
	position: absolute;
	top: -25px;
	left: 50%;
	display: block;
	width: 20px;
	height: 20px;
	background: url(assets/images/icon-plus.svg) no-repeat center center;
	background-size: contain;
	transform: translateX(-50%);
}

.post_content .proposal-box__footer {
	position: relative;
	margin: 0;
	padding: 16px 10px;
	background-color: #d90000;
	color: #fff;
	font-weight: 700;
	text-align: center;
}

.post_content .proposal-box__footer::before {
	content: '';
	position: absolute;
	top: -27px;
	left: 50%;
	display: block;
	width: 24px;
	height: 24px;
	background: url(assets/images/icon-arrow-down.svg) no-repeat center center;
	background-size: contain;
	transform: translateX(-50%);
}


.plan-row {
	display: flex;
	gap: 20px;
}

.plan-col {
	width: 100%;
}

.post_content .plan-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	height: 100%;
	padding: 20px;
	background-color: #f6f6f6;
	text-align: center;
	color: #333;

}

.post_content .plan-box__num {
	margin: 0 0 10px;
}

@media (max-width: 767px) {

	.plan-row {
		flex-direction: column;
	}

}


.cat-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4rem;
}

.cat-box__text {
	font-weight: 700;
}

.post_content .cat-box__text > :last-child,
.post_content .cat-box__btn > :last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {

	.cat-box {
		flex-direction: column;
		gap: 2rem;
	}

	.cat-box__text {
		text-align: center;
		font-size: 16px;
	}

}


.post_content .industry-box__icon img {
	display: block;
	max-width: 48px;
	width: 100%;
}

.post_content .industry-box p {
	line-height: 1.8;
}


/* --------------------------------------------------

	採用情報

-------------------------------------------------- */

.page-template-page-recruit #main_content {
	max-width: 100%;
	padding: 0;
}

.page-template-page-recruit .inner {
	max-width: 1455px;
	margin: 0 auto;
	padding: 0 100px;
}

@media screen and (max-width: 767px) {

	.page-template-page-recruit .inner {
		padding: 0 20px;
	}

}


.work-info {
	height: 100%;
	background-color: #fff;
	padding: 40px;
}

.post_content .work-info__cat {
	margin-bottom: 12px;
	font-size: 13px;
	line-height: 1;
}

.post_content .work-info__badge {
	display: flex;
	gap: 8px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.work-info__badge li {
	padding: 10px;
	background-color: #f6f6f6;
	font-size: 14px;
	line-height: 1;
}

.post_content .work-info__link a {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 4px;
	border-bottom: 2px solid currentColor;
	font-weight: 700;
}

.post_content .work-info__link a:after {
	content: '\e94f';
	display: block;
	font-family: 'design_plus';
	color: currentColor;
	font-size: 8px;
	line-height: 1;
	transform: rotate(90deg);
}

.post_content .work-info__link a:hover {
	background-color: #d90000;
	text-decoration: none;
	color: #fff;
}


.gain-list {
	display: flex;
}

.gain-list + .gain-list {
	margin-top: 16px;
}

.post_content .gain-list .label-num {
	width: 80px;
	margin-top: 4px;
	text-align: center;
	color: #d90000;
}

.gain-list__text {
	width: calc(100% - 80px);
}

.gain-list__text > :last-child {
	margin-bottom: 0;
}

.post_content .gain-list__title {
	margin: 0;
	font-size: 16px;;
	font-weight: 700;
}

@media (max-width: 767px) {

	.gain-list {
		flex-direction: column;
	}

	.post_content .gain-list .label-num {
		width: 100%;
		margin-top: 0;
	}

	.gain-list__text {
		width: 100%;
		text-align: center;
	}

}


.post_content .working-box {
	font-weight: 700;
}

.post_content .working-box > :last-child {
	margin-bottom: 0;
}

.post_content .working-box__title {
	margin: 0 0 16px;
	font-size: 16px;
}

.post_content .working-box__num {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
}


.flow-row {
	display: flex;
	gap: 20px;
}

.flow-col {
	width: 100%;
}

@media (max-width: 767px) {

	.flow-row {
		flex-direction: column;
	}

}


.flow-box {
	height: 100%;
	padding: 40px;
	background-color: #f6f6f6;
}

.flow-box > :last-child {
	margin-bottom: 0;
}

.post_content .flow-box p {
	line-height: 1.8;
}


.section-philosophy {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

.post_content .philosophy-badge {
	display: inline-flex;
	margin: 0 0 24px;
	padding: 12px 20px;
	line-height: 1;
}

.post_content .philosophy-ttitle {
	margin: 0;
}


.faq-list {
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid #d9dee3;
}

.faq-list dt,
.faq-list dd {
	position: relative;
	margin: 0;
	padding: 0 0 0 46px;
}

.faq-list dt {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.65;
}

.faq-list dd {
	margin-top: 12px;
	font-size: 16px;
	line-height: 1.8;
}

.faq-list dt::before,
.faq-list dd::before {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid #d90000;
	border-radius: 50%;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
}

.faq-list dt::before {
	content: "Q";
	background: #d90000;
	color: #fff;
}

.faq-list dd::before {
	content: "A";
	background: #fff;
	color: #d90000;
}