@charset "UTF-8";
hr{
	margin:0;
}
body{
	margin:0;
	padding:0;
	background-color: black;
	font-feature-settings: "palt" 1, "trad" 1;
}
a{
	 text-decoration: none;
	 font-family:'Noto Sans JP', sans-serif;
}
small{
	font-family:'Noto Sans JP', sans-serif;
}
h1,h2,h3,h4,h5,h6,p{
	color:white;
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
}
img{
	vertical-align: top;
	width:100%;
}
@media all and (min-width: 1000px) {
html{
	scroll-behavior: smooth;
	scroll-padding-top: 150px;
}
.sp{
	display:none;
}	
/*headerはここから*/
header{
	width:100%;
	height: 65px;
	transition: .3s;
	position:relative;
	position: absolute;;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	/* overflow: hidden; */
	z-index: 9999;
	border-bottom:#565656 solid 1px;
}
.is-animation {
   position:fixed;
   transition: .5s;
   z-index: 9999;
   /* backdrop-filter: blur(6px); */
   background-color: white;
}
.logo{
  	overflow: hidden;
 	width:113px;
  	display: inline-block;
	float:left;
	transition: .3s;
  	position:absolute;
	top: 50%;
	left:30px;
	transform: translateY(-50%);
}
.is-animation .logo img{
	content: url(image/logo-blue.png);
}
.menu{
	list-style: none;
	padding-inline-start:0px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	width:955px;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right:30px;
	margin:0;
}
ul{
	list-style: none;
	padding-inline-start:0px;
	float:right;
	display: flex;
 	flex-direction: row;
	flex-wrap: wrap;
  	justify-content: flex-end;
	width:100%;
}
.menu li {
	 font-size:13px;
	 margin:0 0 0 20px;
	 font-weight: 600;
	 transition: .5s;
}
li a{
	 color:white;
	 font-family:'Noto Sans JP', sans-serif;
	 transition: .3s;
}
.is-animation li a{
	color:black;
}
/*共通はここから*/
.common-width{
	max-width:1100px;
	width:90%;
	margin:0 auto;
}
.common-link{
	font-weight:600;
	color:black;
	font-size:30px;
	position: relative;
}
.common-link::after{
	content: '';
	display: inline-block;
	width: 44px;
	height: 44px;
	background-image: url(image/b-arrow.png);
	background-size: contain;
	vertical-align: middle;
	margin: -2px 0 0 26px;
}
/*フロントページはここから*/
.top{
	padding:138px 30px 0;
	position: relative;
}
.top-img{
	width:91%;
	margin:0 0 0 auto;
}
.top-title{
	position: absolute;
	top:138px;
	width:80%;
}
.concept{
	padding:20% 30px 84px;
	position: relative;
}
.concept-1{
	display:flex;
	gap:240px;
}
.concept-1-img{
	width:387px;
}
.concept-1 p{
	width:565px;
	font-size:20px;
	line-height:2.2;
	font-weight:600;
	text-align: justify;
}
.concept-2{
	display:flex;
	gap:30px;
	position: absolute;
	bottom:84px;
	right:30px;
}
.concept-2 div{
	width:188px;
}
.about{
	padding:54px 0;
	background-color: #FFFFFF;
}
.about-content{
	max-width: 1250px;
	width:90%;
	margin:0 auto;
	display:flex;
	gap:39px;
}
.about-title{
	width:533px;
	margin:0 0 53px 0;
}
.about-right{
	display:flex;
	flex-direction: column;
	gap:30px;
}
.about-right-detail{
	display:flex;
	justify-content:space-between;
	gap:43px;
}
.about-right-detail-img{
	width:209px;
}
.about-right-detail-txt{
	width:426px;
	border-bottom:solid 1px #DFDFDF;
}
.about-right-detail-txt h4{
	color:black;
	font-size:21px;
	font-family: "Oswald", serif;
	font-weight:400;
}
.about-right-detail-txt h3{
	color:black;
	font-size:17px;
	font-weight:500;
}
.about-right-detail-txt p{
	color:black;
	font-size:13px;
	text-align: justify;
	line-height: 1.75;
	margin-top:10px;
	font-weight:500;
}
.s-top-img{
	position: relative;
}
.s-top-img .b-back{
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	background: linear-gradient(0deg, rgb(0,0,0), rgb(255,255,255));
	height:310px;
	mix-blend-mode:multiply;
}
.service-title{
	margin-top: -80px;
	position: relative;
}
.service-title p{
	font-size: 15px;
	width:28%;
	position:absolute;
	top:15px;
	right:35px;
}
.service-list{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 35px;
	grid-row-gap: 30px;
	margin-top:50px;
}
.service-list p{
	font-size:15px;
	margin-top:10px;
}
.s-factory{
	background-image: url(image/service-back.jpg);
	object-fit: cover;
	padding:49px 0;
	margin-top:65px;
	margin-bottom:77px;
}
.s-factory-content{
	width:730px;
	display:flex;
	margin:0 auto;
	gap:35px;
}
.s-factory-content-img{
	width:276px;
}
.s-factory-content-txt h3{
	font-size:24px;
	color:black;
	font-weight:500;
}
.s-factory-content-txt p{
	font-size:16px;
	font-weight:500;
	color:black;
	margin-top:10px;
	margin-bottom:30px;
}
.s-factory-content-txt a{
	font-size:21px;
}
.s-factory-content-txt a::after{
	width:33px;
	height:33px;
}
.company{
	padding:78px 0;
	background-color: #FFFFFF;
}
.company-content{
	display:flex;
	justify-content: space-between;
}
.company-img{
	width:486px;
}
.company-txt{
	width:550px;
	display:flex;
	flex-direction: column;
	gap:10px;
}
.company-txt-detail{
	display:flex;
}
.company-txt-detail p{
	font-size:13px;
	color:black;
	font-weight:500;
	padding-bottom:10px;
	border-bottom:solid #DFDFDF 1px;
	line-height: 1.65;
}
.company-txt-detail p:nth-child(1){
	width:118px;
}
.company-txt-detail p:nth-child(2){
	width: calc(100% - 118px);
}
/* アバウトページ */
.kaso-c-top{
	padding-top:138px;
}
.kaso-c-top-content{
	position: relative;
}
.kaso-c-top-content img{
	filter: brightness(.8);
}
.kaso-c-top-content h2{
	position: absolute;
	bottom:15px;
	left:27px;
	font-size:35px;
	letter-spacing: -0.02em;
}
.about-1{
	margin-top:66px;
}
.about-1-img{
	width:733px;
	position: relative;
	z-index: 1;
}
.about-1-content-1{
	width:870px;
	margin:-15px auto 0 auto;
	display:flex;
	justify-content: space-between;
	align-items: end;
}
.about-1-content-1 div{
	width:366px;
}
.about-1-content-1 p{
	width:432px;
	font-size:15px;
	font-weight:500;
	line-height: 1.9;
	text-align: justify;
}
.about-1-content-2{
	width:870px;
	margin:92px auto 0 auto;
	display:flex;
	justify-content: space-between;
	align-items: end;
	flex-direction: row-reverse;
}
.about-1-content-2 div{
	width:366px;
}
.about-1-content-2 p{
	width:432px;
	font-size:15px;
	font-weight:500;
	line-height: 1.9;
	text-align: justify;
}
.about-2{
	background-color: #FFFFFF;
	margin-top:108px;
	padding-top:77px;
	padding-bottom:107px;
}
.about-2-img{
	width:639px;
	position: relative;
	z-index: 1;
}
.about-2-content-1{
	width:985px;
	margin:-15px auto 0 auto;
	display:flex;
	justify-content: space-between;
	align-items: end;
}
.about-2-content-1 div{
	width:481px;
}
.about-2-content-1 p{
	width:432px;
	font-size:15px;
	font-weight:500;
	line-height: 1.9;
	text-align: justify;
	color: black;
}
.about-2-content-2{
	width:985px;
	margin:92px auto 0 auto;
	display:flex;
	justify-content: space-between;
	align-items: end;
	flex-direction: row-reverse;
}
.about-2-content-2 div{
	width:481px;
}
.about-2-content-2 p{
	width:432px;
	font-size:15px;
	font-weight:500;
	line-height: 1.9;
	text-align: justify;
	color: black;
}
.about-3{
	margin-top:108px;
}
.about-3-img{
	width:582px;
}
.about-3-list{
	margin-top:76px;
	display:flex;
	flex-direction: column;
	gap:50px;
}
.about-3-list-detail{
	display:flex;
	justify-content: space-between;
	padding-bottom:45px;
	border-bottom: 1px solid #5E5E5E;
}
.about-3-list-detail-img{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:12px;
	width:532px;
}
.about-3-list-detail-txt{
	width:527px;
}
.about-3-list-detail-txt h4{
	font-size:14px;
}
.about-3-list-detail-txt h3{
	font-size:22px;
	margin-top:5px;
}
.about-3-list-detail-txt p{
	font-size:15px;
	line-height: 1.75;
	margin-top:15px;
}
/* ファクトリーページ */
.factory-1{
	margin-top:68px;
	display:flex;
	gap:75px;
}
.factory-1-img{
	width:335px;
}
.factory-1-txt{
	display:flex;
	gap:41px;
}
.factory-1-txt div{
	padding-bottom:20px;
	border-bottom:1px solid #5E5E5E;
}
.factory-1-txt h3{
	font-size:26px;
	margin-bottom:10px;
}
.factory-1-txt p{
	font-size:13px;
	line-height: 1.75;
}
.factory-1-txt li{
	color:white;
	list-style: none;
	margin:0 0 0 15px;
	font-size:13px;
	line-height: 1.75;
}
.factory-main-img{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:10px;
	margin-top:39px;
	margin-bottom:89px;
}
.f-white{
	background-color: white;
}
.f-gray{
	background-color:#F8F8F8;
}
.factory-sub{
	padding-top:78px;
	padding-bottom:71px;
}
.factory-title-2{
	width:335px;
	margin:0 0 45px 0;
}
.factory-sub-content h3{
	font-size:26px;
	color:black;
}
.factory-t-list{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap:10px;
	margin-top:20px;
}
.factory-t-list p{
	font-size:13px;
	font-weight:500;
	line-height: 1.75;
	color:black;
	padding-bottom:20px;
	border-bottom:1px solid #5E5E5E;
}
.f-list-img{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:10px;
	margin-top:43px;
}
.f-cad-img{
	width:454px;
}
.f-cad{
	background-color: #F8F8F8;
	padding-top:89px;
	padding-bottom:69px;
}
.f-cad-list{
	display:flex;
	gap:35px;
	margin-top:45px;
}
.f-cad-list p{
	font-size:13px;
	font-weight:500;
	line-height: 1.75;
	color:black;
	padding-bottom:20px;
	border-bottom:1px solid #5E5E5E;
	width:45%;
}
/* お問い合わせページ */
.contact-padding{
	padding-top:139px;
}
.contact-content{
	margin:0 auto;
	background-color: white;
	border-radius: 15px;
	width:450px;
	padding:50px 80px 55px;
}
.contact-content h2{
	font-size:25px;
	font-weight:500;
	color:black;
}
.contact-content p{
	color:black;
}
.contact-content h3{
	font-size:18px;
	font-weight:500;
	margin:15px 0 30px 0;
}
.contact-content h4{
	font-size:14px;
	font-weight:400;
	line-height: 1.75;
}
/* お問合せ系 */
.form-width{
	margin:30px 0 0 0;
}
.form_tit{
	font-size:14px;
	font-weight:500;
	margin:0 0 15px 0;
}
.form-parts p{
	color:black;
}
.f-input{
	margin:0 0 26px 0;
}
.f-input input{
	width:94%;
	padding:0 3%;
	display:inline-block;
	height:40px;
	border:solid #CCCCCC 1px;
	border-radius: 5px;
}
.f-input textarea{
	width:94%;
	padding:0 3%;
	display:inline-block;
	height:200px;
	border:solid #CCCCCC 1px;
	border-radius: 5px;
	resize:vertical;
}
.submit-btn input{
	width:145px;
	height:45px;
	text-align: center;
	background-color:black;
	color:white;
	border-radius: 3px;
	border:none;
	font-size:14px;
	font-weight:500;
	margin:20px 0 0 0;
}
.form-btn a{
	background-color: #2E2E2E;
	color:white;
	padding:8px 20px;
	border-radius: 3px;
	display:inline-block;
	text-align: center;
	margin:30px 0 0 0;
}
.form-sub-btn{
	font-size:15px;
	font-weight:600;
	margin:20px 0 0 0;
}
.form-sub-btn a{
	color:black;
}
.form_tit-f{
	font-size:14px;
	font-weight:500;
	margin:0 0 10px 0;
}
.con-detail{
	font-size:16px;
	font-weight:600;
	margin:0 0 30px 0;
}
.kome-red{
	color:#E30012;
}
.form-privacy{
	color:#303030;
}
/* プライバシーポリシーページ */
.privacy-top{
	padding:200px 0 0 0;
	margin:0 auto;
	width:1000px;
}
.privacy-top h2{
	font-size:30px;
	margin: 0 0 20px 0;
}
.privacy-content-txt{
	font-size:18px;
	line-height: 1.75;
}
.privacy-content{
	margin:40px 0 0 0;
}
.privacy-content h3{
	font-size:23px;
	margin:0 0 15px 0
}
.privacy-content-read{
	font-size:15px;
	line-height: 1.75;
	letter-spacing: 0.02em;
}
.red-icon{
	position:relative;
}
.red-icon::before{
	content: '■';
	display: block;
	color:white;
	position: absolute;
	left:0;
}
.privacy-content-red{
	font-size:18px;
	margin:25px 0 0 0;
	font-weight:600;
	padding:0 0 0 30px;
}
.privacy-content-red-read{
	margin:10px 0 0 0;
	padding:0 0 0 30px;
}
/* footerはこちら */
footer{
	text-align: center;
	padding:82px 0 15px 0;
}
footer div{
	width:194px;
	margin:0 auto 50px auto;
}
footer small{
	font-size:13px;
	color:white;
	font-weight:600;
}

}