@charset "utf-8";
@import url("reset.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..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;
}

html {
    font-size: 16px;
}

body {
    width: 100%;
    height: 100%;
    color: #222;
    font-family: "Noto Sans JP", sans-serif;
    background-color: #fff;
    line-height: 1.0;
}

/*明朝*/
/*
    font-family: "Noto Serif JP", serif;
*/

button,
input[type="search"],
input[type="text"],
input[type="submit"]{
    font-family: 'Noto Sans JP', sans-serif;
}

img{
    vertical-align:bottom;
}

#container{
    width: 100%;
    position: relative;
}

/*----------header----------*/
header{
}

/*----------contents----------*/
.contents{
    position:relative;
    top:0;
    left:0;
    z-index:0;
}

.contents a[href^="tel"] {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
}

/*-----nav_oc-----*/
.nav_oc{
    width: 4.375rem;
    height: 4.375rem;
    position: fixed;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 10;
    transition: .3s all ease;
}

    .menu-trigger{
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        border: none;
        background: none;
        cursor: pointer;
        outline: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: #800000;
        transition: .3s all ease;
    }

    .menu-trigger:hover{
        filter: brightness(1.1);
    }

    .menu-trigger.active{
        background: rgb(128,0,0,0);
    }

        .menu-trigger .lines{
            position: relative;
            display: block;
            width: 2.75rem;
            height: 2rem;
            transition: .3s all ease;
        }

            .menu-trigger .lines span {
                display: inline-block;
                transition: all .4s;
                box-sizing: border-box;
                background-color: #fff;
                position: absolute;
                left: 0;
                height: 3px;
            }

            .menu-trigger .lines span:nth-of-type(1) {
                top: 0;
                width: 2.75rem;
            }

            .menu-trigger .lines span:nth-of-type(2) {
                top: calc(50% - 1.5px);
                width: 2.25rem;
            }
            .menu-trigger .lines span:nth-of-type(3) {
                bottom: 0;
                width: 1.75rem;
            }

            .menu-trigger.active .lines span{
                background-color: #800000;
            }

            .menu-trigger.active .lines span:nth-of-type(1) {
                transform: translateY(1rem) rotate(-315deg);
            }

            .menu-trigger.active .lines span:nth-of-type(2) {
                opacity: 0;
            }

            .menu-trigger.active .lines span:nth-of-type(3) {
                transform: translateY(-0.8rem) rotate(315deg);
                width: 2.75rem;
            }

/*-----side_nav-----*/
.side_nav{
    box-sizing: border-box;
    position: fixed;
    top: 0;
    right: 0;
    z-index: -1;
    opacity: 0;
    width: 30%;
    height: 100%;
    transition: .4s all ease;
    background: rgba(255,255,255,0);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 5.5rem;
    transform: translateX(1rem);
}

.side_nav.active{
    z-index: 9;
    opacity: 1;
    background: rgba(255,255,255,0.95);
    box-shadow: -10px 0 20px -20px rgba(0,0,0,0.5);
    transform: translateX(0);
}

    .side_nav .side_global_nav{
        box-sizing: border-box;
        width: 100%;
        padding: 0 8%;
        margin-top: 0;
        font-size: 1.2em;
    }

        .side_nav .side_global_nav > ul{
            width: 100%;
            line-height: 1.3;
        }


            .side_nav .side_global_nav > ul > li{
                position: relative;
                margin-bottom: 0.5em;
            }

            
                .side_nav .side_global_nav > ul > li > a{
                    display: block;
                    font-size: 1.05em;
                    padding: 0.5em;
                    color: #222;
                    text-decoration: none;
                    font-weight: 500;
                    border-radius: 0.25rem;
                    transition: .4s all ease;
                }

                .side_nav .side_global_nav > ul > li > a:hover{
                    color: #800000;
                    background: rgb(128,0,0,0.1);
                }

                .side_nav .side_global_nav > ul > li > ul{

                }

                    .side_nav .side_global_nav > ul > li > ul li{
                        
                    }

                    .side_nav .side_global_nav > ul > li > ul li a{
                        display: block;
                        color: #222;
                        text-decoration: none;
                        padding: 0.5em 1em 0.4em 1em;
                        border-radius: 0.25rem;
                        transition: .4s all ease;
                    }

                    .side_nav .side_global_nav > ul > li > ul li a:hover{
                        color: #800000;
                        background: rgb(128,0,0,0.1);
                    }


/*ページトップ*/
.pagetop{
    width:5rem;
    height:5rem;
    position:fixed;
    bottom:5.625rem;
    right:1.25rem;
    z-index:10;
    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;
        background: #800000;
        padding-bottom: 0.2rem;
        box-shadow: 0 0 10px 2px rgba(0,0,0,0.1);
    }
    
    .pagetop a:hover{
        filter: brightness(1.1);
    }

        .pagetop a .fig{
            width: 3rem;
        }

            .pagetop a .fig img{
                max-width: 100%;
                height: auto;
            }



/*ヘッダ固定によるアンカーずれ対応*/
/*
*[id^="anc_"]{
    padding-top: 7.5rem;
    margin-top:-7.5rem;
}
*/


/*改行の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;
}

/*1300px以下*/
@media screen and (min-width:1px) and (max-width:1300px){
}


/*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;
    }

    .side_nav{
        width: 50%;
    }

    
}

/* ##########印刷用########## */
@media print{
    .pagetop{
        display: none;
    }
    
}