@charset "utf-8";


/**
 * スマホ用設定
 */
@media ( width < 768px ) {

    #top-mv {
        margin: calc( 100vw * 144 / 780 ) auto 0;
        padding: 0;
        width: 100%;
    }
    #top-mv .mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #top-mv .mv-bg img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #top-mv .mv-box {
        position: absolute;
        top: 8%;
        left: 50%;
        translate: -50% 0%;
        width: 90%;
        z-index: 1;
        display: none;
    }
    #top-mv .mv-box h1 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 8.8vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 69 / 56 );
    }
    #top-mv .mv-box p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 50 / 32 );
    }

    main {
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }

    .btn-common {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 80%;
        height: auto;
        aspect-ratio: 307 / 59;
        color: #007ab1;
        font-size: 3.6vw;
        font-weight: 700;
        border: 2px solid #007ab1;
        border-radius: 4.0em;
    }

    #top-news {
        margin: 0 auto;
        padding: 12.0vw 5% 6.0vw;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8.0vw 0;
    }
    #top-news .top-news-l {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #top-news .top-news-r {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #top-news .top-news-l h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.0vw 0;
        line-height: 1.0;
    }
    #top-news .top-news-l h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 12.0vw;
        font-weight: 700;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-news .top-news-l h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
    }
    #top-news .top-news-l .btn-common {
        display: none;
    }
    #top-news .top-news-r .news-item {
        margin: 0;
        padding: 4.0vw 0;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 2.0vw 4.0vw;
        border-bottom: 1px solid #e5e5e5;
    }
    #top-news .top-news-r .news-item:first-child {
        border-top: 1px solid #e5e5e5;
    }
    #top-news .top-news-r .news-item span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        width: 20.0vw;
        color: #cecece;
        font-size: 3.6vw;
        font-weight: 500;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-news .top-news-r .news-item span:nth-of-type(2) {
        display: block;
        margin: 0.2vw 0 0;
        padding: 0.2vw 0.5vw;
        color: #fff;
        font-size: 3.2vw;
        font-weight: 500;
        text-align: left;
        background: #00407f;
    }
    #top-news .top-news-r .news-item span:nth-of-type(3) {
        display: block;
        margin: 1px 0 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
    }
    #top-news > .btn-common {
        margin: 0 auto 0;
    }

    #top-2nd {
        margin: 0 auto;
        padding: 6.0vw 5% 20.0vw;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #top-2nd .top-2nd-l {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 2;
    }
    #top-2nd .top-2nd-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 615 / 314;
        order: 1;
    }
    #top-2nd .top-2nd-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
    }
    #top-2nd .top-2nd-l h2 {
        position: relative;
        margin: 0 0 6.0vw;
        padding: 0 0 6.0vw;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 47 / 36 );
    }
    #top-2nd .top-2nd-l h2::after {
        position: absolute;
        content: "";
        top: calc( 100% );
        left: 0;
        width: 100%;
        height: 2px;
        background: linear-gradient( to right, #007ab1 160px, #e5e5e5 160px );
    }
    #top-2nd .top-2nd-l p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 38 / 18 );
    }

    #top-reason {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        background: #f7f7f7;
    }
    #top-reason > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.0vw 0;
        line-height: 1.0;
    }
    #top-reason > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
        text-align: left;
    }
    #top-reason > h2 span:nth-of-type(2) {
        display: block;
        margin: 0.8em 0 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-reason > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
    }
    #top-reason > .top-reason-box {
        margin: 4.0vw calc( -100% * 1 / 9 / 2 ) 0;
        padding: 4.0vw;
        width: calc( 100% * 10 / 9 );
        background: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #top-reason > h3 + .top-reason-box {
        margin-top: 8.0vw;
    }
    #top-reason > .top-reason-box .top-reason-box-info {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 2;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(1) {
        padding: 0;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(2) {
        padding: 0;
    }
    #top-reason > .top-reason-box .top-reason-box-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 846 / 700;
        order: 1;
    }
    #top-reason > .top-reason-box .top-reason-box-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
        box-shadow: 0 0 8.0vw rgba( 0, 0, 0, 0.1 );
    }
    #top-reason > .top-reason-box .top-reason-box-info .no {
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-reason > .top-reason-box .top-reason-box-info h4 {
        position: relative;
        margin: 0 0 1.0em;
        padding: 0 0 0.8em;
        font-size: 5.2vw;
        font-weight: 700;
        text-align: left;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(1) h4::after {
        position: absolute;
        content: "";
        top: 100%;
        left: 0;
        width: 100%;
        height: 1px;
        background: #e5e5e5;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(2) h4::after {
        position: absolute;
        content: "";
        top: 100%;
        left: 0;
        width: 100%;
        height: 1px;
        background: #e5e5e5;
    }
    #top-reason > .top-reason-box .top-reason-box-info p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 30 / 18 );
    }
    #top-reason > .btn-common {
        margin: 8.0vw auto 0;
    }

    #top-cta {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
    }
    #top-cta > .btn-cta-b2b {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        background: #00407f;
    }
    #top-cta > .btn-cta-b2c {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        background: #007ab1;
    }
    #top-cta > a .cta-pic {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1560 / 812;
    }
    #top-cta > a .cta-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.6;
    }
    #top-cta > a .cta-pic figcaption {
        position: absolute;
        margin: 0;
        padding: 0;
        width: max-content;
        left: 5%;
        bottom: 10%;
        color: #fff;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: 1.0;
    }
    #top-cta > a .cta-pic figcaption::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.6em );
        left: calc( 100% + 1.0em );
        width: 1.2em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
    }
    #top-cta > a .cta-text {
        margin: 0;
        padding: 8.0vw 5%;
    }
    #top-cta > a .cta-text .head {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
    }
    #top-cta > a .cta-text p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }

    #top-beyond {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #top-beyond > .top-beyond-flex {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #top-beyond > .top-beyond-flex .top-beyond-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 716 / 477;
    }
    #top-beyond > .top-beyond-flex .top-beyond-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
        box-shadow: 0 0 8.0vw rgba( 0, 0, 0, 0.1 );
    }
    #top-beyond > .top-beyond-flex .top-beyond-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #top-beyond > .top-beyond-flex .top-beyond-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.0vw 0;
        line-height: 1.0;
    }
    #top-beyond > .top-beyond-flex .top-beyond-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.8vw;
        font-weight: 600;
        text-align: left;
        font-family: var(--font-poppins);
    }
    #top-beyond > .top-beyond-flex .top-beyond-info h2 span:nth-of-type(2) {
        display: block;
        margin: 2.0vw 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 45 );
    }
    #top-beyond > .top-beyond-flex .top-beyond-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }
    #top-beyond > .top-beyond-btns {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #top-beyond > .top-beyond-btns .btn-common {
        margin: 0;
    }

    #top-insurance {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #top-insurance > .top-insurance-flex {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #top-insurance > .top-insurance-flex .top-insurance-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 423 / 350;
        order: 1;
    }
    #top-insurance > .top-insurance-flex .top-insurance-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
        box-shadow: 0 0 8.0vw rgba( 0, 0, 0, 0.1 );
    }
    #top-insurance > .top-insurance-flex .top-insurance-info {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 2;
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.0vw 0;
        line-height: 1.0;
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h2 span:nth-of-type(2) {
        display: block;
        margin: 2.0vw 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 45 );
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h3 {
        margin: 0.5em 0 0;
        padding: 0;
        font-size: 5.2vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 52 / 40 );
    }
    #top-insurance > .top-insurance-flex .top-insurance-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }

    #cta {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #cta > a {
        display: block;
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }
    #cta > a figure {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #cta > a figure img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }

    #top-partner {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #top-partner > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.0vw 0;
        line-height: 1.0;
    }
    #top-partner > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-partner > h2 span:nth-of-type(2) {
        display: block;
        margin: 2.0vw 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
    }
    #top-partner > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }
    #top-partner > .top-partner-box {
        margin: 4.0vw calc( -100% * 1 / 9 / 2 ) 0;
        padding: 4.0vw;
        width: calc( 100% * 10 / 9 );
        background: #f7f7f7;
        border-radius: 1.0vw;
    }
    #top-partner > p + .top-partner-box {
        margin-top: 8.0vw;
    }
    #top-partner > .top-partner-box h3 {
        margin: 0;
        padding: 0 0 0 1.0em;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 32 / 22 );
        border-left: 1.0vw solid #00407f;
    }
    #top-partner > .top-partner-box .top-partner-grid {
        margin: 4.0vw 0 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat( 2, 1fr );
        gap: 2.0vw 2.0vw;
    }
    #top-partner > .top-partner-box .top-partner-grid .top-partner-logo {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 624 / 266;
        background: #fff;
        border-radius: 1.0vw;
        overflow: hidden;
    }
    #top-partner > .top-partner-box .top-partner-grid .top-partner-logo .pic {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #top-partner > .top-partner-box .top-partner-grid .top-partner-logo .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

}


/**
 * PC用設定
 */
@media ( width >= 768px ) {

    #top-mv {
        margin: 100px auto 0;
        padding: 0;
        width: 100%;
    }
    #top-mv .mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #top-mv .mv-bg img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #top-mv .mv-box {
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        width: 90%;
        max-width: 1200px;
        z-index: 1;
        display: none;
    }
    #top-mv .mv-box h1 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 60px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 69 / 60 );
    }
    #top-mv .mv-box p {
        margin: 1.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 20px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 35 / 20 );
    }

    main {
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }

    .btn-common {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 307px;
        max-width: 100%;
        height: auto;
        aspect-ratio: 307 / 59;
        color: #007ab1;
        font-size: 18px;
        font-weight: 700;
        border: 2px solid #007ab1;
        border-radius: 4.0em;
    }

    #top-news {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #top-news .top-news-l {
        margin: 0;
        padding: 0;
        width: 33%;
    }
    #top-news .top-news-r {
        margin: 0;
        padding: 0;
        width: 67%;
    }
    #top-news .top-news-l h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px 0;
        line-height: 1.0;
    }
    #top-news .top-news-l h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 60px;
        font-weight: 700;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-news .top-news-l h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 24px;
        font-weight: 700;
        text-align: left;
    }
    #top-news .top-news-l .btn-common {
        margin: 48px 0 0;
    }
    #top-news .top-news-r .news-item {
        margin: 0;
        padding: 32px 0;
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0 24px;
        border-bottom: 1px solid #e5e5e5;
    }
    #top-news .top-news-r .news-item:first-child {
        border-top: 1px solid #e5e5e5;
    }
    #top-news .top-news-r .news-item span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        width: 110px;
        color: #cecece;
        font-size: 20px;
        font-weight: 500;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-news .top-news-r .news-item span:nth-of-type(2) {
        display: block;
        margin: 2px 0 0;
        padding: 2px 4px;
        color: #fff;
        font-size: 15px;
        font-weight: 500;
        text-align: left;
        background: #00407f;
    }
    #top-news .top-news-r .news-item span:nth-of-type(3) {
        display: block;
        margin: 1px 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 500;
        text-align: left;
    }
    #top-news > .btn-common {
        display: none;
    }

    #top-2nd {
        margin: 0 auto;
        padding: 32px max( 5%, calc( 50vw - 580px ) ) 136px;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #top-2nd .top-2nd-l {
        margin: 0;
        padding: 0;
        width: calc( 49% - 56px );
    }
    #top-2nd .top-2nd-pic {
        margin: 0;
        padding: 0;
        width: 51%;
        height: auto;
        aspect-ratio: 615 / 314;
    }
    #top-2nd .top-2nd-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
    }
    #top-2nd .top-2nd-l h2 {
        position: relative;
        margin: 0 0 40px;
        padding: 0 0 34px;
        font-size: 36px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 47 / 36 );
    }
    #top-2nd .top-2nd-l h2::after {
        position: absolute;
        content: "";
        top: calc( 100% );
        left: 0;
        width: 100%;
        height: 2px;
        background: linear-gradient( to right, #007ab1 160px, #e5e5e5 160px );
    }
    #top-2nd .top-2nd-l p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 38 / 18 );
    }

    #top-reason {
        margin: 0 auto;
        padding: 104px max( 5%, calc( 50vw - 580px ) ) 136px;
        width: 100%;
        background: #f7f7f7;
    }
    #top-reason > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px 0;
        line-height: 1.0;
    }
    #top-reason > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
        text-align: left;
    }
    #top-reason > h2 span:nth-of-type(2) {
        display: block;
        margin: 0.8em 0 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-reason > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 36px;
        font-weight: 700;
        text-align: left;
    }
    #top-reason > .top-reason-box {
        margin: 24px 0 0;
        padding: 40px;
        width: 100%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #top-reason > h3 + .top-reason-box {
        margin-top: 56px;
    }
    #top-reason > .top-reason-box .top-reason-box-info {
        margin: 0;
        padding: 0;
        width: 65%;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(1) {
        padding: 0 40px 0 0;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(2) {
        padding: 0 0 0 40px;
    }
    #top-reason > .top-reason-box .top-reason-box-pic {
        margin: 0;
        padding: 0;
        width: 35%;
        height: auto;
        aspect-ratio: 846 / 700;
    }
    #top-reason > .top-reason-box .top-reason-box-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
        box-shadow: 0 0 40px rgba( 0, 0, 0, 0.1 );
    }
    #top-reason > .top-reason-box .top-reason-box-info .no {
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-reason > .top-reason-box .top-reason-box-info h4 {
        position: relative;
        margin: 0.5em 0 1.0em;
        padding: 0 0 0.8em;
        font-size: 30px;
        font-weight: 700;
        text-align: left;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(1) h4::after {
        position: absolute;
        content: "";
        top: 100%;
        left: 0;
        width: calc( 100% + 40px );
        height: 1px;
        background: #e5e5e5;
    }
    #top-reason > .top-reason-box .top-reason-box-info:nth-child(2) h4::after {
        position: absolute;
        content: "";
        top: 100%;
        left: -40px;
        width: calc( 100% + 40px );
        height: 1px;
        background: #e5e5e5;
    }
    #top-reason > .top-reason-box .top-reason-box-info p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 30 / 18 );
    }
    #top-reason > .btn-common {
        margin: 64px auto 0;
    }

    #top-cta {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }
    #top-cta > .btn-cta-b2b {
        display: block;
        margin: 0;
        padding: 0;
        width: 50%;
        background: #00407f;
        transition: none;
    }
    #top-cta > .btn-cta-b2c {
        display: block;
        margin: 0;
        padding: 0;
        width: 50%;
        background: #007ab1;
        transition: none;
    }
    @media ( hover: hover ) {
        #top-cta > .btn-cta-b2b:hover,
        #top-cta > .btn-cta-b2c:hover {
            opacity: 1.0;
        }
    }
    #top-cta > a .cta-pic {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 812;
        overflow: hidden;
    }
    #top-cta > a .cta-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.6;
        transition: transform 0.3s ease-out;
    }
    @media ( hover: hover ) {
        #top-cta > a:hover .cta-pic img {
            transform: scale( 1.2, 1.2 );
        }
    }
    #top-cta > a .cta-pic figcaption {
        position: absolute;
        margin: 0;
        padding: 0;
        width: max-content;
        left: 9%;
        bottom: 18%;
        color: #fff;
        font-size: 45px;
        font-weight: 700;
        text-align: left;
        line-height: 1.0;
    }
    #top-cta > a .cta-pic figcaption::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.6em );
        left: calc( 100% + 1.0em );
        width: 1.2em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
    }
    #top-cta > a .cta-text {
        margin: 0;
        padding: 72px 9%;
    }
    #top-cta > a .cta-text .head {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 24px;
        font-weight: 700;
        text-align: left;
    }
    #top-cta > a .cta-text p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }

    #top-beyond {
        margin: 0 auto;
        padding: 125px max( 5%, calc( 50vw - 540px ) ) 104px;
        width: 100%;
    }
    #top-beyond > .top-beyond-flex {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #top-beyond > .top-beyond-flex .top-beyond-pic {
        margin: 0;
        padding: 0;
        width: 32%;
        height: auto;
        aspect-ratio: 350 / 477;
    }
    #top-beyond > .top-beyond-flex .top-beyond-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
        box-shadow: 0 0 40px rgba( 0, 0, 0, 0.1 );
    }
    #top-beyond > .top-beyond-flex .top-beyond-info {
        margin: 0;
        padding: 0;
        width: calc( 68% - 56px );
    }
    #top-beyond > .top-beyond-flex .top-beyond-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px 0;
        line-height: 1.0;
    }
    #top-beyond > .top-beyond-flex .top-beyond-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        text-align: left;
        font-family: var(--font-poppins);
    }
    #top-beyond > .top-beyond-flex .top-beyond-info h2 span:nth-of-type(2) {
        display: block;
        margin: 20px 0 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 45 );
    }
    #top-beyond > .top-beyond-flex .top-beyond-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }
    #top-beyond > .top-beyond-btns {
        margin: 64px 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 49px;
    }
    #top-beyond > .top-beyond-btns .btn-common {
        margin: 0;
    }

    #top-insurance {
        margin: 0 auto;
        padding: 120px max( 5%, calc( 50vw - 540px ) ) 112px;
        width: 100%;
    }
    #top-insurance > .top-insurance-flex {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #top-insurance > .top-insurance-flex .top-insurance-pic {
        margin: 0;
        padding: 0;
        width: 39%;
        height: auto;
        aspect-ratio: 423 / 350;
    }
    #top-insurance > .top-insurance-flex .top-insurance-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
        box-shadow: 0 0 40px rgba( 0, 0, 0, 0.1 );
    }
    #top-insurance > .top-insurance-flex .top-insurance-info {
        margin: 0;
        padding: 0;
        width: calc( 61% - 56px );
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px 0;
        line-height: 1.0;
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h2 span:nth-of-type(2) {
        display: block;
        margin: 20px 0 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 45 );
    }
    #top-insurance > .top-insurance-flex .top-insurance-info h3 {
        margin: 0;
        padding: 0;
        font-size: 32px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 32 );
    }
    #top-insurance > .top-insurance-flex .top-insurance-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }

    #cta {
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }
    #cta > a {
        display: block;
        margin: 0 auto;
        padding: 0;
        width: 100%;
        max-width: 1000px;
    }
    #cta > a figure {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #cta > a figure img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }

    #top-partner {
        margin: 0 auto;
        padding: 112px max( 5%, calc( 50vw - 540px ) ) 160px;
        width: 100%;
    }
    #top-partner > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px 0;
        line-height: 1.0;
    }
    #top-partner > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #top-partner > h2 span:nth-of-type(2) {
        display: block;
        margin: 20px 0 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
        text-align: left;
    }
    #top-partner > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }
    #top-partner > .top-partner-box {
        margin: 32px auto 0;
        padding: 40px;
        background: #f7f7f7;
        border-radius: 8px;
    }
    #top-partner > p + .top-partner-box {
        margin-top: 49px;
    }
    #top-partner > .top-partner-box h3 {
        margin: 0;
        padding: 0 0 0 1.0em;
        font-size: 22px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 32 / 22 );
        border-left: 4px solid #00407f;
    }
    #top-partner > .top-partner-box .top-partner-grid {
        margin: 24px 0 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        gap: 32px 32px;
    }
    #top-partner > .top-partner-box .top-partner-grid .top-partner-logo {
        display:; block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 624 / 266;
        background: #fff;
        border-radius: 8px;
        over-flow: hidden;
    }
    #top-partner > .top-partner-box .top-partner-grid .top-partner-logo .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #top-partner > .top-partner-box .top-partner-grid .top-partner-logo .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

}
