/*---------------------------------
HIDDEN
----------------------------------*/
@media(min-width: 769px) {
    .is-hidden_pc {
        display:none
    }
}
@media(max-width: 768px)and (min-width: 651px) {
    .is-hidden_tb {
        display:none
    }
}
@media(max-width: 650px) {
    .is-hidden_sp {
        display:none
    }
}


/*---------------------------------
LAYOUT
----------------------------------*/

.u-dsp_block {
    display: block
}

.flex>.flex--img {
    text-align: center;
}

.flex .flex-shrink {
    flex-shrink: 0;
}

@media(min-width: 961px) {
    .flex {
        display:flex;
    }
}

.flex-wrap {
    flex-wrap: wrap
}

.u-ai-c {
    align-items: center
}
.u-jc-c {
    justify-content: center;
}

.u-jc-sb {
    justify-content: space-between;
}
.u-jc-sa {
    justify-content: space-around;
}
.u-flex-di-col {
    flex-direction: column
}


/*---------------------------------
FONT
----------------------------------*/

.u-jp-serif {
  font-family: "Zen Old Mincho", serif;
}
.u-ttl-jp-serif {
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1.5;
    font-size: 24px;
}
.u-fw_500 {
    font-weight: 500
}
.u-fw_600 {
    font-weight: 600
}

.u-fw_700 {
    font-weight: 700
}

/*---------------------------------
color
----------------------------------*/
.u-c-pale {
    color:  rgb(0 65 75 / 70%)
}
.u-c-pink {color: #f08080;}


/*---------------------------------
 text-align
----------------------------------*/

.txt-left {
    text-align: left
}
.txt-center{
    text-align: center
}
.txt-right {
    text-align: right
}

/*
---------------------------------
 font-size
----------------------------------

.txt-small {
    font-size: 0.9em;
}
.txt-x-small {
    font-size: 0.6em;
}

.txt-lv-l {
    font-size: 32px;
}
.txt-lv-m {
    font-size: 24px;
}

@media(max-width: 650px) {
    .txt-lv-l {
        font-size: 24px;
    }

    .txt-lv-m {
        font-size: 18px;
    }
}
*/

/*---------------------------------
WIDTH
----------------------------------*/

.w700 {
    width: 70rem !important
}

.w800 {
    width: 80rem !important
}

.w100_max {
    max-width: 100% !important
}

@media(max-width: 768px)and (min-width: 668px) {
    .u-w100_tb {
        width:100%;
        max-width: 100%;
    }
}
@media(max-width: 768px) {
    .u-w100_sp {
        width:100%;
        max-width: 100%;
    }
}


/*---------------------------------
MARGIN
----------------------------------*/

.mb5 {
    margin-bottom: 5px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.mb15 {
    margin-bottom: 15px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.mb25 {
    margin-bottom: 25px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.mb35 {
    margin-bottom: 35px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.mb45 {
    margin-bottom: 45px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.mb60 {
    margin-bottom: 60px !important
}

.mb70 {
    margin-bottom: 70px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.mt5 {
    margin-top: 5px !important
}

.mt10 {
    margin-top: 10px !important
}

.mt15 {
    margin-top: 15px !important
}

.mt20 {
    margin-top: 20px !important
}

.mt25 {
    margin-top: 25px !important
}

.mt30 {
    margin-top: 30px !important
}

.mt40 {
    margin-top: 40px !important
}

.mt50 {
    margin-top: 50px !important
}

.ml_auto {
    margin-left: auto !important
}

.mr_auto {
    margin-right: auto !important
}

.pb0 {
    padding-bottom: 0 !important
}



/*---------------------------------
PADDING
----------------------------------*/

.pb5 {
    padding-bottom: 5px !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pb15 {
    padding-bottom: 15px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pb25 {
    padding-bottom: 25px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pb35 {
    padding-bottom: 35px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pb45 {
    padding-bottom: 45px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.pb60 {
    padding-bottom: 60px !important
}

.pb70 {
    padding-bottom: 70px !important
}

.pb80 {
    padding-bottom: 80px !important
}

.pt5 {
    padding-top: 5px !important
}

.pt10 {
    padding-top: 10px !important
}

.pt15 {
    padding-top: 15px !important
}

.pt20 {
    padding-top: 20px !important
}

.pt25 {
    padding-top: 25px !important
}

.pt30 {
    padding-top: 30px !important
}

.pt40 {
    padding-top: 40px !important
}

.pt50 {
    padding-top: 50px !important
}

.pl_auto {
    padding-left: auto !important
}

.pr_auto {
    padding-right: auto !important
}

.pb0 {
    padding-bottom: 0 !important
}


