@charset "utf-8";
/*================================================================================================

* 会社案内 - 代表あいさつ *

================================================================================================*/
.greeting-wrap {
	width: 100%;
	background: #fff;
	padding: 2rem 1rem 6rem 1rem;
}

.greeting-wrap .item-wrap .sentence {
	width: calc(75% - 8rem);
}
		.greeting-wrap .item-wrap .sp-img {
			display: none;
		}

.greeting-wrap .item-wrap .img {
	width: 25%;
	background: url(../../img/about-us/greeting.jpg)no-repeat center / contain;
}

@media only screen and (max-width: 768px) {
.greeting-wrap .item-wrap {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}
.greeting-wrap .item-wrap h2.section-title.left {
	margin: 0 auto;
	text-align: center;
	margin-bottom: 2rem !important;
}
.greeting-wrap .item-wrap .sentence {
	width: calc(100% - 0rem);
}
.greeting-wrap .item-wrap .sp-img {
	display: block;
	width: 100%;
	max-width: 280px;
	margin: 0 auto;
	margin-bottom: 2rem;
}
.greeting-wrap .item-wrap .img {
	display: none;
}
/********************/}

@media only screen and (max-width: 768px) {
.greeting-wrap .item-wrap .sp-img {
	max-width: 180px;
}
/********************/}

/*================================================================================================

* 会社案内 - 経営理念 *

================================================================================================*/
.philosophy-wrap {
	width: 100%;
	padding: 6rem 1rem;
	background: url(../../img/about-us/philosophy-bg.jpg)no-repeat center fixed;
	position: relative;
}
.philosophy-wrap p.sentence {
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	position: relative;
	z-index: 5;
	margin-bottom: 2rem;
	opacity: 0;
	text-align: center;
	font-size: 3rem;
}
		.philosophy-wrap .on + p.sentence {
			opacity: 1;
			transition: 0.85s ease;
		}
		.philosophy-wrap p.sentence:last-of-type {
			margin-bottom: 0rem;
		}

.philosophy-wrap::after {
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.8);
	content: "";
	position: absolute;margin: auto;top: 0;right: 0;bottom: 0;left: 0;
	z-index: 1;
}
@media only screen and (max-width: 768px) {
.philosophy-wrap p.sentence {
	font-size: 2rem;
}
/********************/}

/*================================================================================================

* 会社案内 - 会社概要 *

================================================================================================*/
.overview-wrap {
	width: 100%;
	padding: 6rem 1rem;
}

/*================================================================================================

* 会社案内 - 許可業種 *

================================================================================================*/
.permitted-wrap {
	width: 100%;
	padding: 6rem 1rem;
}

.permitted-wrap .itam-wrap {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
	.permitted-wrap .itam-wrap .box.num01 {
		width: 100%;
		margin-bottom: 4rem;
	}
	.permitted-wrap .itam-wrap .box.num02 {
		width: 100%;
	}

.permitted-wrap .itam-wrap .box .title {
	font-size: 18px;
	margin-bottom: 2rem;
	color: #37474F;
	position: relative;
}
.permitted-wrap .itam-wrap .box .title span {
	padding: 0.5rem 2rem;
	border: 1px solid;
	position: relative;
	z-index: 2;
}
.permitted-wrap .itam-wrap .box .title::after {
	height: 1px;
	width: 100%;
	content: "";
	background: #37474F;
	margin: auto;position: absolute;top: 0;right: 0;bottom: 0;left: 0;
	z-index: 1;
}

/*================================================================================================

* 会社案内 - アクセス *

================================================================================================*/
.map-wrap {
	width: 100%;
}
.map-wrap iframe {
	width: 100%;
	height: 380px;
	vertical-align: bottom;
}

/*================================================================================================

* お知らせアーカイブ *

================================================================================================*/

body.news-all .news-wrap > .p1024:nth-of-type(1) {
	transform: translateY(0rem);
	padding-bottom: 2rem;
}
body.news-all .news-wrap > .p1024:nth-of-type(2) {
	transform: translateY(0rem);
	padding-bottom: 2rem;
	background: none;
	padding: 1rem 0rem 4rem 0rem;
}
/*================================================================================================

* 施工実績アーカイブ *

================================================================================================*/
.achv-wrap {
	width: 100%;
	padding: 4rem 1rem 6rem 1rem;
	background: #fafafc;
}

@media only screen and (max-width: 1280px) {
.achv-wrap {
	padding: 2rem 1rem 6rem 1rem;
}
/********************/}

/*================================================================================================

* 現場紹介アーカイブ *

================================================================================================*/
.const-wrap {
	width: 100%;
	padding: 4rem 1rem 6rem 1rem;
	background: #fafafc;
}

@media only screen and (max-width: 1280px) {
/********************/}

/*================================================================================================

* 採用情報 - 募集要項 *

================================================================================================*/
.recruit .condition-wrap {
	width: 100%;
	padding: 0rem 1rem 0rem 1rem;
	background: #fafafc;
}
.recruit .condition-wrap .title {
	width: 100%;
	max-width: 1024px;
	background: #204A95;
	margin: 0 auto;
	padding: 8rem 1rem;
}
.recruit .condition-wrap .title h2 {
	font-size: 2.5rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	margin-bottom: 2rem;
}

.recruit .condition-wrap .box {
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
	padding: 4rem 1rem;
	background: #fff;
	transform: translateY(-4rem);
}
		.recruit .condition-wrap .box > .inner {
			width: 100%;
			margin: 0 auto;
			max-width: 580px;
		}

@media only screen and (max-width: 480px) {
.recruit .condition-wrap .title {
	padding: 3rem 0rem;
}
.recruit .condition-wrap .title h2 {
	font-size: 1rem;
	margin-bottom: 0rem;
}
.recruit .condition-wrap .box {
	width: 100%;
	max-width: 768px;
	padding: 2rem 1rem;
	transform: translateY(0rem);
}
/********************/}

/*================================================================================================

* 採用情報 - 採用担当からのメッセージ *

================================================================================================*/
.recruit .message-wrap {
	width: 100%;
	padding: 2rem 1rem 3rem 1rem;
	background: #fafafc;
}

.recruit .message-wrap .item-wrap .info {
	width: 70%;
	transform: translate3d(20px,0,0);
	opacity: 0;
}
		.recruit .message-wrap .on + .item-wrap .info {
			transform: translate3d(0,0,0);
			opacity: 1;
			transition: 0.5s ease;
		}

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

.recruit .message-wrap .item-wrap {
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
}
.recruit .message-wrap .item-wrap .img {
	width: 100%;
	padding-top: 85%;
}
.recruit .message-wrap .item-wrap .info {
	width: 100%;
	padding-left: 0rem;
}
/********************/}


@media only screen and (max-width: 480px) {
.recruit .message-wrap {
	padding: 5rem 1rem 1rem 1rem;
}
/********************/}


/*================================================================================================

* 採用情報 - 選考フロー *

================================================================================================*/
.recruit .flow-wrap {
	width: 100%;
	padding: 3rem 2rem 3rem 2rem;
	background: #fafafc;
}

/* タイムライン ================================================*/
.timeline-wrap {
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
	margin-bottom: 1rem;
}

/* ライン ================================================*/
.timeline-wrap .line {
	width: 4px;
	position: relative;
}
.timeline-wrap .line::after {
	width: 100%;
	height: 85%;
	content: "";
	background: #e7e7e7;
	margin: auto;position: absolute;top: 0;left: 0;
	z-index: 1;
}
.timeline-wrap .line::before {
	width: 100%;
	height: 85%;
	content: "";
	background: #204A95;
	margin: auto;position: absolute;top: 0;left: 0;
	z-index: 2;
	transform: scaleY(0);
	transform-origin: top;
}
.on + .timeline-wrap .line::before {
	transform: scaleY(1);
	transition: 1.8s;
}

/* コンテンツ ================================================*/
.timeline-wrap .content {
	width: calc(100% - 4px);
}
.timeline-wrap .content .item-wrap {
	width: 100%;
	padding-left: 3rem;
	position: relative;
}
.timeline-wrap .content .item-wrap .item {
	margin-bottom: 2rem;
	background: #fff;
	padding: 2rem 1rem;
	transform: translateX(30px);
	opacity: 0;
	z-index: 1;
}
		.timeline-wrap .content .item-wrap .item > .inner {
			width: 100%;
			max-width: 380px;
			margin: 0 auto;
		}
		.timeline-wrap .content .item-wrap .item > .inner h3 {
			color: #204A95;
			font-size: 1.25rem;
			font-weight: 700;
		}
		.timeline-wrap .content .item-wrap .item > .inner p {
			color: #37474F;
		}

.timeline-wrap .content .item-wrap::after {
	height: 2px;
	width: 75px;
	background: #204A95;
	content: "";
	margin: auto;position: absolute;top: 0;bottom: 0;left: 0;
	z-index: 3;
	transform: scaleX(0);
	transform-origin: left;
}
.timeline-wrap .content .item-wrap .label {
	height: 45px;
	width: 45px;
	background: #204A95;
	content: "";
	margin: auto;position: absolute;top: 0;bottom: 0;left: -25px;
	z-index: 4;
	border-radius: 100%;
	transform: scale(0);
	opacity: 0;
}
.timeline-wrap .content .item-wrap .label p {
	text-align: center;
	font-weight: 700;
	color: #fff;
	padding-top: 7px;
	padding-left: 2px;
	font-size: 1.25rem;
}

@media only screen and (max-width: 480px) {
.timeline-wrap .content .item-wrap {
	padding-left: 2rem;
}
.timeline-wrap .content .item-wrap::after {
	height: 2px;
	width: 45px;
}
.timeline-wrap .content .item-wrap .item {
	padding: 2rem 1rem;
	padding-left: 2rem;
}
/********************/}

/* アニメーション ================================================*/

.on + .timeline-wrap .content .item-wrap .item {
	transform: translateX(0px);
	opacity: 1;
	transition: 0.5s ease;
}
		.on + .timeline-wrap .content .item-wrap.no01 .item {
			transition-delay: 0.6s;
		}
		.on + .timeline-wrap .content .item-wrap.no02 .item {
			transition-delay: 0.75s;
		}
		.on + .timeline-wrap .content .item-wrap.no03 .item {
			transition-delay: 0.9s;
		}
		.on + .timeline-wrap .content .item-wrap.no04 .item {
			transition-delay: 1.7s;
		}

/* X軸線 */
.on + .timeline-wrap .content .item-wrap::after {
	transform: scaleX(1);
	transition: 0.5s ease;
}
		.on + .timeline-wrap .content .item-wrap.no01::after {
			transition-delay: 0.4s;
		}
		.on + .timeline-wrap .content .item-wrap.no02::after {
			transition-delay: 0.55s;
		}
		.on + .timeline-wrap .content .item-wrap.no03::after {
			transition-delay: 0.7s;
		}
		.on + .timeline-wrap .content .item-wrap.no04::after {
			transition-delay: 1.3s;
		}

/* ラベル */
.on + .timeline-wrap .content .item-wrap .label {
	transform: scale(1);
	opacity: 1;
	transition: 0.5s ease;
}
		.on + .timeline-wrap .content .item-wrap.no01 .label {
			transition-delay: 0.15s;
		}
		.on + .timeline-wrap .content .item-wrap.no02 .label {
			transition-delay: 0.3s;
		}
		.on + .timeline-wrap .content .item-wrap.no03 .label {
			transition-delay: 0.45s;
		}
		.on + .timeline-wrap .content .item-wrap.no04 .label {
			transition-delay: 1.25s;
		}

/*================================================================================================

* 採用情報 - 先輩からのmessage *

================================================================================================*/
.recruit .message-wrap.senior {
	width: 100%;
	padding: 6rem 1rem 6rem 1rem;
	background: #fafafc;
}

.recruit .message-wrap.senior .item-wrap {
	margin: 0 auto;
	margin-bottom: 3rem;
	background: #fff;
}

/* IMG ================================================*/
.recruit .message-wrap.senior .item-wrap .img {
	padding-top: 28%;
	width: 30%;
}
.recruit .message-wrap.senior .item-wrap.no01 .img {
	background: url(../../img/recruit/senior01.jpg)no-repeat center / cover;
}
.recruit .message-wrap.senior .item-wrap.no02 .img {
	background: url(../../img/recruit/senior04.jpg)no-repeat center / cover;
}
.recruit .message-wrap.senior .item-wrap.no03 .img {
	background: url(../../img/recruit/senior02.jpg)no-repeat center / cover;
}
.recruit .message-wrap.senior .item-wrap.no04 .img {
	background: url(../../img/recruit/senior03.jpg)no-repeat center / cover;
}

@media only screen and (max-width: 768px) {
.recruit .message-wrap.senior .item-wrap .img {
	width: 100%;
}
.recruit .message-wrap.senior .item-wrap.no01 .img {
	background: url(../../img/recruit/senior01.jpg)no-repeat center 25% / cover;
}
/********************/}

@media only screen and (max-width: 480px) {
.recruit .message-wrap.senior {
	padding: 3rem 1rem 3rem 1rem;
}
/********************/}

/* INFO ================================================*/

.recruit .message-wrap.senior .item-wrap .info {
	padding: 1rem 2rem;
}

.recruit .message-wrap.senior .item-wrap h3 {
	color: #204A95;
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
	padding-bottom: 0.5rem;
	font-weight: 700;
	border-bottom: 1px solid #e7e7e7;
}
.recruit .message-wrap.senior .item-wrap h4 {
	color: #204A95;
	font-weight: 700;
}
.recruit .message-wrap.senior .item-wrap p:nth-of-type(1) {
	margin-bottom: 1rem;
}

@media only screen and (max-width: 768px) {
.recruit .message-wrap.senior .item-wrap .img {
	padding-top: 60%;
}
/********************/}

@media only screen and (max-width: 320px) {
.recruit .message-wrap.senior .item-wrap .info {
	padding: 2rem 1rem;
}
/********************/}

/*================================================================================================

* お問合わせ *

================================================================================================*/
.contact-wrap {
	width: 100%;
	padding: 6rem 1rem 5rem 1rem;
	background: #fafafc;
}
.contact-wrap > .inner {
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
}

.contact-wrap input[type="text"],
.contact-wrap input[type="email"],
.contact-wrap input[type="tel"],
.contact-wrap textarea {
	font-family: 'Roboto', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 1.75em;
	letter-spacing: 1px;
	font-size: 1rem;
	padding: 0.5rem 1rem;
	background: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 3px;
	color: #204A95;
}
.contact-wrap .input label,
.contact-wrap .label {
	font-weight: 700;
	color: #204A95;
	margin-bottom: 0.25rem;
	display: block;
}
.contact-wrap .row {
	width: 100%;
	margin-bottom: 2rem;
}

.contact-wrap .radio-wrap {
	width: 100%;
}
span.wpcf7-list-item {
    display: block;
    margin: 0 0 0 0em;
}
.contact-wrap .radio-wrap > .wpcf7-list-item {
}
.contact-wrap .radio-wrap > .wpcf7-list-item:last-child {
	margin-right: 0px;
}

.contact-wrap input[type="radio"] {
	display: none;
}
.radio-wrap label {
	width: 100%;
	display: block;
	padding: 0.75rem 1rem;
	text-align: center;
	background: #e7e7e7;
	color: #37474F;
	border-radius: 3px;
	cursor: pointer;
	transition: 0.25s ease;
}
.contact-wrap label:has(input[type="radio"]:checked) {
	background: #204A95;
	color: #fff;
	font-weight: 700;
	transition: 0.25s ease;
}

input[type="submit"]{
	font-family: 'Roboto', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 1.75em;
	letter-spacing: 5px;
	font-size: 1rem;
	padding: 1.5rem 1rem;
	background: #204A95;
	border-radius: 5px;
	box-shadow: 0 2px 5px -1px rgba(75,110,145,0.45);
}

/*================================================================================================

* reCAPTCHA *
reCAPTCHA センター寄せ用のBOX

================================================================================================*/

.recaptcha-wrap {
	width: 100%;
	max-width: 304px;
	margin: 0 auto;
	margin-bottom: 2rem;
}

/*================================================================================================

* メディアクエリ *

================================================================================================*/
@media only screen and (max-width: 1024px) {
/********************/}
@media only screen and (max-width: 768px) {
/********************/}
@media only screen and (max-width: 480px) {
/********************/}