/* ========================================
    common
======================================== */
@media screen and (min-width: 1000px) {
    .sp {
        display: none !important;
    }
}

@media screen and (max-width: 999px) {
    .pc {
        display: none !important;
    }
}

body {
    max-width: 1920px;
    margin: 0 auto;
}

.v2 *,
.v2 ::before,
.v2 ::after {
    box-sizing: border-box;
    background-repeat: no-repeat;
}

.v2 {
    overflow-x: hidden;
}

/* ========================================
    component c-cvb
======================================== */
.c-cvb {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

@media screen and (max-width: 999px) {
    .c-cvb {
        gap: calc(7 / 750 * 100vw);
    }
}

.c-cvb__lead {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 16px;
    letter-spacing: 0.64px;
}

@media screen and (max-width: 999px) {
    .c-cvb__lead {
        font-size: calc(26 / 750 * 100vw);
        letter-spacing: calc(2.08 / 750 * 100vw);
    }
}

.c-cvb__btn {
    background: #3DA4B8;
    position: relative;
    transition: filter 0.3s;
    width: 440px;
    height: 100px;
    box-shadow: 0 8.163px 8.163px 0 rgba(40, 40, 40, 0.16);
    border-radius: 80px;
}

@media screen and (max-width: 999px) {
    .c-cvb__btn {
        border-radius: calc(80 / 750 * 100vw);
        width: calc(662 / 750 * 100vw);
        height: calc(140 / 750 * 100vw);
        box-shadow: 0 calc(8.163 / 750 * 100vw) calc(8.163 / 750 * 100vw) 0 rgba(40, 40, 40, 0.16);
    }
}

@media screen and (min-width: 1000px) {
    .c-cvb__btn:hover {
        filter: brightness(115%);
    }
}

.c-cvb__btn.iy {
    background: #F8DE5C;
}

.c-cvb__btn.is-orange {
    background: #FF9422;
}

.c-cvb__btn-hex {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    left: 20px;
    height: 83px;
    width: 73px;
}

@media screen and (max-width: 999px) {
    .c-cvb__btn-hex {
        height: calc(121 / 750 * 100vw);
        width: calc(105 / 750 * 100vw);
        left: calc(24 / 750 * 100vw);
    }
}

.c-cvb__btn-hex-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #3DA4B8;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    width: 100%;
    font-size: 26px;
    letter-spacing: 1.56px;
}

@media screen and (max-width: 999px) {
    .c-cvb__btn-hex-inner {
        font-size: calc(40 / 750 * 100vw);
        letter-spacing: calc(2.4 / 750 * 100vw);
    }
}

.c-cvb__btn-hex-inner.is-black,
.c-cvb__btn-inner.is-black {
    color: #333;
}

.c-cvb__btn-hex-inner.is-orange {
    color: #FF9422;
}

.c-cvb__btn-hex::before {
    display: inline-block;
    width: 100%;
    height: 100%;
    background-image: url("../img/v2/hexagon.svg");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c-cvb__btn::after {
    display: inline-block;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    background-image: url("../img/v2/arrow.svg");
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    right: 22px;
}

@media screen and (max-width: 999px) {
    .c-cvb__btn::after {
        right: calc(36 / 750 * 100vw);
        width: calc(23 / 750 * 100vw);
        height: calc(23 / 750 * 100vw);
    }
}

.c-cvb__btn.is-yellow::after {
    background-image: url("../img/v2/arrow-black.svg");
}

.c-cvb__btn-inner {
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: 20px;
    padding-left: 20px;
}

@media screen and (max-width: 999px) {
    .c-cvb__btn-inner {
        font-size: calc(35 / 750 * 100vw);
        padding-left: calc(70 / 750 * 100vw);
    }
}

/* ========================================
    header
======================================== */
#header {
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 999px) {
    #header {
        box-shadow: 0 calc(2 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(0, 0, 0, 0.15);
    }
}

#header .headerBox {
    padding: 0;
    height: 100%;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

#header .inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width: 999px) {
    #header .inner {
        width: 100%;
        height: calc(92 / 750 * 100vw);
    }
}

#header .headerBox .logoBox {
    flex-basis: 220px;
    margin-top: 0;
}

@media screen and (max-width: 999px) {
    #header .headerBox .logoBox {
        flex-basis: calc(220 / 750 * 100vw);
        margin: 0;
    }
}

#header .headerBox .cvBox {
    padding-right: 72px;
}

@media screen and (max-width: 999px) {
    #header .headerBox .cvBox {
        width: auto;
        padding-right: calc(92 / 750 * 100vw);
    }
}

#header .headerBox .cvBox a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background-color: #F8DE5C;
    color: #333;
    line-height: 130%;
    height: 72px;
}

@media screen and (max-width: 999px) {
    #header .headerBox .cvBox a {
        width: calc(220 / 750 * 100vw) !important;
        height: calc(92 / 750 * 100vw) !important;
        font-size: calc(24 / 750 * 100vw) !important;
    }
}

#header .menuBox {
    width: 72px;
}

@media screen and (max-width: 999px) {
    #header .menuBox {
        width: calc(92 / 750 * 100vw);
    }
}

#header .menuBox .menuBtn {
    height: 72px;
    width: 72px;
}

@media screen and (max-width: 999px) {
    #header .menuBox .menuBtn {
        height: calc(92 / 750 * 100vw);
        width: calc(92 / 750 * 100vw);
    }
}

#mainVisual {
    padding-top: 72px;
}

@media screen and (max-width: 999px) {
    #mainVisual {
        padding-top: calc(92 / 750 * 100vw);
    }
}

#header .headerBox .cvBox a.seminarBtn {
    background: #3DA4B8;
    color: #FFF;
}

#header .headerBox .cvBox a:before {
    display: inline-block;
    background-image: url("../img/v2/header-icon-2.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    transform: none;
    width: 33px;
    height: 33px;
}

@media screen and (max-width: 999px) {
    #header .headerBox .cvBox a:before {
        margin-right: calc(20 / 750 * 100vw);
        width: calc(38.5 / 750 * 100vw);
        height: calc(38.5 / 750 * 100vw);
    }
}

#header .headerBox .cvBox a.seminarBtn:before {
    display: inline-block;
    background-image: url("../img/v2/header-icon-1.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    transform: none;
    width: 25px;
    height: 25px;
}

@media screen and (max-width: 999px) {
    #header .headerBox .cvBox a.seminarBtn:before {
        width: calc(25 / 750 * 100vw);
        height: calc(25 / 750 * 100vw);
    }
}

#header .headerBox .cvBox a.seminarBtn:hover {
    background: #ccc;
}

#menu {
    background: linear-gradient(0deg, rgba(131, 211, 227, 0.58) 0%, rgba(131, 211, 227, 0.58) 100%), rgba(255, 255, 255, 0.90);
    max-width: 893px;
    max-height: 421px;
    top: 72px;
    padding: 52px 110px 0;
}

@media screen and (max-width: 999px) {
    #menu {
        width: calc(582 / 750 * 100vw);
        top: calc(92 / 750 * 100vw);
        max-height: calc(98vh - calc(92 / 750 * 100vw));
        max-height: calc(98svh - calc(92 / 750 * 100vw));
        padding: calc(80 / 750 * 100vw) calc(19 / 750 * 100vw) 0 calc(81 / 750 * 100vw);
    }
}

#menu:before {
    display: none;
}

#menu nav {
    margin-bottom: 31px;
}

@media screen and (max-width: 999px) {
    #menu nav {
        margin: 0;
        width: 100% !important;
    }
}

#menu nav ul {
    display: flex;
    width: 100%;
    flex-basis: auto;
    flex-wrap: wrap;
    justify-content: space-between;
}

#menu nav ul li {
    margin-bottom: 20px;
    width: 325px;
}

@media screen and (max-width: 999px) {
    #menu nav ul li {
        width: 100%;
        margin-bottom: calc(72 / 750 * 100vw);
    }
}

#menu nav ul li:last-of-type {
    margin-bottom: 0;
}

#menu nav ul li a {
    font-size: 18px;
}

@media screen and (max-width: 999px) {
    #menu nav ul li a {
        font-size: calc(28 / 750 * 100vw);
    }

    #menu nav ul li a .ac {
        font-size: calc(32 / 750 * 100vw);
    }
}

#menu .cvBox {
    margin-bottom: 21px;
}

@media screen and (max-width: 999px) {
    #menu .cvBox {
        margin-left: 0;
        margin-top: calc(53 / 750 * 100vw);
        margin-right: 0;
        margin-bottom: 0;
        width: 100%;
    }
}

#menu .cvBox ul {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 999px) {
    #menu .cvBox ul {
        flex-direction: column;
        gap: calc(18 / 750 * 100vw);
    }
}

#menu .cvBox ul li {
    margin-bottom: 0;
}

.cvBtn06 {
    border-radius: 80px;
    background: #3DA4B8;
    opacity: 1;
    box-shadow: 0 8.163px 8.163px 0 rgba(40, 40, 40, 0.16);
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: filter 0.3s;
    width: 320px;
    height: 60px;
    font-size: 14px;
}

@media screen and (min-width: 1000px) {
    .cvBtn06:hover {
        filter: brightness(115%);
    }
}

@media screen and (max-width: 999px) {
    .cvBtn06 {
        box-shadow: 0 calc(8.163 / 750 * 100vw) calc(8.163 / 750 * 100vw) 0 rgba(40, 40, 40, 0.16);
        width: calc(420 / 750 * 100vw);
        height: calc(80 / 750 * 100vw);
        font-size: calc(24 / 750 * 100vw) !important;
    }
}

.cvBtn06.is-orange {
    background: #FF9422;
}

.phoneBox__head {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 14px;
    line-height: 30px;
}

@media screen and (max-width: 999px) {
    .phoneBox__head {
        margin-top: calc(43 / 750 * 100vw);
        font-size: calc(24 / 750 * 100vw);
        line-height: calc(30 / 750 * 100vw);
    }
}

.phoneBox__head span {
    font-weight: 700;
}

.phoneBox__body {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: -5px;
}

@media screen and (max-width: 999px) {
    .phoneBox__body {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        margin-top: calc(-5 / 750 * 100vw);
    }
}

.phoneBox__number {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    display: flex;
    align-items: center;
    white-space: nowrap;
    pointer-events: none;
    gap: 9px;
    letter-spacing: 1.36px;
    font-size: 34px;
}

@media screen and (max-width: 999px) {
    .phoneBox__number {
        font-size: calc(48 / 750 * 100vw);
        letter-spacing: calc(1.92 / 750 * 100vw);
        gap: calc(7 / 750 * 100vw);
        pointer-events: all;
    }
}

.phoneBox__number::before {
    display: inline-block;
    background-image: url("../img/v2/header-icon-phone.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    width: 21px;
    height: 21px;
}

@media screen and (max-width: 999px) {
    .phoneBox__number::before {
        width: calc(39 / 750 * 100vw);
        height: calc(39 / 750 * 100vw);
    }
}

.phoneBox__time {
    color: #333;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 12px;
    letter-spacing: 0.48px;
}

@media screen and (max-width: 999px) {
    .phoneBox__time {
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
    }
}

/* ========================================
    MV
======================================== */
#mainVisual {
    padding: 0;
}

#mainVisualWrapper {
    padding-top: 72px;
}

@media screen and (max-width: 999px) {
    #mainVisualWrapper {
        padding-top: calc(92 / 750 * 100vw);
    }
}

.nmv {
    position: relative;
    width: 100%;
    height: 500px;
}

@media screen and (max-width: 999px) {
    .nmv {
        height: auto;
    }
}

.nmv__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* ========================================
    CV section
======================================== */
.p-cvs {
    padding: 35px 0 40px;
    position: relative;
    z-index: 20;
    background-color: #fff;
}

@media screen and (max-width: 999px) {
    .p-cvs {
        padding: calc(76 / 750 * 100vw) 0 calc(86 / 750 * 100vw);
    }
}

.p-cvs.hgb {
    background-color: #E2F1F4;
}

.p-cvs.hs {
    padding: 35px 0;
}

@media screen and (max-width: 999px) {
    .p-cvs.hs {
        padding: calc(65 / 750 * 100vw) 0;
    }
}

.p-cvs__area-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
}

@media screen and (max-width: 999px) {
    .p-cvs__area-btns {
        flex-direction: column;
        gap: calc(36 / 750 * 100vw);
    }
}

.p-cvs__area-phone {
    background: #FFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 920px;
    padding: 21px 0;
    margin: 40px auto 0;
    border-radius: 20px;
}

@media screen and (max-width: 999px) {
    .p-cvs__area-phone {
        width: calc(690 / 750 * 100vw);
        padding: calc(26 / 750 * 100vw) 0;
        margin: calc(48 / 750 * 100vw) auto 0;
        border-radius: calc(20 / 750 * 100vw);
    }
}

.p-cvs__phone-number {
    display: flex;
    align-items: center;
    gap: 12px;
}

@media screen and (max-width: 999px) {
    .p-cvs__phone-number {
        gap: calc(12 / 750 * 100vw);
    }
}

.p-cvs__phone-number-text {
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    text-align: center;
    line-height: 20px;
    font-size: 14px;
}

@media screen and (max-width: 999px) {
    .p-cvs__phone-number-text {
        line-height: calc(30 / 750 * 100vw);
        font-size: calc(24 / 750 * 100vw);
    }
}

.p-cvs__phone-number-text .ac {
    font-weight: 700;
    color: #3DA4B8;
}

.p-cvs__phone-number-digit {
    color: #3DA4B8;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    position: relative;
    display: flex;
    align-items: center;
    pointer-events: none;
    gap: 5px;
    font-size: 38px;
    letter-spacing: 1.52px;
}

@media screen and (max-width: 999px) {
    .p-cvs__phone-number-digit {
        gap: calc(7 / 750 * 100vw);
        font-size: calc(48 / 750 * 100vw);
        letter-spacing: calc(1.92 / 750 * 100vw);
        pointer-events: all;
    }
}

.p-cvs__phone-number-digit::before {
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url("../img/v2/cvs-phone.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

@media screen and (max-width: 999px) {
    .p-cvs__phone-number-digit::before {
        width: calc(39 / 750 * 100vw);
        height: calc(39 / 750 * 100vw);
    }
}

.p-cvs__note {
    color: #333;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 14px;
    letter-spacing: 0.56px;
    margin-top: 13px;
}

@media screen and (max-width: 999px) {
    .p-cvs__note {
        font-size: calc(24 / 750 * 100vw);
        letter-spacing: calc(0.96 / 750 * 100vw);
        margin-top: calc(13 / 750 * 100vw);
    }
}

/* ========================================
    p-brand
======================================== */
.p-brand {
    padding-bottom: 60px;
}

@media screen and (max-width: 999px) {
    .p-brand {
        padding-bottom: calc(40 / 750 * 100vw);
    }
}

.p-brand__inner {
    width: 1000px;
    margin: 0 auto;
}

.p-brand__area-top {
    position: relative;
    width: 100%;
    display: inline-block;
    background-image: url("../img/v2/brand-bg_pc.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    height: 566px;
    margin-top: -181px;
}

@media screen and (max-width: 999px) {
    .p-brand__area-top {
        background-image: url("../img/v2/brand-bg_sp.webp");
        height: calc(816 / 750 * 100vw);
        margin-top: calc(-213 / 750 * 100vw);
    }
}

.p-brand__area-top img {
    width: 150%;
    height: 150%;
}

.p-brand__top-inner {
    width: 1000px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 259px;
}

@media screen and (max-width: 999px) {
    .p-brand__top-inner {
        width: 100%;
        padding-top: calc(280 / 750 * 100vw);
    }
}

.p-brand__head {
    color: #FFF;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    font-size: 48px;
    letter-spacing: 1.92px;
}

@media screen and (max-width: 999px) {
    .p-brand__head {
        font-size: calc(56 / 750 * 100vw);
        letter-spacing: calc(4.48 / 750 * 100vw);
    }
}

.p-brand__lead {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 20px;
    letter-spacing: 0.8px;
    margin-top: 35px;
}

@media screen and (max-width: 999px) {
    .p-brand__lead {
        font-size: calc(34 / 750 * 100vw);
        letter-spacing: calc(2.72 / 750 * 100vw);
        margin-top: calc(30 / 750 * 100vw)
    }
}

.p-brand__area-mid {
    position: relative;
    width: 100%;
    height: 826px;
    display: inline-block;
    background-image: url("../img/v2/brand-house_pc.webp");
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
}

@media screen and (max-width: 999px) {
    .p-brand__area-mid {
        height: calc(874 / 750 * 100vw);
        background-image: url("../img/v2/brand-house_sp.webp");
    }
}

.p-brand__area-mid-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.p-brand__area-mid-inner {
    width: 1000px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 999px) {
    .p-brand__area-mid-inner {
        width: 100%;
    }
}

.p-brand__mid-box {
    width: 629px;
    height: 251px;
    position: relative;
    margin: 25px auto 0;
}

@media screen and (max-width: 999px) {
    .p-brand__mid-box {
        width: calc(629 / 750 * 100vw);
        height: calc(341 / 750 * 100vw);
        margin-top: 0;
    }
}

.p-brand__mid-box-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.p-brand__mid-box-inner {
    width: 100%;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 135px;
}

@media screen and (max-width: 999px) {
    .p-brand__mid-box-inner {
        padding-top: calc(186 / 750 * 100vw);
    }
}

.p-brand__mid-box-head {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    font-size: 32px;
    letter-spacing: 1.28px;
}

@media screen and (max-width: 999px) {
    .p-brand__mid-box-head {
        font-size: calc(42 / 750 * 100vw);
        letter-spacing: calc(3.36 / 750 * 100vw);
    }
}

.p-brand__area-bot {
    position: relative;
    z-index: 30;
    margin-top: -250px;
}

@media screen and (max-width: 999px) {
    .p-brand__area-bot {
        margin-top: calc(-110 / 750 * 100vw);
    }
}

.p-brand__bot-inner {
    background: #E2F1F4;
    width: 1000px;
    margin: 0 auto 0;
    border-radius: 16px;
    padding: 43px 50px 40px;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-inner {
        border-radius: calc(16 / 750 * 100vw);
        width: 92%;
        padding: calc(48 / 750 * 100vw) calc(30 / 750 * 100vw) calc(40 / 750 * 100vw);
    }
}

.p-brand__bot-head {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    font-size: 24px;
    letter-spacing: 0.96px;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-head {
        font-size: calc(36 / 750 * 100vw);
        letter-spacing: calc(0.96 / 750 * 100vw);
    }
}

.p-brand__bot-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 40px;
    gap: 20px;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-list {
        margin-top: calc(31 / 750 * 100vw);
        gap: calc(16 / 750 * 100vw) 0;
        grid-template-columns: 100%;
        grid-template-areas: "item-teianryoku" "item-jishakanketsu" "item-shoraikachi" "item-tech";
    }
}

.p-brand__bot-item {
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.14);
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-item {
        box-shadow: 0 0 calc(16 / 750 * 100vw) 0 rgba(0, 0, 0, 0.14);
    }
}

@media screen and (max-width: 999px) {
    .p-brand__bot-item.is-teianryoku {
        grid-area: item-teianryoku;
    }

    .p-brand__bot-item.is-shoraikachi {
        grid-area: item-shoraikachi;
    }

    .p-brand__bot-item.is-jishakanketsu {
        grid-area: item-jishakanketsu;
    }

    .p-brand__bot-item.is-tech {
        grid-area: item-tech;
    }
}

.p-brand__bot-item-top {
    background: linear-gradient(103deg, #F8DE5C -17.97%, #3EA4B7 78.53%);
}

.p-brand__bot-item-head {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    display: flex;
    align-items: center;
    font-size: 16px;
    letter-spacing: 0.64px;
    padding: 10px 16px 10px 30px;
    gap: 10px;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-item-head {
        font-size: calc(28 / 750 * 100vw);
        letter-spacing: calc(2.24 / 750 * 100vw);
        padding: calc(10 / 750 * 100vw) calc(16 / 750 * 100vw) calc(10 / 750 * 100vw) calc(30 / 750 * 100vw);
        gap: calc(4 / 750 * 100vw);
    }
}

.p-brand__bot-item-head::before {
    display: inline-block;
    background-image: url("../img/v2/brand-icon-1.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    width: 41px;
    height: 61px;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-item-head::before {
        width: calc(80 / 750 * 100vw);
        height: calc(80 / 750 * 100vw);
    }
}

.p-brand__bot-item-head.is-2nd::before {
    background-image: url("../img/v2/brand-icon-2.webp");
}

.p-brand__bot-item-head.is-3rd::before {
    background-image: url("../img/v2/brand-icon-3.webp");
}

.p-brand__bot-item-head.is-4th::before {
    background-image: url("../img/v2/brand-icon-4.webp");
}

.p-brand__bot-item-bot {
    padding: 16px 30px 24px;
    background-color: #fff;
    height: 100%;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-item-bot {
        padding: calc(16 / 750 * 100vw) calc(30 / 750 * 100vw) calc(24 / 750 * 100vw)
    }
}

.p-brand__bot-item-text {
    color: #000;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 16px;
    letter-spacing: 0.64px;
}

@media screen and (max-width: 999px) {
    .p-brand__bot-item-text {
        font-size: calc(24 / 750 * 100vw);
        letter-spacing: calc(1.92 / 750 * 100vw);
    }
}

/* ========================================
    merit
======================================== */
#merit {
    background: #f6f6f6;
    padding-top: 100px;
    padding-bottom: 60px;
}

@media screen and (max-width: 999px) {
    #merit {
        background: #f6f6f6;
        padding-top: calc(100 / 750 * 100vw);
        padding-bottom: calc(60 / 750 * 100vw);
    }
}

#merit:before {
    display: none;
}

#merit h3 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 3.04px;
    border-width: 3px;
    padding: 40px 0;
    font-size: 38px;
    width: 630px;
    margin: 0 auto 60px;
}

@media screen and (max-width: 999px) {
    #merit h3 {
        font-size: calc(48 / 750 * 100vw);
        letter-spacing: calc(3.84 / 750 * 100vw);
        margin-bottom: calc(60 / 750 * 100vw);
        padding: calc(50 / 750 * 100vw);
        width: 92%;
    }
}

#merit h3 span {
    color: #3DA4B8;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 900;
    line-height: 160%;
    font-size: 22px;
    margin-bottom: 14px;
    letter-spacing: 1.76px;
}

@media screen and (max-width: 999px) {
    #merit h3 span {
        font-size: calc(32 / 750 * 100vw);
        margin-bottom: calc(14 / 750 * 100vw);
        line-height: 160%;
        letter-spacing: calc(2.56 / 750 * 100vw);
    }
}

#merit .meritList {
    margin-bottom: 60px;
}

@media screen and (max-width: 999px) {
    #merit .meritList {
        margin-bottom: calc(70 / 750 * 100vw);
    }
}

#merit .meritList ul {
    display: flex;
    flex-direction: column;
    max-width: fit-content;
    margin: 0 auto 0;
}

#merit .meritList ul li {
    width: fit-content;
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    position: relative;
    letter-spacing: 1.76px;
    font-size: 22px;
    padding-left: 43px;
    margin-bottom: 30px;
}

@media screen and (max-width: 999px) {
    #merit .meritList ul li {
        font-size: calc(32 / 750 * 100vw);
        letter-spacing: calc(2.56 / 750 * 100vw);
        padding-left: calc(53 / 750 * 100vw);
        margin-bottom: calc(40 / 750 * 100vw)
    }
}

#merit .meritList ul li:last-of-type {
    margin-bottom: 0;
}

#merit .meritList ul li span {
    background: linear-gradient(transparent 80%, #F8DE5C 0%);
    display: inline;
    padding: 0 2px 0;
}

#merit .meritList ul li::before {
    display: none;
}

#merit .meritList ul li::after {
    display: inline-block;
    background-image: url("../img/v2/merit-check.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 32px;
    height: 29px;
}

.nmerit {
    width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width: 999px) {
    .nmerit {
        width: 92%;
        margin: 0 auto;
    }
}

.nmerit__list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

@media screen and (max-width: 999px) {
    .nmerit__list {
        gap: calc(70 / 750 * 100vw);
    }
}

.nmerit__item {
    background-color: #fff;
    padding: 30px 3%;
    background: #FFF;
    position: relative;
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.14);
    border-radius: 16px;
}

@media screen and (max-width: 999px) {
    .nmerit__item {
        padding: calc(30 / 750 * 100vw);
        border-radius: calc(16 / 750 * 100vw);
        box-shadow: 0 0 calc(16) 0 rgba(0, 0, 0, 0.14);
    }
}

.nmerit__item-head {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    background: #3DA4B8;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1.76px;
    padding: 6px 0;
    gap: 11px;
    font-size: 22px;
}

@media screen and (max-width: 999px) {
    .nmerit__item-head {
        letter-spacing: calc(2.56 / 750 * 100vw);
        padding: calc(16 / 750 * 100vw) 0;
        gap: calc(11 / 750 * 100vw);
        font-size: calc(32 / 750 * 100vw);
    }
}

.nmerit__item-head::before {
    display: inline-block;
    width: 32px;
    height: 29px;
    background-image: url("../img/v2/check-white.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

@media screen and (max-width: 999px) {
    .nmerit__item-head::before {
        width: calc(32 / 750 * 100vw);
        height: calc(29 / 750 * 100vw);
    }
}

.nmerit__item-content {
    display: grid;
    grid-template-columns: 52% 1fr;
    align-items: center;
    gap: 40px;
}

@media screen and (max-width: 999px) {
    .nmerit__item-content {
        grid-template-columns: 1fr;
        gap: calc(40 / 750 * 100vw)
    }
}

.nmerit__item-content.is-2nd {
    grid-template-columns: 66% 1fr;
}

.nmerit__item-content.is-3rd {
    grid-template-columns: 47% 1fr;
}

@media screen and (max-width: 999px) {

    .nmerit__item-content.is-2nd,
    .nmerit__item-content.is-3rd {
        grid-template-columns: 1fr;
    }
}

.nmerit__item-area-text {
    gap: 20px;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 999px) {
    .nmerit__item-area-text {
        gap: calc(20 / 750 * 100vw);
    }
}

.nmerit__item-text {
    color: #000;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    font-size: 22px;
    letter-spacing: 1.76px;
}

@media screen and (max-width: 999px) {
    .nmerit__item-text {
        font-size: calc(32 / 750 * 100vw);
        letter-spacing: calc(2.56 / 750 * 100vw);
    }
}

.nmerit__item-text .kome {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    font-size: 12px;
    letter-spacing: 0.48px;
}

@media screen and (max-width: 999px) {
    .nmerit__item-text .kome {
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
    }
}

.nmerit__item-text .marker {
    background: linear-gradient(transparent 70%, #F8DE5C 0%);
    display: inline;
    padding: 0 2px 0;
}

.nmerit__item-note {
    color: #000;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    font-size: 12px;
    letter-spacing: 0.48px;
}

@media screen and (max-width: 999px) {
    .nmerit__item-note {
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
    }
}

.nmerit__item-note.has-color {
    color: #3DA4B8;
}

.nmerit__item-img-guy {
    width: 138px;
    position: absolute;
    left: 8px;
    bottom: 8px;
}

@media screen and (max-width: 999px) {
    .nmerit__item-img-guy {
        width: calc(241 / 750 * 100vw);
        left: calc(-12 / 750 * 100vw);
        bottom: calc(-27 / 750 * 100vw);
    }
}

@media screen and (max-width: 999px) {
    .nmerit__item-img {
        position: relative;
    }
}

/* ========================================
    p-book
======================================== */
.p-book {
    padding-top: 33px;
    padding-bottom: 73px;
}

@media screen and (max-width: 999px) {
    .p-book {
        padding-top: calc(36 / 750 * 100vw);
        padding-bottom: calc(75 / 750 * 100vw)
    }
}

.p-book__inner {
    width: 1000px;
    margin: 0 auto 0;
}

@media screen and (max-width: 999px) {
    .p-book__inner {
        width: 100%;
    }
}

.p-book__area-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 999px) {
    .p-book__area-head {
        width: calc(516 / 750 * 100vw);
        margin: 0 auto 0;
    }
}

.p-book__sub-head {
    max-width: 542px;
}

@media screen and (max-width: 999px) {
    .p-book__sub-head {
        max-width: calc(542 / 750 * 100vw);
    }
}

.p-book__lead {
    max-width: 423px;
}

@media screen and (max-width: 999px) {
    .p-book__lead {
        max-width: calc(516 / 750 * 100vw);
    }
}

.p-book__head-sub {
    color: #333;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 20px;
    letter-spacing: 0.8px;
}

@media screen and (max-width: 999px) {
    .p-book__head-sub {
        font-size: calc(32 / 750 * 100vw);
        letter-spacing: calc(1.28 / 750 * 100vw)
    }
}

.p-book__head {
    margin-top: 7px;
}

@media screen and (max-width: 999px) {
    .p-book__head {
        margin-top: calc(7 / 750 * 100vw);
        width: 100%;
    }
}

.p-book__head-main {
    color: #3DA4B8;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    letter-spacing: 2.24px;
    font-size: 56px;
    gap: 10px;
}

@media screen and (max-width: 999px) {
    .p-book__head-main {
        letter-spacing: calc(2.56 / 750 * 100vw);
        font-size: calc(64 / 750 * 100vw);
        width: 100%;
        gap: calc(10 / 750 * 100vw);
    }
}

.p-book__head-main::after {
    display: inline-block;
    background-image: url("../img/v2/book-dot.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    width: 423px;
    height: 3px;
}

@media screen and (max-width: 999px) {
    .p-book__head-main::after {
        width: calc(515 / 750 * 100vw);
        height: calc(4 / 750 * 100vw);
    }
}

.p-book__area-img {
    margin-top: 46px;
    max-width: 614px;
    margin: 46px auto 0;
}

@media screen and (max-width: 999px) {
    .p-book__area-img {
        margin-top: calc(40 / 750 * 100vw);
        max-width: 100%;
        margin: calc(46 / 750 * 100vw) auto 0;
    }
}

.p-book__area-list {
    margin-top: 38px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 999px) {
    .p-book__area-list {
        margin-top: calc(58 / 750 * 100vw);
    }
}

.p-book .cv__investment-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: relative;
    justify-content: center;
    margin-top: 10px;
    gap: 20px 10px;
    font-size: 16px !important;
}

@media screen and (max-width: 999px) {
    .p-book .cv__investment-list {
        grid-template-columns: 1fr;
        gap: calc(20 / 750 * 100vw);
        margin-top: calc(32 / 750 * 100vw);
    }
}

.p-book .cv__investment-item {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    display: flex;
    align-items: center;
    font-size: 16px !important;
    letter-spacing: 0.64px;
}

@media screen and (max-width: 999px) {
    .p-book .cv__investment-item {
        font-size: calc(26 / 750 * 100vw) !important;
        letter-spacing: calc(1.04 / 750 * 100vw);
    }
}

.p-book .cv__investment-item.etc {
    position: absolute;
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    bottom: -30px;
    right: -5px;
    font-size: 12px;
    letter-spacing: 0.48px;
}

@media screen and (max-width: 999px) {
    .p-book .cv__investment-item.etc {
        bottom: calc(-45 / 750 * 100vw);
        right: calc(-5 / 750 * 100vw);
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
    }
}

.p-book .cv__investment-item .check-icon {
    display: inline-block;
    position: relative;
    background-image: url("../img/v2/blue-check.svg");
    background-size: contain;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    width: 17px;
    height: 17px;
    margin-right: 12px;
}

@media screen and (max-width: 999px) {
    .p-book .cv__investment-item .check-icon {
        width: calc(25 / 750 * 100vw);
        height: calc(25 / 750 * 100vw);
        margin-right: calc(12 / 750 * 100vw)
    }
}

.p-book .cv__investment-item .accent {
    font-weight: 700;
    color: #3DA4B8;
}

/* ========================================
    p-risk
======================================== */
.p-risk {
    position: relative;
    z-index: 30;
}

.p-risk .content {
    width: 1000px;
    max-width: 100%;
}

.p-risk::before {
    display: inline-block;
    content: '';
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #E2F1F4 0%, #848C8E 173.44%);
    height: 175px;
}

@media screen and (max-width: 999px) {
    .p-risk::before {
        height: calc(209 / 750 * 100vw);
    }
}

#risk .bubble {
    position: absolute;
    top: 55px;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 999px) {
    #risk .bubble {
        top: calc(25 / 750 * 100vw);
        width: calc(540 / 750 * 100vw) !important;
    }
}

#risk {
    padding-top: 446px;
    padding-bottom: 29px;
}

@media screen and (max-width: 999px) {
    #risk {
        padding-top: calc(574 / 750 * 100vw);
        padding-bottom: calc(48 / 750 * 100vw);
    }
}

#risk h3 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    font-size: 38px;
    letter-spacing: 3.04px;
    margin-bottom: 36px;
    padding-bottom: 36px;
    background: url(../img/v2/risk-dot.webp) center bottom / auto 3px no-repeat;
}

@media screen and (max-width: 999px) {
    #risk h3 {
        font-size: calc(48 / 750 * 100vw);
        letter-spacing: calc(3.84 / 750 * 100vw);
        margin-bottom: calc(43 / 750 * 100vw);
        padding-bottom: calc(43 / 750 * 100vw);
        background: url(../img/v2/risk-dot.webp) center bottom / auto 4px no-repeat;
    }
}

#risk .riskText {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 20px;
    letter-spacing: 0.8px;
}

@media screen and (max-width: 999px) {
    #risk .riskText {
        font-size: calc(34 / 750 * 100vw);
        letter-spacing: calc(2.72 / 750 * 100vw);
        margin-bottom: calc(51 / 750 * 100vw);
    }
}

#risk .reasonList {
    max-width: 100%;
}

#risk .reasonList ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
    width: 100%;
}

@media screen and (max-width: 999px) {
    #risk .reasonList ul {
        width: calc(690 / 750 * 100vw);
        grid-template-columns: 1fr;
        gap: calc(38 / 750 * 100vw);
        margin: 0 auto 0;
    }
}

#risk .reasonList ul li {
    margin-bottom: 0;
    border: 3px solid #3DA4B8;
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 18px;
    letter-spacing: 0.72px;
    padding: 20px 0 15px;
}

@media screen and (max-width: 999px) {
    #risk .reasonList ul li {
        font-size: calc(32 / 750 * 100vw);
        letter-spacing: calc(3.68 / 750 * 100vw);
        padding: calc(19 / 750 * 100vw) 0 calc(14 / 750 * 100vw);
        border-width: calc(6 / 750 * 100vw);
    }
}

#risk .reasonList ul li b {
    color: #3DA4B8;
    font-size: 36px;
    font-weight: 400;
}

@media screen and (max-width: 999px) {
    #risk .reasonList ul li b {
        font-size: calc(46 / 750 * 100vw);
    }
}

#risk h4 {
    max-width: 736px;
}

@media screen and (max-width: 999px) {
    #risk h4 {
        max-width: calc(630 / 750 * 100vw);
        margin-bottom: calc(56 / 750 * 100vw);
    }
}

#risk .reasonList ul li .rel .sub {
    position: static;
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    font-size: 12px;
    letter-spacing: 0.48px;
}

@media screen and (max-width: 999px) {
    #risk .reasonList ul li .rel .sub {
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
    }
}

#risk h3 span {
    font-weight: 400;
}

#risk .reasonList p.caption {
    margin-top: 20px;
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    line-height: 150%;
    font-size: 12px;
    letter-spacing: 0.48px;
}

@media screen and (max-width: 999px) {
    #risk .reasonList p.caption {
        width: calc(690 / 750 * 100vw);
        margin: calc(20 / 750 * 100vw) auto 0;
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
    }
}

@media screen and (max-width: 999px) {
    #risk .riskImage {
        width: calc(604 / 750 * 100vw);
    }

    #risk h4 {
        width: calc(630 / 750 * 100vw);
    }
}

/* ========================================
    p-reason
======================================== */
.p-reason {
    position: relative;
    width: 100%;
    height: 2560px;
}

@media screen and (max-width: 999px) {
    .p-reason {
        height: calc(4539 / 750 * 100vw);
    }
}

.p-reason__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.p-reason__inner {
    width: 1000px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 113px;
}

@media screen and (max-width: 999px) {
    .p-reason__inner {
        width: calc(690 / 750 * 100vw);
        padding-top: calc(113 / 750 * 100vw);
    }
}

.p-reason__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 999px) {
    .p-reason__head {
        margin-bottom: calc(70 / 750 * 100vw);
    }
}

.p-reason__head .row-1 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 20px;
    letter-spacing: 0.8px;
}

@media screen and (max-width: 999px) {
    .p-reason__head .row-1 {
        font-size: calc(34 / 750 * 100vw);
        letter-spacing: calc(2.72 / 750 * 100vw);
    }
}

.p-reason__head .row-2 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    font-size: 62px;
    letter-spacing: 4.96px;
    margin-top: 7px;
}

@media screen and (max-width: 999px) {
    .p-reason__head .row-2 {
        font-size: calc(72 / 750 * 100vw);
        letter-spacing: calc(5.76 / 750 * 100vw);
        margin-top: calc(7 / 750 * 100vw);
    }
}

.p-reason__head .row-2 .marker {
    background: linear-gradient(transparent 80%, #F8DE5C 0%);
    display: inline;
    padding: 0 2px 0;
}

.p-reason__head .row-3 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 1.28px;
    font-size: 32px;
    margin-top: 14px;
}

@media screen and (max-width: 999px) {
    .p-reason__head .row-3 {
        letter-spacing: calc(3.36 / 750 * 100vw);
        font-size: calc(42 / 750 * 100vw);
        margin-top: calc(20 / 750 * 100vw);
    }
}

.p-reason__award-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 57px;
}

@media screen and (max-width: 999px) {
    .p-reason__award-head {
        margin-top: calc(71 / 750 * 100vw) !important;
        margin-bottom: calc(60 / 750 * 100vw) !important;
    }
}

.p-reason__award-head::before {
    display: inline-block;
    width: 262px;
    height: 86px;
    background-image: url("../img/v2/sunray.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

@media screen and (max-width: 999px) {
    .p-reason__award-head::before {
        width: calc(374 / 750 * 100vw);
        height: calc(123 / 750 * 100vw);
    }
}

.p-reason__award-head .row-1 {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    font-size: 24px;
    letter-spacing: 0.96px;
}

@media screen and (max-width: 999px) {
    .p-reason__award-head .row-1 {
        font-size: calc(38 / 750 * 100vw) !important;
        letter-spacing: calc(3.04 / 750 * 100vw) !important;
        margin-top: calc(43 / 750 * 100vw) !important;
    }
}

.p-reason__award-head .row-1 .ac {
    color: #3DA4B8;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 150%;
    display: inline !important;
    font-size: 44px !important;
    letter-spacing: 3.52px !important;
}

@media screen and (max-width: 999px) {
    .p-reason__award-head .row-1 .ac {
        font-size: calc(44 / 750 * 100vw) !important;
        letter-spacing: calc(3.52 / 750 * 100vw) !important;
    }
}

.p-reason__award-head .row-1 .digit {
    color: #3DA4B8;
    font-feature-settings: 'palt' on;
    font-family: "Roboto", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    display: inline !important;
    font-size: 58px !important;
    letter-spacing: -6.38px !important;
}

@media screen and (max-width: 999px) {
    .p-reason__award-head .row-1 .digit {
        font-size: calc(68 / 750 * 100vw) !important;
        letter-spacing: calc(-7.48 / 750 * 100vw) !important;
    }
}

.p-reason__award-head .row-1 .marker {
    background: linear-gradient(transparent 80%, #F8DE5C 0%);
    display: inline !important;
    padding: 0 2px 0;
}

.p-reason__award-head .row-2 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    font-size: 24px !important;
    letter-spacing: 0.96px !important;
}

@media screen and (max-width: 999px) {
    .p-reason__award-head .row-2 {
        font-size: calc(38 / 750 * 100vw) !important;
        letter-spacing: calc(3.04 / 750 * 100vw) !important;
    }
}

#gooddesign .bnrBox {
    margin-top: 35px;
    max-width: 393px;
}

@media screen and (max-width: 999px) {
    #gooddesign .bnrBox {
        margin-top: 0 !important;
        max-width: calc(513 / 750 * 100vw);
    }
}

.p-reason__rooms {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 117px;
    gap: 44px;
}

@media screen and (max-width: 999px) {
    .p-reason__rooms {
        grid-template-columns: 1fr;
        margin-top: calc(183 / 750 * 100vw);
        gap: calc(82 / 750 * 100vw);
    }
}

.p-reason__room {
    position: relative;
}

@media screen and (max-width: 999px) {
    .p-reason__room:nth-of-type(odd) {
        left: calc(-30 / 750 * 100vw);
    }

    .p-reason__room:nth-of-type(even) {
        right: calc(-30 / 750 * 100vw);
    }
}

.p-reason__room-head {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    position: absolute;
    left: 0;
    letter-spacing: 0.72px;
    max-width: 274px;
    width: 274px;
    height: 58px;
    font-size: 18px !important;
    top: -29px;
}

@media screen and (max-width: 999px) {
    .p-reason__room-head {
        letter-spacing: calc(0.72 / 750 * 100vw);
        max-width: calc(353 / 750 * 100vw);
        width: calc(353 / 750 * 100vw);
        height: calc(91 / 750 * 100vw);
        font-size: calc(32 / 750 * 100vw) !important;
        top: calc(-45.5 / 750 * 100vw);
    }

    .p-reason__room-head.is-aligned-right {
        right: 0;
        left: auto;
    }
}


.p-reason__award-head-2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #2A9FB6;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 32px !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 140%;
    letter-spacing: 2.56px;
    margin-top: 35px;
    position: relative;
}

@media screen and (max-width: 999px) {
    .p-reason__award-head-2 {
        font-size: calc(42 / 750 * 100vw) !important;
        letter-spacing: calc(3.36 / 750 * 100vw);
        margin-bottom: 0 !important;
    }
}

.p-reason__award-head-2::after {
    display: inline-block;
    background-image: url("../img/v2/reason-dot.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    height: 3px;
    width: 482px;
    margin-top: 20px;
}

@media screen and (max-width: 999px) {
    .p-reason__award-head-2::after {
        height: calc(3 / 750 * 100vw);
        width: calc(630 / 750 * 100vw);
        margin-top: calc(20 / 750 * 100vw);
    }
}

.p-reason__award-img {
    margin-top: 73px;
}

@media screen and (max-width: 999px) {
    .p-reason__award-img {
        margin-top: calc(70 / 750 * 100vw);
    }
}

.p-reason__voices {
    margin-top: 90px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices {
        margin-top: calc(120 / 750 * 100vw);
    }

}

.p-reason__voices-head {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.8px;
    font-size: 20px !important;
    gap: 20px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-head {
        letter-spacing: calc(2.72 / 750 * 100vw);
        font-size: calc(34 / 750 * 100vw) !important;
        gap: calc(20 / 750 * 100vw);
        margin-bottom: 0 !important;
    }
}

.p-reason__voices-head::after {
    display: inline-block;
    width: 388px;
    height: 3px;
    background-image: url("../img/v2/voice-dot.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

@media screen and (max-width: 999px) {
    .p-reason__voices-head::after {
        width: calc(630 / 750 * 100vw);
        height: calc(5 / 750 * 100vw);
    }
}

.p-reason__voices-area-body {
    margin-top: 38px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-area-body {
        margin-top: calc(80 / 750 * 100vw);
    }
}

.p-reason__voices-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 43px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-list {
        grid-template-columns: 1fr;
        gap: calc(78 / 750 * 100vw);
    }
}

.p-reason__voices-item {
    display: grid;
    grid-template-columns: 142px 1fr;
    gap: 13px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-item {
        grid-template-columns: calc(198 / 750 * 100vw) 1fr;
        gap: calc(23 / 750 * 100vw);
    }
}

.p-reason__voices-item-area-face {
    width: 100%;
}

.p-reason__voices-item-area-text {
    border-radius: 40px;
    background: #FFF;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-item-area-text {
        border-radius: calc(40 / 750 * 100vw);
        padding: calc(28 / 750 * 100vw) calc(53 / 750 * 100vw);
    }
}

.p-reason__voices-item-area-text::after {
    display: inline-block;
    width: 45px;
    height: 45px;
    background-image: url("../img/v2//bubble.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    left: 54px;
    bottom: -25px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-item-area-text::after {
        width: calc(45 / 750 * 100vw);
        height: calc(45 / 750 * 100vw);
        left: calc(54 / 750 * 100vw);
        bottom: calc(-24 / 750 * 100vw);
    }
}

.p-reason__voices-item-name {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 0.64px;
    font-size: 16px;
    margin-top: 13px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-item-name {
        letter-spacing: calc(2.08 / 750 * 100vw);
        font-size: calc(26 / 750 * 100vw);
        margin-top: calc(18 / 750 * 100vw);
    }
}

.p-reason__voices-item-text {
    color: #000;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 18px;
    letter-spacing: 1.44px;
}

@media screen and (max-width: 999px) {
    .p-reason__voices-item-text {
        font-size: calc(28 / 750 * 100vw);
        letter-spacing: calc(2.24 / 750 * 100vw);
    }
}

#gooddesign {
    margin: 0 !important;
}

/* ========================================
    p-owner
======================================== */
#owner {
    padding-top: 100px;
    padding-bottom: 80px;
}

@media screen and (max-width: 999px) {
    #owner {
        padding-top: calc(100 / 750 * 100vw);
        padding-bottom: calc(80 / 750 * 100vw);
    }
}

#owner h3 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.8px;
    font-size: 20px;
    background: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding-bottom: 0 !important;
}

@media screen and (max-width: 999px) {
    #owner h3 {
        letter-spacing: calc(2.72 / 750 * 100vw) !important;
        font-size: calc(34 / 750 * 100vw) !important;
        max-width: 100% !important;
        background: none;
        margin-bottom: calc(80 / 750 * 100vw);
        padding-bottom: calc(30 / 750 * 100vw);
        gap: calc(25 / 750 * 100vw);
    }
}

#owner h3::after {
    display: inline-block;
    width: 338px;
    height: 3px;
    background-image: url("../img/v2/owner-dot.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

@media screen and (max-width: 999px) {
    #owner h3::after {
        display: inline-block;
        width: calc(515 / 750 * 100vw);
        height: calc(5 / 750 * 100vw);
        background-image: url("../img/v2/owner-dot.webp");
    }
}

.p-owner .content {
    max-width: 920px;
}

@media screen and (max-width: 999px) {
    .p-owner .content {
        max-width: calc(690 / 750 * 100vw);
    }
}

.p-owner__boxes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

@media screen and (max-width: 999px) {
    .p-owner__boxes {
        grid-template-columns: 1fr;
        gap: calc(80 / 750 * 100vw);
    }
}

.p-owner__box {
    border: 3px solid #C9CACA !important;
    border-radius: 10px !important;
    background-color: #fff;
    padding: 50px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

@media screen and (max-width: 999px) {
    .p-owner__box {
        border-radius: calc(10 / 750 * 100vw) !important;
        padding: calc(60 / 750 * 100vw) calc(30 / 750 * 100vw);
    }

    .p-owner__box:nth-of-type(2) {
        padding-bottom: calc(116 / 750 * 100vw);
    }
}

.p-owner__box-head {
    color: #000;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 0.8px;
}

@media screen and (max-width: 999px) {
    .p-owner__box-head {
        font-size: calc(34 / 750 * 100vw);
        letter-spacing: calc(2.72 / 750 * 100vw);
    }
}

.p-owner__box-head b {
    color: #3DA4B8;
    font-weight: 700;
}

.p-owner__body {
    display: grid;
    align-items: center;
    grid-template-columns: 158px 1fr;
    gap: 26px;
    margin-top: 26px;
}

@media screen and (max-width: 999px) {
    .p-owner__body {
        grid-template-columns: calc(251 / 750 * 100vw) 1fr;
        gap: calc(39 / 750 * 100vw);
        margin-top: calc(29 / 750 * 100vw);
    }
}

.p-owner__box-income {
    background: #E2F1F4;
    padding: 30px 0;
    border-radius: 20px;
    margin-top: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 26px;
}

@media screen and (max-width: 999px) {
    .p-owner__box-income {
        padding: calc(30 / 750 * 100vw) 0;
        border-radius: calc(20 / 750 * 100vw);
        margin-top: calc(26 / 750 * 100vw);
        flex-direction: row;
        gap: calc(30 / 750 * 100vw);
    }
}

.p-owner__box-income-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.p-owner__box-income-head {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 18px;
    letter-spacing: 1.44px;
}

@media screen and (max-width: 999px) {
    .p-owner__box-income-head {
        font-size: calc(28 / 750 * 100vw);
        letter-spacing: calc(2.24 / 750 * 100vw);
    }
}

.p-owner__box-income-number {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Roboto", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 0;
    position: relative;
    background: linear-gradient(transparent 70%, #F8DE5C 0%);
    display: inline;
    margin-top: 30px;
    letter-spacing: -1.16px;
    font-size: 58px;
    padding: 0 2px 0;
}

@media screen and (max-width: 999px) {
    .p-owner__box-income-number {
        margin-top: calc(20 / 750 * 100vw);
        letter-spacing: calc(-1.36 / 750 * 100vw);
        font-size: calc(68 / 750 * 100vw);
    }
}

.p-owner__box-income-number .unit {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    position: relative;
    font-size: 32px;
    letter-spacing: 1.28px;
    padding-left: 3px;
    top: -3px;
}

@media screen and (max-width: 999px) {
    .p-owner__box-income-number .unit {
        font-size: calc(42 / 750 * 100vw);
        letter-spacing: calc(3.36 / 750 * 100vw);
        padding-left: calc(3 / 750 * 100vw);
        top: calc(-3 / 750 * 100vw);
    }
}

.p-owner__box-income-table {
    border-collapse: separate;
    border-spacing: 13px 0;
}

@media screen and (max-width: 999px) {
    .p-owner__box-income-table {
        border-spacing: calc(13 / 750 * 100vw) 0;
    }
}

.p-owner__box-income-table th,
.p-owner__box-income-table td {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 16px;
    letter-spacing: 0.64px;
}

.p-owner__box-income-table td {
    text-align: right;
}

@media screen and (max-width: 999px) {

    .p-owner__box-income-table th,
    .p-owner__box-income-table td {
        color: #000;
        font-feature-settings: 'palt' on;
        font-family: "Noto Sans JP", sans-serif;
        font-style: normal;
        font-weight: 400;
        line-height: 180%;
        font-size: calc(26 / 750 * 100vw);
        letter-spacing: calc(2.08 / 750 * 100vw);
    }
}

.p-owner__box-income-note {
    text-align: right;
    color: #000;
    text-align: right;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    font-size: 12px;
    letter-spacing: 0.48px;
    position: absolute;
    right: 55px;
    bottom: 25px;
}

@media screen and (max-width: 999px) {
    .p-owner__box-income-note {
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
        right: calc(30 / 750 * 100vw);
        bottom: calc(60 / 750 * 100vw);
    }
}

.p-owner__box-area-bot {
    width: 100%;
    padding-top: 26px;
    position: relative;
}

@media screen and (max-width: 999px) {
    .p-owner__box-area-bot {
        width: 100%;
        padding-top: calc(39 / 750 * 100vw);
        position: relative;
    }
}

.p-owner__box-area-bot::before {
    display: inline-block;
    width: 100%;
    height: 8px;
    background-image: url("../img/v2/owner-line.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

@media screen and (max-width: 999px) {
    .p-owner__box-area-bot::before {
        height: calc(12 / 750 * 100vw);
    }
}

.p-owner__box-name {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
    font-size: 20px;
    letter-spacing: 0.4px;
}

@media screen and (max-width: 999px) {
    .p-owner__box-name {
        font-size: calc(30 / 750 * 100vw);
        letter-spacing: calc(0.6 / 750 * 100vw);
    }
}

/* ========================================
    p-step
======================================== */
.p-step {
    padding-top: 138px;
}

@media screen and (max-width: 999px) {
    .p-step {
        padding-top: calc(170 / 750 * 100vw);
        position: relative;
        z-index: 50;
    }
}

.p-step__bg {
    background: #E2F1F4;
    padding-bottom: 50px;
}

@media screen and (max-width: 999px) {
    .p-step__bg {
        padding-bottom: calc(50 / 750 * 100vw);
    }
}

.p-step__inner {
    width: 1000px;
    margin: 0 auto 0;
}

@media screen and (max-width: 999px) {
    .p-step__inner {
        width: calc(690 / 750 * 100vw);
    }
}

.p-step__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: 4px solid #3DA4B8;
    background: #FFF;
    position: relative;
    margin: 0 auto 0;
    border-radius: 20px;
    top: -106px;
    max-width: 690px;
    padding: 31px 3.7%;
    gap: 2px;
}

@media screen and (max-width: 999px) {
    .p-step__head {
        border-radius: calc(20 / 750 * 100vw);
        top: calc(-160 / 750 * 100vw);
        max-width: 100%;
        padding: calc(56 / 750 * 100vw) calc(26 / 750 * 100vw);
    }
}

.p-step__head .row {
    color: #333;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 30px;
    letter-spacing: 1.2px;
}

@media screen and (max-width: 999px) {
    .p-step__head .row {
        font-size: calc(40 / 750 * 100vw);
        letter-spacing: calc(1.6 / 750 * 100vw);
        white-space: nowrap;
    }
}

.p-step__head .row .ac {
    color: #3DA4B8;
}

.p-step__area-body {
    border-radius: 20px;
    background: #FEFEFE;
    margin-top: -47px;
    padding-bottom: 40px;
}

@media screen and (max-width: 999px) {
    .p-step__area-body {
        border-radius: calc(20 / 750 * 100vw);
        margin-top: calc(-117 / 750 * 100vw);
        padding-bottom: calc(46 / 750 * 100vw);
        padding-left: calc(14 / 750 * 100vw);
        padding-right: calc(14 / 750 * 100vw);
    }
}

.p-step__those-who {
    width: 140px;
    margin: 0 auto 0;
    z-index: 20;
    position: relative;
}

@media screen and (max-width: 999px) {
    .p-step__those-who {
        width: calc(170 / 750 * 100vw);
    }
}

.p-step__those-who img {
    margin-top: -70px;
}

@media screen and (max-width: 999px) {
    .p-step__those-who img {
        margin-top: calc(-90 / 750 * 100vw);
    }
}

.p-step__body-steps {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

@media screen and (max-width: 999px) {
    .p-step__body-steps {
        gap: calc(32 / 750 * 100vw);
    }
}

.p-step__body-step {
    display: flex;
    align-items: flex-start;
    width: 666px;
    margin: 0 auto 0;
    gap: 24px;
}

@media screen and (max-width: 999px) {
    .p-step__body-step {
        width: calc(630 / 750 * 100vw);
        gap: calc(24 / 750 * 100vw);
    }
}

.p-step__body-step-number {
    color: #FFF;
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    background: #3DA4B8;
    position: relative;
    letter-spacing: 1.4px;
    font-size: 14px;
    padding: 10px 11px;
    border-radius: 8px;
}

@media screen and (max-width: 999px) {
    .p-step__body-step-number {
        letter-spacing: calc(2.4 / 750 * 100vw);
        font-size: calc(24 / 750 * 100vw);
        padding: calc(3 / 750 * 100vw) 0;
        border-radius: calc(8 / 750 * 100vw);
        width: calc(122 / 750 * 100vw);
        margin-top: calc(9 / 750 * 100vw);
    }
}

.p-step__body-step-number.has-arrow::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #F8DE5C transparent transparent transparent;
    border-width: 15px 10px 0px 10px;
    position: absolute;
    bottom: -21px;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 999px) {
    .p-step__body-step-number.has-arrow::before {
        border-width: calc(15 / 750 * 100vw) calc(10 / 750 * 100vw) 0px calc(10 / 750 * 100vw);
        bottom: calc(-21 / 750 * 100vw);
    }
}

.p-step__body-step-head {
    color: #3DA4B8;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 140%;
    font-size: 24px;
    letter-spacing: 0.96px;
}

@media screen and (max-width: 999px) {
    .p-step__body-step-head {
        font-size: calc(36 / 750 * 100vw);
        letter-spacing: calc(1.44 / 750 * 100vw);
    }
}

.p-step__body-step-text {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 16px;
    letter-spacing: 0.64px;
}

@media screen and (max-width: 999px) {
    .p-step__body-step-text {
        font-size: calc(26 / 750 * 100vw);
        letter-spacing: calc(1.04 / 750 * 100vw);
    }
}

.p-step__body-step-note {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.48px;
}

@media screen and (max-width: 999px) {
    .p-step__body-step-note {
        font-size: calc(20 / 750 * 100vw);
        letter-spacing: calc(0.8 / 750 * 100vw);
    }
}

.p-step__body-area-btn {
    margin-top: 25px;
}

@media screen and (max-width: 999px) {
    .p-step__body-area-btn {
        margin-top: calc(23 / 750 * 100vw);
    }
}

.p-step__body-area-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 25px;
}

@media screen and (max-width: 999px) {
    .p-step__body-area-head {
        margin-top: calc(28 / 750 * 100vw);
    }
}

.p-step__body-steps {
    margin-top: 25px;
}

@media screen and (max-width: 999px) {
    .p-step__body-steps {
        margin-top: calc(30 / 750 * 100vw);
    }
}

.p-step__body-text-1 {
    color: #3DA4B8;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 18px;
    letter-spacing: 0.72px;
}

@media screen and (max-width: 999px) {
    .p-step__body-text-1 {
        font-size: calc(30 / 750 * 100vw);
        letter-spacing: calc(1.2 / 750 * 100vw);
    }
}

.p-step__body-head-main {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 20px;
    letter-spacing: 0.8px;
}

@media screen and (max-width: 999px) {
    .p-step__body-head-main {
        font-size: calc(32 / 750 * 100vw);
        letter-spacing: calc(1.28 / 750 * 100vw);
    }
}

.p-step__body-head-main .marker {
    background: linear-gradient(transparent 70%, #F8DE5C 0%);
    display: inline;
    padding: 0 2px 0;
}

.p-step__body-head-main .digit {
    color: #3DA4B8;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 140%;
    font-size: 56px;
    letter-spacing: 2.24px;
}

@media screen and (max-width: 999px) {
    .p-step__body-head-main .digit {
        font-size: calc(64 / 750 * 100vw);
        letter-spacing: calc(2.56 / 750 * 100vw);
    }
}

.p-step__body-head-sub {
    margin-top: 6px;
    max-width: 333px;
}

@media screen and (max-width: 999px) {
    .p-step__body-head-sub {
        margin-top: calc(8 / 750 * 100vw);
        max-width: calc(431 / 750 * 100vw);
    }
}

.p-step__body-head .ac {
    color: #3DA4B8;
}

/* ========================================
    p-faq
======================================== */
#faq {
    padding-top: 100px;
    padding-bottom: 87px;
}

@media screen and (max-width: 999px) {
    #faq {
        padding-top: calc(100 / 750 * 100vw);
        padding-bottom: calc(81 / 750 * 100vw);
    }
}

.p-faq .content {
    max-width: 1000px;
}

@media screen and (max-width: 999px) {
    .p-faq .content {
        max-width: calc(690 / 750 * 100vw);
    }
}

#faq h3 {
    color: #000;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    background: none;
    padding-bottom: 0 !important;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.8px;
    font-size: 20px;
    gap: 19px;
    margin-bottom: 80px;
}

@media screen and (max-width: 999px) {
    #faq h3 {
        gap: calc(19 / 750 * 100vw);
        font-size: calc(34 / 750 * 100vw);
        letter-spacing: calc(2.72 / 750 * 100vw);
        margin-bottom: calc(100 / 750 * 100vw);
    }
}

#faq h3:after {
    display: inline-block;
    width: 330px;
    height: 3px;
    background-image: url("../img/v2/faq-dot.webp");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

@media screen and (max-width: 999px) {
    #faq h3:after {
        width: calc(515 / 750 * 100vw);
        height: calc(3 / 750 * 100vw);
    }
}

.faqBox .question {
    background: #3DA4B8;
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    font-size: 18px;
    letter-spacing: 1.44px;
    padding: 18px 11.9%;
}

@media screen and (max-width: 999px) {
    .faqBox .question {
        font-size: calc(28 / 750 * 100vw);
        letter-spacing: calc(2.24 / 750 * 100vw);
        padding: calc(14 / 750 * 100vw) calc(89 / 750 * 100vw);
    }
}

.faqBox .answer {
    color: #000;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    font-size: 18px;
    letter-spacing: 1.44px;
    padding: 34px 8%;
}

@media screen and (max-width: 999px) {
    .faqBox .answer {
        font-size: calc(28 / 750 * 100vw);
        letter-spacing: calc(2.24 / 750 * 100vw);
        padding: calc(40 / 750 * 100vw) calc(29 / 750 * 100vw);
    }
}

.faqBox .answer b {
    background: linear-gradient(transparent 70%, #F8DE5C 0%);
    display: inline;
    padding: 0 2px 0;
    border-bottom: none;
}

.faqBox .questionBtn {
    right: 8%;
}

.faqBox .question:before {
    left: 8%;
}

.faqBox {
    margin-bottom: 40px;
}

@media screen and (max-width: 999px) {
    .faqBox {
        margin-bottom: calc(40 / 750 * 100vw);
    }
}

.faqBox.is-last {
    margin-bottom: 0;
}

.faqBox .caption {
    margin-top: 0;
}

/* ========================================
    p-footer
======================================== */
#footer {
    background-color: #fff;
}

.p-footer .content {
    width: 566px;
    margin: 0 auto 0;
}

.p-footer .logoBox {
    max-width: 476px;
}

@media screen and (max-width: 999px) {
    .p-footer .logoBox {
        max-width: 100%;
    }
}

.p-footer .copyright {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    font-size: 12px;
    letter-spacing: 0.48px;
    margin-top: 45px;
}

@media screen and (max-width: 999px) {
    .p-footer .copyright {
        font-size: calc(20 / 750 * 100vw) !important;
        letter-spacing: calc(0.8 / 750 * 100vw) !important;
        margin-top: calc(59 / 750 * 100vw) !important;
        text-align: left !important;
    }
}

#footer .outlineBox .companyLicense {
    color: #010101;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 1.12px;
    margin-top: 21px;
}

@media screen and (max-width: 999px) {
    #footer .outlineBox .companyLicense {
        font-size: calc(24 / 750 * 100vw);
        letter-spacing: calc(1.12 / 750 * 100vw);
        margin-top: calc(21 / 750 * 100vw);
    }
}

#footer .outlineBox .companyName {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    font-size: 18px;
    letter-spacing: 0.72px;
}

@media screen and (max-width: 999px) {
    #footer .outlineBox .companyName {
        font-size: calc(32 / 750 * 100vw);
        letter-spacing: calc(2.56 / 750 * 100vw);
        margin-bottom: calc(44 / 750 * 100vw) !important;
    }
}

.p-footer__address-list {
    display: flex;
    flex-direction: column;
    gap: 21px;
}

@media screen and (max-width: 999px) {
    .p-footer__address-list {
        display: flex;
        flex-direction: column;
        gap: calc(21 / 750 * 100vw);
    }
}

#footer .logoBox h3 {
    margin-bottom: 0;
}

#footer .logoBox p {
    width: 100%;
}

.p-footer__address-item {
    color: #000;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    font-size: 14px;
    letter-spacing: 1.12px;
}

@media screen and (max-width: 999px) {
    .p-footer__address-item {
        font-size: calc(24 / 750 * 100vw) !important;
        letter-spacing: calc(1.92 / 750 * 100vw) !important;
    }
}

@media screen and (max-width: 999px) {
    #footer .content {
        width: calc(630 / 750 * 100vw);
    }
}

#footer .outlineBox {
    margin-bottom: 62px !important;
}

@media screen and (max-width: 999px) {
    #footer .outlineBox {
        margin-bottom: calc(92 / 750 * 100vw);
    }
}

/* ========================================
    #pageTop
======================================== */
#pageTop {
    z-index: 100;
}