@charset "UTF-8";

/*--------------------------------
 common
---------------------------------*/
body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 500;
    font-style: normal;
    background-color: #FFF;
    font-size: 16px;
    line-height: 1.6;
    color: #333333;
}

img {
    width: 100%;
    display: block;
}

.inner {
    max-width: 1280px;
    margin: 0 auto;
}

.wrapper {
    overflow: hidden;
    position: relative;
}

/*--------------------------------
 header
---------------------------------*/
.header {
    background-color: #ffffff;
    position:relative;
}
/* inner */
.header .inner {
    background-image: url(../img/img-header.png);
    background-repeat: no-repeat;
    background-position: right 20px top;
    padding: 13px 50px;
    display:flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.8;
    max-width: 100%;
}
@media screen and (max-width: 1280px) {
    .header .inner { 
        height:96px; 
        background-size: 48px 96px;
        padding: calc(17px - 4 * ((100vw - 850px) / (1280 - 850))) 50px;
    }
}
@media screen and (max-width: 850px) {
    .header .inner {
        background-position: right 20px top;
        padding: calc(19px - 2 * ((100vw - 560px) / (850 - 560))) 30px;
    }
}
@media screen and (max-width: 560px) {
    .header .inner {
        height:60px;
        background-position: right 10px top;
        background-size: 30px 60px;
        padding: calc(12px - 12 * ((100vw - 320px) / (560 - 320))) 20px;
    }
}

/* logo */
.header .logo{
    max-width:420px;
    flex:0 1 33%; 
    min-width:240px;
}
.header .logo img {
    width:100%;
}

/*--------------------------------
 footer
---------------------------------*/
footer {
    padding: 25px 0 0;
}
.footer-img {
    width: 130px;
    margin: 0 auto;
}

/*--------------------------------
 top-back
---------------------------------*/
.top-back {
    position: fixed;
    right: 15px;
    width: 60px;
    max-width: min(15vw,15vh);  /* 短い辺が400px画面で60px */
    bottom: min(10vw,10vh);
    transition: all .7s;
}

.top-back:hover {
    opacity: .7;
}
