#header .inner{
 display: block;
}
.header_1row{
 display: flex;
 justify-content: space-between;
 align-items: center;
}
#header #nav{
 width: min(100%, 1200px);
 margin: 18px auto 0;
}
#header #nav>ul{  
 display: flex;
 justify-content: center;
 justify-items: center;
 width: min(100%, 1200px);
}
#header #nav>ul>li{
 position: relative;
 display: inline-flex;
 justify-content: center;
 align-items: center;
 border-right: solid 1px var(--blue);
 width: calc((100% - 6px) / 5);
}
#header #nav>ul>li:nth-of-type(1){
  border-left: solid 1px var(--blue);
}
#header #nav>ul>li:before,
#header #nav>ul>li:after{
 position: absolute;
 display: block;
 content: "";
 transition: .5s;
 opacity: 0;
 transform: scaleX(0);
}
#header #nav>ul>li:before{
 width: 100%;
 height: 4px;
 background: var(--blue);
 bottom: -12px;
 left: 0;
}
#header #nav>ul>li:after{
 width: 0;
 height: 0;
 border-style: solid;
 border-right: 10px solid transparent;
 border-left: 10px solid transparent;
 border-bottom: 10px solid var(--blue);
 border-top: 0;
 bottom: -11px;
 left: 50%;
 transform: scaleX(0) translateX(-50%);
}
#header #nav>ul>li:hover:before{
 opacity: 1;
 transform: scaleX(1);
}
#header #nav>ul>li:hover:after{
 opacity: 1;
 transform: scaleX(1) translateX(-50%);
}
#header #nav>ul>li>a{
 font-weight: 400;
 padding: 0 15px 10px;
}
#nav .sub {
 background: var(--purple);
 width: 100%;
 height: fit-content;
 bottom: -12px;
 left: 0;
 font-size: 1rem;
 transform: translateY(100%);
}
#slider{
 position: relative;
 max-width: 1920px;
 margin: 0 auto;
}
#slider #homeSlider{
 overflow: hidden;
}
#slider .scrollBtn{
 position: absolute;
 z-index: 10;
 left: calc( 50% - 50px);
 bottom: 80px;
 text-align: center;
 width: 100px;
}
#slider .scrollBtn a{
 display: block;
 text-align: center;
 position: relative;
 color: #fbc60e;
 font-weight: bold;
}
#slider .scrollBtn a:before{
 position: absolute;
 display: block;
 content: "";
 background: #fbc60e;
 width: 30px;
 height: 30px;
 border-radius: 50%;
 bottom: -30px;
 left: calc( 50% - 15px );
 animation-name: animeFadeRepeat;
 animation-duration:3s;
 animation-iteration-count: infinite;
}
#slider .scrollBtn a:after{
 position: absolute;
 display: block;
 content: "";
 border-top: solid 8px #fff;
 border-left: solid 6px transparent;
 border-right: solid 6px transparent;
 bottom: -20px;
 left: calc( 50% - 6px );
 animation-name: animeFadeRepeat;
 animation-duration:3s;
 animation-iteration-count: infinite;
}
@keyframes animeFadeRepeat{
 0%{
  opacity:1;
 }
 10%{
  opacity:1;
 }
 50%{
  opacity:0;
 }
 90%{
  opacity:1;
 }
 100%{
  opacity:1;
 }
}
.slick-prev,
.slick-next{
 /* position: relative; */
 z-index: 2;
 width: 50px;
 height: 50px;
 margin-top: -20px;
 background: #fff;
 border-radius: 50%;
}
.slick-prev{
 left: 60px;
}
.slick-next{
 right: 60px;
}
.slick-prev:before,
.slick-next:before,
.slick-prev:hover:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-next:focus:before{
 opacity: 0;
}
.slick-prev:hover,
.slick-next:hover{
 opacity: .5;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus{
 background: #fff !important;
}
.slick-prev::after,
.slick-next::after{
 content: "";
 display: block;
 width: 18px;
 height: 18px;
 border-top: solid 3px var(--blue);
}
.slick-prev::after{
 border-left: solid 3px var(--blue);
 transform: rotate(-45deg);
}
.slick-next::after{
 border-right: solid 3px var(--blue);
 transform: rotate(45deg);
}
#main{
 position: relative;
}
#sec_mainVisual{
 background: url(../img/home/mainphoto.jpg) no-repeat center center;
 background-size: cover;
 padding: 150px 0px 300px;
 position: relative;
}
#sec_mainVisual:before{
 display: block;
 content: "";
 width: 100%;
 height: 130px;
 position: absolute;
 bottom: 0px;
 background: url(../img/home/main_btmbg.png) no-repeat center center;
 background-size: 100% 100%;
}
#sec_mainVisual h1 img{
 width: 40%;
 max-width: 553px;
 height: auto;
}
#sec_mainVisual h1{
 max-width: 1500px;
 margin-left: auto;
 margin-right: auto;
 padding-left: 15px;
 margin-top: -30px;
}

#sec_philosophy{
 margin-top: 150px;
 padding-top: 130px;
 padding-bottom: 100px;
 background: #000 url(../img/home/section2_bg.jpg) no-repeat top center;
 background-size: cover;
 position: relative;
}
#sec_philosophy:before{
 display: block;
 content: "";
 width: 100%;
 height: 130px;
 position: absolute;
 top: -128px;
 background: url(../img/home/section1_btmbg.png) no-repeat center center;
 background-size: 100% 100%;
}
#sec_company{
 background: url(../img/home/section3_bg.jpg) no-repeat center center;
 background-size: cover;
}
#sec_company .list li{
 display: flex;
 justify-content: center;
}
#sec_company .list li h3{
 width: 30%;
 text-align: right;
 padding: 15px;
}
#sec_company .list li p{
 width: 70%;
 padding: 15px;
}
#sec_news{
 position: absolute;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%);
 width: min(calc(100% - 30px), 1200px);
}
#sec_news .inner{
 width: min(calc(100% - 80px), 1200px);
 padding: 24px 40px;
}
#sec_news .ttlArea{
 width: 130px;
 text-align: center;
}
#sec_news .ttlArea h2{
 font-weight: 400;
 border: solid 1px var(--blue);
 padding: 25px 30px;
}
#sec_news .ttlArea a{
 position: relative;
 display: inline-block;
 padding-right: 20px;
}
#sec_news .ttlArea a::before,
#sec_news .ttlArea a::after {
 content: "";
 position: absolute;
 top: calc(50% - 1px);
 right: 0;
 width: 10px;
 height: 2px;
 border-radius: 9999px;
 background-color: var(--blue);
 transform-origin: calc(100% - 1px) 50%;
}
#sec_news .ttlArea a::before {
  transform: rotate(45deg);
}
#sec_news .ttlArea a::after {
  transform: rotate(-45deg);
}
#newsFeed li{
 border-bottom: solid 2px var(--blue);
 padding: 25px 0;
}
#newsFeed li:nth-child(1){
 border-top: solid 2px var(--blue);
}
#sec_news li a{
 display: flex;
}
#sec_news li a .date{
 width: min(20%, 9em);
}
#sec_news li a .text{
 width: 80%;
}

.nrap {
	display: inline-block;
}
/*23/10/23追記*/
.newfactory_detail_wrap {
	display: flex;
	align-items: flex-end;
    background-image: url(../img/home/newfactory_img1.jpg);
    height: auto;
    aspect-ratio: 601 / 400;
    background-size: cover;
}
.newfactory_detail_wrap:nth-of-type(2){
 background-image: url(../img/home/newfactory_img2.jpg);
}
.newfactory_detail {
    background: rgba(96, 96, 96, 0.7);
    width: 100%;
    align-items: center;
    display: flex;
}
/*23/10/23追記 fin*/

/*23/12/5追記*/
.recruit_movie_iframe{
	width: 80%;
	height: auto;
	aspect-ratio: 16 / 9;
}
/*23/12/5追記 fin*/
#sec_news .styleBtn{
  width: fit-content;
  min-width: 300px;
}

/*
===================================================
        sp
===================================================
*/
@media screen and (max-width: 980px) {
 #sec_mainVisual{
  background: url(../img/home/mainphoto.jpg) no-repeat center center;
  background-size: cover;
  padding: 120px 0px 200px;
  position: relative;
 }
 #sec_mainVisual:before{
  height: 50px;
 }
 #sec_mainVisual h1 img{
  width: 60%;
  max-width: 553px;
  height: auto;
 }
 #sec_philosophy{
  margin-top: 50px;
  padding-top: 50px;
  padding-bottom: 50px;
  background: #000 url(../img/home/section2_bg.jpg) no-repeat bottom center;
  background-size: contain;
  position: relative;
 }
 #sec_philosophy:before{
  height: 50px;
  top: -48px;
 }
 #sec_company .list li{
  display: block;
 }
 #sec_company .list li h3{
  width: auto;
  text-align: left;
  padding: 10px;
 }
 #sec_company .list li p{
  width: auto;
  padding: 10px;
 }
 #sec_news .list li{
  margin-bottom: 15px;
  padding-bottom: 15px;
 }
 #sec_news .list li a{
  display: block;
 }
 #sec_news .list li a p{
  padding: 5px;
 }
 #sec_news .list li a p.date{
  width: auto;
  text-align: left;
 }
 #sec_news .list li a p.text{
  width: auto;
 }
/*23/12/5追記*/
.recruit_movie_iframe{
	width: 90%;
	height: auto;
  aspect-ratio: 16 / 9;
}
.recruit_movie_btn{
	max-width: 400px;
	width: 60%;
	padding: 1em !important;
}
}