@charset "UTF-8";
/* CSS Document */
@keyframes zoomUp {
0% {
transform: scale(1);
}
100% {
transform: scale(1.15);
}
}


@keyframes txtloop {
0% {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}

@keyframes txtloop2 {
0% {
transform: translateX(0);
}
to {
transform: translateX(-200%);
}
}

/*PC*/
@media print, screen and (min-width: 768px) {
#business {
position:relative;
margin: 0 auto;
}

#business .section_wrap{
width: 100%;
margin: 0 auto;
}

#business .img_block{
width:calc(100% - 100px);
margin: 0 auto;
box-sizing: border-box;
position: relative;
}

#business .img_block::before{
content: "";
position: absolute;
bottom: 0;
left: -100px;
width:calc(100% + 200px);
height: 260px;
background: #121212;
z-index: -1;
}

#business .img_block .swiper-container{
height:600px;
width: 100%;
overflow: hidden;
position: relative;
}


#business .img_block .swiper-wrapper,
#business .img_block .swiper-slide>div{
height: 100%;
width: 100%;
}

#business .img_block .swiper-slide.sw-1>div{
background: url("../images/business/bg_img01.jpg") center center / cover no-repeat;
}
#business .img_block .swiper-slide.sw-2>div{
background: url("../images/business/bg_img02.jpg") center center / cover no-repeat;
}
#business .img_block .swiper-slide.sw-3>div{
background: url("../images/business/bg_img03.jpg") center center / cover no-repeat;
}
#business .img_block .swiper-slide.sw-4>div{
background: url("../images/business/bg_img04.jpg") center center / cover no-repeat;
}

#business .img_block .swiper-slide-active>div, .swiper-slide-duplicate-active>div,
#business .img_block .swiper-slide-prev>div{
animation: zoomUp 10s linear 0s 1 normal both;
}

#business .img_block .txt_box{
position: r;
top:10%;
left: 2.5%;
z-index:10;
}

#business .img_block .txt_box h2{
font-size: 4rem;
font-weight: 200;
margin: 0 0 60px;
line-height:1.4;
letter-spacing: -.05rem;
text-align: center;
}


#business .img_block .txt_box p{
font-size: 1.2rem;
font-weight: 600;
line-height: 2.2;
text-align: center;
letter-spacing: .05rem;
margin: 0 0 60px;
}


#business .works_block{
background-color: #1c1c1c;
flex-direction: row-reverse;
color: #fff;
padding:10vw 100px;
box-sizing: border-box;
}


#business .works_block .en_ttl{
font-size:8rem;
font-weight:100;
line-height: 1;
letter-spacing: .1rem;
margin-bottom:10px;
margin-left: -50px;
opacity: .1;
}

#business .works_block h2{
font-size: 1.2rem;
font-weight: 400;
line-height: 1;
letter-spacing: .1rem;
margin: -40px 0 80px;
}


#business .works_block .list{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0 0 40px;
}

#business .works_block .list li{
width: 23%;
margin: 0 1% 2%;
}

#business .works_block .list li a{
position: relative;
display: block;
}

#business .works_block .list li a .img{
position: relative;
overflow: hidden;
}

#business .works_block .list li a .img::before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, 1));
z-index: 1;
}

#business .works_block .list li a .img img{
transform: scale(1);
transition: .5s;
}

#business .works_block .list li a:hover .img img{
transition: .5s;
transform: scale(1.2);
}

#business .works_block .list li a p{
position: absolute;
left: 10px;
bottom: 20px;
color: #FFF;
font-size: 1.2rem;
line-height: 1;
z-index: 2;
width:100%
}

#business .works_block .list li a p span{
display: block;
font-size: .6rem;
font-weight: 300;
margin-bottom: 10px;
}

#business .works_block .common_btn_box{
text-align: center;
margin-top: 30px;
}

#business .block{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background-color: #1c1c1c;
flex-direction: row-reverse;
color: #fff;
padding:5vw 0;
box-sizing: border-box;
}

#business .block:nth-child(odd){
flex-direction: row;
}

#business .block .ttl{
width: calc(100% - 100px);
margin: 0 auto;
font-size: 3rem;
font-weight: 300;
color: #FFF;
line-height: 1;
margin-bottom:100px;
text-align: center;
}

#business .block .txt_box{
width:55%;
padding: 0 5%;
box-sizing: border-box;
color: #FFF;
position: relative;
}

#business .block .txt_box .en_ttl{
position: absolute;
top:-90px;
left:-10px;
font-size:10rem;
font-weight:200;
line-height: 1;
letter-spacing: -.2rem;
opacity: .1;
}

#business .block .txt_box h2{
font-size: 2rem;
font-weight: 400;
line-height: 1.4;
letter-spacing: .1rem;
margin: 30px 0 50px;
}

#business .block .txt_box p{
line-height: 2.2;
}

#business .block .img {
width:45%;
}


#business .block2{
width: 1000px;
margin:120px auto 120px;
}


#business .block2 .en_ttl{
font-size:1rem;
font-weight:500;
line-height: 1;
margin-bottom:20px;
color: #002386;
}

#business .block2 h2{
font-size: 1.7rem;
font-weight: 500;
line-height: 1;
margin-bottom: 50px;
}


#business .flow_img{
width:100%;
margin:40px auto 0;
padding:15px;
box-sizing: border-box;
background: #00488a;
border: 1px solid rgba(255,255,255,.35);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-content: center;
align-items: center;
}

#business .flow_img dt{
width: 45%;
color: #FFF;
font-size: 1rem;
font-weight:200;
line-height: 2.2;
}

#business .flow_img dd{
width:50%;
margin:0;
}



#top_loop article{
overflow: hidden;
position: relative;
margin:0 0 -20px;;
}

#top_loop .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#top_loop .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:7rem;
font-weight:500;
line-height:1;
overflow: hidden;
color:rgba(0,35,134,1);
letter-spacing: 4rem;
}

#top_loop2 article{
overflow: hidden;
position: relative;
margin:0;
background:#1c1c1c;
}

#top_loop2 .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#top_loop2 .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:7rem;
font-weight:500;
line-height:1;
overflow: hidden;
color:rgba(255,255,255,.1);
letter-spacing: 1rem;
}

#top_loop .loop_wrap div:nth-child(odd),
#top_loop2 .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}
#top_loop .loop_wrap div:nth-child(even),
#top_loop2 .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}


}
/*sp*/
@media only screen and (max-width: 767px) {
#business {
position:relative;
margin: 0 auto 60px;
overflow: hidden;
z-index: 5;
}

#business .section_wrap{
width: 100%;
margin: 0 auto;
}


#business .img_block{
width:calc(100% - 100px);
margin: 0 auto;
box-sizing: border-box;
position: relative;
}

#business .img_block::before{
content: "";
position: absolute;
bottom: 0;
left: -100px;
width:calc(100% + 200px);
height: 260px;
background: #121212;
z-index: -1;
}

#business .img_block .swiper-container{
height:600px;
width: 100%;
overflow: hidden;
position: relative;
}


#business .img_block .swiper-wrapper,
#business .img_block .swiper-slide>div{
height: 100%;
width: 100%;
}

#business .img_block .swiper-slide.sw-1>div{
background: url("../images/business/bg_img01.jpg") center center / cover no-repeat;
}
#business .img_block .swiper-slide.sw-2>div{
background: url("../images/business/bg_img02.jpg") center center / cover no-repeat;
}
#business .img_block .swiper-slide.sw-3>div{
background: url("../images/business/bg_img03.jpg") center center / cover no-repeat;
}
#business .img_block .swiper-slide.sw-4>div{
background: url("../images/business/bg_img04.jpg") center center / cover no-repeat;
}

#business .img_block .swiper-slide-active>div, .swiper-slide-duplicate-active>div,
#business .img_block .swiper-slide-prev>div{
animation: zoomUp 10s linear 0s 1 normal both;
}

#business .img_block .txt_box{
position: r;
top:10%;
left: 2.5%;
z-index:10;
}

#business .img_block .txt_box h2{
font-size: 4rem;
font-weight: 200;
margin: 0 0 60px;
line-height:1.4;
letter-spacing: -.05rem;
text-align: center;
}


#business .img_block .txt_box p{
font-size: 1.2rem;
font-weight: 600;
line-height: 2.2;
text-align: center;
letter-spacing: .05rem;
margin: 0 0 60px;
}


#business .works_block{
background-color: #1c1c1c;
flex-direction: row-reverse;
color: #fff;
padding:10vw 100px;
box-sizing: border-box;
}


#business .works_block .en_ttl{
font-size:8rem;
font-weight:100;
line-height: 1;
letter-spacing: .1rem;
margin-bottom:10px;
margin-left: -50px;
opacity: .1;
}

#business .works_block h2{
font-size: 1.2rem;
font-weight: 400;
line-height: 1;
letter-spacing: .1rem;
margin: -40px 0 80px;
}


#business .works_block .list{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0 0 40px;
}

#business .works_block .list li{
width: 23%;
margin: 0 1% 2%;
}

#business .works_block .list li a{
position: relative;
display: block;
}

#business .works_block .list li a .img{
position: relative;
overflow: hidden;
}

#business .works_block .list li a .img::before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, 1));
z-index: 1;
}

#business .works_block .list li a .img img{
transform: scale(1);
transition: .5s;
}

#business .works_block .list li a:hover .img img{
transition: .5s;
transform: scale(1.2);
}

#business .works_block .list li a p{
position: absolute;
left: 10px;
bottom: 20px;
color: #FFF;
font-size: 1.2rem;
line-height: 1;
z-index: 2;
width:100%
}

#business .works_block .list li a p span{
display: block;
font-size: .6rem;
font-weight: 300;
margin-bottom: 10px;
}

#business .works_block .common_btn_box{
text-align: center;
margin-top: 30px;
}

#business .block{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background-color: #1c1c1c;
flex-direction: row-reverse;
color: #fff;
padding:5vw 0;
box-sizing: border-box;
}

#business .block:nth-child(odd){
flex-direction: row;
}

#business .block .ttl{
width: calc(100% - 100px);
margin: 0 auto;
font-size: 3rem;
font-weight: 300;
color: #FFF;
line-height: 1;
margin-bottom:100px;
text-align: center;
}

#business .block .txt_box{
width:55%;
padding: 0 5%;
box-sizing: border-box;
color: #FFF;
position: relative;
}

#business .block .txt_box .en_ttl{
position: absolute;
top:-90px;
left:-10px;
font-size:10rem;
font-weight:200;
line-height: 1;
letter-spacing: -.2rem;
opacity: .1;
}

#business .block .txt_box h2{
font-size: 2rem;
font-weight: 400;
line-height: 1.4;
letter-spacing: .1rem;
margin: 30px 0 50px;
}

#business .block .txt_box p{
line-height: 2.2;
}

#business .block .img {
width:45%;
}


#business .block2{
width: 1000px;
margin:120px auto 120px;
}


#business .block2 .en_ttl{
font-size:1rem;
font-weight:500;
line-height: 1;
margin-bottom:20px;
color: #002386;
}

#business .block2 h2{
font-size: 1.7rem;
font-weight: 500;
line-height: 1;
margin-bottom: 50px;
}


#business .flow_img{
width:100%;
margin:40px auto 0;
padding:15px;
box-sizing: border-box;
background: #00488a;
border: 1px solid rgba(255,255,255,.35);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-content: center;
align-items: center;
}

#business .flow_img dt{
width: 45%;
color: #FFF;
font-size: 1rem;
font-weight:200;
line-height: 2.2;
}

#business .flow_img dd{
width:50%;
margin:0;
}



#top_loop article{
overflow: hidden;
position: relative;
margin:0 0 -20px;;
}

#top_loop .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#top_loop .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:7rem;
font-weight:500;
line-height:1;
overflow: hidden;
color:rgba(0,35,134,1);
letter-spacing: 4rem;
}

#top_loop2 article{
overflow: hidden;
position: relative;
margin:0;
background:#1c1c1c;
}

#top_loop2 .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#top_loop2 .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:7rem;
font-weight:500;
line-height:1;
overflow: hidden;
color:rgba(255,255,255,.1);
letter-spacing: 1rem;
}

#top_loop .loop_wrap div:nth-child(odd),
#top_loop2 .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}
#top_loop .loop_wrap div:nth-child(even),
#top_loop2 .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}


}