/* 当院について */
.p-aboutIntro {
    display: flex;
    margin-bottom: 7rem;
    @media (768px > width) {
        flex-direction: column;
        gap: 2.5rem;
        margin-bottom: 4.125rem;
    }
    .p-aboutIntro__img {
        width: calc(650 / 1400 * 100vw);
        height: 100%;
        margin-left: calc(50% - 50vw);
        @media (768px > width) {
            width: 100%;
        }
    }
    .p-aboutIntro__detail {
        padding: 0 0 0 calc(100/1400 * 100vw);
        @media (768px > width) {
            /* margin-bottom: 1.875rem; */
            padding: 0;
        }
        .p-aboutIntro__title {
            margin-bottom: 1.25rem;
            font-size: 2rem;
            font-weight: 600;
            color: var(--color-main);
            @media (768px > width) {
                margin-bottom: 1.75rem;
                font-size: 1.5rem;
            }
        }
        & .c-button {
            margin-top: 1.75rem;
            @media (768px > width) {
                margin: 1.25rem auto 0;
            }
        }
        > p {
            line-height: 1.875;
            color: var(--color-bk);
            @media (768px > width) {
                font-size: .9375rem;
            }
            &:not(:last-of-type) {
                margin-bottom: 1.75rem;
            }
        }
    }
}
.p-aboutButton {
    display: flex;
    justify-content: center;
    gap: 3.5rem;
    margin-bottom: 7.625rem;
    @media (768px > width) {
        flex-direction: column;
        align-items: center;
        gap: 1.25rem;
        margin-bottom: 5.625rem;
    }
}
.p-aboutOverview {
    padding: 0 0 5.625rem;
    @media (768px > width) {
        padding: 0 0 5.625rem;
    }
}
.p-aboutOverview__item {
    display: flex;
    border-bottom: 2px solid var(--color-border03);
    &:first-of-type {
        border-top: 2px solid var(--color-border03);
    }
    & .p-aboutOverview__name {
        text-align: center;
        align-content: center;
        width: 250px;
        padding: 1.125rem 0;
        color: var(--color-main);
        background: var(--color-bg04);
        @media (768px > width) {
            width: 110px;
            font-size: .9375rem;
        }
    }
    & .p-aboutOverview__content {
        width: calc(100% - 250px);
        margin: 0;
        padding: 1.125rem 1.875rem;
        @media (768px > width) {
            width: calc(100% - 110px);
            padding: 1rem 1.25rem;
            font-size: .9375rem;
        }
        > span {
            font-size: .875rem;
        }
    }
}
.p-aboutRequest {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 6.5875rem 0 10rem;
    background: var(--color-bg02);
    @media (768px > width) {
        padding: 3.75rem 0 5.625rem;
    }
    & .c-pageTitle {
        p {
            border-bottom: 2px solid var(--color-wh);
        }
    }
}
.p-aboutRequest__list {
    margin: 0 3.125rem;
    @media (768px > width) {
        margin: 0;
    }
    & .p-aboutRequest__item {
        display: flex;
        align-items: center;
        &:not(:last-of-type) {
            margin-bottom: 3.125rem;
        }
        @media (768px > width) {
            flex-direction: column;
            align-items: center;
        }
        > img {
            @media (768px > width) {
                margin-bottom: 1.875rem;
            } 
        }
        & .p-aboutRequest__title {
            margin-bottom: .5rem;
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--color-main);
            @media (768px > width) {
                font-size: 1.375rem;
            } 
        }
        & .p-aboutRequest__text {
            line-height: calc(30/16);
            font-weight: 400;
            @media (768px > width) {
                font-size: .9375rem;
            } 
        }
    }
}

/* 初めての方へ */
.p-beginner {
    padding: 0 0 7.25rem;
    @media (768px > width) {
        padding: 0 0 5.625rem;
    }
    /* .c-table {
        & tr {
            & .head.col {
                width: 168px;
                padding: .75rem .375rem .75rem .8125rem;m;
            }
            td {
                padding: .75rem .375rem;
                font-size: 1.25rem;
            }
        }
    } */
    & .p-beginner__inner {
        padding-top: 6rem;
        @media (768px > width) {
            padding-top: 5.625rem;
        }
    }
    & .p-beginnerIntro {
        & .p-beginnerIntro__title {
            margin-bottom: 1.5rem;
            font-size: 1.25rem;
            font-weight: 500;
            color: var(--color-main);
            span {
                font-size: 1.375rem;
                font-weight: 700;
            }
        }
    }
    & .p-beginnerSupport {
        display: flex;
        gap: 3.75rem;
        margin-bottom: 6.25rem;
        padding: 2rem 3.75rem;
        background: var(--color-bg02);
        border-radius: .625rem;
        @media (768px > width) {
            flex-direction: column;
            gap: 0;
            margin-bottom: 3.75rem;
            padding: 2.8125rem 2rem;
        }
        > img {
            height: 100%;
            @media (768px > width) {
                width: 70%;
                max-width: 320px;
                margin: 0 auto .375rem;
            }
        }
        & .p-beginnerSupport__title {
            margin-bottom: 1.25rem;
            padding-bottom: .875rem;
            font-size: 1.125rem;
            border-bottom: 1px solid var(--color-border04);
            color: var(--color-main);
            @media (768px > width) {
                font-size: .9375rem;
            } 
        }
        & .p-beginnerSupport__list {
            padding-left: 1rem;

            line-height: calc(30/16);
            & .p-beginnerSupport__item {
                text-indent: -1.375rem;
                @media (768px > width) {
                    font-size: .9375rem;
                }
                > span {
                    &:first-of-type {
                        border-radius: 50%;
                        display: inline-flex;
                        width: .5625rem;
                        height: .5625rem;
                        margin-right: .75rem;
                        background: var(--color-main02);
                    }
                }
                &::marker {
                    line-height: 1;
                    font-size: 1.25rem;
                    color: var(--color-main02);
                }
                .c-ud--yellow {
                    background: linear-gradient(to bottom, var(--color-bg02) 0%, var(--color-bg02) 69.9%, var(--color-feature-yellow) 70%, var(--color-feature-yellow) 100%);
                }
            }
        }
    }
    & .p-beginnerReserve {
        display: flex;
        align-items: flex-start;
        gap: 5.75rem;
        margin: 3.875rem 0;
        @media (960px > width) {
            flex-direction: column;
            align-items: center;
        }
        @media (768px > width) {
            gap: 2.5rem;
        } 
        > img {
            width: 100%;
            max-width: 468px;
        }
        & .p-beginnerReserve__button {
            margin-top: 2.125rem;
            @media (768px > width) {
                display: none;
                margin-top: 0;
            }
            &.--sp {
                display: none;
                @media (768px > width) {
                    display: flex;
                }
                & .cta {
                    margin-bottom: 1.25rem;
                }
            }
        }
    }
    & .p-beginnerFlow__list {
        width: 80%;
        margin: 0 auto 5rem;
        @media (768px > width) {
            width: 100%;
            margin: 0 auto 5.75rem;
        } 
        & .p-beginnerFlow__item {
            margin: 2em 0;
            position: relative;
            &:last-of-type {
                .stepline {
                    display: none;
                }
            }
            & .p-beginnerFlow__title {
                display: inline-flex;
                align-items: center;
                h3 {
                    padding-left: 1rem;
                    font-size: 1.25rem;
                    color: var(--color-main);
                    @media (768px > width) {
                        font-size: 1.125rem;
                    }
                }
                > img {
                    @media (768px > width) {
                        width: 64px;
                    } 
                }
            }
            & .p-beginnerFlow__text {
                margin-top: -1rem;
                padding-left: 6.25rem;
                line-height: calc(30/16);
                @media (768px > width) {
                    padding-left: 5.125rem;
                    line-height: calc(28/15);
                }
            }
            & .stepline {
                width: 3px;
                height: 90%;
                background: #EF7F42;
                position: absolute;
                top: 85px;
                left: 43px;
                z-index: -1;
                @media (768px > width) {
                    top: 63px;
                    left: 32px;
                }
            }
            &:first-of-type {
                & .stepline {
                    background: linear-gradient(to bottom, var(--color-step01) 0%, var(--color-step02) 100%);
                }
            }
            &:nth-of-type(2) {
                & .stepline {
                    background: linear-gradient(to bottom, var(--color-step02) 0%, var(--color-step03) 100%);
                }
            }
            &:nth-of-type(3) {
                & .stepline {
                    background: linear-gradient(to bottom, var(--color-step03) 0%, var(--color-step04) 100%);
                }
            }
        }
    }
    & .p-beginnerBelong {
        position: relative;
        text-align: center;
        width: 100%;
        max-width: 822px;
        margin: 0 auto;
        padding: 0 0 1.25rem;
        border: 1px solid var(--color-main);
        border-radius: 7px;
        @media (768px > width) {
            padding: 0 0 7.25rem;
        }
        &::after {
            position: absolute;
            content: "";
            bottom: 0;
            right: 1.875rem;
            display: block;
            width: 122px;
            height: 105px;
            background: url(../images/beginner-img03.png), top center / cover no-repeat;
            @media (768px > width) {
               right: unset;
               left: 50%;
               transform: translateX(-50%);
            }
        }
        & .p-beginnerBelong__list {
            text-align: left;
            margin-top: -.5rem;
            padding: 0 8.625rem;
            list-style: inside;
            @media (1024px > width) {
                padding: 0 6.5rem;
            } 
            @media (768px > width) {
                margin-top: -2.5rem;
                padding: 0 1.375rem;
            }
            & .p-beginnerBelong__item {
                margin-bottom: .25rem;
                padding-left: 1rem;
                text-indent: -1.375rem;
                font-size: 1.125rem;
                @media (768px > width) {
                    font-size: .9375rem;
                }
                &::marker {
                    color: var(--color-main);
                }
            }
            li {
                &:last-of-type {
                    padding-top: .25rem;
                    &::marker {
                        color: transparent;
                    }
                }
            }
        }
        & .p-beginnerBelong__title {
            transform: translateY(-1.625rem);
            display: inline-block;
            padding: .25rem .5rem;
            font-size: 1.625rem;
            background: var(--color-wh);
            color: var(--color-main);
            @media (768px > width) {
                transform: translateY(-3.75rem);
                font-size: 1.5rem;
            }
        }
    }
}

/* 当院の特徴 */
.p-features {
    padding: 0 0 10rem;
    @media (768px > width) {
        padding: 0 0 5.625rem;
    }
    .p-featuresLink {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0 4rem;
        margin: 5.875rem 0 6.125rem;
        padding: 0 3.625rem;
        @media (768px > width) {
            grid-template-columns: repeat(1, 1fr);
            gap: 0 2rem;
            margin-bottom: 5.625rem;
            padding: 0 1.125rem;
        }
        & .p-featuresLink__item {
            position: relative;
            border-bottom: 2px solid var(--color-border02);
            &::after {
                position: absolute;
                content: "";
                bottom: -2px;
                left: 0;
                width: calc(36/284 * 100%);
                height: 2px;
                transition: .3s ease;
                background: linear-gradient(to right, var(--color-main03) 0%, var(--color-main) 100%);
            }
            &:hover {
                &::after {
                    width: 100%;
                }
                & .p-featuresLink__link {
                    &::before {
                        width: 28px;
                        height: 28px;
                        background: var(--color-main);
                    }
                    &::after {
                        background: url(../images/arrow-bottom-hover.png), top center / contain no-repeat;
                    }
                }
            }
            & .p-featuresLink__link {
                position: relative;
                display: flex;
                align-items: center;
                gap: 1rem;
                padding: 1.5rem 0;
                font-size: 1.125rem;
                font-weight: 600;
                transition: .3s ease;
                color: var(--color-bk);
                @media (768px > width) {
                    padding: 1.25rem 0;
                }
                &::before {
                    position: absolute;
                    content: "";
                    top: 50%;
                    right: 0;
                    transform: translateY(-50%);
                    width: 28px;
                    height: 28px;
                    border-radius: 50%;
                    background: transparent;
                    transition: .3s ease;
                }
                &::after {
                    position: absolute;
                    content: "";
                    top: 51%;
                    right: 7px;
                    transform: translateY(-50%);
                    width: 14.5px;
                    height: 7px;
                    background: url(../images/arrow-bottom-navy.png), top center / contain no-repeat;
                }
            }
        }
    }
}
.p-feature__list {
    margin-bottom: 5.625rem;
    @media (768px > width) {
        margin-bottom: 5.625rem;
    }
    & .p-feature__item {
        padding: 3.5rem 5.625rem;
        border-radius: 1.875rem;
        background: var(--color-bg02);
        &:not(:last-of-type) {
            margin-bottom: 3.75rem;
        }
        &:nth-of-type(3) {
            .p-featureIntro {
                &:last-of-type {
                    margin-bottom: 2.125rem;
                    @media (768px > width) {
                        margin-bottom: 1.875rem;
                    }
                }
            }
        }
        &:nth-of-type(4) {
            .p-feature__img {
                @media (768px > width) {
                    margin-bottom: 0;
                }
            }
        }
        @media (1024px > width) {
            padding: 2.8125rem 1.5rem 4.5rem;
        }
        @media (768px > width) {
            padding: 2.8125rem 1.5rem 3rem;
        }
        .c-link {
            width: fit-content;
            margin-left: auto;
        }
        & .p-feature__number {
            text-align: center;
            margin-bottom: 1.5rem;
            line-height: 1;
            font-size: 3.375rem;
            font-weight: 700;
            font-family: var(--font-num);
            color: var(--color-main);
            @media (768px > width) {
                margin-bottom: .625rem;
                font-size: 3rem;
            }
            span {
                display: block;
                font-size: .625rem;
                font-weight: 500;
                font-family: var(--font-main);
                @media (768px > width) {
                    font-size: .5625rem;
                }
            }
        }
        & .p-feature__title {
            text-align: center;
            margin-bottom: 3.375rem;
            font-size: 1.875rem;
            font-weight: 600;
            color: var(--color-main);
            @media (768px > width) {
                margin-bottom: 1.875rem;
                font-size: 1.375rem;
            }
        }
        & .p-feature__text {
            margin-bottom: 2.25rem;
            line-height: calc(30/16);
            @media (768px > width) {
                margin-bottom: 1.875rem;
                font-size: .9375rem;
            }
        }
        & .p-feature__img {
            margin-bottom: 2.75rem;
            @media (768px > width) {
                width: 100%;
            }
            img {
                width: 100%;
            }
        }
        & .p-featureCheck {
            &.--hasBorder {
                padding-bottom: 2.625rem;
                margin-bottom: 2.625rem;
                border-bottom: 3px solid var(--color-wh);
                @media (768px > width) {
                    padding-bottom: 1.875rem;
                    margin-bottom: 1.875rem;
                }
            }
            & .p-featureCheck__item {
                &:not(:last-of-type) {
                    margin-bottom: 1rem;
                    @media (768px > width) {
                        margin-bottom: 1.25rem;
                    }
                }
                & .p-featureCheck__title {
                    margin-bottom: .375rem;
                    font-size: 1.125rem;
                    font-weight: 600;
                    color: var(--color-main);
                    img {
                        margin: 0 .625rem .125rem 0;
                        width: 1.125rem;
                        height: 1.125rem;
                        vertical-align: middle;
                    }
                }
                & .p-featureCheck__text {
                    @media (768px > width) {
                        font-size: .9375rem;
                    }
                }
            }
            &.--row {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: .375rem 2.5rem;
                @media (768px > width) {
                    grid-template-columns: repeat(1, 1fr);
                    gap: .375rem 0;
                }
            }
        }
        & .c-link {
            justify-content: right;
        }
    }
    & .p-featureIntro {
        &:not(:last-of-type) {
            margin-bottom: 2.125rem;
            @media (768px > width) {
                margin-bottom: 1.875rem;
            }
        }
        p {
            line-height: calc(30/16);
            @media (768px > width) {
                line-height: calc(28/15);
            }
        }
        &.--hasIllust {
            display: flex;
            justify-content: space-between;
            gap: 2rem;
            @media (768px > width) {
                flex-direction: column;
            }
            & .p-featureIntro__detail {
                width: 100%;
                max-width: 457px;
                @media (768px > width) {
                    margin-bottom: 1.875rem;
                }
            }
            > img {
                padding-right: 2.5rem;
                @media (1024px > width) {
                    height: 100%;
                    padding-right: 0;
                }
            }
        }
        &.--hasBorder {
            padding-bottom: 2.625rem;
            margin-bottom: 2.625rem;
            border-bottom: 3px solid var(--color-wh);
            @media (768px > width) {
                padding-bottom: 1.875rem;
                margin-bottom: 1.875rem;
            }
        }
        & .p-featureIntro__list {
            list-style: inside;
            padding: 1.25rem 0;
            line-height: calc(30/16);
            &.yellow {
                list-style: inside;
                & .p-featureIntro__item {
                    span {
                        width: fit-content;
                        font-weight: 600;
                        background: linear-gradient(transparent 65%, var(--color-feature-yellow) 35%);
                    }
    
                }
            }
            & .p-featureIntro__item {
                padding-left: 1rem;
                text-indent: -1rem;
                .c-ud--yellow {
                    background: linear-gradient(to bottom, var(--color-bg02) 0%, var(--color-bg02) 69.9%, var(--color-feature-yellow) 70%, var(--color-feature-yellow) 100%);
                }
            }
        }
        & .p-featureIntro__title {
            margin-bottom: .75rem;
            font-size: 1.375rem;
            font-weight: 600;
            color: var(--color-main);
            @media (768px > width) {
                margin-bottom: .5rem;
                font-size: 1.25rem;
            }
        }
        & .p-featureIntro__text {
            line-height: 1.875;
            font-size: 1rem;
            font-weight: 500;
            color: var(--color-bk);
            @media (768px > width) {
                font-size: .9375rem;
            }
        }
    }
}
.p-feature__button {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    @media (1024px > width) {
        grid-template-columns: 1fr;
        place-items: center;
    }
    @media (768px > width) {
        grid-template-columns: repeat(1, 1fr);
        gap: 1.25rem;
    }
}
.p-equipment {
    padding: 0 0 7.5rem;
    @media (768px > width) {
        padding:  0 0 5.625rem;
    }
    & .p-equipment__text {
        margin-bottom: 5rem;
        @media (768px > width) {
            margin-bottom: 5.625rem;
        }
    }
    & .p-equipment__title {
        margin-bottom: 4.5rem;
        @media (768px > width) {
            margin-bottom: 2.25rem;
        }
    }
    & .p-equipmentMedical {
        margin-bottom: 7rem;
        @media (768px > width) {
            margin-bottom: 6.5rem;
        }
        + .p-equipmentGuide {
            margin-bottom: 7.5rem;
        }
        & .p-equipmentMedical__list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2.625rem 6.25rem;
            @media (768px > width) {
                grid-template-columns: 1fr;
            }
            & .p-equipmentMedical__item {
                img {
                    width: 100%;
                }
                & .p-equipmentMedical__title {
                    margin: 1.5rem 0 1rem;
                    padding-bottom: 1rem;
                    font-size: 1.375rem;
                    border-bottom: 1px solid transparent;
                    border-image: linear-gradient(to right, var(--color-main03), var(--color-main)) 1;
                    border-image-slice: 1;
                    @media (768px > width) {
                        font-size: 1.25rem;
                    }
                }
                & .p-equipmentMedical__text {
                    line-height: calc(28/16);
                }
            }
        }
    }
    & .c-button--wh {
        margin: 7.625rem auto 0;
        @media (768px > width) {
            margin: 5.625rem auto 0;
        }
    }
    .p-equipmentGuide {
        & .p-equipmentGuide__list {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 3.25rem 3.875rem;
            @media (768px > width) {
                grid-template-columns: 1fr;
            }
            & .p-equipmentGuide__item {
                text-align: center;
            }
            & .p-equipmentGuide__title {
                text-align: center;
                margin-top: .9375rem;
                font-size: 1.125rem;
            }
        }
    }
}
.p-health__inner {
    & .p-aboutIntro {
        @media (768px > width) {
            margin-bottom: 8.125rem;
        }
    }
    & .p-departmentsCta {
        position: relative;
        margin-bottom: 5rem;
        padding: 5.625rem 0 4.625rem;
        @media (768px > width) {
            margin-bottom: 3.75rem;
            padding: 4.625rem 0;
        }
        > p {
            position: absolute;
            top: -64px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            align-items: center;
            justify-content: center;
            width: 128px;
            height: 128px;
            border-radius: 50%;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--color-wh);
            background: linear-gradient(to right, #C7EAFF 0%, #41ABE8 100%);
            @media (768px > width) {
                top: -59px;
                width: 118px;
                height: 118px;
                font-size: 1.25rem;
            }
        }
        & .p-departmentsCta__title {
            text-align: center;
            margin-bottom: 3.75rem;
            line-height: 1;
            font-size: 2rem;
            color: var(--color-main);
            @media (768px > width) {
                margin-bottom: 1.875rem;
                font-size: 1.5rem;
            }
            span {
                font-size: 1rem;
                @media (768px > width) {
                    font-size: .875rem;
                }
            }
        }
        & .p-departmentsCta__text {
            h4 {
                margin-bottom: 1.25rem;
                font-size: 1.25rem;
                line-height: calc(30/20);
                @media (768px > width) {
                    font-size: 1rem;
                }
            }
        }
        /* &.spring {
            background: #fff8f1;
            > p {
                background: linear-gradient(to right, #fff8c7 0%, #e8aa41 100%);
            }
            & .p-departmentsCta__title {
                color: #E8630A;
            }
        } */
    }
}
.p-health-check {
    & .p-health__table {
        padding: 0 3.125rem 1.625rem;
        @media (768px > width) {
            overflow-x: scroll;
            margin-bottom: 5rem;
            padding: 0 0 1rem;
        }
        .c-table {
            @media (768px > width) {
                /* min-width: 460px; */
            }
        }
        tr {
            border-bottom: 2px solid var(--color-border03);
            &:first-of-type {
                border-top: none;
            }
            &:has(th) {
                border-bottom: none;
            }
            th {
                font-size: 1rem;
                background:var(--color-bg04);
                color: var(--color-main);
                @media (768px > width) {
                    font-size: .9375rem;
                }
                &:first-of-type {
                    width: 240px;
                    text-align: center;
                    font-weight: 600;
                    @media (768px > width) {
                        min-width: 130px;
                    }
                }
                &:last-of-type {
                    width: 175px;
                    @media (768px > width) {
                        min-width: 140px;
                    }
                }
            }
            td {
                text-align: center;
                font-size: .875rem;
                color: var(--color-bk);
                @media (768px > width) {
                    font-size: .8125rem;
                }
                &:first-of-type {
                    font-weight: 600;
                    @media (768px > width) {
                        font-size: .9375rem;
                    }
                }
                &:nth-of-type(2) {
                    text-align: left;
                    @media (768px > width) {
                        min-width: 310px;
                    }
                }
                b {
                    color: var(--color-main02);
                }
                ul {
                    margin-bottom: .75rem;
                    line-height: calc(30/16);
                    li {
                        font-size: 1rem;
                        @media (768px > width) {
                            font-size: .9375rem;
                        }
                    }
                }
            }
        }
    }
    & .p-health__cta {
        @media (768px > width) {
            width: 300px;
            margin: 0 auto;
        }
    }
    & .p-health__button {
        display: flex;
        justify-content: center;
        text-align: center;
        padding: 3.125rem 0 8rem;
        @media (768px > width) {
            padding: 3.75rem 0;
        }
    }
}
.p-departmentsCta {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 4.625rem 0;
    background: var(--color-bg05);
    @media (768px > width) {
        padding: 3.375rem 0 4rem;
    }
    & .p-departmentsCta__inner {
        & .p-departmentsCta__title {
            margin-bottom: 1.25rem;
            font-size: 1.5rem;
            color: var(--color-main);
            @media (768px > width) {
                text-align: center;
                margin-bottom: 2rem;
            }
        }
        & .p-departmentsCta__content {
            display: flex;
            justify-content: space-between;
            gap: 1rem;
            @media (768px > width) {
                flex-direction: column-reverse;
                gap: 1.875rem;
            }
            & .p-departmentsCta__text {
                margin-bottom: .75rem;
                line-height: calc(30/16);
                font-weight: 500;
                @media (768px > width) {
                    font-size: .9375rem;
                }
                span {
                    font-weight: 700;
                    color: var(--color-sub);
                }
            }
            & .c-button {
                @media (768px > width) {
                    width: 100%;
                    margin-bottom: 1rem;
                    padding: 1.1875rem 0;
                }
            }
        }
    }
    & .c-cta__button {
        width: 380px;
        @media (768px > width) {
            width: 100%;
        }
        &.tel {
            color: var(--color-sub);
            border: 2px solid var(--color-sub);
            @media (768px > width) {
                line-height: 1.1;
                padding: .25rem 0;
            }
            &::before {
                left: 9%;
                background: url(../images/icon-tel-orange.png), top center / contain no-repeat;
            }
            &::after {
                content: none;
            }
            & .arrow {
                position: absolute;
                content: "";
                top: 50%;
                right: 1.25rem;
                transform: translateX(-50%);
                &::before,
                &::after {
                    content: ""; 
                    width: 8px; 
                    height: 2px; 
                    display: inline-block; 
                    border-radius: 2px; 
                    background: var(--color-sub);
                    position: absolute; 
                    right: -2px; 
                }
                &::before {
                    top: calc(50% - 3px);
                    transform: rotate(50deg);
                }
                &::after {
                    bottom: calc(50% - 4px);
                    transform: rotate(-50deg);
                }
                > span {
                    position: relative;
                    &::before {
                        position: absolute;
                        content: "";
                        top: 50%;
                        right: 20px;
                        transform: translateY(-50%);
                        width: 0;
                        height: 2px;
                        background: transparent;
                        transition: .3s ease;
                    }
                }
            }
            &:hover {
                opacity: .75;
                & .arrow {
                    span {
                        &::before {
                            right: 0;
                            width: 20px;
                            background: var(--color-sub);
                        }
                    }
                }
            }
        }
    }
}
/* スタッフ紹介 */
.p-staff {
    & .p-staff__content {
        display: flex;
        gap: 6rem;
        margin-bottom: 4.125rem;
        @media (768px > width) {
            flex-direction: column;
            gap: 1.25rem;
            margin-bottom: 2.5rem;
        }
    }

    & .p-staff__detail {
        width: 45vw;
        max-width: 550px;
        @media (768px > width) {
            width: 100%;
        }
        & .p-staff__text {
            margin-bottom: 2.5rem;
            line-height: calc(30/16);
        }
    }
    & .p-staff__content {
        > img {
            width: 45vw;
            max-width: 500px;
            height: 100%;
            @media (768px > width) {
                width: 100%;
            }
        }

    }
    & .p-staffContent {
        padding: 1.875rem 0 7.5rem;
        @media (768px > width) {
            padding: 1.875rem 0 5.5rem;
        }
        & .p-staffContent__list {
            position: relative;
            display: none;
            list-style: inside;
            padding-bottom: 3.125rem;
            &.is-active {
                display: block; /* または grid/flex など、レイアウトに合わせた表示形式 */
            }
            &::after {
                position: absolute;
                content: "";
                bottom: 0;
                left: -2.375rem;
                width: calc(100% + 4.75rem);
                height: 2px;
                background: var(--color-bg06);
            }
            & .p-staffContent__item {
                position: relative;
                padding-left: 1rem;
                text-indent: -1rem;
                @media (768px > width) {
                    /* padding-left: .9375rem; */
                    text-indent: -1.375rem;
                }
                &:not(:last-of-type) {
                    margin-bottom: .25rem;
                }
                &::marker {
                    color: var(--color-main);
                }
            }
        }
    }
    .p-staffTab {
        position: relative;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        justify-content: center;
        max-width: 690px;
        margin: 0 auto ;
        padding: .625rem .9375rem;
        border-radius: .625rem;
        background: var(--color-bg06);
        &::before {
            position: absolute;
            content: "";
            top: 50%;
            left: calc(-1.375rem + -183px);
            transform: translateY(-50%);
            width: calc(183/1100 * 100vw);
            max-width: 183px;
            height: 2px;
            background: var(--color-bg06);
            @media (768px > width) {
                width: 183px;
                left: -188px;
                z-index: -1;
            }
        }
        &::after {
            position: absolute;
            content: "";
            top: 50%;
            right: calc(-1.375rem + -183px);
            transform: translateY(-50%);
            width: calc(183/1100 * 100vw);
            max-width: 183px;
            height: 2px;
            background: var(--color-bg06);
            @media (768px > width) {
                width: 183px;
                right: -188px;
            }
        }
        @media (768px > width) {
            padding: .625rem .75rem;
        }
        & .p-staffTab__item {
            text-align: center;
            padding: .75rem 1.25rem;
            border-radius: .625rem;
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--color-main);
            cursor: pointer;
            @media (768px > width) {
                padding: .625rem .75rem;
                font-size: .875rem;
            }
            &.is-active {
                color: var(--color-wh);
                background: linear-gradient(to right, var(--color-main03) 0%, var(--color-main) 100%);
            }
        }
    }
    & .p-staffIntro {
        width: 100vw;
        margin: 0 calc(50% - 50vw) 5.625rem;
        padding: 6.25rem 0;
        background: var(--color-bg02);
        @media (768px > width) {
            margin: 0 calc(50% - 50vw) 4rem;
            padding: 3.75rem 0;
        }
        & .c-pageTitle {
            p {
                border-bottom: 2px solid var(--color-wh);
            }
        }
        & .p-staffIntro__info {
            width: calc(100% - 45vw);
            min-width: 280px;
            @media (768px > width) {
                width: 100%;
            }
        }
        & .p-staffIntro__item {
            display: flex;
            gap: 3.625rem;
            width: 85%;
            margin: 0 auto;
            @media (768px > width) {
                flex-direction: column;
                gap: 0;
                width: 100%;
            }
            &:first-of-type {
                .p-staffIntro__info {
                    margin-bottom: 1.9375rem;
                    @media (768px > width) {
                        margin-bottom: 1.25rem;
                    }
                }
            }
            &:not(:last-of-type) {
                margin-bottom: 5rem;
                @media (768px > width) {
                    margin-bottom: 3.75rem;
                }
            }

        }
    }
}
.p-staff__post {
    font-size: .9375rem;
    color: var(--color-main);
    @media (768px > width) {
        font-size: .875rem;
    }
}
.p-staff__name {
    margin-bottom: 1.9375rem;
    font-size: 2rem;
    @media (768px > width) {
        margin-bottom: 1.25rem;
        font-size: 1.5rem;
    }
}
.p-staff__history {
    display: inline-block;
    margin-bottom: .375rem;
    font-size: 1.125rem;
    background: linear-gradient(to right, var(--color-main03) 0%, var(--color-main) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    @media (768px > width) {
        font-size: 1rem;
    }
}
.p-staff__list {
    &:not(:last-of-type) {
        margin-bottom: 1.875rem;
    }
    & .p-staff__item {
        font-weight: 500;
        @media (768px > width) {
            font-size: .875rem;
        }
        &:not(:last-of-type) {
            margin-bottom: .25rem;
        }
    }
}
.p-departments {
    padding: 0 0 10rem;
    @media (768px > width) {
        padding: 0 0 5.625rem;
    }
    & .p-departments__inner {
        padding-top: 6rem;
        & .p-departments__title {
            display: flex;
            align-items: flex-start;
            gap: 3.25rem;
            margin-bottom: 3.75rem;
            @media (768px > width) {
                flex-direction: column;
                gap: 1rem;
                margin-bottom: 1.25rem;
            }
            & .c-pageTitle {
                width: 100%;
                margin-bottom: 0;
            }
            & .c-link {
                white-space: nowrap;
                @media (768px > width) {
                    margin-left: auto;
                }
            }
        }
    }
    & .p-departmentsGeneral__list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        /* gap: 3.75rem; */
        /* max-width: 1040px; */
        margin: 0 auto 9.25rem;
        @media (768px > width) {
            grid-template-columns: repeat(2, 1fr);
            margin: 0 auto 3.75rem;
        }
        & .p-departmentsGeneral__item {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 1.5rem;
            &::before {
                position: absolute;
                content: "";
                top: 50%;
                right: calc(1.625rem + 28px);
                transform: translateY(-50%);
                width: 0;
                height: 2px;
                background: transparent;
                transition: .3s ease;
            }
            &::after {
                position: absolute;
                content: "";
                top: 50%;
                right: 1.5rem;
                transform: translateY(-50%);
                width: 8px;
                height: 16px;
                background: url(../images/arrow-navy.png), top center / contain no-repeat;
                @media (768px > width) {
                    right: 1rem;
                }
            }
            &:hover {
                &::before {
                    width: 28px;
                    right: 1.625rem;
                    background: var(--color-main);
                    opacity: 1;
                }
            }
            & .p-departmentsGeneral__link {
                position: relative;
                display: flex;
                align-items: center;
                gap: 1.5rem;
                width: 100%;
                padding: 1.375rem 1.875rem 1.375rem 1.5rem;
                font-size: 1.125rem;
                color: var(--color-bk);
                @media (1024px > width) {
                    font-size: 1rem;
                }
                @media (768px > width) {
                    gap: .625rem;
                    padding: .9375rem 1.5rem .9375rem 1.25rem;
                    font-size: .9375rem;
                }
                p {
                    font-weight: 600;
                }
                > img {
                    width: 40px;
                    @media (1024px > width) {
                        width: 26px;
                    }
                }
                &::before {
                    position: absolute;
                    content: "";
                    top: 50%;
                    right: 0;
                    transform: translateY(-50%);
                    width: 2px;
                    height: 40px;
                    background: var(--color-bg02);
                }
                &::after {
                    position: absolute;
                    content: "";
                    bottom: 0;
                    left: 0.75rem;
                    width: calc(100% - 1.5rem);
                    height: 2px;
                    background: var(--color-bg02);
                }
            }
        }
    }
}
.p-departmentsSpecial {
    display: flex;
    align-items: center;
    gap: clamp(2.5rem, 5vw, 4.625rem);
    margin-bottom: 8.25rem;
    padding: 0 3.125rem;
    @media (768px > width) {
        flex-direction: column;
        margin-bottom: 3.75rem;
        padding: 0;
    }
    &.general {
        margin-bottom: 3.75rem;
    }
    &.preventive {
        margin-bottom: 5rem;
        @media (768px > width) {
            margin-bottom: 3.75rem;
        }
    }
    > img {
        width: 40vw;
        max-width: 450px;
        flex-shrink: 1;
        flex-basis: auto;
        @media (768px > width) {
            width: calc(100% - 2rem);
            max-width: 100%;
        }
    }
    & .p-departmentsSpecial__content {
        min-width: 320px;
    }
    & .p-departmentsSpecial__text {
        line-height: calc(28/16);
        @media (768px > width) {
            font-size: 1rem;
        }
        &:not(:last-of-type) {
            margin-bottom: 1.25rem;
        }
    }
    & .p-departmentsSpecial__list {
        display: flex;
        align-items: center;
        gap: 3rem;
        margin-top: 1.875rem;
        padding: 1.25rem 2.125rem;
        border-radius: .625rem;
        background: var(--color-bg03);
        @media (768px > width) {
            flex-direction: column;
            gap: .625rem;
            margin-top: 2.125rem;
            padding: 1.25rem 1.5rem;
        }
        & .p-departmentsSpecial__item {
            &.icon {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                width: 60px;
                @media (768px > width) {
                    margin-top: -2.5rem;
                }
                img {
                    width: 44px;
                }
                span {
                    white-space: nowrap;
                    font-size: .875rem;
                    font-weight: 600;
                    color: var(--color-main);
                    @media (768px > width) {
                        font-size: 1.125rem;
                    }
                }
            }
            & .p-departmentsSpecial__name {
                display: flex;
                flex-wrap: wrap;
                gap: .625rem .9375rem;
                & .p-departmentsSpecial__nameList {
                    font-size: .9375rem;
                    span {
                        padding-right: .125rem;
                        color: var(--color-main);
                    }
                }
            }
        }
    }
    & .p-about__list {
        margin-top: 3.25rem;
        @media (768px > width) {
            margin-top: 3rem;
        }
        & .p-about__item {
            position: relative;
            padding: .125rem 0;
            background-image : linear-gradient(to right, var(--color-border), var(--color-border) 4px, transparent 2px, transparent 8px);  /* 幅2の線を作る */
            background-size: 10px 2px;          /* グラデーションの幅・高さを指定 */
            background-position: left bottom;  /* 背景の開始位置を指定 */
            background-repeat: repeat-x;
            &::before {
                position: absolute;
                content: "";
                top: 50%;
                right: 3rem;
                transform: translateY(-50%);
                width: 0;
                height: 2px;
                background: transparent;
                transition: .3s ease;
            }
            &::after {
                position: absolute;
                content: "";
                top: 50%;
                right: 1rem;
                transform: translateY(-50%);
                width: 8px;
                height: 16px;
                background: url(../images/arrow-navy.png), top center / contain no-repeat;
                @media (768px > width) {
                    right: 0;
                }
            }
            &:first-of-type {
                background-image: 
                linear-gradient(to right, var(--color-border), var(--color-border) 4px, transparent 2px, transparent 8px),
                linear-gradient(to right, var(--color-border), var(--color-border) 4px, transparent 2px, transparent 8px);
                background-position: left top, left bottom;
                background-repeat: repeat-x, repeat-x;
                background-size: 10px 2px, 10px 2px;
            }
            & .p-about__link {
                display: flex;
                align-items: center;
                gap: 1.5rem;
                padding: 1.125rem 0 1.125rem 1rem;
                font-size: 1.125rem;
                color: var(--color-bk);
                @media (768px > width) {
                    padding: .875rem 0;
                }
                p {
                    font-weight: 600;
                }
                img {
                    width: 50px;
                }
                &:hover {
                    @media (768px < width) {
                        opacity: 1;
                        color: var(--color-main);
                        background: var(--color-hover);
                    }
                }
            }
            &:hover {
                &::before {
                    width: 30px;
                    right: 1.125rem;
                    background: var(--color-main);
                    opacity: 1;
                }
            }
        }
    }
}
.p-news {
    padding: 0 0 5.625rem;
    & .c-category__title {
        text-align: left;
    }
    & .c-category__list {
        justify-content: flex-start;
        border-bottom: none;
        &::before {
            content: none;
        }
    }
    & .p-news__item {
        border-bottom: 2px solid var(--color-bg02);
        &:first-of-type {
            border-top: 2px solid var(--color-bg02);
        }
    }
    & .p-news__link {
        display: flex;
        align-items: center;
        gap: .25rem 0;
        padding: 1.85rem 1.25rem;
        color: var(--color-bk);
        @media (768px > width) {
            flex-wrap: wrap;
        }
        & .p-news__title {
            margin-left: 1rem;
            font-size: 1rem;
            font-weight: 500;
            @media (768px > width) {
                width: 100%;
                margin-left: 0;
            }
        }
        & .p-news__date {
            font-size: .875rem;
        }
        & .p-news__category {
            margin: 0 1.25rem 0 1.125rem;
            padding: 1px .75rem;
            border-radius: 3px;
            font-size: .8125rem;
            font-weight: 700;
            color: var(--color-wh);
            &.cat13 {
                background: var(--color-sub);
            }
            &.cat14 {
                background: var(--color-sub02);
            }
            &.cat15 {
                background: var(--color-lgreen);
            }
        }
    }
}
.p-recruit {
    padding: 0 0 11rem;
    @media (768px > width) {
        padding: 0 0 8.25rem;
    }
    & .p-recruit__mv {
        position: relative;
        z-index: 3;
        display: flex;
        align-items: center;
        @media (768px > width) {
            flex-direction: column-reverse;
            gap: 1.25rem;
            padding-bottom: 4.25rem;
        }
        h2 {
            line-height: 2;
            letter-spacing: 10px;
            font-size: 2rem;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
            @media (768px > width) {
                font-size: 1.25rem;
            }
            span {
                color: #3FADC8;
            }
        }
        picture {
            width: calc(1254/1400 * 100vw);
            max-width: 80vw;
            margin-left: calc(50% - 50vw);
            @media (1024px > width) {
                max-width: 70vw;
                margin-left: auto;
            }
            @media (768px > width) {
                width: 100vw;
                max-width: none;
                margin: 0 calc(50% - 50vw);
            }
            img {
                width: 100%;
            }
        }
    }
    & .p-recruit__inner {
        position: relative;
        /* 背景が動ける範囲を明示的に指定 */
        z-index: 1;

        &::before {
            content: "";
            position: sticky;
            top: 0;
            
            /* 強制的に中央へ配置する設定 */
            left: 0;
            right: 0;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            
            display: block;
            width: 100vw;
            height: 100vh;
            /* コンテンツを上に重ねるためのネガティブマージン */
            margin-bottom: -100vh; 
            z-index: -1;
        
            background-image: url("../images/bg-recruit.webp");
            background-repeat: no-repeat;
            background-position: center center; /* 画像を中央に */
            background-size: 80% auto;
        
            /* 境界線をボカす設定 */
            -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
            mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
            
            pointer-events: none;
        }
    }
}

.p-recruit__content {
    margin-bottom: 8rem;
    padding: 6.5rem 4.5rem 6rem;
    border-radius: 3.75rem;
    background: var(--color-wh);
    box-shadow: 0 4px 16px #B4D7D942;
    @media (768px > width) {
        margin-bottom: 5.625rem;
        padding: 2.875rem 2.25rem;
    }
    & .p-recruit__contentTitle {
        text-align: center;
        margin-bottom: 4.75rem;
        font-size: 2.0875rem;
        color: #3FADC8;
        @media (768px > width) {
            margin-bottom: 2.625rem;
            font-size: 1.5625rem;
        }
        span {
            &.sm {
                font-size: 1.8125rem;
                @media (768px > width) {
                    font-size: 1.3125rem;
                }
            }
            &.yellow {
                color: #FFC64C;
            }
        }
    }
    & .p-recruit__contentList {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0 1.25rem;
        @media (1024px > width) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media (768px > width) {
            grid-template-columns: repeat(1, 1fr);
        }
        & .p-recruit__contentItem {
            display: grid;
            grid-template-rows: subgrid; /* 追加 */
            grid-row: span 3; /* 追加 */
            place-items: center;
            &:nth-of-type(even) {
                transform: translateY(3.125rem);
                @media (768px > width) {
                    transform: translateY(0);
                }
            }
            &:nth-of-type(-n+2) {
                @media (1024px > width) {
                    margin-bottom: 2.125rem;
                }
                @media (768px > width) {
                    margin-bottom: 0;
                }
            }
            &:first-of-type {
                img {
                    @media (768px > width) {
                        width: 89px;
                    }
                }
            }
            &:nth-of-type(2), &:nth-of-type(3) {
                img {
                    @media (768px > width) {
                        width: 95px;
                    }
                }
            }
            &:last-of-type {
                img {
                    @media (768px > width) {
                        width: 71px;
                    }
                }
            }
            &:not(:last-of-type) {
                @media (768px > width) {
                    margin-bottom: 2.125rem;
                }
            }
            h3 {
                width: 220px;
                text-align: center;
                margin-block: 1.875rem 1.25rem;
                padding: .4125rem 0;
                font-size: 1.125rem;
                font-weight: 600;
                border-radius: 1.25rem;
                background: #3FADC8;
                color: var(--color-wh);
                @media (768px > width) {
                    margin-block: 1.25rem .9375rem;
                }
            }
            p {
                text-align: left;
                line-height: calc(31/15);
                font-size: .9375rem;
                font-weight: 400;
            }
        }
    }
}
.p-recruitPerson {
    & .p-recruitPerson__title {
        position: sticky;
        top: 90px;
        width: 100%;
        margin: 0 0 2.375rem;
        z-index: 10;
        padding: 1rem 0;
        letter-spacing: .25rem;
        font-size: 2.375rem;
        font-weight: 600;
        color: #3FADC8;
        @media (768px > width) {
            width: 100%;
            text-align: center;
            top: 64px;
            font-size: 1.875rem;
        }
    }
    & .p-recruitPerson__list {
        position: relative;
        & .p-recruitPerson__item {
            display: flex;
            justify-content: space-between;
            z-index: 2;
            @media (768px > width) {
                flex-direction: column;
            }
            &:not(:last-of-type) {
                margin-bottom: 5rem;
            }
            & .p-recruitPerson__content {
                @media (768px > width) {
                    text-align: center;
                }
                span {
                    font-size: 6.25rem;
                    font-weight: 700;
                    color: #FFC64C94;
                    @media (768px > width) {
                        font-size: 3.625rem;
                    }
                }
                h3 {
                    font-size: 2.5rem;
                    font-weight: 500;
                    @media (768px > width) {
                        font-size: 1.5625rem;
                    }
                }
            }
            > img {
                width: calc(660/1135 * 100%);
                @media (768px > width) {
                    width: 100%;
                }
            }
        }
    }
}
.p-recruitInfo {
    padding: 7.875rem 0 10.875rem;
    @media (768px > width) {
        padding: 0 0 5.625rem;
    }
    & .p-recruit__soon {
        position: relative;
        &::after {
            content: "準備中";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            /* dtの幅を除いたddの領域を指定（例: dtが30%なら70%） */
            width: calc(100% - 180px); 
            
            /* 見た目の装飾 */
            background-color: rgba(217, 217, 217, 0.3); /* 薄いグレー背景 */
            color: #232323;
            font-weight: bold;
            font-size: 1.5rem;
            /* 真ん中に配置 */
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
            @media (768px > width) {
                width: calc(100% - 86px);
                font-size: 1.25rem;
            }
        }
        &.not {
            &::after {
                content: "現在募集を行っておりません。";
                @media (768px > width) {
                    content: "現在募集を\A行っておりません。";
                    white-space: pre-wrap;
                    text-align: center;
                }
            }
        }
        & .p-recruitInfo__contentItem dd {
            height: 64px;
            color: transparent;
            border-bottom: 1px solid #E9E9E966!important;
            @media (768px > width) {
                height: 83px;
            }
            &:first-of-type {
                border-top: 2px solid #E9E9E966!important;
            }
        }
    }

    .p-recruitInfo__title {
        text-align: center;
        margin-bottom: 2.375rem;
        letter-spacing: .25rem;
        font-size: 2.375rem;
        font-weight: 600;
        color: #3FADC8;
        @media (768px > width) {
            margin-bottom: 1.875rem;
            font-size: 1.875rem;
        }
    }
    & .p-recruitInfo__text {
        text-align: center;
        margin-bottom: 2rem;
        font-size: 1.125rem;
        font-weight: 400;
        line-height: calc(30 / 18);
        @media (768px > width) {
            text-align: left;
            margin-bottom: 1.25rem;
            font-size: 1rem;
        }
    }
    & .p-recruitInfo__linkList {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
        margin-bottom: 6rem;
        @media (1024px > width) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media (768px > width) {
            grid-template-columns: 1fr;
            margin-bottom: 5.25rem;
        }
        & .p-recruitInfo__linkItem {
            position: relative;
            padding: 1rem 1.5rem;
            border: 2px solid #FFFFFF9C;
            border-radius: .8125rem;
            background: #3FADC8;
            box-shadow: 0 22px 12px -21px #7F7F7F7D;
            & .arrow {
                position: absolute;
                content: "";
                top: 50%;
                right: 1.25rem;
                transform: translateX(-50%);
                transition: .3s ease;
                &::before,
                &::after {
                    content: "";
                    width: 11px;
                    height: 2px;
                    display: inline-block;
                    border-radius: 2px;
                    background: var(--color-wh);
                    position: absolute;
                    top: 50%;
                }
                &::before {
                    right: 7px;
                    transform: translateY(-50%) rotate(45deg);
                }
                &::after {
                    right: 0px;
                    transform: translateY(-50%) rotate(-45deg);
                }
                > span {
                    position: relative;
                    &::before {
                        position: absolute;
                        content: "";
                        top: 50%;
                        right: 20px;
                        transform: translateY(-50%);
                        width: 0;
                        height: 2px;
                        background: transparent;
                        transition: .3s ease;
                    }
                }
            }
            &:hover {
                @media (768px < width) {
                    opacity: .75;
                }
                & .arrow {
                    @media (768px < width) {
                        transform: translate(-50%, 3px);
                    }
                    &::before,
                    &::after {
                        @media (768px < width) {
                            background: var(--color-wh);
                        }
                    }
                }
            }
            /* &.recruit01 {
                img {
                    margin-right: 3rem;
                    @media (768px > width) {
                        margin-right: 3.625rem;
                    }
                }
            }
            &.recruit02 {
                img {
                    margin-right: .875rem;
                    @media (768px > width) {
                        margin-right: 1.5rem;
                    }
                }
            }
            &.recruit03 {
                img {
                    margin-right: .9375rem;
                    @media (768px > width) {
                        margin-right: 1.25rem;
                    }
                }
            } */
            a {
                display: flex;
                align-items: center;
                font-size: 1.25rem;
                color: var(--color-wh);
                p {
                    width: calc(100% - 68px);
                    text-align: center;
                    font-weight: 600;
                    @media (768px > width) {
                        width: calc(100% - 64px);
                        font-size: 1.125rem;
                    }
                    span {
                        font-weight: 400;
                    }
                }

                img {
                    width: 68px;
                    @media (768px > width) {
                        width: 64px;
                    }
                }
            }
        }
    }
    & .p-recruitInfo__content {
        max-width: 1020px;
        margin: 0 auto;
        padding: 4.25rem 6.25rem;
        border-radius: 1.5rem;
        background: var(--color-wh);
        box-shadow: 0 4px 16px #B4D7D942;
        @media (768px > width) {
            width: 100vw;
            margin: 0 calc(50% - 50vw);
            padding: 2.375rem 1.25rem 1.875rem;
            border-radius: 0;
        }
        > h3 {
            margin-bottom: 2.125rem;
            font-size: 1.5rem;
            font-weight: 600;
            color: #3FADC8;
            @media (768px > width) {
                margin-bottom: 1rem;
                font-size: 1.25rem;
            }
        }
        &:not(:last-of-type) {
            margin-bottom: 3.75rem;
            @media (768px > width) {
                margin-bottom: 2.375rem;
            }
        }
        & .p-recruitInfo__contentItem {
            display: flex;
            &:nth-of-type {
                dt {
                    border-bottom: 2px solid var(--color-wh);
                }
                dd {
                    border-bottom: 2px solid #E9E9E9;
                }
            }
            &:first-of-type {
                dd {
                    border-top: 2px solid #E9E9E9;
                }
            }
            &:last-of-type {
                dt {
                    border-bottom: 2px solid #E9E9E9;
                }
            }
            dt {
                text-align: center;
                align-content: center;
                width: 180px;
                padding: 1.125rem 0;
                font-weight: 700;
                border-bottom: 2px solid var(--color-wh);
                background: #E7F8FC;
                @media (768px > width) {
                    width: 86px;
                    font-size: .9375rem;
                }
            }
            dd {
                align-content: center;
                width: calc(100% - 180px);
                margin: 0;
                padding: 1.125rem 0 1.125rem 3.125rem;
                font-weight: 400;
                border-bottom: 2px solid #E9E9E9;
                @media (768px > width) {
                    width: calc(100% - 86px);
                    padding: .5rem .625rem;
                    font-size: .875rem;
                }
            }
        }
    }
}
.p-recruitFlow {
    padding: 0 0 11rem;
    @media (768px > width) {
        padding: 0 0 6.5rem;
    }
    .p-recruitFlow__title {
        text-align: center;
        margin-bottom: 4.625rem;
        letter-spacing: .25rem;
        font-size: 2.375rem;
        color: #3FADC8;
        @media (768px > width) {
            margin-bottom: 3.5rem;
            font-size: 1.875rem;
        }
    }
    .p-recruitFlow__step {
        position: relative;
        display: flex;
        align-items: center;
        max-width: 810px;
        margin: 0 auto;
        padding: 2.5rem 1.5rem;
        border-radius: 3.75rem;
        background: var(--color-wh);
        box-shadow: 0 4px 16px #B4D7D942;
        @media (768px > width) {
            flex-direction: column;
            gap: 1.125rem;
            padding: 2.5rem 1.5rem;
            border-radius: 1.875rem;
        }
        &:not(:last-of-type) {
            margin-bottom: 5.5rem;
            @media (768px > width) {
                margin-bottom: 7.625rem;
            }
            &::after {
                position: absolute;
                content: "";
                bottom: calc(-2.75rem - 15px);
                left: 50%;
                transform: translateX(-50%);
                width: 92px;
                height: 30px;
                background: url(../images/recruit-step-arrow.png), top center / cover no-repeat;
                @media (768px > width) {
                    bottom: calc(-3.75rem - 15px);
                }
            }
        }
        dt {
            text-align: center;
            width: 205px;
            > img {
                &:first-of-type {
                    position: absolute;
                    top: -1rem;
                    left: 7%;
                    width: 148px;
                    height: 39px;
                    @media (768px > width) {
                        left: 50%;
                        transform: translateX(-50%);
                    }
                }
            }
        }
        dd {
            width: calc(100% - 260px);
            margin: 0;
            @media (768px > width) {
                width: 100%;
            }
            h3 {
                margin-bottom: .25rem;
                font-size: 1.25rem;
                font-weight: 600;
                color: #48B0CA;
                @media (768px > width) {
                    font-size: 1.125rem;
                }
            }
            p {
                font-size: .9375rem;
                font-weight: 400;
                line-height: calc(31/15);
                &.--hasBtn {
                    margin-bottom: 1.125rem;
                }
            }
        }
    }
}

.p-recruit__bottom {
    display: flex;
    align-items: center;
    @media (1024px > width) {
        flex-direction: column;
    }
    @media (768px > width) {
        flex-direction: column;
        gap: 1.25rem;
    }
    & .p-recruit__bottomLeft {
        min-width: 390px;
        @media (768px > width) {
            width: 100%;
            min-width: auto;
        }
        h3 {
            white-space: nowrap;
            margin-bottom: 1.5rem;
            font-size: 1.625rem;
            font-weight: 500;
            line-height: calc(49/26);
            color: #48B0CA;
            @media (768px > width) {
                margin-bottom: 1.125rem;
                font-size: 1.125rem;
            }
        }
        & .c-button {
            @media (768px > width) {
                margin: 0 auto;
            }
        }
    }
    p {
        white-space: nowrap;
        margin-bottom: 1.625rem;
        line-height: calc(41/16);
        @media (768px > width) {
            white-space: normal;
            line-height: calc(35/15);
        }
    }
    &.mv {
        picture {
            width: calc(835/1400 * 100vw);
            margin-right: calc(50% - 50vw);
            @media (1024px > width) {
                margin-left: auto;
            }
            @media (768px > width) {
                width: 100vw;
                margin: 0 calc(50% - 50vw);
            }
            img {
                width: 100%;
            }
        }

    }
    picture {
        width: calc(810/1400 * 100vw);
        margin-right: calc(50% - 50vw);
        @media (1024px > width) {
            margin-left: auto;
        }
        @media (768px > width) {
            width: 100vw;
            margin: 0 calc(50% - 50vw);
        }
        img {
            width: 100%;
        }
    }
}
/* アクセス */
.p-access {
    padding: 0 0 8.75rem;
    picture {
        display: block;
        margin-bottom: 5rem;
        @media (768px > width) {
            margin-bottom: 2.5rem;
        }
    }
    .p-access__map {
        width: 100%;
        height: 480px;
        margin: 0 auto 3.75rem;
        @media (768px > width) {
            margin: 0 auto 2.5rem;
        }
        + .c-button {
            margin: 0 auto;
        }
    }
    .wp-block-lazyblock-accessmap {
        :has(.p-access__map) {
            margin-bottom: 7.5rem;
            @media (768px > width) {
                margin-bottom: 4.875rem;
            }
        }
    }
    .p-accessCar {
        display: flex;
        @media (768px > width) {
            flex-direction: column;
        }
        & .p-accessCar__content {
            align-content: center;
            /* width: calc(100% - calc(580/1100 * 100vw)); */
            width: 100%;
            padding: 0 0 0 5.125rem;
            background: var(--color-bg05);
            @media (1024px > width) {
                padding: 0 .5rem 0 3.25rem;
            }
            @media (768px > width) {
                width: 100%;
                padding: 2.5rem 2.375rem;
            }
            & .p-accessCar__title {
                margin-bottom: .9375rem;
                font-size: 1.5rem;
                color: var(--color-main);
                @media (768px > width) {
                    font-size: 1.25rem;
                }
            }
            & .p-accessCar__text {
                @media (768px > width) {
                    font-size: .875rem
                }
            }
        }
        > img {
            width: calc(580 / 1100 * 100%);
            max-width: 580px;
            /* max-width: calc(580/1100 * 100vw); */
            @media (768px > width) {
                width: 100%;
                max-width: 100%;
            }
        }
    }
}
.p-policy {
    padding: 0 0 8.5rem;
    @media (768px > width) {
        padding: 0 0 7.5rem;
    }
    h3 {
        margin: 2.25rem 0 .625rem;
        font-size: 1.375rem;
    }
    p {
        margin-bottom: .625rem;
        font-weight: 400;
        @media (768px > width) {
            font-size: .9375rem;
        }
    }
}