@charset "utf-8";
/*--京base_sp.css--*/
/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    /* iOSでのデフォルトスタイルをリセット */
    input[type="submit"],
    input[type="button"] {
        border-radius: 0;
        -webkit-box-sizing: content-box;
        -webkit-appearance: button;
        appearance: button;
        border: none;
        box-sizing: border-box;
        cursor: pointer;
    }
    input[type="submit"]::-webkit-search-decoration,
    input[type="button"]::-webkit-search-decoration {
        display: none;
    }
    input[type="submit"]::focus,
    input[type="button"]::focus {
        outline-offset: -2px;
    }

    html{
        font-size: 3.6vw;
        min-width: auto;
    }

    body{
        min-width:initial;
        min-width:auto;
        overflow-y: scroll;
    }

    #container{
        min-width: auto;
        padding-top: 16vw;
    }

    header > .box_inner{
        height: 16vw;
    }

    .small_header header > .box_inner{
        height: 16vw;
    }

    header > .box_inner .ku_logo_site_title{
        padding: 0.7rem 0 0 0.5rem;
    }

    .small_header header > .box_inner .ku_logo_site_title{
        padding: 0.7rem 0 0 0.5rem;
    }

    header > .box_inner .ku_logo_site_title .ku_logo{
        margin-right: 3vw;
        width: 10vw;
    }

    .small_header header > .box_inner .ku_logo_site_title .ku_logo{
        margin-right: 3vw;
        width: 10vw;
    }

    header > .box_inner .ku_logo_site_title .site_title{
        width: 40vw;
    }

    .small_header header > .box_inner .ku_logo_site_title .site_title{
        width: 40vw;
    }

    header > .box_inner .site_nav{
        display: none;
    }

    /*links_box*/
    .links_box{
        padding: 6vw 5vw;
    }

    .links_box .box_inner ul{
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 1rem;
    }

    /*footer*/
    footer{}

    footer > .box_header .f_contact_box{
        padding: 2rem 5vw;
    }

    footer > .box_header .f_contact_box > dl{
        display: block;
    }

    footer > .box_header .f_contact_box > dl > dt{
        width: 40vw;
        margin: 0 auto 5vw auto;
        text-align: center;
    }

    footer > .box_header .f_contact_box > dl > dd{
        display: block;
    }

    footer > .box_header .f_contact_box > dl > dd .addr_info{
        margin-right: 0;
        margin-bottom: 5vw;
        text-align: center;
    }

    footer > .box_header .f_contact_box > dl > dd .btn_goto_contact a{
        width: 70vw;
        height: 12vw;
        border-radius: 6vw;
        margin: 0 auto;
    }

    footer > .box_header .f_contact_box > dl > dd .btn_goto_contact a .fig{
        width: 5vw;
        margin-right: 1vw;
    }

    footer > .box_header .f_contact_box > dl > dd .btn_goto_contact a:after{
        content: "";
        display: block;
        width: 1.5vw;
        height: 3vw;
        background-image: url(../shared/icon_tri1.png);
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        top: 4.5vw;
        right: 3vw;
    }

    footer > .box_inner{
        padding: 1.5rem 0;
    }

    footer > .box_inner .f_site_title{
        margin-bottom: 0;
    }

    footer > .box_inner .f_site_title a .fig1{
        width: 25vw;
        margin-right: 4vw;
    }

    footer > .box_inner .f_site_title a .fig2{
        width: 46vw;
    }

    footer > .box_inner .f_nav{
        display: none;
    }

    footer > .box_footer {
        padding-bottom: 1.5rem;
    }

    *[id^="anc_"] {
        padding-top: 25vw;
        margin-top: -25vw;
    }

    /*ハンバーガーボタン*/
    .nav_oc{
        display:block;
        position:fixed;
        z-index:99;
        text-align:center;
        width: 14vw;
        height: 14vw;
        top: 1vw;
        right: 0;
    }

    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }

    .menu-trigger {
        position:relative;
        width: 100%;
        height: 100%;
        border:none;
        outline:none;
        background: #081870;
        cursor:pointer;
    }

    .menu-trigger span {
        width: 5vw;
        left: 4.5vw;
        height: 1px;
        background: #fff;
        position: absolute;
    }

    .menu-trigger span:nth-of-type(1) {
        top: 4.8vw;
    }

    .menu-trigger span:nth-of-type(2) {
        top: calc(7vw - 0.5px);
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 4.8vw;
    }

    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(2vw) rotate(-315deg);
        transform: translateY(2vw) rotate(-315deg);
    }

    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }

    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-2.2vw) rotate(315deg);
        transform: translateY(-2.2vw) rotate(315deg);
    }



    /*ナビゲーション*/
    .side_nav{
        display:block;
        position:fixed;
        top:0;
        right:0;
        box-sizing:border-box;
        width:100vw;
        height:100vh;
        transition:.3s all ease;
        z-index:-1;
        opacity:0;
    }

    .side_nav.active{
        padding:18vw 4vw 0 4vw;
        z-index:98;
        opacity:1;
        background:rgba(237,239,249,0.95);

    }

    .side_nav ul{}

    .side_nav ul li{}

    .side_nav ul li a{
        display:block;
        text-decoration:none;
    }

    .side_nav .side_global_nav{
        display: flex;
        justify-content: space-between;
    }

    .side_nav .side_global_nav > ul{
        width: calc((100% - 4vw) / 2);
    }

    .side_nav .side_global_nav > ul > li{
        width:100%;
        margin-bottom:1.5vw;
    }

    .side_nav .side_global_nav > ul > li > a{
        color:#111;
        font-size:3.4vw;
        padding:0.9em 2vw;
        border:1px solid #fff;
        background:#fff;
        box-shadow:0 0 1px 1px rgba(0,0,0,0.1);
        border-radius: 2px;
        position: relative;
    }

    .side_nav .side_global_nav > ul > li > a:before{
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 2vw 2vw;
        border-color: transparent transparent #0148a4 transparent;
        position: absolute;
        bottom: 0.2vw;
        right: 0.2vw;
    }

    .side_nav .side_global_nav > ul > li > ul{
        padding: 2vw;
        font-size: 0.9em;
    }

    .side_nav .side_global_nav > ul > li > ul > li{
        margin-bottom: 0.1em;
    }

    .side_nav .side_global_nav > ul > li > ul > li:last-child{
        margin-bottom: 0;
    }

    .side_nav .side_global_nav > ul > li > ul > li a{
        color: #111;
        padding: 0.3em 0 0.3em 0.8em;
        position: relative;
    }

    .side_nav .side_global_nav > ul > li > ul > li a:before{
        font-family: FontAwesome;
        content:"\f105";
        color: #555;
        display: inline-block;
        position: absolute;
        top: 0.3em;
        left: 0;
    }
    
    /*ページトップ*/
    .pagetop{
        width:14vw;
        height:14vw;
        bottom:12vw;
        right:4vw;
    }
    
}


