
/**
 * フォント読み込み
 */
@import url('http://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.cdnfonts.com/css/mistral');
@import url('https://fonts.cdnfonts.com/css/myriad-pro');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/**
 * リセット
 */
button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

/**
 * common
 */
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
        box-sizing: border-box;
}
body {
    color: #444136;
    font-family: 'Noto Sans Japanese';
    font-weight: 400;
}
img {
    width: 100%;
}
a,
button {
    transition: 0.5s;
}
a:hover,
button:hover {
    opacity: 0.7;
}

.em {
    font-weight: 700;
}

.mt-0 {
    margin-top: 0 !important;
}
.mt-10 {
    margin-top: 10px !important;
}
.mt-20 {
    margin-top: 20px !important;
}
.mt-30 {
    margin-top: 30px !important;
}
.mt-40 {
    margin-top: 40px !important;
}
.mt-50 {
    margin-top: 50px !important;
}

.mode_pc {
    display: none;
}
.mode_pc_480 {
    display: none;
}
.mode_sp_650 {
    display: block;
}
.mode_sp_560 {
    display: block;
}
.mode_sp_480 {
    display: block;
}
.mode_sp {
    display: block;
}
@media screen and (min-width: 480px) {
    .mode_pc_480 {
        display: block;
    }
    .mode_sp_480 {
        display: none;
    }
}
@media screen and (min-width: 560px) {
    .mode_sp_560 {
        display: none;
    }
}
@media screen and (min-width: 650px) {
    .mode_sp_650 {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    .mode_pc {
        display: block;
    }
    .mode_sp {
        display: none;
    }
}

/**
 * footer
 */
footer .wrap {
    padding: 25px 0;
    background: #F9F9F9;
}
footer .toTopWrap {
    width: 70px;
    margin: 0 auto 30px;
}
footer .toTop {
    position: relative;
    padding: 30px 0 0;
    cursor: pointer;
    transition: 0.5s;
}
footer .toTop::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 28px;
    height: 28px;
    border-top: 2px solid #444136;
    border-right: 2px solid #444136;
    transform: rotate(-45deg);
}
footer .toTop:hover {
    opacity: 0.7;
}
footer .toTop p {
    font-size: 16px;
    font-weight: 300;
    color: #000000;
    text-align: center;
}
footer .copyright {
    font-size: 12px;
    font-family: 'Myriad Pro', sans-serif;
    letter-spacing: 0.08em;
    color: #000000;
    text-align: center;
}
@media screen and (min-width: 560px) {
    footer .wrap {
        padding: 55px 0;
    }
}
@media screen and (min-width: 768px) {
    footer .wrap {
        padding: 60px 0 55px;
    }
    footer .toTop::before {
        width: 20px;
        height: 20px;
    }
}