@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@font-face {
font-family: 'denso';
src: url("../font/DENSOTP2017-Regular.woff") format('woff');
}
@font-face {
font-family: 'denso-b';
src: url("../font/DENSOTP2017-Bold.woff") format('woff');
}

html{font-size: 62.5%;height: 100%;}
body{
font-size: 16px;
	line-height: 1.8;
font-family: 'denso', sans-serif;
font-weight: 400;
color: #000;
text-align: left;
-webkit-text-size-adjust: 100%;
letter-spacing: 0.02em;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: #fff;
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
					box-sizing: border-box;
}
img	{ /*width: 100%;*/ max-width: 100%; height: auto; vertical-align: top;}
a img	{ border: none;}
a:hover img	{opacity:0.7;filter: alpha(opacity=70);}
a	{text-decoration: none}
strong{font-weight: 400;}
p,figure{margin: 0;}

.en{
	font-family: "Open Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
}
.reset, .reset > dt, .reset > dd	{margin: 0; padding: 0; list-style-type: none;}
.reset-t	{margin-top: 0; padding-top: 0;}
.reset-b	{margin-bottom: 0; padding-bottom: 0;}
.reset-v	{margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0;}
.reset-h	{margin-right: 0; margin-left: 0; padding-right: 0; padding-left: 0;}

.text-red{color: #dc0032}

.fs-14{font-size: 14px!important;}
.fs-18{font-size: 18px!important;}
.fs-20{font-size: 20px!important;}

hr{border-top: none; border-right: none; border-bottom: 1px solid #c7c7c7; border-left: none; padding-top: 10px; margin: 0 0 10px;}
hr.spacer{margin-bottom: 0; padding: 10px 0; border: none;}
hr.spacer-2x{margin-bottom: 0; padding: 20px 0; border: none;}
hr.hr-2x{margin-bottom: 0; padding-top: 20px; margin: 0 0 20px;}


.text-center{text-align: center}

.denso-uniform main{
	position: relative;
	padding-top: 70px;
}
.denso-uniform main .uni-bg{
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
	width: 100%;
	}
.denso-uniform main .uni-bg:before{
		content: "";
	width: 100%;
	height: 100vh;
	background-image: url("../img/uniform-bg.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position:top;
	position: absolute;
	}
.denso-uniform main .sec-box{
	padding-top: 80px;
	padding-bottom: 80px;
	position: relative;
}
.denso-uniform main .sec-ttl{
	font-size: 5.0rem;
	font-weight: 800;
	margin-top: 0;
	margin-bottom: 20px;
	border-left: 7px solid #dc0032;
	padding-left: 15px;
}
.denso-uniform main .sec-ttl span{
	display: block;
	line-height: 1.2;
}
.denso-uniform main .sec-ttl span.jp{
	font-size: 2.4rem;
	margin-top: 5px;
	font-weight: 500;
}
/*ボタン*/
.ec_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 396px;
	max-width: calc(100% - 64px);
	height: 72px;
	flex-shrink: 0;
	background: #dc0032;
	border: 1px solid #dc0032;
	transition: 0.4s ease;
	margin: 25px auto 0;
	position: relative;
}
.ec_btn.bg-w{
	background: #FFFFFF;
	border: 1px solid #FFFFFF;
}
.ec_btn span {
	color: #FFFFFF;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 120%;
}
.ec_btn.bg-w span{
	color: #dc0032;
}

.ec_btn:hover {
	background-color: #FFFFFF;
}
.ec_btn.bg-w:hover{
	background-color: #dc0032;
}
.ec_btn:hover span {
	color: #dc0032 !important;
}
.ec_btn.bg-w:hover span {
	color: #FFFFFF !important;
}


.denso-uniform main .main-text{
	padding: 50px;
	text-align: center;
	position: relative;
	background-color: #dc0032;
	color: #FFFFFF;
}

.denso-uniform main .main-text span{
	display: block;
}
.denso-uniform main .main-text-head{
	font-size: 4.2rem;
	font-weight: bold;
	margin-bottom: 15px;
}
.denso-uniform main .main-text-foot{
	font-size: 2.0rem;
}
.u-fade-type-up{
    transform: translateY(50px);
    opacity: 0;
}

/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active{
    transition: .6s;
    transform: translateY(0);
    opacity: 1;
}

/*---------- NEWUNIFORM ---------*/
.denso-uniform main .new-contets{
	padding-top: 350px;
	padding-bottom: 350px;
	background-color: #000000;
	color: #FFFFFF;
}
.denso-uniform main .new-inner{
	position: relative;
	z-index: 1;
}
.denso-uniform main .new-inner:after{
	content: '';
	width: 52.6vw;
	height: 52.6vw;
	background: url("../img/uni_new.png") no-repeat;
	background-size: contain;
	position: absolute;
	top: -250px;
	right: 0;
	z-index: -1;
	opacity: 0.9;
}
.denso-uniform main .new-inner p + p{
	margin-top: 15px;
}
/*---------- CONCEPT ---------*/
/*
.denso-uniform main .concept-contets .sec-ttl{
	color: #FFFFFF;
}
*/
.denso-uniform main .concept-inner{
	display: flex;
	justify-content: center;
	height: 100%;
	height: 100vh;
	background-color: #FFFFFF;
}
.denso-uniform main .concept-inner._top{
	overflow: hidden;
	top: 0;
	position: sticky;
}
.denso-uniform main .concept-inner._bottom{
	position: relative;
	z-index: 10;
}
.denso-uniform main .concept-inner .concept-img{
	width: 49%;
	height: 100%;
	display: flex;
	align-items: center;
}
.denso-uniform main .concept-inner .pattern{
	width: 2%;
	height: 100%;
}
.denso-uniform main .concept-inner .concept-text{
	height: 100%;
	width: 49%;
	padding: 0 25px;
	position: relative;
	box-sizing: border-box;	
	background-color: #FFFFFF;
}

.denso-uniform main .concept-inner .concept-text h2{
	margin-top: 0;
	margin-bottom: 15px;
}
.denso-uniform main .concept-inner .concept-text h2 span{
	display: inline-block;
}
.denso-uniform main .concept-inner .concept-text p + p{
	margin-top: 15px;
}
/*---------- GOODS ----------*/
.denso-uniform main .goodsn-contets {
		overflow: hidden;
	background-color: #dc0032;
	}
.denso-uniform main .goodsn-contets .sec-ttl{
	color: #FFFFFF;
	padding-left: 0;
	border-left: none;
}
.denso-uniform main .goodsn-contets .goods-inner{
	padding-left: 100px;
		position: relative;
}
	.denso-uniform main .goodsn-contets .swiper {
		overflow: visible;
	}
.denso-uniform main .goodsn-contets .swiper-slide {
		width: 36rem;
	}
.denso-uniform main .goodsn-contets .swiper-controller {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		gap: 1.6rem;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
			align-items: center;
		-webkit-box-pack: end;
		-webkit-justify-content: flex-end;
		-ms-flex-pack: end;
			justify-content: flex-end;
		margin-top: 3.2rem;
	}
.denso-uniform main .goodsn-contets .swiper-button-prev, .denso-uniform main .goodsn-contets .swiper-button-next {
	display: grid;
	place-content: center;
	width: 6.4rem;
	height: 6.4rem;
	cursor: pointer;
	background-color: #000000;
}
.denso-uniform main .goodsn-contets .swiper-button-prev::before, .denso-uniform main .goodsn-contets .swiper-button-next::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	
}
.denso-uniform main .goodsn-contets .swiper-button-prev::after, .denso-uniform main .goodsn-contets .swiper-button-next::after {
	width: 1.2rem;
	height: 1.2rem;
	content: "";
	border: solid #fff;
	border-width: 3px 3px 0 0;
}
.denso-uniform main .goodsn-contets .swiper-button-prev::after {
	margin-left: 0.4rem;
	-webkit-transform: rotate(-135deg);
					transform: rotate(-135deg);
}
.denso-uniform main .goodsn-contets .swiper-button-next::after {
	margin-right: 0.4rem;
	-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
}
.denso-uniform main .goodsn-contets .swiper-button-disabled {
	pointer-events: none;
	opacity: .4;
}
.denso-uniform main .ec-text{
	margin-top: 50px;
}
.denso-uniform main .ec-text h1 {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
}

.denso-uniform main .ec-text h1::before,
.denso-uniform main .ec-text h1::after {
	width: 3px;
	height: 40px;
	background-color: #ffffff;
	content: '';
}

.denso-uniform main .ec-text h1::before {
	transform: rotate(-35deg);
	margin-right: 30px;
}

.denso-uniform main .ec-text h1::after {
	transform: rotate(35deg);
	margin-left: 30px;
}
.denso-uniform main .ec-fs-14 {
	font-size: 1.4rem;
	color: #FFFFFF;
	margin-top: 10px;
	width: 396px;
	margin-left: auto;
	margin-right: auto;
}



@media (max-width: 834px){
body{font-size: 14px;line-height: 1.6;}
	.fs-14{font-size: 12px;}
	.fs-18{font-size: 15px;}
	.fs-20{font-size: 18px;}

.container{width: 90%;margin: 0 auto;}
.only-sm{display: block;}
.only-lg{display: none;}
	.ec_btn{
		margin: 15px auto 0;
		height: 60px;
	}	
	.ec_btn span{
		font-size: 1.5rem;
	}
.denso-uniform main{
/*	padding-top: 60px;*/
}

	.denso-uniform main .sec-box{
		padding-top: 40px;
		padding-bottom: 40px;
	}
.denso-uniform main .sec-ttl{
	font-size: 3.4rem;
}
	.denso-uniform main .sec-ttl span.jp{
	font-size: 1.5rem;
}
	.denso-uniform main .main-text{
		padding-left: 0;
		padding-right: 0;
		text-align: left;
	}
	.denso-uniform main .main-text-head{
		font-size: 2.4rem;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.denso-uniform main .main-text-foot{
		font-size: 1.6rem;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
/*---------- NEWUNIFORM ---------*/	
	.denso-uniform main .new-contets{
		padding-top: 300px;
		padding-bottom: 80px;
	}
	.denso-uniform main .new-inner:after{
		width: 70vw;
		height: 70vw;
		top: -70vw;
		right: 0;
	}
/*---------- CONCEPT ---------*/
.denso-uniform main .concept-inner{
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: #dc0032;
}
	.denso-uniform main .concept-inner .concept-img{
		width: calc(100% - 10px);
		margin-left: 10px;
		padding-right: 0;
		box-sizing: border-box;
	}
	.denso-uniform main .concept-inner .pattern{
	display: none;
	}
	.denso-uniform main .concept-inner .concept-text{
		width: calc(100% - 10px);
		margin-left: 10px;
		padding: 15px;
		
	}
/*---------- GOODS ----------*/

.denso-uniform main .goodsn-contets .goods-inner{
	padding-left: 20px;
}
.denso-uniform main .goodsn-contets .swiper-slide {
		width: 20rem;
	}
	.denso-uniform main .goodsn-contets .swiper-button-prev, .denso-uniform main .goodsn-contets .swiper-button-next{
		width: 3.4rem;
		height: 3.4rem;
	}
	.denso-uniform main .goodsn-contets .swiper-button-prev, .denso-uniform main .goodsn-contets .swiper-rtl .swiper-button-next{
		left: 40%;
		bottom: -50px;
		top: auto;
	}
	.denso-uniform main .goodsn-contets .swiper-button-next, .denso-uniform main .goodsn-contets .swiper-rtl .swiper-button-prev{
		right: 40%;
		bottom: -50px;
		top: auto;
	}
	.denso-uniform main .ec-text{
	margin-top: 90px;
		padding-left: 15px;
		padding-right: 15px;
}
.denso-uniform main .ec-text h1 {
	font-size: 1.5rem;
}
	.denso-uniform main .ec-text h1::before{
		margin-right: 23px;
	}
	.denso-uniform main .ec-text h1::after{
		margin-left: 23px;
	}
	.denso-uniform main .ec-fs-14{
		font-size: 1.2rem;
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}

}


@media (max-width: 320px){}
@media (min-width: 835px){

.container{width: 950px;margin-right: auto;margin-left: auto;}
.only-sm{display: none;}
.only-lg{display: block;}
.scroll-point{
			display: block;
			margin-top: -80px;
			padding-top: 80px;
			outline: none;
			outline: none;
			overflow: hidden;
	}
.denso-uniform main .uni-bg:before{
	content: "";
	width: 100%;
	height: 100vh;
	background-image: url("../img/uniform-bg_pc.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position:top left;
	position: absolute;
	}
/*
	.denso-uniform main .concept-inner{
		width: 950px;
		margin-left: auto;
		margin-right: auto;
	}
*/
.denso-uniform main .concept-inner .concept-text .text-box{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 78.7%;
}

 } 

.denso-uniform footer{
	background-color: #FFFFFF;
	padding-top: 30px;
	padding-bottom: 30px;
	text-align: center;
	font-size: 1.3rem;
}
.denso-uniform header{
	position: relative;
}
.hamburger-menu {
  width: 50px;
  height: 50px;
  position: fixed;
	z-index: 999;
  border: none;
  background: #FFFFFF;
  appearance: none;
  padding: 0;
  cursor: pointer;
	right: 10px;
	top: 10px;
	border-radius: 50%;
}
.hamburger-menu__bar {
  display: inline-block;
  width: 44%;
  height: 2px;
  background: #242424;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
.hamburger-menu__bar:first-child {
  top: 16px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 24px;
}
.hamburger-menu__bar:last-child {
  top: 32px;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 50%;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
.navigation {
  display: none;
  background: #dc0032;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 888;
	height: 100vh;
}
.navigation__list {
  text-align: left;
  list-style: none;
  padding: 0;
  margin: 0;
	width: 350px;
	margin-left: auto;
	margin-right: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	position: absolute;
}
/*
.navigation__list-item {
  border-bottom: solid 1px #474747;
}
.navigation__list-item:first-child {
  border-top: solid 1px #474747;
}
*/
.navigation__link {
  color: #FFFFFF;
  text-decoration: none;
  display: block;
  padding: 15px 0;
  transition: .5s;
	font-size: 3.4rem;
	text-align: center;
	font-weight: 800;
}
.navigation__link span{
	display: block;
	line-height: 1.2;
}
.navigation__link span.jp{
	font-size:1.8rem; 
	font-weight: 500;
	margin-top: 5px;
}
/*
.navigation__link:before{
	content: "";
	background-color: #FFFFFF;
	width: 15px;
	height: 15px;
	display: inline-block;
	margin-right: 10px;
}
*/
.hp-link{
	position: absolute;
	left: 15px;
	top: 20px;
}
.hp-link a{
	display: block;
	color: #FFFFFF;
	font-weight: bold;
}

@media (max-width: 834px){
	.denso-uniform footer{
		font-size: 1.1rem;
	}
	.hp-link a{
	font-size: 1.3rem;
}
}
