@charset "utf-8";
/* CSS Document */
/* 1em = 16px
・︎PC版サイズ／アートボード幅1440px／コンテンツ幅1200px
・︎SP版サイズ／アートボード幅375px／コンテンツ幅345px
・︎使用フォント／BIZ-UDPGothic
*/



/* スクロールフェードイン用のCSS */
.slide-bottom {
    opacity: 0;
    transform: translateY(100px);
    transition: all 0.8s 0s ease-out;
}

.anchor{display: block;
   margin-top:-94px;
   padding-top:94px;
}
@media screen and (max-width: 540px) {
    .anchor{display: block;
       margin-top:0px;
       padding-top:0px;
    }
}


/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time02{
animation-delay: 1.0s;
}
.delay-time03{
animation-delay: 2.0s;
}
/* 動き自体の指定 */
.fadeUpTrigger{
	opacity: 0;
}
.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
    transition: all 0.8s 0s ease-out;
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}


/* TOPの背景画像 */
#TOP{text-align: center;}
#TOP article{
    display: block;
    border: 0px solid green;
    position: relative;
    margin: auto;
    overflow: hidden;
    
    animation: back_fadeIn 3s ease 0s 1 normal;
    -webkit-animation: back_fadeIn 3s ease 0s 1 normal;
}
@keyframes back_fadeIn {0% {opacity: 0}100% {opacity: 1}}
@-webkit-keyframes back_fadeIn {0% {opacity: 0}100% {opacity: 1}}



/* section */
#TOP article section{display: block; width: 100%; margin: auto; text-align: center;}
@media screen and (max-width: 920px) {
   
}
#TOP article section .outline{max-width: 1200px; width:100%;  margin: auto; padding: 0 10px;}
@media screen and (max-width: 1200px) {
    #TOP article section .outline{width: calc(100% - 20px);}
}
/* #TOP ---------------------------------------------------------------------------------------------------------- */



/* section1 */
#TOP article section#top_section_01{
background: url("img/top_section_01_bg.svg");
background-repeat:repeat-x;
/*background-size: 697px 696px;*/
background-position: bottom center;
display: block; height: 1141px; text-align: center;
animation: fadein-bottom 3s ease 0s 1 normal; -webkit-animation: fadein-bottom 3s ease 0s 1 normal;
}
@keyframes fadein-bottom {
   0% {opacity: 0; transform: translateY(20px);}  
   100% {opacity: 1; transform: translateY(0);}
}

#TOP article section h1 {font-size:1.75em; font-weight: bold; text-align: left; color: #FFF; 
    text-shadow: 2px 3px 3px rgba(0,0,0,0.7);}
#TOP article section h2 {font-size:2.8em; font-weight: bold; text-align: center; color: #FFF; 
    text-shadow: 2px 3px 3px rgba(0,0,0,0.3);}
#TOP article section h3 {font-size:1.8em; font-weight: bold; text-align: center; color: #FFF;}



#TOP article section#top_section_01{position: relative; height: 1141px;}
#TOP article section#top_section_01 .video{background: #000; width: 100%; height: 445px; overflow: hidden;}
#TOP article section#top_section_01 .video video{ width: 100%; height: auto;}
#TOP article section#top_section_01 .img_01{position: absolute; top:0; left: 0; width: 53%; height: auto;}
#TOP article section#top_section_01 .img_02{position: absolute; bottom:0; right: 0; width: 53%; height: auto;}


#TOP article section#top_section_01 .outline{position: relative; z-index: 5; top:-240px;}
#TOP article section#top_section_01 .outline h1{margin-bottom: 92px;}
#TOP article section#top_section_01 .outline .top_logo{margin-bottom: 140px;}
#TOP article section#top_section_01 .outline h2{margin-bottom: 30px;}
#TOP article section#top_section_01 .outline p{color: #FFF; margin-bottom: 30px;}


#TOP article section#top_section_02{position: relative; height: 760px; margin-bottom: 100px; text-align: center;}
#TOP article section#top_section_02 .img_bg2{position: absolute; left: 0;}
#TOP article section#top_section_02 .outline{position: absolute; top:-300px; left: calc(50% - 600px); margin: auto;}
#TOP article section#top_section_02 .outline .top_parts{width: 1440px; height: auto; margin-bottom: 50px;}
@media screen and (max-width: 1200px) {
   #TOP article section#top_section_02 .outline{position: absolute; top:-300px; left: 0; margin: auto;}
}

#TOP article section#top_section_02 .outline .img_sec2_01{margin: auto auto 50px;}
#TOP article section#top_section_02 .outline h2{margin-bottom: 30px;}
#TOP article section#top_section_02 .outline p{color: #ffb800; font-size: 1.8em; font-weight: bold; margin-bottom: 30px;}

@media screen and (max-width: 980px) {
    #TOP article section h2 {font-size:2.2em;}
}

@media screen and (max-width: 830px) {
    #TOP article section h1 {font-size:1.4em; margin-bottom: 92px; text-align: center;}
    #TOP article section h2 {font-size:1.4em;}
    
    #TOP article section#top_section_01{height: 1000px;}
    #TOP article section#top_section_01{background-size: auto 600px; height: auto;}
    #TOP article section#top_section_01 .video video{ width: 120%; height: auto;}
    #TOP article section#top_section_01 .outline{top:-300px;}
    #TOP article section#top_section_01 .outline .top_logo{width: 650px; height: auto; position: relative; left: 10px; margin-bottom: 80px;}
    #TOP article section#top_section_01 .img_02{position: absolute; top:245px; right: 0; width: 200px; height: auto;}
    
    
    #TOP article section#top_section_02{height: 580px; margin-bottom: 0;}
    #TOP article section#top_section_02 .outline{position: absolute; top:-340px;}
    #TOP article section#top_section_02 .outline p{font-size: 1.2em;}
    #TOP article section#top_section_02 .img_bg2{position: absolute; top:-70px; width: auto; height: 550px;}
    #TOP article section#top_section_02 .outline .top_parts{width: 105%; height: auto; margin-bottom: 50px;}
    #TOP article section#top_section_02 .outline .img_sec2_01{width: 70%; height: auto; margin: auto auto 50px;}
}



@media screen and (max-width: 700px) {
    #TOP article section#top_section_01{background-size: auto 500px; height: auto;}
    #TOP article section#top_section_01 .video video{ width: auto; height: 100%;}
    
    #TOP article section#top_section_02{position: relative; height: 670px; margin-bottom: 0px; text-align: center;}
    #TOP article section#top_section_02 .outline {top:-340px;}
    #TOP article section#top_section_02 .outline .top_parts {width: 150%;}
    #TOP article section#top_section_02 .img_bg2{position: absolute; top:-30px; width: 170%; height: auto;}
    #TOP article section#top_section_02 .outline p{font-size: 1.2em;}
    #TOP article section#top_section_02 .outline .img_sec2_01{width: 90%; height: auto;}
    #TOP article section#top_section_02 .outline .img_sec2_02{width: 70%; height: auto;}
    
    
    
}
@media screen and (max-width: 600px) {
    #TOP article section#top_section_02{height: 570px; margin-bottom: 0;}
}

@media screen and (max-width: 500px) {
    #TOP article section#top_section_02{height: 450px; margin-bottom: 0;}
    #TOP article section#top_section_02 .img_bg2{position: absolute; top:-120px; width: auto; height: 500px;}
    #TOP article section#top_section_02 .img_bg2{position: absolute; top:-120px; width: 200%; height: auto;}
    #TOP article section#top_section_02 .outline .img_sec2_01{width: 90%; height: auto; margin: auto auto 50px;}
    #TOP article section#top_section_02 .outline p+img{width: 70%; height: auto;}
    
}

@media screen and (max-width: 450px) {
    #TOP article section#top_section_02{height: 430px; margin-bottom: 0;}
}

@media screen and (max-width: 400px) {
    #TOP article section#top_section_02{height: 340px; margin-bottom: 0;}
}
/*
@media screen and (max-width: 460px) {
    #TOP article section#top_section_01{height: auto;}
    #TOP article section#top_section_01 .outline{top:-240px;}
    #TOP article section#top_section_01 .video{background: #000; width: 100%; height: 345px;}
    #TOP article section#top_section_01 .img_02{position: absolute; top:76px; right: 0; width: 200px; height: auto;}
    #TOP article section h1 {font-size:1.4em; margin-bottom: 70px!important; text-align: center;}
    #TOP article section#top_section_01 .outline .top_logo{width: 600px; height: auto; position: relative; left: 10px;}
}

*/



#TOP article section#top_section_03{text-align: center;}
#TOP article section#top_section_03 ul{display: flex; justify-content: center;}
#TOP article section#top_section_03 ul li{display: flex; justify-content: center; align-items: center; color: #FFF; border-radius: 15px; width: 584px; height: 120px; font-size: 1.62em; margin: auto 20px; }
#TOP article section#top_section_03 ul li:nth-child(1){background: #00A3FF;}
#TOP article section#top_section_03 ul li:nth-child(2){background: #0057FF;}
#TOP article section#top_section_03 .img_sec3_01{width: 100%; height: auto; margin-bottom: 50px;}

@media screen and (max-width: 980px) {
    #TOP article section#top_section_03 ul li{font-size: 1.42em; margin: auto 20px;}
}
@media screen and (max-width: 850px) {
    #TOP article section#top_section_03 ul{flex-wrap: wrap;}
    #TOP article section#top_section_03 ul li{width: 90%; height: 76px; font-size: 1.12em; margin: auto auto 20px;}
}



#TOP article section#top_section_04{
background: url("img/top_section_04_01.svg");
background-repeat:repeat-x;
background-position: bottom center;
background-size: auto 100%;
display: block; height: 3365px; text-align: center;
}

#TOP article section#top_section_04 .img_sec4_bk_01{position: relative; top:860px; mix-blend-mode:multiply;}
#TOP article section#top_section_04 .img_sec4_bk_02{position: relative; top:1080px; }

#TOP article section#top_section_04 .outline{position: relative; top:-1710px;}
#TOP article section#top_section_04 .outline h2{line-height: 140%; margin-bottom: 1em;}
#TOP article section#top_section_04 .outline p{line-height: 200%; text-align: left; color: #FFF; font-size: 1.1em;}
#TOP article section#top_section_04 .outline .img_sec4_04{margin: 90px auto;}

#TOP article section#top_section_04 .outline .new_tech_lst{display: flex; justify-content: space-between; margin-top: 150px;}
#TOP article section#top_section_04 .outline .new_tech_lst dl{width: 379px; height: auto;}
#TOP article section#top_section_04 .outline .new_tech_lst dl dt{position: relative; background: rgba(0,0,0,0.8); text-align: center; height: 230px; border-bottom: 12px solid #FFB800; color: #FFF; display: flex; justify-content: center; align-items: center;  font-size: 1.6em; padding: 0 10px; width: calc(100% - 20px);}
#TOP article section#top_section_04 .outline .new_tech_lst dl dt img{position: absolute; top:-40px; left: calc(50% - 44px);}
#TOP article section#top_section_04 .outline .new_tech_lst dl dd{background: #f5f5f7; text-align: center; padding: 30px 0 0; height: calc(609px - 60px);  font-size: 1.25em;}
#TOP article section#top_section_04 .outline .new_tech_lst dl dd ul{
width: calc(90% - 1em); height: 308px; margin-left: 2em; }
#TOP article section#top_section_04 .outline .new_tech_lst dl dd ul li{
margin-bottom: 1em; text-align: left; list-style: disc;}
#TOP article section#top_section_04 .outline .new_tech_lst dl dd img{width: 379px; height: 261px; object-fit: cover;}

#TOP article section#top_section_04 .outline .img_sec4_04_sp{display: none;}
@media screen and (max-width: 1200px) {
    #TOP article section#top_section_04 .outline .img_sec4_04{margin: 90px auto; position: relative; left: calc(50% - 600px);}
}
@media screen and (max-width: 1180px) {
    #TOP article section#top_section_04{height: 3650px;}
    #TOP article section#top_section_04 .outline .new_tech_lst{width: 100%;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl{width: 30%; height: auto;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dd{height: 480px;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dd ul{height: 450px;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dd img{width: 100%; height: auto;}
}


@media screen and (max-width: 800px) {
    #TOP article section#top_section_04 .outline .img_sec4_04{display: none;}
    #TOP article section#top_section_04 .outline .img_sec4_04_sp{display: block; margin: 50px auto; }
}
@media screen and (max-width: 730px) {
    #TOP article section#top_section_04 .outline{position: relative; top:-1770px;}
    #TOP article section#top_section_04 .img_sec4_bk_01{position: relative; top:880px; mix-blend-mode:multiply;}
    #TOP article section#top_section_04 .img_sec4_bk_02{position: relative; top:500px; }
    
    #TOP article section#top_section_04 .outline .new_tech_lst{width: 100%; flex-wrap: wrap; justify-content: center; margin-top: 100px;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl{width: 90%; height: auto; margin-bottom: 100px;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dt{height: auto; padding: 50px 10px;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dd{height: auto;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dd img{width: 100%; height: 85px; object-fit: cover; position: relative; top:10px;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl ul{height: auto!important; margin-bottom: 30px;}
}

@media screen and (max-width: 430px) {
    #TOP article section#top_section_04{height: 3600px;}
    #TOP article section#top_section_04 .outline .img_sec4_04_sp{width: 100%; height: auto;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl{width: 90%; height: auto; margin-bottom: 70px;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dt{font-size: 1.4em;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dd{font-size: 1.0em;}
    #TOP article section#top_section_04 .outline .new_tech_lst dl dt img{position: absolute; top:-50px; }
    
}


#TOP article section#top_section_05{padding: 130px 0 65px;}
#TOP article section#top_section_05 ul.insert_nut{display: flex; justify-content: center; margin-bottom: 30px;}
#TOP article section#top_section_05 ul.insert_nut li{font-size: 1.6em; color: #FFF; padding: 10px 30px; margin: 0 10px; border-radius: 6px;}
#TOP article section#top_section_05 ul.insert_nut li:nth-child(1){background: #FFB800;}
#TOP article section#top_section_05 ul.insert_nut li:nth-child(2){background: #00A3FF;}

#TOP article section#top_section_05 h2{color: #1d1d1f; text-shadow: 2px 3px 3px rgba(0,0,0,0.0); margin-bottom: 65px;}

#TOP article section#top_section_05 ul.insert_nut_cv{display: flex; justify-content: center; margin-bottom: 80px;}
#TOP article section#top_section_05 ul.insert_nut_cv li{width: calc(580px - 20px); /*height: 190px;*/ border: 4px solid #0057FF; text-align: center; padding: 20px; margin: 0 18px; border-radius: 16px;}
#TOP article section#top_section_05 ul.insert_nut_cv li h3{background: #1d1d1f; color: #FFF; padding: 2px 20px; text-align: center; display: inline-block; font-size: 1em; border-radius: 2px; margin-bottom: 20px;}

#TOP article section#top_section_05 ul.insert_nut_cv li dl dt{font-size: 2em; font-weight: bold; margin-bottom: 10px;}
#TOP article section#top_section_05 ul.insert_nut_cv li dl dd p{margin-bottom: 20px;}

@media screen and (max-width: 650px) {
    #TOP article section#top_section_05 ul.insert_nut{display: flex; flex-wrap: wrap;}
    #TOP article section#top_section_05 ul.insert_nut li{width: 60%; margin: auto auto 10px; font-size: 1.2em;}
    
    #TOP article section#top_section_05 ul.insert_nut_cv{display: flex; flex-wrap: wrap;}
    #TOP article section#top_section_05 ul.insert_nut_cv li{width: 80%; margin: auto auto 20px;}
}

@media screen and (max-width: 430px) {
    #TOP article section#top_section_05{padding: 70px 0 65px}

}


#TOP article section#top_section_05 ul.insert_nut_cv li dl dt{font-size: 1.6em; font-weight: bold; margin-bottom: 10px;}
#TOP article section#top_section_05 ul.insert_nut_cv li dl dd p{height: 2em;}

#TOP article section#top_section_05 ul.insert_nut_cv li dl dd p.label_orange,
#TOP article section#top_section_05 ul.insert_nut_cv li dl dd p.label_blue,
#TOP article section#top_section_05 ul.insert_nut_cv li dl dd p.label_none{background: #FFB800; color: #FFF; font-size: 1.4em; border-radius: 16px; display: inline-block; margin: auto; padding: 2px 30px; height: auto; margin-bottom: 10px;}

 #TOP article section#top_section_05 ul.insert_nut_cv li dl dd p.label_blue{background: #0057FF!important;}

 #TOP article section#top_section_05 ul.insert_nut_cv li dl dd p.label_none{background: none; padding: 0px 30px; height: 0px;}
#TOP article section#top_section_05 ul.insert_nut_cv li dl dd p.label_none + p{margin-bottom: 35px;}



#TOP article section#top_section_news{padding: 50px 0; position: relative;}
#TOP article section#top_section_news h2{color: #222;}
#TOP article section#top_section_news h2 + p{width: 90%; margin: auto; text-align: right;}
#TOP article section#top_section_news h2 + p a{color: #222;}

#TOP article section#top_section_news #NEWS{border: 1px solid #ddd; width: calc(90% - 60px);  padding: 30px; margin: auto;}

#TOP article section#top_section_news ul{width: 100%;  margin: auto;}

#TOP article section#top_section_news ul li{width: 100%; display: flex; margin-bottom: 50px; word-wrap: break-word;}
#TOP article section#top_section_news ul li:last-child{margin-bottom: 0;}
#TOP article section#top_section_news ul li .img_eyecatch{width: 250px; height: 200px; object-fit: contain;}
#TOP article section#top_section_news ul li .img_eyecatch img{width: 100%; height: auto;}
#TOP article section#top_section_news ul li .contents{width: calc(100% - 250px - 30px); padding: 0 10px 0 20px; text-align: left;}
#TOP article section#top_section_news ul li .contents p.datetime{margin-bottom: 10px;}
#TOP article section#top_section_news ul li .contents p.title{font-weight: bold; font-size: 1.2em; margin-bottom: 10px;}

#TOP article section#top_section_news ul li a{color: #00A4F7!important;}

@media screen and (max-width: 880px) {
    #TOP article section#top_section_news ul li{width: 100%; display: flex; flex-wrap: wrap; margin-bottom: 50px;}
    #TOP article section#top_section_news ul li .img_eyecatch{width: 250px; height: auto; margin: auto auto 10px 0;}
    #TOP article section#top_section_news ul li .contents{width:100%; padding: 0 0px 0 0px; text-align: left;}
}

