@charset "utf-8";


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

    #page-mv {
        margin: 100px auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 2 / 1;
        background: #00407f;
    }
    #page-mv .mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #page-mv .mv-bg img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.2;
    }
    #page-mv .mv-box {
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        margin: 0;
        padding: 0;
        width: 90%;
    }
    #page-mv .mv-box h1 {
        margin: 0;
        padding: 0;
        width: 100%;
        color: #fff;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #page-mv .mv-box h1 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #page-mv .mv-box h1 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }

    .breadcrumbs {
        margin: 0 auto;
        padding: 2.0vw 0;
        width: 90%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0 2.0vw;
    }
    .breadcrumbs > :is(a,span) {
        font-size: 2.8vw;
        font-weight: 500;
        display: flex;
        align-items: center;
        gap: 0 2.0vw;
    }
    .breadcrumbs > span {
        color: #cecece;
    }
    .breadcrumbs > :is(a,span) + :is(a,span)::before {
        display: block;
        content: "";
        width: 1.6vw;
        height: 2.0vw;
        background: url(../images/icon-breadcrumbs-arrow.svg) no-repeat center / contain;
    }

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


    .page-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    .page-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        border-radius: 8px;
        box-shadow: 0 0 40px rgba( 0, 0, 0, 0.1 );
    }

    .bg-lightgray {
        background: #f7f7f7;
    }


    .page-sec-01 {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-contet: center;
        gap: 8.0vw 0;
    }
    .page-sec-01 .page-sec-01-pics {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .page-sec-01 .page-sec-01-pics .page-pic + .page-pic {
        margin-top: 2.0vw;
    }
    .page-sec-01 .page-sec-01-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .page-sec-01 .page-sec-01-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    .page-sec-01 .page-sec-01-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    .page-sec-01 .page-sec-01-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .page-sec-01 .page-sec-01-info h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 49 / 36 );
    }
    .page-sec-01 .page-sec-01-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }

    .page-sec-02 {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    .page-sec-02 > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    .page-sec-02 > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    .page-sec-02 > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .page-sec-02 > h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 49 / 36 );
    }
    .page-sec-02 > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }

    .page-sec-03 {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    .page-sec-03 .page-sec-03-table {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .page-sec-03 .page-sec-03-map {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .page-sec-03 .page-sec-03-map iframe {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 800 / 450;
        border: 0;
    }
    .page-sec-03 .page-sec-03-map .map-name {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 25 / 18 );
    }
    .page-sec-03 .page-sec-03-map .map-access {
        margin: 1.0em 0 0;
        padding: 0.8em;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 25 / 18 );
        border: 1px solid #ececec;
    }
    .page-sec-03 .page-sec-03-map .map-access + iframe {
        margin-top: 12.0vw;
    }
    .page-sec-03 .page-sec-03-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .page-sec-03 .page-sec-03-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    .page-sec-03 .page-sec-03-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    .page-sec-03 .page-sec-03-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .page-sec-03 .page-sec-03-table dl {
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        border-top: 1px solid #e5e5e5;
    }
    .page-sec-03 .page-sec-03-table dl dt {
        margin: 0;
        padding: 4.0vw 0 1.0vw;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
    }
    .page-sec-03 .page-sec-03-table dl dd {
        margin: 0;
        padding: 1.0vw 0 4.0vw;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        border-bottom: 1px solid #e5e5e5;
    }

    .recruit-benefit {
        margin: 0 auto;
        padding: 12.0vw 0 0;
        width: 100%;
    }
    .recruit-benefit .recruit-benefit-box {
        position: relative;
        margin: 0 auto;
        padding: 8.0vw 5%;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
        background: #00407f;
    }
    .recruit-benefit .recruit-benefit-box::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../images/recruit-benefit-bg.jpg) no-repeat center / cover;
        opacity: 0.06;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        z-index: 1;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        z-index: 1;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 8.0vw;
        font-weight: 700;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > p {
        margin: 1.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > .btn-contact {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
        margin: 8.0vw auto 0;
        padding: 0;
        width: 90%;
        height: auto;
        aspect-ratio: 520 / 112;
        font-size: 3.6vw;
        font-weight: 700;
        background: #fff;
        border-radius: 1.0vw;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > .btn-contact::before {
        display: block;
        content: "";
        width: 1.6em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-email-cyan.svg) no-repeat center / contain;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > .btn-contact::after {
        position: absolute;
        display: block;
        content: "";
        top: calc( 50% - 0.6em );
        right: 1.5em;
        width: 1.2em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-cyan.svg) no-repeat center / contain;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r > .recruit-benefit-list {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r > .recruit-benefit-list li {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 22 );
        list-style: none;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r > .recruit-benefit-list li::before {
        display: inline-block;
        content: "";
        margin: 0 0.5em 0 0;
        padding: 0;
        width: 1.5em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-check-white.svg) no-repeat center / contain;
        translate: 0 20%;
    }


    .page-grid-01 {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 1, 1fr );
        gap: 4.0vw 4.0vw;
    }
    .page-grid-01 .page-grid-01-item {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 568 / 247;
        background: #fff;
        box-shadow: 2px 5px 10px rgba( 0, 0, 0, 0.05 );
    }
    .page-grid-01 .page-grid-01-item::after {
        position: absolute;
        content: "";
        top: 50%;
        left: 0;
        width: 100%;
        height: 1px;
        background: #e5e5e5;
        z-index: 0;
    }
    .page-grid-01 .page-grid-01-item > .pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: calc( 100% * 168 / 568 );
        height: auto;
        aspect-ratio: 168 / 247;
        z-index: 1;
    }
    .page-grid-01 .page-grid-01-item > .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .page-grid-01 .page-grid-01-item > h3 {
        position: absolute;
        bottom: calc( 50% + 4.0vw );
        left: calc( 4.0vw + 100% * 168 / 568 );
        margin: 0;
        padding: 0;
        width: calc( 100% * ( 568 - 168 ) / 568 - 8.0vw );
        font-size: 4.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 32 / 26 );
    }
    .page-grid-01 .page-grid-01-item > p {
        position: absolute;
        top: calc( 50% + 4.0vw );
        left: calc( 4.0vw + 100% * 168 / 568 );
        margin: 0;
        padding: 0;
        width: calc( 100% * ( 568 - 168 ) / 568 - 8.0vw );
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 25 / 18 );
    }

    .page-grid-02 {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 2, 1fr );
        gap: 4.0vw 4.0vw;
    }
    .page-grid-02 .page-grid-02-item {
        margin: 0;
        padding: 4.0vw 0;
        width: 100%;
        background: #f7f7f7;
    }
    .page-grid-02 .page-grid-02-item > .icon {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 20.0vw;
    }
    .page-grid-02 .page-grid-02-item > .icon img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .page-grid-02 .page-grid-02-item > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        width: 100%;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 24 / 20 );
    }


    #recruit-contact {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        background: #007ab1;
    }
    #recruit-contact > .recruit-contact-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
    }
    #recruit-contact > .recruit-contact-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.4;
    }
    #recruit-contact > .recruit-contact-box {
        position: absolute;
        left: 50%;
        top: 50%;
        translate: -50% -50%;
        width: 90%;
        max-width: 1200px;
    }
    #recruit-contact > .recruit-contact-box h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.0vw 0;
        line-height: 1.0;
    }
    #recruit-contact > .recruit-contact-box h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: center;
    }
    #recruit-contact > .recruit-contact-box h2 span:nth-of-type(2) {
        display: block;
        margin: calc( 10 * min( 90vw, 1200px ) / 1200 ) 0 0;
        padding: 0;
        color: #fff;
        font-size: 8.0vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 55 / 45 );
    }
    #recruit-contact > .recruit-contact-box p {
        margin: 1.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
        line-height: calc( 31 / 18 );
    }
    #recruit-contact > .recruit-contact-box .btn-contact {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 560 / 112;
        font-size: 3.6vw;
        font-weight: 700;
        background: #fff;
        border-radius: 1.0vw;
    }
    #recruit-contact > .recruit-contact-box .btn-contact::before {
        display: block;
        content: "";
        width: 1.6em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-email-cyan.svg) no-repeat center / contain;
    }
    #recruit-contact > .recruit-contact-box .btn-contact::after {
        position: absolute;
        display: block;
        content: "";
        top: calc( 50% - 0.6em );
        right: 1.5em;
        width: 1.2em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-cyan.svg) no-repeat center / contain;
    }
    #recruit-contact > .recruit-contact-box .not-available {
        position: relative;
        display: grid;
        place-items: center;
        margin: 6.0vw auto 0;
        padding: 0;
        width: 90%;
        height: auto;
        aspect-ratio: 6 / 1;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        border: 1px solid #fff;
    }

    #page-main {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #page-main h1 {
        margin: 0;
        padding: 0;
        width: 100%;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
    }
    #page-main h2 {
        margin: 1.5em 0 0;
        padding: 0 0 0.5em;
        width: 100%;
        font-size: 4.4vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 36 / 24 );
    }
    #page-main h3 {
        margin: 1.0em 0 1.0em;
        padding: 1.5em 0 1.0em;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 36 / 22 );
        border-bottom: 1px solid #e5e5e5;
    }
    #page-main h3 + p {
        margin-top: 0;
    }
    #page-main h4 {
        margin: 0 0 0.5em;
        padding: 1.5em 0 0;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 36 / 18 );
    }
    #page-main blockquote {
        position: relative;
        margin: 6.0vw 0;
        padding: 24px 24px 24px 64px;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 26 / 16 );
        background: #edf3f7
    }
    #page-main blockquote::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 8.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-blockquote.svg) no-repeat center / contain;
    }
    #page-main ul {
        margin: 6.0vw 0 0 4.0vw;
        padding: 0;
    }
    #page-main h4 + ul {
        margin-top: 0;
    }
    #page-main ul li {
        position: relative;
        margin: 0.2em 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 26 / 16 );
    }
    #page-main ol {
        margin: 6.0vw 0;
        padding: 0;
        list-style: none;
        counter-reset: ws-count;
    }
    #page-main ol li {
        position: relative;
        margin: 0.3em 0;
        padding: 0 0 0 2.0em;
        list-style: none;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 26 / 16 );
    }
    #page-main ol li::before {
        position: absolute;
        counter-increment: ws-count;
        content: counter(ws-count) ".  ";
        top: 0.1em;
        right: calc( 100% - 1.0em );
        font-size: 1.2em;
        font-weight: 400;
        font-family: var(--font-calsans);
        text-align: right;
        line-height: 1.0;
    }
    #page-main .cat {
        margin: 4.0vw auto 0 0;
        padding: 0.5em 1.0em;
        width: max-content;
        color: #fff;
        font-size: 2.8vw;
        font-weight: 500;
        background: #0083d6;
    }
    #page-main img {
        display: block;
        margin: 6.0vw auto;
        padding: 0;
        height: auto;
        border-radius: 16px;
    }
    #page-main p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 26 / 16 );
    }
    #page-main p:first-child {
        margin-top: 0;
    }
    #page-main .blank-box {
        margin-top: 1.0em;
        margin-bottom: 1.0em;
        padding: 0.5em 1.0em;
        border: 1px solid #e5e5e5;
    }

    #page-greeting {
        margin: 12.0vw auto;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #page-greeting .greeting-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1574 / 2728;
        order: 2;
    }
    #page-greeting .greeting-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #page-greeting .greeting-info {
        margin: 0;
        padding: 0 5%;
        width: 100%;
        order: 1;
    }
    #page-greeting .greeting-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #page-greeting .greeting-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #page-greeting .greeting-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #page-greeting .greeting-info h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 5.2vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 49 / 36 );
    }
    #page-greeting .greeting-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }
    #page-greeting .greeting-info .signature1 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 88 / 30 );
    }
    #page-greeting .greeting-info .signature2 {
        margin: 0 0 0 3.0em;
        padding: 0;
        font-size: 5.2vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 88 / 25 );
        display: flex;
        align-items: center;
        gap: 0 8.0vw;
    }
    #page-greeting .greeting-info .signature2::after {
        content: "";
        width: 40.0vw;
        height: auto;
        aspect-ratio: 260 / 55;
        background: url(../images/ceo-signature.svg) no-repeat center / contain;
    }

    #page-philosophy {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #page-philosophy > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #page-philosophy > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #page-philosophy > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #page-philosophy > h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 49 / 36 );
    }
    #page-philosophy > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }
    #page-philosophy .seguro-is {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
    }
    #page-philosophy .seguro-is h3 {
        margin: 0;
        padding: 0.2em 0;
        width: 100%;
        color: #fff;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
        background: #00407f;
    }
    #page-philosophy .seguro-is .seguro-grid {
        margin: 0;
        padding: 4.0vw;
        display: grid;
        grid-template-columns: repeat( 1, 1fr );
        gap: 4.0vw;
        background: #fff;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item {
        margin: 0;
        padding: 6.0vw 0 8.0vw;
        background: #f7f7f7;
        border-radius: 2.0vw;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt1 {
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: center;
        line-height: 1.0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt1::before {
        display: grid;
        place-items: center;
        content: attr(data-letter);
        width: 10.0vw;
        height: 10.0vw;
        color: #fff;
        font-size: 8.0vw;
        background: #007ab1;
        border-radius: 100%;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt2 {
        margin: 0.5em 0 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        line-height: 1.0;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
        line-height: calc( 45 / 18 );
    }
    #page-philosophy .seguro-msg {
        margin: 2.0em 0 0;
        padding: 0;
        font-size: 5.2vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 35 / 26 );
    }
    #page-philosophy .seguro-msg + h2 {
        margin-top: 12.0vw;
    }
    #page-philosophy .seguro-principles {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        list-style: none;
    }
    #page-philosophy .seguro-principles li {
        position: relative;
        margin: 0;
        padding: 1.5em 0 1.5em 16.0vw;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 35 / 23 );
        list-style: none;
        border-bottom: 1px dashed #bfbfbf;
    }
    #page-philosophy .seguro-principles li::before {
        position: absolute;
        top: 0.8em;
        left: 0;
        display: block;
        content: attr(data-no);
        color: #007ab1;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        line-height: 1.0;
    }

    #b2x-top {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        display: grid;
        align-items: center;
        grid-template-columns: 1fr !important;
        gap: 8.0vw 0;
    }
    #b2x-top .icon {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #b2x-top .icon img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #b2x-top .icon.trademark::after {
        position: absolute;
        content: "R";
        display: grid;
        place-items: center;
        right: 0;
        bottom: 0;
        margin: 0;
        padding: 0;
        width: 3.6vw;
        height: 3.6vw;
        font-size: 2.0vw;
        line-height: 1.0;
        border: 1px solid #000;
        border-radius: 100%;
    }
    #b2x-top .b2x-info {
        margin: 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 38 / 18 );
    }

    .page-tab {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 90%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 2.0vw 2.0vw;
    }
    .page-tab .page-link {
        display: grid;
        place-items: center;
        width: 50.0vw;
        height: auto;
        aspect-ratio: 288 / 59;
        color: #00407f;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
        background: #fff;
        border: 1px solid #00407f;
        transition: color 0.3s ease-out, background 0.3s ease-out;
    }
    @media ( hover: hover ) {
        .page-tab .page-link:hover {
            opacity: 1.0;
            color: #fff;
            background: #00407f;
        }
    }

    .b2x-sec {
        margin: 12.0vw auto;
        padding: 0 5%;
        width: 100%;
    }
    .b2x-sec > .h2-b2x {
        margin: 0;
        padding: 0 0 0.8em;
        font-size: 5.6vw;
        font-weight: 700;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    .b2x-sec > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 31 / 18 );
    }
    .b2x-sec > .small {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 38 / 18 );
    }
    .b2x-sec > .b2x-box {
        margin: 8.0vw auto 0;
        padding: 0.8em 0;
        width: 100%;
        color: #00407f;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: center;
        border: 1px solid #00407f;
    }
    .b2x-sec .b2x-grid {
        margin: 16.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 1, 1fr );
        gap: 20.0vw 4.0vw;
    }
    .b2x-sec .b2x-grid .b2x-item {
        display: block;
        margin: 0;
        padding: 16px;
        width: 100%;
        background: #00407f;
    }
    .b2x-sec .b2x-grid .b2x-item .b2x-pic {
        margin: -16.0vw auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 336 / 189;
        background: #fff;
    }
    .b2x-sec .b2x-grid .b2x-item .b2x-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .b2x-sec .b2x-grid .b2x-item h3 {
        margin: 0.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 25 / 20 );
    }
    .b2x-sec .b2x-grid .b2x-item p {
        margin: 0.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 25 / 18 );

        display: none;
    }
    .b2x-sec .b2x-grid .b2x-item a {
        margin: 1.0em 0 0 auto;
        padding: 0;
        width: max-content;
        color: #fff;
        font-size: 3.2vw;
        font-weight: 700;
        text-align: right;
        line-height: 1.0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0 0.5em;
    }
    .b2x-sec .b2x-grid .b2x-item a::after {
        display: block;
        content: "";
        width: 1.5em;
        height: 1.5em;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
    }

    .b2x-last {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    .b2x-last .b2x-last-box {
        margin: 0 auto;
        padding: 4.0vw 4.0vw;
        width: 100%;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 4.0vw;
    }
    .b2x-last .b2x-last-box .b2x-last-flex {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 350 / 338;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.0vw 0;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 31 / 18 );
    }
    .b2x-last .b2x-last-box .b2x-last-links {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    .b2x-last .b2x-last-box .b2x-last-links > a {
        display: block;
        margin: 0;
        padding: 0;
        width: 80%;
        height: auto;
        aspect-ratio: 307 / 59;
        display: grid;
        place-items: center;
        color: #007ab1;
        font-size: 3.6vw;
        font-weight: 700;
        border: 1px solid #007ab1;
        border-radius: 4.0em;
    }

    .page-partner {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    .page-partner > h2 {
        margin: 0;
        padding: 0 0 0.5em;
        font-size: 5.2vw;
        font-weight: 600;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    .page-partner > .page-partner-box {
        margin: 2.0vw auto 0;
        padding: 4.0vw;
        width: 100%;
        background: #f7f7f7;
        border-radius: 1.0vw;
    }
    .page-partner > p + .page-partner-box {
        margin-top: 8.0vw;
    }
    .page-partner > .page-partner-box .page-partner-grid {
        margin: 4.0vw 0 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat( 2, 1fr );
        gap: 2.0vw 2.0vw;
    }
    .page-partner > .page-partner-box .page-partner-grid .page-partner-logo {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 624 / 266;
        background: #fff;
        border-radius: 1.0vw;
        overflow: hidden;
    }
    .page-partner > .page-partner-box .page-partner-grid .page-partner-logo .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    .page-partner > .page-partner-box .page-partner-grid .page-partner-logo .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #service-top {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #service-top > h2 {
        margin: 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
    }
    #service-top > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
        line-height: calc( 38 / 18 );
    }
    #service-top > p b {
        color: #00407F;
        font-weight: 700;
    }

    #service-reason {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #service-reason > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.0vw 0;
    }
    #service-reason > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #service-reason > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #service-reason > p {
        margin: 2.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
        line-height: calc( 38 / 18 );
    }
    #service-reason .reason-grid {
        margin: 8.0vw auto 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat( 1, 1fr );
        gap: 2.0vw 2.0vw;
    }
    #service-reason .reason-grid .reason-item {
        margin: 0;
        padding: 4.0vw;
        background: #fff;
    }
    #service-reason .reason-grid .reason-item .no {
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: center;
    }
    #service-reason .reason-grid .reason-item .pic {
        margin: 2.0vw 0 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 328 / 185;
    }
    #service-reason .reason-grid .reason-item .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
    }
    #service-reason .reason-grid .reason-item p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 27 / 22 );
    }

    #service-offer {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #service-offer > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.0vw 0;
    }
    #service-offer > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #service-offer > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #service-offer > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 38 / 18 );
    }
    #service-offer > .page-tab {
        margin-top: 12.0vw;
        width: 100%;
    }
    #service-offer > h3 {
        margin: 8.0vw 0 0;
        padding: 0.5em 0.8em;
        color: #fff;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
        background: #00407f;
    }
    #service-offer > h3 + .service-box {
        margin-top: 40px;
    }
    #service-offer > .service-box {
        margin: 4.0vw 0 0;
        padding: 4.0vw;
        width: 100%;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 2.0vw;
    }
    #service-offer > .service-box h4 {
        margin: 0;
        padding: 0 0 0.8em;
        width: 100%;
        color: #00407f;
        font-size: 4.8vw;
        font-weight: 500;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    #service-offer > .service-box h4 img {
        display: inline-block;
        margin: 0 0 0 1.0em;
        padding: 0;
        width: 2.0em;
        height: auto;
        aspect-ratio: 41 / 46;
    }
    #service-offer > .service-box .service-flex {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #service-offer > .service-box .service-flex .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
    }
    #service-offer > .service-box .service-flex .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
    }
    #service-offer > .service-box .service-flex p {
        margin: 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }

    #support-top {
        margin: 12.0vw auto 0;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #support-top > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.0vw 0;
    }
    #support-top > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #support-top > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #support-top > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 36 );
    }
    #support-top > .support-reason {
        margin: 4.0vw 0 0;
        padding: 4.0vw;
        width: 100%;
        background: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #support-top > h3 + .support-reason {
        margin-top: 8.0vw;
    }
    #support-top > .support-reason .support-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 846 / 822;
        order: 1;
    }
    #support-top > .support-reason .support-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
        box-shadow: 0 0 8.0vw  rgba( 0, 0, 0, 0.1 );
    }
    #support-top > .support-reason .support-info {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 2;
    }
    #support-top > .support-reason .support-info .no {
        margin: 0;
        padding: 0;
        color: #cecece;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #support-top > .support-reason .support-info h4 {
        margin: 0.5em 0 4.0vw;
        padding: 0 0 4.0vw;
        color: #00407f;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    #support-top > .support-reason .support-info p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 30 / 18 );
    }
    #support-top > .support-reason .support-info p b {
        color: #00407f;
        font-weight: 700;
    }

    #support-strength {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #support-strength > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.0vw 0;
    }
    #support-strength > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #support-strength > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #support-strength > .support-strength-box {
        position: relative;
        margin: 8.0vw 0 0;
        padding: 4.0vw;
        width: 100%;
        background: linear-gradient( 240deg, #00407f, #0072e5 );
        border-radius: 1.0vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #support-strength > h2 + .support-strength-box {
        margin-top: 12.0vw;
    }
    #support-strength > .support-strength-box .support-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 846 / 822;
    }
    #support-strength > .support-strength-box .support-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
        box-shadow: 0 0 40px rgba( 0, 0, 0, 0.1 );
    }
    #support-strength > .support-strength-box .support-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #support-strength > .support-strength-box .support-info .no {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #support-strength > .support-strength-box .support-info h3 {
        margin: 0.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: left;
    }
    #support-strength > .support-strength-box .support-info p {
        margin: 2.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 30 / 18 );
    }
    #support-strength > .strength-msg {
        margin: 2.0em 0 0;
        padding: 0;
        color: #00407f;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
    }
    #support-strength > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
        line-height: calc( 35 / 18 );
    }

    #support-faq {
        margin: 0 auto 16.0vw;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #support-faq > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    #support-faq > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 700;
    }
    #support-faq > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #support-faq > .faq-box {
        margin: 4.0vw 0 0;
        padding: 0 0 4.0vw;
        width: 100%;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 2.0vw;
        overflow: hidden;
    }
    #support-faq > .faq-box h3 {
        margin: 0;
        padding: 0.6em 0.8em;
        width: 100%;
        color: #fff;
        font-size: 4.8vw;
        font-wieght: 700;
        background: #00407f;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 16px;
    }
    #support-faq > .faq-box h3::before {
        display: grid;
        place-items: center;
        content: "Q";
        margin: 0;
        padding: 0;
        width: 8.0vw;
        height: 8.0vw;
        flex: 0 0 8.0vw;
        background: #fff;
        color: #00407f;
        font-size: 4.8vw;
        font-wieght: 600;
        font-family: var(--font-poppins);
        line-height: 1.0;
        border-radius: 100%;
    }
    #support-faq > .faq-box .faq-q {
        margin: 4.0vw auto 0;
        padding: 0;
        width: calc( 100% - 8.0vw );
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 28 / 18 );
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #support-faq > .faq-box .faq-q::before {
        content: "ご相談内容";
        margin: 0 auto;
        padding: 0;
        width: 40%;
        height: auto;
        aspect-ratio: 158 / 43;
        background: #ebebeb;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
        display: grid;
        place-items: center;
        border-radius: 4.0em;
    }
    #support-faq > .faq-box .faq-a {
        position: relative;
        margin: 8.0vw auto 0;
        padding: 12.0vw 4.0vw 4.0vw;
        width: calc( 100% - 8.0vw );
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 28 / 18 );
        background: #F2F4F7;
        border: 3px solid #00407f;
        border-radius: 1.0vw;
    }
    #support-faq > .faq-box .faq-a::before {
        position: absolute;
        top: 0;
        left: 0;
        content: "セグロの対応";
        margin: 0;
        padding: 0.5em 0;
        width: 100%;
        height: auto;
        background: #00407f;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 23 / 18 );
        display: grid;
        place-items: center;
    }

    #contact-top {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #contact-top > p {
        margin: 0 auto;
        padding: 0;
        font-size: 3.2vw;
        font-weight: 400;
        text-align: center;
        line-height: calc( 31 / 18 );
    }

    #contact-main {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    .contact-box {
        margin: 0 auto;
        padding: 6.0vw;
        width: 100%;
        background: #fff;
        display: grid;
        grid-template-columns: 1fr;
    }
    .contact-box > dt {
        margin: 0;
        padding: 0 0 2.0vw;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 500;
        line-height: calc( 22 / 16 );
    }
    .contact-box > dt.required::after {
        display: inline-block;
        content: "必須";
        margin-left: 1.5em;
        color: #00407F;
        font-size: 3.2vw;
    }
    .contact-box > dt.not-required::after {
        display: inline-block;
        content: "任意";
        margin-left: 1.5em;
        color: #b2b2b2;
        font-size: 3.2vw;
    }
    .contact-box > dd {
        position: relative;
        margin: 0;
        padding: 0 0 8.0vw 2.0vw;
        width: 100%;
        font-size: 16px;
        font-weight: 500;
        line-height: calc( 22 / 16 );
    }
    .contact-box > dd label {
        font-size: 16px;
    }
    .contact-box > dd.order-column {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1.0vw 0;
    }
    .contact-box > dd.two-columns {
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0 2.0vw;
    }
    .contact-box > dd.two-columns > div {
        margin: 0;
        padding: 0;
        width: 50%;
        line-height: 2.0;
    }
    .contact-box > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea) {
        margin: 0;
        padding: 0.6em 1.0em;
        width: 100%;
        font-size: 16px;
        font-weight: 400;
        font-family: inherit;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 4px;
    }
    .contact-box > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea)::placeholder {
        color: #8e8e8e;
    }
    .contact-box > dd input[type="submit"] {
        display: block;
        margin: 0 auto;
        padding: 0;
        width: 80%;
        height: auto;
        aspect-ratio: 307 / 59;
        color: #007ab1;
        font-size: 4.0vw;
        font-weight: 700;
        font-family: inherit;
        background: #fff;
        border: 1px solid #007ab1;
        border-radius: 4.0em;
        cursor: pointer;
        transition: opacity 0.3s ease-out;
    }
    @media ( hover: hover ) {
        .contact-box > dd input[type="submit"]:hover {
            opacity: 0.5;
        }
    }

    #contact-tel {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #contact-tel .tel-box {
        margin: 0 auto;
        padding: 4.0vw;
        width: 90%;
        border: 1px solid #00407f;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    #contact-tel .tel-box .tel-box-l {
        margin: 0;
        padding: 0 0 4.0vw;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 22 / 18 );
    }
    #contact-tel .tel-box .tel-box-r {
        margin: 0;
        padding: 4.0vw 0 0;
        width: 100%;
        border-top: 1px solid #00407f;
    }
    #contact-tel .tel-box .tel-box-r a {
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 500;
        font-family: var(--font-montserrat);
        line-height: 1.0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
    }
    #contact-tel .tel-box .tel-box-r a::before {
        display: block;
        content: "";
        width: 0.8em;
        height: 0.8em;
        background: url(../images/icon-tel-black.svg) no-repeat center / contain;
    }
    #contact-tel .tel-box .tel-box-r p {
        margin: 0.8em 0 0;
        padding: 0;
        font-size: 3.2vw;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
    }

}


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

    #page-mv {
        margin: 100px auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 356;
        background: #00407f;
    }
    #page-mv .mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #page-mv .mv-bg img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.2;
    }
    #page-mv .mv-box {
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        margin: 0;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #page-mv .mv-box h1 {
        margin: 0;
        padding: 0;
        width: 100%;
        color: #fff;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #page-mv .mv-box h1 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #page-mv .mv-box h1 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }

    .breadcrumbs {
        margin: 0 auto;
        padding: 16px 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        align-items: center;
        gap: 0 16px;
    }
    .breadcrumbs > :is(a,span) {
        font-size: 12px;
        font-weight: 500;
        display: flex;
        align-items: center;
        gap: 0 16px;
    }
    .breadcrumbs > span {
        color: #cecece;
    }
    .breadcrumbs > :is(a,span) + :is(a,span)::before {
        display: block;
        content: "";
        width: 6px;
        height: 9px;
        background: url(../images/icon-breadcrumbs-arrow.svg) no-repeat center / contain;
    }

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


    .page-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    .page-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        border-radius: 8px;
        box-shadow: 0 0 40px rgba( 0, 0, 0, 0.1 );
    }

    .bg-lightgray {
        background: #f7f7f7;
    }


    .page-sec-01 {
        margin: 0 auto;
        padding: 100px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-contet: space-between;
    }
    .page-sec-01 .page-sec-01-pics {
        margin: 0;
        padding: 0;
        width: 35%;
    }
    .page-sec-01 .page-sec-01-pics .page-pic + .page-pic {
        margin-top: 16px;
    }
    .page-sec-01 .page-sec-01-info {
        margin: 0;
        padding: 0;
        width: calc( 65% - 80px );
    }
    .page-sec-01 .page-sec-01-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    .page-sec-01 .page-sec-01-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    .page-sec-01 .page-sec-01-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .page-sec-01 .page-sec-01-info h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 36px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 49 / 36 );
    }
    .page-sec-01 .page-sec-01-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }

    .page-sec-02 {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
    }
    .page-sec-02 > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    .page-sec-02 > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    .page-sec-02 > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .page-sec-02 > h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 36px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 49 / 36 );
    }
    .page-sec-02 > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }

    .page-sec-03 {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    .page-sec-03 .page-sec-03-table {
        margin: 0;
        padding: 0;
        width: 55%;
    }
    .page-sec-03 .page-sec-03-map {
        margin: 0;
        padding: 0;
        width: 55%;
    }
    .page-sec-03 .page-sec-03-map iframe {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 800 / 450;
        border: 0;
    }
    .page-sec-03 .page-sec-03-map .map-name {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 25 / 18 );
    }
    .page-sec-03 .page-sec-03-map .map-access {
        margin: 1.0em 0 0;
        padding: 0.8em;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 25 / 18 );
        border: 1px solid #ececec;
    }
    .page-sec-03 .page-sec-03-map .map-access + iframe {
        margin-top: 56px;
    }
    .page-sec-03 .page-sec-03-info {
        margin: 0;
        padding: 0;
        width: calc( 45% - 80px );
        width: 400px;
    }
    .page-sec-03 .page-sec-03-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    .page-sec-03 .page-sec-03-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    .page-sec-03 .page-sec-03-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .page-sec-03 .page-sec-03-table {
        margin: 0;
        padding: 0;
        width: calc( 100% - 400px );
    }
    .page-sec-03 .page-sec-03-table dl {
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: 190px 1fr;
        gap: 0;
    }
    .page-sec-03 .page-sec-03-table dl dt {
        margin: 0;
        padding: 32px 0;
        width: 100%;
        font-size: 18px;
        font-weight: 500;
        text-align: left;
        border-bottom: 1px solid #e5e5e5;
    }
    .page-sec-03 .page-sec-03-table dl dt:first-of-type,
    .page-sec-03 .page-sec-03-table dl dd:first-of-type {
        border-top: 1px solid #e5e5e5;
    }
    .page-sec-03 .page-sec-03-table dl dd {
        margin: 0;
        padding: 32px 0;
        width: 100%;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
        border-bottom: 1px solid #e5e5e5;
    }

    .recruit-benefit {
        margin: 0 auto;
        padding: 80px 0 0;
        width: 100%;
    }
    .recruit-benefit .recruit-benefit-box {
        position: relative;
        margin: 0 auto;
        padding: 64px max( 5%, calc( 40vw - 580px ) );
        width: 90%;
        max-width: 1572px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #00407f;
    }
    .recruit-benefit .recruit-benefit-box::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../images/recruit-benefit-bg.jpg) no-repeat center / cover;
        opacity: 0.06;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l {
        position: relative;
        margin: 0;
        padding: 0;
        width: 60%;
        z-index: 1;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r {
        position: relative;
        margin: 0;
        padding: 0;
        width: 40%;
        border-left: 4px solid #fff;
        z-index: 1;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 45px;
        font-weight: 700;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > .btn-contact {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
        margin: calc( 20 * min( 90vw, 1200px ) / 1200 ) auto 0 0;
        padding: 0;
        width: calc( 520 * min( 90vw, 1200px ) / 1200 );
        max-width: 90%;
        height: auto;
        aspect-ratio: 520 / 112;
        font-size: calc( 20 * min( 90vw, 1200px ) / 1200 );
        font-weight: 700;
        background: #fff;
        border-radius: calc( 8 * min( 90vw, 1200px ) / 1200 );
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > .btn-contact::before {
        display: block;
        content: "";
        width: 1.6em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-email-cyan.svg) no-repeat center / contain;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-l > .btn-contact::after {
        position: absolute;
        display: block;
        content: "";
        top: calc( 50% - 0.6em );
        right: 2.0em;
        width: 1.2em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-cyan.svg) no-repeat center / contain;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r > .recruit-benefit-list {
        margin: 0;
        padding: 0 0 0 32px;
        list-style: none;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r > .recruit-benefit-list li {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 22px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 22 );
        list-style: none;
    }
    .recruit-benefit .recruit-benefit-box .recruit-benefit-r > .recruit-benefit-list li::before {
        display: inline-block;
        content: "";
        margin: 0 0.5em 0 0;
        padding: 0;
        width: 1.5em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-check-white.svg) no-repeat center / contain;
        translate: 0 20%;
    }


    .page-grid-01 {
        margin: 50px auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 2, 1fr );
        gap: 24px 24px;
    }
    .page-grid-01 .page-grid-01-item {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 568 / 247;
        background: #fff;
        box-shadow: 2px 5px 10px rgba( 0, 0, 0, 0.05 );
    }
    .page-grid-01 .page-grid-01-item::after {
        position: absolute;
        content: "";
        top: 50%;
        left: 0;
        width: 100%;
        height: 1px;
        background: #e5e5e5;
        z-index: 0;
    }
    .page-grid-01 .page-grid-01-item > .pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: calc( 100% * 168 / 568 );
        height: auto;
        aspect-ratio: 168 / 247;
        z-index: 1;
    }
    .page-grid-01 .page-grid-01-item > .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .page-grid-01 .page-grid-01-item > h3 {
        position: absolute;
        bottom: calc( 50% + 24 * min( 90vw, 1160px ) / 1160 );
        left: calc( 24 * min( 90vw, 1160px ) / 1160 + 100% * 168 / 568 );
        margin: 0;
        padding: 0;
        width: calc( 100% * ( 568 - 168 ) / 568 - 48px );
        font-size: calc( 26 * min( 90vw, 1160px ) / 1160 );
        font-weight: 700;
        text-align: left;
        line-height: calc( 32 / 26 );
    }
    .page-grid-01 .page-grid-01-item > p {
        position: absolute;
        top: calc( 50% + 24 * min( 90vw, 1160px ) / 1160 );
        left: calc( 24 * min( 90vw, 1160px ) / 1160 + 100% * 168 / 568 );
        margin: 0;
        padding: 0;
        width: calc( 100% * ( 568 - 168 ) / 568 - 48px );
        font-size: calc( 16 * min( 90vw, 1160px ) / 1160 );
        font-weight: 400;
        text-align: left;
        line-height: calc( 25 / 18 );
    }

    .page-grid-02 {
        margin: 50px auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 4, 1fr );
        gap: 24px 24px;
    }
    .page-grid-02 .page-grid-02-item {
        margin: 0;
        padding: 24px 0;
        width: 100%;
        background: #f7f7f7;
    }
    .page-grid-02 .page-grid-02-item > .icon {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 112px;
    }
    .page-grid-02 .page-grid-02-item > .icon img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .page-grid-02 .page-grid-02-item > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        width: 100%;
        font-size: 20px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 24 / 20 );
    }


    #recruit-contact {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        background: #007ab1;
    }
    #recruit-contact > .recruit-contact-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #recruit-contact > .recruit-contact-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        opacity: 0.4;
    }
    #recruit-contact > .recruit-contact-box {
        position: absolute;
        left: 50%;
        top: 50%;
        translate: -50% -50%;
        width: 90%;
        max-width: 1200px;
    }
    #recruit-contact > .recruit-contact-box h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: calc( 8 * min( 90vw, 1200px ) / 1200 ) 0;
        line-height: 1.0;
    }
    #recruit-contact > .recruit-contact-box h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: calc( 24 * min( 90vw, 1200px ) / 1200 );
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: center;
    }
    #recruit-contact > .recruit-contact-box h2 span:nth-of-type(2) {
        display: block;
        margin: calc( 10 * min( 90vw, 1200px ) / 1200 ) 0 0;
        padding: 0;
        color: #fff;
        font-size: calc( 45 * min( 90vw, 1200px ) / 1200 );
        font-weight: 700;
        text-align: center;
        line-height: calc( 55 / 45 );
    }
    #recruit-contact > .recruit-contact-box p {
        margin: 1.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: calc( 18 * min( 90vw, 1200px ) / 1200 );
        font-weight: 400;
        text-align: center;
        line-height: calc( 31 / 18 );
    }
    #recruit-contact > .recruit-contact-box .btn-contact {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
        margin: calc( 40 * min( 90vw, 1200px ) / 1200 ) auto 0;
        padding: 0;
        width: calc( 520 * min( 90vw, 1200px ) / 1200 );
        max-width: 90%;
        height: auto;
        aspect-ratio: 560 / 112;
        font-size: calc( 20 * min( 90vw, 1200px ) / 1200 );
        font-weight: 700;
        background: #fff;
        border-radius: calc( 8 * min( 90vw, 1200px ) / 1200 );
    }
    #recruit-contact > .recruit-contact-box .btn-contact::before {
        display: block;
        content: "";
        width: 1.6em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-email-cyan.svg) no-repeat center / contain;
    }
    #recruit-contact > .recruit-contact-box .btn-contact::after {
        position: absolute;
        display: block;
        content: "";
        top: calc( 50% - 0.6em );
        right: 1.5em;
        width: 1.2em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-cyan.svg) no-repeat center / contain;
    }
    #recruit-contact > .recruit-contact-box .not-available {
        position: relative;
        display: grid;
        place-items: center;
        margin: calc( 40 * min( 90vw, 1200px ) / 1200 ) auto 0;
        padding: 0;
        width: 50%;
        height: auto;
        aspect-ratio: 6 / 1;
        color: #fff;
        font-size: calc( 20 * min( 90vw, 1200px ) / 1200 );
        font-weight: 700;
        border: 1px solid #fff;
    }

    #page-main {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 540px ) );
        width: 100%;
    }
    #page-main {
        margin: 0 auto;
        padding: 80px max( 5.0vw, calc( min( 100.0vw, 1440px ) * 0.5 - 540px ) );
        width: 90%;
        max-width: 1440px;
        background: #fff;
    }
    #page-main h1 {
        margin: 0;
        padding: 0;
        width: 100%;
        font-size: 30px;
        font-weight: 700;
        text-align: left;
    }
    #page-main h2 {
        margin: 1.5em 0 0;
        padding: 0 0 0.5em;
        width: 100%;
        font-size: 20px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 36 / 24 );
    }
    #page-main h3 {
        margin: 1.0em 0 1.0em;
        padding: 1.5em 0 1.0em;
        font-size: 18px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 36 / 22 );
        border-bottom: 1px solid #e5e5e5;
    }
    #page-main h3 + p {
        margin-top: 0;
    }
    #page-main h4 {
        margin: 0 0 0.5em;
        padding: 1.5em 0 0;
        font-size: 15px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 36 / 18 );
    }
    #page-main blockquote {
        position: relative;
        margin: 40px 0;
        padding: 24px 24px 24px 64px;
        width: 100%;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 26 / 16 );
        background: #edf3f7
    }
    #page-main blockquote::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 40px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-blockquote.svg) no-repeat center / contain;
    }
    #page-main ul {
        margin: 40px 0 0 20px;
        padding: 0;
    }
    #page-main h4 + ul {
        margin-top: 0;
    }
    #page-main ul li {
        position: relative;
        margin: 0.2em 0;
        padding: 0;
        font-size: 16px;
        font-weight: 400;
        line-height: calc( 26 / 16 );
    }
    #page-main ol {
        margin: 40px 0;
        padding: 0;
        list-style: none;
        counter-reset: ws-count;
    }
    #page-main ol li {
        position: relative;
        margin: 0.3em 0;
        padding: 0 0 0 2.0em;
        list-style: none;
        font-size: 16px;
        font-weight: 400;
        line-height: calc( 26 / 16 );
    }
    #page-main ol li::before {
        position: absolute;
        counter-increment: ws-count;
        content: counter(ws-count) ".  ";
        top: 0.1em;
        right: calc( 100% - 1.0em );
        font-size: 1.2em;
        font-weight: 400;
        font-family: var(--font-calsans);
        text-align: right;
        line-height: 1.0;
    }
    #page-main .cat {
        margin: 20px auto 0 0;
        padding: 0.5em 1.0em;
        width: max-content;
        color: #fff;
        font-size: 13px;
        font-weight: 500;
        background: #0083d6;
    }
    #page-main img {
        display: block;
        margin: 40px auto;
        padding: 0;
        height: auto;
        border-radius: 16px;
    }
    #page-main p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 16px;
        font-weight: 400;
        line-height: calc( 26 / 16 );
    }
    #page-main p:first-child {
        margin-top: 0;
    }
    #page-main .blank-box {
        margin-top: 1.0em;
        margin-bottom: 1.0em;
        padding: 0.5em 1.0em;
        border: 1px solid #e5e5e5;
    }

    #page-greeting {
        margin: 100px auto;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0;
    }
    #page-greeting .greeting-pic {
        margin: 0;
        padding: 0;
        width: 40%;
        height: auto;
        aspect-ratio: 1574 / 2728;
    }
    #page-greeting .greeting-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #page-greeting .greeting-info {
        margin: 0;
        padding: 0 max( 5%, calc( 60vw - 1160px * 0.6 ) ) 0 80px;
        width: 60%;
    }
    #page-greeting .greeting-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    #page-greeting .greeting-info h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #page-greeting .greeting-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #page-greeting .greeting-info h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 36px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 49 / 36 );
    }
    #page-greeting .greeting-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }
    #page-greeting .greeting-info .signature1 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 30px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 88 / 30 );
    }
    #page-greeting .greeting-info .signature2 {
        margin: 0 0 0 3.0em;
        padding: 0;
        font-size: 25px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 88 / 25 );
        display: flex;
        align-items: center;
        gap: 0 60px;
    }
    #page-greeting .greeting-info .signature2::after {
        content: "";
        width: 260px;
        height: 55px;
        background: url(../images/ceo-signature.svg) no-repeat center / contain;
    }

    #page-philosophy {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
    }
    #page-philosophy > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px 0;
    }
    #page-philosophy > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #page-philosophy > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #page-philosophy > h3 {
        margin: 0.6em 0 0;
        padding: 0;
        font-size: 36px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 49 / 36 );
    }
    #page-philosophy > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 45 / 18 );
    }
    #page-philosophy .seguro-is {
        margin: 50px auto 0;
        padding: 0;
        width: 100%;
    }
    #page-philosophy .seguro-is h3 {
        margin: 0;
        padding: 0.2em 0;
        width: 100%;
        color: #fff;
        font-size: 32px;
        font-weight: 700;
        text-align: center;
        background: #00407f;
    }
    #page-philosophy .seguro-is .seguro-grid {
        margin: 0;
        padding: 40px;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        gap: 24px;
        background: #fff;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item {
        margin: 0;
        padding: 32px 0 54px;
        background: #f7f7f7;
        border-radius: 16px;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt1 {
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 32px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: center;
        line-height: 1.0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt1::before {
        display: grid;
        place-items: center;
        content: attr(data-letter);
        width: 48px;
        height: 48px;
        color: #fff;
        font-size: 41px;
        background: #007ab1;
        border-radius: 100%;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt2 {
        margin: 0.5em 0 0;
        padding: 0;
        font-size: 22px;
        font-weight: 700;
        text-align: center;
        line-height: 1.0;
    }
    #page-philosophy .seguro-is .seguro-grid .seguro-item .txt3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
        line-height: calc( 45 / 18 );
    }
    #page-philosophy .seguro-msg {
        margin: 2.0em 0 0;
        padding: 0;
        font-size: 26px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 35 / 26 );
    }
    #page-philosophy .seguro-msg + h2 {
        margin-top: 73px;
    }
    #page-philosophy .seguro-principles {
        margin: 50px auto 0;
        padding: 0;
        width: 100%;
        max-width: 1000px;
        list-style: none;
    }
    #page-philosophy .seguro-principles li {
        position: relative;
        margin: 0;
        padding: 1.5em 0 1.5em 100px;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 35 / 23 );
        list-style: none;
        border-bottom: 1px dashed #bfbfbf;
    }
    #page-philosophy .seguro-principles li::before {
        position: absolute;
        top: 0.8em;
        left: 0;
        display: block;
        content: attr(data-no);
        color: #007ab1;
        font-size: 40px;
        font-weight: 600;
        font-family: var(--font-poppins);
        line-height: 1.0;
    }

    #b2x-top {
        margin: 0 auto;
        padding: 100px max( 5%, calc( 50vw - 600px ) );
        width: 100%;
        display: grid;
        align-items: center;
        grid-template-columns: 1fr 1fr;
        gap: 0 48px;
    }
    #b2x-top .icon {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #b2x-top .icon img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #b2x-top .icon.trademark::after {
        position: absolute;
        content: "R";
        display: grid;
        place-items: center;
        right: 0;
        bottom: 0;
        margin: 0;
        padding: 0;
        width: 16px;
        height: 16px;
        font-size: 10px;
        border: 1px solid #000;
        border-radius: 100%;
    }
    #b2x-top .b2x-info {
        margin: 0;
        padding: 0;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 38 / 18 );
    }

    .page-tab {
        margin: 40px auto 0;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 16px 16px;
    }
    .page-tab .page-link {
        display: grid;
        place-items: center;
        width: 288px;
        height: auto;
        aspect-ratio: 288 / 59;
        color: #00407f;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
        background: #fff;
        border: 1px solid #00407f;
        transition: color 0.3s ease-out, background 0.3s ease-out;
    }
    @media ( hover: hover ) {
        .page-tab .page-link:hover {
            opacity: 1.0;
            color: #fff;
            background: #00407f;
        }
    }

    .b2x-sec {
        margin: 80px auto;
        padding: 0 max( 5%, calc( 50vw - 600px ) );
        width: 100%;
    }
    .b2x-sec > .h2-b2x {
        margin: 0;
        padding: 0 0 0.8em;
        font-size: 28px;
        font-weight: 700;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    .b2x-sec > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 31 / 18 );
    }
    .b2x-sec > .small {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 38 / 18 );
    }
    .b2x-sec > .b2x-box {
        margin: 50px auto 0;
        padding: 0.8em 0;
        width: 100%;
        color: #00407f;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        border: 1px solid #00407f;
    }
    .b2x-sec .b2x-grid {
        margin: 120px auto -136px;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        /* gap: 136px 48px; */
        column-gap: 48px;
    }
    .b2x-sec .b2x-grid .b2x-item {
        display: block;
         margin: 0 0 136px;
        padding: 16px;
        width: 100%;
        background: #00407f;
        grid-row: span 4;
        display: grid;
        grid-template-rows: subgrid;
        gap: 0;
    }
    .b2x-sec .b2x-grid .b2x-item .b2x-pic {
        margin: -96px auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 336 / 189;
        background: #fff;
    }
    .b2x-sec .b2x-grid .b2x-item .b2x-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .b2x-sec .b2x-grid .b2x-item h3 {
        margin: 0.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 20px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 25 / 20 );
    }
    .b2x-sec .b2x-grid .b2x-item p {
        margin: 0.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 25 / 18 );
    }
    .b2x-sec .b2x-grid .b2x-item a {
        margin: 0.8em 0 0 auto;
        padding: 0;
        width: max-content;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        text-align: right;
        line-height: 1.0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0 0.5em;
    }
    .b2x-sec .b2x-grid .b2x-item a::after {
        display: block;
        content: "";
        width: 1.5em;
        height: 1.5em;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
    }

    .b2x-last {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 600px ) );
        width: 100%;
    }
    .b2x-last .b2x-last-box {
        margin: 0 auto;
        padding: 56px 60px;
        width: 100%;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 32px;
    }
    .b2x-last .b2x-last-box .b2x-last-flex {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-pic {
        margin: 0;
        padding: 0;
        width: 35%;
        height: auto;
        aspect-ratio: 350 / 338;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info {
        margin: 0;
        padding: 0;
        width: calc( 65% - 56px );
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-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);
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    .b2x-last .b2x-last-box .b2x-last-flex .b2x-info p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 31 / 18 );
    }
    .b2x-last .b2x-last-box .b2x-last-links {
        margin: 64px 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 49px;
    }
    .b2x-last .b2x-last-box .b2x-last-links > a {
        display: block;
        margin: 0;
        padding: 0;
        width: 307px;
        height: auto;
        aspect-ratio: 307 / 59;
        display: grid;
        place-items: center;
        color: #007ab1;
        font-size: 18px;
        font-weight: 700;
        border: 1px solid #007ab1;
        border-radius: 4.0em;
    }

    .page-partner {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 540px ) );
        width: 100%;
    }
    .page-partner > h2 {
        margin: 0;
        padding: 0 0 0.5em;
        font-size: 28px;
        font-weight: 700;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    .page-partner > .page-partner-box {
        margin: 20px auto 0;
        padding: 40px;
        background: #f7f7f7;
        border-radius: 8px;
    }
    .page-partner > p + .page-partner-box {
        margin-top: 49px;
    }
    .page-partner > .page-partner-box .page-partner-grid {
        margin: 24px 0 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        gap: 32px 32px;
    }
    .page-partner > .page-partner-box .page-partner-grid .page-partner-logo {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 624 / 266;
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
    }
    .page-partner > .page-partner-box .page-partner-grid .page-partner-logo .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    .page-partner > .page-partner-box .page-partner-grid .page-partner-logo .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #service-top {
        margin: 0 auto;
        padding: 100px max( 5%, calc( 50vw - 600px ) );
        width: 100%;
    }
    #service-top > h2 {
        margin: 0;
        padding: 0;
        font-size: 36px;
        font-weight: 700;
        text-align: center;
    }
    #service-top > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
        line-height: calc( 38 / 18 );
    }
    #service-top > p b {
        color: #00407F;
        font-weight: 700;
    }

    #service-reason {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
    }
    #service-reason > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    #service-reason > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #service-reason > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #service-reason > p {
        margin: 2.0em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
        line-height: calc( 38 / 18 );
    }
    #service-reason .reason-grid {
        margin: 50px auto 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        gap: 16px 16px;
    }
    #service-reason .reason-grid .reason-item {
        margin: 0;
        padding: 24px;
        background: #fff;
    }
    #service-reason .reason-grid .reason-item .no {
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: center;
    }
    #service-reason .reason-grid .reason-item .pic {
        margin: 16px 0 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 328 / 185;
    }
    #service-reason .reason-grid .reason-item .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
    }
    #service-reason .reason-grid .reason-item p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 22px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 27 / 22 );
    }

    #service-offer {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
    }
    #service-offer > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    #service-offer > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #service-offer > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #service-offer > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 38 / 18 );
    }
    #service-offer > .page-tab {
        margin-top: 80px;
        width: 100%;
    }
    #service-offer > h3 {
        margin: 64px 0 0;
        padding: 0.5em 0.8em;
        color: #fff;
        font-size: 24px;
        font-weight: 700;
        text-align: left;
        background: #00407f;
    }
    #service-offer > h3 + .service-box {
        margin-top: 40px;
    }
    #service-offer > .service-box {
        margin: 24px 0 0;
        padding: 40px;
        width: 100%;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 16px;
    }
    #service-offer > .service-box h4 {
        margin: 0;
        padding: 0 0 0.8em;
        width: 100%;
        color: #00407f;
        font-size: 24px;
        font-weight: 500;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    #service-offer > .service-box h4 img {
        display: inline-block;
        margin: 0 0 0 1.0em;
        padding: 0;
        width: 41px;
        height: auto;
        aspect-ratio: 41 / 46;
    }
    #service-offer > .service-box .service-flex {
        margin: 40px 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #service-offer > .service-box .service-flex .pic {
        margin: 0;
        padding: 0;
        width: 40%;
        height: auto;
        aspect-ratio: 4 / 3;
    }
    #service-offer > .service-box .service-flex .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
    }
    #service-offer > .service-box .service-flex p {
        margin: 0;
        padding: 0;
        width: calc( 60% - 40px );
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 31 / 18 );
    }

    #support-top {
        margin: 80px auto 0;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
    }
    #support-top > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    #support-top > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #support-top > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #support-top > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 36px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 55 / 36 );
    }
    #support-top > .support-reason {
        margin: 24px 0 0;
        padding: 40px;
        width: 100%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #support-top > h3 + .support-reason {
        margin-top: 60px;
    }
    #support-top > .support-reason .support-pic {
        margin: 0;
        padding: 0;
        width: 40%;
        height: auto;
        aspect-ratio: 846 / 822;
    }
    #support-top > .support-reason .support-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 );
    }
    #support-top > .support-reason .support-info {
        margin: 0;
        padding: 0;
        width: 60%;
    }
    #support-top > .support-reason .support-info .no {
        margin: 0;
        padding: 0 0 0 40px;
        color: #cecece;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #support-top > .support-reason .support-info h4 {
        margin: 0.5em 0 32px;
        padding: 0 0 32px 40px;
        color: #00407f;
        font-size: 30px;
        font-weight: 700;
        text-align: left;
        border-bottom: 1px solid #ececec;
    }
    #support-top > .support-reason .support-info p {
        margin: 1.0em 0 0;
        padding: 0 0 0 40px;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 30 / 18 );
    }
    #support-top > .support-reason .support-info p b {
        color: #00407f;
        font-weight: 700;
    }
    #support-top > .support-reason .support-info.reverse .no {
        padding: 0 40px 0 0;
    }
    #support-top > .support-reason .support-info.reverse h4 {
        padding: 0 40px 32px 0;
    }
    #support-top > .support-reason .support-info.reverse p {
        padding: 0 40px 0 0;
    }

    #support-strength {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
    }
    #support-strength > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    #support-strength > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #support-strength > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #support-strength > .support-strength-box {
        position: relative;
        margin: 88px 0 0;
        padding: 40px;
        width: calc( 100% - 40px );
        background: linear-gradient( 240deg, #00407f, #0072e5 );
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #support-strength > .support-strength-box.right {
        margin-left: 40px;
        padding-left: 38%;
    }
    #support-strength > .support-strength-box.left {
        margin-right: 40px;
        padding-right: 38%;
    }
    #support-strength > h2 + .support-strength-box {
        margin-top: 110px;
    }
    #support-strength > .support-strength-box .support-pic {
        position: absolute;
        margin: 0;
        padding: 0;
        width: 38%;
        height: auto;
        aspect-ratio: 846 / 822;
    }
    #support-strength > .support-strength-box.right .support-pic {
        top: -40px;
        left: -40px;
        right: auto;
    }
    #support-strength > .support-strength-box.left .support-pic {
        top: -40px;
        right: -40px;
        left: auto;
    }
    #support-strength > .support-strength-box .support-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 );
    }
    #support-strength > .support-strength-box .support-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #support-strength > .support-strength-box .support-info .no {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
        text-align: left;
    }
    #support-strength > .support-strength-box .support-info h3 {
        margin: 0.5em 0 0;
        padding: 0;
        color: #fff;
        font-size: 30px;
        font-weight: 700;
        text-align: left;
    }
    #support-strength > .support-strength-box .support-info p {
        margin: 2.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 30 / 18 );
    }
    #support-strength > .strength-msg {
        margin: 2.0em 0 0;
        padding: 0;
        color: #00407f;
        font-size: 36px;
        font-weight: 700;
        text-align: center;
    }
    #support-strength > p {
        margin: 1.5em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
        line-height: calc( 35 / 18 );
    }

    #support-faq {
        margin: 0 auto 160px;
        padding: 80px max( 5%, calc( 50vw - 580px ) );
        width: 100%;
    }
    #support-faq > h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px 0;
    }
    #support-faq > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 45px;
        font-weight: 700;
    }
    #support-faq > h2 span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #007ab1;
        font-size: 24px;
        font-weight: 600;
        font-family: var(--font-poppins);
    }
    #support-faq > .faq-box {
        margin: 24px 0 0;
        padding: 0 0 24px;
        width: 100%;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 16px;
        overflow: hidden;
    }
    #support-faq > .faq-box h3 {
        margin: 0;
        padding: 0.6em 0.8em;
        width: 100%;
        color: #fff;
        font-size: 26px;
        font-wieght: 700;
        background: #00407f;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 16px;
    }
    #support-faq > .faq-box h3::before {
        display: grid;
        place-items: center;
        content: "Q";
        margin: 0;
        padding: 0;
        width: 38px;
        height: 38px;
        background: #fff;
        color: #00407f;
        font-size: 24px;
        font-wieght: 600;
        font-family: var(--font-poppins);
        line-height: 1.0;
        border-radius: 100%;
    }
    #support-faq > .faq-box .faq-q {
        margin: 30px auto 0;
        padding: 0;
        width: calc( 100% - 48px );
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 28 / 18 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 32px;
    }
    #support-faq > .faq-box .faq-q::before {
        content: "ご相談内容";
        margin: 0;
        padding: 0;
        width: 158px;
        height: auto;
        aspect-ratio: 158 / 43;
        flex: 0 0 158px;
        background: #ebebeb;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
        display: grid;
        place-items: center;
        border-radius: 4.0em;
    }
    #support-faq > .faq-box .faq-a {
        position: relative;
        margin: 30px auto 0;
        padding: 24px 24px 24px 176px;
        width: calc( 100% - 48px );
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 28 / 18 );
        background: #F2F4F7;
        border: 3px solid #00407f;
        border-radius: 8px;
    }
    #support-faq > .faq-box .faq-a::before {
        position: absolute;
        top: 0;
        left: 0;
        content: "セグロの\a対応";
        margin: 0;
        padding: 0;
        width: 144px;
        height: 100%;
        background: #00407f;
        color: #fff;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 23 / 18 );
        white-space: pre;
        display: grid;
        place-items: center;
    }

    #contact-top {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
    }
    #contact-top > p {
        margin: 0 auto;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
        line-height: calc( 31 / 18 );
    }

    #contact-main {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
    }
    .contact-box {
        margin: 0 auto;
        padding: 80px;
        width: 90%;
        max-width: 1080px;
        background: #fff;
        display: grid;
        grid-template-columns: 320px 1fr;
    }
    .contact-box > dt {
        margin: 0;
        padding: 0 0 32px;
        font-size: 16px;
        font-weight: 500;
        line-height: calc( 22 / 16 );
    }
    .contact-box > dt.required::after {
        display: inline-block;
        content: "必須";
        margin-left: 1.5em;
        color: #00407F;
        font-size: 14px;
    }
    .contact-box > dt.not-required::after {
        display: inline-block;
        content: "任意";
        margin-left: 1.5em;
        color: #b2b2b2;
        font-size: 14px;
    }
    .contact-box > dd {
        position: relative;
        margin: 0;
        padding: 0 0 32px;
        font-size: 16px;
        font-weight: 500;
        line-height: calc( 22 / 16 );
    }
    .contact-box > dd.order-column {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4px 0;
    }
    .contact-box > dd.two-columns {
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0 16px;
    }
    .contact-box > dd.two-columns > div {
        margin: 0;
        padding: 0;
        width: 50%;
        line-height: 2.0;
    }
    .contact-box > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea) {
        margin: 0;
        padding: 0.6em 1.0em;
        width: 100%;
        font-size: 16px;
        font-weight: 400;
        font-family: inherit;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 4px;
    }
    .contact-box > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea)::placeholder {
        color: #8e8e8e;
    }
    .contact-box > dd input[type="submit"] {
        display: block;
        margin: 0;
        padding: 0;
        width: 307px;
        height: auto;
        aspect-ratio: 307 / 59;
        color: #007ab1;
        font-size: 18px;
        font-weight: 700;
        font-family: inherit;
        background: #fff;
        border: 1px solid #007ab1;
        border-radius: 4.0em;
        cursor: pointer;
        transition: opacity 0.3s ease-out;
    }
    @media ( hover: hover ) {
        .contact-box > dd input[type="submit"]:hover {
            opacity: 0.5;
        }
    }

    #contact-tel {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
    }
    #contact-tel .tel-box {
        margin: 0 auto;
        padding: 40px;
        width: 90%;
        max-width: 800px;
        border: 1px solid #00407f;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #contact-tel .tel-box .tel-box-l {
        margin: 0;
        padding: 0;
        width: 48%;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 22 / 18 );
    }
    #contact-tel .tel-box .tel-box-r {
        margin: 0;
        padding: 0;
        width: 52%;
        border-left: 1px solid #00407f;
    }
    #contact-tel .tel-box .tel-box-r a {
        margin: 0;
        padding: 0;
        font-size: 36px;
        font-weight: 500;
        font-family: var(--font-montserrat);
        line-height: 1.0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
    }
    #contact-tel .tel-box .tel-box-r a::before {
        display: block;
        content: "";
        width: 0.8em;
        height: 0.8em;
        background: url(../images/icon-tel-black.svg) no-repeat center / contain;
    }
    #contact-tel .tel-box .tel-box-r p {
        margin: 0.8em 0 0;
        padding: 0;
        font-size: 15px;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
    }

}


.wpcf7-list-item {
    display: block;
}
.wpcf7-list-item + .wpcf7-list-item {
    margin-top: 12px;
}

.wpcf7-spinner {
    position: absolute;
    top: 100%;
}
