@charset "utf-8";
/* CSS Document */

/* アニメーション設定 */
@-webkit-keyframes bgroop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -1520px 0;
    }
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -1520px 0;
    }
}


.arrowWrap {
position: absolute;
right: 0;
bottom: 46px;
height: 240px;
z-index: 100;
background: #e60012;
width: 88px;
}

.arrowInner p {
  font-size: 12px;
  text-align: end;
  color: #fff;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
/*  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
}

.arrow {
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #eee;
  position: relative;
  overflow: hidden;
}

.arrow::before {
  content: '';
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #000;
  position: absolute;
  top: -150px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}

.arrowInner { position: absolute; bottom: 20px; right: 0; }

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}
/*PC*/
@media print, screen and (min-width: 768px) {
#header {
z-index: 10000;
/*background-color: rgba(255,255,255,0.70)*/
}

header.smaller #menu li a { color: #333!important;}

#header {
z-index: 10000;
/*background-color: rgba(255,255,255,0.70)*/
}
.logo_Hed_index {
-moz-transition: all 0.3s;
position: absolute;
top: 35px;
left: 20px;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
width: 260px;
display: none;
}

.logo_Hed_index img {
width: 100%;
height: auto;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.logo_Hed_index a {
display: block;
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed {
opacity: 1!important;
width: 210px;
display: block;
position: absolute;
left: 15px;
top: 25px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed_index {
display: none;
}

header.smaller .logo_Hed img {
width: 100%;
height: auto;
}
header.smaller .subMenu li a { color: #333!important;}
/*--------------------*/

/*.headerWrap:before {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 71.4%;
height: 400px;
background: #dd0012;
}*/

.hedTitWrap {
height: calc(100% - 60px);
padding: 0;
}

.idxHedTit {
width: 100%;
height: 100%;
box-sizing: border-box;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.idxHedTitIn {
width: 65%;
z-index: 1000;
margin-left: 100px;
}

.idxHedTitIn h2 {
color: #fff;
font-size: 3.2vw;
line-height: 1.8;
width: 80%;
margin-bottom: 80px;
text-align: left;
margin-top: 100px;
position: relative;
}

.idxHedTitIn h2::before { 
position: absolute;
display: block;
content: "";
width: 300px;
height: 1px;
background: #fff;
left: 0;
bottom: -30px; 
}

.idxHedTitIn h2 span.sp02 { display: block; margin-left: -30px; margin-bottom: 35px; text-shadow: 5px 5px 10px rgb(0 0 0 / 50%); }
.idxHedTitIn h2 span.sp01 { font-size: 1.8vw; line-height: 2em; display: block; text-shadow: 5px 5px 10px rgb(0 0 0 / 50%); }
.idxHedTitIn p { font-size: 1.2vw; color: #fff; text-align: left; line-height: 1.8em;text-shadow: 5px 5px 10px rgb(0 0 0 / 50%); }

.idxHedTitIn h3 {
text-align: center;
color: #fff;
font-size: 2rem;
letter-spacing: 0.1em;
line-height: 1.5em;
text-shadow: 2px 2px 2px rgba(0,0,0,0.15);
}

.hedTitWrap {
height: 95vh;
}

.hedTitWrap {
position: absolute!important;
top: 0;
right: 0;
width: 100%;
/*width: calc(100% - 7.14286%);*/
}


/*---------------------*/
.headerWrap {
position: relative;
}

.vegas-slide {
width: 95%;
margin: auto 0 auto auto!important; 
height: 100% !important;
}

/*---------sldier---------------*/

.mainvisual-home {
position: relative;
width: 62%;
height: 100vh;
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
-webkit-transform: matrix(1, 0, -0.42, 1, 0, 0);
transform: matrix(1, 0, -0.42, 1, 0, 0);
z-index: 5;
-ms-flex-negative: 0;
flex-shrink: 0;
}
.mainvisual-home-inner {
position: relative;
height: 100vh;
overflow: hidden;
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
}

.mainvisual-home-bg {
position: absolute;
width: 100%;
height: 100%;
background-image: url(../images/slider/main_bg.jpg);
background-position: center;
background-size: cover;
background-repeat: no-repeat;
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
-webkit-transform: matrix(1, 0, 0.42, 1, 0, 0);
transform: matrix(1, 0, 0.42, 1, 0, 0);
}

/*--------------01-----------------*/
#idx_box01 { position: relative; }
.idx_en { position: absolute; top: -250px; left: -100px; font-size: 800px; color: #f2f2f2; font-weight: bolder; z-index: -1;  }



/*----------------index------------------------------------*/


.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 250px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.idx_box01_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.idx_box01_list li a:hover .photo_hover_wrap .photo {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.idx_txtbox_35l { width: 35%; float: left; }
.idx_imgbox_60r { width: 60%; float: right; }
.idx_txtbox_35r { width: 35%; float: right; }
.idx_imgbox_60l { width: 60%; float: left; }

/*-------idx_box01-------------*/

#idx_box01 { padding: 100px  0px 200px; position: relative; overflow: hidden; }
.idx_box01_img { width: 110%; margin-top: -50px; margin-left: -100px;  }
.idx_box01_img img { width: 100%; height: auto; }

.idx_tit { font-size: 18px; color: #000; margin-bottom: 30px; font-weight: bold; }
.idx_tit span.en  { display: block; font-weight: bold; font-size: 45px; color: #e60012; }
.idx_tit_c { font-size: 36px; color: #000; margin-bottom: 30px; text-align: center; }
.idx_tit2 { font-size: 36px; color: #fff; margin-bottom: 30px; text-align: center; }
.idx_subtit { font-size: 24px; color: #dd0012; padding-bottom: 15px; }
.idx_subtit2 { font-size: 24px; color: #fff; margin-bottom: 15px; text-align: center; }
.idx_txt { color: #000; font-size: 15px; text-align: left; line-height: 2.5em; margin-bottom: 50px; }
.idx_txt_c { color: #000; font-size: 15px; text-align: center; line-height: 2.5em; margin-bottom: 100px; }
.idx_txt2 { color: #fff; font-size: 15px; text-align: center; line-height: 2.5em; margin-bottom: 50px; }

.idx_btn01 { position: relative; color: #e60012; margin: 0 auto; }
.idx_btn01 a span::after { position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #e60012; font-weight: bold; right: -35px; top: 0px; font-size: 18px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a:hover span::after { right: -45px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a { display: block; color: #e60012; }

.idx_btn_tit { color: #e60012; font-size: 18px; font-weight: bold; line-height: 1.8em; }
.idx_btn_tit span.en { font-size: 20px; position: relative; }

.b_img { width: 100%; margin: 0 auto; }
.b_img img { width: 100%; height: auto; }

/*-------idx_box02-------------*/

#idx_box02 { margin: 0 auto; }

.idx_box02_bg { background: #212121;background-size: cover; padding: 50px 0px; }

#idx_box02 .idx_tit { margin-top: -150px; margin-bottom: 70px;  }
#idx_box02 .idx_subtit { color: #fff; }
#idx_box02 .idx_txt { color: #fff; }
#idx_box02 .idx_btn_tit { color: #fff!important; }
#idx_box02 .idx_btn_tit span::after { color: #fff; }

.idx_box02_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; margin-top: -150px; }
.idx_box02_list li { flex-basis: 50%; max-width: 50%; }

#idx_box02 .idx_txtbox_35r { width: 30%; padding-right: 5%;   }

.idx_box02_list_txtbox { padding: 30px; }
.idx_box02_list_tit { color: #fff; margin-bottom: 20px; font-size: 18px;  margin-top: 15px; text-align: center; line-height: 2em; }
.idx_box02_list_tit span { display: block; text-align: center; color: #fff; }
.idx_box02_list_tit span i { color: #fff; font-size: 18px;  }
.idx_box02_list_txt { color: #fff; }

.mix_s {
position: relative;
overflow: hidden;
height: 28vw;
}

.mix_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}
.mix_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.mix_01::before {
background: url(../images/index/b_img01.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.mix_02::before {
background: url(../images/index/b_img02.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.idx_box02_list_titbox { position: absolute; top: 50%; margin-top: -4.5vw; left: 0; right: 0; text-align: center; }
.idx_box02_list_icon { width: 120px; margin: 0 auto; }
.idx_box02_list_icon img { width: 100%; height: auto; }


/*-------------idx_box03-------------*/

#idx_box03 {  position: relative; overflow: hidden;  }
.idx_box03_bg { background: url(../images/index/c_bgimg.jpg) center center; background-size: cover; padding: 100px 0px; }
#idx_box03 .idx_tit { color: #fff; text-align: center; }
#idx_box03 .idx_subtit { color: #fff; text-align: center; }
#idx_box03 .idx_txt { color: #fff; text-align: center; }
#idx_box03 .idx_btn_tit { color: #fff!important; }
#idx_box03 .idx_btn_tit span::after { color: #fff; }
#idx_box03 .idx_btn01 { margin: 0 auto; text-align: center; }
.idx_box03_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 50px; }
.idx_box03_list li { flex-basis: 23.5%; max-width: 23.5%;  }
.idx_box03_list_tit { display: flex; flex-wrap: wrap; align-items: center; color: #fff;  margin-bottom: 15px; }
.idx_box03_list_tit span.num { flex-basis: 40px; height: 40px; border-radius: 40px; line-height: 40px; text-align: center; border: 1px solid #e60012; font-size: 16px; font-weight: bold; margin-right: 10px; color: #e60012; max-width: 40px;  }
.idx_box03_list_txt { text-align: left; color: #fff; }

.idx_box03_list2 { width: 100%; margin: 0 auto; display: flex; justify-content: space-between; margin-bottom: 50px; }
.idx_box03_list2 li { flex-basis: 285px; max-width: 285px; box-sizing: border-box; border-radius: 285px; height: 285px; background: rgba(230,0,18,0.2); box-sizing: border-box; align-items: center; display: flex; align-items: center; }
.idx_box03_list2 li div {  box-sizing: border-box; padding: 15px; height: 65%;}
.idx_box03_list_txt { align-items: center; font-size: 15px; line-height: 1.8em;  }
.idx_box03_list_tit2 { font-size: 18px; font-weight: bold; text-align: center; margin-bottom: 15px; color: #fff; }





/*-------idx_box04-------------*/

#idx_box04 { margin: 0 auto; padding: 100px 0px; background: rgba(230,0,18,0.08); }
#idx_box04 .idx_tit { text-align: center; }
#idx_box04 .idx_txt { text-align: center; }

.product_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.product_list li { margin-right: 2%; flex-basis: 23.5%; max-width: 23.5%; }
.product_list li:nth-child(4n+4) { margin-right: 0px; }
.product_list li:nth-child(n+5){ margin-top: 50px; }

.product_img { width: 50%; margin: 0 auto 20px; }
.product_img img { width: 100%; height: auto; }

.product_txt { margin-bottom: 20px; }

.product_detail { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.product_detail span { padding: 3px 8px; border-radius: 5px; background: #dd0012; color: #fff; margin-right: 5px;  margin-bottom: 5px; font-size: 12px; }
.product_detail span:last-child { margin-right: 0px; }
.product_detail span a { color: #fff; font-size: 14px; display: block; font-weight: bold; }
#idx_box04 .idx_btn01 a { text-align: right!important; margin-top: 30px; }

/*-------idx_box05-------------*/
#idx_box05 { padding: 100px  0px; position: relative; overflow: hidden;  }
.idx_en_recruit { position: absolute; right: -100px; left: auto;  }
.idx_en_recruit { position: absolute; right: -80px; top: 0px;  left: auto; font-size: 200px; color: #f2f2f2; font-weight: bolder; letter-spacing: -0.08em; line-height: 1em;  z-index: -1; -webkit-transform: rotate(-90deg);
-moz-transfrom: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg); }
#idx_box05 .idx_imgbox_60l { position: relative; }
#idx_box05 .idx_box05_logo { position: absolute; width: 500px; left: -300px; top: 50px; z-index: -100; }
#idx_box05 .idx_box05_logo img { width: 100%; height: auto; }

/*-----idx_box06---------*/
#idx_box06 { margin: 0 auto; margin-bottom: 100px; width: 100%; margin-top: 100px; }
#idx_box06 .idx_tit { text-align: center; }
#idx_box06 .idx_txt { text-align: center; }
.topics { width: 100%; margin: 0 auto; }
.topics dl:nth-child(2n+1) { background: #fff; padding: 20px; }
.topics dl:nth-child(2n+2) { background: #f3f3f3; padding: 20px; }
.topics dl dt { float: left; width: 30%; }
.topics dl dd { float: right; width: 65%; }
.topics dl dd span.info { padding: 3px 7px; background: #dd0012; color: #fff; font-weight: bold; margin-right: 10px; border-radius: 3px; }
.topics dl dd span.catalog { padding: 3px 7px; background: #454545; color: #fff;  font-weight: bold; margin-right: 10px; border-radius: 3px; }


/*-------idx_box07-------------*/
#idx_box07 { margin: 0 auto 0px; width: 48%; float: right; margin-bottom: 100px; }
#idx_box07 .idx_tit { text-align: center; }
#idx_box07 .idx_txt { text-align: center; }

.facebook_box { width: 100%; margin: 0 auto; text-align: center; }
.fb-page { width: 100%; margin: 0 auto; }
/*------------topick-----------*/

.scroll-box {
width:98%;
overflow: auto;
-webkit-overflow-scrolling: touch;  /* 髫ｲ・ｷ繝ｻ・｣髫ｲ・､繝ｻ・ｧ驛｢・ｧ繝ｻ・ｹ驛｢・ｧ繝ｻ・ｯ驛｢譎｢・ｽ・ｭ驛｢譎｢・ｽ・ｼ驛｢譎｢・ｽ・ｫ */
padding: 1%;
height: 300px;
}

.scroll-box::-webkit-scrollbar {
height: 5px;
}

.scroll-box::-webkit-scrollbar-track {
border-radius: 0px;
background: #EEEEEE;
}

.scroll-box::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #666666;
}


.m_business { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; overflow: hidden; }
.m_businessL { flex-basis: 60%; max-width: 60%; }
.m_businessR { flex-basis: 40%; max-width: 40%; padding: 100px; box-sizing: border-box; position: relative; z-index: 10; }
.m_businessR::before {
content: "";
display: block;
background: #fff;
position: absolute;
width: 100%;
height: 190%;
top: -50px;
right: -150px;
-webkit-transform: rotate(
-15deg
);
-ms-transform: rotate(-15deg);
transform: rotate(
-15deg
);
z-index: 0;
}
.m_businessR .idx_tit { position: relative; z-index: 10; }
.m_businessR .idx_txt { position: relative; z-index: 10; }
.m_businessR .idx_subtit { position: relative; z-index: 10; }
.m_businessR .idx_btn01 { position: relative; z-index: 10; }
.m_business_tit { font-size: 20px; font-weight: bold; display: block;  margin-bottom: 15px; }
.m_business_tit span { color: #dd0012; display: block; font-size: 10px; }
.m_business_txt { margin-bottom: 15px; }
.m_business_img { width: 100%; margin: 0 auto; position: relative; height: 100%; }
.m_business_img::before {
content: "";
display: block;
background: url("../images/index/m_bg.jpg") center center; 
background-size: cover;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.m_business_img img { width: 100%; height: auto; }

#idx_box00 { position: relative; }
.idx_en2 { position: absolute; top: -100px; left: -100px; font-size: 600px; color: #f2f2f2; font-weight: bolder; z-index: -1;  }










}





/*----------------------------------------------------*/





/*sp*/
@media only screen and (max-width: 767px) {
#header {
background-color: rgba(255,255,255,1.00)
}

.arrowWrap { display: none; }

.headerWrap { position: relative; }

.headerWrap:before {
content: "";
position: absolute;
bottom: -50px;
right: 0;
width: 71.4%;
height: 400px;
/*background-image: linear-gradient(-225deg, #20E2D7 0%, #F9FEA5 100%);*/
background: #dd0012;
}

.hedTitWrap {
height: calc(100% - 60px);
padding: 0;
width: 100%;
}

.idxHedTit {
width: 100%;
height: 100%;
box-sizing: border-box;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.idxHedTitIn {
width: 90%;
position: relative; 
z-index: 100;
padding-left: 3%;
}

.idxHedTitIn h2 { color: #fff; margin-bottom: 45px; position: relative; line-height: 2em; }
.idxHedTitIn h2::before { 
position: absolute;
display: block;
content: "";
width: 90%;
height: 1px;
background: #fff;
left: 0;
bottom: -15px; 
}
.idxHedTitIn h2 span.sp01 { font-size: 3vw; display: block; }
.idxHedTitIn h2 span.sp02 { font-size: 5vw; display: block; }
.idxHedTitIn p { font-size: 12px; color: #fff; text-align: left; line-height: 1.8em; width: 70%; }

.idxHedTitIn h3 {
text-align: center;
color: #fff;
font-size: 2rem;
letter-spacing: 0.1em;
line-height: 1.5;
text-shadow: 2px 2px 2px rgba(0,0,0,0.15);

}
.hedTitWrap {
height: 500px;
position: absolute!important;
top: 60px;
right: 0; 
}

.hedTitWrap {
width: calc(100% - 5%);
}


/*---------------------*/
.headerWrap {
position: relative;
}

.vegas-slide {
height: 100% !important;
}

.logo_Hed_index { display: none; }

/*--------slider------------*/


/*---------sldier---------------*/

.mainvisual-home {
position: relative;
width: 65.6446559%;
height: 500px;
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
-webkit-transform: matrix(1, 0, -0.42, 1, 0, 0);
transform: matrix(1, 0, -0.42, 1, 0, 0);
z-index: 5;
-ms-flex-negative: 0;
flex-shrink: 0;
}
.mainvisual-home-inner {
position: relative;
height: 500px;
overflow: hidden;
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
}

.mainvisual-home-bg {
position: absolute;
width: 100%;
height: 100%;
background-image: url(../images/slider/main_bg.jpg);
background-position: center;
background-size: cover;
background-repeat: no-repeat;
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
-webkit-transform: matrix(1, 0, 0.42, 1, 0, 0);
transform: matrix(1, 0, 0.42, 1, 0, 0);
}

/*--------------01-----------------*/
#idx_box01 { position: relative; }
.idx_en { position: absolute; top: -150px; left: -100px; font-size: 600px; color: #f2f2f2; font-weight: bolder; z-index: -1;  }
/*----------------index------------------------------------*/

.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 250px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.idx_box01_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.idx_box01_list li a:hover .photo_hover_wrap .photo {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.photo_hover_wrap0 img {
width: 100%;
height: auto;
}

.photo_hover_wrap0 {
display: block;
height: 250px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap0 .photo0 {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.idx_box00_list li a:hover .photo_hover_wrap0 {
text-decoration: none;
cursor: pointer;
}
.idx_box00_list li a:hover .photo_hover_wrap0 .photo0 {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}


.idx_txtbox_35l { width: 100%; margin: 0 auto; }
.idx_imgbox_60r { width: 100%; margin: 0 auto; }
.idx_txtbox_35r { width: 100%; margin: 0 auto; }
.idx_imgbox_60l { width: 100%; margin: 0 auto; }


/*-------idx_box01-------------*/

#idx_box01 { padding: 100px  0px; position: relative; overflow: hidden; margin-bottom: 70px; }
.idx_box01_img { width: 100%; margin: 0 auto 30px; }
.idx_box01_img img { width: 100%; height: auto; }

.idx_tit { font-size: 16px; color: #000; margin-bottom: 30px; font-weight: bold; }
.idx_tit span.en  { display: block; font-weight: bold; font-size: 30px; color: #e60012; }
.idx_tit_c { font-size: 36px; color: #000; margin-bottom: 30px; text-align: center; }
.idx_tit2 { font-size: 36px; color: #fff; margin-bottom: 30px; text-align: center; }
.idx_subtit { font-size: 18px; color: #dd0012; padding-bottom: 15px; }
.idx_subtit2 { font-size: 18px; color: #fff; margin-bottom: 15px; text-align: center; }
.idx_txt { color: #000; font-size: 14px; text-align: left; line-height: 2.5em; margin-bottom: 50px; }
.idx_txt_c { color: #000; font-size: 14px; text-align: center; line-height: 2.5em; margin-bottom: 100px; }
.idx_txt2 { color: #fff; font-size: 14px; text-align: center; line-height: 2.5em; margin-bottom: 50px; }

.idx_btn01 { position: relative; color: #e60012; margin: 0 auto;  }
.idx_btn01 a span::after { position: absolute; display: block; content: "\f0a9"; font-family: "Font Awesome 5 Free"; color: #e60012; font-weight: bold; right: -35px; top: 0px; font-size: 18px;  -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a:hover span::after { right: -45px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.idx_btn01 a { display: block; color: #e60012; }

.idx_btn_tit { color: #e60012; font-size: 18px; font-weight: bold; line-height: 1.8em; text-align: right; margin-right: 40px; }
.idx_btn_tit span.en { font-size: 20px; position: relative; }

.b_img { width: 100%; margin: 0 auto; }
.b_img img { width: 100%; height: auto; }

/*-------idx_box02-------------*/

#idx_box02 { margin: 0 auto; }

.idx_box02_bg { background: #212121;background-size: cover; padding: 50px 2%;}

#idx_box02 .idx_tit { margin-top: -150px; margin-bottom: 70px;  }
#idx_box02 .idx_subtit { color: #fff; }
#idx_box02 .idx_txt { color: #fff; }
#idx_box02 .idx_btn_tit { color: #fff!important; }
#idx_box02 .idx_btn_tit span::after { color: #fff; }

.idx_box02_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.idx_box02_list li { width: 100%; }

#idx_box02 .idx_txtbox_35r { width: 100%;  }

.idx_box02_list_txtbox { padding: 30px; }
.idx_box02_list_tit { color: #fff; margin-bottom: 20px; font-size: 18px;  }
.idx_box02_list_txt { color: #fff; }
.idx_box02_list_tit span { display: block; text-align: center; color: #fff; }
.idx_box02_list_tit span i { color: #fff; font-size: 18px;  }
.mix_s {
position: relative;
overflow: hidden;
height: 70vw;
}

.mix_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}
.mix_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.mix_01::before {
background: url(../images/index/b_img01.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.mix_02::before {
background: url(../images/index/b_img02.jpg) center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

.idx_box02_list_titbox { position: absolute; top: 50%; margin-top: -15vw; left: 0; right: 0; text-align: center; }
.idx_box02_list_icon { width: 90px; margin: 0 auto; }
.idx_box02_list_icon img { width: 100%; height: auto; }


/*-------------idx_box03-------------*/

#idx_box03 {  position: relative; overflow: hidden;  }
.idx_box03_bg { background: url(../images/index/c_bgimg.jpg) center center; background-size: cover; padding: 100px 0px; }
#idx_box03 .idx_tit { color: #fff; }
#idx_box03 .idx_subtit { color: #fff;}
#idx_box03 .idx_txt { color: #fff; }
#idx_box03 .idx_btn_tit { color: #fff!important; }
#idx_box03 .idx_btn_tit span::after { color: #fff; }

.idx_box03_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 50px; }
.idx_box03_list li { flex-basis: 100%; max-width: 100%;  }
.idx_box03_list li:nth-child(n+2) { margin-top: 20px; }
.idx_box03_list_tit { display: flex; flex-wrap: wrap; align-items: center; color: #fff;  margin-bottom: 10px; }
.idx_box03_list_tit span.num { flex-basis: 40px; height: 40px; border-radius: 40px; line-height: 40px; text-align: center; border: 1px solid #e60012; font-size: 16px; font-weight: bold; margin-right: 10px; color: #e60012; }
.idx_box03_list_txt { text-align: left; color: #fff; }

.idx_box03_list2 { width: 100%; margin: 0 auto; margin-bottom: 50px; }
.idx_box03_list2 li { flex-basis: 100%; max-width: 100%; padding: 15px; background: rgba(230,0,18,0.2); box-sizing: border-box; }
.idx_box03_list2 li:nth-child(n+2) { margin-top: 20px; }
.idx_box03_list2 li div { box-sizing: border-box; padding: 15px; }
.idx_box03_list_txt { align-items: center; font-size: 14px; line-height: 1.8em; }
.idx_box03_list_tit2 { font-size: 16px; font-weight: bold; text-align: center; margin-bottom: 15px; color: #fff; }




/*-------idx_box04-------------*/

#idx_box04 { margin: 0 auto; padding: 50px 0px; background: rgba(230,0,18,0.08); }
#idx_box04 .idx_tit { text-align: center; }
#idx_box04 .idx_txt { text-align: center; }

.product_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.product_list li { width: 100%; display: flex; flex-wrap: wrap; align-items: center; }
.product_list li:nth-child(n+2){ margin-top: 30px; }


.product_img { flex-basis: 30%; margin: 0 auto 20px; margin-right: 5%; }
.product_img img { width: 100%; height: auto; }
.product_txtbox { flex-basis: 65%}

.product_txt { margin-bottom: 20px; }

.product_detail { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.product_detail span { padding: 3px 8px; border-radius: 5px; background: #dd0012; color: #fff; margin-right: 5px;  margin-bottom: 5px; font-size: 12px;  }
.product_detail span:last-child { margin-right: 0px; }
.product_detail span a { color: #fff; font-size: 12px; display: block; font-weight: bold; }



/*-------idx_box05-------------*/
#idx_box05 { padding: 100px  0px; position: relative; overflow: hidden;  }
#idx_box05 .idx_en { position: absolute; right: -100px; left: auto;  }
#idx_box05 .idx_imgbox_60l { position: relative; }
#idx_box05 .idx_box05_logo { position: absolute; width: 500px; left: -300px; top: 50px; z-index: -100; }
#idx_box05 .idx_box05_logo img { width: 100%; height: auto; }
.idx_box05_img { margin-bottom: 50px; }
.idx_en_recruit { position: absolute; right: -100px; left: auto;  }
.idx_en_recruit { position: absolute; right: -80px; top: 0px;  left: auto; font-size: 200px; color: #f2f2f2; font-weight: bolder; letter-spacing: -0.08em; line-height: 1em;  z-index: -1; -webkit-transform: rotate(-90deg);
    -moz-transfrom: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg); }


/*-----idx_box06---------*/
#idx_box06 { margin: 0 auto; margin-bottom: 100px;  margin-top: 100px; }
#idx_box06 .idx_tit { text-align: center; }
#idx_box06 .idx_txt { text-align: center; }

.topics { width: 100%; margin: 0 auto; }
.topics dl:nth-child(2n+1) { background: #fff; padding: 20px; }
.topics dl:nth-child(2n+2) { background: #f3f3f3; padding: 20px; }
.topics dl dt { float: left; width: 30%; }
.topics dl dd { float: right; width: 65%; }
.topics dl dd span { display: block; }
.topics dl dd span.info { padding: 3px 7px; background: #dd0012; color: #fff; font-weight: bold; margin-right: 10px; border-radius: 3px; font-size: 12px; width: 70px; text-align: center; }
.topics dl dd span.catalog { padding: 3px 7px; background: #454545; color: #fff;  font-weight: bold; margin-right: 10px; border-radius: 3px; font-size: 12px; width: 70px; text-align: center; }
/*-------idx_box07-------------*/
#idx_box07 { margin: 0 auto; margin-bottom: 100px;  }
#idx_box07 .idx_tit { text-align: center; }
#idx_box07 .idx_txt { text-align: center; }

.facebook_box { width: 100%; margin: 0 auto; max-width: 300px; text-align: center; }




/*------------topick-----------*/


.scroll-box {
width:98%;
overflow: auto;
-webkit-overflow-scrolling: touch;  /* 髫ｲ・ｷ繝ｻ・｣髫ｲ・､繝ｻ・ｧ驛｢・ｧ繝ｻ・ｹ驛｢・ｧ繝ｻ・ｯ驛｢譎｢・ｽ・ｭ驛｢譎｢・ｽ・ｼ驛｢譎｢・ｽ・ｫ */
padding: 1%;
height: 200px;
}

.scroll-box::-webkit-scrollbar {
height: 5px;
}

.scroll-box::-webkit-scrollbar-track {
border-radius: 0px;
background: #EEEEEE;
}

.scroll-box::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #666666;
}

.m_business { width: 100%; margin: 0 auto; margin: 70px auto;  }
.m_businessL { width: 100%; margin: 0 auto; }
.m_businessR { width: 95%; margin: 0 auto; box-sizing: border-box; position: relative; }
.m_business_tit { font-size: 16px; font-weight: bold; display: block;  margin-bottom: 15px; }
.m_business_tit span { color: #dd0012; display: block; font-size: 10px; }
.m_business_txt { margin-bottom: 15px; }
.m_business_img { background: url("../images/index/m_bg.jpg") center center; background-size: cover; width: 100%; height: 100%; min-height: 450px; }

.m_businessR .idx_tit { position: relative; z-index: 10; }
.m_businessR .idx_txt { position: relative; z-index: 10; margin-bottom: 30px;  }
.m_businessR .idx_subtit { position: relative; z-index: 10; }
.m_businessR .idx_btn01 { position: relative; z-index: 10; }

.m_businessR::before {
content: "";
display: block;
background: #fff;
position: absolute;
width: 250%;
height: 120px;
bottom: -10px;
right: 0;
left: -50px;
-webkit-transform: rotate( 
-10deg
);
-ms-transform: rotate(-10deg);
transform: rotate( 
-10deg
);
z-index: 0;
}











}