@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Zen+Old+Mincho:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined');

/* 現行サイトの body { opacity: 0 } によるフェードインは、
   アニメーションが走らない環境で白画面のまま残るため PoC では採用しない。
   kv のコピーと相談ボタンも同じ理由で、透過を初期値に持たず移動だけで見せる。 */

main {
    background: url(../img/top/bg.png) center bottom;
}

/*============================
	kv 
============================*/

.kv__swiper {
    width: 100%;
    margin: 0 auto;
    background: #fff;

}

.kv__img {
    & img {
        width: 100%;
        transform: scale(1.05);
    }
}


.kv__copywrap {
    max-width: 895px;
    width: calc((895/1920)*100%);
    top: 55%;
    left: 35%;
    transform: translate(-50%, -50%);
    display: block;
    z-index: 99;
}
a
.kv__txt {
    font-size: min(2.4rem, 1.8vw);
    color: #fff;
    white-space: nowrap;
    letter-spacing: .025em;
    margin: 1em 0 2em;
    animation: copyAnime 1s 1s both;
}

.kv__btn {
    display: block;
    max-width: 340px;
    width: calc((340/895)*100%);
    animation: copyAnime 1s 1s both;
}

.kv__pagelinks {
    & a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50%;
        height: 120px;
        background: linear-gradient(90deg, #195eb4, #54aeeb);
        color: #fff;
    }
}

.kv__h3 {
    .font-en {
        margin-bottom: .5em;
    }

    .txt {
        display: flex;
        align-items: center;

        & img {
            width: 52px;
            margin-left: .5em;
        }
    }
}

.kv__swiper {
    overflow: hidden;
}

.kv__copy .slide-in {
    animation: copyAnime 1s .3s both;
}


.kv__scroll {
    display: block;
    position: absolute;
    max-width: 13px;
    min-width: 8px;
    width: calc((13/1920)*100%);
    top: calc(100% - 10px);
    left: 50%;
    transform: translate(-50%);
    z-index: 9;
}

@keyframes copyAnime {
    0% {
        transform: translateY(20px);
    }

    100% {
        transform: translate(0);
    }
}

@keyframes copyAnime02 {
    0% {
        opacity: 0;
        transform: translate(20px);
    }

    100% {
        opacity: 1;
        transform: translate(0);
    }
}

.kv .swiper-pagination {
    left: 50% !important;
    bottom: 100px;
    transform: translate(-50%);
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: fit-content;

}

.kv .swiper-pagination-bullet {
    display: block;
    width: 10px;
    height: 10px;
    background: #fff;
    letter-spacing: 0;
    z-index: 99;
    border-radius: 0 !important;
    margin: 0 10px !important;
    opacity: 1;
    position: relative;

}

.kv .swiper-pagination-bullet-active {
    opacity: 1;
    background: #111111;
}

.kv .swiper-pagination-bullet .txt {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%);
    line-height: 1;
}

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

    .kv {
        padding-top: 60px;
    }

    .kv__copywrap {
        width: calc((895/1920)*100%);
        top: 55%;
        left: 35%;
    }

    .kv__txt {
        font-size: min(2.4rem, 1.8vw);
        margin: 1em 0 2em;
    }

    .kv__btn {
        width: calc((340/895)*100%);
    }

    .kv__pagelinks {
        & a {
            width: 50%;
            height: 80px;
        }
    }

    .kv__h3 {
        .font-en {
            margin-bottom: .5em;
        }

        .txt {

            & img {
                width: 30px;
                margin-left: .5em;
            }
        }
    }

}

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

    .kv {
        padding-top: 60px;
    }

    .kv__img img {
        object-fit: cover;
        width: 100%;
        min-height: 400px;
    }

    .kv__copywrap {
        width: calc((895/1920)*150%);
        top: 55%;
        left: 5%;
        transform: translate(0, -50%);
    }

    .kv__txt {
        font-size: min(1.8rem, 4vw);
        margin: 1em 0 2em;
    }

    .kv__btn {
        width: calc((340/895)*200%);
    }

    .kv__pagelinks {
        display: flex;

        & a {
            width: 50%;
            height: 60px;
        }
    }

    .kv__h3 {
        .font-en {
            font-size: 1.2rem;
            margin-bottom: .5em;
        }

        .txt {
            font-size: 1.4rem;

            & img {
                width: 20px;
                margin-left: .5em;
            }
        }
    }


}


/*============================
  movie
============================*/
.movie {
    padding: 150px 0;
}

.mov__obj01 {
    max-width: 230px;
    width: calc((230/1920)*100%);
    left: 0;
    top: 25%;
    transform: translate(0, -50%);
}

.mov__obj02 {
    max-width: 146px;
    width: calc((146/1920)*100%);
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
}

.mov__ttl {
    .font-en {
        width: fit-content;
        margin: 0 auto .5em;
    }

    .fs-46 {
        width: fit-content;
        margin: 0 auto;
    }
}

.mov__container {
    max-width: 990px;
    margin: 0 auto;
    width: 80%;

}

.mov__ill01 {
    max-width: 134px;
    width: calc((134/990)*100%);
    bottom: 0;
    left: -20%;
}

.mov__ill02 {
    max-width: 167px;
    width: calc((167/990)*100%);
    bottom: 0;
    right: -20%;
}

.mov__mov {

    border-radius: 30px;
    overflow: hidden;
}

@media screen and (max-width:1024px) {
    .movie {
        padding: 100px 0;
    }

    .mov__obj01 {
        width: calc((230/1920)*100%);
        left: 0;
        top: 25%;
    }

    .mov__obj02 {
        width: calc((146/1920)*100%);
        right: 0;
        top: 50%;
    }

    .mov__ttl {
        .font-en {
            margin: 0 auto .5em;
        }

        .fs-46 {
            margin: 0 auto;
        }
    }

    .mov__container {
        margin: 0 auto;
        width: 80%;

    }

    .mov__ill01 {
        max-width: 134px;
        width: calc((134/990)*100%);
        bottom: 0;
        left: -15%;
    }

    .mov__ill02 {
        max-width: 167px;
        width: calc((167/990)*100%);
        bottom: 0;
        right: -15%;
    }

    .mov__mov {
        border-radius: 20px;
    }
}

@media screen and (max-width:767px) {
    .movie {
        padding: 60px 0;
    }

    .mov__obj01 {
        width: calc((230/1920)*100%);
        left: 0;
        top: 25%;
    }

    .mov__obj02 {
        width: calc((146/1920)*100%);
        right: 0;
        top: 50%;
    }

    .mov__ttl {
        .font-en {
            margin: 0 auto .5em;
        }

        .fs-46 {
            margin: 0 auto;
        }
    }

    .mov__container {
        margin: 0 auto;
        width: 100%;

    }

    .mov__ill01 {
        width: calc((134/990)*80%);
        bottom: 100%;
        left: -5%;
    }

    .mov__ill02 {
        width: calc((167/990)*80%);
        bottom: 100%;
        right: -5%;
    }

    .mov__mov {
        border-radius: 10px;
    }
}


/*============================
  about
============================*/
.about {
    padding: 150px 0 0;
    background: rgba(255, 255, 255, .5);
}

.about__ill {
    max-width: 139px;
    width: calc((139/1280)*100%);
    top: 80%;
    left: 100%;
    transform: translate(0, -50%);
}

.about__img {
    width: 50%;
}

.about__right {
    width: 45%;
}

.about__ttl {
    .font-en {
        margin-bottom: .5em;
    }
}

.txt__swiper .swiper-wrapper {
    transition-timing-function: linear;

    .swiper-slide {
        white-space: nowrap;
        font-size: 17rem;
        line-height: 1;
        letter-spacing: 0;
        color: #ebf8fd;
        margin: 0 .1em;
        width: fit-content;
    }

}

@media screen and (max-width:1024px) {
    .about {
        padding: 100px 0 0;
    }

    .about__ill {
        width: calc((139/1280)*100%);
        top: 100%;
        left: 95%;
    }

    .about__img {
        width: 50%;
    }

    .about__right {
        width: 45%;
    }

    .about__ttl {
        .font-en {
            margin-bottom: .75em;
        }
    }

    .txt__swiper .swiper-wrapper {

        .swiper-slide {
            font-size: 10rem;
        }

    }

}

@media screen and (max-width:767px) {
    .about {
        padding: 60px 0 0;
    }

    .about__ill {
        width: calc((139/1280)*100%);
        top: 100%;
        left: 90%;
    }

    .about__img {
        width: 100%;
        margin-bottom: 30px;
    }

    .about__right {
        width: 100%;
    }

    .about__ttl {
        .font-en {
            margin-bottom: .75em;
        }
    }

    .txt__swiper .swiper-wrapper {

        .swiper-slide {
            font-size: 6rem;
        }

    }
}



/*============================
  reason
============================*/
.reason {
    padding: 100px 0 150px;
    background: rgba(255, 255, 255, .5);
}

.rea__ttl {
    .font-en {
        margin-bottom: .75em;
    }
}

.rea__atc {
    width: 24%;
    background: #fff;
    padding: 40px 2% 20px;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(74, 153, 206, .1);
}

.rea__num {
    top: 1em;
    left: 1em;
    width: fit-content;
    padding: 0 .5em;
    border-radius: 10px;
    background: #ebf8fd;
    text-align: center;
    font-weight: 600;
}

.rea__ico {
    height: 176px;
    display: flex;
    align-items: center;
    justify-content: center;

    & img {
        display: block;
        width: fit-content;
    }
}

@media screen and (max-width:1024px) {
    .reason {
        padding: 80px 0;
    }

    .rea__atc {
        width: 24%;
        padding: 30px 2% 20px;
    }

    .rea__num {
        top: 1em;
        left: 1em;
        padding: 0 .5em;
        border-radius: 10px;
    }

    .rea__ico {
        height: 130px;
        ;

        & img {
            transform: scale(.75);
        }
    }

}

@media screen and (max-width:767px) {
    .reason {
        padding: 60px 0;
    }

    .rea__atc {
        width: 100%;
        padding: 30px 5% 20px;
        margin: 0 auto 20px;

        &:last-child {
            margin-bottom: 0;
        }
    }

    .rea__num {
        top: 1em;
        left: 5%;
        padding: 0 .5em;
        border-radius: 10px;
    }

    .rea__ico {
        height: 130px;
        ;

        & img {
            transform: scale(.75);
        }
    }
}



/*============================
  sellers
============================*/
.sell__box {
    padding: 120px 5% 0;
    border-radius: 80px;
    background: linear-gradient(-45deg, #195eb4, #54aeeb);
}

.sell__obj {
    position: absolute;
    max-width: 257px;
    width: calc((157/1280)*100%);
    top: 0;
    left: 10%;
    transform: translate(-50%, -50%);
}

.sell__ttl {
    color: #fff;

    .font-en {
        margin: 0 auto .75em;
    }
}

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

.sell__img {
    width: 50%;

    .ill {
        max-width: 140px;
        width: calc((140/640)*100%);
        bottom: -30px;
        left: -15%;
    }
}

.sell__txtwrap {
    width: 45%;
    color: #fff;
    max-width: 510px;
}

.sell__ill02 {
    max-width: 106px;
    width: calc((106/510)*100%);
    bottom: 0;
    right: -20%;
}

.sell__h3 {
    padding: 0 1em;
    background: rgba(255, 255, 255, .6);
    padding: 0 .5em;
    width: fit-content;
    white-space: nowrap;
    border-radius: 5px 5px 0 5px;
}

.sell__ul li {
    display: flex;
    align-items: center;
    padding: 1em .5em;
    border-top: solid 1px #fff;
    position: relative;
    font-weight: 500;

    &::before {
        content: "";
        position: relative;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #ffb703;
        margin-right: 1em;
    }

    &:last-child {
        border-bottom: solid 1px #fff;
    }
}

.works__ttl {
    color: #fff;

    .font-en {
        margin: 0 auto 1em;
    }
}

.works__items.flex {
    display: flex;
    max-width: 1280px;
    margin: 0 auto 40px;
    gap: 20px;
    justify-content: center;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

.works__items.flex.works__items--scroll {
    justify-content: flex-start;
}

.works__atc {
    width: 32%;
    flex: 0 0 32%;
    scroll-snap-align: start;

    & a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 10px 10px 30px;
        border-radius: 20px;
        background: #fff;
    }
}

.works__img {
    overflow: hidden;

    & img {
        aspect-ratio: 3 / 2;
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        border-radius: 10px;
    }
}

.works__txtwrap {
    padding: 0 5%;
}

.case-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
}

.case-card-date {
    margin-right: 4px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.case-card-tag {
    padding: 2px 10px;
    border: 1px solid #5aa9ff;
    border-radius: 999px;
    background: #fff;
    color: #1458ad;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
}

.case-card-tag--type {
    border-color: #1558af;
    background: #1558af;
    color: #fff;
}

.works__atc .case-card-title,
#sub_contents .news_list li a .news_ttl.case-card-title {
    margin: 10px 0 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

.case-card-title span,
.case-card-title strong {
    display: block;
}

.case-card-title strong {
    color: #1458ad;
    font-weight: 700;
}

.works__atc .case-card-condition,
#sub_contents .news_list li a .case-card-condition {
    margin: 2px 0 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
}

.works__cat {
    margin: 1em 0 1em;
    width: fit-content;
    background: #ebf8fd;
    border-radius: 10px;
    padding: 0 1em;
    white-space: nowrap;
}

.works__btn {
    margin-bottom: 100px;
}

.sell__swiper {
    overflow: visible;
}

.sell__swtxt {
    opacity: .2;
}

@media screen and (max-width:1024px) {
    .sell__box {
        padding: 80px 5% 0;
        border-radius: 60px;
    }

    .sell__obj {
        width: calc((157/1280)*100%);
        top: 20px;
        left: 10%;
    }


    .sell__flex {
        margin: 0 auto 60px;
    }

    .sell__img {
        width: 50%;

        .ill {
            width: calc((140/640)*100%);
            bottom: -20px;
            left: -15%;
        }
    }

    .sell__txtwrap {
        width: 45%;
    }

    .sell__ill02 {
        width: calc((106/510)*100%);
        bottom: 0;
        right: -15%;
    }

    .sell__h3 {
        padding: 0 .5em;
    }

    .sell__ul li {
        padding: 1em 0;

        &::before {
            width: 8px;
            height: 8px;
        }
    }

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

    .works__atc {
        width: 32%;

        & a {
            padding: 10px 10px 20px;
            border-radius: 10px;
        }
    }

    .works__img {
        overflow: hidden;
    }

    .works__txtwrap {
        padding: 0 5%;
    }

    .works__cat {
        margin: 1em 0 1em;
        border-radius: 10px;
        padding: 0 1em;
    }

    .works__btn {
        margin-bottom: 60px;
    }
}

@media screen and (max-width:767px) {
    .sell__box {
        padding: 40px 5% 0;
        border-radius: 20px;
    }

    .sell__obj {
        width: calc((157/1280)*100%);
        top: 5px;
        left: 10%;
    }


    .sell__flex {
        margin: 0 auto 60px;
    }

    .sell__img {
        width: 100%;
        margin: 0 auto 30px;

        .ill {
            width: calc((140/640)*100%);
            bottom: -20px;
            left: -15%;
        }
    }

    .sell__txtwrap {
        width: 100%;
    }

    .sell__ill02 {
        width: calc((106/510)*100%);
        max-width: 45px;
        bottom: -50px;
        right: -10%;
    }

    .sell__h3 {
        padding: 0 .5em;
    }

    .sell__ul li {
        padding: 1em 0;

        &::before {
            width: 8px;
            height: 8px;
        }
    }

    .works__items {
        max-width: 1280px;
        margin: 0 auto 40px;
        gap: 16px;
    }

    .works__atc {
        width: min(78vw, 300px);
        flex: 0 0 min(78vw, 300px);
        margin: 0 0 20px;

        &:last-child {
            margin-bottom: 0;
        }

        & a {
            padding: 10px 10px 20px;
            border-radius: 10px;
        }
    }


    .works__txtwrap {
        padding: 0 5%;
    }

    .works__cat {
        margin: 1em 0 1em;
        border-radius: 10px;
        padding: 0 1em;
    }

    .works__btn {
        margin-bottom: 30px;
    }
}

/*============================
  buyers
============================*/
.buyers {
    padding: 40px 0 0;
}

.buy__box {
    padding: 120px 5% 0;
    border-radius: 80px;
    background: linear-gradient(-45deg, #195eb4, #54aeeb);
}

.buy__obj {
    position: absolute;
    max-width: 216px;
    width: calc((216/1280)*100%);
    top: 250px;
    left: 95%;
    transform: translate(-50%, -50%);
}

.buy__ttl {
    color: #fff;

    .font-en {
        margin: 0 auto .75em;
    }
}

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

.buy__img {
    width: 50%;

    .ill {
        max-width: 140px;
        width: calc((140/640)*100%);
        bottom: -30px;
        left: -15%;
    }
}

.buy__txtwrap {
    width: 45%;
    color: #fff;
    max-width: 510px;
}

.buy__ill02 {
    max-width: 112px;
    width: calc((112/510)*100%);
    bottom: 0;
    right: -20%;
}

.buy__h3 {
    padding: 0 1em;
    background: rgba(255, 255, 255, .6);
    padding: 0 .5em;
    width: fit-content;
    white-space: nowrap;
    border-radius: 5px 5px 0 5px;
}

.buy__ul li {
    display: flex;
    align-items: center;
    padding: 1em .5em;
    border-top: solid 1px #fff;
    position: relative;
    font-weight: 500;

    &::before {
        content: "";
        position: relative;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #ffb703;
        margin-right: 1em;
    }

    &:last-child {
        border-bottom: solid 1px #fff;
    }
}

.buy__flow {
    max-width: 1280px;
    margin: 0 auto 100px;

    & a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 60px 5%;
        background: url(../img/top/flow_bg.png) no-repeat center center/cover;
        color: #fff;
        border-radius: 10px;
    }
}

.flow__ttl {
    .font-en {
        margin-bottom: 1em;
    }

    .txt {
        display: flex;
        align-items: center;

        & img {
            width: 50px;
            margin-left: 2em;
            display: block;
        }
    }
}

.flow__txt {
    padding: 1.5em;
    border-radius: 10px;
    background: linear-gradient(90deg, #195eb4, #54aeeb);
    color: #fff;
    width: fit-content;
}

.buy__swiper {
    overflow: visible;
}

.buy__swtxt {
    opacity: .2;
}

@media screen and (max-width:1024px) {
    .buy__box {
        padding: 80px 5% 0;
        border-radius: 60px;
    }


    .buy__obj {
        width: calc((216/1280)*100%);
        top: 100px;
        left: 95%;
    }

    .buy__flex {
        margin: 0 auto 60px;
    }

    .buy__img {
        width: 50%;

        .ill {
            width: calc((140/640)*100%);
            bottom: -20px;
            left: -15%;
        }
    }

    .buy__txtwrap {
        width: 45%;
    }

    .buy__ill02 {
        width: calc((112/510)*100%);
        bottom: 0;
        right: -15%;
    }

    .buy__h3 {
        padding: 0 .5em;
    }

    .buy__ul li {
        padding: 1em 0;

        &::before {
            width: 8px;
            height: 8px;
        }
    }

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

    .works__atc {
        width: 32%;

        & a {
            padding: 10px 10px 20px;
            border-radius: 10px;
        }
    }

    .works__img {
        overflow: hidden;
    }

    .works__txtwrap {
        padding: 0 5%;
    }

    .works__cat {
        margin: 1em 0 1em;
        border-radius: 10px;
        padding: 0 1em;
    }

    .works__btn {
        margin-bottom: 60px;
    }

    .buy__flow {
        margin: 0 auto 60px;

        & a {
            padding: 40px 5%;
        }
    }

    .flow__ttl {

        .txt {
            & img {
                width: 40px;
                margin-left: 2em;
            }
        }
    }

    .flow__txt {
        padding: 1.5em;
    }
}

@media screen and (max-width:767px) {
    .buy__box {
        padding: 40px 5% 0;
        border-radius: 20px;
    }

    .buy__obj {
        width: calc((216/1280)*100%);
        top: 50px;
        left: 100%;
    }

    .buy__flex {
        margin: 0 auto 60px;
    }

    .buy__img {
        width: 100%;
        margin: 0 auto 30px;

        .ill {
            width: calc((140/640)*100%);
            bottom: -20px;
            left: -15%;
        }
    }

    .buy__txtwrap {
        width: 100%;
    }

    .buy__ill02 {
        width: calc((112/510)*100%);
        max-width: 45px;
        bottom: -50px;
        right: -5%;
    }

    .buy__h3 {
        padding: 0 .5em;
    }

    .buy__ul li {
        padding: 1em 0;

        &::before {
            width: 8px;
            height: 8px;
        }
    }

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

    .works__atc {
        width: min(78vw, 300px);
        flex: 0 0 min(78vw, 300px);
        margin: 0 0 20px;

        &:last-child {
            margin-bottom: 0;
        }

        & a {
            padding: 10px 10px 20px;
            border-radius: 10px;
        }
    }


    .works__txtwrap {
        padding: 0 5%;
    }

    .works__cat {
        margin: 1em 0 1em;
        border-radius: 10px;
        padding: 0 1em;
    }

    .works__btn {
        margin-bottom: 30px;
    }

    .buy__flow {
        margin: 0 auto 30px;

        & a {
            padding: 30px 5%;
        }
    }

    .flow__ttl {

        .txt {
            & img {
                width: 30px;
                margin-left: 2em;
            }
        }
    }

    .flow__txt {
        padding: 1.5em;
    }
}


/*============================
  contents
============================*/
.contents {
    padding: 100px 0 0;
}

.cont__item {
    width: 48%;
}

.cont__ttl {
    .font-en {
        margin-bottom: 1em;
    }
}

.voice__box {
    padding: 30px 3%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 80px rgba(74, 153, 206, .15);
}

.voice__cat {
    display: block;
    width: fit-content;
    padding: .25em .5em;
    background: #ebf8fd;
    border-radius: 5px;
    border: solid 1px #195eb4;
    color: #195eb4;
    display: block;
    margin-bottom: .5em;
}

.voice__txt {
    border-bottom: solid 1px #acadae;
    padding-bottom: 1em;
}

.voice__img {
    width: 60px;
}

.voice__txtwarp {
    max-width: calc(100% - 60px);
    padding-left: 1em;
}

.faq__ill {
    max-width: 69px;
    width: calc((69/605)*100%);
    left: 103%;
    bottom: 0;
}

.faq__ul li {
    padding: 30px 5%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 80px rgba(74, 153, 206, .15);
    margin-bottom: 10px;
}

.faq__q {
    display: flex;
    align-items: flex-start;
    margin-bottom: .5em;

    .mark {
        margin-right: 1em;
        line-height: 1;
    }
}

.faq__a {
    display: flex;
    align-items: flex-start;

    .mark {
        margin-right: 1em;
        line-height: 1;
    }
}

@media screen and (max-width:1024px) {
    .contents {
        padding: 80px 0 0;
    }

    .cont__item {
        width: 48%;
    }


    .voice__box {
        padding: 20px 5%;
    }

    .voice__cat {
        padding: .2em .5em;
        margin-bottom: .5em;
    }


    .voice__img {
        width: 50px;
    }

    .voice__txtwarp {
        max-width: calc(100% - 50px);
        padding-left: 1em;
    }

    .faq__ill {
        width: calc((69/605)*100%);
        left: 93%;
        bottom: 0;
    }

    .faq__ul li {
        padding: 20px 5%;
    }

    .faq__q {
        margin-bottom: .5em;
    }

    .faq__a {
        .mark {
            margin-right: 1em;
        }
    }
}

@media screen and (max-width:767px) {
    .contents {
        padding: 60px 0 0;
    }

    .cont__item {
        width: 100%;
        margin: 0 auto 60px;

        &:last-child {
            margin-bottom: 0;
        }
    }


    .voice__box {
        padding: 20px 5%;
    }

.voice__atc{
    display: flex;
}
    .voice__img {
        width: 50px;
    }

    .voice__txtwarp {
        max-width: calc(100% - 50px);
        padding-left: 1em;
    }

    .faq__ill {
        width: calc((69/605)*100%);
        left: 93%;
        bottom: 0;
    }

    .faq__ul li {
        padding: 20px 5%;
    }

    .faq__q {
        margin-bottom: .5em;
    }

    .faq__a {
        .mark {
            margin-right: 1em;
        }
    }
}


/*============================
  news
============================*/
.news {
    padding: 150px 0;
}


.news__ttl {
    .font-en {
        margin-bottom: 1em;
    }

    & img {
        width: 90px;
        position: absolute;
        top: 50%;
        left: 180px;
        transform: translate(0, -50%);
    }
}

.news__atc {


    & a {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        padding: 1em;
        border-top: solid 1px #d3e1e9;

        &:last-child {
            border-bottom: solid 1px #d3e1e9;
        }
    }
}

.news__info {
    display: flex;
    align-items: center;
    white-space: nowrap;
    width: 260px;
}

.news__data {
    margin-right: 2em;
    display: flex;
    align-items: center;
    position: relative;

    &::before {
        content: "";
        position: relative;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #54aeeb;
        margin-right: 1em;
    }
}

.news__cat {
    width: fit-content;
    padding: 0 .5em;
    text-align: center;
    color: #fff;
    background: linear-gradient(90deg, #195eb4, #54aeeb);
    border-radius: 5px;
    min-width: 75px;
}

.news__atc--ttl {
    width: calc(100% - 260px);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.news__btn {
    margin: 0 0 0 auto;
}

@media screen and (max-width:1024px) {
    .news {
        padding: 100px 0;
    }


    .news__ttl {
        .font-en {
            margin-bottom: 1em;
        }

        & img {
            width: 60px;
            top: 50%;
            left: 120px;
        }
    }

    .news__atc {

        & a {
            display: flex;
            padding: 1em;
        }
    }

    .news__info {
        width: 220px;
    }

    .news__data {
        margin-right: 2em;

        &::before {
            width: 8px;
            height: 8px;
        }
    }

    .news__cat {
        padding: 0 .5em;
        min-width: 60px;
    }

    .news__atc--ttl {
        width: calc(100% - 220px);
    }

    .news__btn {
        margin: 0 0 0 auto;
    }


}

@media screen and (max-width:767px) {
    .news {
        padding: 60px 0;
    }


    .news__ttl {
        .font-en {
            margin-bottom: 1em;
        }

        & img {
            width: 50px;
            top: 50%;
            left: 100px;
        }
    }

    .news__atc {

        & a {
            display: block;
            padding: 1em 0;
        }
    }

    .news__info {
        width: 220px;
    }

    .news__data {
        margin-right: 2em;

        &::before {
            width: 8px;
            height: 8px;
        }
    }

    .news__cat {
        padding: 0 .5em;
        min-width: 60px;
    }

    .news__atc--ttl {
        width: 100%;
        margin-top: .5em;
    }

    .news__btn {
        margin: 0 0 0 auto;
    }


}

/*=============================
	Sub(Lower)Page setting
===============================*/

/* main_visual
------------------------------*/
#sub_visual {padding:200px 0px 100px;position: relative;background:url(../img/cmn/sub_visual.png) no-repeat center center; background-attachment: fixed;}
#sub_visual b{ text-align: center; max-width: 1200px;margin: 0 auto;z-index:10; position: relative; display: block;}
#sub_visual b span{font-size:50px; line-height: 100%;font-weight: bold;  display: block;color: #fff;}
#sub_visual b small{font-size:24px; line-height: 100%;display: block;text-transform: lowercase;font-weight: bold;  font-family: "Montserrat", sans-serif;color: #ffb703;  margin-top: 10px;}

/* sub_contents 
------------------------------*/
#sub_contents {position: relative;}
#sub_contents section{max-width: 1200px; margin:70px auto 120px;}
#sub_contents p{margin-bottom: 10px; font-size: 15px;}
#sub_contents h1{ text-align: center;font-size:21px; font-weight: bold;margin-bottom:40px; position: relative; line-height: 100%; padding-top:15px;scroll-margin-top:120px;}
#sub_contents h1:before{content: '';position: absolute;top:0px;display: inline-block;width:40px;height:3px;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%);right:0; left: 0; margin: 0 auto;}
#sub_contents h1 span{font-weight: bold;font-size:30px; display: block;margin-bottom:5px;}
#sub_contents h1 small{display:block; font-size: 18px; font-weight: bold;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block;margin-top: 5px; text-transform: uppercase;font-family: "Montserrat", sans-serif;}
#sub_contents h2{ text-align: center;font-size:21px; font-weight: bold;margin-bottom:40px; position: relative; line-height: 100%; padding-top:10px;scroll-margin-top:120px;}
#sub_contents h2:before{content: '';position: absolute;top:0px;display: inline-block;width:40px;height:3px;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%);right:0; left: 0; margin: 0 auto;}
#sub_contents h2 span{font-weight: bold;font-size:30px; display: block;margin-bottom:5px;}
#sub_contents h2 small{display:block; font-size: 20px; font-weight: bold;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block;margin-top: 5px; text-transform: uppercase;font-family: "Montserrat", sans-serif;}
#sub_contents .ulbox{font-size:15px;margin:0px 0px 10px 0px;}
#sub_contents .ulbox li{padding:5px 0px;list-style-type:disc;overflow:visible;list-style-position: inside;}
#sub_contents .txt_cen span{font-size: 28px; font-weight: bold; margin-bottom: 10px;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; display:block; }
#sub_contents .txt_cen{ text-align: center; font-size:18px; line-height: 200%;font-weight: bold;}
#sub_contents .txt_cen p{ font-size:17px; line-height: 200%;font-weight: bold; margin-bottom: 0px;}
#sub_contents .mb20{margin-bottom: 20px;}
#sub_contents .mb30{margin-bottom: 30px;}
#sub_contents .mb50{margin-bottom: 50px;}
#sub_contents .mb100{margin-bottom: 100px;}
#sub_contents .sub_bg{background: #f7fafa;padding: 30px 0px;}

/* bread_crumb_list
------------------------------*/
#sub_contents .bread_crumb_list{font-size: 13px; position: relative; z-index: 10; padding-top: 15px;}
#sub_contents .bread_crumb{text-align:left;max-width: 1200px; margin: 0 auto;}
#sub_contents .bread_crumb li { display:inline;}
#sub_contents .bread_crumb li:after {content : 'ー';padding-left:10px; font-family: inherit;}
#sub_contents .bread_crumb li:last-child:after { content : '';}
#sub_contents .bread_crumb li a {text-decoration:underline;}
#sub_contents .bread_crumb li a:hover{ text-decoration:none;}
#sub_contents .bread_crumb li.current { font-weight: normal;}

/* btn
------------------------------*/
#sub_contents .btn_list li{width: 23%; margin: 10px; font-size: 15px;}
#sub_contents .btn_list li a{color: #0f57b8; border: 1px solid #0f57b8; font-weight: normal; display: block; padding: 8px; text-align: center;  background: #fff; border-radius: 100px;}
#sub_contents .btn_list li a:hover{color: #fff;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%);transition: 1.0s; opacity: 1;}
#sub_contents .btn_list li.current a{color: #fff;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%);}

#sub_contents .sub_link_btn{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;}
#sub_contents .sub_link_btn li{width:min(100%,420px);margin-top:50px;}
#sub_contents .sub_link_btn li a{display:flex;height:100%;border-radius:10px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.06);}
#sub_contents .sub_link_btn li a figure{width:50%;display:block;}
#sub_contents .sub_link_btn li a figure img{width:100%;height:100%;object-fit:cover;display:block;}
#sub_contents .sub_link_btn li a .link_txt{width:50%;padding:20px;background:linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%);color:#fff;margin-bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
#sub_contents .sub_link_btn li a .link_txt span{font-size:16px;font-weight:700;line-height:1.7;}
#sub_contents .sub_link_btn li a .link_txt small{font-size:13px;font-weight:700;display:block;margin-top:15px;}

/* about
------------------------------*/
#sub_contents .ab__philosophy-wrap{position:relative;padding:120px 60px;background:url(../img/about/img_philosophy.jpg) no-repeat center center/cover;overflow:hidden;}
#sub_contents .ab__philosophy-wrap::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(15,87,184,.82),rgba(90,169,255,.62));z-index:0;}
#sub_contents .ab__philosophy-wrap>*{position:relative;z-index:1;}
#sub_contents .ab__philosophy-wrap h2 span,#sub_contents .ab__philosophy-wrap h2 small{color:#fff;-webkit-text-fill-color:initial;background:none;}
#sub_contents .ab__philosophy-wrap h2::before{background:#fff;}
#sub_contents .ab__philosophy-en{text-align:center;font-family:"Montserrat",sans-serif;font-size:70px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.08);margin-bottom:20px;line-height:1;}
#sub_contents .ab__philosophy-catch{text-align:center;font-size:42px;font-weight:bold;line-height:1.6;color:#fff;margin-bottom:50px;}
#sub_contents .ab__philosophy-body{text-align:center;max-width:900px;margin:0 auto;}
#sub_contents .ab__philosophy-body p{line-height:2.4;color:#fff;margin-bottom:26px;}

#sub_contents .ab__message{align-items:center;gap:60px;}
#sub_contents .ab__message-logo{width:34%;aspect-ratio:1/1;background:#f7fafa;display:flex;align-items:center;justify-content:center;overflow:hidden;}
#sub_contents .ab__message-logo img{width:60%;display:block;}
#sub_contents .ab__message-body{width:60%;}
#sub_contents .ab__message-catch{font-size:30px;font-weight:bold;line-height:1.7;color:#111;margin-bottom:26px;}
#sub_contents .ab__message-body p{line-height:2;margin-bottom:22px;}
#sub_contents .ab__message-name{font-weight:bold;color:#111;line-height:2;margin-top:30px;}

#sub_contents .ab__company-table{width:100%;border-collapse:collapse;background:#fff;}
#sub_contents .ab__company-table tr{border:1px solid #dfe7f3;}
#sub_contents .ab__company-table tr:first-child{border:1px solid #dfe7f3;}
#sub_contents .ab__company-table th{width:220px;padding:18px 22px;background:#f7fafa;font-weight:bold;text-align:left;color:#111;}
#sub_contents .ab__company-table td{padding:18px 24px;line-height:2;}

#sub_contents .ab__map-wrap{overflow:hidden;background:#e8eef8;}
#sub_contents .ab__map-wrap iframe{display:block;}

#sub_contents .ab__map-btn{text-align:center;}
#sub_contents .ab__map-btn a{display:inline-block;min-width:280px;padding:16px 26px;border:1px solid #111;color:#111;text-decoration:none;font-weight:bold;transition:.2s;background:#fff;}
#sub_contents .ab__map-btn a:hover{background:#111;color:#fff;}

/* sell_buy
------------------------------*/
#sub_contents .sv__worry-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:0;}
#sub_contents .sv__worry-list li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5edf7;padding:16px 18px;line-height:1.7;font-weight:bold;}
#sub_contents .sv__worry-list li .material-symbols-outlined{font-size:22px;background:linear-gradient(135deg,#0f57b8,#5aa9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;flex-shrink:0;}
#sub_contents .sv__recommend-list{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
#sub_contents .sv__recommend-item{background:#f7fafa;border:1px solid #e5edf7;padding:34px 30px;text-align:center;position:relative;}
#sub_contents .sv__recommend-num{font-family:"Montserrat",sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;background:linear-gradient(90deg,#0f57b8,#5aa9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px;}
#sub_contents .sv__recommend-icon{width:78px;height:78px;border-radius:50%;background:#fff;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border:1px solid #e5edf7;}
#sub_contents .sv__recommend-icon .material-symbols-outlined{font-size:36px;background:linear-gradient(135deg,#0f57b8,#5aa9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
#sub_contents .sv__recommend-ttl{font-size:19px;font-weight:bold;line-height:1.7;margin-bottom:14px;color:#111;}
#sub_contents .sv__recommend-item p:last-child{line-height:1.9;margin-bottom:0;text-align:left;}
#sub_contents .sv__support{align-items:center;gap:50px;}
#sub_contents .sv__support-body{width:52%;}
#sub_contents .sv__support-catch{font-size:26px;font-weight:bold;line-height:1.7;margin-bottom:22px;color:#111;}
#sub_contents .sv__support-body>p{line-height:2;margin-bottom:22px;}
#sub_contents .sv__support-list{background:#fff;padding:24px 28px;border-left:4px solid #0f57b8;}
#sub_contents .sv__support-list li{position:relative;padding:8px 0 8px 28px;font-weight:bold;line-height:1.7;border-bottom:1px solid #edf1f5;}
#sub_contents .sv__support-list li:last-child{border-bottom:none;}
#sub_contents .sv__support-list li::before{content:"check";font-family:"Material Symbols Outlined";position:absolute;left:0;top:8px;background:linear-gradient(135deg,#0f57b8,#5aa9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
#sub_contents .sv__support-img{width:42%;aspect-ratio:4/3;overflow:hidden;background:#d9d9d9;border-radius:20px;}
#sub_contents .sv__support-img img{width:100%;height:100%;object-fit:cover;display:block;}
#sub_contents .sv__merit-list{display:flex;flex-direction:column;gap:28px;}
#sub_contents .sv__merit-item{display:flex;align-items:center;gap:34px;background:#f7fafa;border-left:4px solid #0f57b8;padding:24px;}
#sub_contents .sv__merit-item:nth-child(even){border-left-color:#5aa9ff;}
#sub_contents .sv__merit-item figure{width:300px;aspect-ratio:16/9;overflow:hidden;background:#d9d9d9;flex-shrink:0;border-radius:14px;}
#sub_contents .sv__merit-item figure img{width:100%;height:100%;object-fit:cover;display:block;}
#sub_contents .sv__merit-num{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;background:linear-gradient(90deg,#0f57b8,#5aa9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px;}
#sub_contents .sv__merit-ttl{font-size:21px;font-weight:bold;line-height:1.6;color:#111;margin-bottom:12px;}
#sub_contents .sv__merit-point{display:inline-block;background:#111;color:#fff;padding:4px 14px;font-size:13px;font-weight:bold;margin-bottom:10px;}
#sub_contents .sv__merit-item p:last-child{line-height:1.9;margin-bottom:0;}

#sub_contents .vc__trouble-lead{text-align:center;line-height:2;margin-bottom:40px;}
#sub_contents .vc__trouble-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
#sub_contents .vc__trouble-item{display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid #e5edf7;padding:28px;}
#sub_contents .vc__trouble-icon{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#0f57b8,#5aa9ff);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#sub_contents .vc__trouble-icon .material-symbols-outlined{font-size:34px;color:#fff;}
#sub_contents .vc__trouble-body{flex:1;}
#sub_contents .vc__trouble-ttl{font-size:18px;font-weight:bold;line-height:1.7;color:#111;margin-bottom:12px;}
#sub_contents .vc__trouble-body p:last-child{line-height:1.9;margin-bottom:0;}

#sub_contents .vc__free-lead{text-align:center;line-height:2;margin-bottom:14px;}
#sub_contents .vc__free-sub{text-align:center;font-weight:bold;margin-bottom:40px;color:#111;}
#sub_contents .vc__free-list{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom: 50px;}
#sub_contents .vc__free-item{display:flex;align-items:center;gap:16px;background:#fff;padding:20px 22px;border:1px solid #e5edf7;}
#sub_contents .vc__free-item .material-symbols-outlined{font-size:24px;background:linear-gradient(135deg,#0f57b8,#5aa9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;flex-shrink:0;}
#sub_contents .vc__free-item p{font-weight:bold;line-height:1.8;margin-bottom:0;color:#111;}

/* voice
------------------------------*/
#sub_contents .vc__list{display:flex;flex-direction:column;gap:24px;}
#sub_contents .vc__item{display:grid;grid-template-columns:90px 220px 1fr;gap:24px;align-items:flex-start;background:#f7fafa;border-left:4px solid transparent;border-image:linear-gradient(180deg,#0f57b8,#5aa9ff) 1;padding:28px 32px;}
#sub_contents .vc__face{width:72px;height:72px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#0f57b8,#5aa9ff);display:flex;align-items:center;justify-content:center;}
#sub_contents .vc__face .material-symbols-outlined{font-size:38px;color:#fff;}
#sub_contents .vc__profile{font-size:13px;line-height:1.8;}
#sub_contents .vc__name{font-weight:bold;color:#111;margin-bottom:6px;}
#sub_contents .vc__ttl{font-size:18px;font-weight:bold;line-height:1.7;color:#111;margin-bottom:18px;}
#sub_contents .vc__comment-label{font-family:"Montserrat",sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;background:linear-gradient(90deg,#0f57b8,#5aa9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;}
#sub_contents .vc__body p:last-child{line-height:1.9;margin-bottom:0;}

/* flow
------------------------------*/
.material-symbols-outlined {font-family: "Material Symbols Outlined"; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: "liga"; font-feature-settings: "liga"; -webkit-font-smoothing: antialiased;}
#sub_contents .fl__method-label {font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.25em; text-align: center; display: block; margin-bottom: 20px; background: linear-gradient(90deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .fl__channel-list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1020px; margin: 0 auto;}
#sub_contents .fl__channel-item {display: flex; flex-direction: column; background: #fff; border: 1px solid #e8e8e8; border-radius: 10px; padding: 32px 24px; text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,0.06);}
#sub_contents .fl__channel-tag {font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; color: #999; display: block; margin-bottom: 16px;}
#sub_contents .fl__channel-icon {width: 64px; height: 64px; border-radius: 50%; background: #f0f4fb; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center;}
#sub_contents .fl__channel-icon .material-symbols-outlined {font-size: 30px; background: linear-gradient(135deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .fl__channel-ttl {font-weight: bold; font-size: 16px; color: #222; margin-bottom: 6px;}
#sub_contents .fl__channel-tel {font-family: "Montserrat", sans-serif; font-size: 20px; font-weight: 700; color: #222; margin-bottom: 4px; letter-spacing: 0.02em; white-space: nowrap;}
#sub_contents .fl__channel-sub {font-size: 13px; color: #555; margin-bottom: 4px;}
#sub_contents .fl__channel-note {font-size: 12px; color: #999; margin-bottom: 20px;}
#sub_contents .fl__channel-btn {display: block; margin-top: auto; padding: 14px 10px; line-height: 1.4; border-radius: 6px; font-weight: bold; text-align: center; text-decoration: none; color: #fff; background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); transition: opacity 0.2s; font-size: 15px;}
#sub_contents .fl__channel-btn:hover {opacity: 0.8;}
#sub_contents .fl__methods-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 24px; margin-bottom: 64px;}
#sub_contents .fl__method-block {min-width: 0; padding: 28px 20px; background: #fff; border: 1px solid #e0eaff; border-radius: 12px; scroll-margin-top: 120px;}
#sub_contents .fl__method-block:last-child {margin-bottom: 0;}
#sub_contents .fl__method-heading {display: block; padding-bottom: 20px; border-bottom: 1px solid #d8e6fb; margin-bottom: 30px;}
#sub_contents .fl__method-heading .fl__method-num {font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; white-space: nowrap; background: linear-gradient(90deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .fl__method-heading h3 {font-size: 20px; font-weight: bold; text-align: left; color: #111; margin: 10px 0 0;}
#sub_contents .fl__method-heading h3::before {display: none;}
#sub_contents .fl__method-heading::after {content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, #5aa9ff, transparent);}
#sub_contents .fl__steps-row {display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; margin-bottom: 0;}
#sub_contents .fl__step {position: relative; text-align: center;}
#sub_contents .fl__step::after {content: ''; position: absolute; bottom: -28px; left: 50%; width: 13px; height: 13px; border-top: 2px solid #5aa9ff; border-right: 2px solid #5aa9ff; transform: translateX(-50%) rotate(135deg);}
#sub_contents .fl__step:last-child::after {content: none;}
#sub_contents .fl__step-tag {font-family: "Montserrat", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.15em; background: linear-gradient(90deg, #0f57b8, #5aa9ff); color: #fff; display: inline-block; padding: 3px 10px; margin-bottom: 10px;}
#sub_contents .fl__step-icon {width: 100px; height: 100px; border-radius: 50%; background: #f0f4fb; margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; border: 2px solid #e0eaff;}
#sub_contents .fl__step-icon .material-symbols-outlined {font-size: 40px; background: linear-gradient(135deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .fl__step-ttl {font-weight: bold; font-size: 18px; color: #111; margin-bottom: 8px;}
#sub_contents .fl__step-desc {line-height: 1.9; padding: 0 10px; text-align: left; overflow-wrap: anywhere; text-wrap: pretty;}
#sub_contents .fl__step-line {display: block;}
#sub_contents .fl__step-line + .fl__step-line {margin-top: 8px;}
#sub_contents #method01 .fl__step:first-child .fl__step-desc {text-align: center;}

@media screen and (min-width: 1025px) {
  #sub_contents .fl__methods-grid {align-items: stretch; row-gap: 44px;}
  #sub_contents .fl__method-block {display: grid; grid-row: span 5; grid-template-rows: subgrid;}
  #sub_contents .fl__method-heading {margin-bottom: 0;}
  #sub_contents .fl__steps-row {grid-row: span 4; grid-template-rows: subgrid;}
}

/* reason
------------------------------*/
.material-symbols-outlined {font-family: "Material Symbols Outlined"; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: "liga"; font-feature-settings: "liga"; -webkit-font-smoothing: antialiased;}
#sub_contents .rsn__achieve-label {font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.25em; text-align: center; display: block; margin-bottom: 20px; background: linear-gradient(90deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .rsn__achieve-list{display:flex;gap:40px;justify-content:center;margin-bottom:0;}
#sub_contents .rsn__achieve-item{flex:1;max-width:300px;padding:36px 24px;text-align:center;position:relative;overflow:hidden;}
#sub_contents .rsn__achieve-item:nth-child(1){background:linear-gradient(135deg,#0f57b8,#5aa9ff);}
#sub_contents .rsn__achieve-item:nth-child(2){background:linear-gradient(135deg,#262626,#4a4a4a);}
#sub_contents .rsn__achieve-item:nth-child(3){background:linear-gradient(135deg,#7b4d12,#c68b3c);}
#sub_contents .rsn__achieve-item::before{content:"";position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.08);}
#sub_contents .rsn__achieve-num{font-family:"Montserrat",sans-serif;font-size:56px;font-weight:700;line-height:1;margin-bottom:10px;color:#fff;-webkit-text-fill-color:initial;background:none;}
#sub_contents .rsn__achieve-num span{font-size:28px;}
#sub_contents .rsn__achieve-label-item{font-size:20px;color:rgba(255,255,255,.72);letter-spacing:.08em;}

#sub_contents .rsn__point-item{display:flex;gap:50px;align-items:center;}
#sub_contents .rsn__point-imgs{width:38%;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
#sub_contents .rsn__point-img{width:100%;aspect-ratio:4/3;overflow:hidden;background:#e8eef8;}
#sub_contents .rsn__point-img img{width:100%;height:100%;object-fit:cover;display:block;}
#sub_contents .rsn__why-label {font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.25em; text-align: center; display: block; margin-bottom: 20px; background: linear-gradient(90deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .rsn__point-list {display: flex; flex-direction: column; gap: 80px;}
#sub_contents .rsn__point-item {display: flex; gap: 50px; align-items: flex-start;}
#sub_contents .rsn__point-item:nth-child(even) {flex-direction: row-reverse;}
#sub_contents .rsn__point-left {flex: 1;}
#sub_contents .rsn__point-meta {display: flex; align-items: center; gap: 16px; margin-bottom: 20px;}
#sub_contents .rsn__point-num {font-family: "Montserrat", sans-serif; font-size: 64px; font-weight: 700; line-height: 1; color: #eef3ff;}
#sub_contents .rsn__point-why {font-family: "Montserrat", sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 0.2em; background: linear-gradient(90deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: block; line-height: 1.4;}
#sub_contents .rsn__point-icon-wrap {width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(135deg, #0f57b8, #5aa9ff); display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
#sub_contents .rsn__point-icon-wrap .material-symbols-outlined {font-size: 28px; color: #fff;}
#sub_contents .rsn__point-left h3 {font-size: 24px; font-weight: bold; color: #111; margin-bottom: 16px; text-align: left; line-height: 1.5;}
#sub_contents .rsn__point-left h3::before {display: none;}
#sub_contents .rsn__point-left p {line-height: 2; color: #444; margin-bottom: 20px;}
#sub_contents .rsn__check-list {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0;}
#sub_contents .rsn__check-list li {padding: 12px 16px; border-bottom: 1px solid #eee; display: flex; align-items: center; gap: 10px; font-size: 15px; color: #333;}
#sub_contents .rsn__check-list li:first-child {border-top: 1px solid #eee;}
#sub_contents .rsn__check-list li .material-symbols-outlined {font-size: 18px; background: linear-gradient(135deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; flex-shrink: 0;}


/* faq_usagi
------------------------------*/
.material-symbols-outlined {font-family: "Material Symbols Outlined"; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: "liga"; font-feature-settings: "liga"; -webkit-font-smoothing: antialiased;}
#sub_contents .faq__cat-label {text-align: center; margin-bottom: 30px;}
#sub_contents .faq__cat-label span {font-family: "Montserrat", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.2em; color: #fff; background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); padding: 6px 24px; display: inline-block;}
#sub_contents .faq__list {display: flex; flex-direction: column; gap: 0; margin-bottom: 100px;}
#sub_contents .faq__item {border-bottom: 1px solid #e8e8e8;}
#sub_contents .faq__item:first-child {border-top: 1px solid #e8e8e8;}
#sub_contents .faq__q {display: flex; width: 100%; align-items: flex-start; gap: 16px; padding: 20px 12px; cursor: pointer; text-align: left; font-weight: bold; line-height: 1.7; background: #fff; transition: background 0.15s;}
#sub_contents .faq__q:hover {background: #f8fbff;}
#sub_contents .faq__q-mark {font-family: "Montserrat", sans-serif; font-size: 18px; font-weight: 700; flex-shrink: 0; width: 26px; background: linear-gradient(135deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .faq__q-text {flex: 1; color: #222;}
#sub_contents .faq__toggle {margin-left: auto; flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: linear-gradient(135deg, #0f57b8, #5aa9ff); display: flex; align-items: center; justify-content: center; transition: transform 0.3s;}
#sub_contents .faq__toggle .material-symbols-outlined {font-size: 18px; color: #fff;}
#sub_contents .faq__item.open .faq__toggle {transform: rotate(45deg);}
#sub_contents .faq__a{display:none;padding:20px 12px 24px 54px;line-height:1.9;color:#444;background:#fff;position:relative;}
#sub_contents .faq__a-mark{position:absolute;left:18px;top:20px;font-family:"Montserrat",sans-serif;font-size:18px;font-weight:700;color:#aaa;line-height:1;margin-top: 6px;}
#sub_contents .faq__item.open .faq__a {display: block;}
#sub_contents .faq__cta {background: #fff; border: 1px solid #e8e8e8; padding: 50px 40px; text-align: center; margin-top: 80px;}
#sub_contents .faq__cta h3 {font-size: 20px; font-weight: bold; color: #222; margin-bottom: 12px; text-align: center;}
#sub_contents .faq__cta h3::before {display: none;}
#sub_contents .faq__cta p {color: #555; line-height: 1.9; margin-bottom: 30px;}
#sub_contents .faq__cta-channels {display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;}
#sub_contents .faq__cta-channel {text-align: center;margin: 0 2%;}
#sub_contents .faq__cta-channel-icon {width: 60px; height: 60px; border-radius: 50%; background: #f0f4fb; margin: 0 auto 10px; display: flex; align-items: center; justify-content: center;}
#sub_contents .faq__cta-channel-icon .material-symbols-outlined {font-size: 26px; background: linear-gradient(135deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .faq__cta-channel p {font-weight: bold; font-size: 16px; color: #222; margin-bottom: 2px;}
#sub_contents .faq__cta-channel small {font-size: 15px; color: #888; display: block; margin-bottom: 20px;}
#sub_contents .faq__cta-channel a {display: inline-block; padding: 15px 30px; font-weight: bold; text-decoration: none; color: #fff; background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); font-size: 17px; transition: opacity 0.2s;}
#sub_contents .faq__cta-channel a:hover {opacity: 0.8;}

/* news
------------------------------*/
#sub_contents .news_list li {width: 33.33%; padding: 0px 15px;}
#sub_contents .news_list li a{display: block; margin-bottom: 35px;}
#sub_contents .news_list li a figure{margin-bottom: 10px;}
#sub_contents .news_list li a figure img{display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px;}
#sub_contents .news_list li a .news_date {display: inline-block;font-family: "Montserrat", sans-serif;font-weight: bold;}
#sub_contents .news_list li a .news_cate {display: inline-block; margin-left:10px;background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; border-radius: 100px; padding: 0px 10px; font-size: 13px; border: 1px solid #5aa9ff;}
#sub_contents .news_list li a .news_ttl { font-weight: bold; margin-top: 10px;}
#sub_contents .news_list li a p{margin-bottom: 0px;}

/* contact
------------------------------*/
.material-symbols-outlined {font-family: "Material Symbols Outlined"; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: "liga"; font-feature-settings: "liga"; -webkit-font-smoothing: antialiased;}
#sub_contents .ct__channel-list {display: flex; gap: 20px; justify-content: center; margin-bottom: 0;}
#sub_contents .ct__channel-item {flex: 1; max-width: 340px; background: #fff; border: 1px solid #e8e8e8; padding: 35px 28px 28px; text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,0.06);}
#sub_contents .ct__channel-label {font-family: "Montserrat", sans-serif; font-size: 17px; font-weight: 700; letter-spacing: 0.2em; color: #999; margin-bottom: 18px; display: block;}
#sub_contents .ct__channel-icon {width: 70px; height: 70px; border-radius: 50%; background: #f0f4fb; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; overflow: hidden;}
#sub_contents .ct__channel-icon img {width: 100%; height: 100%; object-fit: cover; display: block;}
#sub_contents .ct__channel-icon .material-symbols-outlined {font-size: 32px; background: linear-gradient(135deg, #0f57b8, #5aa9ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#sub_contents .ct__channel-ttl {font-weight: bold; font-size: 20px; color: #222; margin-bottom: 6px;}
#sub_contents .ct__channel-sub {font-size: 15px; color: #555; margin-bottom: 4px;}
#sub_contents .ct__channel-note {font-size: 15px; color: #999; margin-bottom: 20px;}
#sub_contents .ct__channel-tel {font-family: "Montserrat", sans-serif; font-size: 22px; font-weight: 700; color: #222; margin-bottom: 6px; letter-spacing: 0.04em;}
#sub_contents .ct__channel-hours {font-size: 15px; color: #888; margin-bottom: 20px;}
#sub_contents .ct__channel-btn {display: block; padding: 12px 10px; font-weight: bold; text-align: center; text-decoration: none; color: #fff; background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%); transition: opacity 0.2s;}
#sub_contents .ct__channel-btn:hover {opacity: 0.8;}
#sub_contents p.con_cen{font-size:16px; font-weight: 500;line-height:200%;  text-align: center; margin: 0 auto 80px;}
#sub_contents p.con_cen a{ display: inline-block; margin:15px 0px 0px;}
#sub_contents p.con_cen a.cc-tel{margin: 10px 0 0px; font-size: 36px;font-weight:bold;font-family: "Montserrat", sans-serif;}
#sub_contents p.con_cen a.cc-tel small{font-size: 24px;margin-right: 5px; font-weight: bold;}
#sub_contents p.con_cen span{font-size: 15px;display:block;font-weight: 500;}
#sub_contents table.defTable01{ margin:0px auto 80px;border-collapse:collapse;box-sizing:border-box;}
#sub_contents table.defTable01 tr{ display:block;border-bottom:1px solid #ddd; padding:10px 0px;}
#sub_contents table.defTable01 tr:first-child{ border-top: 1px solid #ddd;}
#sub_contents table.defTable01 th{ padding:15px 40px 15px 30px;width:36%;display:inline-block; box-sizing:border-box; font-weight:bold;vertical-align: top;}
#sub_contents table.defTable01 th small{font-size: 13px; display: block; font-weight: bold;}
#sub_contents table.defTable01 td{ padding:15px 0px 15px 0px;display:inline-block;box-sizing:border-box;width:63.5%; text-align:left;}
#sub_contents table.defTable01 th em.clrred{ font-size:16px;color:#e60013;font-style:normal; text-align:center;display:inline-block;}
#sub_contents table.defTable01 td.cen{ text-align:center; margin:0 auto; display:block;}
#sub_contents table.defTable01 td.cen input{padding: 10px;color: #ffeeef;font-size: 16px;width: 33%;background: #111;cursor: pointer; border:0px solid #ccc; display:block; text-align:center; margin:0 auto;}
#sub_contents table.defTable01 td.cen input:hover{ background: #000;opacity: 0.8;filter: alpha(opacity=80);-moz-opacity: 1.0;-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out; color:#fff;}
#sub_contents table.defTable01 input {padding: 8px 10px; background: #eee; font-size:13px;border:none;box-sizing:border-box;width:100%;}
#sub_contents table.defTable01 textarea  {padding:8px 10px;background: #eee;font-size:13px; border:none; width:100%;box-sizing: border-box;}
#sub_contents table.defTable01 select  {padding:8px 10px;background: #eee;font-size:13px; border:none; width:100%;box-sizing: border-box;}
#sub_contents table.defTable01 .bbn {border-bottom: none!important;}
#sub_contents table.defTable01 td.tel_area input {width:23%;}
#sub_contents table.defTable01 input[type="checkbox"] { width:3%;}
#sub_contents table.defTable01 input[type="radio"] { width:3%;}
#sub_contents table.defTable01 .privacyBox {padding:10px 25px 30px;width: calc(100% - 0px);height: 300px;overflow-y: scroll;margin-bottom: 20px;background: #fff; font-size:90%; border: 1px solid #ddd; box-sizing: border-box;}
#sub_contents table.defTable01 .privacyBox .sub_ttl {margin:20px 0px 15px 0px; font-size:140%; line-height: 120%; padding:2px 0px 2px 8px;border-left: 5px solid #5aa9ff;font-weight: bold;}
#sub_contents table.defTable01 .privacyBox p{text-align:left; margin-bottom:10px; font-size:14px; line-height: 160%;}
#sub_contents table.defTable01 .privacyBox ul.ulbox li{ list-style-type:disc; list-style-position:inside; margin-left:0px;font-size: 14px;}
#sub_contents table.defTable01 .privacyBox::-webkit-scrollbar {height: 5px;}
#sub_contents table.defTable01 .privacyBox::-webkit-scrollbar-track {background: #eee;}
#sub_contents table.defTable01 .privacyBox::-webkit-scrollbar-thumb {background: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%);}

/* page_navi
------------------------------*/
#sub_contents .wp-pagenavi {text-align:center;margin-top:50px;}
#sub_contents .wp-pagenavi a,.wp-pagenavi span {display: inline-block;color: #222222;background-color: #fff;border: 1px solid #222222;padding: 11px 15px;margin: 0 2px 5px;white-space: nowrap;text-align: center;text-decoration: none; border-radius: 80px;line-height: 100%;}
#sub_contents .wp-pagenavi span.pages {display: none;}
#sub_contents .wp-pagenavi a:hover{color: #fff;background: #222222;}
#sub_contents .wp-pagenavi span.current{color: #fff;background: #222222;font-weight: bold;}

@media screen and (max-width: 1200px) {
#sub_contents section{max-width: 94%;}
#sub_contents .bread_crumb{max-width: 94%;}
}

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

/* flow
------------------------------*/
#sub_contents .fl__channel-item{padding:26px 16px;}

#sub_contents .fl__methods-grid{grid-template-columns:1fr;max-width:720px;margin-left:auto;margin-right:auto;}
}

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


/* main_visual
------------------------------*/
#sub_visual{padding:120px 0 60px;background-position:center center;background-size:cover;background-attachment:scroll;}
#sub_visual b{width:94%;}
#sub_visual b span{font-size:34px;line-height:1.4;}
#sub_visual b small{font-size:16px;line-height:1.6;margin-top:8px;}


/* sub_contents
------------------------------*/
#sub_contents section{width:94%;margin:50px auto 80px;}
#sub_contents p{font-size:15px;line-height:1.9;}
#sub_contents h1{font-size:18px;margin-bottom:30px;padding-top:12px;scroll-margin-top:80px;}
#sub_contents h1 span{font-size:24px;line-height:1.5;}
#sub_contents h1 small{font-size:14px;line-height:1.5;}
#sub_contents h2{font-size:18px;margin-bottom:30px;padding-top:12px;scroll-margin-top:80px;}
#sub_contents h2 span{font-size:24px;line-height:1.5;}
#sub_contents h2 small{font-size:14px;line-height:1.5;}
#sub_contents .txt_cen{font-size:15px;line-height:1.9;}
#sub_contents .txt_cen span{font-size:22px;line-height:1.6;}
#sub_contents .txt_cen p{font-size:15px;line-height:1.9;}

#sub_contents .mb20{margin-bottom:20px;}
#sub_contents .mb30{margin-bottom:30px;}
#sub_contents .mb50{margin-bottom:50px;}
#sub_contents .mb100{margin-bottom:70px;}

#sub_contents .bread_crumb{width:94%;}
#sub_contents .bread_crumb_list{font-size:12px;padding-top:10px;line-height:1.8;}

#sub_contents .btn_list{flex-wrap:wrap;gap:10px;}
#sub_contents .btn_list li{width:calc(50% - 5px);margin:0;font-size:13px;}
#sub_contents .btn_list li a{padding:13px 8px;line-height:1.5;}

#sub_contents .sub_link_btn{gap:20px;}
#sub_contents .sub_link_btn li{width:100%;margin-top:20px;}
#sub_contents .sub_link_btn li a{flex-direction:column;}
#sub_contents .sub_link_btn li a figure{width:100%;}
#sub_contents .sub_link_btn li a .link_txt{width:100%;padding:18px;border-radius:0;}
#sub_contents .sub_link_btn li a .link_txt span{font-size:15px;}
#sub_contents .sub_link_btn li a .link_txt small{font-size:12px;margin-top:10px;}

/* about
------------------------------*/
#sub_contents .ab__philosophy-wrap{padding:70px 20px;}
#sub_contents .ab__philosophy-en{font-size:36px;line-height:1.2;}
#sub_contents .ab__philosophy-catch{font-size:24px;line-height:1.8;margin-bottom:30px;}
#sub_contents .ab__philosophy-body p{line-height:2.1;}

#sub_contents .ab__message{display:block;}
#sub_contents .ab__message-logo{width:100%;margin-bottom:30px;}
#sub_contents .ab__message-body{width:100%;}
#sub_contents .ab__message-catch{font-size:22px;line-height:1.8;}

#sub_contents .ab__company-table th,#sub_contents .ab__company-table td{display:block;width:100%;padding:14px 16px;}
#sub_contents .ab__company-table th{border-bottom:1px solid #dfe7f3;}

#sub_contents .ab__map-btn a{min-width:100%;padding:15px 20px;}

/* service
------------------------------*/
#sub_contents .sv__worry-list{grid-template-columns:1fr;}
#sub_contents .sv__recommend-list{grid-template-columns:1fr;}

#sub_contents .sv__support{display:block;}
#sub_contents .sv__support-body{width:100%;margin-bottom:30px;}
#sub_contents .sv__support-img{width:100%;}
#sub_contents .sv__support-catch{font-size:22px;}

#sub_contents .sv__merit-item{display:block;padding:20px;}
#sub_contents .sv__merit-item figure{width:100%;margin-bottom:20px;}
#sub_contents .sv__merit-ttl{font-size:18px;}

/* voice
------------------------------*/
#sub_contents .vc__trouble-grid{grid-template-columns:1fr;}
#sub_contents .vc__trouble-item{display:block;padding:20px;}
#sub_contents .vc__trouble-icon{margin:0 auto 20px;}
#sub_contents .vc__trouble-ttl{font-size:16px;}

#sub_contents .vc__free-list{grid-template-columns:1fr;}

#sub_contents .vc__item{grid-template-columns:1fr;gap:18px;padding:22px;}
#sub_contents .vc__face{margin:0 auto;}
#sub_contents .vc__profile{text-align:center;}
#sub_contents .vc__ttl{font-size:17px;}

/* flow
------------------------------*/
#sub_contents .fl__channel-list{grid-template-columns:1fr;gap:16px;}
#sub_contents .fl__channel-item{padding:26px 22px;}
#sub_contents .fl__channel-tel{font-size:22px;}
#sub_contents .fl__channel-note{margin-bottom:18px;}

#sub_contents .fl__method-block{scroll-margin-top:80px;}
#sub_contents .fl__method-heading{display:block;margin-bottom:26px;padding-bottom:12px;border-bottom:1px solid #d8e6fb;}
#sub_contents .fl__method-heading .fl__method-num{display:block;margin-bottom:6px;}
#sub_contents .fl__method-heading h3{font-size:19px;line-height:1.6;}
#sub_contents .fl__method-heading::after{display:none;}

#sub_contents .fl__steps-row{grid-template-columns:1fr;gap:44px;}
#sub_contents .fl__step:not(:last-child)::after{content:'';top:auto;right:auto;bottom:-28px;left:50%;transform:translateX(-50%) rotate(135deg);}
#sub_contents .fl__step-desc{padding:0;}

/* reason
------------------------------*/
#sub_contents .rsn__achieve-list{display:block;}
#sub_contents .rsn__achieve-item{max-width:100%;margin-bottom:20px;}

#sub_contents .rsn__point-item{display:block;}
#sub_contents .rsn__point-imgs{width:100%;margin-bottom:25px;}
#sub_contents .rsn__point-left h3{font-size:20px;}
#sub_contents .rsn__point-meta{gap:10px;}
#sub_contents .rsn__point-num{font-size:42px;}

/* faq
------------------------------*/
#sub_contents .faq__q{padding:16px 10px;gap:12px;align-items:flex-start;}
#sub_contents .faq__q-mark{width:22px;font-size:16px;padding-top:2px;}
#sub_contents .faq__q-text{font-size:15px;line-height:1.8;padding-top:1px;}
#sub_contents .faq__toggle{width:22px;height:22px;margin-top:2px;}
#sub_contents .faq__toggle .material-symbols-outlined{font-size:15px;}
#sub_contents .faq__a{padding:18px 10px 20px 38px;position:relative;line-height:1.9;}
#sub_contents .faq__a-mark{position:absolute;left:10px;top:20px;font-size:14px;line-height:1;}
#sub_contents .faq__cta{padding:30px 20px;}
#sub_contents .faq__cta h3{font-size:18px;line-height:1.7;}
#sub_contents .faq__cta p{line-height:1.9;}
#sub_contents .faq__cta-channels{display:block;}
#sub_contents .faq__cta-channel{margin:0 0 30px;}
#sub_contents .faq__cta-channel:last-child{margin-bottom:0;}
#sub_contents .faq__cta-channel a{width:100%;padding:14px 20px;font-size:15px;}

/* news
------------------------------*/
#sub_contents .news_list li{width:100%;padding:0;}

/* contact
------------------------------*/
#sub_contents .ct__channel-list{display:block;}
#sub_contents .ct__channel-item{max-width:100%;margin-bottom:20px;padding:30px 20px;}
#sub_contents p.con_cen{font-size:15px;margin-bottom:50px;}
#sub_contents p.con_cen a.cc-tel{font-size:28px;line-height:1.5;}
#sub_contents p.con_cen a.cc-tel small{font-size:18px;}
#sub_contents table.defTable01{ margin:0px auto 80px;border-collapse:collapse;box-sizing:border-box;}
#sub_contents table.defTable01 tr{ display:block;border-bottom:1px solid #ddd; padding:10px 0px;}
#sub_contents table.defTable01 tr:first-child{ border-top: 1px solid #ddd;}
#sub_contents table.defTable01 th{ padding:15px 15px 0 15px;width:100%;display:inline-block; box-sizing:border-box; font-weight:700;vertical-align: top;text-align: left;}
#sub_contents table.defTable01 th small{font-size: 13px; display: block; font-weight: 500;}
#sub_contents table.defTable01 td{ padding:15px;display:inline-block;box-sizing:border-box;width:100%; text-align:left;}
#sub_contents table.defTable01 td a{font-weight: 500;color: #87cefa;}
#sub_contents table.defTable01 th em.clrred{ font-size:16px;color:#d30000;font-style:normal; text-align:center;display:inline-block;}
#sub_contents table.defTable01 td.cen{ text-align:center; margin:0 auto; display:block;}
#sub_contents table.defTable01 td.cen input{padding: 10px;font-size: 16px;width: 33%;background: #000;cursor: pointer; border:0px solid #111; display:block; text-align:center; margin:0 auto;color:#fff;border-radius: 30px;}
#sub_contents table.defTable01 td.cen input:hover{ background: #000;opacity: 0.8;filter: alpha(opacity=80);-moz-opacity: 1.0;-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out; color:#fff;}
#sub_contents table.defTable01 input {padding: 8px 10px; background: #fff; font-size:13px;border:none;box-sizing:border-box;width:100%;}
#sub_contents table.defTable01 textarea  {padding:8px 10px;background: #fff;font-size:13px; border:none; width:100%;box-sizing: border-box;}
#sub_contents table.defTable01 select  {padding:8px 10px;background: #fff;font-size:13px; border:none; width:100%;box-sizing: border-box;}
#sub_contents table.defTable01 .bbn {border-bottom: none!important;}
#sub_contents table.defTable01 td.tel_area input {width:23%;}
#sub_contents table.defTable01 input[type="checkbox"] { width:3%;}
#sub_contents table.defTable01 input[type="radio"] { width:3%;}
#sub_contents table.defTable01 .privacyBox {padding:10px 25px 30px;width: calc(100% - 0px);height: 300px;overflow-y: scroll;margin-bottom: 20px;background: #fff; font-size:90%; border: 1px solid #ddd; box-sizing: border-box;}
#sub_contents table.defTable01 .privacyBox .sub_ttl {margin:20px 0px 15px 0px; font-size:140%; line-height: 120%; padding:2px 0px 2px 8px;border-left: 5px solid #5aa9ff;font-weight: 500;}
#sub_contents table.defTable01 .privacyBox p{text-align:left; margin-bottom:10px; font-size:14px; line-height: 160%;}
#sub_contents table.defTable01 .privacyBox ul.ulbox li{ list-style-type:disc; list-style-position:inside; margin-left:0px;font-size: 14px;}
#sub_contents table.defTable01 .privacyBox::-webkit-scrollbar {height: 5px;}
#sub_contents table.defTable01 .privacyBox::-webkit-scrollbar-track {background: #eee;}
#sub_contents table.defTable01 .privacyBox::-webkit-scrollbar-thumb {background:  linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%);}
#sub_contents table.defTable01 input {font-family: inherit;}
#sub_contents table.defTable01 textarea  {font-family: inherit;}


}

/*
Wordpress
__________________________*/

/*__ BOCK EDITOR__*/
.sgl-cts > * {
    margin-block-start: 2rem;
    margin-block-end: 0;
}

/*useragent, reset.cssの上書き*/
.sgl-cts .alignright{ float: right; margin-left: 1em; }
.sgl-cts .alignleft{ float: left; margin-right: 1em; }
.sgl-cts .aligncenter{ clear: both; margin-right: auto; margin-left: auto; }
.sgl-cts .wp-block-heading{ font-weight: bold; margin-top: 1em; }
.sgl-cts h1 { font-size: 2em; }
.sgl-cts h2 { font-size: 1.5em; }
.sgl-cts h3 { font-size: 1.17em; }
.sgl-cts h4,.sgl-cts h5,.sgl-cts h6 {font-size: 1em; }

.sgl-cts p { margin: 0;padding: 0;margin-top: 1em; }
#sgl-cts p.has-regular-font-size { font-size: 1em; }
#sgl-cts p.has-larger-font-size { font-size: 2.625em; }
.sgl-cts a{ color:#0000EE; text-decoration: underline; }
.sgl-cts strong,.sgl-cts b{ font-weight: bold; }
.sgl-cts blockquote, .sgl-cts q{ quotes: unset; }
.sgl-cts mark { background-color: #FEFF00;color: inherit;font-style: inherit;font-weight: inherit; }


.sgl-cts .wp-block-image{ margin: 1em 0 }
.sgl-cts .wp-block-image img{ width: auto; }

#sgl-cts .wp-block-gallery .blocks-gallery-item{ margin: 0; }

.sgl-cts ul{list-style: unset; list-style-position: inside; }
.sgl-cts ol{ list-style: decimal; list-style-position: inside; }

.sgl-cts .wp-block-button__link{ color: #fff; text-decoration: none }
.sgl-cts .wp-block-button.is-style-squared .wp-block-button__link{ border-radius: 0; }
.sgl-cts .wp-block-file__button { color: #fff; text-decoration: none; padding: .3em .5em; }

/*追加設定*/
.sgl-cts:after{content: ""; clear: both; }
.sgl-cts hr, .sgl-cts .wp-block-heading{ clear: both; }
.sgl-cts img{ width: auto;}
.sgl-cts .single-tn{ margin-bottom: 3em; text-align: center;}

/*__Contact Form 7__*/
.wpcf7-mail-sent-ok {display: none!important;}
.wpcf7-spinner{display: none!important;}
.wpcf7-spinner{position: absolute!important; top: 50%;}
.wpcf7-form input[type="checkbox"] {width: 1em!important; margin-left:0.1em!important; margin-right: 0.1em!important;}
.wpcf7-form input[type="radio"] {width: 1em!important;margin: 0 0.1em!important;}
.wpcf7-list-item{display: inline-block!important;margin-left: 0em!important;margin-right: 0em!important;}
.wpcf7-list-item-label::before {content: ""; margin-right: 0.2em;}
.wpcf7-list-item-label::after {content: ""; margin-right: 1em;}

.wpcf7-form .tel_area .wpcf7-not-valid-tip{ text-align: left;line-height: 1;position: absolute;left: 0;margin-top: 0.2em; }

.wpcf7-form td.tel_area:has(.wpcf7-not-valid-tip){padding-bottom: 2em!important;}
.wpcf7-form.invalid .wpcf7-acceptance + .wpcf7-not-valid-tip{ white-space: nowrap;}


/*others*/
.thankspage,.page404{text-align: center;}
.post_none{font-size: 15px; text-align: center; padding: 2em 0;margin-left: auto; margin-right: auto}
.post_none.ta-left{ text-align: left;}
img{height:auto;}
.bread_crumb br{display:none;}

.ct__channel-item {
  display: flex;
  flex-direction: column;
}

.ct__channel-btn {
  margin-top: auto;
}



#sub_contents h3.wp-block-heading {
    display: flex;
    margin-top: 40px;
    position: relative;
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1.7;
    text-align: left;
    margin-bottom: 30px;
    margin-top: 0;
    border-bottom: solid 1px #ba9a60;


    border-bottom: 3px solid;
    border-image: linear-gradient(90deg, #0f57b8 0%, #5aa9ff 100%) 1;
    padding-bottom: 10px;
}

#sub_contents h4.wp-block-heading {
    font-weight: bold;
}

@media screen and (max-width: 768px) {   
#sub_contents h3.wp-block-heading {
    font-size: 2rem;
}    
}
