@charset "utf-8";
/* CSS Document */
    figure {
        margin: 0 auto;
        width: 100%;
    }
 .sp {
display: none;

}
body {
font-family: 'Noto Sans JP', sans-serif;
margin: 0 auto;
padding: 0;
font-weight: 300;
    color: #333333
}
            .op {
               font-family: 'Open Sans', sans-serif;
            }
a {
color: #333333;
text-decoration: none;
}
a:hover img {
opacity: 0.5;
}
ul,li {
list-style: none;
margin: 0 auto;
padding: 0;
}
.fadein {
position: fixed;
    width: 100%;
    z-index: 100;
}
            h1,h2,h3,h4,h5,p {
                margin: 0 auto;
            }
header {
position: relative;
color: #FFF;
    padding: 20px 0;
    overflow: hidden;
}
header.fadein {
    background: #FFF;
        padding: 10px 0;
}
header.fadein .hlogo img {
    width: 80%;
}

.wrap {
width: 1120px;
margin: 0 auto;
position: relative;
z-index: 10;
}

header .wrap,header ul {
display: flex;
justify-content: space-between;
}

header nav {
     width: 60%;
    margin: 5px 0 0 auto;
    align-items: center;
            }
            header ul li,footer ul li { 
                margin: 0;
    font-size: 0.9rem;
            }
            header ul li a,footer ul li a {
display: block;
                    padding: 5px 10px;
    position: relative;
    font-weight: 500;
            }
           
            header ul li a:hover:after {
    background: #0c6eb9;
    width: 80%;
    height: 2px;
    position: absolute;
    left: 50%;
    bottom: -5px;
    margin-left: -40%;
    content: "";
            }

.hide{display:none;}
                    .topjump a{
                    padding: 10px 13px 50px;
    display: block;
    text-align: center;
    position: absolute;
    right: 0;
    bottom: -60px;
    background: #000;
                    }
                    footer {
                        background: #e9f6ff;
                       padding: 60px 0 0 ;
                        overflow: hidden
                    }
                    footer ul {
                        display: flex;
                        justify-content: space-between;
                    }
                    footer ul ul {
                        flex-wrap: wrap;
                        position: relative
                    }
                    footer .foottext {
                        font-size: 0.8rem;
    text-align: left;
    padding-left: 10px;
    font-style: normal;
    line-height: 1.6rem;
                    }
                    .copy {
                     color: #fff;
    font-size: 0.7rem;
    font-style: normal;
    padding: 10px 0;
    text-align: center;
    background: #0c6eb9;
    bottom: 0;
                        margin: 20px auto 0
                    }
                    footer li ul li{
                        width: 20%;
                        text-align: left;
                    }
                    
               
                    footer li ul li a:before {
                        content: "";
                            position: absolute;
                        background: url("/img/common/moreb.png");
                        width: 11px;
                        height: 17px;                        
    left: 0;
    font-weight: bold;
    font-style: normal;
    top: 5px;
                    }
footer li ul ul li a:before {
    background: none;
    content: "・";
}
footer li ul ul li {
    padding-left: 1rem;
}
                    footer li ul li a {
                        padding-left: 20px;
                        position: relative;
                            font-size: 0.8rem;
                            font-style: normal;
                        font-weight: normal;
                    }
                    
                    footer li ul ul li{
                        width: 90%;
                    }
                    footer li ul ul {
                        margin: 5px auto 25px;
                        display: block;
                    }
                    footer li ul ul a {
                        color: #666
                    }
.footsitemaplink {
    position: absolute;
    right: 0;
    top: 2.1rem;
}

.footpplink {
    position: absolute;
    right: 0;
    top: 4.1rem;
}
.footmenuwrap {
    width: 72%;
}
            .top #fv {
                height: 470px;
                overflow: hidden;
            }
           .top #fv .fvimg {
             position: absolute;
    z-index: 11;
    top: 100px;
    left: -40px;
            }
            .top #fv h1 {
               position: absolute;
    z-index: 11;
    top: 250px;
    font-size: 1rem;
    font-weight: 500;
    left: -35px;
            }
            .top .lSSlideOuter .lSPager.lSpg {
                text-align: left;
    position: absolute;
    top: 330px;
    left: -38px;
            }
            .top .lSSlideOuter .lSPager.lSpg > li a {
                background: none;
                border: 1px solid #0c6eb9;
            }
            .top .lSSlideOuter .lSPager.lSpg > li:hover a,.top  .lSSlideOuter .lSPager.lSpg > li.active a {
    background-color: #0c6eb9;
}
        

            #news {
                background: #0c6eb9;
                padding: 30px 0;
                color: #FFF;
            }
            #news a {
                color: #FFF;
            }
            #news .wrap,
            #news .wrap ul li a {
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
            .h2ttl {
                font-weight: 500;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
            }
            .h2ttl span {
                   font-weight: 300;
    font-size: 0.75rem;
    padding-left: 5px;
            }
            #news .wrap .h2ttl {
                width: 17%
            }
            #news .wrap ul {
                width: 83%;
                    overflow-y: scroll;
    height: 4rem;
            }
            #news .wrap ul li p.date {
                    width: 12%;
    font-size: 0.8rem;
    font-weight: 300;
    letter-spacing: 0.1rem;
            }
            #news .wrap ul li p.newstext {
                width: 88%;
    font-size: 0.85rem;
    font-weight: 300;
    letter-spacing: 0.03rem;
            }
               
            #news .wrap ul li a {
                margin: 8px auto;
            }
             #news ul::-webkit-scrollbar{
  width: 8px;
}
#news ul::-webkit-scrollbar-track{
  background: #bed6e9;
  border: none;
}
#news ul::-webkit-scrollbar-thumb{
  background: #00599d;
  box-shadow: none;
}

                #about {
                    margin: 150px auto;
                    position: relative;
                }
                #about:before {
                    background: url("/img/common/s1img3.jpg") no-repeat;
                    width: 600px;
                    height: 400px;
                    content: "";
                    position: absolute;
                    left: 0;
                    bottom: 50px;
                }
                #about .wrap {
                    display: flex;
    justify-content: space-between;
                }
                .abtextleft {
                    width: 50%;
                }
                .engttl {
         color: #0c6eb9;
    font-size: 5.2rem;
    font-weight: 600;
    border-bottom: 2px solid #FFF100;
    line-height: 1.6rem;
    padding: 15px 0 0;
    display: inline-block;
                    margin-bottom: 60px;
                }
                .engttl span{
                        font-size: 2rem;
    padding-right: 25px;
    font-weight: 100;
    letter-spacing: 0.2rem;
                }
                #about .ntext {
                   width: 90%;
    margin: 20px auto 0 0;
                }
               p.ntext {
                   font-size: 0.9rem;
                   line-height: 1.8rem;
                }
                .abimright1 {
                    margin-bottom: 140px;
                }
                .blinkbtn a {
                        background: #0c6eb9;
    border-bottom: 5px solid #005799;
    box-shadow: 0px 8px 16px -6px rgb(0 0 0 / 60%);
    color: #FFF;
    text-align: center;
    position: relative;
    display: block;
    padding: 20px 0;
    width: 60%;
    margin: 0 auto;
    font-size: 0.9rem;
                }
                .blinkbtn a:before {
                    background: url("/img/common/more.png") no-repeat;
    width: 12px;
    height: 16px;
    position: absolute;
    right: 20px;
    top: 38%;
    content: "";
                }
                 .blinkbtn a:hover {
                        background: #005799;
                }
                .abimright .blinkbtn a {
                    margin: 80px auto 0;
                }


                #products {
                    background: url("/img/common/bgridbg.png")   repeat;
                width: 100%;
                    padding: 80px 0
                }
                 #products ul,
                #products .prottlarea{
                    display: flex;
                    justify-content: space-between;
                    align-items: self-end;
                }
                
                #products .prottlarea {
                        position: relative;
    margin-bottom: 60px;
                }
                #products .prottlarea .h2ttl {
                       position: absolute;
    top: 40px;
    left: 215px;
                }
                #products .prottlarea   .engttl{
                      line-height: 0.8em;
    margin: 0;
                    padding: 0
                }
                #products .prottlarea ul {
                    width: 50%;
                    margin: 0;
                    flex-wrap: wrap;
                    justify-content: center
                                } 
                #products .prottlarea ul.productmenu li{
                        width: 32%;
    margin: 10px 0.5%;
                    text-align: center;
                    cursor: pointer
                }
  #products .prottlarea ul.productmenu li a{
      color: #FFF;
      display: block
}
        ul.productmenu li:hover:after, ul.productmenu li.selected:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #FFF100;
}
                #products .prottlarea ul li{
                       position: relative;
    color: #FFF;
    padding: 13px 0;
    text-align: center;
    width: 90%;
    margin: 0 auto;
    border-radius: 5px;
    display: flow-root;
    font-size: 0.9rem;
                }
                #products .prottlarea ul.productmenu li:first-child  {
                    background: #45c4ae;
                    border-bottom: 3px solid #00a689;
                }
                #products .prottlarea ul.productmenu li:nth-child(2) {
                    background: #ec6d74;
                    border-bottom: 3px solid #e13841;
                }
                #products .prottlarea ul.productmenu li:nth-child(3)  {
                    background: #f08300;
                    border-bottom: 3px solid #ba6500;
                }
                #products .prottlarea ul.productmenu li:nth-child(4)  {
                    background: #00a0e9;
                    border-bottom: 3px solid #0075ab;
                }
                #products .prottlarea ul.productmenu li:last-child  {
                    background: #41b532;
                    border-bottom: 3px solid #0f7f00;
                }
                #products .prottlarea ul.productmenu li:before{
     background: url("/img/common/more.png") no-repeat;
    width: 12px;
    height: 16px;
    position: absolute;
    right: 13px;
    top: 38%;
    content: "";
                }
                #products p.ntext { 
                    text-align: center;
    margin-bottom: 60px;
                }
                .prottl {
                position: relative;
    font-weight: 600;
    padding-left: 20px;
                    margin-top: 0;
                    
    height: 1.5rem;
    overflow: hidden;
                }
                    .prottl:before {
                        background: url("/img/common/moreb.png") no-repeat;
                        width: 11px;
                        height: 17px;
                        content: "";
                        position: absolute;
                        left: 0;
                            top: 5px;
                }
                .prottlunder {
                    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1rem;
    padding: 4px 0;
    height: 3.1rem;
    overflow: hidden;
                }
                .prolist li {
                    width: 250px;
    margin: 0;
                }
                .prolist li .proicon li {
                        width: 44%;
    margin: 0 auto;
    font-size: 0.9rem;
    color: #FFF;
    border-radius: 5px;
    text-align: center;
    line-height: 1.5rem;
                }
                .prolist li .proicon li.icon_b {
                    background: #00a0e9;
                }
                .prolist li .proicon li.icon_gr {
                    background: #41b532;
                }
                .proicon {
                    margin: 5px auto 70px
                }
                #products .blinkbtn a {
                    width: 30%;
    margin: 0 auto;
                }


                .complrbox {
                    display: flex;
                    justify-content: space-between;
                    text-align: right;
                    margin: 100px auto;
                }
                .complist {
                    width: 50%;
                    display: flex;
                    justify-content: space-between;
                    flex-wrap: wrap;
                    border-left: 2px solid #0c6eb9;
                    text-align: left;         
                    margin: 0;
                        align-items: center;
                        font-size: 0.9rem;
    line-height: 1.8rem;
                }
                .complist li:nth-child(odd) {
                        width: 22%;
    margin-left: 8%;
                }
                .complist li:nth-child(even) {
                    width: 70%;
                }
                .accessrightmap  {
    position: absolute;
    height: 350px;
    width: 45%;
    z-index: 10;
    right: 0;
    bottom: 100px;
                }
                .accessrightmap iframe {
    height: 350px;
                    width: 100%;
                }
                .accessleft p.ntext{
                 margin-top: 20px;
                }
                #company {
                    padding: 60px 0 120px;
                    position: relative;
                }
                .accessleft {
                    width: 50%;
                    margin-left: 60px;
                }
                #company  .engttl {
                    margin: 0 auto 60px;
    display: table;
    line-height: 0.8em;
    position: relative;
                }
                
                #company .engttl span.h2ttl {
                       position: absolute;
    right: 0px;
    font-weight: 600;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    color: #333;
    top: 38px;
                }
                #company .blinkbtn {
                    width: 50%;
    margin: 0 auto;
                }
                .accessmap {
                margin: 180px auto 60px 60px;
                    width:100%;                    
                    position: relative;
                }
                .accessmap:before {
                       height: 2px;
    background: #FFF100;
    content: "";
    width: 100%;
    left: 60px;
    top: 42%;
    position: absolute;
    z-index: -1;
                }
                .accessttl {
    font-weight: 300;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    color: #333;
                        margin-bottom: 5px;
                }



                #contact {
                    background: url("/img/common/wgridbg.png") repeat;
                    padding: 120px 0;
                    margin: 0 auto 0
                }
                #contact .wrap {
                    display: flex;
                    justify-content: space-between;
                        align-items: center;
                }
                #contact .wrap .contarealeft {
                    width: 55%;
                    margin: 0 auto;
                }
                #contact .wrap .contarearight {
                    width: 45%;
                    text-align: center
                }
                #contact .engttl {
                        line-height: 0.75em;
                    position: relative
                }
                #contact .engttl span.h2ttl {
                    position: absolute;
                    right: -170px;
                        font-weight: 600;
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
                    color: #333
                }

#products .prottlarea.sp {
    display: none;
}