@charset "UTF-8";

/* ---------------------------------------------------------------------
	common 上書き
*/

/* header */
#headerArea {
	background: none;
	}
	#headerArea header .logo {
		background-image: url(../images/glb_logo_white.png);
		}
		#headerArea nav .menu .menu_section .menu_link {
			color: #fff;
			}
			#headerArea nav .menu .menu_section .menu_link span {
				color: #fff;
				}
		
#headerArea.change {
	background-color: #fff;
	transition: 0.2s;
	}
	#headerArea.change header .logo {
		background-image: url(../images/glb_logo.png);
		}
		#headerArea.change nav .menu .menu_section .menu_link {
			color: #111827;
			}
			#headerArea.change nav .menu .menu_section .menu_link:hover {
				color: #033570;
				}
		#headerArea.change nav .menu .menu_section .menu_link span {
			color: #6b7280;
			}
			#headerArea.change nav .menu .menu_section .menu_link:hover span {
				color: #033570;
				}

#contentArea {
	margin-top: 0;
	}

/* text */
#contentArea p {
	margin-bottom: 0;
	}

#contentArea h2 {
	font-size: 4.8rem;
	line-height: 1;
	font-weight: normal;
	text-align: left;
	padding: 0;
	margin: 0 0 12px 0;
	}
	#contentArea h2::before {
		border: none;
		}
#contentArea .top_h2_alpha {
	font-size: 1.8rem;
	line-height: 1;
	display: block;
	margin: 0 auto;
	}

#contentArea h3 {
	font-size: 4.0rem;
	line-height: 1;
	color: #fff;
	margin-bottom: 4px;
	font-weight: normal;
	border: none;
	margin: 0 0 6px 0;
	padding-bottom: 0;
	}
	#contentArea h3::first-letter {
		color: #d70a30;
		}

#contentArea ul {
	list-style: none;
	margin: 0;
	}
	#contentArea ul li {
		margin: 0;
		}

#contentArea section {
	margin: 0 auto;
	}

/* ---------------------------------------------------------------------
	index
*/
/* mainimage */
#contentArea #top_imgArea {
	position: relative;
	}
	#contentArea #top_imgArea #catchcopy {
		z-index: 50;
		position: absolute;
		left: 50%;
		bottom: 32px;
		margin: 0 auto;
		min-width: 1240px;
		transform: translateX(-50%);
		}
		#contentArea #top_imgArea #catchcopy p.jp {
			margin-bottom: 16px;
			color: #fff;
			font-size: 2.4rem;
			line-height: 1;
			font-weight: bold;
			}
		#contentArea #top_imgArea #catchcopy p.en {
			font-family: "Helvetica Neue", Helvetica , sans-serif;
			color: #fff;
			font-size: 7.2rem;
			line-height: 7rem;
			font-weight: bold;
			/* text-shadow: 0px 0px 32px rgba(0, 0, 0, 0.16); */
			}
			#contentArea #top_imgArea #catchcopy .spbr {
				display: none;
				}
	#contentArea #top_imgArea #video_area {
		width: 100%;
		position: relative;
		}
		#contentArea #top_imgArea #video_area #video {
			width: 100%;
			height: 100vh;
			object-fit: cover;
			vertical-align: bottom;
			}

/* commercial */
#contentArea #section_commercial {
	width: 100%;
	margin: 0 auto;
	padding: 110px 0;
	background-color: #033570;
	}
	#contentArea #section_commercial ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 80px;
		}
		#contentArea #section_commercial ul li {
			width: 43%;
			}
			#contentArea #section_commercial ul li a {
				width: 100%;
				height: auto;
				display: block;
				}
				#contentArea #section_commercial ul li a img {
					width: 100%;
					height: auto;
					}
				#contentArea #section_commercial ul li p {
					color: #fff;
					font-weight: bold;
					text-align: center;
					line-height: 3;
					}
			#contentArea #section_commercial > header h2,
			#contentArea #section_commercial > header .top_h2_alpha {
				z-index: 3;
				position: relative;
				display: inline-block;
				width: 100%;
				font-family: "Helvetica Neue", Helvetica, sans-serif;
				color: #fff;
				text-align: center;
				margin-bottom: 0;
				}
				#contentArea #section_commercial > header h2::before {
					content: "";
					position: absolute;
					top: -26px;
					left: 50%;
					width: 24px;
					height: 4px;
					background-color: #fff;
					}
					/* video */
					.modal-video-close-btn {
						cursor: pointer;
					}

/* about */
#contentArea #section_about {
	margin: 80px auto;
	padding-left: 22.22%;
	}
	#contentArea #section_about > header {
		margin-bottom: 40px;
		}
		#contentArea #section_about > header h2 {
			position: relative;
			margin-bottom: 12px;
			}
			#contentArea #section_about > header h2::first-letter {
				color: #d70a30;
				}
				#contentArea #section_about > header h2::before {
				content: "";
				position: absolute;
				top: 50%;
				left: -16px;
				margin-left: 0;
				width: 24px;
				height: 4px;
				background-color: #d70a30;
				transform: translateX(-100%);
				}
		#contentArea #section_about > header .top_h2_alpha {
			font-family: "Helvetica Neue", Helvetica , sans-serif;
			color: #6b7280;
			}
	#contentArea #section_about .section_mainimage {
		margin-bottom: 24px;
		}
	#contentArea #section_about .section_mainimage img {
		width: 100%;
		height: 440px;
		vertical-align: bottom;
		object-fit: cover;
		object-position: 50% 66%;
		}
	#contentArea #section_about .wrapper {
		width: 64.28%;
		}
		#contentArea #section_about .wrapper p {
			line-height: 3.6rem;
			margin-bottom: 24px;
			}

/* Business */
#section_ourBusiness {
	z-index: 2;
	position: relative;
	margin: 0px auto;
	padding-top: 112px;
	}
	#section_ourBusiness::after {
		content: " ";
		z-index: 1;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		padding-bottom: 80px;
		width: 88.88%;
		background-color: #033570;
		}
	#section_ourBusiness > header {
		margin-bottom: 72px;
		}
		#section_ourBusiness > header h2,
    #section_ourBusiness > header .top_h2_alpha {
			z-index: 3;
			position: relative;
			display: inline-block;
			width: 100%;
			font-family: "Helvetica Neue", Helvetica , sans-serif;
			color: #fff;
			text-align: center;
			}
			#section_ourBusiness > header h2::before {
				content: "";
				position: absolute;
				top: -28px;
				left: 50%;
				width: 24px;
				height: 4px;
				background-color: #fff;
				}
	
	/* Business sub_section */
	#section_ourBusiness ul.sub_section li {
		position: relative;
		z-index: 3;
		padding-right: 27.77%;
		padding-bottom: 120px;
		}
	#section_ourBusiness ul.sub_section li:nth-child(even) {
		padding-left: 27.77%;
		padding-right: 0%;
		}
		#section_ourBusiness ul.sub_section li:last-child {
			margin-bottom: 0px;
			}
			/* Business mainimage */
			#section_ourBusiness ul.sub_section li .section_mainimage {
				position: relative;
				}
				/* Business number */
				#section_ourBusiness ul.sub_section li .section_mainimage .num {
					position: absolute;
					top: -36px;
					left: 48px;
					margin: 0;
					font-size: 7.2rem;
					font-family: "Helvetica Neue", Helvetica , sans-serif;
					color: #fff;
					line-height: 1;
					}
				/* Business img */
				#section_ourBusiness ul.sub_section li .section_mainimage img {
					width: 100%;
					height: 430px;
					object-fit: cover;
					vertical-align: bottom;
					}
				#section_ourBusiness ul.sub_section li.steel_frame .section_mainimage img {
					object-position: 50% 26%;
					}
				#section_ourBusiness ul.sub_section li.woodwork .section_mainimage img {
					object-position: 50% 20%;
					}
				#section_ourBusiness ul.sub_section li.materials .section_mainimage img {
					object-position: 50% 44%;
					}
				/* Business wrapper */
				#section_ourBusiness ul.sub_section li .wrapper {
					position: absolute;
					width: 27.77%;
					color: #fff;
					}
				#section_ourBusiness ul.sub_section li.steel_frame .wrapper,
				#section_ourBusiness ul.sub_section li.materials .wrapper {
					top: 80px;
					left: 11.11%;
					}
				#section_ourBusiness ul.sub_section li.woodwork .wrapper {
				top: 80px;
				left: calc(27.77% + 11.11%);
				}
				/* Business text */
				#section_ourBusiness ul.sub_section li .wrapper .top_h3_alpha {
					display: inline-block;
					margin-bottom: 24px;
					font-family: "Helvetica Neue", Helvetica , sans-serif;
					font-size: 1.8rem;
					line-height: 1;
					}
				#section_ourBusiness ul.sub_section li .wrapper p {
					line-height: 3.0rem;
					margin-bottom: 24px;
					}
					/* wp */
					#section_ourBusiness ul.sub_section li .wrapper p:first-of-type {
						margin-bottom: 0px;
						}

/* careers */
#section_careers {
	position: relative;
	width: 100%;
	height: 600px;
	margin-bottom: 112px;
	}
	#section_careers .section_mainimage img {
		width: 100%;
		height: 600px;
		object-fit: cover;
		object-position: 50% 46%;
		}
		#section_careers .wrapper {
			position: absolute;
			top: 47%;
			left: 61.11%;
			width: 29.5%;
			transform: translateY(-50%);
			}
			#section_careers .wrapper h2 {
				position: relative;
				color: #fff;
				line-height: 1;
				}
				#section_careers .wrapper h2::first-letter {
					color: #d70a30;
					}
				#section_careers .wrapper h2::before {
					content: "";
					position: absolute;
					top: 50%;
					left: -16px;
					width: 24px;
					height: 4px;
					background-color: #d70a30;
					transform: translateX(-100%);
					}
					#section_careers .wrapper .top_h2_alpha {
						margin-bottom: 24px;
						font-family: "Helvetica Neue", Helvetica , sans-serif;
						color: #fff;
						font-size: 1.8rem;
						line-height: 1;
						}
					#section_careers .wrapper p {
						color: #fff;
						line-height: 3.6rem;
						margin-bottom: 24px;
						}
	
/* sustainability */
#contentArea #section_sustainability {
	width: 77.77%;
	margin: 112px auto 0;
	}
	#section_sustainability > header {
		margin-bottom: 56px;
		}
		#section_sustainability > header h2 {
			position: relative;
			text-align: center;
			}
			#section_sustainability > header h2::first-letter {
				color: #d70a30;
				}
			#section_sustainability > header h2::before {
				content: "";
				position: absolute;
				top: -28px;
				left: 50%;
				width: 24px;
				height: 4px;
				margin-left: 0;
				background-color: #d70a30;
				transform: translate(-50%,-100%);
				}
			#section_sustainability > header .top_h2_alpha {
				font-family: "Helvetica Neue", Helvetica , sans-serif;
				color: #6b7280;
				text-align: center;
				}
	/* sub_section */
	#section_sustainability ul.sub_section {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		}
		#section_sustainability ul.sub_section li {
			width: 20.71%;
			text-align: center;
			margin-bottom: 0;
			}
			#section_sustainability ul.sub_section li a {
				display: block;
				text-decoration: none;
				}
				#section_sustainability ul.sub_section li a img {
					width: 100%;
					vertical-align: bottom;
					border-radius: 50%;
					object-fit: cover;
					}
				#section_sustainability ul.sub_section li a p {
					font-weight: bold;
					margin-top: 32px;
					}

/* ---------------------------------------------------------------------
	タブレット
*/
@media only screen and (max-width : 1240px) {

	/* ---------------------------------------------------------------------
	header
	*/
	#headerArea header .logo {
		background-image: url(../images/glb_logo_white.png);
		}
		#headerArea nav .menu .menu_section .menu_link {
			color: #111827;
			}
			#headerArea nav .menu .menu_section .menu_link span {
				color: #6b7280;
				}
	
	/*　ハンバーガーメニューボタン　---------------------------------------------*/
	.menu_button_sp span {
		background-color: #fff;
		}
	#headerArea.change .menu_button_sp span {
		background-color: #111827;
		}
	/* スマホメニューを開いてる時のボタン */
	.menu_button_sp.active span:nth-child(1),
	.menu_button_sp.active span:nth-child(2),
	.menu_button_sp.active span:nth-child(3) {
		background: #fff;
		}
	#headerArea.change .menu_button_sp.active span:nth-child(1),
	#headerArea.change .menu_button_sp.active span:nth-child(2),
	#headerArea.change .menu_button_sp.active span:nth-child(3) {
		background: #111827;
		}
	/*  */

	#contentArea #top_imgArea #catchcopy {
    min-width: auto;
		}

	#contentArea #section_about {
		padding-left: 12%;
		}
		#contentArea #section_about .section_mainimage img {
			height: 340px;
			}
		#contentArea #section_about .wrapper {
			width: 82.28%;
			}

	#section_ourBusiness ul.sub_section li {
		padding-right: 20.77%;
		}
	#section_ourBusiness ul.sub_section li:nth-child(even) {
		padding-left: 20.77%;
		}
		#section_ourBusiness ul.sub_section li .section_mainimage img {
			height: 350px;
			}
	
	#section_ourBusiness ul.sub_section li .wrapper {
		width: 55%;
		}

	#section_careers {
		height: 440px;
		}
	#section_careers .section_mainimage img {
		height: 440px;
		}

	#section_careers .wrapper {
		position: absolute;
		top: 55%;
		left: 57.11%;
		width: 35.5%;
		}

}

/* ---------------------------------------------------------------------
	SP
*/
@media only screen and (max-width : 767px) {

	/* text */
	#contentArea h2 {
		font-size: 3.6rem;
		margin: 0 0 12px 0;
		}
		#contentArea h2::before {
			border: none;
			}
	#contentArea .top_h2_alpha {
		font-size: 1.4rem;
		}

	#contentArea h3 {
		font-size: 3rem;
		margin: 0;
		}

	/* ---------------------------------------------------------------------
	header
	*/
	#headerArea header .logo {
		background-image: url(../images/glb_logo.png);
		}
		#headerArea nav .menu .menu_section .menu_link {
			color: #111827;
			}
			#headerArea nav .menu .menu_section .menu_link span {
				color: #6b7280;
				}

	/*　ハンバーガーメニューボタン　---------------------------------------------*/
	.menu_button_sp span {
		background-color: #111827;
		}
	#headerArea.change .menu_button_sp span {
		background-color: #111827;
		}
	/* スマホメニューを開いてる時のボタン */
	.menu_button_sp.active span:nth-child(1),
	.menu_button_sp.active span:nth-child(2),
	.menu_button_sp.active span:nth-child(3) {
		background: #111827;
		}

	/* ---------------------------------------------------------------------
	index
	*/
	/* mainimage */
		#contentArea #top_imgArea #catchcopy {
			bottom: 24px;
			width: 87.69%;
			min-width: inherit;
			}
			#contentArea #top_imgArea #catchcopy p.jp {
				margin-bottom: 12px;
				font-size: 1.6rem;
				line-height: 1;
				}
			#contentArea #top_imgArea #catchcopy p.en {
				font-size: 4.8rem;
				line-height: 0.9;
				}
				#contentArea #top_imgArea #catchcopy .spbr {
					display: none;
					}
			#contentArea #top_imgArea #video_area #video {
				width: 100%;
				height: 90vh;
				}
	/* commercial */
	#contentArea #section_commercial {
		padding: 36px 0;
	}
	#contentArea #section_commercial > header p {
		line-height: 1.2;
	}
	#contentArea #section_commercial ul {
		justify-content: center;
		gap: 3em;
		margin-top: 40px;
		}
		#contentArea #section_commercial ul li {
			width: 90%;
			}

	/* about */
	#contentArea #section_about {
		margin: 40px auto;
		padding-left: 12.3%;
		}
		#contentArea #section_about > header {
			margin-bottom: 32px;
			}
					#contentArea #section_about > header h2::before {
					width: 16px;
					height: 3px;
					}
			#contentArea #section_about > header .top_h2_alpha {
				font-family: "Helvetica Neue", Helvetica , sans-serif;
				color: #6b7280;
				}
		#contentArea #section_about .section_mainimage {
			margin-bottom: 24px;
			}
		#contentArea #section_about .section_mainimage img {
			height: 180px;
			object-position: 50% 38%;
			}
		#contentArea #section_about .wrapper {
			width: 85.96%;
			}
			#contentArea #section_about .wrapper p {
				line-height: 1.8;
				}

	/* Business */
	#section_ourBusiness {
		padding-top: 16px;
		}
		#section_ourBusiness::after {
			padding-bottom: 56px;
			width: 93.84%;
			}
		#section_ourBusiness > header {
			margin-bottom: 56px;
			}
			#section_ourBusiness > header h2,
			#section_ourBusiness > header .top_h2_alpha {
				display: block;
				padding-left: 12.3%;
				text-align: left;
				}
				#section_ourBusiness > header h2::before {
					top: 50%;
					left: 32px;
					margin-left: 0;
					width: 16px;
					height: 3px;
					transform: translateX(-100%);
					}

		#section_ourBusiness a.button,
		#section_ourBusiness span.button,
		#section_ourBusiness button.submit {
			color: #033570;
			background-color: #fff;
			}
			#section_ourBusiness a.button.icon_arrow::after,
			#section_ourBusiness span.button.icon_arrow::after,
			#section_ourBusiness button.submit.icon_arrow::after {
				background-image: url(../images/icon_arrow_blue.svg);
				}
		#section_ourBusiness a.button:hover,
		#section_ourBusiness span.button:hover,
		#section_ourBusiness button.submit:hover {
			color: #fff;
			background-color: #d70a30;
			}
			#section_ourBusiness a.button:hover::after,
			#section_ourBusiness span.button:hover::after,
			#section_ourBusiness button.submit:hover::after {
				background-image: url(../images/icon_arrow.svg);
				}

		/* Business sub_section */
		#section_ourBusiness ul.sub_section li {
			padding-right: 12.3%;
			padding-bottom: 18em;
			}
		#section_ourBusiness ul.sub_section li:first-child {
			padding-bottom: 18em;
			}
		#section_ourBusiness ul.sub_section li:nth-child(2) {
			padding-bottom: 18em;
			}
		#section_ourBusiness ul.sub_section li:last-child {
			padding-bottom: 18em;
			}
		#section_ourBusiness ul.sub_section li:nth-child(even) {
			padding-left: 12.3%;
			}
			/* Business mainimage */
				/* Business number */
				#section_ourBusiness ul.sub_section li .section_mainimage .num {
					top: -24px;
					left: 24px;
					font-size: 4.8rem;
					}
				/* Business img */
				#section_ourBusiness ul.sub_section li .section_mainimage img {
					height: 180px;
					}
				/* Business wrapper */
				#section_ourBusiness ul.sub_section li .wrapper {
					position: absolute;
					width: 69.23%;
					color: #fff;
					}
				#section_ourBusiness ul.sub_section li.steel_frame .wrapper,
				#section_ourBusiness ul.sub_section li.materials .wrapper {
					top: 165px;
					left: 6.15%;
					}
				#section_ourBusiness ul.sub_section li.woodwork .wrapper {
				top: 165px;
				left: calc(6.15% + 11.11%);
				}
				/* Business text */
				#section_ourBusiness ul.sub_section li .wrapper .top_h3_alpha {
					margin-bottom: 16px;
					font-size: 1.3rem;
					}
				#section_ourBusiness ul.sub_section li .wrapper p {
					line-height: 1.8;
					}

	/* careers */
	#section_careers {
		overflow: hidden;
		width: 100%;
		height: 320px;
		margin-bottom: 112px;
		}
		#section_careers .section_mainimage img {
			width: 130%;
			height: 320px;
			object-fit: cover;
			object-position: 50% 80%;
			}
			#section_careers .wrapper {
				top: 50%;
				left: 12.3%;
				width: 71.28%;
				}
					#section_careers .wrapper h2::before {
						left: -8px;
						width: 16px;
						height: 3px;
						}
						#section_careers .wrapper .top_h2_alpha {
							margin-bottom: 16px;
							font-size: 1.4rem;
							}
						#section_careers .wrapper p {
							line-height: 1.8;
							margin-bottom: 24px;
							}

	/* sustainability */
	#contentArea #section_sustainability {
		width: 100%;
		margin: 56px auto 0;
		}
		#section_sustainability > header {
			margin-bottom: 40px;
			padding-left: 12.3%;
			}
			#section_sustainability > header h2 {
				text-align: left;
				}
				#section_sustainability > header h2::before {
					top: 50%;
					left: -16px;
					margin-top: 3px;
					width: 16px;
					height: 3px;
					transform: translate(-100%,-100%);
					}
				#section_sustainability > header .top_h2_alpha {
					text-align: left;
					}
		/* sub_section */
		#section_sustainability ul.sub_section {
			margin: 0 auto;
			width: 83.58%;
			}
			#section_sustainability ul.sub_section li {
				margin-bottom: 32px;
				width: 50%;
				}
				#section_sustainability ul.sub_section li a {
					text-decoration: none;
					}
					#section_sustainability ul.sub_section li a img {
						padding: 0 9.81%;
						width: 100%;
						}
					#section_sustainability ul.sub_section li a p {
						margin-top: 16px;
						}

}