@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@700&display=swap");
@media screen and (max-width:880px) {

    .is-pc,
    .pc-br {
        display: none
    }
}

.is-sp,
.sp-br {
    display: none
}

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

    .is-sp,
    .sp-br {
        display: block
    }
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/NotoSansCJKjp-Regular-sub-j1.woff") format("woff")
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/NotoSansCJKjp-Medium-sub-j1.woff") format("woff")
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/NotoSansCJKjp-Bold-sub-j1.woff") format("woff")
}

@property --grad-start {
    syntax: "<color>";
    initial-value: #F59A58;
    inherits: false
}

@property --grad-end {
    syntax: "<color>";
    initial-value: #E26914;
    inherits: false
}

.p-common-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    z-index: 1;
    text-decoration: none;
    padding-left: 12px;
    padding-right: 12px
}

@media screen and (max-width:880px) {
    .p-common-btn {
        border-radius: 1.0256410256vw;
        font-size: 4.1025641026vw;
        padding: 0
    }
}

.p-common-btn span {
    display: inline-block;
    position: relative;
    z-index: 10
}

.p-common-btn.is-material {
    border: 2px solid #F59A58;
    border-radius: 4px;
    background-color: #fff;
    color: #E26914;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease
}

.p-common-btn.is-material span {
    padding-left: 20px
}

@media screen and (max-width:880px) {
    .p-common-btn.is-material span {
        padding-left: 5.1282051282vw
    }
}

.p-common-btn.is-material span:before {
    content: "";
    display: block;
    position: absolute;
    left: -18px;
    width: 18px;
    height: 24px;
    background-color: #E26914;
    -webkit-mask-image: url(../img/icon_material_orange.svg);
    mask-image: url(../img/icon_material_orange.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease
}

@media screen and (max-width:880px) {
    .p-common-btn.is-material span:before {
        left: -6.1538461538vw;
        width: 4.6153846154vw;
        height: 5.1282051282vw
    }
}

@media screen and (min-width:879px) {
    .p-common-btn.is-material:hover {
        background: #F59A58;
        color: #fff
    }
}

@media screen and (min-width:879px) {
    .p-common-btn.is-material:hover span:before {
        background-color: #fff
    }
}

.p-common-btn.is-inquire {
    border-radius: 4px;
    background: -webkit-gradient(linear, left top, right top, from(var(--grad-start)), to(var(--grad-end)));
    background: linear-gradient(90deg, var(--grad-start), var(--grad-end));
    color: #fff;
    transition: color 0.4s ease, --grad-start 0.5s, --grad-end 0.5s
}

.p-common-btn.is-inquire span {
    padding-left: 20px
}

@media screen and (max-width:880px) {
    .p-common-btn.is-inquire span {
        padding-left: 5.1282051282vw
    }
}

.p-common-btn.is-inquire span:before {
    content: "";
    display: block;
    position: absolute;
    left: -18px;
    top: 2px;
    width: 24px;
    height: 18px;
    background-color: #fff;
    -webkit-mask-image: url(../img/icon_inquire_white.svg);
    mask-image: url(../img/icon_inquire_white.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease
}

@media screen and (max-width:880px) {
    .p-common-btn.is-inquire span:before {
        top: 0.7692307692vw;
        left: -6.1538461538vw;
        width: 5.641025641vw;
        height: 4.358974359vw
    }
}

@media screen and (max-width:880px) {
    .p-common-btn.is-inquire span {
        background-size: 4.8717948718vw 3.5897435897vw
    }
}

@media screen and (min-width:879px) {
    .p-common-btn.is-inquire:hover {
        --grad-start: #E26914;
        --grad-end: #F59A58
    }
}

.p-common-btn.is-white {
    color: #0832BC;
    -webkit-transition: color ease 0.4s;
    transition: color ease 0.4s
}

.p-common-btn.is-white:after {
    background: #fff;
    -webkit-transition: background ease 0.4s;
    transition: background ease 0.4s
}

.p-common-btn.is-white:before {
    background: url(../img/icon_arrow_blue.svg) no-repeat right center;
    background-size: 100% 100%;
    -webkit-transition: background-image ease 0.4s;
    transition: background-image ease 0.4s
}

@media screen and (min-width:879px) {
    .p-common-btn.is-white:hover {
        color: #fff
    }
}

@media screen and (min-width:879px) {
    .p-common-btn.is-white:hover:after {
        background: #0832BC
    }
}

@media screen and (min-width:879px) {
    .p-common-btn.is-white:hover:before {
        background-image: url(../img/icon_arrow_white.svg)
    }
}

.p-common-btn.is-black {
    background: #000;
    padding-right: 24px;
    border: 1px solid #000;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease
}

@media screen and (max-width:880px) {
    .p-common-btn.is-black {
        padding-right: 6.1538461538vw;
        border-radius: 12.8205128205vw
    }
}

@media screen and (min-width:879px) and (min-width:879px) {
    .p-common-btn.is-black:hover {
        background: #fff;
        color: #000
    }
}

@media screen and (min-width:879px) {
    .p-common-btn.is-black:hover:after {
        right: 6px
    }
}

.p-common-btn.is-black:after {
    right: 12px;
    top: calc(50% - 18px);
    width: 36px;
    height: 36px;
    border: 1px solid #000;
    border-radius: 50%;
    background: #fff url(../img/arrow_right_black.svg) no-repeat center center;
    background-size: 12px auto;
    -webkit-transition: right 0.4s cubic-bezier(0.1, 0, 0.2, 0);
    transition: right 0.4s cubic-bezier(0.1, 0, 0.2, 0)
}

@media screen and (max-width:880px) {
    .p-common-btn.is-black:after {
        right: 3.0769230769vw;
        top: calc(50% - 4.6153846154vw);
        width: 9.2307692308vw;
        height: 9.2307692308vw;
        background: #fff url(../img/arrow_right_black.svg) no-repeat center center;
        background-size: 3.0769230769vw auto
    }
}

.p-common-btn.is-test {
    background: orange
}

.p-common-btn.is-test:after {
    display: none
}

.p-common-btn.is-test:before {
    content: "";
    display: block;
    position: absolute;
    background: red;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), color-stop(50%, rgba(0, 0, 0, 0.5)), to(rgb(0, 0, 0)));
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 50%, rgb(0, 0, 0) 100%);
    mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), color-stop(50%, rgba(0, 0, 0, 0.5)), to(rgb(0, 0, 0)));
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 50%, rgb(0, 0, 0) 100%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    z-index: 2;
    -webkit-transition: -webkit-mask-image 0.4s ease;
    transition: -webkit-mask-image 0.4s ease;
    transition: mask-image 0.4s ease;
    transition: mask-image 0.4s ease, -webkit-mask-image 0.4s ease
}

@media screen and (min-width:879px) {
    .p-common-btn.is-test:hover:after {
        display: none
    }
}

@media screen and (min-width:879px) {
    .p-common-btn.is-test:hover:before {
        -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), color-stop(20%, rgba(0, 0, 0, 0.5)), to(rgb(0, 0, 0)));
        -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 20%, rgb(0, 0, 0) 100%);
        mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), color-stop(20%, rgba(0, 0, 0, 0.5)), to(rgb(0, 0, 0)));
        mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 20%, rgb(0, 0, 0) 100%);
        opacity: 1
    }
}

.p-conversion-box {
    max-width: 980px;
    margin: 0 auto;
    padding: 40px 0;
    position: relative;
    z-index: 1;
    border-radius: 10px;
    background: linear-gradient(98deg, #0061BC 12.29%, #112F70 100%)
}

@media screen and (max-width:880px) {
    .p-conversion-box {
        max-width: 100%;
        padding: 10.2564102564vw 8.9743589744vw;
        border-radius: 2.0512820513vw;
        background: linear-gradient(98deg, #0061BC 12.29%, #112F70 100%)
    }
}

.p-conversion-box-lead .is-text {
    font-size: 24px;
    line-height: 1.6;
    font-weight: 700;
    text-align: center;
    color: #fff
}

@media screen and (max-width:880px) {
    .p-conversion-box-lead .is-text {
        font-size: 6.1538461538vw;
        line-height: 1.75
    }
}

.p-conversion-box-list {
    width: 100%;
    padding: 30px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0 8px
}

@media screen and (max-width:880px) {
    .p-conversion-box-list {
        padding: 7.1794871795vw 0 0;
        gap: 2.5641025641vw 0
    }
}

.p-conversion-box-item {
    width: 280px;
    height: 68px;
    font-size: 16px;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-conversion-box-item {
        width: 100%;
        height: 15.3846153846vw
    }
}

.l-header-wrap {
    width: 100%;
    height: 70px;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    -webkit-transition: background-color ease 0.2s;
    transition: background-color ease 0.2s
}

@media screen and (max-width:880px) {
    .l-header-wrap {
        background: rgb(255, 255, 255);
        height: 12.3076923077vw
    }
}

.l-header-wrap.has-bg-color {
    background-color: rgb(255, 255, 255)
}

.p-header-container {
    width: 100%;
    height: 100%;
    padding: 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width:880px) {
    .p-header-container {
        padding: 0 3.0769230769vw
    }
}

.p-header-main {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width:880px) {
    .p-header-main {
        width: 100%
    }
}

.p-header-logo img {
    width: 93px
}

@media screen and (max-width:880px) {
    .p-header-logo img {
        width: 22.3076923077vw
    }
}

.p-header-text {
    padding: 0 0 0 1.5em;
    font-size: 12px;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-header-text {
        padding: 0 0 0 1.5em;
        font-size: 3.3333333333vw
    }
}

.p-header-sub {
    width: 50%
}

@media screen and (max-width:880px) {
    .p-header-sub {
        position: fixed;
        z-index: 99;
        width: 100%;
        height: 15.3846153846vw;
        left: 0;
        bottom: -16.6666666667vw;
        background: rgba(255, 255, 255, 0.85);
        -webkit-box-shadow: 0 -1px 5px 1px rgba(1, 1, 1, 0.2);
        box-shadow: 0 -1px 5px 1px rgba(1, 1, 1, 0.2);
        -webkit-transition: bottom ease 0.4s;
        transition: bottom ease 0.4s
    }
}

@media screen and (max-width:880px) {
    body.is-scrolling .p-header-sub {
        bottom: 0
    }
}

@media screen and (max-width:880px) {
    body.is-scrolling .p-header-sub.is-hide {
        bottom: -16.6666666667vw
    }
}

.p-header-link-list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 0 10px
}

@media screen and (max-width:880px) {
    .p-header-link-list {
        height: 100%;
        gap: 0 2.0512820513vw;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.p-header-link-item {
    width: 130px;
    height: 40px;
    font-size: 14px
}

@media screen and (max-width:880px) {
    .p-header-link-item {
        width: 43.5897435897vw;
        height: 10.2564102564vw;
        font-size: 3.3333333333vw
    }
}

@media screen and (max-width:880px) {
    .p-header-link-item .p-common-btn {
        border-radius: 4.6153846154vw/50%
    }
}

.p-header-link-item .p-common-btn small {
    font-size: 14px
}

@media screen and (max-width:880px) {
    .p-header-link-item .p-common-btn small {
        display: none
    }
}

.l-footer-wrap {
    width: 100%;
    height: 60px;
    background: #212121
}

.l-footer-wrap .l-content-wrap {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-footer-copyright {
    width: 100%;
    font-size: 12px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.04em
}

@media screen and (max-width:880px) {
    .p-footer-copyright {
        line-height: 1.666
    }
}

.l-hero-wrap {
    width: 100%;
    height: 360px;
    padding: 0;
    position: relative;
    z-index: 1;
    background: #fff
}

@media screen and (max-width:880px) {
    .l-hero-wrap {
        height: auto;
        z-index: 99
    }
}

.p-hero-image {
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 2;
    text-align: center
}

@media screen and (max-width:880px) {
    .p-hero-image {
        height: auto;
        min-height: 0
    }
}

.p-hero-image img {
    max-width: 100%;
    height: 360px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center top;
    object-position: center top
}

@media screen and (max-width:880px) {
    .p-hero-image img {
        max-width: 100%;
        height: auto
    }
}

.l-hero-content-wrap {
    padding: 40px 20px;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 3;
    left: 0;
    top: 0
}

@media screen and (max-width:880px) {
    .l-hero-content-wrap {
        padding: 0
    }
}

.l-hero-content-wrap .l-content-wrap {
    height: 100%
}

@media screen and (max-width:880px) {
    .l-hero-content-wrap .l-content-wrap {
        padding-top: 20.5128205128vw
    }
}

.l-hero-content-inner {
    max-width: 1200px;
    margin: 0 auto;
    height: 100%
}

@media screen and (max-width:880px) {
    .l-hero-content-inner {
        max-width: 100%;
        padding: 0 5.1282051282vw
    }
}

.p-hero-content-text {
    width: 74%;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (max-width:880px) {
    .p-hero-content-text {
        width: 100%;
        top: 0;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        height: 100%;
        z-index: 9
    }
}

.p-hero-headline {
    font-size: 32px;
    line-height: 1.5;
    font-weight: 700;
    text-align: left;
    color: #fff
}

@media screen and (max-width:880px) {
    .p-hero-headline {
        padding: 2vw 0 0;
        font-size: 6.1538461538vw
    }
}

@media screen and (max-width:880px) {
    .p-hero-headline span {
        font-size: 6.1538461538vw;
        line-height: 1.6
    }
}

.p-hero-headline small {
    font-size: clamp(16px, 2vw, 35px)
}

@media screen and (max-width:880px) {
    .p-hero-headline small {
        font-size: 5.1282051282vw
    }
}

.p-hero-headline img {
    width: 71%;
    margin-top: 16px
}

@media screen and (max-width:880px) {
    .p-hero-headline img {
        width: 60.2564102564vw;
        margin-top: 3.0769230769vw
    }
}

.p-hero-subhead {
    padding: 28px 0 0;
    font-size: 18px
}

@media screen and (max-width:880px) {
    .p-hero-subhead {
        padding: 5.1282051282vw 0 0;
        font-size: 3.5897435897vw;
        text-shadow: none;
        text-align: center;
        line-height: 1.7
    }
}

.p-hero-lead {
    padding: 12px 0 0
}

@media screen and (max-width:880px) {
    .p-hero-lead {
        max-width: 100%;
        padding: 2vw 0 0
    }
}

.p-hero-lead .is-text {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff
}

@media screen and (max-width:880px) {
    .p-hero-lead .is-text {
        font-size: 3.5897435897vw;
        line-height: 1.68
    }
}

.p-hero-lead .is-annotation {
    font-size: 12px;
    line-height: 1.7;
    color: #fff
}

@media screen and (max-width:880px) {
    .p-hero-lead .is-annotation {
        font-size: 3.0769230769vw;
        line-height: 1.68
    }
}

.p-hero-link-list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 8px;
    padding-top: 28px
}

@media screen and (max-width:880px) {
    .p-hero-link-list {
        padding-top: 7.1794871795vw;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 2.5641025641vw 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.p-hero-link-item {
    width: 225px;
    height: 52px;
    font-size: 15px;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-hero-link-item {
        width: 81.5384615385vw;
        height: 14.1025641026vw
    }
}

@media screen and (max-width:880px) {
    .p-hero-link-item .p-common-btn {
        border-radius: 6.6666666667vw/50%
    }
}

.p-hero-content-image {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
    padding: 0 20px 0 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

@media screen and (max-width:880px) {
    .p-hero-content-image {
        width: 100%;
        height: auto;
        padding: 0;
        top: 44.1025641026vw
    }
}

.p-hero-content-image-box {
    position: relative;
    height: 100%;
    width: 100%
}

.p-hero-content-image-box.is-loaded .p-hero-point-list {
    opacity: 1
}


@-webkit-keyframes animation_no {
    60% {
        z-index: 2
    }

    to {
        left: 300px;
        top: 60px;
        z-index: 1
    }
}

@keyframes animation_no {
    60% {
        z-index: 2
    }

    to {
        left: 300px;
        top: 60px;
        z-index: 1
    }
}

@-webkit-keyframes animation_no_sp {
    60% {
        z-index: 1
    }

    to {
        left: 45vw;
        top: 3.0769230769vw;
        z-index: 1;
        width: 35.8974358974vw
    }
}

@keyframes animation_no_sp {
    60% {
        z-index: 1
    }

    to {
        left: 45vw;
        top: 3.0769230769vw;
        z-index: 1;
        width: 35.8974358974vw
    }
}

@-webkit-keyframes animation_yes {
    60% {
        z-index: 1
    }

    to {
        left: 0;
        top: 180px;
        width: 377px;
        z-index: 2
    }
}

@keyframes animation_yes {
    60% {
        z-index: 1
    }

    to {
        left: 0;
        top: 180px;
        width: 377px;
        z-index: 2
    }
}

@-webkit-keyframes animation_yes_sp {
    60% {
        z-index: 2
    }

    to {
        left: 2.0512820513vw;
        top: 17.9487179487vw;
        width: 51.2820512821vw;
        z-index: 2
    }
}

@keyframes animation_yes_sp {
    60% {
        z-index: 2
    }

    to {
        left: 2.0512820513vw;
        top: 17.9487179487vw;
        width: 51.2820512821vw;
        z-index: 2
    }
}

.l-mv-static-wrap {
    position: relative;
    padding: 2vw 0 0
}

@media screen and (max-width:880px) {
    .l-mv-static-wrap {
        padding: 0
    }
}

.l-mv-static-wrap .is-static-image {
    padding: 60px 9vw 0 20px;
    text-align: right
}

@media screen and (max-width:880px) {
    .l-mv-static-wrap .is-static-image {
        padding: 5.641025641vw 0 0;
        text-align: center
    }
}

.l-mv-static-wrap .is-static-image img {
    max-width: 100%
}

@media screen and (max-width:880px) {
    .l-mv-static-wrap .is-static-image img {
        width: 85.641025641vw
    }
}

.p-hero-point-list {
    position: relative;
    z-index: 2;
    opacity: 0;
    -webkit-transition: opacity 1.8s ease;
    transition: opacity 1.8s ease;
    width: 50%;
    max-width: 400px;
    margin: -3.2vw 22.3vw 0 auto;
    padding: 0.5vw 1vw;
    border-radius: 8px;
    outline: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: linear-gradient(99deg, #0022C9 6.86%, #0272B6 71.74%, #0399BA 136.62%)
}

@media screen and (max-width:1060px) {
    .p-hero-point-list {
        padding: 1.5384615385vw 4.1025641026vw;
        border-radius: 1.0256410256vw;
        z-index: 2
    }
}

@media screen and (max-width:880px) {
    .p-hero-point-list {
        margin: -8.2051282051vw auto 0 1.5384615385vw;
        padding: 1.5384615385vw 3.0769230769vw 1.5384615385vw 3.0769230769vw;
        border-radius: 1.0256410256vw;
        max-width: 100%;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-hero-point-list:after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    left: 97%;
    top: 5%;
    width: 6vw;
    height: 3vw;
    background: url(../img/line.svg) no-repeat left center;
    background-size: contain
}

@media screen and (max-width:1060px) {
    .p-hero-point-list:after {
        left: 96%;
        width: 15.3846153846vw;
        height: 7.6923076923vw
    }
}

.p-hero-point-item {
    padding: 4px 0 4px 26px;
    position: relative;
    font-size: clamp(12px, 1vw, 18px);
    letter-spacing: 0;
    line-height: 1.3;
    color: #fff;
    text-align: left
}

@media screen and (max-width:1060px) {
    .p-hero-point-item {
        padding: 1.0256410256vw 0 1.0256410256vw 5.1282051282vw;
        font-size: 2.5641025641vw;
        letter-spacing: 0
    }
}

@media screen and (max-width:880px) {
    .p-hero-point-item {
        padding: 0.5128205128vw 0 0.5128205128vw 4.1025641026vw;
        font-size: 2.5641025641vw;
        line-height: 1.1
    }
}

.p-hero-point-item:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: url(../img/icon_check.svg) no-repeat center center;
    background-size: cover
}

@media screen and (max-width:1060px) {
    .p-hero-point-item:after {
        width: 3.0769230769vw;
        height: 3.0769230769vw
    }
}

.p-hero-point-item b {
    font-weight: 700
}

.p-hero-badge {
    position: absolute;
    z-index: 10;
    right: 100px;
    bottom: -85px;
    width: 150px;
    height: 150px;
    text-indent: -9999px;
    -webkit-perspective: 600px;
    perspective: 600px
}

@media screen and (max-width:1060px) {
    .p-hero-badge {
        display: none
    }
}

.p-hero-badge:after,
.p-hero-badge:before {
    content: "";
    display: block;
    position: absolute
}

.p-hero-badge:before {
    width: 64%;
    height: 64%;
    left: 18%;
    top: 18%;
    background: url(../img/badge_circle.svg) no-repeat center center;
    background-size: auto 100%;
    z-index: 999
}

.p-hero-badge:after {
    left: 5px;
    top: 5px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    background: url(../img/icon_scroll_around_pc.svg) no-repeat center center;
    background-size: 100% 100%;
    -webkit-animation: r01 8s linear infinite;
    animation: r01 8s linear infinite;
    -webkit-transform-origin: center;
    transform-origin: center
}

@-webkit-keyframes r01 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes r01 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes r3d {
    0% {
        -webkit-transform: rotateX(55deg) rotateZ(0deg);
        transform: rotateX(55deg) rotateZ(0deg)
    }

    to {
        -webkit-transform: rotateX(55deg) rotateZ(360deg);
        transform: rotateX(55deg) rotateZ(360deg)
    }
}

@keyframes r3d {
    0% {
        -webkit-transform: rotateX(55deg) rotateZ(0deg);
        transform: rotateX(55deg) rotateZ(0deg)
    }

    to {
        -webkit-transform: rotateX(55deg) rotateZ(360deg);
        transform: rotateX(55deg) rotateZ(360deg)
    }
}

#pageHead {
    display: none
}

@media screen and (max-width:880px) {
    #contents {
        margin: 0
    }
}

#product-gis {
    background: #fff;
    position: relative
}

#product-gis * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "YuGothic", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", sans-serif
}

.js-target {
    opacity: 0;
    will-change: opacity, transform;
    -webkit-filter: blur(8px);
    filter: blur(8px)
}

.js-target.is-active:not(.l-hero-wrap) {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s;
    -webkit-animation-delay: 0;
    animation-delay: 0;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    visibility: visible !important
}

@media screen and (max-width:880px) {
    .js-target.is-active:not(.l-hero-wrap) {
        -webkit-animation-name: fadeInUp;
        animation-name: fadeInUp
    }
}

.js-target.is-active:not(.l-hero-wrap).delay01 {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s
}

.js-target.is-active:not(.l-hero-wrap).delay02 {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s
}

.js-target.is-active:not(.l-hero-wrap).delay03 {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s
}

.js-target.is-active.l-hero-wrap {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s;
    -webkit-animation-delay: 0;
    animation-delay: 0;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    visibility: visible !important
}

@media screen and (max-width:880px) {
    .js-target.is-active.l-hero-wrap {
        -webkit-animation-name: fadeInUp;
        animation-name: fadeInUp
    }
}


@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(15%);
        transform: translateY(15%)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-filter: blur(0);
        filter: blur(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(15%);
        transform: translateY(15%)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-filter: blur(0);
        filter: blur(0)
    }
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-15%);
        transform: translateX(-15%)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-filter: blur(0);
        filter: blur(0)
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-15%);
        transform: translateX(-15%)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-filter: blur(0);
        filter: blur(0)
    }
}

.l-content-wrap {
    max-width: 1200px;
    margin: 0 auto
}

@media screen and (max-width:1220px) {
    .l-content-wrap {
        max-width: 100%;
        width: 100%
    }
}

@media screen and (max-width:880px) {
    .l-content-wrap {
        width: 100%;
        height: auto
    }
}

.p-headline-catch {
    margin-bottom: 10px;
    font-size: 16px;
    letter-spacing: 0.04em;
    color: #0072BC;
    text-align: center;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-headline-catch {
        margin-bottom: 5.1282051282vw;
        font-size: 3.5897435897vw
    }
}

.p-headline-catch span {
    display: inline-block;
    padding-left: 24px;
    position: relative;
    background: url(../img/marker_headline.svg) no-repeat left center;
    background-size: 14px auto;
    font-family: "Inter", sans-serif !important;
    font-optical-sizing: auto
}

@media screen and (max-width:880px) {
    .p-headline-catch span {
        padding-left: 5.1282051282vw;
        background: url(../img/marker_headline.svg) no-repeat left center;
        background-size: 3.2051282051vw auto
    }
}

.p-headline {
    position: relative;
    padding: 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center
}

@media screen and (max-width:880px) {
    .p-headline {
        font-size: 6.1538461538vw
    }
}

.p-headline b {
    font-weight: 700;
    color: #0072BC
}

.p-header-lead {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 0 0
}

@media screen and (max-width:880px) {
    .p-header-lead {
        padding: 7.6923076923vw 0 0
    }
}

.p-header-lead .is-text {
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
    letter-spacing: 0.04em
}

@media screen and (max-width:880px) {
    .p-header-lead .is-text {
        font-size: 4.1025641026vw;
        text-align: left;
        letter-spacing: 0
    }
}

.p-header-lead .is-text.is-center {
    text-align: center
}

@media screen and (max-width:880px) {
    .p-header-lead .is-text.is-center {
        text-align: left
    }
}

.l-breadcrumb-wrap {
    width: 100%;
    background-color: #fff;
    padding: 0 20px
}

@media screen and (max-width:880px) {
    .l-breadcrumb-wrap {
        padding: 0 2.5641025641vw;
        position: relative;
        z-index: 99
    }
}

.l-breadcrumb-wrap .l-content-wrap {
    max-width: 1000px
}

@media screen and (max-width:880px) {
    .l-breadcrumb-wrap .l-content-wrap {
        max-width: 100%
    }
}

.p-breadcrumb-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 2em
}

.p-breadcrumb-item {
    font-size: 12px
}

@media screen and (max-width:880px) {
    .p-breadcrumb-item {
        font-size: 2.5641025641vw
    }
}

.p-breadcrumb-item a {
    position: relative;
    display: block;
    padding: 15px 0;
    color: #0072BC;
    text-decoration: underline
}

@media screen and (max-width:880px) {
    .p-breadcrumb-item a {
        padding: 3.0769230769vw 0
    }
}

.p-breadcrumb-item a:after {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform-origin: center;
    transform-origin: center;
    right: -1em;
    width: 4px;
    height: 4px;
    border-right: 1px solid #0072BC;
    border-top: 1px solid #0072BC
}

@media screen and (max-width:880px) {
    .p-breadcrumb-item a:after {
        width: 1.0256410256vw;
        height: 1.0256410256vw
    }
}

.p-breadcrumb-item span {
    display: inline-block;
    padding: 15px 0
}

@media screen and (max-width:880px) {
    .p-breadcrumb-item span {
        padding: 3.0769230769vw 0
    }
}

.l-top-nav-wrap {
    width: 100%;
    padding: 5px 20px;
    background-color: #fff;
    position: sticky;
    top: 0;
    z-index: 99;
    will-change: transform
}

@media screen and (max-width:880px) {
    .l-top-nav-wrap {
        padding: 0
    }
}

.l-top-nav-wrap.is-stuck {
    -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15)
}

.l-sp-switch-wrap {
    display: none
}

@media screen and (max-width:880px) {
    .l-sp-switch-wrap {
        width: 100%;
        display: block;
        padding: 0 5.1282051282vw
    }

    .l-sp-switch-wrap:has(button[aria-expanded=true]) {
        background: #F1FAFF
    }
}

@media screen and (max-width:880px) {
    .p-sp-hamburger {
        height: 12.3076923077vw;
        position: relative;
        z-index: 99;
        background: none;
        border: none;
        padding: 0;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        padding-left: 5.1282051282vw;
        font-size: 14px;
        font-weight: 700;
        color: #0072BC
    }

    .p-sp-hamburger .switch-line {
        position: absolute;
        top: 50%;
        left: 0;
        width: 3.5897435897vw;
        height: 1px;
        background-color: #0068B7;
        -webkit-transform-origin: center;
        transform-origin: center
    }

    .p-sp-hamburger .switch-line:after,
    .p-sp-hamburger .switch-line:before {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #0068B7;
        -webkit-transition: top 0.4s ease, -webkit-transform 0.4s ease;
        transition: top 0.4s ease, -webkit-transform 0.4s ease;
        transition: transform 0.4s ease, top 0.4s ease;
        transition: transform 0.4s ease, top 0.4s ease, -webkit-transform 0.4s ease
    }

    .p-sp-hamburger .switch-line:before {
        top: -1.0256410256vw
    }

    .p-sp-hamburger .switch-line:after {
        top: 1.0256410256vw
    }

    .p-sp-hamburger[aria-expanded=true] .switch-line {
        background-color: transparent
    }

    .p-sp-hamburger[aria-expanded=true] .switch-line:before {
        top: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .p-sp-hamburger[aria-expanded=true] .switch-line:after {
        top: 0;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    .p-sp-hamburger[aria-expanded=true]+.l-link-list-wrap {
        display: block
    }
}

.l-link-list-wrap {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (max-width:880px) {
    .l-link-list-wrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        visibility: hidden;
        opacity: 0;
        z-index: -1;
        position: absolute;
        left: 0;
        top: 12.3076923077vw;
        background: #fff;
        -webkit-transition: opacity 0.4s ease;
        transition: opacity 0.4s ease;
        padding-bottom: 7.6923076923vw
    }
}

@media screen and (max-width:880px) and (max-width:880px) {
    .l-link-list-wrap.is-open {
        z-index: initial;
        opacity: 1;
        visibility: visible
    }
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.p-anchor-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0 20px
}

@media screen and (max-width:880px) {
    .p-anchor-list {
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 0
    }
}

.p-anchor-item {
    font-size: 14px;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-anchor-item {
        width: 100%;
        padding: 3.3333333333vw 5.1282051282vw;
        border-bottom: 1px solid #E4F1F9
    }
}

.p-anchor-item a {
    color: #0072BC;
    text-decoration: none
}

@media screen and (max-width:880px) {
    .p-anchor-item a {
        display: block;
        width: 100%
    }
}

.p-top-conversion-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 8px
}

@media screen and (max-width:880px) {
    .p-top-conversion-list {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 0 2.5641025641vw;
        padding: 7.6923076923vw 0
    }
}

.p-top-conversion-item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 40px;
    font-size: 14px;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-top-conversion-item {
        height: 11.7948717949vw
    }
}

@media screen and (max-width:880px) {
    .p-top-conversion-item .p-common-btn {
        padding-left: 4.6153846154vw;
        padding-right: 4.6153846154vw
    }
}

.p-top-conversion-item .p-common-btn.is-material span {
    padding-left: 20px
}

@media screen and (max-width:880px) {
    .p-top-conversion-item .p-common-btn.is-material span {
        padding-left: 6.1538461538vw
    }
}

.p-top-conversion-item .p-common-btn.is-material span:before {
    left: 0;
    width: 16px;
    height: 19px
}

@media screen and (max-width:880px) {
    .p-top-conversion-item .p-common-btn.is-material span:before {
        top: 0.5128205128vw;
        width: 4.1025641026vw;
        height: 4.8717948718vw
    }
}

.p-top-conversion-item .p-common-btn.is-inquire span {
    padding-left: 24px
}

@media screen and (max-width:880px) {
    .p-top-conversion-item .p-common-btn.is-inquire span {
        padding-left: 7.1794871795vw
    }
}

.p-top-conversion-item .p-common-btn.is-inquire span:before {
    left: 0;
    width: 19px;
    height: 15px
}

@media screen and (max-width:880px) {
    .p-top-conversion-item .p-common-btn.is-inquire span:before {
        top: 1.0256410256vw;
        width: 5.1282051282vw;
        height: 4.1025641026vw
    }
}

.l-contents-screen-wrap {
    display: none
}

@media screen and (max-width:880px) {
    .l-contents-screen-wrap {
        position: absolute;
        z-index: 98;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(1, 1, 1, 0.5)
    }
}

@media screen and (max-width:880px) {
    #contents.hamburger-active .l-contents-screen-wrap {
        display: block
    }
}

.wrap-bg-gray {
    width: calc(100% - 40px) !important;
    margin: 0 auto;
    border-radius: 20px;
    background-color: #F5F7F8
}

@media screen and (max-width:880px) {
    .wrap-bg-gray {
        width: 100% !important;
        border-radius: 0
    }
}

.l-problem-wrap {
    width: 100%;
    position: relative;
    z-index: 1;
    padding: 60px 0 80px
}

@media screen and (max-width:880px) {
    .l-problem-wrap {
        padding: 14.358974359vw 0 20.5128205128vw
    }
}

.p-problem-header {
    padding: 0 20px
}

.p-problem-body {
    width: 100%;
    padding: 40px 8.3333% 0
}

@media screen and (max-width:880px) {
    .p-problem-body {
        padding: 7.6923076923vw 5.1282051282vw 0
    }
}

.p-problem-list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0 0.8%
}

@media screen and (max-width:880px) {
    .p-problem-list {
        gap: 5.1282051282vw 0
    }
}

.p-problem-item {
    width: 32.8%;
    position: relative;
    padding: 30px 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 10px;
    background: #fff;
    overflow: hidden
}

@media screen and (max-width:880px) {
    .p-problem-item {
        width: 100%;
        padding: 7.6923076923vw 5.1282051282vw;
        border-radius: 2.5641025641vw
    }
}

.p-problem-item-content {
    width: 100%
}

.p-problem-item-headline {
    font-size: 20px;
    line-height: 1.35;
    color: #0072BC;
    text-align: center;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-problem-item-headline {
        font-size: 5.1282051282vw
    }
}

.p-problem-item-image {
    width: 100%;
    margin-top: 20px
}

@media screen and (max-width:880px) {
    .p-problem-item-image {
        margin-top: 5.1282051282vw
    }
}

.p-problem-item-image .is-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background-color: #E5F1F8;
    -webkit-box-shadow: 0 3.714px 3.714px 0 rgba(0, 87, 130, 0.2);
    box-shadow: 0 3.714px 3.714px 0 rgba(0, 87, 130, 0.2)
}

@media screen and (max-width:880px) {
    .p-problem-item-image .is-icon {
        width: 30.7692307692vw;
        height: 30.7692307692vw
    }
}

.p-problem-item-image .is-icon.p1 {
    padding-left: 10px;
    padding-bottom: 10px
}

@media screen and (max-width:880px) {
    .p-problem-item-image .is-icon.p1 {
        padding-left: 2.5641025641vw;
        padding-bottom: 1.2820512821vw
    }
}

.p-problem-item-image .is-icon.p1 img {
    width: 72px
}

@media screen and (max-width:880px) {
    .p-problem-item-image .is-icon.p1 img {
        width: 17.4358974359vw
    }
}

.p-problem-item-lead {
    padding: 20px 0 0
}

@media screen and (max-width:880px) {
    .p-problem-item-lead {
        padding: 5.1282051282vw 0 0
    }
}

.p-problem-item-lead .is-text {
    font-size: 16px;
    line-height: 1.75;
    font-weight: 400
}

@media screen and (max-width:880px) {
    .p-problem-item-lead .is-text {
        font-size: 4.1025641026vw;
        letter-spacing: 0
    }
}

.p-problem-item-lead .is-text b {
    font-weight: 700
}

.p-problem-below {
    width: 100%;
    position: relative;
    padding: 120px 0 0
}

@media screen and (max-width:880px) {
    .p-problem-below {
        padding: 25.641025641vw 0 0
    }
}

.p-problem-below:after,
.p-problem-below:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.p-problem-below:before {
    top: 30px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: -webkit-gradient(linear, left top, left bottom, from(#3288F7), to(#0072BC));
    background: linear-gradient(180deg, #3288F7 0%, #0072BC 100%)
}

@media screen and (max-width:880px) {
    .p-problem-below:before {
        top: 7.6923076923vw;
        width: 12.8205128205vw;
        height: 12.8205128205vw
    }
}

.p-problem-below:after {
    top: 56px;
    border: 18px solid transparent;
    border-top: 24px solid #fff;
    width: 0;
    height: 0
}

@media screen and (max-width:880px) {
    .p-problem-below:after {
        top: 12.8205128205vw;
        border: 3.0769230769vw solid transparent;
        border-top: 4.1025641026vw solid #fff
    }
}

.p-problem-below-headline {
    font-size: 31px;
    line-height: 1.72;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0
}

@media screen and (max-width:880px) {
    .p-problem-below-headline {
        font-size: 6.1538461538vw;
        line-height: 1.58
    }
}

.p-problem-below-headline b {
    font-weight: 700;
    color: #0072BC
}

.l-about-wrap {
    width: 100%;
    margin: 0 auto;
    padding: 100px 0 90px;
    position: relative
}

@media screen and (max-width:880px) {
    .l-about-wrap {
        width: 100%;
        padding: 19.7435897436vw 0
    }
}

.p-about-header {
    padding: 0 20px
}

@media screen and (max-width:880px) {
    .p-about-header {
        padding: 0 5.1282051282vw
    }
}

.p-about-body {
    padding: 60px 0 0
}

@media screen and (max-width:880px) {
    .p-about-body {
        padding: 15.3846153846vw 6.1538461538vw 0
    }
}

.p-about-list {
    width: 100%;
    padding: 0 8.3333%
}

@media screen and (max-width:880px) {
    .p-about-list {
        padding: 0
    }
}

.p-about-item {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-about-item.is-reverse .p-about-item-content {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

@media screen and (max-width:880px) {
    .p-about-item.is-reverse .p-about-item-content {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}

.p-about-item.is-reverse .p-about-item-image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding: 0 40px 0 0;
    text-align: left
}

@media screen and (max-width:880px) {
    .p-about-item.is-reverse .p-about-item-image {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding: 6.1538461538vw 0 0
    }
}

.p-about-item+.p-about-item {
    margin-top: 52px
}

@media screen and (max-width:880px) {
    .p-about-item+.p-about-item {
        margin-top: 15.3846153846vw
    }
}

.p-about-item-content {
    width: 50%;
    padding: 0
}

@media screen and (max-width:880px) {
    .p-about-item-content {
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}

.p-about-item-label {
    font-size: 16px;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-about-item-label {
        font-size: 4.1025641026vw
    }
}

.p-about-item-label .is-num {
    display: inline-block;
    font-family: "Inter", sans-serif !important;
    font-optical-sizing: auto;
    color: #0072BC
}

.p-about-item-headline {
    padding: 12px 0 0;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-about-item-headline {
        padding: 2.0512820513vw 0 0;
        font-size: 5.1282051282vw
    }
}

.p-about-item-lead {
    padding: 20px 0 0;
    width: 100%
}

@media screen and (max-width:880px) {
    .p-about-item-lead {
        padding: 3.0769230769vw 0 0
    }
}

.p-about-item-lead .is-text {
    font-size: 16px;
    line-height: 1.75
}

@media screen and (max-width:880px) {
    .p-about-item-lead .is-text {
        font-size: 4.1025641026vw;
        letter-spacing: 0.04em
    }
}

.p-about-item-lead .is-text+.is-text {
    margin-top: 0.6em
}

.p-about-item-lead .is-annotation {
    padding: 20px 0 0;
    font-size: 12px
}

@media screen and (max-width:880px) {
    .p-about-item-lead .is-annotation {
        padding: 5.1282051282vw 0 0;
        font-size: 3.0769230769vw
    }
}

.p-about-item-image {
    width: 50%;
    padding: 0 0 0 40px;
    text-align: right
}

@media screen and (max-width:880px) {
    .p-about-item-image {
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding: 6.1538461538vw 0 0
    }
}

.p-about-item-image img {
    max-width: 100%;
    border-radius: 10px
}

@media screen and (max-width:880px) {
    .p-about-item-image img {
        border-radius: 2.5641025641vw
    }
}

.l-about-item-conversion {
    width: 100%;
    padding: 90px 0 0
}

@media screen and (max-width:880px) {
    .l-about-item-conversion {
        padding: 17.4358974359vw 0 0
    }
}

.l-feature-wrap {
    width: calc(100% - 40px) !important;
    margin: 0 auto;
    border-radius: 20px;
    background-color: #F5F7F8;
    background: linear-gradient(321deg, #D3EAF0 10.27%, #F7FAFC 86.84%);
    padding: 80px 0 100px;
    position: relative;
    z-index: 1
}

@media screen and (max-width:880px) {
    .l-feature-wrap {
        width: 100% !important;
        padding: 20.5128205128vw 0;
        border-radius: 0
    }
}

.p-feature-header {
    padding: 0 20px
}

@media screen and (max-width:880px) {
    .p-feature-header {
        padding: 0 5.1282051282vw
    }
}


.p-feature-body {
    padding: 60px 8.3333% 0
}

@media screen and (max-width:880px) {
    .p-feature-body {
        padding: 10.2564102564vw 5.1282051282vw 0
    }
}

.p-feature-list {
    width: 100%
}

@media screen and (max-width:880px) {
    .p-feature-list {
        min-width: 0
    }
}

.p-feature-item {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 40px 60px;
    background: #fff;
    border-radius: 10px
}

@media screen and (max-width:880px) {
    .p-feature-item {
        width: 100%;
        padding: 6.1538461538vw 5.1282051282vw;
        border-radius: 2.0512820513vw
    }
}

.p-feature-item+.p-feature-item {
    margin-top: 20px
}

.p-feature-item-image {
    width: 37.5%
}

@media screen and (max-width:880px) {
    .p-feature-item-image {
        width: 100%
    }
}

.p-feature-item-image img {
    max-width: 100%;
    border-radius: 5px;
    vertical-align: bottom
}

@media screen and (max-width:880px) {
    .p-feature-item-image img {
        border-radius: 1.2820512821vw
    }
}

.l-feature-item-content {
    width: 62.5%;
    padding: 0 0 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:880px) {
    .l-feature-item-content {
        width: 100%;
        padding: 5.1282051282vw 0 0
    }
}

.p-feature-item-label {
    width: 100%
}

.p-feature-item-label .is-num {
    display: inline-block;
    background: #0832BC;
    padding: 0.3em 0.8em;
    background: #0072BC;
    border-radius: 4px;
    font-size: 16px;
    letter-spacing: 0.03em;
    color: #fff;
    font-weight: 700;
    font-family: "Inter", sans-serif !important;
    font-optical-sizing: auto
}

@media screen and (max-width:880px) {
    .p-feature-item-label .is-num {
        margin-bottom: 3.0769230769vw;
        font-size: 3.5897435897vw
    }
}

.p-feature-item-headline {
    width: 100%;
    padding: 10px 0 0;
    font-size: 24px;
    line-height: 1.5;
    text-align: left;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-feature-item-headline {
        padding: 0;
        font-size: 5.1282051282vw;
        letter-spacing: 0.04em
    }
}

.p-feature-item-lead {
    width: 100%;
    padding: 24px 0 0
}

@media screen and (max-width:880px) {
    .p-feature-item-lead {
        padding: 3.0769230769vw 0 0
    }
}

.p-feature-item-lead .is-text {
    font-size: 16px;
    line-height: 1.75
}

@media screen and (max-width:880px) {
    .p-feature-item-lead .is-text {
        font-size: 4.1025641026vw
    }
}

.l-utility-wrap {
    width: 100%;
    position: relative;
    z-index: 1;
    padding: 100px 0 0
}

@media screen and (max-width:880px) {
    .l-utility-wrap {
        padding: 19.7435897436vw 0 0.7692307692vw
    }
}

.p-utility-body {
    width: 100%;
    padding: 60px 0 0
}

@media screen and (max-width:880px) {
    .p-utility-body {
        padding: 10.2564102564vw 0 0
    }
}

.p-utility-list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0 30px
}

@media screen and (max-width:880px) {
    .p-utility-list {
        width: 100%;
        padding: 0 5.1282051282vw;
        gap: 5.1282051282vw 0
    }
}

.p-utility-item {
    width: 485px;
    position: relative;
    padding: 40px;
    border-radius: 10px;
    background: #F5F7F8;
    overflow: hidden
}

@media screen and (max-width:880px) {
    .p-utility-item {
        width: 100%;
        padding: 7.6923076923vw 5.1282051282vw;
        width: 100%;
        border-radius: 2.5641025641vw
    }
}

.p-utility-item-content {
    width: 100%
}

.p-utility-item-headline {
    font-size: 20px;
    text-align: center;
    line-height: 1.5;
    color: #0072BC;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-utility-item-headline {
        font-size: 5.1282051282vw
    }
}

.p-utility-item-image {
    padding: 28px 0 0;
    text-align: center
}

@media screen and (max-width:880px) {
    .p-utility-item-image {
        padding: 5.1282051282vw 0 0
    }
}

.p-utility-item-image img {
    max-width: 100%;
    border-radius: 4px
}

@media screen and (max-width:880px) {
    .p-utility-item-image img {
        border-radius: 1.2820512821vw
    }
}

.p-utility-item-lead {
    padding: 20px 0 0
}

@media screen and (max-width:880px) {
    .p-utility-item-lead {
        padding: 5.1282051282vw 0 0
    }
}

.p-utility-item-lead .is-text {
    font-size: 16px;
    line-height: 1.75
}

@media screen and (max-width:880px) {
    .p-utility-item-lead .is-text {
        font-size: 4.1025641026vw
    }
}

.l-flow-wrap {
    width: 100%;
    padding: 100px 0 20px
}

@media screen and (max-width:880px) {
    .l-flow-wrap {
        width: 100%;
        padding: 20.5128205128vw 0 5.1282051282vw
    }
}

.p-flow-list {
    width: 100%;
    padding: 40px 8.3333% 0;
    position: relative;
    z-index: 1
}

@media screen and (max-width:880px) {
    .p-flow-list {
        padding: 12.8205128205vw 5.1282051282vw 0
    }
}

.p-flow-list:after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    left: 179px;
    top: 45px;
    width: 0;
    height: 90%;
    border: 2px dashed #26A8DE
}

@media screen and (max-width:880px) {
    .p-flow-list:after {
        left: 15.3846153846vw;
        top: 16.6666666667vw;
        border: 0.2564102564vw dashed #26A8DE;
        height: 75%
    }
}

.p-flow-item {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width:880px) {
    .p-flow-item {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.p-flow-item+.p-flow-item {
    margin-top: 50px
}

@media screen and (max-width:880px) {
    .p-flow-item+.p-flow-item {
        margin-top: 10.2564102564vw
    }
}

.p-flow-item:nth-of-type(2) .p-flow-item-image .is-circle {
    background: #F5F7F8 url(../img/icon_step02.svg) no-repeat center center;
    background-size: 75px auto, auto
}

@media screen and (max-width:880px) {
    .p-flow-item:nth-of-type(2) .p-flow-item-image .is-circle {
        background-size: 10.5128205128vw auto
    }
}

.p-flow-item:nth-of-type(3) .p-flow-item-image .is-circle {
    background: #F5F7F8 url(../img/icon_step03.svg) no-repeat center center;
    background-size: 52px auto, auto
}

@media screen and (max-width:880px) {
    .p-flow-item:nth-of-type(3) .p-flow-item-image .is-circle {
        background-size: 8.9743589744vw auto
    }
}

.p-flow-item:nth-of-type(4) .p-flow-item-image .is-circle {
    background: #F5F7F8 url(../img/icon_step04.svg) no-repeat center center;
    background-size: 63px auto, auto
}

@media screen and (max-width:880px) {
    .p-flow-item:nth-of-type(4) .p-flow-item-image .is-circle {
        background-size: 11.5384615385vw auto
    }
}

.p-flow-item-image {
    width: 21%
}

@media screen and (max-width:880px) {
    .p-flow-item-image {
        width: 27%
    }
}

.p-flow-item-image .is-circle {
    display: inline-block;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: #F5F7F8 url(../img/icon_step01.svg) no-repeat center center;
    background-size: 81px auto, auto;
    overflow: hidden;
    text-indent: -9999px
}

@media screen and (max-width:880px) {
    .p-flow-item-image .is-circle {
        width: 20.5128205128vw;
        height: 20.5128205128vw;
        background-size: 10.2564102564vw auto
    }
}

.p-flow-item-info {
    width: 79%
}

@media screen and (max-width:880px) {
    .p-flow-item-info {
        width: 73%
    }
}

.p-flow-item-headline {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width:880px) {
    .p-flow-item-headline {
        font-size: 5.1282051282vw
    }
}

.p-flow-item-headline .is-num {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    color: #007AC7;
    font-family: "Inter", sans-serif !important
}

@media screen and (max-width:880px) {
    .p-flow-item-headline .is-num {
        margin-bottom: 1.0256410256vw;
        font-size: 4.1025641026vw
    }
}

.p-flow-item-lead {
    padding: 12px 0 0
}

@media screen and (max-width:880px) {
    .p-flow-item-lead {
        padding: 3.0769230769vw 0 0
    }
}

.p-flow-item-lead .is-text {
    font-size: 16px;
    line-height: 1.75
}

@media screen and (max-width:880px) {
    .p-flow-item-lead .is-text {
        font-size: 4.1025641026vw
    }
}

.l-faq-wrap {
    width: 100%;
    padding: 100px 0 0
}

@media screen and (max-width:880px) {
    .l-faq-wrap {
        padding: 15.3846153846vw 0 0
    }
}

.l-faq-wrap .l-content-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 20px;
    padding-right: 20px
}

@media screen and (max-width:880px) {
    .l-faq-wrap .l-content-wrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0
    }
}

.p-faq-header {
    width: 25%
}

@media screen and (max-width:880px) {
    .p-faq-header {
        width: 100%
    }
}

.p-faq-header .p-headline {
    font-size: 32px;
    text-align: left
}

@media screen and (max-width:880px) {
    .p-faq-header .p-headline {
        font-size: 6.1538461538vw;
        text-align: center
    }
}

.p-faq-header .p-headline-catch {
    text-align: left
}

@media screen and (max-width:880px) {
    .p-faq-header .p-headline-catch {
        text-align: center
    }
}

.p-faq-body {
    width: 75%;
    padding: 0
}

@media screen and (max-width:880px) {
    .p-faq-body {
        width: 100%;
        padding: 10.2564102564vw 5.1282051282vw 0
    }
}

.l-faq-category-wrap {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.l-faq-category-wrap+.l-faq-category-wrap {
    margin-top: 100px
}

@media screen and (max-width:880px) {
    .l-faq-category-wrap+.l-faq-category-wrap {
        margin-top: 20.5128205128vw
    }
}

.p-faq-list {
    width: 100%
}

@media screen and (max-width:880px) {
    .p-faq-list {
        width: 100%
    }
}

.p-faq-list+.p-faq-list {
    margin-top: 10px
}

.p-faq-item {
    padding: 0 30px;
    border-radius: 10px;
    -webkit-transition: background 0.4s ease;
    transition: background 0.4s ease
}

@media screen and (max-width:880px) {
    .p-faq-item {
        padding: 6.1538461538vw 4.1025641026vw;
        border-radius: 2.5641025641vw
    }
}

.p-faq-item:hover {
    background: #F5F7F8
}

@media screen and (max-width:880px) {
    .p-faq-item:hover {
        -webkit-box-shadow: none;
        box-shadow: none
    }
}

.p-faq-item.is-open {
    background: #F5F7F8
}

@media screen and (max-width:880px) {
    .p-faq-item.is-open {
        border-radius: 2.0512820513vw
    }
}

.p-faq-item dt {
    width: 100%;
    position: relative;
    padding: 32px 36px 32px 32px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    cursor: pointer
}

@media screen and (max-width:880px) {
    .p-faq-item dt {
        padding: 0 10.2564102564vw 0 8.2051282051vw;
        font-size: 4.1025641026vw;
        -webkit-tap-highlight-color: transparent
    }
}

.p-faq-item dt .marker:after,
.p-faq-item dt .marker:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    right: 7px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10px;
    height: 0;
    border-top: 2px solid #fff;
    -webkit-transform-origin: center center;
    transform-origin: center center
}

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

    .p-faq-item dt .marker:after,
    .p-faq-item dt .marker:before {
        right: 1.7948717949vw;
        width: 2.5641025641vw;
        border-top: 0.5128205128vw solid #fff
    }
}

.p-faq-item dt .marker:after {
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
    -webkit-transition: -webkit-transform ease 0.4s;
    transition: -webkit-transform ease 0.4s;
    transition: transform ease 0.4s;
    transition: transform ease 0.4s, -webkit-transform ease 0.4s
}

.p-faq-item dt.is-open .marker:after {
    -webkit-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0)
}

.p-faq-item dt:before {
    content: "Q";
    display: block;
    position: absolute;
    left: 0;
    top: 30px;
    font-size: 16px;
    color: #0072BC;
    line-height: 1.5;
    font-family: "Inter", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-faq-item dt:before {
        top: -0.5128205128vw;
        font-size: 4.1025641026vw;
        line-height: 1.75
    }
}

.p-faq-item dt:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0072BC;
    -webkit-transition: background ease 0.4s;
    transition: background ease 0.4s
}

@media screen and (max-width:880px) {
    .p-faq-item dt:after {
        width: 6.1538461538vw;
        height: 6.1538461538vw
    }
}

.p-faq-item dd {
    padding: 0 24px 32px 32px;
    position: relative;
    display: none
}

@media screen and (max-width:880px) {
    .p-faq-item dd {
        padding: 6.1538461538vw 2.0512820513vw 0 8.2051282051vw
    }
}

.p-faq-item dd.is-open {
    display: block
}

.p-faq-item dd:before {
    content: "A";
    display: block;
    position: absolute;
    left: 2px;
    top: 0;
    font-size: 16px;
    line-height: 1.75;
    color: #0072BC;
    font-family: "Inter", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 700
}

@media screen and (max-width:880px) {
    .p-faq-item dd:before {
        left: 0.5128205128vw;
        top: 6.1538461538vw;
        font-size: 4.1025641026vw
    }
}

.p-faq-item dd .is-text {
    font-size: 16px;
    line-height: 1.75
}

@media screen and (max-width:880px) {
    .p-faq-item dd .is-text {
        font-size: 4.1025641026vw
    }
}

.l-last-conversion-wrap {
    padding: 100px 20px 0
}

@media screen and (max-width:880px) {
    .l-last-conversion-wrap {
        padding: 20.5128205128vw 5.1282051282vw 5.1282051282vw
    }
}

.p-bottom-annotation {
    text-align: center;
    padding: 60px 20px;
    font-size: 13px;
    color: #666;
    line-height: 1.8;
}

.p-hero-product-logo {
    display: flex;
    align-items: center;
    gap: clamp(6px, 1.2vw, 12px);
    margin-bottom: clamp(8px, 1.5vw, 16px);
}

.p-hero-logo-img {
    height: clamp(48px, 8.5vw, 96px);
    width: auto;
    flex-shrink: 0;
}

.p-hero-logo-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    height: clamp(48px, 8.5vw, 96px);
}

.p-hero-logo-service {
    font-size: clamp(12px, 1.8vw, 20px);
    font-weight: 500;
    color: #fff;
    line-height: 1;
}

.p-hero-logo-name {
    font-size: clamp(22px, 4.2vw, 48px);
    font-weight: 700;
    color: #1FAFB6;
    letter-spacing: 0.02em;
    line-height: 1;
}

@media screen and (min-width:880px) {
    .l-hero-wrap {
        height: clamp(260px, 35vw, 400px);
    }
    .p-hero-image {
        height: 100%;
    }
    .p-hero-image img {
        height: 100%;
    }
}

.p-sticky-logo-bar {
    display: none;
    align-items: center;
    gap: 10px;
}

.l-top-nav-wrap.is-stuck .p-sticky-logo-bar {
    display: flex;
}

.p-sticky-logo-img {
    height: 50px;
    width: auto;
}

.p-sticky-logo-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    justify-content: center;
}

.p-sticky-logo-service {
    font-size: 12px;
    color: #333;
    line-height: 1;
}

.p-sticky-logo-name {
    font-size: 20px;
    font-weight: 700;
    color: #1FAFB6;
    letter-spacing: 0.02em;
    line-height: 1;
}.l-top-nav-wrap.is-stuck .l-link-list-wrap{display:flex;align-items:center;flex-wrap:wrap;}.p-sticky-logo-bar+.p-anchor-list{display:flex;}@media screen and (max-width:879px){.p-sticky-logo-bar{display:none !important;}}
@media screen and (max-width:879px) {
    .l-hero-wrap {
        height: auto;
    }
    .p-hero-image {
        height: auto;
        min-height: 0;
    }
    .p-hero-image img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    .l-hero-content-wrap {
        padding: 0 !important;
        height: 100%;
    }
    .l-hero-content-inner {
        max-width: 100%;
        padding: 4vw 5.1282051282vw 8vw;
        height: 100% !important;
    }
    .p-hero-content-text {
        width: 100% !important;
        top: 0 !important;
        transform: translateY(0) !important;
        height: 100% !important;
        z-index: 9;
    }
    .p-hero-product-logo {
        gap: clamp(10px, 3vw, 14px);
        margin-bottom: clamp(10px, 3vw, 14px);
    }
    .p-hero-logo-img {
        height: clamp(64px, 14vw, 88px);
    }
    .p-hero-logo-text {
        height: clamp(64px, 14vw, 88px);
    }
    .p-hero-logo-service {
        font-size: clamp(13px, 3.5vw, 18px);
    }
    .p-hero-logo-name {
        font-size: clamp(28px, 7.5vw, 42px);
    }
}