

/* ==========================================================
*
* Basic Setting
*
========================================================== */
body.locked {
    height: 100%;
    overflow: hidden;
}


a {
    text-decoration:none;
    color: inherit;

    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;

    color:#ff6d57;
}

a *{
    pointer-events:none;
}

.pc a:hover {
    text-decoration: underline;
    color: #ff6400;
}



/***********************************
共通パーツ
***********************************/

.noPC{
    display:none;
}

.noSP{
    display:initial;
}

.alCenter{
    text-align:center;
}

address{
    font-size:1.2rem;
}


/*丸ボタン*/
a.circleBtn{
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background-color:#f5c557;
}
.pc a.circleBtn:hover{
    text-decoration:none;
    background-color: #ff6d57!important;
}


/* for Sp --------------------*/
@media screen and ( max-width:738px) {
    

    .noPC{
        display:initial;
    }

    .noSP {
        display: none !important;
    }

}


@media screen and (max-width:480px){

    body.opNav{
        height:100%;
        overflow:hidden;
    }
}



/***********************************
 グローバルナビ
 ***********************************/
#gNavi{
    display:block;
    width:100vw;
    /*overflow:hidden;*/
    position:fixed;
    top:0;
    left:0;
    z-index:100;
}

#gNavi ul{
    display:block;
    overflow:hidden;
    width:25vw;
    height:100vh;
    background-color:rgba(255,235,50,0.95);
    padding-top:100px;
    position:absolute;
    top:0;
    right:-25vw;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

#gNavi ul > li{
    display:block;
    overflow:hidden;
    border-bottom:1px solid #ffffff;
}

#gNavi ul > li > a{
    display:block;
    overflow:hidden;
    padding:0.5em 1em;
    font-size: 1.8rem;
    line-height:155%;
    color:#000000;
}

.pc #gNavi ul > li > a:hover{
    text-decoration:none;
    color:#ffffff;
    background-color: #ff6d57;
}


.opNav #gNavi ul{
    right:0;
}


/* for Sp --------------------*/
@media screen and (max-width:480px){

    #gNavi ul{
        width:65vw;
        right:-100vw;
    }

}



/***********************************
 ハンバガーメニュー
 ***********************************/
a#menuBtn{
    display:inline-block;
    overflow:hidden;
    width:80px;
    height:80px;
    position:absolute;
    top:10px;
    right:30px;
    z-index:110;
}

a#menuBtn > span{
    display:block;
    overflow:hidden;
    width: 50%;
    height:3px;
    background-color:#ffffff;
    position:absolute;
    left:25%;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

a#menuBtn > span:nth-child(1){
    top:35%;
}
a#menuBtn > span:nth-child(2){
    top:50%;
}
a#menuBtn > span:nth-child(3){
    top:65%;
}

.opNav a#menuBtn > span:nth-child(1){
    transform:rotate(225deg);
    top:50%;
}

.opNav a#menuBtn > span:nth-child(2){
    transform:rotate(-180deg);
    opacity:0
}

.opNav a#menuBtn > span:nth-child(3){
    transform:rotate(-225deg);
    top:50%;
}


/* for Sp --------------------*/
@media screen and (max-width:480px){

    a#menuBtn{
        width:12vw;
        height:12vw;
        top:10px;
        right:10px;
    }

}


/***********************************
 本文
 ***********************************/

#mainContent{
     display:block;
     overflow:hidden;
     width:100%;
     max-width:1024px;
     margin:0 auto;
     position:relative;
     padding-top:25px;
}

.dataFrame{
     display:block;
     overflow:hidden;
     width:100%;
     position:relative;
}

.dataFrame > .innerFrame{
     display:block;
     overflow:hidden;
     width:95%;
     margin:0 auto;
     position:relative;
}



/* for Sp --------------------*/
@media screen and (max-width:480px){

    #mainContent{
         padding-top:0;
    }

    
    .dataFrame > .innerFrame{
         width:90vw;
    }
}



/***********************************
 ページTOPボタン
 ***********************************/
a#topBtn{
    display:inline-block;
    overflow:hidden;
    width:60px;
    height:60px;

    font-size:2.8rem;
    color:#ffffff;
    line-height:55px;
    text-align:center;

    -webkit-border-radius: 50%;
    border-radius: 50%;
    background-color:#f5c557;
    border:1px;

    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;

    position:fixed;
    bottom:25px;
    right:25px;
    opacity:0.0;
    pointer-events:none;

    z-index:4;
}


.scon a#topBtn{
    opacity:1.0;
    pointer-events:initial;
}

/* for Sp --------------------*/
@media screen and (max-width:480px){
    



}



/***********************************
 第二階層ページ
***********************************/

body.subPage{
    background-image: url('../images/main.png');
    background-repeat:no-repeat;
    background-position:bottom left;
    background-size:cover;
    background-color:rgba(255,255,255,0.45);
    background-blend-mode:lighten;
    background-attachment: fixed;
}

.subPage .innerFrame{
    padding:1em 2em;
    width:90%;
    margin:0 auto;
    background-color:rgba(255,255,255,0.8);
    -webkit-border-radius: 10px;
    border-radius: 10px;
}


.subPage h1{
    display:block;
    overflow:hidden;
    text-align:center;
    font-size:2.8rem;
    font-weight:700;
    line-height:125%;
    color:#000000;
    padding: 0.5em 0;
    /*background-color: #d42a4f;*/
}

/* for Sp --------------------*/
@media screen and (max-width:480px){

    .subPage .innerFrame{
        padding:3vw 3vw;
        width:calc(100% - 6vw);
    }

}


/*タイトル*/
#logo{
    display:block;
    overflow:hidden;
    width:100%;
    padding:0 100px;
    text-align:center;
    filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.25));
    /*background-color:#ffffff;*/
}

#logo img{
    width:100%;
    height:auto;
    max-width:1024px;
}

#logo > p{
    display:block;
    overflow:hidden;
    width:100%;
    max-width:1024px;
    margin:0 auto;
    font-size:1.8rem;
    font-weight:700;
    line-height:125%;
    text-align:left;
}

#logo > p > span{
    display:inline-block;
}

#logo > p > span:nth-child(1){
    float:right;
}


@media screen and (max-width:480px){

    #logo{
        padding:0 0;
    }

    #logo img{
        width:calc(100% - 6vw);
    }

    #logo > p{
        padding:0 0;
        text-align:center;
        font-size:1.8rem;
    }

    #logo > p > span{
        display:block;
    }

    #logo > p > span:nth-child(1){
        float:none;
        font-size:1.6rem;
        margin-bottom:0.5em;
    }

}


a[href$="contact.html"]{
    pointer-events:none;
    opacity:0.5;
}
a[href$="contact.html"]::after{
    content:"(工事中)";
}
