@charset "UTF-8";

/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
    color: #999;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    color: #999;
}

/* Firefox 18- */
:-moz-placeholder {
    color: #999; opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
    color: #999; opacity: 1;
}

/* IE 10+ */
:-ms-input-placeholder {
    color: #999;
}

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

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

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

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

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

.hover-fade {
    cursor: pointer;
    /*display: inline-block;*/
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
}

.hover-fade:hover {
    opacity: .7 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fxw-w {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.fxw-wr {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
}

.fxd-c {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}


/*---------------------------------------------
 * max width
 *---------------------------------------------*/

.mw-800{
    max-width: 80em;
}

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

/*---------------------------------------------
 * Grid util clas
 *---------------------------------------------*/
/* 外側1000px, アイテム306px */
.colm-3-306  {
    -ms-grid-columns: 1fr 4.1% 1fr 4.1% 1fr;
    grid-template-columns: repeat(auto-fill, minmax(25.6em, 1fr));
    -webkit-column-gap: 4.1%;
    -moz-column-gap: 4.1%;
    column-gap: 4.1%;
}

/* 外側1000px, アイテム310px */
.colm-3-310 {
    -ms-grid-columns: 1fr 3.5% 1fr 3.5% 1fr;
    grid-template-columns: repeat(auto-fill, minmax(26em, 1fr));
    -webkit-column-gap: 3.5%;
    -moz-column-gap: 3.5%;
    column-gap: 3.5%;
}

.d-g {
    display: -ms-grid;
    display: grid;
}

.gap-1 {
    gap: 1em;
}

.gap-2 {
    gap: 2em;
}

.gap-3 {
    gap: 3em;
}

.gap-4 {
    gap: 4em;
}

.gap-5 {
    gap: 5em;
}

.gap-6 {
    gap: 6em;
}

.rowg-2 {
    row-gap: 2em;
}

.rowg-3 {
    row-gap: 3em;
}

.rowg-4 {
    row-gap: 4em;
}

.rowg-5 {
    row-gap: 5em;
}

.rowg-6 {
    row-gap: 6em;
}

.rowg-7 {
    row-gap: 7em;
}

.colmg-1 {
    -webkit-column-gap: 1em;
    -moz-column-gap: 1em;
    column-gap: 1em;
}

.colmg-2 {
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
}

.colmg-3 {
    -webkit-column-gap: 3em;
    -moz-column-gap: 3em;
    column-gap: 3em;
}

.colmg-4 {
    -webkit-column-gap: 4em;
    -moz-column-gap: 4em;
    column-gap: 4em;
}

.colmg-5 {
    -webkit-column-gap: 5em;
    -moz-column-gap: 5em;
    column-gap: 5em;
}

.colmg-6 {
    -webkit-column-gap: 6em;
    -moz-column-gap: 6em;
    column-gap: 6em;
}

.pos-r {
    position: relative;
}

.pos-a {
    position: absolute;
}

.m-0-a {
    margin: 0 auto;
}
.p-t-20 {
    padding-top: 20px;
}
.p-t-100 {
    padding-top: 100px;
}
.p-b-100 {
    padding-bottom: 100px;
}
.maw-1500 {
    max-width: 1500px;
}

.maw-1400 {
    max-width: 1400px;
}

.maw-1200 {
    max-width: 1200px;
}

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

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

.maw-800 {
    max-width: 800px;
}

.maw-700 {
    max-width: 700px;
}

.maw-600 {
    max-width: 600px;
}

.lh-normal {
    line-height: normal;
}

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

.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;
}

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

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

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

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

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

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

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

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

.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-lato-700 {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
}

.ff-lato-400 {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
}

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

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

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

.ta-l {
    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;
}

.wp-block-image figcaption,
.wp-caption-text {
    font-size: 1.4rem;
}

.wp-block-image {
    margin: 0;
}

.wp-caption {
    max-width: 100%;
}

.wd-100{
    width: 100%;
}

.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
    text-align: left !important;
}


@media (max-width: 48em) {
    
    /* SP Flexbox util class */
    .sp-d-f {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .sp-jc-sb {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    
    .sp-jc-se {
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
    }
    
    .sp-jc-c {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .sp-jc-fs {
        -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-c {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    
    .sp-ai-fs {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    
    .sp-fxw-w {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .sp-fxw-wr {
        -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
    }
    
    /* SP Grid util class */
    .sp-d-g {
        display: -ms-grid;
        display: grid;
    }
    
    .sp-rowg-1 {
        row-gap: 1em;
    }
    
    .sp-rowg-2 {
        row-gap: 2em;
    }
    
    .sp-rowg-3 {
        row-gap: 3em;
    }
    
    .sp-rowg-4 {
        row-gap: 4em;
    }
    
    .sp-rowg-5 {
        row-gap: 5em;
    }
    
    .sp-rowg-6 {
        row-gap: 6em;
    }
    
    .sp-colmg-1 {
        -webkit-column-gap: 1em;
        -moz-column-gap: 1em;
        column-gap: 1em;
    }
    
    .sp-colmg-2 {
        -webkit-column-gap: 2em;
        -moz-column-gap: 2em;
        column-gap: 2em;
    }
    
    .sp-colmg-3 {
        -webkit-column-gap: 3em;
        -moz-column-gap: 3em;
        column-gap: 3em;
    }
    
    .sp-colmg-4 {
        -webkit-column-gap: 4em;
        -moz-column-gap: 4em;
        column-gap: 4em;
    }
    
    .sp-colm-1 {
        -ms-grid-columns: 1fr ;
        grid-template-columns: 1fr;
        -webkit-column-gap: 0;
        -moz-column-gap: 0;
        column-gap: 0;
    }
    
    .none{
        display: none !important;
    }
    
    .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-l {
        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;
    }
    
    .wp-block-image figcaption,
    .wp-caption-text {
        font-size: 2.6rem;
    }
}