@charset "UTF-8";

.pc{
    display: none;
}

#main-container{
    margin: 0;
    padding: 0;
}

#f-security{
    background: #ECE8DF;
    font-family: "noto-sans-cjk-jp", sans-serif;
    font-weight: 400;
    color: #000;
}

#f-security #header-container{
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}

#f-security #header-container .logo{
    width: 100%;
    height: auto;
    margin: 0 auto;
}

#f-security .wrapper{
    margin: 0 20px;
}

#f-security .bg-blue{
    padding: 0 0 26px;
    background: #B3DEEE;
}

#f-security .map-box{
    /*max-width: 1020px;*/
    margin: 0 auto;
}

#f-security .map-box .map-inner{
    position: relative;
}

#f-security .map-box .map-menu{
    position: absolute;
    display: block;
    width: 105px;
    z-index: 2;
}

#f-security .map-box .map-link01{
    left: 3%;
    top: 45%;
}

#f-security .map-box .map-link02{
    left: 10%;
    top: 17%;
}

#f-security .map-box .map-link03{
    left: 7%;
    top: 70%;
}

#f-security .map-box .map-link04{
    left: 70%;
    top: 58%;
}

#f-security .map-box .map-link05{
    left: 62%;
    top: 41%;
}

#f-security .map-box .map-link06{
    left: 35%;
    top: 7%;
}

#f-security .map-box .map-link07{
    left: 69%;
    top: 17%;
}

#f-security .map-box .txt-logo{
    display: block;
    max-width: 324px;
    margin: 0 auto 20px;
}

#f-security .map-box .map{
    overflow: hidden;
    height: auto;
    margin: 0;
    padding: 0;
}

#f-security .map-box .map img{
    position: relative;
    width: 400%;
    max-width: none;
    z-index: 1;
    animation-name: map;
    animation-duration: 2000ms;
    animation-timing-function: steps(4, end);
    animation-iteration-count: infinite;
    animation-fill-mode: both;
    animation-play-state: running;
}

@keyframes map {
    from { left: 0; }
    to { left: -100%; }
    to { left: -200%; }
    to { left: -300%; }
    to { left: -400%; } 
}

#f-security .map-box p{
    line-height: 2;
    margin: 0 0 30px;
    font-size: 14px; font-size: 1.4rem;
}

#f-security .cont p{
    line-height: 1.7;
    margin: 0 0 15px;
    font-size: 14px; font-size: 1.4rem;
    color: #333;
}

.cont{
    box-sizing: border-box;
}

#menu01{
    position: relative;
    top: -34px;
    padding: 312px 0 0;
    background: url(../img/mirai/bg_menu01_sp@3x.png?18) no-repeat left top;
    background-size: contain;
}

/*#menu01::before{
    content: "";
    position: absolute;
    top: -34px;
    left: -38px;
    width: 171px;
    height: 57px;
    background: url(../img/mirai/menu01_cloud_sp@3x.png) no-repeat left top;
    background-size: 171px 57px;
    z-index: 1;
}*/

#menu02{
    position: relative;
    padding: 311px 0 0;
    background: url(../img/mirai/bg_menu02_sp@3x.png) no-repeat right top;
    background-size: contain;
}

#menu03{
    position: relative;
    padding: 368px 0 0;
    background: url(../img/mirai/bg_menu03_sp@3x.png) no-repeat center top;
    background-size: contain;
}

#menu04{
    position: relative;
    padding: 339px 0 0;
    background: url(../img/mirai/bg_menu04_sp@3x.png) no-repeat right top;
    background-size: contain;
}

#menu05{
    position: relative;
    padding: 325px 0 0;
    background: url(../img/mirai/bg_menu05_sp@3x.png) no-repeat right top;
    background-size: contain;
}

#menu06{
    position: relative;
    padding: 285px 0 0;
    background: url(../img/mirai/bg_menu06_sp@3x.png) no-repeat right top;
    background-size: contain;
}

#menu07{
    position: relative;
    padding: 319px 0 107px;
    background: url(../img/mirai/bg_menu07_sp@3x.png) no-repeat left top;
    background-size: contain;
}

#menu01 .hx-balloon{
    background: url(../img/mirai/hx_menu01@3x.png) no-repeat left top;
    background-size: 247px 82px;
}

#menu02 .hx-balloon{
    background: url(../img/mirai/hx_menu02@3x.png) no-repeat left top;
    background-size: 247px 82px;
}

#menu03 .hx-balloon{
    background: url(../img/mirai/hx_menu03@3x.png) no-repeat left top;
    background-size: 247px 82px;
}

#menu04 .hx-balloon{
    background: url(../img/mirai/hx_menu04@3x.png) no-repeat left top;
    background-size: 247px 82px;
}

#menu05 .hx-balloon{
    background: url(../img/mirai/hx_menu05@3x.png) no-repeat left top;
    background-size: 247px 82px;
}

#menu06 .hx-balloon{
    background: url(../img/mirai/hx_menu06@3x.png) no-repeat left top;
    background-size: 247px 82px;
}

#menu07 .hx-balloon{
    background: url(../img/mirai/hx_menu07@3x.png) no-repeat left top;
    background-size: 247px 82px;
}

.hx-balloon{
    display: block;
    width: 247px;
    height: 0;
    margin: 0 auto 23px;
    padding: 82px 0 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#f-security #footer-container{
    position: relative;
    padding: 26px 0 10px;
    background: #B3DEEE;
}

#f-security #footer-container::before{
    content: " ";
    position: absolute;
    top: -67px;
    left: 47px;
    width: 284px;
    height: 81px;
    background: url(../img/mirai/ftr_ico_sp@3x.png) no-repeat left top;
    background-size: 284px 81px;
}

.ftr-logo{
    display: block;
    width: 278px;
    margin: 0 auto 23px;
}

.ftr-link{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 260px;
    margin: 0 auto 8px;
}

.ftr-link li{
    width: 50%;
    line-height: 1;
    margin: 0 0 12px;
    padding: 0 13px;
    box-sizing: border-box;
}

.ftr-link li a{
    position: relative;
    padding: 0 0 0 18px;
    font-size: 13px; font-size: 1.3rem;
    text-decoration: none;
}

.ftr-link li a::before{
    content: ">";
    position: absolute;
    top: 50%;
    left: 0;
    margin: -0.5em 6px 0 0;
}

#f-security .copy{
    height: auto;
    line-height: 1;
    background: transparent;
    font-size: 10px; font-size: 1.0rem;
    color: #000;
    text-align: center;
}

#f-page-top{
    position: fixed;
    bottom: 20px;
    right: 8px;
    display: inline-block;
    width: 54px;
    height: 54px;
    line-height: 54px;
    margin: 0;
    padding: 13px 0;
    border-radius: 28px;
    box-sizing: border-box;
    background: #E95514;
    color: #fff;
    text-align: center;
    color: #fff;
    font-size: 13px; font-size: 1.3rem;
    z-index: 10;
}

#f-page-top img{
    display: block;
    width: 29px;
    height: 27px;
    margin: 0 auto;
}


@media only screen and (min-width: 1140px) {
    .wrapper{
        width: auto;
    }
}

@media only screen and (min-width: 768px) {
    
    .sp{
        display: none;
    }
    .pc{
        display: block;
    }
    
    #f-security #header-container .logo{
        max-width: 1020px;
    }
    
    #f-security .wrapper{
        margin: 0 40px;
    }
    
    #f-security .bg-blue{
        padding: 0 0 46px;
    }
    
    #f-security .map-box{
        max-width: 1020px;
    }
    
    #f-security .map-box .map-menu{
        width: 195px;
    }
    
    #f-security .map-box .map-link01{
        left: 7%;
        top: 47%;
    }
    
    #f-security .map-box .map-link02{
        left: 21%;
        top: 23%;
    }
    
    #f-security .map-box .map-link03{
        left: 14%;
        top: 70%;
    }

    #f-security .map-box .map-link04{
        left: 71%;
        top: 58%;
    }

    #f-security .map-box .map-link05{
        left: 58%;
        top: 43%;
    }

    #f-security .map-box .map-link06{
        left: 41%;
        top: 14%;
    }

    #f-security .map-box .map-link07{
        left: 67%;
        top: 18%;
    }
    
    #f-security .map-box .txt-logo{
        max-width: 586px;
        margin: 0 auto 30px;
    }
    
    #f-security .cont p{
        margin: 0 0 26px;
    }
    
    #menu01{
        top: -38px;
        padding: 108px 0 118px;
        background: url(../img/mirai/bg_menu01_pc@3x.png?17) no-repeat left -9vw top;
        background-size: 59vw;
    }
    
    #menu01 .wrapper,
    #menu03 .wrapper,
    #menu05 .wrapper,
    #menu07 .wrapper{
        max-width: 400px;
        margin: 0 95px 0 auto;
    }

    /*#menu01::before{
        content: "";
        position: absolute;
        top: -38px;
        left: 147px;
        width: 226px;
        height: 76px;
        background: url(../img/mirai/menu01_cloud_pc@3x.png) no-repeat left top;
        background-size: 226px 76px;
    }*/
    
    #menu02{
        margin: -44px 0 0;
        padding: 58px 0 114px;
        background: url(../img/mirai/bg_menu02_pc@3x.png?18) no-repeat right -2vw top;
        background-size: 50vw;
    }
    
    #menu02 .wrapper,
    #menu06 .wrapper{
        max-width: 400px;
        margin: 0 auto 0 95px;
    }
    
    #menu03{
        margin: -16px 0 20px;
        padding: 60px 0 118px;
        background: url(../img/mirai/bg_menu03_pc@3x.png?18) no-repeat left 35px top;
        background-size: 48vw;
    }

    #menu04{
        padding: 0;
        background: transparent;
    }

    
    #menu04 .pc-inner{
        width: auto;
        margin: 0 40px;
        padding: 460px 0 85px;
        background: url(../img/mirai/bg_menu04_pc@3x.png) no-repeat right 3vw top;
        background-size: 86vw;
    }
    
    #menu04 .pc-inner .wrapper{
        display: flex;
        justify-content: space-between;
        margin: 0;
    }
    
    #menu04 .pc-inner .txt-box{
        width: 400px;
        margin: 0 64px 0 0;
    }

    #menu04 .pc-inner .mov-box{
        width: 400px;
    }
    
    #menu05{
        padding: 105px 0 74px;
        background: url(../img/mirai/bg_menu05_pc@3x.png?18) no-repeat left -2vw top;
        background-size: 49vw;
    }

    #menu06{
        padding: 117px 0 40px;
        background: url(../img/mirai/bg_menu06_pc@3x.png?18) no-repeat right -4vw top;
        background-size: 53vw;
    }
    
    #menu07{
        padding: 86px 0 76px;
        background: url(../img/mirai/bg_menu07_pc@3x.png?18) no-repeat left -19vw top;
        background-size: 69vw;
    }

    
    #f-security #footer-container{
        padding: 65px 0 45px;
    }
    
    #f-security #footer-container::before{
        content: " ";
        position: absolute;
        top: -132px;
        left: 82px;
        width: 452px;
        height: 177px;
        background: url(../img/mirai/ftr_ico_pc@3x.png) no-repeat left top;
        background-size: 452px 177px;
    }

    .ftr-logo{
        width: 405px;
        margin: 0 auto 44px;
    }

    .ftr-link{
        justify-content: flex-start;
        width: 500px;
        margin: 0 auto 26px;
    }

    .ftr-link li{
        width: 25%;
        margin: 0 0 20px;
    }

    .ftr-link li a{
        position: relative;
    }

    #f-security .copy{
        height: auto;
        line-height: 1;
        background: transparent;
        font-size: 10px; font-size: 1.0rem;
        color: #000;
        text-align: center;
    }
    
    #f-page-top{
        position: fixed;
        bottom: 40px;
        right: 30px;
        display: inline-block;
        width: 97px;
        height: 97px;
        line-height: 1.2;
        margin: 0;
        padding: 13px 0;
        border-radius: 49px;
        text-decoration: none;
    }

    #f-page-top img{
        display: block;
        width: 32px;
        height: 27px;
        margin: 0 auto 8px;
    }
    
    #menu01 .wrapper, #menu03 .wrapper, #menu05 .wrapper, #menu07 .wrapper{
        margin-right: 11vw;
    }
    
    #menu02 .wrapper, #menu06 .wrapper{
        margin-left: 11vw;
    }
}

/*
@media only screen and (min-width: 1100px) {
    
    #f-security .wrapper{
        width: auto;
    }
    
    .pc-inner{
        max-width: 1200px;
        margin: 0 auto;
    }
    
    #menu01{
        min-height: 623px;
        background-size: 819px 623px;
    }
    
    #menu02{
        min-height: 633px;
        background-size: 550px 633px;
    }
    
    #menu03{
        min-height: 609px;
        background-size: 530px 609px;
    }
    
    #menu04 .pc-inner{
        max-width: 1020px;
        margin: 0 auto;
        background-size: 947px 420px;
    }
    
    #menu04 .pc-inner .wrapper{
        width: 1020px;
        margin: 0 auto;
        justify-content: center;
    }
    
    #menu05{
        min-height: 603px;
        background-size: 516px 603px;
    }

    #menu06{
        min-height: 639px;
        background-size: 550px 639px;
    }
    
    #menu07{
        min-height: 590px;
        background-size: 564px 590px;
    }
    
}*/

@media only screen and (min-width: 1100px) {
    
    /*.cont-wrap{
        max-width: 1200px;
        margin: 0 auto;
    }*/
    
    .pc-inner{
        width: 78vw;
        max-width: 864px;
        margin: 0 auto;
    }

    #menu01{
        min-height: 623px;
        background-size: 819px 623px;
    }
    
    #menu02{
        min-height: 607px;
        background-size: 580px 607px;
    }
    
    #menu03{
        min-height: 685px;
        background-size: 530px 685px;
    }
    
    #menu04 .pc-inner{
        /*max-width: 1020px;*/
        max-width: inherit;
        width: auto;
        margin: 0 auto;
        background-size: 947px 420px;
    }
    
    #menu04 .pc-inner .wrapper{
        /*width: 1020px;*/
        margin: 0 auto;
        justify-content: center;
    }
    
    #menu05{
        min-height: 603px;
        background-size: 542px 603px;
    }

    #menu06{
        min-height: 675px;
        background-size: 591px 675px;
    }
    
    #menu07{
        min-height: 590px;
        background-size: 762px 590px;
    }
    
    #menu01 .wrapper, #menu03 .wrapper, #menu05 .wrapper, #menu07 .wrapper{
        /*margin-right: 11vw;*/
        margin-right: 0;
    }
    
    #menu02 .wrapper, #menu06 .wrapper{
        /*margin-left: 11vw;*/
        margin-left: 0;
    }
}

@media only screen and (min-width: 1518px) {
    
    .cont-wrap{
        max-width: 1518px;
        margin: 0 auto;
    }
    
    #menu01{
        min-height: 591px;
        background: url(../img/mirai/bg_menu01_pc@3x.png?17) no-repeat left top;
        background-size: 776px 591px;
    }
    
    #menu02{
        min-height: 607px;
        background: url(../img/mirai/bg_menu02_pc@3x.png?18) no-repeat right 10vw top;
        background-size: 580px 607px;
    }
    
    #menu03{
        min-height: 685px;
        background: url(../img/mirai/bg_menu03_pc@3x.png?18) no-repeat left 11vw top;
        background-size: 530px 685px;
    }
    
    #menu04 .pc-inner{
        /*max-width: 1020px;*/
        max-width: 1020px;
        margin: 0 auto;
        background-size: 947px 420px;
    }
    
    #menu04 .pc-inner .wrapper{
        /*width: 1020px;*/
        margin: 0 auto;
        justify-content: center;
    }
    
    #menu05{
        min-height: 603px;
        background: url(../img/mirai/bg_menu05_pc@3x.png?18) no-repeat left 7vw top;
        background-size: 542px 603px;
    }

    #menu06{
        min-height: 675px;
        background: url(../img/mirai/bg_menu06_pc@3x.png?18) no-repeat right 9vw top;
        background-size: 591px 675px;
    }
    
    #menu07{
        min-height: 590px;
        background: url(../img/mirai/bg_menu07_pc@3x.png?18) no-repeat left top;
        background-size: 762px 590px;
    }
    
    /*#menu01 .wrapper,
    #menu03 .wrapper,
    #menu05 .wrapper,
    #menu07 .wrapper{
        margin: 0 209px 0 auto;
    }
    
    #menu02 .wrapper,
    #menu06 .wrapper{
        margin: 0 auto 0 209px;
    }*/
    
}