@charset "utf-8";
/*
 * base css 
 * pc max width 1240px fixed 
 */

@media (max-width: 767px) {
}

@media (min-width: 768px) {
}

/* ---------------------------------------- common */

#wrapper { }

@media (max-width: 767px) {

	#wrapper { 
		font-size: clamp(0.813rem, 0.678rem + 0.67vw, 1rem);
	}
	main { padding: 0 1.875em; }
	.pc { display: none !important; }

	.inner {  }
}

@media (min-width: 768px) {

	#wrapper { 
		font-size: clamp(0.813rem, 0.018rem + 1.66vw, 1.125rem);
	}
	main { padding: 0 1.875em; }
	
	#drawer-menu,
	.sp { display: none !important; }

	.inner {
		max-width: 1070px;
		margin: 0 auto;
	}
}

/* pagelink */

.pagelink { text-align: center; }
.pagelink a {
	display: inline-block;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.pagelink a:hover {
	opacity: .5;
}

/* ---------------------------------------- header */

header { 
	background: #fff;
}
header h1 {
	font-family: 'Noto Sans JP';
	line-height: 1.4;
}

@media (max-width: 767px) {

	header { 
		position: sticky;
		top: 0;
		z-index: 99;
		padding: 0.5em 4vw;
	}

	header .logo {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	header .logo a {
		display: block;
		width: 15.775vw;
		max-width: 121px;
	}
	header .logo a img {
		width: 100%;
		height: auto;
	}
	header h1 {
		font-size: clamp(0.625rem, 0.357rem + 1.34vw, 1rem);
		text-align: center;
	}
	#drawer-menu-open {
		width: 5vw;
		min-width: 22px;
		aspect-ratio: 1 / .8;
	}
	header .globalnav { display: none !important; }
}

@media (min-width: 768px) {

	header { }
	header .inner { 
		max-width: 1024px;
		margin: 0 auto;
	}
	header .headline { padding: 0 1.875em; }

	header .logo {
		display: flex;
		align-items: center;
		padding: 10px 0;
	}
	header .logo a {
		display: block;
		width: 14.16%;
		max-width: 145px;
	}
	header .logo a img {
		width: 100%;
		height: auto;
	}
	header h1 {
		font-size: clamp(0.875rem, -0.25rem + 2.34vw, 1.25rem);
		margin: 0 auto;
	}

	/* globalnav */
	header .globalnav {
		background: #000;
		padding: 5px 1.875em;
	}
	header .globalnav ul {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	header .globalnav ul li {
		border-right: 1px #fff solid;
	}
	header .globalnav ul li:first-child {
		border-left: 1px #fff solid;
	}
	header .globalnav ul li a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 4em;
		color: #fff;
		font-family: 'Noto Sans JP';
		font-weight: 600;
		font-size: clamp(0.813rem, 0.25rem + 1.17vw, 1rem);
		line-height: 1;
		padding: 0 2.5em;
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
	}
	header .globalnav ul li a small {
		font-size: clamp(0.625rem, 0.438rem + 0.39vw, 0.688rem);
		margin: 2px 0 0;
	}
	header .globalnav ul li a:hover {
		color: #999;
	}

}

/* ---------------------------------------- visual */

#visual {
	color: #fff;
	background: #000;
}
#visual .inner { position: relative; }

@media (max-width: 767px) {

	#visual {
		background: url( ../images/company/main-company.jpg ) no-repeat center right -5em;
		background-size: cover;
		padding: 0 1em;
	}
	#visual .inner {
		height: 12em;
	}
	#visual h2 {
		font-size: clamp(1.5rem, 0.605rem + 4.47vw, 2.75rem);
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

@media (min-width: 768px) {

	#visual {
		background: url( ../images/company/main-company.jpg ) no-repeat center center;
		background-size: cover;
		padding: 0 1.875em;
	}
	#visual .inner {
		max-width: 1024px;
		height: 16em;
	}
	#visual h2 {
		font-size: clamp(2.75rem, -0.694rem + 7.18vw, 4.688rem);
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

}

/* ---------------------------------------- breadcrumbWrap */
/* Breadcrumb NavXT */

@media (max-width: 767px) {

	#breadcrumbWrap { display: none; }

}

@media (min-width: 768px) {

	#breadcrumbWrap {
		font-size: clamp(0.75rem, 0.432rem + 0.66vw, 0.875rem);
		font-family: 'Noto Sans JP';
		font-weight: 400;
		padding: 2em 1em;
	}

}

/* ---------------------------------------- main */

@media (max-width: 767px) {

	main { padding: 3em 4vw; }

}

@media (min-width: 768px) {

	main { padding: 2em 1.875em; }

}

/* ---------------------------------------- footer */

footer {
	color: #1b1b1b;
	background: #d0d0d0;
	font-family: 'Noto Sans JP';
	font-weight: 400;
}
footer a {
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
footer a:hover {
	color: #999;
}

@media (max-width: 750px) {

	footer { padding: 2em 0 3em; }
	footer .inner {
		display: flex;
		justify-content: center;
		font-size: clamp(0.625rem, 0.491rem + 0.67vw, 0.813rem);
		line-height: 2;
		margin: 0 1em;
	}
	footer .inner .leftside {
		display: flex;
		margin: 0 3em 0 0;
	}
	footer .inner .leftside ul:first-child { margin: 0 2em 0 0; }

}

@media (min-width: 751px) {

	footer { padding: 3.125em 0 4.375em; }
	footer .inner {
		display: flex;
		justify-content: center;
		max-width: 1070px;
		font-size: clamp(0.625rem, 0.357rem + 1.34vw, 1rem);
		line-height: 2;
		margin: 0 auto;
	}
	footer .inner .leftside {
		display: flex;
		margin: 0 16em 0 0;
	}
	footer .inner .leftside ul:first-child { margin: 0 3em 0 0; }

}

/* ---------------------------------------- credit */

#credit {
	color: #1b1b1b;
	font-family: 'Noto Sans JP';
	font-weight: 400;
}

@media (max-width: 750px) {

	#credit { padding: 1em 0; }
	#credit .inner {
		text-align: center;
		font-size: clamp(0.625rem, 0.491rem + 0.67vw, 0.813rem);
		margin: 0 1em;
	}

}

@media (min-width: 751px) {

	#credit { padding: 1em 0; }
	#credit .inner {
		max-width: 1070px;
		text-align: center;
		font-size:clamp(0.625rem, 0.357rem + 1.34vw, 1rem);
		margin: 0 auto;
	}

}