/*=============================================================================
    box-sizing
=============================================================================*/
*{
    box-sizing:border-box;
}

/*=============================================================================
    font size setting
=============================================================================*/
html { font-size: 62.5%;}
body { font-size: 1.0rem;}

/*=============================================================================
    base link style]
=============================================================================*/
a{
    outline: none;
}
a:link{
    color: #000;
    text-decoration:none;
}
a:visited{
    color: #000;
    text-decoration:none;
}
a:hover{
    min-height: 1em;
    color: #ff5500;
    text-decoration:none;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=80)";
}

/*=============================================================================
    zoom
=============================================================================*/
a.scale:hover .scaleContent{
    transform: scale(1.05);
}
.scaleContent{
    transition: all 1s cubic-bezier(0.195, 0.84, 0.68, 1) 0s;
    will-change: transform;
}

/*=============================================================================
    通常
=============================================================================*/
#hdSpGnavWrap {
    background: rgba(255, 255, 255, 0.8) none repeat scroll 0 0;
    cursor: pointer;
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}
    #hdSpGnav {
        margin-top: 90px;
        text-align: center;
    }
    #hdSpGnav li{
        margin-top: 20px;
    }
    #hdSpGnav li a{
        font-size: 1.8rem;
        font-weight: bold;
        text-decoration: none;
    }

    #hdSpExLink{
        margin-top: 30px;
    }
        #hdSpExLink li{
            font-size: 1.8rem;
            font-family: "Montserrat",sans-serif;
        }
        #hdSpExLink li:not(:first-child){
            padding:10px 0 0;
        }
        #hdSpExLink li a{
            border: 1px solid #b2b2b2;
            display: block;
            margin: 0 auto;
            padding: 2px 0;
            width: 303px;
        }
    #hdSpSns{
        margin-top: 30px;
    }
    #hdSpSns ul{
    }
        #hdSpSns li{
            display: inline;
            padding: 0 5px;
        }
        #hdSpSns li img {
            height: 56px;
            width: 56px;
        }

#header{
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height:80px;
    background-color: #fff;
}
    #header > .inner{
    }

    #hdCi{
        position: absolute;
        top:20px;
        left:40px;
        /*
        float: left;
        padding:20px 40px;
        */
    }
    #hdGnav{
        display: inline-block;
        margin: 0 auto;
        /*float: left;*/
    }
    #hdGnav ul{
        padding:30px 20px 0;
    }
    #hdGnav li{
        font-family: "Montserrat",sans-serif;
        float: left;
        padding:0 20px;
        font-size: 1.3rem;
    }
    #hdExLink{
        position: absolute;
        top:0px;
        right:0px;
        /*
        float: right;
        */
    }
    #hdExLink ul{
        padding:10px 40px;
    }
    #hdExLink li{
        font-size: 1.3rem;
        font-family: "Montserrat",sans-serif;
    }
    #hdExLink li:nth-child(2){
        padding:5px 0 0;
    }
    #hdExLink li a{
        line-height: 1;
        border: 1px solid #b2b2b2;
        color: #000;
        display: block;
        padding: 5px 0;
        text-align: center;
        text-decoration: none;
        width: 152px;
    }
    #hdSpGnavBtn{
        cursor: pointer;
        display: none;
        position: absolute;
        right: 10px;
        top: 27px;
        transition: all 0.3s ease 0s;
        z-index: 101;
    }
        #hdSpGnavBtn img {
            height: 24px;
            width: 36px;
        }


#footer{
    background: #000;
}
#footer > .inner{
}
#footer > .inner > .upper{
    padding:30px;
}
#footer > .inner > .lower{
    position: relative;
    border-top:1px solid #FFF;
    padding:30px;
}
    #ftBreadcrumb{
        float: left;
    }
        #ftBreadcrumb ul{
            font-size: 1.1rem;
        }
        #ftBreadcrumb li{
            float: left;
            color:#FFF;
        }
        #ftBreadcrumb li:not(:first-child):before {
            content: ">";
            display: inline-block;
            padding: 0 5px;
        }
            #ftBreadcrumb li a{
                color:#FFF;
            }
    #ftSns{
        float: right;
    }
        #ftSns ul{
        }
        #ftSns li{
            float: left;
        }
    #ftNavWrap{
        position: absolute;
        top:30px;
        right:30px;
        text-align: right;
    }
        #ftNav{
        }
            #ftNav ul{
                font-size: 1.1rem;
            }
            #ftNav li{
            }
            #ftNav li a{
                color:#FFF;
            }
        #ftCopy{
            color:#FFF;
            font-size: 1.1rem;
        }

/*=============================================================================
    responsive
=============================================================================*/
@media screen and (min-width: 1400px) {
    #hdExLink ul{
        overflow: hidden;
        padding:10px 20px;
    }
    #hdExLink li{
        float: left;
        padding:20px 10px 0;
    }
    #hdExLink li:nth-child(2){
        padding:20px 10px 0;
    }

}

@media screen and (max-width: 1240px) {
    #hdGnav li{
        padding:0 10px;
    }
}
@media screen and (max-width: 1080px) {
#hdCi{
    position: static;
    float: none;
    padding:20px 40px;
}
#hdGnav{
    display: none;
}
#hdExLink{
    display: none;
}
#hdSpGnavBtn{
    display: block;
}
#header{
    height:80px;
}
}
@media screen and (max-width: 980px) {
}
@media screen and (max-width: 800px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 768px) {
    a:hover{
        color: #000;
        opacity: 1;
        filter: alpha(opacity=100);
        -ms-filter: "alpha(opacity=100)";
    }
    a.scale:hover .scaleContent{
        transform: scale(1);
    }
    #ftSns{
        display: none;
    }
    #ftNavWrap{
        padding:30px 0 0;
        position: static;
        text-align: right;
    }
    .pc #ftBreadcrumb {
        display: none;
    }
    .sp #ftBreadcrumb {
        width: 100%;
        overflow: hidden;
        text-align: left;
    }
    /*
    .sp #ftBreadcrumb > .inner{
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
    }
    .sp #ftBreadcrumb ul{
        padding:5px 0 ;
        width:756px;
    }
    */
}
@media screen and (max-width: 640px) {
}
@media screen and (max-width: 480px) {
}
@media screen and (max-width: 420px) {
}
@media screen and (max-width: 320px) {
}