html,body{
    font-family: "Noto Sans JP", sans-serif;
    font-weight:400;
    font-size: 16px;
    line-height: 1.5;
    background:#fff;
    color:#000;
}
:root{
    --bg_color:#0D1028;
    --ac_color:#0153BF;
    --pt_color:#FAD200;
}
a{
    display:inline-block;
    color:inherit;
    text-decoration: none;
}
img{
    max-width: 100%;
}
ul{
    padding:0;
    margin:0;
    list-style: none;
}
dl,dt,dd{
    padding:0;
    margin:0;
}
h2{
    position: relative;
    font-weight: 700;
    font-size: 2rem;
    margin:1rem 0;
    padding:0;
    padding-left: .7em;
    font-weight: 500;
}
h2::before{
    content:'';
    display: block;
    position: absolute;
    left:0;
    top:0;
    width:.2em;
    bottom:0;
    background:var(--ac_color);
}
section{
    margin-bottom: 10vh;
}
.wrap{
    width:1200px;
    max-width: 100%;
    margin:0 auto;
}

.pad1em{
    padding:1rem;
}
.tx_ac{
    color:var(--ac_color);
}
.bg_ac{
    color:#fff;
    background:var(--ac_color);
}
.tx_pt{
    color:var(--pt_color);
}
.bg_pt{
    color:#fff;
    background:var(--pt_color);
}
.tx_red{
    color:#f17;
}
.sp_only{
    display:none;
}

/*header*/
header{
    background:var(--bg_color);
    color:#fff;
    padding:1rem;
}
header .head_logo{
    display:flex;
    justify-content: center;
    height:3rem;
    position: relative;
}
header .head_logo img{
    height:100%;
    width:auto;
}
header .head_nav{
    margin-top:1rem;
}
header .head_nav_ul{
    display:flex;
    justify-content: center;
    align-items: center;
}
header .head_nav_ul li{
    padding:0 1em;
    line-height: 1;
}
header .head_nav_ul li:not(:last-of-type){
    border-right: 1px solid #fffc;
}
header .head_nav_ul li a{
    color:#fff;
}
header .head_nav_ul li a:hover{
    color:var(--pt_color);
}

/*footer*/
footer{
    padding:2rem 0;
    text-align: center;
}

/*loading*/
#loading{
    position: fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    justify-content: center;
    align-items: center;
    background:#0005;
    z-index: 100;
    display:none;
}
#loading.active{
    display:flex;
}
#loading img{
    width:25%;
}
@media(max-width:1220px){
    .wrap{
        padding:0 .5rem;
    }

}
@media(max-width:768px){
    .pc_only{
        display:none;
    }
    
}
@media(max-width:767px){
    .sp_only{
        display: initial;
    }
}
@media(max-width:640px){
    header .head_logo{
        justify-content: space-between;
        align-items: center;
        height:auto;
    }
    header .head_logo a{
        width:60%;
    }
    header .head_logo img{
        width:100%;
        height:auto;
    }
    header .head_logo i{
        font-size: 2rem;
    }
    header .head_nav{
        display:none;
        position: absolute;
        left:0;
        width:100%;
        background: var(--bg_color);
        z-index: 9;
    }
    header.active .head_nav{
        display:block;
    }
    header .head_nav_ul{
        align-items: flex-start;
        flex-direction: column;
    }
    header .head_nav_ul li{
        border:0;
        border-top: 1px solid #ccc!important;
        width:100%;
        padding: 1em;
    }
    header .head_nav_ul li:not(:last-of-type){
        border:0;
        
    }
    header .head_nav_ul li a{
        padding:.5em 0;
    }
    .wrap{
        padding:0 1rem;
    }
    .link_area a{
        font-size: .9em;
        padding:.7em 0;
        text-align: center;
        width: 100%;
    }

}