@charset "utf-8";
@import url("reset.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
/*--京base.css--*/
/* 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;
}

input,textarea {
    /*-webkit-appearance: none;一時解除*/
}

html {
    font-size: 16px;
    height: -webkit-fill-available;
}

body {
    width: 100%;
    height: 100%;
    color: #222;
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #fff;
    line-height: 1.0;
    -webkit-text-size-adjust: 100%;
}

button,
input[type="search"],
input[type="text"],
input[type="submit"],
select{
    font-family: 'Noto Sans JP', sans-serif;
}

img{
    vertical-align:bottom;
}

#container{
    width: 100%;
    position: relative;
    min-height: 100vh;
    min-height: -webkit-fill-available;
}

/*----------header----------*/
header{
    width:100%;
    background: #d0effc;
    transition: .3s all ease;
    box-shadow: 0 3px 10px -5px rgba(0,0,0,0.1);
}

header > .box_inner {
    box-sizing: border-box;
    width: 100%;
    height: 3rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 3vw;
    padding-left: 3vw;
    transition: .3s all ease;
}

.no_login header > .box_inner {
    justify-content: center;
}

header > .box_inner > .site_title {}

header > .box_inner > .site_title a{
    display: flex;
    align-items: center;
    transition: .3s all ease;
    color: #222;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 600;
}

header > .box_inner > .site_title a:hover{
    opacity: 0.8;
}

    header > .box_inner > .site_title a .fig_logo{
        margin-right: 0.5rem;
        width: 1.6rem;
    }

        header > .box_inner > .site_title a .fig_logo img{
            max-width: 100%;
            height: auto;
        }

    header > .box_inner > .site_title a .lbl_org_sys{
        display: flex;
    }

        header > .box_inner > .site_title a .lbl_org{
            margin-right: 0.5em;
        }


header > .box_inner > .user_name_global_nav{
    display: flex;
    align-items: center;
}

    header > .box_inner .user_name{
        margin-right: 1em;
    }

    header > .box_inner .global_nav{
    }

        header > .box_inner .global_nav ul{
            display: flex;
        }

            header > .box_inner .global_nav ul li{
                margin-right: 1vw;
            }

            header > .box_inner .global_nav ul li:last-child{
                margin-right: 0;
            }

                header > .box_inner .global_nav ul li a{
                    text-decoration: none;
                    display: block;
                    background: #3f9ecf;
                    color: #fff;
                    padding: 0.5em 0.8em;
                    border-radius: 0.25rem;
                    transition: .3s all ease;
                }

                header > .box_inner .global_nav ul li a:hover{
                    filter: brightness(1.1);
                }

                    header > .box_inner .global_nav ul li a:before{
                        font-family: FontAwesome;
                        display: inline-block;
                        margin-right: 0.3em;
                    }

                    header > .box_inner .global_nav ul li.gn_mypage a:before{
                        content:"\f007";
                    }

                    header > .box_inner .global_nav ul li.gn_logout a:before{
                        content:"\f08b";
                    }

/*----------contents----------*/
.contents{
    box-sizing: border-box;
    position:relative;
    top:0;
    left:0;
    z-index:0;
    padding: 1rem 2rem;
    height: calc(100vh - 3rem);
}

.contents h2{
    position: relative;
    padding-left: 1.3em;
}

.contents h2:before{
    font-family: FontAwesome;
    content:"\f111";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    color: rgba(63,158,207,0.7);
    font-weight: normal;
}

/*-----footer-----*/
footer {
    position: relative;

}



/*ページトップ*/
.pagetop{
    width:90px;
    height:90px;
    position:fixed;
    bottom:90px;
    right:60px;
    z-index:8;
    transform:translateY(100px);
    transition:.3s all ease;
    opacity:0;
}

.pagetop.show{
    transform:translateY(0);
    opacity:1;
}

.pagetop a{
    box-sizing: border-box;
    display:flex;
    justify-content: center;
    align-items: center;
    transition:.5s all ease;
    width:100%;
    height:100%;
    text-decoration:none;
    border-radius: 50%;
    background: rgba(0,65,40,0.8);
    padding-bottom: 0.2rem;
}

.pagetop a:hover{
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
    background: rgba(0,65,40,1);
}


.pagetop a:before{
    font-family: FontAwesome;
    content:"\f106";
    color: #fff;
    font-size: 2.4rem;
}


/*ヘッダ固定によるアンカーずれ対応*/
*[id^="anc_"]{
    padding-top: 110px;
    margin-top:-110px;
}


/*改行のPC,SPでの表示切替*/
br.pc,
img.pc,
span.pc{
    display:inline;
}

br.sp,
img.sp,
span.sp{
    display:none;
}

.ta_center{
    text-align:center;
}

.ta_left{
    text-align:left;
}

.ta_right{
    text-align:right;
}

/*1200px以下*/
@media screen and (min-width:1px) and (max-width:1200px){}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
    html {
        font-size: 1.8vw;
    }

    .contents{
    }

    footer > .box_header .site_title{
        width: 35vw;
    }

    .pagetop{
        width: 10vw;
        height: 10vw;
        bottom: 5vw;
        right: 5vw;
    }

    /*ヘッダ固定によるアンカーずれ対応*/
    *[id^="anc_"]{
        padding-top: 7.5rem;
        margin-top:-7.5rem;
    }

}

/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {

}


/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {

    html{
        font-size: 3.6vw;
        min-width: auto;
    }

    body {
        min-width:initial;
        min-width:auto;
        overflow-y: scroll;
    }

    #container{
        min-width:initial;
        min-width:auto;
    }
    
    /*----------header----------*/
    header > .box_inner{
        height: 4rem;
        padding-right: 2vw;
        padding-left: 2vw;
    }
    
        header > .box_inner > .site_title a{
            font-size: 0.8rem;
        }
    
            header > .box_inner > .site_title a .lbl_org_sys{
                flex-direction: column;
            }
    
                header > .box_inner > .site_title a .lbl_org {
                    margin: 0 0 0.3em;
                    white-space: nowrap;
                }
    
        .no_login header > .box_inner > .site_title a{
            font-size: 1.1rem;
        }
    
            .no_login header > .box_inner > .site_title a .lbl_org_sys{
                flex-direction: row;
            }
    
                .no_login header > .box_inner > .site_title a .lbl_org {
                    margin: 0 0.5em 0 0;
                }
    
        header > .box_inner .user_name{
            font-size: 0.9rem;
            margin: 0;
            padding: 0 0.5em;
        }
    
        header > .box_inner .global_nav ul li a{
            font-size: 0.9rem;
            padding: 0.5em;
            line-height: 1.2;
            white-space: nowrap;
            text-align: center;
            position: relative;
        }
    
    .contents{
        padding: 1rem 1.5rem;
    }



    /*ページトップ*/
    .pagetop{
        width:16vw;
        height:16vw;
        bottom:25vw;
        right:4vw;
    }

    .pagetop a{
        border-width: 0.75rem;
    }

    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

    br.sp,
    img.sp,
    span.sp{
        display:inline;
    }

    .tel_no{
        display: none;
    }

    /*ヘッダ固定によるアンカーずれ対応*/
    *[id^="anc_"]{
        padding-top: 20vw;
        margin-top:-20vw;
    }
}



/* ##########印刷用########## */
@media print{
    header{
        position:relative;
    }

    .pagetop{
        display: none;
    }

}