@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));
    }

}

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

@media screen and (min-width: 750px) {
    #partner h3 {
        font-size: calc(40 / var(--device-width) * var(--main-width));
        letter-spacing: 0.08em;
        line-height: 1.6;
        text-align: center;
        margin-bottom: calc(48 / var(--device-width) * var(--main-width));
    }
}

/* =========================== */
/*  partner*/
/* =========================== */
#partner {
    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));
}

#partner h3 {
    font-size: calc(42 / var(--device-width) * var(--main-width));
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.6;
    margin-bottom: calc(120 / var(--device-width) * var(--main-width));
}

#partner 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));
}

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

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

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

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

#partner .item_wrap li {
    position: relative;
    text-indent: 1em;
}

#partner .item_wrap>li:last-of-type {
    letter-spacing: -0.07em;
}

#partner .item_wrap>li::after {
    content: "・";
    position: absolute;
    top: 0;
    left: -1em;
}
#partner .item_inner li {
    position: relative;
    text-indent: 2em;
}

#partner .item_inner span {
  color: #F04E6E;
}
#partner .item_inner>li::after {
    content: "●";
    position: absolute;
    top: 0;
    left: -1em;
    color: #F04E6E;
}

#partner .item_inner ul li {
    position: relative;
    text-indent: 3em;
}

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

    }

    #partner h3 {
        font-size: calc(42 / var(--device-width) * var(--main-width));
        margin-bottom: calc(120 / var(--device-width) * var(--main-width));
    }

    #partner 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;
    }

    #partner dl>div::before {
        width: 14.7%;
    }

    #partner dl>div::after {
        width: 82.9%;
    }

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

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

    #partner .item_wrap>li:last-of-type {
    letter-spacing:normal;
}
}