@charset "UTF-8";

#main{
margin-top: calc(-100vw/6);
min-height: 820px;
position: relative;
z-index: 2;
background: #124098;
-webkit-transform: skew(0deg, -20deg);
transform: skew(0deg, -20deg);
}


#main .layout{
position: relative;
width: 100%;
max-width: 1200px;
margin: 0 auto;
text-align: right;
-webkit-transform: skew(0deg, 20deg);
transform: skew(0deg, 20deg);
}

#main .layout .title{
display: block;
padding-top: 120px;
}

#main .layout .title img{
width: 50%;
height: auto;
}

#main .layout .img{
display: block;
width: 44%;
position: absolute;
top:280px;
left: 0;
}

#main .layout .img img{
width: 100%;
height: auto;
}

#main .layout .txt{
display: inline-block;
width:50%;
padding-top: 70px;
text-align: left;
color: #fff;
font-size: 24px;
line-height: 2em;
}

#main .layout a.bnr{
position: absolute;
top: -350px;
right: -65px;
}

#main .layout a.bnr img{
width: 172px;
height: auto;
}

#main .layout span.scr{
position: absolute;
top: -200px;
right: 0;
}

#main .layout span.scr img{
width: 13px;
height: auto;
}

#main .layout span.scr{
  display: inline-block;
  position: absolute;
  right: 0;
  top: -30px;
  z-index: 2;
  padding: 10px 10px 110px;
  color: #fff;
  font-size: 14px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
#main .layout span.scr:after {
  content: '';
  position: absolute;
  top: -100px;
  left: calc(50% - 2px);
  width: 1px;
  height: 100px;
  background: #fff;
}

#main .layout span.scr::before {
  content: '';
  position: absolute;
  top: -100px;
  left: calc(50% - 2px);
  width: 1px;
  height: 100px;
  background: rgba(255, 255, 255, .4);
}

#main .layout span.scr::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media screen and (max-width: 1360px) {
#main .layout a.bnr{
right: 0;
}
}


@media screen and (max-width: 988px) {
#main .layout span.scr{
display: none;
}
#main .layout a.bnr{
top: -100px;
right: 5%;
}
#main .layout a.bnr img{
width: 40%;
height: auto;
}
}

@media screen and (max-width: 810px) {
#main{
min-height: auto;
}
#main .layout .title{
display: block;
padding-top: 70px;
}

#main .layout .title img{
width: 90%;
height: auto;
margin: 0 5%;
}

#main .layout .img{
display: none;
}

#main .layout .txt{
display: block;
width: 90%;
margin: 0 5%;
padding-top: 20px;
font-size: 18px;
-webkit-text-shadow: 0px 0px 5px rgba(18, 64, 152, 1);
-ms-text-shadow: 0px 0px 5px rgba(18, 64, 152, 1);
text-shadow: 0px 0px 5px rgba(18, 64, 152, 1);
}
}



#top_about{
margin-top: calc(-100vw/5);
padding-top: calc(100vw/4);
background-image: url(../../images/top/top_aboutbg.jpg);
background-repeat: no-repeat;
background-size: 100%;
}

#top_about .layout{
width: 100%;
max-width: 1200px;
margin: 0 auto;
}

#top_about .top_about{
padding-top: 60px;
padding-bottom: 200px;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-pack: space-between;
-webkit-box-pack: space-between;
-webkit-justify-content: space-between;
justify-content: space-between;
}

#top_about .top_about .col{
flex-basis: 30%;
text-align: left;
}

#top_about .top_about .col:nth-of-type(2){
flex-basis: 65%;
}

#top_about .top_about .col h2{
font-size: 36px;
font-weight: bold;
color: #124098;
}

#top_about .top_about .col h2 span{
display: block;
font-size: 14px;
}

#top_about .top_about .col p{
margin-bottom: 20px;
line-height: 2.8em;
}

@media screen and (max-width: 810px) {
#top_about .layout{
width: 94%;
margin: 0 3%;
}

#top_about .top_about{
padding-top: 30px;
padding-bottom: 100px;
display: block;
}

#top_about .top_about .col h2{
display: block;
font-size: 28px;
margin-bottom: 20px;
}

#top_about .top_about .col h2 span{
display: block;
font-size: 14px;
}

#top_about .top_about .col p{
font-size: 13px;
margin-bottom: 30px;
line-height: 2.4em;
}
}


#top_service h2{
width: 100%;
display: block;
text-align: center;
font-size: 36px;
font-weight: bold;
color: #124098;
position: relative;
margin-bottom: 80px;
}

#top_service h2 span{
display: block;
font-size: 14px;
}

#top_service h2:after{
content: "";
width: 1px;
height: 100px;
background: #124098;
position: absolute;
bottom: -110px;
left: 50%;
}

#top_service .service_column{
background-image: url(../../images/top/top_servicebg.jpg);
background-repeat: no-repeat;
background-position: top 50% right 0;
background-size: 75%;
}

#top_service .service_column.rev{
background-image: url(../../images/top/top_servicebg.jpg);
background-repeat: no-repeat;
background-position: top 50% left 0;
background-size: 75%;
}

#top_service .service_column .img{
width: 100%;
text-align: left;
}

#top_service .service_column .img img{
width: 75%;
height: auto;
border-top:15px solid #124098;
border-right:15px solid #e60012;
border-bottom:15px solid #e60012;
border-left:0;
}

#top_service .service_column.rev .img{
width: 100%;
text-align: right;
}

#top_service .service_column.rev .img img{
width: 75%;
height: auto;
border-top:15px solid #124098;
border-left:15px solid #e60012;
border-bottom:15px solid #e60012;
border-right:0;
}

#top_service .service_column .txt{
position: relative;
margin-top: calc(-100vw/8);
margin-bottom:100px;
background: #fff;
width: 50%;
margin-left: 50%;
z-index: 1;
}

#top_service .service_column.rev .txt{
position: relative;
margin-top: calc(-100vw/8);
margin-bottom: 100px;
background: #fff;
width: 50%;
margin-left: 0;
margin-right: 50%;
z-index: 1;
}

#top_service .service_column .txt .inner{
padding: 80px;
}

#top_service .service_column .txt .inner p{
margin-bottom: 60px;
text-align: left;
}

#top_service .service_column .txt .inner p.title{
font-size: 28px;
font-weight: bold;
margin-bottom: 20px;
}


@media screen and (max-width: 810px) {
#top_service .service_column .img{
width: 100%;
text-align: left;
}

#top_service .service_column .img img{
width: calc(100% - 20px);
height: auto;
border-top:10px solid #124098;
border-left:10px solid #124098;
border-right:10px solid #e60012;
border-bottom:10px solid #e60012;
}

#top_service .service_column.rev .img{
width: 100%;
text-align: left;
}

#top_service .service_column.rev .img img{
width: calc(100% - 20px);
height: auto;
border-top:10px solid #124098;
border-left:10px solid #124098;
border-bottom:10px solid #e60012;
border-right:10px solid #e60012;
}

#top_service .service_column .txt{
position: relative;
margin-top: calc(-100vw/8);
margin-bottom:60px;
background: #fff;
width: 80%;
margin-left: 10%;
margin-right: 10%;
z-index: 1;
}

#top_service .service_column.rev .txt{
position: relative;
margin-top: calc(-100vw/8);
margin-bottom:60px;
background: #fff;
width: 80%;
margin-left: 10%;
margin-right: 10%;
z-index: 1;
}

#top_service .service_column .txt .inner{
padding: 30px 50px;
}

#top_service .service_column .txt .inner p{
font-size: 13px;
margin-bottom: 40px;
}

#top_service .service_column .txt .inner p.title{
font-size: 24px;
}
}


@media screen and (max-width: 480px) {
#top_service h2{
font-size: 24px;
margin-bottom: 60px;
}

#top_service .service_column .txt .inner{
padding: 20px 30px;
}
#top_service .service_column .txt{
width: 90%;
margin-left: 5%;
margin-right: 5%;
z-index: 1;
}

#top_service .service_column.rev .txt{
width: 90%;
margin-left: 5%;
margin-right: 5%;
z-index: 1;
}

#top_service .service_column .txt .inner p.title{
font-size: 21px;
}
}


#top_case{
padding-top: 80px;
background: rgb(255,255,255);
background: -moz-linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 30%, rgba(238,238,238,1) 30%, rgba(238,238,238,1) 100%);
background: -webkit-linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 30%, rgba(238,238,238,1) 30%, rgba(238,238,238,1) 100%);
background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 30%, rgba(238,238,238,1) 30%, rgba(238,238,238,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#eeeeee",GradientType=1); 
}

.slickslider li a{
position: relative;
display: block;
text-align: center;
padding: 40px 30px 0;
}

.slickslider li a.no01:before{
content: "";
display: block;
width: 80px;
height: 80px;
background-image: url(../../images/top/slide_no01.png);
background-repeat: no-repeat;
background-size: contain;
position: absolute;
top: 0;
left: 30px;
z-index: 50;
}

.slickslider li a.no02:before{
content: "";
display: block;
width: 80px;
height: 80px;
background-image: url(../../images/top/slide_no02.png);
background-repeat: no-repeat;
background-size: contain;
position: absolute;
top: 0;
left: 30px;
z-index: 50;
}
.slickslider li a.no03:before{
content: "";
display: block;
width: 80px;
height: 80px;
background-image: url(../../images/top/slide_no03.png);
background-repeat: no-repeat;
background-size: contain;
position: absolute;
top: 0;
left: 30px;
z-index: 50;
}

.no img{
width: 100%;
height: auto;
}

.slickslider li a img{
width: 100%;
height: auto;
}

.slick-prev{
width: 75px!important;
position: absolute;
top: 50%!important;
left: 27%!important;
z-index: 10;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}

.slick-next{
width: 75px!important;
position: absolute;
top: 50%!important;
right: 27%!important;
z-index: 10;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}

#top_case .txt{
position: relative;
display: block;
background: #eeeeee;
width: 45%;
margin: 0 15% 0 40%;
margin-top: -100px;
padding-bottom: 100px;
z-index: 1;
}

#top_case .txt .inner{
padding: 50px;
text-align: left;
position: relative;
}

#top_case .txt .inner h2{
width: 100%;
display: block;
font-size: 36px;
font-weight: bold;
color: #124098;
position: relative;
margin-bottom: 30px;
}

#top_case .txt .inner h2 span{
display: block;
font-size: 14px;
}

#top_case .txt .inner p{
padding-right: 170px;
}

#top_case .txt .inner .btns{
position: absolute;
top: 170px;
right: -20px;
}

@media screen and (max-width: 810px) {
.slick-prev{
width: 50px!important;
position: absolute;
top: 50%!important;
left: 0%!important;
z-index: 10;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}

.slick-next{
width: 50px!important;
position: absolute;
top: 50%!important;
right: 0%!important;
z-index: 10;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}

#top_case .txt{
position: relative;
display: block;
background: #eeeeee;
width: 90%;
margin: 0 5%;
margin-top: -50px;
padding-bottom: 0;
z-index: 1;
}

#top_case .txt .inner{
padding: 30px;
text-align: left;
position: relative;
}

#top_case .txt .inner h2{
font-size: 28px;
margin-bottom: 30px;
}

#top_case .txt .inner p{
padding-right: 0;
}

#top_case .txt .inner .btns{
text-align: right;
display: block;
padding-top: 30px;
position: inherit;
top: inherit;
right: inherit;
}
}




#top_news{
padding-top: 150px;
background-image:url(../../images/top/top_newsbg.gif);
background-repeat: repeat-x;
background-position: bottom left;
position: relative;
margin-bottom: 200px;
}

#top_news:after{
content:"";
width: calc( calc(100vw - 1200px) / 2);
height: 180px;
background: #fff;
position: absolute;
bottom: 0;
right: 0;
}


#top_news .layout{
width: 100%;
max-width: 1200px;
margin: 0 auto;
}

#top_news .layout .news_col{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-pack: space-between;
-webkit-box-pack: space-between;
-webkit-justify-content: space-between;
justify-content: space-between;
}

#top_news .layout .news_col>.item{
flex-basis: 20%;
text-align: left;
}

#top_news .layout .news_col>.item:nth-of-type(2){
flex-basis: 75%;
padding-bottom: 60px;
position: relative;
}

#top_news .layout .news_col>.item h2{
width: 100%;
display: block;
font-size: 36px;
font-weight: bold;
color: #124098;
position: relative;
margin-bottom: 30px;
}

#top_news .layout .news_col>.item h2 span{
display: block;
font-size: 14px;
}

#top_news .layout .news_col>.item:nth-of-type(2) ul{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
margin-bottom: 60px;
}

#top_news .layout .news_col>.item:nth-of-type(2) ul li a{
display: block;
margin-right: 30px;
padding-bottom: 8px;
color: #ccc;
font-weight: bold;
}

#top_news .layout .news_col>.item:nth-of-type(2) ul li a.current{
color: #124098;
border-bottom: 2px solid #124098;
}

#top_news .layout .news_col>.item:nth-of-type(2) ul li a:hover{
color: #124098;
border-bottom: 2px solid #124098;
}

#top_news .layout .news_col .item:nth-of-type(2)>a,#top_news .layout .news_col .item:nth-of-type(2)>.lesslink{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
position: relative;
margin-bottom: 20px;
}

#top_news .layout .news_col .item:nth-of-type(2)>a:before{
position: absolute;
bottom: -1px;
left: 0;
content: "";
width: 0;
height: 1px;
background:#124098;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}

#top_news .layout .news_col .item:nth-of-type(2)>a:hover:before{
width: 100%;
height: 1px;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}

#top_news .layout .news_col .item:nth-of-type(2)>a:after{
content: "";
width: 8px;
height: 10px;
background-image: url(../../images/common/arrow_right.png);
background-repeat: no-repeat;
background-size: contain;
position: absolute;
top: 50%;
right: 20px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}

#top_news .layout .news_col .item:nth-of-type(2)>a span.item:nth-of-type(1),#top_news .layout .news_col .item:nth-of-type(2)>.lesslink span.item:nth-of-type(1){
flex-basis: 100px;
color: #8ab2c1;
}

#top_news .layout .news_col .item:nth-of-type(2)>a span.item:nth-of-type(2),#top_news .layout .news_col .item:nth-of-type(2)>.lesslink span.item:nth-of-type(2){
flex-basis: 150px;
}

#top_news .layout .news_col .item:nth-of-type(2)>a span.item:nth-of-type(2) span,#top_news .layout .news_col .item:nth-of-type(2)>.lesslink span.item:nth-of-type(2) span{
display: block;
background: #8ab2c1;
padding: 3px 0;
color: #fff;
text-align: center;
}

#top_news .layout .news_col .item:nth-of-type(2)>a span.item:nth-of-type(3),#top_news .layout .news_col .item:nth-of-type(2)>.lesslink span.item:nth-of-type(3){
flex-basis: calc(100% - 230px);
margin-left: 20px;
color: #000;
padding: 10px 0;
}

#top_news .layout .news_col .item:nth-of-type(2) .btns{
position: absolute;
bottom: -80px;
right: 0;
}

@media screen and (max-width: 810px) {
#top_news{
padding-top: 150px;
background-image:none;
margin-bottom: 50px;
}

#top_news:after{
display: none;
}


#top_news .layout{
width: 90%;
max-width: 1200px;
margin: 0 5%;
}

#top_news .layout .news_col{
display: block;
}

#top_news .layout .news_col>.item h2{
font-size: 28px;
margin-bottom: 30px;
}

#top_news .layout .news_col>.item:nth-of-type(2) ul{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-pack:flex-start;
-webkit-box-pack:flex-start;
-webkit-justify-content:flex-start;
justify-content:flex-start;
margin-bottom: 40px;
}

#top_news .layout .news_col>.item:nth-of-type(2) ul li a{
padding-bottom: 8px;
margin-bottom: 20px;
margin-right: 15px;
}

#top_news .layout .news_col .item:nth-of-type(2)>a{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
position: relative;
margin-bottom: 20px;
}

#top_news .layout .news_col .item:nth-of-type(2)>a span.item:nth-of-type(2) span{
font-size: 12px;
}

#top_news .layout .news_col .item:nth-of-type(2)>a span.item:nth-of-type(3){
flex-basis: 100%;
margin-left: 0;
color: #000;
padding: 10px 0;
}

#top_news .layout .news_col .item:nth-of-type(2) .btns{
display: block;
text-align: center;
padding-top: 60px;
position: inherit;
bottom: 0;
right: 0;
}

}


#top_links{
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
margin-bottom: 200px;
}

#top_links .item{
flex-basis: 50%;
}

#top_links .item a,#top_links .item span.inner{
position: relative;
display: block;
width: 100%;
padding-top: 53.3333%;
overflow: hidden;
}

#top_links .item a .content,#top_links .item span.inner .content{
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%); /* Safari用 */
transform: translate(-50%, -50%);
z-index: 1;
}

#top_links .item a .img,#top_links .item span.inner .img{
position: absolute;
top: 0;
left: 0;
width:100%;
height: 100%;
object-fit: cover;
}

#top_links .item a .img img,#top_links .item span.inner .img img{
width: 100%;
height: auto;
-moz-transform: scale(1);
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}

#top_links .item a:hover .img img{
-moz-transform: scale(1.05);
-webkit-transform: scale(1.05);
-ms-transform: scale(1.05);
transform: scale(1.05);
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}


#top_links .item a .content h2,#top_links .item span.inner .content h2{
width: 100%;
display: block;
font-size: 36px;
font-weight: bold;
color: #fff;
position: relative;
margin-bottom: 60px;
}


#top_links .item a .content h2 span,#top_links .item span.inner .content h2 span{
display: block;
font-size: 14px;
}

#top_links .item a .content span.btn,#top_links .item span.inner .content span.btn{
color: #fff;
padding: 20px 60px;
-webkit-border-radius: 50px;
-moz-border-radius:50px;
border-radius:50px;
border: 1px solid #fff;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}

#top_links .item a:hover .content span.btn{
background: #e60012;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}


@media screen and (max-width: 810px) {
#top_links{
display: block;
margin-bottom: 0;
}

#top_links .item a .content h2,#top_links .item span.inner h2{
font-size: 28px;
margin-bottom: 60px;
}

}

@media screen and (max-width: 480px) {
#top_links .item a .content h2,#top_links .item span.inner .content h2{
font-size: 28px;
margin-bottom: 20px;
}

#top_links .item a .content span.btn,#top_links .item span.inner .content span.btn{
padding: 10px 30px;
}
}




