html{
    scroll-behavior: smooth;
}

body{
    width: 100%;
    min-width: 1200px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    background: #FFF;
}

a{
    text-decoration: none;
    color: #4D4D4D;
    transition: opacity .3s;
}
a:hover{
    opacity: .7;
}

img{
    max-width: 100%;
}

.pc{
    display: block;
}
.sp{
    display: none;
}


/*===== haeder =====*/
header{
    width: 100%;
    background: rgba(255,255,255,.9);
    position: fixed;
    z-index: 9999;
}
header .header_wrap{
    width: 100%;
    height: 100px;
    margin: auto;
    box-sizing: border-box;
    padding: 27px 10px;
}
header .header_wrap::after{
    display: block;
    content: "";
    clear: both;
}
header .header_wrap h1{
    float: left;
    line-height: 0;
}
header .header_wrap ul{
    float: right;
    display: flex;
}
header .header_wrap ul li a{
    display: block;
    padding: 2px 28px;
    font-family: kozuka-gothic-pr6n,sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    text-align: center;
    color: #4D4D4D;
    letter-spacing: 0.05em;
}
header .header_wrap ul li a span{
    display: block;
    font-size: 10px;
    padding-top: 3px;
}


/*===== footer =====*/
footer{
    width: 100%;
}
footer .footer_wrap{
    padding: 15px 0 15px 20px;
}
footer .footer_wrap::after{
    display: block;
    content: "";
    clear: both;
}
footer .footer_wrap .f_logo{
    float: left;
}
footer .footer_wrap .f_logo img{
    margin-top: 16px;
}
footer .footer_wrap nav{
    width: 434px;
    float: right;
}
footer .footer_wrap nav ul{
    padding: 12px 0 30px;
    border-bottom: 1px solid #4D4D4D;
}
footer .footer_wrap ul::after{
    display: block;
    content: "";
    clear: both;
}
footer .footer_wrap ul li{
    float: left;
}
footer .footer_wrap ul li a{
    display: block;
    font-family: kozuka-gothic-pr6n,sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    text-align: center;
    color: #4D4D4D;
    padding: 0 30px;
}
footer .footer_wrap ul li a span{
    display: block;
    font-size: 10px;
    line-height: 1;
    padding-top: 4px;
}

footer .copyright{
    clear: both;
    font-family: kozuka-gothic-pr6n,sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    line-height: 1;
    text-align: right;
    color: #4D4D4D;
    padding: 13px 82px 0 0;
}


@media screen and (max-width: 750px) {
    body{
        max-width: 960px;
        min-width: 320px;
    }
    body.open{
        height: 100%;
        overflow: hidden;
    }

    .pc{
        display: none;
    }
    .sp{
        display: block;
    }


    /*===== haeder =====*/
    header{
        width: 100%;
        background: #fff;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
    }
    header .header_wrap{
        width: 100%;
        height: auto;
        margin: auto;
        box-sizing: border-box;
        padding: 17px 25px 20px 15px;
        position: relative;
    }
    header .header_wrap::after{
        display: block;
        content: "";
        clear: both;
    }
    header .header_wrap h1{
        float: none;
        line-height: 0;
    }
    header .header_wrap h1 img{
        width: 404px;
        height: auto;
    }
    header .header_wrap nav{
        text-align: center;
    }
    header .header_wrap ul{
        float: none;
        display: inline-block;
        padding: 184px 0 184px;
    }
    header .header_wrap ul li{
        margin-bottom: 70px;
    }
    header .header_wrap ul li:last-child{
        margin-bottom: 0;
    }
    header .header_wrap ul li a{
        display: block;
        padding: 0 0 0 80px;
        font-family: kozuka-gothic-pr6n,sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 38px;
        line-height: 1;
        text-align: left;
        color: #FFF;
        letter-spacing: 0;
        background: url(../img/icon_h_sp.png) no-repeat center left / 40px auto;
    }
    header .header_wrap ul li a span{
        display: inline-block;
        vertical-align: middle;
        font-size: 21px;
        padding-top: 0;
        padding-left: 26px;
    }
    header .header_wrap nav .nav_wrap{
        padding: 17px 20px;
        box-sizing: border-box;
        height: 100%;
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        position: relative;
        z-index: 99;
    }
    header .header_wrap nav p {
        text-align: left;
    }
    header .header_wrap nav p img{
        width: 404px;
        height: auto;
    }


    /*===== footer =====*/
    footer{
        padding-bottom: 43px;
    }
    footer .footer_wrap{
        padding: 85px 0 0;
    }
    footer .footer_wrap::after{
        display: block;
        content: "";
        clear: both;
    }
    footer .footer_wrap .f_logo{
        float: none;
        text-align: center;
        line-height: 0;
        padding-left: 15px;
    }
    footer .footer_wrap nav{
        width: 60%;
        float: none;
        padding: 54px 0;
        margin: 68px auto 74px;
        border-top: 1px solid #808080;
        border-bottom: 1px solid #808080;
        text-align: center;
    }
    footer .footer_wrap nav ul{
        display: inline-block;
        float: none;
        border-bottom: none;
        padding: 0;
    }
    footer .footer_wrap ul::after{
        display: block;
        content: "";
        clear: both;
    }
    footer .footer_wrap ul li{
        float: none;
        margin-bottom: 34px;
    }
    footer .footer_wrap ul li:last-child{
        margin-bottom: 0;
    }
    footer .footer_wrap ul li a{
        display: block;
        height: 27px;
        font-family: kozuka-gothic-pr6n,sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 25px;
        line-height: 30px;
        text-align: left;
        color: #4D4D4D;
        padding: 0 0 0 53px;
        background: url(../img/icon_f_sp.png) no-repeat center left / 27px auto;
    }
    footer .footer_wrap ul li a span{
        display: inline-block;
        vertical-align: middle;
        font-size: 14px;
        line-height: 25px;
        padding-top: 4px;
        padding-left: 15px;
    }
    
    footer .copyright{
        font-family: kozuka-gothic-pr6n,sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 12px;
        line-height: 1;
        text-align: center;
        color: #4D4D4D;
        padding: 0;
    }
}


@media screen and (max-width: 480px) {
    header .header_wrap h1 img{
        width: 202px;
        height: auto;
    }
    header .header_wrap nav p img{
        width: 202px;
        height: auto;
    }
    header .header_wrap ul{
        padding: 92px 0 92px;
    }
    header .header_wrap ul li{
        margin-bottom: 35px;
    }
    header .header_wrap ul li a{
        height: 40px;
        font-size: 18px;
        line-height: 35px;
        padding: 0 0 0 65px;
    }
    header .header_wrap ul li a span{
        font-size: 12px;
        padding: 5px 0 0 20px;
    }


    footer .footer_wrap{
        padding: 42px 0 0;
    }
    footer .footer_wrap nav{
        width: 80%;
        padding: 27px 0;
        margin: 34px auto 37px;
        border-top: 1px solid #808080;
        border-bottom: 1px solid #808080;
    }
    footer .footer_wrap nav ul{
        width: auto;
    }
    footer .footer_wrap nav ul li a{
        height: 27px;
        font-size: 18px;
        line-height: 24px;
        padding: 0 0 0 50px;
    }
}