@charset "UTF-8";

/* ====================================
MV
==================================== */
.sct_mv {
	width: 100%;
	overflow: hidden;
	position: relative;
	background-color: #242728;
	}
.sct_mv::before {
	width: 100%;
	display: block;
	position: relative;
	z-index: 2;
	background: url(../../assets/img/ptn_01.png) repeat 0 0;
	content: '';
	}
.sct_mv .catch {
	margin: auto;
	z-index: 3;
	position: absolute;
	bottom: 0;
	text-align: center;
	}

/* switch_img */
.sct_mv .switch_img01 {
	width: 100%;
	display: block;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	}
.sct_mv .switch_img01 img {
	width: 100%;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	animation: mv_anime 30s 0s infinite;
	}
.sct_mv .switch_img01 img:nth-of-type(2) {
	animation-delay: 10s;
	}
.sct_mv .switch_img01 img:nth-of-type(3) {
	animation-delay: 20s;
	}
@keyframes mv_anime {
	0% {
		opacity: 0;
		}
	5% {
		z-index: 5;
		opacity: 1;
		}
	60% {
		opacity: 1;
		transform: scale(1.2);
		}
	100% {
		z-index: 1;
		opacity: 0;
		transform: scale(1.2);
		}
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_mv {
		height: calc(100vh - 60px);
		}
	.sct_mv::before {
		height: calc(100vh - 60px);
		opacity: 0.6;
		}
	.sct_mv .catch {
		width: 100%;
		max-height: 220px;
		top: -60px;
		}

	/* switch_img */
	.sct_mv .switch_img01 {
		height: calc(100vh - 60px);
		}
	.sct_mv .switch_img01 img {
		min-height: calc(100vh - 60px);
		}

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

	.sct_mv {
		height: calc(100vh - 52px);
		}
	.sct_mv::before {
		height: calc(100vh - 52px);
		opacity: 0.3;
		}
	.sct_mv .catch {
		width: 80%;
		max-width: 360px;
		height: auto;
		aspect-ratio: 58 / 22;
		top: -54px;
		left: 0;
		right:0;
		}

	/* switch_img */
	.sct_mv .switch_img01 {
		height: calc(100vh - 52px);
		}
	.sct_mv .switch_img01 img {
		height: 100%;
		}

}


/* ====================================
pickup
==================================== */
.sct_pickup>.wrap {
	width: 100%;
	margin: 0 auto;
	}
.sct_pickup h2 {
	color: #b1b2b2;
	letter-spacing: 0.6rem;
	}
.sct_pickup .slider_wrap {
	margin: 30px auto 0;
	}
.sct_pickup .sp-slide:nth-of-type(1) .sp-image {
	background: url(../../top/img/pickup_01.jpg) no-repeat center center/ cover;
	}
.sct_pickup .sp-slide:nth-of-type(2) .sp-image {
	background: url(../../top/img/pickup_02.jpg) no-repeat center center/ cover;
	}
.sct_pickup .sp-slide:nth-of-type(3) .sp-image {
	background: url(../../top/img/pickup_03.jpg) no-repeat center center/ cover;
	}
.sct_pickup .sp-slide:nth-of-type(4) .sp-image {
	background: url(../../top/img/pickup_04.jpg) no-repeat center center/ cover;
	}
.sct_pickup .sp-image>a {
	width: 100%;
	display: block;
	position: relative;
	text-decoration: none;
	text-align: center;
	}
.sct_pickup .sp-image>a>span {
	z-index: 2;
	position: relative;
	color: #fff;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	}
.sct_pickup .sp-image>a::before {
	display: block;
	opacity: 0.3;
	z-index: 1;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #000;
	content: '';
	}
.sct_pickup .sp-image>a::after {
	width: 45px;
	height: 45px;
	display: block;
	z-index: 1;
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(../../assets/img/arrow_02.png) no-repeat center center/ contain;
	content: '';
	}

/* sp-buttons */
.sct_pickup .sp-button {
	width: 12px;
	height: 12px;
	background-color: #dedfdf;
	border: none;
	}
.sct_pickup .sp-button.sp-selected-button {
	background-color: #656768;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_pickup {
		padding: 120px 0;
		}
	.sct_pickup>.wrap {
		max-width: 1020px;
		padding: 0 15px;
		}
	.sct_pickup h2 {
		font-size: 5.8rem;
		}
	.sct_pickup .slider_wrap {
		width: 100%;
		max-width: 942px;
		padding: 0 15px;
		}
	.sct_pickup #slider {
		max-width: 912px;
		}
	.sct_pickup .sp-image {
		width: 300px;
		}
	.sct_pickup .sp-image>a {
		height: 300px;
		padding-top: 135px;
		}
	.sct_pickup .sp-image>a>span {
		font-size: 2.8rem;
		}		
	.sct_pickup .sp-image>a::before {
		width: 100%;
		max-width: 300px;
		height: 300px;
		}
	.sct_pickup .sp-image>a:hover::before {
		opacity: 0.15;
		transition: 0.3s;
		}

	/* sp-buttons */
	.sct_pickup .sp-buttons {
		width: 50%;
		position: absolute;
		top: -78px;
		left: 300px;
		text-align: left;
		}

	/* sp-arrows */
	.sct_pickup .sp-arrows {
		width: 100%;
		max-width: 912px;
		}
	.sct_pickup .sp-next-arrow:after,
	.sct_pickup .sp-next-arrow:before,
	.sct_pickup .sp-previous-arrow:after,
	.sct_pickup .sp-previous-arrow:before {
		background-color: #dedfdf;
		}
	.sp-horizontal .sp-next-arrow {
		right: -30px;
		left: 100%;
		}
	.sp-horizontal .sp-previous-arrow {
		left: -20px;
		right: 100%;
		}
	.sct_pickup .sp-arrow:before {
		width: 18%;
		top: 3px;
		left: 0%;
		transform: skew(135deg,45deg)
		}
	.sp-arrow:after {
		width: 18%;
		left: 0%;
		transform: skew(-135deg,-45deg)
		}
	.sp-fade-arrows {
		opacity: 0;
		}

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

	.sct_pickup {
		padding: 75px 6%;
		}
	.sct_pickup h2 {
		font-size: 3.6rem;
		text-align: center;
		}
	.sct_pickup .slider_wrap {
		width: 270px;
		}
	.sct_pickup #slider {
		width: 100%;
		}
	.sct_pickup .sp-image {
		width: 270px;
		}
	.sct_pickup .sp-image>a {
		height: 270px;
		padding-top: 120px;
		}
	.sct_pickup .sp-image>a>span {
		font-size: 2.4rem;
		}		
	.sct_pickup .sp-image>a::before {
		width: 270px;
		height: 270px;
		}

	/* sp-buttons */
	.sct_pickup .sp-buttons {
		margin-top: 15px;
		}

}


/* ====================================
challenge
==================================== */
.sct_challenge {
	width: 100%;
	background: url(../img/challenge_bg.jpg) no-repeat 0 0/ cover;
	}
.sct_challenge h2 {
	margin-bottom: 48px;
	color: #fff;
	text-align: center;
	}
.sct_challenge h2 em {
	color: #db5034;
	}
.sct_challenge p {
	margin-bottom: 24px;
	color: #fff;
	line-height: 2.1;
	text-align: center;
	}
.sct_challenge .btn>a {
	width: 100%;
	display: block;
	position: relative;
	background-color: #1b1d1e;
	color: #fff;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	letter-spacing: 0.1rem;
	text-decoration: none;
	text-align: center;
	}
.sct_challenge .btn>a::after {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	background: url(../../assets/img/arrow_01.png) no-repeat 0 0/ contain;
	content: '';
	}
.sct_challenge .btn>a span em {
	color: #db5034;
	}

/* switch_img */
.sct_challenge .wrap_switch_imgs {
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	}
.sct_challenge .switch_img02,
.sct_challenge .switch_img03 {
	display: block;
	z-index: 1;
	overflow: hidden;
	position: absolute;
	}
.sct_challenge .switch_img02 {
	top: 0;
	left: 0;
	}
.sct_challenge .switch_img03 {
	top: 36px;
	right: 0;
	}
.sct_challenge .switch_img02 img,
.sct_challenge .switch_img03 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	}
.sct_challenge .switch_img02 img {
	animation: challenge_anime 12s 0s infinite;
	}
.sct_challenge .switch_img03 img {
	animation: challenge_anime 16s 0s infinite;
	}
.sct_challenge .switch_img02 img:nth-of-type(2) {
	animation-delay: 6s;
	}
.sct_challenge .switch_img03 img:nth-of-type(2) {
	animation-delay: 8s;
	}
@keyframes challenge_anime {
	0% {
		opacity: 0;
		}
	5% {
		z-index: 5;
		opacity: 1;
		}
	60% {
		opacity: 1;
		transform: scale(1.1);
		}
	100% {
		z-index: 1;
		opacity: 0;
		transform: scale(1.1);
		}
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_challenge {
		margin-bottom: 270px;
		}
	.sct_challenge>.wrap {
		height: 1020px;
		padding-top: 135px;
		}
	.sct_challenge h2 {
		font-size: 5.6rem;
		}
	.sct_challenge p {
		font-size: 1.5rem;
		letter-spacing: 0.06rem;
		}
	.sct_challenge .btn {
		width: 450px;
		margin: 42px auto 0;
		}
	.sct_challenge .btn>a {
		font-size: 2.1rem;
		}
	.sct_challenge .btn>a::after {
		width: 14px;
		height: 15px;
		right: 30px;
		z-index: 2;
		}
	.sct_challenge .btn>a span {
		padding: 30px 0;
		display: block;
		z-index: 2;
		position: relative;
		}
	.sct_challenge .btn>a span em {
		mix-blend-mode: difference;
		}
	.sct_challenge .btn>a span::before {
		width: 100%;
		height: 100%;
		display: block;
		z-index: -1;
		position: absolute;
		top: 0;
		right: 0;
		background-color: #db5034;
	 	transition: transform 0.6s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		content: '';
		}
	.sct_challenge .btn>a:hover span::before {
		transform-origin: left top;
		transform: scale(1,1);
		}

	/* switch_img */
	.sct_challenge .wrap_switch_imgs {
		max-width: 690px;
		height: 610px;
		margin: 75px auto 0;
		}
	.sct_challenge .switch_img02 {
		width: 300px;
		height: 480px;
		}
	.sct_challenge .switch_img03 {
		width: 360px;
		height: 576px;
		}

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

	.sct_challenge {
		width: 100%;
		padding: 0 6%;
		margin-bottom: 42vw;
		}
	.sct_challenge>.wrap {
		padding: 90px 0 225px;
		}
	.sct_challenge h2 {
		font-size: 3rem;
		}
	.sct_challenge p {
		font-size: 1.2rem;
		}
	.sct_challenge .btn {
		margin-top: 42px;
		}
	.sct_challenge .btn>a {
		max-width: 270px;
		padding: 25px 0;
		margin: 0 auto;
		font-size: 1.65rem;
		}
	.sct_challenge .btn>a::after {
		width: 13px;
		height: 14px;
		right: 10%;
		}

	/* switch_img */
	.sct_challenge .wrap_switch_imgs {
		margin: 60px auto 0;
		}
	.sct_challenge .switch_img02,
	.sct_challenge .switch_img03 {
		height: auto;
		aspect-ratio: 1/ 1.6;
		}
	.sct_challenge .switch_img02 {
		width: 47%;
		}
	.sct_challenge .switch_img03 {
		width: 47%;
		}

}


/* ====================================
quality-management
==================================== */
.sct_quality-management {
	width: 100%;
	position: relative;
	}
.sct_quality-management h2 {
	letter-spacing: 0.3rem;
	}
.sct_quality-management h2 em {
	display: block;
	}
.sct_quality-management p {
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	}
.sct_quality-management .btn>a {
	display: block;
	position: relative;
	background-color: #393c3d;
	color: #fff;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	text-decoration: none;
	}
.sct_quality-management .btn>a::after {
	margin: auto;
	display: block;
	position: absolute;
	background: url(../../assets/img/arrow_01.png) no-repeat 0 0/ contain;
	content: '';
	}

/* movie */
.sct_quality-management .movie {
	position: relative;
	background-color: #242728;
	}
.sct_quality-management .movie::before {
	width: 100%;
	height: auto;
	margin: auto;
	display: block;
	z-index: 1;
	aspect-ratio: 800 / 450;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: url(../../assets/img/ptn_01.png) repeat 0 0;
	content: '';
	}
.sct_quality-management .movie::after {
	margin: auto;
	display: block;
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	content: '';
	}
.sct_quality-management .quality_movie {
	width: 100%;
	display: block;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_quality-management>.wrap {
		max-width: 840px;
		padding-bottom: 30px;
		margin: 0 auto;
		writing-mode: vertical-rl;
		}
	.sct_quality-management h2 {
		margin-left: 30px;
		font-size: 5.1rem;
		line-height: 1.4;
		}
	.sct_quality-management h2 em {
		margin-top: 18.6rem;
		font-size: 6.3rem;
		}
	.sct_quality-management p {
		margin-left: 30px;
		font-size: 1.6rem;
		letter-spacing: 0.03rem;
		line-height: 1.8;
		}
	.sct_quality-management p span.upright {
		text-combine-upright: all;
		}
	.sct_quality-management .btn {
		margin-right: 4.2vw;
		}
	.sct_quality-management .btn>a {
		height: 330px;
		padding: 42px 30px 66px;
		font-size: 1.65rem;
		letter-spacing: 0.3rem;
		}
	.sct_quality-management .btn>a+a {
		margin-right: 15px;
		}
	.sct_quality-management .btn>a::before {
		width: 100%;
		height: 100%;
		display: block;
		z-index: 1;
		position: absolute;
		top: 0;
		right: 0;
		background-color: #db5034;
	 	transition: transform 0.6s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		content: '';
		}
	.sct_quality-management .btn>a:hover::before {
		transform-origin: left top;
		transform: scale(1,1);
		}
	.sct_quality-management .btn>a::after {
		width: 12px;
		height: 13px;
		z-index: 2;
		bottom: 30px;
		left: 0;
		right: 0;
		}
	.sct_quality-management .btn>a span {
		z-index: 2;
		position: relative;
		}

	/* movie */
	.sct_quality-management .movie::before {
		opacity: 0.6;
		}
	.sct_quality-management .movie::after {
		width: 93%;
		max-width: 900px;
		height: 48px;
		}

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

	.sct_quality-management>.wrap {
		width: 100%;
		padding: 0 6% 45px;
		}
	.sct_quality-management h2 {
		font-size: 2.8rem;
		line-height: 1.3;
		text-align: center;
		}
	.sct_quality-management h2 em {
		font-size: 3.5rem;
		letter-spacing: 0.6rem;
		}
	.sct_quality-management p {
		margin-top: 21px;
		text-align: center;
		}
	.sct_quality-management .btn {
		margin-top: 30px;
		}
	.sct_quality-management .btn>a {
		width: 100%;
		max-width: 270px;
		padding: 25px 0;
		margin: 0 auto;
		font-size: 1.5rem;
		letter-spacing: 0.1rem;
		text-align: center;
		}
	.sct_quality-management .btn>a+a {
		margin-top: 12px;
		}
	.sct_quality-management .btn>a::after {
		width: 13px;
		height: 14px;
		top: 0;
		bottom: 0;
		right: 10%;
		}

	/* movie */
	.sct_quality-management .movie::before {
		opacity: 0.3;
		}
	.sct_quality-management .movie::after {
		width: 84%;
		height: 18px;
		top: -1px;
		}

}


/* ====================================
products
==================================== */
.sct_products {
	width: 100%;
	position: relative;
	background-color: #242728;
	}
.sct_products::before {
	display: block;
	z-index: 1;
	position: absolute;
	left: 0;
	background-color: #393c3d;
	content: '';
	}
.sct_products>.wrap {
	width: 100%;
	margin: 0 auto;
	z-index: 2;
	position: relative;
	}
.sct_products h2 {
	color: #fff;
	}
.sct_products ul {
	width: 100%;
	margin: 0 auto;
	display: flex;
	}
.sct_products li {
	background-color: #fff;
	line-height: 1;
	}
.sct_products li>a {
	width: 100%;
	display: block;
	overflow: hidden;
	position: relative;
	color: #fff;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	text-decoration: none;
	}
.sct_products li.pdt01>a {
	background: url(../../top/img/products_01.jpg) no-repeat center center/ auto 100%;
	}
.sct_products li.pdt02>a {
	background: url(../../top/img/products_02.jpg) no-repeat center center/ auto 100%;
	}
.sct_products li.pdt03>a {
	background: url(../../top/img/products_03.jpg) no-repeat center center/ auto 100%;
	}
.sct_products li>a span {
	width: 100%;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #393c3d;
	letter-spacing: 0.3rem;
	}
.sct_products li>a span::before,
.sct_products li>a span::after {
	display: block;
	position: absolute;
	content: '';
	}
.sct_products li>a span>small {
	display: block;
	font-size: 1rem;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_products {
		padding: 120px 30px 175px;
		}
	.sct_products::before {
		width: 100%;
		max-width: 45%;
		height: 100%;
		max-height: 60%;
		top: 186px;
		}
	.sct_products h2 {
		max-width: 1020px;
		margin: 0 auto 87px;
		font-size: 4.5rem;
		}
	.sct_products ul {
		max-width: 912px;
		flex-wrap: wrap;
		justify-content: center;
		}
	.sct_products li {
		width: 100%;
		max-width: 300px;
		height: auto;
		margin-bottom: 30px;
		aspect-ratio: 1 / 1;
		}
	.sct_products li+li {
		margin-left: 6px;
		}
	.sct_products li>a {
		height: 100%;
		}
	.sct_products li>a:hover {
		opacity: 0.8;
		background-size: auto 106%;
		transition: 0.3s;
		}
	.sct_products li>a span {
		height: 78px;
		padding: 18px 0 0 18px;
		font-size: 2.2rem;
		}
	.sct_products li.pdt03>a span {
		letter-spacing: 0;
		}
	.sct_products li.pdt03>a span small {
		letter-spacing: 0.3rem;
		}
	.sct_products li>a span::before,
	.sct_products li>a span::after {
		width: 78px;
		height: 78px;
		bottom: 0;
		right: 0;
		}
	.sct_products li>a span::before {
		background: #fff;
		}
	.sct_products li>a span::after {
		background: url(../../assets/img/arrow_04.png) no-repeat center center /auto 18px;
		}
	.sct_products li>a span>small {
		margin-bottom: 8px;
		}

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

	.sct_products {
		padding: 75px 0;
		}
	.sct_products::before {
		width: 60%;
		height: auto;
		aspect-ratio: 1 / 1.4;
		top: 90px;
		}
	.sct_products>.wrap {
		padding: 0 6%;
		}
	.sct_products h2 {
		margin-bottom: 36px;
		font-size: 2.6rem;
		text-align: center;
		}
	.sct_products ul {
		flex-wrap: wrap;
		justify-content: center;
		}
	.sct_products li {
		width: 48%;
		margin-bottom: 21px;
		}
	.sct_products li:nth-of-type(2n) {
		margin-left: 4%;
		}
	.sct_products li>a {
		height: auto;
		aspect-ratio: 1 / 1;
		}
	.sct_products li>a span {
		height: 60px;
		padding: 15px 0 0 12px;
		font-size: 1.5rem;
		}
	.sct_products li.pdt03>a span {
		letter-spacing: 0rem;
		}
	.sct_products li.pdt03>a span small {
		letter-spacing: 0.1rem;
		}
	.sct_products li>a span::after {
		width: 12px;
		height: 13px;
		margin: auto;
		bottom: 15px;
		right: 15px;
		background: url(../../assets/img/arrow_01.png) no-repeat center center/ contain;
		}
	.sct_products li>a span>small {
		margin-bottom: 6px;
		}

}


/* ====================================
ncc_equipment
==================================== */
.sct_nccequipment {
	width: 100%;
	position: relative;
	}
.sct_nccequipment::before {
	width: 100%;
	max-width: 45%;
	height: 100%;
	display: block;
	z-index: 1;
	position: absolute;
	right: 0;
	background-color: #dedfdf;
	content: '';
	}
.sct_nccequipment>.wrap {
	width: 100%;
	margin: 0 auto;
	z-index: 2;
	position: relative;
	}
.sct_nccequipment h2 {
	letter-spacing: 0.3rem;
	}
.sct_nccequipment .bundle {
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	}
.sct_nccequipment .unit {
	width: 100%;
	background-color: #fff;
	}
.sct_nccequipment .unit>a {
	display: block;
	overflow: hidden;
	position: relative;
	}
.sct_nccequipment .unit figure {
	display: flex;
	align-items: center;
	aspect-ratio: 1.5 / 1;
	overflow: hidden;
	}
.sct_nccequipment .unit img {
	width: 100%;
	height: auto;
	}
.sct_nccequipment .unit .label {
	width: 100%;
	display: flex;
	align-items: center;
	background-color: #f2f2f2;
	position: absolute;
	bottom: 0;
	left: 0;
	}
.sct_nccequipment .unit .label::before {
	height: 100%;
	display: block;
	z-index: 1;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #393c3d;
	content: '';
	}
.sct_nccequipment .unit .label::after {
	height: 100%;
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	content: '';
	}
.sct_nccequipment .unit .label .cate {
	padding-right: 9px;
	z-index: 2;
	position: relative;
	}
.sct_nccequipment .unit .label .cate span {
	padding: 6px 8px 7px 6px;
	display: inline-block;
	border: 1px solid rgba(255,255,255,0.4);
	color: #fff;
	line-height: 1.2;
	text-align: center;
	}
.sct_nccequipment .unit .label .name span {
	display: inline-block;
	z-index: 2;
	position: relative;
	color: #fff;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	line-height: 1.2;
	text-decoration: none;
	}
.sct_nccequipment .btn>a {
	margin: 0 auto;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_nccequipment {
		padding: 120px 30px 150px;
		}
	.sct_nccequipment::before {
		max-height: 57%;
		top: 186px;
		}
	.sct_nccequipment h2 {
		max-width: 1020px;
		margin: 0 auto 87px;
		font-size: 4.5rem;
		text-align: right;
		}
	.sct_nccequipment .bundle {
		max-width: 939px;
		}
	.sct_nccequipment .unit {
		max-width: 600px;
		}
	.sct_nccequipment .unit+.unit {
		margin-left: 9px;
		}
	.sct_nccequipment .unit a:hover {
		opacity: 0.8;
		transition: 0.3s;
		}
	.sct_nccequipment .unit a:hover img {
		opacity: 1;
		transform: scale(1.06);
		}
	.sct_nccequipment .unit .label {
		min-height: 78px;
		padding: 3px 90px 3px 21px;
		}
	.sct_nccequipment .unit .label::before {
		width: calc(100% - 78px);
		min-height: 78px;
		}
	.sct_nccequipment .unit .label::after {
		width: 78px;
		min-height: 78px;
		background: url(../../assets/img/arrow_04.png) no-repeat center center /auto 18px;
		}
	.sct_nccequipment .unit .label .cate span {
		min-width: 66px;
		font-size: 1.2rem;
		}
	.sct_nccequipment .unit .label .name span {
		font-size: 1.9rem;
		}
	.sct_nccequipment .btn {
		margin-top: 48px;
		}
	.sct_nccequipment .btn>a {
		width: 360px;
		padding: 30px 0;
		font-size: 1.7rem;
		}

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

	.sct_nccequipment {
		padding: 75px 0;
		}
	.sct_nccequipment::before {
		max-height: 65%;
		top: 90px;
		}
	.sct_nccequipment>.wrap {
		padding: 0 6%;
		}
	.sct_nccequipment h2 {
		margin-bottom: 36px;
		font-size: 2.7rem;
		text-align: center;
		}
	.sct_nccequipment .bundle {
		flex-wrap: wrap;
		}
	.sct_nccequipment .unit {
		max-width: 480px;
		}
	.sct_nccequipment .unit+.unit {
		margin-top: 15px;
		}
	.sct_nccequipment .unit .label {
		min-height: 60px;
		padding: 3px 75px 3px 15px;
		}
	.sct_nccequipment .unit .label::before {
		width: calc(100% - 60px);
		min-height: 60px;
		}
	.sct_nccequipment .unit .label::after {
		width: 60px;
		min-height: 60px;
		background: url(../../assets/img/arrow_04.png) no-repeat center center /auto 14px;
		}
	.sct_nccequipment .unit .label .cate span {
		min-width: 57px;
		font-size: 1rem;
		}
	.sct_nccequipment .unit .label .name span {
		min-width: 58px;
		font-size: 1.6rem;
		}
	.sct_nccequipment .btn {
		margin-top: 18px;
		}
	.sct_nccequipment .btn>a {
		width: 100%;
		max-width: 270px;
		padding: 25px 0;
		font-size: 1.5rem;
		}

}


/* ====================================
about
==================================== */
.sct_about>.wrap {
	width: 100%;
	position: relative;
	background: url(../../top/img/about_bg.jpg) no-repeat center center/ cover;
	}
.sct_about h2>a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	color: #242728;
	text-decoration: none;
	text-align: center;
	}
.sct_about h2>a::after {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	background: url(../../assets/img/arrow_01.png) no-repeat 0 0/ contain;
	content: '';
	}
.sct_about h2>a span::before {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	background-color: #393c3d;
	content: '';
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_about>.wrap {
		width: 100%;
		height: 660px;
		}
	.sct_about h2>a {
		width: 50%;
		height: 210px;
		padding-top: 84px;
		font-size: 3.6rem;
		}
	.sct_about h2>a:hover {
		transition: 0.3s;
		color: #919393;
		}
	.sct_about h2>a::after {
		width: 14px;
		height: 15px;
		z-index: 2;
		right: 22px;
		}
	.sct_about h2>a span {
		z-index: 1;
		}
	.sct_about h2>a span::before {
		width: 60px;
		height: 60px;
		}
	.sct_about h2>a span::after {
		width: 60px;
		height: 60px;
		margin: auto;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		background-color: #db5034;
	 	transition: transform 0.6s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		content: '';
		}
	.sct_about h2>a:hover span::after {
		transform-origin: left top;
		transform: scale(1,1);
		}

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

	.sct_about>.wrap {
		height: auto;
		aspect-ratio: 1.6 / 1;
		}
	.sct_about h2>a {
		width: 75%;
		height: 90px;
		padding: 32px 36px 0 0;
		font-size: 2.1rem;
		}
	.sct_about h2>a::after {
		width: 11px;
		height: 12px;
		right: 12px;
		}
	.sct_about h2>a span::before {
		width: 36px;
		height: 36px;
		}

}


/* ====================================
IR
==================================== */
.sct_ir h2 {
	position: relative;
	background: url(../img/ir_bg.jpg) no-repeat right center/ cover;
	}
.sct_ir h2::before {
	width: 50%;
	display: block;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #242728;
	content: '';
	}
.sct_ir h2>a {
	width: 100%;
	display: block;
	z-index: 2;
	position: relative;
	color: #fff;
	letter-spacing: 0.3rem;
	text-decoration: none;
	text-align: center;
	}
.sct_ir h2>a::before {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	background-color: #656768;
	content: '';
	}
.sct_ir h2>a::after {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	background: url(../../assets/img/arrow_01.png) no-repeat 0 0/ contain;
	content: '';
	}
.sct_ir h2>a span::before {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(50% - 60px);
	background-color: #656768;
	content: '';
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_ir h2::before {
		height: 330px;
		}
	.sct_ir h2::after {
		width: 50%;
		height: 330px;
		display: block;
		z-index: 1;
		opacity: 0;
		position: absolute;
		top: 0;
		right: 0;
		background-color: #fff;
		content: '';
		}
	.sct_ir h2:hover::after {
		opacity: 0.15;
		transition: 0.6s;
		}
	.sct_ir h2>a {
		height: 330px;
		padding: 145px 50% 0 0;
		transition: 0.6s;
		font-size: 3.6rem;
		}
	.sct_ir h2>a:hover {
		color: #b1b2b2;
		}
	.sct_ir h2>a::after {
		width: 14px;
		height: 15px;
		left: calc(50% - 36px);
		}
	.sct_ir h2>a span {
		z-index: 1;
		}
	.sct_ir h2>a span::before {
		width: 60px;
		height: 60px;
		}
	.sct_ir h2>a span::after {
		width: 60px;
		height: 60px;
		margin: auto;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: calc(50% - 60px);
		background-color: #db5034;
	 	transition: transform 0.6s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		content: '';
		}
	.sct_ir h2>a:hover span::after {
		transform-origin: left top;
		transform: scale(1,1);
		}

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

	.sct_ir h2::before {
		height: 120px;
		}
	.sct_ir h2>a {
		height: 120px;
		padding: 48px 0 0 0;
		padding-right: calc(50% + 36px);
		font-size: 2rem;
		}
	.sct_ir h2>a::before {
		width: 36px;
		height: 36px;
		left: calc(50% - 36px);
		}
	.sct_ir h2>a::after {
		width: 11px;
		height: 12px;
		left: calc(50% - 24px);
		}

}


/* ====================================
info, blog
==================================== */
.sct_info,
.sct_blog {
	width: 100%;
	}
.wrap_bloginfo h2 {
	text-align: center;
	}
.sct_blog h2 {
	letter-spacing: 0.6rem;
	}
.wrap_bloginfo .unit dl {
	margin-bottom: 30px;
	display: flex;
	}
.wrap_bloginfo .unit dl>dt {
	line-height: 1.7;
	}
.wrap_bloginfo .unit dl>dd {
	padding-right: 6px;
	line-height: 1.6;
	}
.wrap_bloginfo .unit dl>dd.cate a {
	display: inline-block;
	background-color: #dedfdf;
	color: #242728;
	font-size: 1.2rem;
	text-decoration: none;
	text-align: center;
	}
.wrap_bloginfo .unit dl>dt a.pdf_link::before {
	width: 22px;
	height: 21px;
	margin-right: 9px;
	display: inline-block;
	position: relative;
	bottom: -3px;
	background: url(../../assets/img/pdf_01.png) no-repeat 0 0;
	content: '';
	}
.wrap_bloginfo .btn>a {
	margin: 0 auto;
	}
.wrap_bloginfo .noPost {
	text-align: center;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.wrap_bloginfo {
		width: 100%;
		max-width: 1500px;
		padding: 120px 30px;
		margin: 0 auto;
		display: flex;
		justify-content: space-around;
		}
	.sct_info,
	.sct_blog {
		max-width: 540px;
		padding: 0 15px;
		margin: 0 auto;
		}
	.wrap_bloginfo h2 {
		margin-bottom: 45px;
		font-size: 3.7rem;
		}
	.wrap_bloginfo .unit dl>dt {
		width: calc(100% - 19rem);
		font-size: 1.4rem;
		}
	.wrap_bloginfo .unit dl>dt a {
		color: #242728;
		text-decoration: none;
		}
	.wrap_bloginfo .unit dl>dt a:hover {
		color: #db5034;
		text-decoration: underline;
		}
	.wrap_bloginfo .unit dl>dd {
		font-size: 1.4rem;
		}
	.wrap_bloginfo .unit dl>dd.date {
		width: 9rem;
		}
	.wrap_bloginfo .unit dl>dd.cate {
		width: 10rem;
		}
	.wrap_bloginfo .unit dl>dd.cate a {
		width: 90%;
		padding: 4px 3px 6px;
		margin-top: -1px;
		}
	.wrap_bloginfo .unit dl>dd.cate a:hover {
		background-color: #f2f2f2;
		}
	.wrap_bloginfo .btn {
		margin-top: 42px;
		}
	.wrap_bloginfo .btn>a {
		width: 240px;
		padding: 22px 0;
		font-size: 1.5rem;
		}

}
/* ＞768＞912 -------------- */
@media only screen and (min-width: 768px) and (max-width: 912px) {

	.wrap_bloginfo {
		display: block;
		}
	.sct_blog {
		margin-top: 90px;
		}

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

	.sct_info,
	.sct_blog {
		max-width: 540px;
		padding: 60px 9%;
		margin: 0 auto;
		}
	.wrap_bloginfo h2 {
		margin-bottom: 36px;
		font-size: 2.5rem;
		}
	.wrap_bloginfo .unit dl {
		flex-wrap: wrap;
		}
	.wrap_bloginfo .unit dl>dt {
		width: 100%;
		margin-top: 6px;
		font-size: 1.3rem;
		}
	.wrap_bloginfo .unit dl>dt a {
		color: #242728;
		}
	.wrap_bloginfo .unit dl>dd {
		font-size: 1.3rem;
		}
	.wrap_bloginfo .unit dl>dd.date {
		width: 8rem;
		}
	.wrap_bloginfo .unit dl>dd.cate {
		width: calc(100%  - 8rem);
		}
	.wrap_bloginfo .unit dl>dd.cate a {
		width: auto;
		padding: 4px 9px;
		margin-top: -6px;
		}
	.wrap_bloginfo .btn {
		margin-top: 36px;
		}
	.wrap_bloginfo .btn>a {
		width: 100%;
		max-width: 210px;
		padding: 21px 0;
		font-size: 1.4rem;
		}

}


/* ====================================
recruit
==================================== */
.sct_recruit {
	position: relative;
	}
.sct_recruit::before {
	width: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../../top/img/recruit_bg.jpg) no-repeat center center/ cover;
	content: '';
	}
.sct_recruit::after {
	height: 60px;
	display: block;
	position: absolute;
	left: 0;
	background-color: #fff;
	content: '';
	}
.sct_recruit>.wrap {
	width: 100%;
	margin: 0 auto;
	}
.sct_recruit h2>a {
	display: block;
	position: relative;
	color: #242728;
	text-decoration: none;
	}
.sct_recruit h2>a::after {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	background: url(../../assets/img/arrow_01.png) no-repeat 0 0/ contain;
	content: '';
	}
.sct_recruit h2>a span::before {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	background-color: #393c3d;
	content: '';
	}
.sct_recruit ul {
	width: 100%;
	}
.sct_recruit li>a {
	display: block;
	position: relative;
	color: #393c3d;
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	text-decoration: none;
	text-align: center;
	}
.sct_recruit li>a::before {
	width: 100%;
	display: block;
	content: '';
	}
.sct_recruit li>a::after {
	width: 42px;
	height: 42px;
	display: block;
	position: absolute;
	right: 0;
	background: url(../../assets/img/arrow_02.png) no-repeat 0 0/ cover;
	content: '';
	}
.sct_recruit li>a>span::before {
	width: 1px;
	margin: auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	background-color: #393c3d;
	content: '';
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.sct_recruit {
		padding: 630px 0 80px;
		}

	.sct_recruit::before {
		height: 630px;
		}
	.sct_recruit::after {
		width: 50%;
		top: 570px;
		}
	.sct_recruit>.wrap {
		padding: 0 30px;
		}
	.sct_recruit h2 {
		max-width: 1092px;
		padding-left: 30px;
		margin: 0 auto;
		font-size: 3.9rem;
		}
	.sct_recruit h2>a {
		width: 270px;
		transition: 0.6s;
		}
	.sct_recruit h2>a:hover {
		color: #919393;
		}
	.sct_recruit h2>a::after {
		width: 13px;
		height: 14px;
		z-index: 2;
		right: 13px;
		}
	.sct_recruit h2>a span {
		z-index: 1;
		}
	.sct_recruit h2>a span::before {
		width: 39px;
		height: 39px;
		}
	.sct_recruit h2>a span::after {
		width: 39px;
		height: 39px;
		margin: auto;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		background-color: #db5034;
	 	transition: transform 0.6s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		content: '';
		}
	.sct_recruit h2>a:hover span::after {
		transform-origin: left top;
		transform: scale(1,1);
		}
	.sct_recruit ul {
		max-width: 1092px;
		margin: 60px auto 0;
		display: flex;
		justify-content: space-between;
		}
	.sct_recruit li {
		width: 33%;
		max-width: 360px;
		}
	.sct_recruit li>a {
		overflow: hidden;
		font-size: 2.3rem;
		line-height: 1.4;
		}
	.sct_recruit li:nth-of-type(1)>a::before {
		background: url(../../top/img/recruit_01.jpg) no-repeat center center/ auto 100%;
		}
	.sct_recruit li:nth-of-type(2)>a::before {
		background: url(../../top/img/recruit_02.jpg) no-repeat center center/ auto 100%;
		}
	.sct_recruit li:nth-of-type(3)>a::before {
		background: url(../../top/img/recruit_03.jpg) no-repeat center center/ auto 100%;
		}
	.sct_recruit li>a:hover {
		opacity: 0.7;
		transition: 0.3s;
		}
	.sct_recruit li>a::before {
		height: 205px;
		margin-bottom: 36px;
		}
	.sct_recruit li>a:hover::before {
		background-size: auto 106%;
		transition: 0.3s;
		}
	.sct_recruit li>a::after {
		top: 163px;
		}
	.sct_recruit li>a>span::before {
		height: 60px;
		top: 165px;
		}

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

	.sct_recruit {
		padding: 45vh 0 120px;
		}
	.sct_recruit::before {
		height: 45vh;
		}
	.sct_recruit::after {
		width: 75%;
		z-index: 1;
		top: calc(45vh - 60px);
		}
	.sct_recruit>.wrap {
		padding: 0 6%;
		}
	.sct_recruit h2 {
		padding-left: 6%;
		margin-top: -30px;
		position: relative;
		z-index: 2;
		font-size: 2.4rem;
		}
	.sct_recruit h2>a {
		width: 63%;
		}
	.sct_recruit h2>a::after {
		width: 11px;
		height: 12px;
		right: 9px;
		}
	.sct_recruit h2>a span::before {
		width: 27px;
		height: 27px;
		}
	.sct_recruit ul {
		margin: 48px auto 0;
		}
	.sct_recruit li {
		width: 84%;
		max-width: 300px;
		margin: 0 auto 36px;
		}
	.sct_recruit li>a {
		font-size: 1.8rem;
		}
	.sct_recruit li>a::before {
		height: 150px;
		margin-bottom: 27px;
		}
	.sct_recruit li:nth-of-type(1)>a::before {
		background: url(../../top/img/recruit_01.jpg) no-repeat center center/ cover;
		}
	.sct_recruit li:nth-of-type(2)>a::before {
		background: url(../../top/img/recruit_02.jpg) no-repeat center center/ cover;
		}
	.sct_recruit li:nth-of-type(3)>a::before {
		background: url(../../top/img/recruit_03.jpg) no-repeat center center/ cover;
		}
	.sct_recruit li>a::after {
		top: 108px;
		}
	.sct_recruit li>a>span::before {
		height: 36px;
		top: 132px;
		}

}


/* ====================================
Footer Contact
==================================== */
#ft_contact {
	width: 100%;
	}
#ft_contact .bnr {
	position: relative;
	}
#ft_contact .bnr>a {
	width: 70%;
	display: block;
	position: absolute;
	right: 0;
	background-color: #393c3d;
	color: #b1b2b2;
	text-decoration: none;
	text-align: center;
	}
#ft_contact .bnr>a::after {
	margin: auto;
	display: block;
	position: absolute;
	top: -15%;
	bottom: 0;
	background: url(../../assets/img/arrow_01.png) no-repeat 0 0/ contain;
	content: '';
	}
#ft_contact .bnr>a span {
	position: relative;
	color: rgba(255,255,255,0.6);
	}
#ft_contact .bnr>a span::before {
	display: block;
	content: 'CONTACT';
	color: rgba(255,255,255,1);
	font-family: "fot-tsukumin-pr6n", sans-serif;
	font-weight: 300;
	}

/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	#ft_contact .bnr>a {
		max-width: 1200px;
		height: 225px;
		padding: 75px 240px 0 60px;
		top: -60px;
		font-size: 1.4rem;
		letter-spacing: 0.3rem;
		}
	#ft_contact .bnr>a::before {
		width: 100%;
		height: 100%;
		display: block;
		z-index: 1;
		position: absolute;
		top: 0;
		right: 0;
		background-color: #505253;
	 	transition: transform 0.6s cubic-bezier(0.8,0,0.2,1) 0s;
	 	transform: scale(0,1);
		transform-origin: right top;
		content: '';
		}
	#ft_contact .bnr>a:hover::before {
		transform-origin: left top;
		transform: scale(1,1);
		}
	#ft_contact .bnr>a::after {
		width: 22px;
		height: 23px;
		z-index: 2;
		right: 20%;
		}
	#ft_contact .bnr>a span {
		z-index: 2;
		}
	#ft_contact .bnr>a span::before {
		margin-bottom: 9px;
		font-size: 4.6rem;
		letter-spacing: 1rem;
		}

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

	#ft_contact .bnr>a {
		height: 105px;
		padding: 34px 45px 0 30px;
		z-index: 1;
		top: -90px;
		font-size: 1rem;
		letter-spacing: 0.1rem;
		}
	#ft_contact .bnr>a::after {
		width: 14px;
		height: 15px;
		right: 9%;
		}
	#ft_contact .bnr>a span::before {
		margin-bottom: 6px;
		font-size: 2.1rem;
		letter-spacing: 0.6rem;
		}

}


/* ====================================
footer
==================================== */
/* 768＜ -------------- */
@media print,
screen and (min-width: 768px) {

	.pg_home #footer {
		min-height: 460px;
		}
	/* 2508 */
	.pg_home #footer>.wrap {
		padding-top: 90px;
		}

}
