@charset "UTF-8";

.fw-normal {
    font-weight: normal;
}

.fw-bold {
    font-weight: bold;
}

.fw-bolder {
    font-weight: bolder;
}

.pc-br::before {
    content: "\A";
    white-space: pre;
}

.sp-br::before {
    content: normal;
    white-space: normal;
}

.link-btn {
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
}

.link-btn:hover {
    /*box-shadow: 2px 2px 7px #555;*/
    opacity: .7 !important;
}

/* Flexbox util class */
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.flex-1 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.flex-2 {
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
}

.flex-3 {
    -webkit-box-flex: 3;
    -ms-flex: 3;
    flex: 3;
}

.jc-space-around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.jc-space-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.jc-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.jc-space-evenly {
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
}

.jc-flex-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.jc-flex-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.ai-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.ac-center {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.ai-flex-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.ai-flex-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.ai-baseline {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

.as-flex-start {
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.as-center {
    -ms-grid-row-align: center;
    align-self: center;
}

.ac-space-between {
    -ms-flex-line-pack: justify;
    align-content: space-between;
}

.fw-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.fw-wrap-reverse {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.margin-0-auto {
    margin: 0 auto;
}

.mw-1000 {
    max-width: 1000px;
}

.mw-900 {
    max-width: 900px;
}

.mw-800 {
    max-width: 800px;
}
.mw-655 {
    max-width: 680px;
}
.lh-normal {
    line-height: normal;
}

.expand::after {
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.line-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.line-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.line-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.ff-roboto-100  {
    font-family: 'Roboto', sans-serif;
    font-weight: 100;
}

.ff-roboto-300 {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
}

.ff-roboto-400 {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
}

.ff-roboto-500 {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
}

.ff-roboto-700 {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
}

.ff-roboto-900 {
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
}

.ff-lb-400 {
    font-family: 'Libre Baskerville', serif;
    font-weight: 400;
}

.ff-lb-700 {
    font-family: 'Libre Baskerville', serif;
    font-weight: 700;
}

.ff-os-400 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}

.ff-os-700 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
}

.ff-mincho {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}

.ta-center {
    text-align: center;
}

.ta-right {
    text-align: right;
}

.ta-left {
    text-align: left;
}

.pc-none {
    display: none;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.alignleft {
    float: left;
    margin: .5em 1em .5em 0;
}

.alignright {
    float: right;
    margin: .5em 0 .5em 1em;
}


@media (max-width: 48em) {

    /* SP Flexbox util class */
    .sp-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .sp-jc-space-between {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .sp-jc-space-evenly {
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
    }

    .sp-jc-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .sp-jc-flex-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .sp-jc-normal {
        -webkit-box-pack: normal;
        -ms-flex-pack: normal;
        justify-content: normal;
    }

    .sp-ai-center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .sp-ai-flex-start {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .sp-fw-wrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .sp-fw-wrap-reverse {
        -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
    }

    .sp-none {
        display: none;
    }

    .pc-none {
        display: block;
    }

    .pc-br::before {
        content: normal;
        white-space: normal;
    }

    .sp-br::before {
        content: "\A";
        white-space: pre;
    }

    .sp-ta-left {
        text-align: left;
    }

    .sp-line-1 {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sp-line-2 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: clip;
        white-space: normal;
    }

    .sp-line-3 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        text-overflow: clip;
        white-space: normal;
    }


}