@charset "UTF-8";

/* =========================== */
/* ページ内共通設定 */
/* =========================== */
body {
    background-color: #fff;
}



@media screen and (min-width: 750px) {
    main {
        padding-top: calc(90/var(--device-width) *var(--main-width));
        box-sizing: border-box;
    }
}

/* =========================== */
/*  top */
/* =========================== */
div.blue {
    background-color: #006BC6;
    width: 100%;
    height: calc(80/var(--device-width) *var(--main-width));
}

div.red {
    background-color: #F04E6E;
    width: 100%;
    height: calc(80/var(--device-width) *var(--main-width));
}

#fv figure {
    width: 95%;
    margin: 0 0 calc(60/var(--device-width) *var(--main-width)) auto;
}

#fv h2 {
    box-sizing: border-box;
    border-bottom: solid 1px #c0c0c0;
    margin: 0 calc(40 / var(--device-width) * var(--main-width));
    padding-bottom: calc(60 / var(--device-width) * var(--main-width));
    margin-bottom: calc(160 / var(--device-width) * var(--main-width));
}

#fv h2 span {
    display: block;
}

#fv h2 span:first-of-type {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: calc(26/var(--device-width) *var(--main-width));
    font-weight: bold;
    color: #000;
    margin-bottom: 1em;
}

#fv h2 span:last-of-type {
    font-family: "Boldonse", system-ui;
    font-size: calc(60 / var(--device-width) * var(--main-width));
    color: #006BC6;
    font-weight: bold;
}


@media screen and (min-width: 750px) {
    div.blue {
        display: none;
    }

    div.red {
        background-color: #F04E6E;
        width: 88%;
        height: calc(95 / var(--device-width) * var(--main-width));
    }

    #fv figure {
        width: 92%;
        margin: calc(-65 / var(--device-width) * var(--main-width)) 0 calc(50 / var(--device-width) * var(--main-width)) auto;
    }

    #fv h2 {
        margin: 0 calc(100 / var(--device-width) * var(--main-width));
        padding-bottom: calc(35 / var(--device-width) * var(--main-width));
        margin-bottom: calc(120 / var(--device-width) * var(--main-width));
    }

    #fv h2 span:first-of-type {
        font-size: calc(20 / var(--device-width) * var(--main-width));
        margin-bottom: 1.4em;
    }

    #fv h2 span:last-of-type {
        font-size: calc(50 / var(--device-width) * var(--main-width));
    }

}

/* =========================== */
/*  見出し　*/
/* =========================== */
.group h3 {
    font-size: calc(50 / var(--device-width) * var(--main-width));
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-align: left;
    margin-bottom: calc(38 / var(--device-width) * var(--main-width));
}

@media screen and (min-width: 750px) {

    .group h3 {
        font-size: calc(40 / var(--device-width) * var(--main-width));
        margin-bottom: calc(50 / var(--device-width) * var(--main-width));
    }
}

/* =========================== */
/*  group*/
/* =========================== */
.group {
    position: relative;
    padding: 0 calc(40 / var(--device-width) * var(--main-width));
    box-sizing: border-box;
    margin-bottom: calc(75 / var(--device-width) * var(--main-width));
}
.group dl>div {
    position: relative;
    padding: calc(33 / var(--device-width) * var(--main-width)) calc(20 / var(--device-width) * var(--main-width)) calc(58 / var(--device-width) * var(--main-width));
}

.group dl>div::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 7.7%;
    height: 1px;
    background-color: #0090D0;
}

.group dl>div::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 92.3%;
    height: 1px;
    background-color: #CCCCCC;
}

.group dl dt {
    color: #0090D0;
    font-weight: bold;
    font-size: calc(30 / var(--device-width) * var(--main-width));
    margin-bottom: 0.45em;
}

.group dl dd {
    font-size: calc(28 / var(--device-width) * var(--main-width));
    line-height: 1.6;
}

.group .content span{
    position: relative;
    padding-left: 1.25em;
}

.group .content span::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #0090D0;
}

.group .content span.item01::before {
content: "❶";
}

.group .content span.item02::before {
content: "❷";
}

@media screen and (min-width: 750px) {
    .group {
        padding: 0 calc(100 / var(--device-width) * var(--main-width));
        margin-bottom: calc(64 / var(--device-width) * var(--main-width));

    }

    .group dl>div {
        padding: calc(13 / var(--device-width) * var(--main-width)) calc(0 / var(--device-width) * var(--main-width)) calc(26 / var(--device-width) * var(--main-width));
        display: flex;
    }

    .group dl>div::before {
        width: 14.7%;
    }

    .group dl>div::after {
        width: 82.9%;
    }

    .group dl dt {
        font-size: calc(20 / var(--device-width) * var(--main-width));
        margin-bottom: 0;
        width: 17%;
        line-height: 1.6;
    }

    .group dl dd {
        font-size: calc(16 / var(--device-width) * var(--main-width));
        flex: 1;
    }

}