@charset 'UTF-8';

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

	トップページ

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */



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

	レイアウト

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		max-width: none;
		/* max-width: 1920px; 固定幅レイアウト時 */
		width: 100%;
		min-height: 50vh;
		display: block;
		margin: 0 auto;
	}

	.inner_wrap {
		position: relative;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		width: 100%;
	}

	.inner_wrap {
		position: relative;
	}
}





/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

	ここからコンテンツ内容

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



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

	キャッチコピー・ロゴ

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.catch_copy {
		position: absolute;
		z-index: 10;
		top: 18vw;
		left: 50%;
		margin-left: -14.9vw;
		background-color: rgba(255,255,255,0.5);
		padding: 1.6vw 1.4vw 1.6vw 4.8vw;
	}
	.catch_copy p {
		text-align: center;
		color: #003f9d;
		font-size: 2.188vw;
		font-weight: 700;
		letter-spacing: 0.4em;
	}
	.h_logo {
		position: absolute;
		z-index: 10;
		top: 1.458vw;
		left: 1.875vw;
	}
	.h_logo a img {
		width: 9.375vw;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.catch_copy {
		position: absolute;
		z-index: 10;
		top: 27.6vw;
		left: 50%;
		margin-left: -22.6vw;
		background-color: rgba(255,255,255,0.7);
		padding: 1.6vw 1.4vw 1.6vw 5.6vw;
	}
	.catch_copy p {
		text-align: center;
		color: #003f9d;
		font-size: 4.2vw;
		font-weight: 700;
		letter-spacing: 0.2em;
	}
	.h_logo {
		position: absolute;
		z-index: 10;
		top: 1.6vw;
		left: 1.6vw;
	}
	.h_logo a img {
		width: 22vw;
	}
}





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

	汎用パーツ

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	/*
	.row_01 h2 {
		text-align: center;
		color: #003f9d;
		font-size: 1.875vw;
	}
	.row_01 h2 span {
		display: block;
		text-align: center;
		font-size: 0.938vw;
		font-weight: 400;
		padding: 0 0 0.4vw;
	}
	*/
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
}





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

	新着情報　row_01

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.top_news {
		position: absolute;
		z-index: 10;
		bottom: 0;
		right: 0;
		width: 684px;
		background-color: rgba(3,77,168,0.8);
		background-blend-mode: multiply;
		padding: 16px 24px;
	}

	.top_news h2 {
		display: none;
	}

	.top_news .post_wrap {
		height: 100px;
	}
	.top_news .post_wrap ul li {
		padding: 4px;
	}
	.top_news .post_thumb {
		display: none;
	}
	.top_news .post_icon_box {
		float: left;
		padding: 0 20px 0 0;
		margin: 12px 0 0;
	}
	.top_news .post_icon_box .cate_blog_list { /* ブログカテゴリ */
		display: block;
		min-width: 76px;
		text-align: center;
		color: #fff;
		font-size: 12px;
		background-color: #003f9d;
		border-radius: 16px;
		padding: 2px 4px;
	}
	.top_news .post_icon_box .cate_news_list { /* お知らせカテゴリ */
		display: block;
		min-width: 76px;
		text-align: center;
		color: #fff;
		font-size: 12px;
		background-color: #00a0e9;
		border-radius: 16px;
		padding: 2px 4px;
	}
	.top_news .post_date {
		color: #fff;
		font-size: 12px;
	}
	.top_news .post_title {
		margin: -4px 0 0;
	}
	.top_news .post_title a {
		color: #fff;
		font-size: 16px;
	}
	.top_news .post_excerpt {
		display: none;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.top_news {
		padding: 8vw 4vw 12vw;
	}

	.top_news h2 {
		text-align: center;
		color: #003f9d;
	}
	.top_news h2 span.en {
		display: block;
		text-align: center;
		font-size: 3.5vw;
		font-weight: 400;
	}
	.top_news h2 span.jp {
		display: block;
		text-align: center;
		font-size: 6vw;
		font-weight: 700;
		margin: -2vw 0 0;
	}

	.top_news .post_wrap {
		height: 56vw;
		background-color: #fff;
	}
	.top_news .post_wrap ul li {
		border-bottom: 1px dashed #959595;
		padding: 1.6vw;
	}
	.top_news .post_thumb {
		display: none;
	}
	.top_news .post_icon_box {
		padding: 0 2.6vw 0 0;
	}
	.top_news .post_icon_box .cate_blog_list { /* ブログカテゴリ */
		display: inline-block;
		min-width: 12vw;
		text-align: center;
		color: #fff;
		font-size: 2.2vw;
		background-color: #003f9d;
		border-radius: 2vw;
		padding: 0.2vw 0.8vw;
	}
	.top_news .post_icon_box .cate_news_list { /* お知らせカテゴリ */
		display: inline-block;
		min-width: 12vw;
		text-align: center;
		color: #fff;
		font-size: 2.2vw;
		background-color: #00a0e9;
		border-radius: 16px;
		padding: 0.2vw 0.8vw;
	}
	.top_news .post_date {
		font-size: 2.8vw;
	}
	.top_news .post_title {
		margin: -0.6vw 0 0;
	}
	.top_news .post_title a {
		color: #111111;
		font-size: 3.5vw;
	}
	.top_news .post_excerpt {
		display: none;
	}
}





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

	和合建設コンサルタント株式会社について　row_02

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_02 {
		height: 37.917vw;
		background: url(../img/top_bg_01.jpg) center top / cover no-repeat;
	}
	.row_02 .white_box {
		width: 52.083vw;
		background-color: rgba(255,255,255,0.7);
		padding: 4.479vw;
		margin: 6.771vw auto;
	}
	.row_02 .white_box h2 {
		text-align: center;
		color: #003f9d;
		font-size: 1.563vw;
		padding: 0 0 3.229vw;
	}
	.row_02 .white_box p {
		text-align: center;
		font-size: 1.146vw;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_02 {
		background: url(../img/top_bg_01.jpg) center top / cover no-repeat;
		padding: 12vw 4vw 12vw;
	}
	.row_02 .white_box {
		background-color: rgba(255,255,255,0.7);
		padding: 6vw;
	}
	.row_02 .white_box h2 {
		text-align: center;
		color: #003f9d;
		font-size: 4vw;
		padding: 0 0 4vw;
	}
	.row_02 .white_box p {
		text-align: left;
	}
}





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

	事業案内　row_03

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_03 {
		padding: 4vw 0 4vw;
	}
	.row_03 h2 {
		text-align: center;
		color: #003f9d;
		font-size: 1.875vw;
		padding: 0 0 3.958vw;
	}
	.row_03 h2 span {
		display: block;
		text-align: center;
		font-size: 0.938vw;
		font-weight: 400;
		padding: 0 0 0.417vw;
	}


	/* 画像リンク部分 */
	.banner_1,
	.banner_2,
	.banner_3,
	.banner_4 {
    position: relative;
    overflow: hidden;
		height: 25.417vw;
	}
	.banner_1 .arrow,
	.banner_2 .arrow,
	.banner_3 .arrow,
	.banner_4 .arrow {
		position: relative;
		z-index: 10;
	}
	.banner_1 .arrow,
	.banner_2 .arrow,
	.banner_3 .arrow,
	.banner_4 .arrow {
		position: absolute;
		top: 12vw;
		right: 1.6vw;
		display: block;
		width: 1.4vw;
		height: 1.4vw;
		border-top: solid 3px #fff;
		border-right: solid 3px #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.banner_1:after,
	.banner_2:after,
	.banner_3:after,
	.banner_4:after {
		position: absolute;
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		top: 0;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-ms-background-size: cover;
		background-size: cover;
		-webkit-transition: all .3s ease-out;
		-moz-transition: all .3s ease-out;
		-ms-transition: all .3s ease-out;
		transition: all .3s ease-out;
	}
	.banner_1:after {
		filter: brightness(0.9);
		background: url(../img/top_img_01.jpg) center center / cover no-repeat;
	}
	.banner_2:after {
		filter: brightness(0.86);
		background: url(../img/top_img_02.jpg) center center / cover no-repeat;
	}
	.banner_3:after {
		filter: brightness(0.86);
		background: url(../img/top_img_03.jpg) center center / cover no-repeat;
	}
	.banner_4:after {
		filter: brightness(0.86);
		background: url(../img/top_img_04.jpg) center center / cover no-repeat;
	}
	.banner_1:hover:after,
	.banner_2:hover:after,
	.banner_3:hover:after,
	.banner_4:hover:after {
		opacity: 1;
		filter: brightness(1);
		-moz-transform: scale(1.2);
		-webkit-transform: scale(1.2);
		-ms-transform: scale(1.2);
		transform: scale(1.2);
	}
	.row_03 a {
		opacity: 1 !important;
	}


	.row_03_sub_01 {
		position: relative;
		padding: 0 0 5.208vw;
	}
	.row_03_sub_01 h3 {
		text-align: center;
		font-size: 1.458vw;
		padding: 1.563vw 0 1.563vw;
	}
	.row_03_sub_01 p {
		text-align: center;
		font-size: 1.146vw;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_03 {
		padding: 8vw 4vw 6vw;
	}
	.row_03 h2 {
		text-align: center;
		color: #003f9d;
		font-size: 6vw;
		padding: 0 0 6vw;
	}
	.row_03 h2 span {
		display: block;
		text-align: center;
		font-size: 3.5vw;
		font-weight: 400;
		padding: 0 0 1vw;
	}


	/* 画像リンク部分 */
	.banner_1,
	.banner_2,
	.banner_3,
	.banner_4 {
    position: relative;
    overflow: hidden;
		height: 56vw;
	}
	.banner_1 .arrow,
	.banner_2 .arrow,
	.banner_3 .arrow,
	.banner_4 .arrow {
		position: relative;
		z-index: 10;
	}
	.banner_1 .arrow,
	.banner_2 .arrow,
	.banner_3 .arrow,
	.banner_4 .arrow {
		position: absolute;
		top: 25.8vw;
		right: 3vw;
		display: block;
		width: 4vw;
		height: 4vw;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.banner_1:after,
	.banner_2:after,
	.banner_3:after,
	.banner_4:after {
		position: absolute;
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		top: 0;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-ms-background-size: cover;
		background-size: cover;
		-webkit-transition: all .3s ease-out;
		-moz-transition: all .3s ease-out;
		-ms-transition: all .3s ease-out;
		transition: all .3s ease-out;
	}
	.banner_1:after {
		filter: brightness(0.9);
		background: url(../img/top_img_01.jpg) center center / cover no-repeat;
	}
	.banner_2:after {
		filter: brightness(0.86);
		background: url(../img/top_img_02.jpg) center center / cover no-repeat;
	}
	.banner_3:after {
		filter: brightness(0.86);
		background: url(../img/top_img_03.jpg) center center / cover no-repeat;
	}
	.banner_4:after {
		filter: brightness(0.86);
		background: url(../img/top_img_04.jpg) center center / cover no-repeat;
	}
	.banner_1:hover:after,
	.banner_2:hover:after,
	.banner_3:hover:after,
	.banner_4:hover:after {
		opacity: 1;
		filter: brightness(1);
		-moz-transform: scale(1.2);
		-webkit-transform: scale(1.2);
		-ms-transform: scale(1.2);
		transform: scale(1.2);
	}
	.row_03 a {
		opacity: 1 !important;
	}


	.row_03_sub_01 {
		padding: 0 0 5.208vw;
	}
	.row_03_sub_01 h3 {
		text-align: center;
		font-size: 5vw;
		padding: 4vw 0 2vw;
	}
	.row_03_sub_01 p {
	}
}





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

	パララックス　row_08

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_08 {
		height: 30vw;
		background: url(../img/top_bg_02.jpg) center bottom / cover no-repeat;
    background-attachment: fixed;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
  .row_08 {
		height: 56vw;
		background: url(../img/top_bg_02.jpg) center bottom / 100% no-repeat;
	}
}





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

	採用情報　row_05 row_06 row_07

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


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.row_05 {
		padding: 7.813vw 0 0;
	}
	.row_05 h2 {
		text-align: center;
		color: #003f9d;
		font-size: 1.875vw;
		padding: 0 0 0.833vw;
	}
	.row_05 img {
		position: relative;
		z-index: 10;
		width: 19.479vw;
	}
	.row_05 .text1 {
		margin-top: 3vw;
		text-align: center;
		color: #dd0116;
		font-size: 1.875vw;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
	}
	.row_05 .text2 {
		margin-top: 2.5vw;
		text-align: center;
		color: #003f9d;
		font-size: 1.875vw;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
	}

	.row_06 {
		height: 38.802vw;
		background: url(../img/top_img_08.jpg) center top / cover no-repeat;
		padding: 17vw 0 0;
		margin-top: 5vw;
	}
	.row_06 img {
		/*width: 38.385vw;*/
		width: 52vw;
	}


	/* リンクボタン */
	.link_top01 {
		text-align: center;
	}
	.link_top01 ul {
		font-size: 0;
		margin: 0 -16px 0 0;
	}
	.link_top01 ul li {
		display: inline-block;
		vertical-align: top;
		margin: 0 16px 0 0;
	}
	.link_top01 ul li:last-of-type {
		margin: 0;
	}
	.link_top01 a {
		position: relative;
		display: inline-block;
		min-width: 440px !important;
		text-align: center;
		color: #003f9d;
		font-size: 24px;
		font-size: 1.479vw;
		font-weight: 700;
		line-height: 1;
		padding: 1.2em 4em !important;
		background-color: rgba(255,255,255,0.6);
		border: 2px solid #003f9d;
	}
	.link_top01 a:after {
		position: absolute;
		content: "\f105";
		color: #003f9d;
		font-size: 24px;
		font-size: 1.479vw;
		font-family: FontAwesome;
		right: 0.8em;
		top: 1.3em;
	}
	.link_top01b a {
		border: none;
	}


	.row_07 {
		padding: 4.583vw 0 8.229vw;
	}
	.row_07 .link_top02 {
		margin: -2.6vw 0 0 -16vw;
	}

	/* リンクボタン */
	.link_top02 {
		text-align: center;
	}
	.link_top02 ul {
		font-size: 0;
		margin: 0 -1vw 0 0;
	}
	.link_top02 ul li {
		display: inline-block;
		vertical-align: top;
		margin: 0 1vw 0 0;
	}
	.link_top02 ul li:last-of-type {
		margin: 0;
	}
	.link_top02 a {
		position: relative;
		display: inline-block;
		min-width: 23.854vw !important;
		text-align: left;
		color: #fff;
		font-size: 1.25vw;
		font-weight: 700;
		line-height: 1;
		padding: 1.2em 3em !important;
		background-color: #003f9d;
	}
	.link_top02 a:hover {
		opacity: 1;
		filter: brightness(80%);
	}
	.link_top02 span {
		display: block;
		font-size: 0.833vw;
		font-weight: 400;
		padding: 0.4vw 0 0;
	}
	.link_top02 a:after {
		position: absolute;
		content: "\f105";
		color: #fff;
		font-size: 1.25vw;
		font-family: FontAwesome;
		top: 1.8em;
		right: 0.8em;
	}
	.link_top02b a {
		border: none;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.row_05 {
		padding: 12vw 4vw 0;
	}
	.row_05 h2 {
		text-align: center;
		color: #003f9d;
		font-size: 6vw;
		padding: 0 0 2vw;
	}
	.row_05 img {
		position: relative;
		z-index: 10;
		width: 54vw;
	}
	.row_05 .text1 {
		margin-top: 7vw;
		text-align: center;
		color: #dd0116;
		font-size: 4vw;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
	}
	.row_05 .text2 {
		margin-top: 8vw;
		text-align: center;
		color: #003f9d;
		font-size: 4vw;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
	}

	.row_06 {
		height: 80vw;
		background: url(../img/top_img_08_sp.jpg) center top -20vw / 100% auto no-repeat;
		padding: 33vw 4vw 0;
		margin: 8vw 0 0;
	}
	.row_06 img {
		/*width: 76vw;*/
		width: 100vw;
	}

	/* リンクボタン */
	.link_top01 {
		text-align: center;
	}
	.link_top01 ul {
		font-size: 0;
		margin: 0 0 -3vw 0;
	}
	.link_top01 ul li {
		margin: 0 0 3vw 0;
	}
	.link_top01 ul li:last-of-type {
		margin: 0;
	}
	.link_top01 a {
		position: relative;
		display: inline-block;
		width: 80%;
		text-align: center;
		color: #003f9d;
		font-size: 3.5vw;
		font-weight: 700;
		line-height: 1;
		padding: 1.4em 3em !important;
		padding: 0.8em 0;
		background-color: rgba(255,255,255,0.6);
		border: 2px solid #003f9d;
	}
	.link_top02 a:hover {
		opacity: 1;
	}
	.link_top01 a:after {
		position: absolute;
		content: "\f105";
		font-family: FontAwesome;
		right: 0.8em;
		top: 1.4em;
	}


	.row_07 {
		padding: 6vw 4vw 12vw;
	}
	.row_07 .link_top02 {
		margin: -7vw 0 0;
	}

	/* リンクボタン */
	.link_top02 {
		text-align: center;
	}
	.link_top02 ul {
		font-size: 0;
		margin: 0 0 -3vw 0;
	}
	.link_top02 ul li {
		margin: 0 0 3vw 0;
	}
	.link_top02 ul li:last-of-type {
		margin: 0;
	}
	.link_top02 a {
		position: relative;
		z-index: 10;
		display: inline-block;
		width: 80%;
		text-align: left;
		color: #fff;
		font-size: 3.5vw;
		font-weight: 700;
		line-height: 1;
		padding: 1.2em 2em !important;
		padding: 0.8em 0;
		background-color: #003f9d;
	}
	.link_top02 span {
		display: block;
		font-size: 2.6vw;
		font-weight: 400;
		padding: 0.6vw 0 0;
	}
	.link_top02 a:after {
		position: absolute;
		content: "\f105";
		font-family: FontAwesome;
		top: 1.7em;
		right: 0.8em;
	}
}
