@charset "utf-8";
/*utf-8*/

/* ------------------------------------------------------------------------------------------------------------------------------------------------
共通
-------------------------------------------------------------------------------------------------------------------------------------------------*/

div,
section {
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
    letter-spacing: 0.1rem;
}

p {
    color: #707070;
}

a:hover {
    text-decoration: none;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------

オブジェクトクラス部分

---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------*/

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

.f-between {
    justify-content: space-between;
}

.top-space20 {
    margin-top: 2rem;
}

.icon-space08 {
    margin: 0.2rem 0.8rem;
}

.icon-space0 {
    margin: 0.2rem 0rem;
}

.icon-space12 {
    margin: 0.2rem 1.2rem;
}

.icon-space05 {
    margin: 0.2rem 0.5rem;
}

.side-space {
    margin: auto 2rem;
}

.content-padding-top,
.content-padding-bottom,
.content-padding-left,
.content-padding-right {
    padding: 2rem;
}

/* カラー指定 */

.c-black {
    color: #000000 !important;
}

.c-gray {
    color: #555555 !important;
}

.c-white {
    color: #ffffff !important;
}

.c-green {
    color: rgb(93, 202, 60) !important;
}

.c-deep-blue {
    color: rgb(91, 117, 158);
}

.c-blue {
    color: rgb(1, 74, 190);
}

.c-red {
    color: rgb(179, 46, 46);
}

/* 背景カラー指定 */

.bg-gray {
    background: #eaeaea;
}

.bg-gray-s {
    background: #f1f1f1;
}

.bg-black {
    background: #222222;
}

.bg-dark-gray {
    background: #5f5f5f;
}

.bg-black-alpha60 {
    background: rgba(0, 0, 0, 0.6)
}

.head-line {
    display: block;
    padding: 1.5rem;
    position: relative;
    top: 16vh;
}

.flex-p {
    display: flex;
}

.flex-col-row-row {
    flex-flow: column nowrap;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-center {
    justify-content: center;
    justify-items: center;
    align-items: center;
    align-content: center;
}

.flex-reverse {
    flex-flow: row-reverse !important;
}

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

.font-serif {
    font-family: serif;
    font-size: 1.5rem;
    font-weight: bold;
}

.line-h-1 {
    line-height: 0.25rem;
}

.line-h-2 {
    line-height: 0.5rem;
}

.line-h-3 {
    line-height: 0.75rem;
}

.line-h-4 {
    line-height: 1rem;
}

.line-h-5 {
    line-height: 1.25rem;
}

.line-h-6 {
    line-height: 1.5rem;
}

.line-h-7 {
    line-height: 1.75rem;
}

.line-h-8 {
    line-height: 2rem;
}

/* 幅最大1080 */

.inner1080 {
    max-width: 1080px;
    margin: 0 auto;
}

.mw-1280 {
    max-width: 1280px;
    margin: 0 auto;
}

.wdt-100-50-50 {
    width: 100%;
}

.wdt-100-20-20 {
    width: 100%;
}

.wdt-100-50-33 {
    width: 100%;
}

.wdt-100-50-25 {
    width: 100%;
}

.wdt-100-33-20 {
    width: 100%;
}

.wdt-100-70-70 {
    width: 100%;
}

.wdt-100-80-80 {
    width: 100%;
}

.wdt-50-33-20 {
    width: 50%;
}

.wdt-40-30-30 {
    width: 40%;
}

.wdt-40-20-20 {
    width: 40%;
}

.wdt-30-10-10 {
    width: 30%;
}

.wdt-70-90-90 {
    width: 70%;
}

.wdt-50-25-25 {
    width: 50%;
}

.wdt-100-40-40 {
    width: 100%;
}

.wdt-100-60-60 {
    width: 100%;
}

.wdt-100-100-33 {
    width: 100%;
}

.wdt-100-33-33 {
    width: 100%;
}

.wdt-50-50-50 {
    width: 50%;
}

.wdt-50-20-20 {
    width: 50%;
}

.wdt-100-100-100 {
    width: 100%;
}

.fz-10 {
    font-size: 1rem;
}

.fz-12 {
    font-size: 1.2rem;
}

.fz-15 {
    font-size: 1.3rem;
}

.fz-20 {
    font-size: 1.5rem;
}

.fz-25 {
    font-size: 1.6rem;
}

.fz-30 {
    font-size: 1.8rem;
}

.border-under {
    border-bottom: 1px solid #333;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------
スマホ
-------------------------------------------------------------------------------------------------------------------------------------------------*/

@media all and (min-width:480px) {
    .wdt-100-50-50 {
        width: 100%;
    }
    .wdt-100-20-20 {
        width: 100%;
    }
    .wdt-100-50-33 {
        width: 100%;
    }
    .wdt-100-50-25 {
        width: 100%;
    }
    .wdt-100-33-20 {
        width: 100%;
    }
    .wdt-100-70-70 {
        width: 100%;
    }
    .wdt-100-80-80 {
        width: 100%;
    }
    .wdt-50-33-20 {
        width: 50%;
    }
    .wdt-40-30-30 {
        width: 40%;
    }
    .wdt-40-20-20 {
        width: 40%;
    }
    .wdt-30-10-10 {
        width: 30%;
    }
    .wdt-70-90-90 {
        width: 70%;
    }
    .wdt-50-25-25 {
        width: 50%;
    }
    .wdt-100-40-40 {
        width: 100%;
    }
    .wdt-100-60-60 {
        width: 100%;
    }
    .wdt-100-100-33 {
        width: 100%;
    }
    .wdt-100-33-33 {
        width: 100%;
    }
    .wdt-50-50-50 {
        width: 50%;
    }
    .wdt-50-20-20 {
        width: 50%;
    }
    .wdt-100-100-100 {
        width: 100%;
    }
    .flex-col-row-row {
        flex-flow: column nowrap;
    }
    .font-serif {
        font-family: serif;
        font-size: 1.5rem;
        font-weight: bold;
    }
    .reverse {
        flex-wrap: wrap-reverse;
        flex-flow: column;
    }
    .fz-10 {
        font-size: 1rem;
    }
    .fz-12 {
        font-size: 1.2rem;
    }
    .fz-15 {
        font-size: 1.3rem;
    }
    .fz-20 {
        font-size: 1.5rem;
    }
    .fz-25 {
        font-size: 1.6rem;
    }
    .fz-30 {
        font-size: 1.8rem;
    }
    .no-under-sm {
        border-bottom: 0px;
    }
    .line-h-sm-1 {
        line-height: 0.25rem;
    }
    .line-h-sm-2 {
        line-height: 0.5rem;
    }
    .line-h-sm-3 {
        line-height: 0.75rem;
    }
    .line-h-sm-4 {
        line-height: 1rem;
    }
    .line-h-sm-5 {
        line-height: 1.25rem;
    }
    .line-h-sm-6 {
        line-height: 1.5rem;
    }
    .line-h-sm-7 {
        line-height: 1.75rem;
    }
    .line-h-sm-8 {
        line-height: 2rem;
    }
}

/*スマホ*/

/* ------------------------------------------------------------------------------------------------------------------------------------------------
タブレット
-------------------------------------------------------------------------------------------------------------------------------------------------*/

@media all and (min-width:768px) {
    .wdt-100-50-50 {
        width: 50%;
    }
    .wdt-100-20-20 {
        width: 20%;
    }
    .wdt-100-50-33 {
        width: 50%;
    }
    .wdt-100-50-25 {
        width: 50%;
    }
    .wdt-100-33-20 {
        width: 33.333%;
    }
    .wdt-100-70-70 {
        width: 70%;
    }
    .wdt-100-80-80 {
        width: 80%;
    }
    .wdt-50-33-20 {
        width: 33.333%;
    }
    .wdt-40-30-30 {
        width: 30%;
    }
    .wdt-40-20-20 {
        width: 20%;
    }
    .wdt-30-10-10 {
        width: 10%;
    }
    .wdt-70-90-90 {
        width: 90%;
    }
    .wdt-50-25-25 {
        width: 25%;
    }
    .wdt-100-40-40 {
        width: 40%;
    }
    .wdt-100-60-60 {
        width: 60%;
    }
    .wdt-100-100-33 {
        width: 100%;
    }
    .wdt-100-33-33 {
        width: 33.333%;
    }
    .wdt-50-50-50 {
        width: 50%;
    }
    .wdt-50-20-20 {
        width: 20%;
    }
    .wdt-100-100-100 {
        width: 100%;
    }
    .flex-col-row-row {
        flex-flow: row nowrap;
    }
    .reverse {
        flex-flow: row-reverse;
    }
    .fz-10 {
        font-size: 1rem;
    }
    .fz-12 {
        font-size: 1.2rem;
    }
    .fz-15 {
        font-size: 1.4rem;
    }
    .fz-20 {
        font-size: 1.6rem;
    }
    .fz-25 {
        font-size: 1.8rem;
    }
    .fz-30 {
        font-size: 2.1rem;
    }
    .wdt-100-100-100 {
        width: 100%;
    }
    .line-h-md-1 {
        line-height: 0.25rem;
    }
    .line-h-md-2 {
        line-height: 0.5rem;
    }
    .line-h-md-3 {
        line-height: 0.75rem;
    }
    .line-h-md-4 {
        line-height: 1rem;
    }
    .line-h-md-5 {
        line-height: 1.25rem;
    }
    .line-h-md-6 {
        line-height: 1.5rem;
    }
    .line-h-md-7 {
        line-height: 1.75rem;
    }
    .line-h-md-8 {
        line-height: 2rem;
    }
}

/*タブレット*/

/* ------------------------------------------------------------------------------------------------------------------------------------------------
デスクトップ
-------------------------------------------------------------------------------------------------------------------------------------------------*/

@media all and (min-width:960px) {
    .wdt-100-50-50 {
        width: 50%;
    }
    .wdt-100-20-20 {
        width: 20%;
    }
    .wdt-100-50-33 {
        width: 33.333%;
    }
    .wdt-100-50-25 {
        width: 25%;
    }
    .wdt-100-33-20 {
        width: 20%;
    }
    .wdt-100-70-70 {
        width: 70%;
    }
    .wdt-100-80-80 {
        width: 80%;
    }
    .wdt-50-33-20 {
        width: 20%;
    }
    .wdt-40-30-30 {
        width: 30%;
    }
    .wdt-40-20-20 {
        width: 20%;
    }
    .wdt-30-10-10 {
        width: 10%;
    }
    .wdt-70-90-90 {
        width: 90%;
    }
    .wdt-50-25-25 {
        width: 25%;
    }
    .wdt-100-40-40 {
        width: 40%;
    }
    .wdt-100-60-60 {
        width: 60%;
    }
    .wdt-100-100-33 {
        width: 33%;
    }
    .wdt-100-33-33 {
        width: 33.333%;
    }
    .wdt-50-50-50 {
        width: 50%;
    }
    .wdt-50-20-20 {
        width: 20%;
    }
    .wdt-100-100-100 {
        width: 100%;
    }
    .flex-col-row-row {
        flex-flow: row nowrap;
    }
    .font-serif {
        font-family: serif;
        font-size: 2.0rem;
        font-weight: bold;
    }
    .reverse {
        flex-flow: row-reverse;
    }
    .fz-10 {
        font-size: 1rem;
    }
    .fz-12 {
        font-size: 1.2rem;
    }
    .fz-15 {
        font-size: 1.5rem;
    }
    .fz-20 {
        font-size: 2.0rem;
    }
    .fz-25 {
        font-size: 2.5rem;
    }
    .fz-30 {
        font-size: 3.0rem;
    }
    .line-h-lg-1 {
        line-height: 0.25rem;
    }
    .line-h-lg-2 {
        line-height: 0.5rem;
    }
    .line-h-lg-3 {
        line-height: 0.75rem;
    }
    .line-h-lg-4 {
        line-height: 1rem;
    }
    .line-h-lg-5 {
        line-height: 1.25rem;
    }
    .line-h-lg-6 {
        line-height: 1.5rem;
    }
    .line-h-lg-7 {
        line-height: 1.75rem;
    }
    .line-h-lg-8 {
        line-height: 2rem;
    }
}

/*デスクトップ*/