@charset "UTF-8";

@import url(/css/setting.css);

body{
    background: var(--colorL);
    color: var(--color01);
    font-family: var(--fontN);
    font-size: var(--font14-16);
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
img{
    width: 100%;
}
a{
    text-decoration: none;
}

/*==========
Link Button
==========*/
.link_tel a{
    color: var(--color02);
    max-width: 370px;
    position: relative;
}
.link_tel a p{
    font-size: var(--font26-30);
    font-weight:600;
    padding: 0 0 5px 40px;
    position: relative;
}
.link_tel a p:before{
    content: "";
    background: url(/images/icon_tel.svg);
    background-repeat: no-repeat;
    background-size:100%;
    width:28px;
    height:28px;
    position: absolute;
    top:50%;
    transform: translate(0,-50%);
    left:0;
}
.link_tel a span{
    display: block;
    font-size: var(--font10-13);
    font-weight:600;
    text-align: right;
    width: 100%;
}
.inner_link{
    margin: 0 auto 5%;
    width: 100%;
}
.inner_link a{
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color02);
    border-radius: 10px;
    color: var(--colorW);
    font-size: var(--font20-22);
    text-align: center;
    margin: 0 auto;
    padding: 1% 0;
    max-width: 370px;
    max-height: 70px;
    width: 100%;
    position: relative;
    top:0;
    transition: all ease 0.5s;
}
.inner_link a:hover{
    top:10px;
}
.inner_link a:after,
footer .link_tel a:after{
    content: "";
    background: var(--color05);
    border-radius: 10px;
    padding: 1% 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top:10px;
    left: 0;
    z-index: -1;
    transition: all ease 0.5s;
}
.inner_link a:hover:after,
footer .link_tel a:hover:after{
    top:0;
}
.inner_link a span{
    display: block;
    padding: 0 0 0 40px;
    width: fit-content;
    position: relative;
}
.inner_link a span:before{
    content: "";
    background: url(/images/icon_calc.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    width:24px;
    height: 30px;
    position: absolute;
    top:50%;
    left:0;
    transform: translate(0,-50%);
}

header{
    background:var(--colorW);
    position: fixed;
    top:0;
    left:0;
    width:100%;
    margin: 0 auto;
    padding: 1%;
    z-index: 999;
}
header .headerInner{
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 1420px;
    width:100%;
    margin: 0 auto;
    padding:0 0;
}
header .headerInner h1{
    max-width:300px;
    width:21%;
}
header .headerInner h1 img{
    width: 90%;
}
header .headerInner h1 span{
    font-size: 0.7em;
    display:block;
    padding: 1% 0;
    width: 100%;
}
header .headerInner ul.pc-menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 0;
    padding:0;
}
header .headerInner ul.pc-menu li{
    margin: 0 0 0;
    padding: 0 10px 0 0;
}
header .headerInner ul.pc-menu li a{
    display: block;
    margin: 0 0 0;
    padding: 0 0 0 30px;
    position: relative;
}
header .headerInner ul.pc-menu li a:before{
    content: "";
    background: url(/images/arrow01.svg);
    background-repeat: no-repeat;
    background-size:100%;
    width: 17px;
    height:15px;
    position:absolute;
    top:50%;
    left:0;
    transform: translate(0,-50%);
}
header .headerInner ul.pc-menu li a:hover{
    color: var(--color02);
}
footer{
    background: var(--colorB);
    color: var(--colorW);
    padding: 2% 0 0;
}
footer h2{
    font-size: var(--font24-36);
    font-weight: 600;
    text-align: center;
    padding: 1% 0;
}
footer p{
    font-size: var(--font16-18);
    line-height: 2.2em;
    text-align: center;
    margin: 0 auto 4%;
    width: 100%;
}
footer a.corp{
    display: block;
    color: var(--color02);
    font-size: var(--font16-18);
    text-align: center;
    text-decoration: underline;
    margin: 0 auto 2%;
    width: 100%;
}
footer ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 2% auto;
    /* max-width: 1100px;
    width: 95%; */
    position: relative;
    z-index: 1;
}
footer ul li,
footer ul li.inner_link {
    margin: 0 1%;
    width: 30%;
}
footer .inner_link a{
    padding: 5% 0;
}
footer .link_tel a{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: var(--colorW);
    border-radius: 10px;
    color: var(--color02);
    font-size: var(--font20-22);
    padding: 2.4% 0;
    width: 100%;
    height: 100%;
    transition: all ease 0.5s;
    top:0;
}
footer .link_tel a:hover{
    top:10px;
}
footer .link_tel a p,
footer .link_tel a span{
    width: fit-content;
}
footer .link_tel a p{
    line-height: 1.0em;
    padding: 0 0 0 40px;
    margin: 0;
}
footer .copyright{
    font-size: var(--font10-13);
    text-align: center;
    padding: 1% 0;
    width: 100%;
}
footer .pagetop{
    width: 60px;
    height: 60px;
    position: fixed;
    bottom:20px;
    right:20px;
    box-shadow: 3px 3px 5px 0px rgba(41, 41, 41, 0.4);
}
footer .pagetop a{
    background: var(--color02);
    color: var(--colorW);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font20-22);
}

@media screen and (min-width:980px){
    footer .inner_link a br{
        display: none;
    }
}

@media print, screen and (min-width:769px){
    .sp-disp{
        display: none;
    }
    .sp-menu{
        display: none;
    }
}

@media print, screen and (min-width:769px) and (max-width:1200px){
    header{
        padding: 0 0 0;
    }
}

@media print, screen and (max-width:768px){
    .pc-disp{
        display: none;
    }
    header{
        height: 72px;
        padding: 0 0 0;
    }
    header .headerInner{
        padding: 2% 3%;
    }
    header .headerInner h1 {
        width: 60%;
    }
    header .headerInner h1 span{
        font-size:12px;
        margin: 0 0 3px;
    }
    header .headerInner ul.pc-menu,
    header .headerInner .link_tel{
        display: none;
    }
    header .sp-menu{
        width: 40%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
    }
    header .sp-menu .tel-btn{
        width: 48px;
        height: 48px;
        margin: 0 5px 0 0;
    }
    #side_menu{
        position: relative;
        z-index: 1;
    }
    /*----------------------------
    * メニュー開閉ボタン
    *----------------------------*/
    .menu-btn{
        width: 48px;
        height: 48px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 999999;
    }

    .menu-btn .inview{
        display: block;
    }
    .menu-btn .behind{
        display: none;
    }
    /*----------------------------
    * メニュー本体
    *----------------------------*/
    .Viewmenu{
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1;
        width: 100vw;
        height: 100dvh;
        background: rgba(55, 55, 55, 0.9);
        overflow: scroll;
        padding: 7rem 0 2rem;
    }
    .Viewmenu .inner{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .Viewmenu .inner ul{
        margin: 0 auto;
        width: 80%;
    }
    .Viewmenu .inner .menu__item{
        border-bottom:0.5px solid var(--colorW);
        color: var(--colorW);
        font-size: var(--font16-18);
        margin: 0 auto 10px;
        padding: 3% 0 5%;
        width: 100%;
        height: auto;
        box-sizing: border-box;
    }
    .menu__item a{
        position: relative;
        padding: 0 0 0 30px;
        text-decoration: none;
    }
    .menu__item a:before{
        content: "";
        background: url(/images/arrow03.svg);
        background-repeat: no-repeat;
        background-size:100%;
        width: 17px;
        height:15px;
        position:absolute;
        top:50%;
        left:0;
        transform: translate(0,-50%);
    }
    .Viewmenu .inner .bnr_area_menu{
        margin: 0 auto 8%;
    }
    /* アニメーション前のメニューの状態 */
    .Viewmenu{
        pointer-events: none;
        opacity: 0;
        transform-origin: top;
        transform: scale(.5);
        transition: all .3s ease;
    }
    /* アニメーション後のメニューの状態 */
    .Viewmenu.is-active{
        pointer-events: auto;
        opacity: 1;
        transform: scale(1.0);
    }
    .menu__item{
        position: relative;
    }
    footer{
        padding: 6% 0 25%;
    }
    footer ul{
        background: var(--colorB);
        width: 100%;
        position: fixed;
        bottom:0;
        left:0;
        padding: 2% 0 4% 2%;
        margin: 0 auto;
    }
    footer ul li, footer ul li.inner_link{
        width: 46%;
    }
    footer ul li.inner_link a{
        font-size: 14px;
        text-align: left;
    }
    footer ul li.link_tel a{
        padding: 6% 0;
    }
    footer ul li.link_tel p{
        display: none;
    }
    footer ul li.link_tel span{
        font-size: 14px;
        text-align: left;
        padding: 0 0 0 20px;
    }
    footer ul li.link_tel span:before{
        content: "";
        background: url(/images/icon_tel.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        width: 25px;
        height: 25px;
        position: absolute;
        top: 50%;
        left: 5%;
        transform: translate(0, -50%);
    }
    footer .footer_inner .copyright{
        width: 90%;
        margin: 0 auto;
    }
    footer .pagetop{
        bottom: 90px;
    }
}