#header {
    position: absolute;
    z-index: 9999;
    &.is-opened {
        .header__logo {
            opacity: 0;
        }
        &::before {
            opacity: 0;
        }
        .header__logo-image,
        .header__logo-text {
            opacity: 0;
        }
    }
}
.header__logo {
    position: absolute;
    top: 2.6rem;
    left: 3.2rem;
    a {
        display: flex;
        width: 19.7rem;
        height: 5.231rem;
        overflow: hidden;
        background: url(../images/consulting/logo@2x.png) no-repeat;
        background-size: cover;
        img {
            opacity: 0;
        }
    }
}
@media screen and (min-width: 769px) {
    .header__menu-opener {
        mix-blend-mode: difference;
    }
}
@media screen and (max-width: 768px) {
    #header {
        width: 100%;
    }
    .header__logo {
        padding-top: calc( 36vw / 3.9 );
        top: 0;
        left: 0;
        right: 0;
        width: auto;
        display: flex;
        justify-content: center;
        a {
            width: calc( 118.5vw / 3.9 );
            height: calc( 90.5vw / 3.9 );
            background-image: url(../images/consulting/sp/logo.png)
        }
    }
}

.hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    background: url(../images/consulting/hero.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding-bottom: 4rem;
    gap: 11.2rem;
    padding-top: 18rem;
    clip-path: inset(0 0 0 1rem 0);
    .hero__text {
        position: relative;
        z-index: 1;
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 4rem;
        text-align: center;
        letter-spacing: .1em;
        display: flex;
        line-height: 1;
        flex-direction: column;
        align-items: center;
        gap: .575em;
    }
    .hero__text-line {
        position: relative;
        overflow: hidden;
        span {
            font-weight: 600;
        }
        &::before {
            content: '';
            position: absolute;
            inset: 0;
            background: #B99E6E;
            z-index: -1;
            transform: translateX(-102%);
            animation: hero-line-animation 2s forwards;
            animation-delay: .5s;
        }
    }
    .hero__icons {
        position: relative;
        display: flex;
        align-items: center;
        z-index: 2;
        gap: 5rem;
        div {
            position: relative;
            padding: 1.4rem;
            img {
                position: relative;
                z-index: 5;
            }
            &::before,
            &::after {
                position: absolute;
                inset: 0;
                border-radius: 50%;
                content: '';
                z-index: 1;
                background: #D6C9A7;
                opacity: .4;
                scale: 1;
                animation: hero-animation-blur 2s infinite forwards;
            }
            &::before {
                animation-delay: .05s;
                animation-name: hero-animation-blur-02;
            }

            opacity: 0;
            animation: hero-icon-animation 1.8s forwards;
            &:nth-child(1) {
                animation-delay: .5s;
            }
            &:nth-child(2) {
                animation-delay: .65s;
            }
            &:nth-child(3) {
                animation-delay: .8s;
            }
        }
    }
    .hero__mask {
        position: absolute;
        bottom: 0;
        z-index: 0;
        width: 100%;
        svg {
            width: 100%;
            height: 12.8rem;
            vertical-align: middle;
        }
    }
}
@keyframes hero-line-animation {
    from {
        transform: translateX(-102%);
    }
    to {
        transform: translateX(0%);
    }
}
@keyframes hero-icon-animation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes hero-animation-blur {
    0% {
        opacity: .4;
        scale: .7;
    }
    60% {
        opacity: .4;
        scale: 1;
    }
    100% {
        opacity: 0;
        scale: 1;
    }
}
@keyframes hero-animation-blur-02 {
    0% {
        opacity: .4;
        scale: .65;
    }
    60% {
        opacity: .4;
        scale: .92;
    }
    100% {
        opacity: 0;
        scale: .92;
    }
}
@media screen and (max-width: 768px) {
    .hero {
        background-image: url(../images/consulting/sp/hero.jpg) ;
        padding-bottom: 0;
        gap: calc( 112vw / 3.9 );
        padding-top: calc( 173vw / 3.9 );
        clip-path: inset(0 0 0 1rem 0);
        .hero__text {
            font-size: calc( 18vw / 3.9 );
            gap: calc( 12vw / 3.9 );
        }
        .hero__text-line {
            overflow: visible;
            clip-path: inset(-.1em);
            &::before {
                inset: -.1em;
            }
        }
        .hero__icons {
            position: relative;
            display: flex;
            align-items: flex-start;
            z-index: 2;
            gap: 0;
            img {
                height: calc( 94vw / 3.9 );
            }
            div {
                padding: calc( 9vw / 3.9 );
                &:nth-child(2) {
                    margin-top: calc( 46vw / 3.9 );
                }
            }
        }
        .hero__mask {
            z-index: 0;
            width: 100%;
            padding-bottom: calc( 33vw / 3.9 );
            background: white;
            svg {
                position: absolute;
                left: 0;
                right: 0;
                bottom: calc( 33vw / 3.9 );
                height: calc( 46vw / 3.9 );
            }
        }
    }
}

.intro {
    position: relative;
    z-index: 2;
    padding-top: 1.3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 12rem;
    .intro__title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 3rem;
        font-weight: 500;
        letter-spacing: .13em;
        text-align: center;
        margin-bottom: 1.8em;
        span {
            display: inline-block;
            padding: .05em .25em .1em .35em;
            margin-right: .2em;
            background: #707070;
            color: #fff;
            border-radius: 1rem;
            font-size: 2.4rem;
            i {
                font-size: 3.4rem;
            }
        }
    }
    .intro__list {
        display: flex;
        flex-wrap: wrap;
        gap: 2.86rem 3rem;
    }
    .intro__item {
        position: relative;
        &:nth-child(1),
        &:nth-child(2),
        &:nth-child(3) {
            width: calc( calc(100% - 6rem) / 3 );
        }
    }
    .intro__item-num {
        position: absolute;
        top: -2.66rem;
        left: -1.7rem;
    }
    .intro__item-body {
        img {
            width: 100%;
            height: auto;
        }
    }
    .intro__notes {
        display: inline-flex;
        margin-top: 5.1rem;
        font-size: 1rem;
        line-height: 1.5;
    }
}
@media screen and (max-width: 768px) {
    .intro {
        padding-top: calc( 22vw / 3.9 );
        padding-bottom: calc( 80vw / 3.9 );
        .c-wrapper {
            width: 100%;
            padding-inline: calc( 25vw / 3.9 );
        }
        .intro__title {
            font-size: calc( 20vw / 3.9 );
            margin-bottom: calc( 60vw / 3.9 );
            line-height: 2;
            span {
                border-radius: calc( 6vw / 3.9 );
                font-size: calc( 20vw / 3.9 );
                line-height: 1;
                i {
                    font-size: calc( 30vw / 3.9 );
                }
            }
        }
        .intro__list {
            gap: calc( 25vw / 3.9 ) 2.5641025641vw;
        }
        .intro__item {
            position: relative;
            &:nth-child(1),
            &:nth-child(2),
            &:nth-child(3),
            &:nth-child(4) {
                width: calc( calc(100% - 2.5641025641vw) / 2 );
            }
        }
        .intro__item-num {
            position: absolute;
            top: calc( -15vw / 3.9 );
            left: calc( -9vw / 3.9 );
        }
        .intro__notes {
            margin-top: calc( 40vw / 3.9 );
            font-size: calc( 10vw / 3.9 );
            padding-inline: calc( 40vw / 3.9 );
        }
    }
}

.c-item-num {
    border-radius: 50%;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    color: white;
    background: #B99E6E;
    width: 7.6rem;
    height: 7.6rem;
    font-size: 3.4rem;
    font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .c-item-num {
        width: calc( 43vw / 3.9 );
        height: calc( 43vw / 3.9 );
        font-size: calc( 18vw / 3.9 );
    }
}

.cta {
    background: #D6C9A7;
    color: #000000;
    padding: 7.5rem 0 8.2rem;
    .cta__catch {
        text-align: center;
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 3rem;
        font-weight: 500;
        letter-spacing: .15em;
        margin-bottom: 2em;
    }
    .cta__item {
        display: flex;
        gap: 2.5rem;
        align-items: center;
        + .cta__item {
            margin-top: 2.2rem;
            padding-top: 3.6rem;
            border-top: 2px solid white;
        }
    }
    .cta__item-header {
        display: flex;
        flex-direction: column;
        gap: 1.4rem;
        flex: 1;
    }
    .cta__item-title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 2.4rem;
        font-weight: 500;
        letter-spacing: .03em;
    }
    .cta__item-text {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 1.6rem;
        letter-spacing: .1em;
    }
    .cta__item-button {
        display: flex;
        flex-direction: column;
        gap: 2.3rem;
        a {
            display: flex;
            align-items: center;
            justify-content: center;
            background: white;
            border-radius: 1rem;
            width: 37rem;
            height: 6rem;
            font-size: 2rem;
            letter-spacing: .01em;
            box-shadow: 0 3px 0 #B99E6E;
            &[href*="tel:"] {
                font-family: "Abel", sans-serif;
                font-size: 2.6rem;
                letter-spacing: .055em;
                gap: 2.8rem;
                padding-right: 1.9rem;
                span {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    font-family: sans-serif;
                    font-size: 1.5rem;
                    width: 5em;
                    height: 2.2em;
                    background: #707070;
                    color: white;
                    border-radius: .4rem;
                }
            }
        }
    }
    .thin-contents {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .cta {
        padding: calc( 50vw / 3.9 ) 0;
        .cta__catch {
            font-size: calc( 22vw / 3.9 );
            font-weight: 500;
            letter-spacing: .15em;
            margin-bottom: 2em;
            white-space: nowrap;
        }
        .cta__item {
            flex-direction: column;
            gap: 0;
            + .cta__item {
                margin-top: calc( 22vw / 3.9 );
                padding-top: calc( 22vw / 3.9 );
            }
        }
        .cta__item-header {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0;
            flex: 1;
            margin-bottom: calc( 20vw / 3.9 );
        }
        .cta__item-icon {
            width: calc( 83vw / 3.9 );
            margin-bottom: calc( 15vw / 3.9 );
        }
        .cta__item-title {
            font-size: calc( 18vw / 3.9 );
        }
        .cta__item-text {
            font-size: calc( 14vw / 3.9 );
            margin-top: 1em;
        }
        .cta__item-button {
            display: flex;
            flex-direction: column;
            gap: calc( 15vw / 3.9 );
            width: 100%;
            a {
                border-radius: calc( 10vw / 3.9 );
                width: 100%;
                height: calc( 58vw / 3.9 );
                font-size: calc( 18vw / 3.9 );
                &[href*="tel:"] {
                    font-size: calc( 23vw / 3.9 );
                    gap: calc( 10vw / 3.9 );
                    padding-right: 0;
                    span {
                        font-size: calc( 14vw / 3.9 );
                        width: calc( 55vw / 3.9 );
                        height: calc( 28vw / 3.9 );
                        border-radius: calc( 4vw / 3.9 );
                    }
                }
            }
        }
    }
    .cta.is-thin {
        .thin-contents {
            display: block;
        }
        background: none;
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: calc( 80vw / 3.9 );
        + #merit {
            margin-top: calc( -80vw / 3.9 );
        }
        .cta__catch,
        .cta__item {
            display: none;
        }
        .cta__item-button {
            margin-bottom: calc( 20vw / 3.9 );
        }
        .cta__item-button a {
            box-shadow: none;
            height: calc( 70vw / 3.9 );
            background: #d6c9a7;
            border-radius: calc( 10vw / 3.9 );
            font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
            letter-spacing: .08em;
            line-height: 1.4285714286;
            font-size: calc( 14vw / 3.9 );
            gap: calc( 10vw / 3.9 );
            img {
                filter: brightness(0);
            }
        }
    }
}

.case {
    overflow: hidden;
    padding-top: 9rem;
    padding-bottom: 15rem;
    .case__title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 3rem;
        font-weight: 500;
        letter-spacing: .06em;
        text-align: center;
        margin-bottom: 4.7rem;
    }
    .case__intro {
        font-size: 1.8rem;
        text-align: center;
        letter-spacing: .03em;
        margin-bottom: 6rem;
    }
    .case__list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 3.4rem
    }
    .case__item {
        background: white;
        border: 2px solid #B99E6E;
        border-radius: 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .case__item-num {
        position: absolute;
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-weight: 500;
        left: 1.8rem;
        top: 1.6rem;
        color: #063D5B;
        span {
            font-size: 1.5rem;
            letter-spacing: .06em;
            margin-right: .4rem;
        }
        i {
            font-size: 2rem;
            letter-spacing: .03em;
        }
    }
    .case__item-icon {
        height: 10rem;
        display: flex;
        align-items: flex-end;
        padding-bottom: 1rem;
    }
    .case__item-title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 2.2rem;
        font-weight: 500;
        letter-spacing: .035em;
        height: 7rem;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #d6c9a7;
        width: 100%;
        position: relative;
        margin-bottom: 4.4rem;
        color: #000000;
        &::after {
            content: '';
            position: absolute;
            bottom: -1rem;
            border: .5rem solid transparent;
            border-top-color: #d6c9a7;
            border-left-color: #d6c9a7;
        }
    }
    .case__item-body {
        font-size: 1.5rem;
        letter-spacing: .01em;
        line-height: 2;
        padding-inline: 4rem;
        padding-bottom: 5rem;
        color: #000000;
        span {
            position: relative;
            background: rgba(255, 255, 54, .55);
            padding: .1em;
        }
    }
}

@media screen and (max-width: 768px) {
    .case {
        padding-top: calc( 77vw / 3.9 );
        padding-bottom: calc( 97vw / 3.9 );
        .case__title {
            font-size: calc( 24vw / 3.9 );
            margin-bottom: calc( 22vw / 3.9 );
        }
        .case__intro {
            font-size: calc( 14vw / 3.9 );
            margin-bottom: calc( 42vw / 3.9 );
            padding-inline: calc( 45vw / 3.9 );
            line-height: 1.7142857143;
        }
        .case__list {
            display: grid;
            grid-template-columns: repeat(1, 1fr);
            gap: calc( 50vw / 3.9 )
        }
        .case__item {
            border-radius: calc( 10vw / 3.9 );
        }
        .case__item-num {
            left: calc( 18vw / 3.9 );
            top: calc( 18vw / 3.9 );
            span {
                font-size: calc( 13vw / 3.9 );
                margin-right: calc( 3vw / 3.9 );
            }
            i {
                font-size: calc( 18vw / 3.9 );
            }
        }
        .case__item-icon {
            height: calc( 78vw / 3.9 );
            padding-bottom: calc( 8.2vw / 3.9 );
            img {
                transform: scale(.7);
                transform-origin: bottom;
            }
        }
        .case__item-title {
            font-size: calc( 17vw / 3.9 );
            height: calc( 70vw / 3.9 );
            margin-bottom: calc( 26vw / 3.9 );
            line-height: 1.458;
            text-align: center;
        }
        .case__item-body {
            font-size: calc( 13vw / 3.9 );
            line-height: 1.8461538462;
            padding-inline: calc( 22vw / 3.9 );
            padding-bottom: calc( 30vw / 3.9 );
        }
    }
}

@media screen and (min-width: 769px) {
    .c-item-bg {
        position: relative;
        &:nth-child(4n+1) {
            &::before {
                position: absolute;
                content: '';
                bottom: 0;
                right: calc( -100% - 50vw );
                background: #b4b4b4;
                opacity: .4;
                border-radius: 12rem;
                height: 24rem;
                width: calc(50vw + 87rem);
                z-index: -1;
            }
        }
        &:nth-child(4n) {
            &::before {
                position: absolute;
                content: '';
                bottom: 0;
                left: calc( -100% - 50vw );
                background: #b4b4b4;
                border-radius: 12rem;
                height: 24rem;
                width: calc( 50vw + 87rem );
                z-index: -1;
            }
        }
    }
}

@media screen and (max-width: 768px) {
    .c-item-bg {
        position: relative;
        &:nth-child(2n+1) {
            &::before {
                position: absolute;
                content: '';
                bottom: calc( -11vw / 3.9 );
                right: calc( -61vw / 3.9 );
                background: #b4b4b4;
                opacity: .4;
                border-radius: calc( 120vw / 3.9 ) 0 0 calc( 120vw / 3.9 );
                height: calc( 240vw / 3.9 );
                width: calc( 350vw / 3.9 );
                z-index: -1;
            }
        }
        &:nth-child(2n) {
            &::before {
                position: absolute;
                content: '';
                bottom: calc( -11vw / 3.9 );
                left: calc( -61vw / 3.9 );
                background: #b4b4b4;
                border-radius: 0 calc( 120vw / 3.9 ) calc( 120vw / 3.9 ) 0;
                height: calc( 240vw / 3.9 );
                width: calc( 350vw / 3.9 );
                z-index: -1;
            }
        }
    }
}

.sustainable {
    background: #EFEFEF;
    padding-block: 12rem;
    .sustainable__title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-weight: 500;
        font-size: 3rem;
        letter-spacing: .06em;
        margin-bottom: 8.4rem;
        text-align: center;
    }
    .sustainable__list {
        display: flex;
        flex-direction: column;
        gap: 9rem;
    }
    .sustainable__item {
        background: white;
        border-radius: 1rem;
        padding: 0 4rem 5rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .sustainable__item-header {
        position: relative;
        z-index: 1;
        background: white;
        border: 6px solid #EFEFEF;
        border-bottom: none;
        display: inline-flex;
        flex-direction: column;
        width: 27rem;
        height: 9rem;
        align-items: center;
        justify-content: flex-end;
        color: #063D5B;
        margin-top: -3.6rem;
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-weight: 500;
        gap: 1.8rem;
        border-radius: 1rem 1rem 0 0;
        padding-bottom: .4rem;
        margin-bottom: 3rem;
        i {
            font-size: 2.5rem;
            letter-spacing: .05em;
        }
    }
    .sustainable__item-title {
        position: relative;
        font-size: 2.4rem;
        letter-spacing: .1em;
        font-weight: 600;
        &::before {
            position: absolute;
            content: '';
            bottom: -.1em;
            left: -.2em;
            right: -.2em;
            height: 1rem;
            background: #FFFF36;
            z-index: -1;
        }
    }
    .sustainable__item-image {
        margin-bottom: 3rem;
    }
    .sustainable__item-body {
        display: flex;
        width: 100%;
        gap: 3rem
    }
    .sustainable__item-column {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: .6rem;
    }
    .sustainable__item-row {
        display: flex;
        align-items: center;
        border-radius: .3rem;
        background: #d6c9a7;
        padding: .4em;
        font-size: 1.5rem;
        color: #000000;
        gap: .4em;
        white-space: nowrap;
        i {
            font-size: 1.4rem;
            font-weight: 500;
            color: white;
            width: 1.43em;
            text-align: center;
        }
        span {
            font-size: .86em;
        }
        &:nth-child(2n) {
            background: rgba(214, 201, 167, .6);
        }
    }
}
@media screen and (max-width: 768px) {
    .sustainable {
        padding-block: calc( 70vw / 3.9 );
        .sustainable__title {
            font-size: calc( 24vw / 3.9 );
            line-height: 1.5833333333;
            margin-bottom: calc( 80vw / 3.9 );
        }
        .sustainable__list {
            gap: calc( 70vw / 3.9 );
        }
        .sustainable__item {
            border-radius: calc( 10vw / 3.9 );
            padding: 0 calc( 26vw / 3.9 ) calc( 40vw / 3.9 );
        }
        .sustainable__item-header {
            border: calc( 4vw / 3.9 ) solid #EFEFEF;
            border-bottom: none;
            width: calc( 205vw / 3.9 );
            height: calc( 75vw / 3.9 );
            margin-top: calc( -45vw / 3.9 );
            gap: calc( 11vw / 3.9 );
            border-radius: calc( 10vw / 3.9 ) calc( 10vw / 3.9 ) 0 0;
            padding-bottom: calc( 6vw / 3.9 );
            margin-bottom: calc( 36vw / 3.9 );
            i {
                font-size: calc( 19vw / 3.9 );
            }
        }
        .sustainable__item-title {
            font-size: calc( 18vw / 3.9 );
        }
        .sustainable__item-image {
            margin-bottom: calc( 30vw / 3.9 );
            img {
                width: calc( 215vw / 3.9 );
                height: auto;
            }
        }
        .sustainable__item-body {
            display: flex;
            flex-direction: column;
            width: 100%;
            gap: calc( 6vw / 3.9 )
        }
        .sustainable__item-column {
            display: contents;
        }
        .sustainable__item-row {
            border-radius: calc( 3vw / 3.9 );
            background: #d6c9a7;
            padding: .5em;
            font-size: calc( 13vw / 3.9 );
            gap: .6em;
            white-space: normal;
            line-height: 1.35;
            i {
                font-size: calc( 14vw / 3.9 );
                flex-shrink: 0;
            }
        }
    }
}

.voice {
    overflow: hidden;
    padding-top: 15rem;
    padding-bottom: 14rem;
    .voice__title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 3rem;
        font-weight: 500;
        letter-spacing: .06em;
        text-align: center;
        margin-bottom: 4.7rem;
    }
    .voice__intro {
        font-size: 1.8rem;
        text-align: center;
        letter-spacing: .03em;
        margin-bottom: 14rem;
    }
    .voice__list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 9rem 3.4rem;
    }
    .voice__item {
        &::before {
            bottom: -3.5rem;
        }
    }
    .voice__item {
        background: #efefef;
        border-radius: 0 0 1rem 0;
        min-height: 41rem;
        display: flex;
        flex-direction: column;
    }
    .voice__item-body {
        padding: 0 4rem 3rem;
        display: flex;
        flex-direction: column;
        flex: 1;
    }
    .voice__item-category {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 20.6rem;
        height: 7rem;
        background: url(../images/consulting/voice_cateogry_bg.png) no-repeat;
        background-size: 20.6rem;
        color: white;
        text-align: center;
        font-weight: 600;
        letter-spacing: .05em;
        font-size: 1.8rem;
        padding-bottom: .2em;
        margin-bottom: 1em;
    }
    .voice__item-title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-size: 2.4rem;
        letter-spacing: .1em;
        margin-bottom: 1em;
    }
    .voice__item-text {
        font-size: 1.5rem;
        line-height: 2;
        letter-spacing: .01em;
    }
    .voice__item-profile {
        position: relative;
        background: white;
        border-radius: .5rem;
        margin-right: 1rem;
        padding-block: .75rem;
        padding-left: 1.5rem;
        margin-top: auto;
    }
    .voice__item-company {
        font-size: 1.8rem;
        border-bottom: 1px solid;
        padding-bottom: 6px;
        margin-bottom: 10px;
    }
    .voice__item-name {
        font-size: 1.5rem;
    }
    .voice__item-image {
        position: absolute;
        right: -1rem;
        top: 50%;
        transform: translateY(-50%);
    }
}
@media screen and (max-width: 768px) {
    .voice {
        padding-top: calc( 90vw / 3.9 );
        padding-bottom: calc( 70vw / 3.9 );
        .voice__title {
            font-size: calc( 24vw / 3.9 );
            padding-inline: calc( 30vw / 3.9 );
            line-height: 1.5833333333;
            margin-bottom: calc( 20vw / 3.9 );
        }
        .voice__intro {
            font-size: calc( 14vw / 3.9 );
            margin-bottom: calc( 60vw / 3.9 );
        }
        .voice__list {
            grid-template-columns: repeat(1, 1fr);
            gap: calc( 40vw / 3.9 );
        }
        .voice__item {
            &::before {
                bottom: calc( -15vw / 3.9 );
            }
        }
        .voice__item {
            border-radius: 0 0 calc( 10vw / 3.9 ) 0;
            min-height: 0;
        }
        .voice__item-body {
            padding: 0 calc( 25vw / 3.9 ) calc( 30vw / 3.9 );
        }
        .voice__item-category {
            width: calc( 168vw / 3.9 );
            height: calc( 58vw / 3.9 );
            background-size: calc( 168vw / 3.9 );
            font-size: calc( 13vw / 3.9 );
            margin-bottom: 1em;
        }
        .voice__item-title {
            font-size: calc( 17vw / 3.9 );
            margin-bottom: 1.2em;
            line-height: 1.5;
        }
        .voice__item-text {
            font-size: calc( 13vw / 3.9 );
            line-height: 1.8461538462;
        }
        .voice__item-profile {
            border-radius: calc( 5vw / 3.9 );
            margin-right: calc( 10vw / 3.9 );
            padding-block: calc( 8vw / 3.9 );
            padding-left: calc( 12vw / 3.9 );
            margin-top: calc( 30vw / 3.9 );
        }
        .voice__item-company {
            /*font-size: calc( 16vw / 3.9 );*/
            font-size: calc( 14vw / 3.9 );
            padding-bottom: .5em;
            margin-bottom: .5em;
        }
        .voice__item-name {
            font-size: calc( 13vw / 3.9 );
        }
        .voice__item-image {
            position: absolute;
            right: calc( -12.5vw / 3.9 );
            img {
                width: calc( 76vw / 3.9 );
                height: auto;
            }
        }
    }
}

.price {
    padding-top: 14rem;
    .price__title {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-weight: 500;
        font-size: 3rem;
        letter-spacing: .06em;
        text-align: center;
        margin-bottom: 2em;
    }
    .price__intro {
        display: flex;
        align-items: center;
        border: 2px solid #707070;
        border-radius: 1rem;
        height: 8rem;
        margin-bottom: 4rem;
    }
    .price__intro-title {
        font-size: 2rem;
        letter-spacing: .03em;
        padding-left: 8rem;
    }
    .price__intro-num {
        display: flex;
        align-items: flex-end;
        gap: 1rem;
        width: 24rem;
        height: 100%;
        justify-content: center;
        margin-left: auto;
        border-left: 2px solid #707070;
        padding-bottom: 2rem;
        span {
            font-family: "Abel", sans-serif;
            font-size: 4.5rem;
            line-height: .75;
            margin-left: 1rem;
        }
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1;
    }
    .p-price__plan-item {
        background: #B4B4B4;
        border-radius: 1rem;
        &:nth-child(2) {
            background: #D6C9A7;
            color: black;
        }
        &:nth-child(3) {
            background: #B99E6E;
        }
    }
    .p-price__plan-type {
        font-size: 2rem;
        font-weight: 500;
    }
    .p-price__plan-text {
        border-top-color: white;
    }
    .p-price__plan-price {
        padding-block: 1.5rem;
        span {
            font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
            letter-spacing: .02em;
        }
    }
    .c-plan-table {
        margin-bottom: 3.75rem;
    }
    .c-plan-table__header {
        gap: .8rem;
    }
    .c-plan-table__header div {
        width: 21rem;
        margin-left: 0;
        height: 8rem;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
        font-size: 1.7rem;
        font-weight: 500;
        color: white;
        background: #B4B4B4;
        &:nth-child(3) {
            color: black;
            background: #D6C9A7;
        }
        &:nth-child(4) {
            background: #B99E6E;
        }
    }
    .c-plan-table__row {
        gap: .8rem;
        height: 9rem;
        p {
            width: 21rem;
            margin-left: 0;
            &:first-child {
                width: auto;
            }
        }
    }
    .c-plan-table__section-header {
        gap: .8rem;
        border-top-style: dashed;
        border-top-color: #000000;
        > p {
            width: 21rem;
            margin-left: 0;
            &:first-child {
                width: auto;
                flex: none;
                margin-right: auto;
                &::after {
                    top: 1.5em;
                }
                &::before {
                    content: '詳細';
                    position: absolute;
                    left: 0;
                    font-size: 1.2rem;
                    letter-spacing: .07em;
                    transform: translateX(-15%);
                }
            }
        }
    }
    .p-price__intro-attention {
        font-size: 1.2rem;
        line-height: 1.5;
    }
}
@media screen and (max-width: 768px) {
    .price {
        padding-top: calc( 80vw / 3.9 );
        .price__title {
            font-size: calc( 26vw / 3.9 );
            margin-bottom: 2em;
        }
        .price__intro {
            flex-direction: column;
            border-radius: calc( 10vw / 3.9 );
            height: calc( 130vw / 3.9 );
            margin-bottom: calc( 30vw / 3.9 );
            padding-inline: calc( 21vw / 3.9 )
        }
        .price__intro-title {
            font-size: calc( 16vw / 3.9 );
            padding-left: 0;
            padding-top: calc( 30vw / 3.9 );
        }
        .price__intro-num {
            margin-top: calc( 13vw / 3.9 );
            display: flex;
            align-items: flex-end;
            gap: calc( 10vw / 3.9 );
            width: 100%;
            height: 100%;
            border-left: none;
            border-top: 2px solid #707070;
            padding-bottom: calc( 16vw / 3.9 );
            span {
                font-size: calc( 45vw / 3.9 );
            }
            font-size: calc( 18vw / 3.9 );
        }
        .p-price__plan-item {
            border-radius: calc( 10vw / 3.9 );
        }
        .p-price__plan-type {
            font-size: calc( 18vw / 3.9 );
        }
        .p-price__plan-price {
            padding-block: calc( 21vw / 3.9 ) calc( 14vw / 3.9 );
        }
        .c-plan-table__section-header {
            > p {
                width: 100%;
                margin-left: 0;
                &:first-child {
                    &::after {
                        top: .75em;
                    }
                    &::before {
                        content: '詳細';
                        position: absolute;
                        top: -.5em;
                        left: 0;
                        font-size: calc( 10vw / 3.9 );
                        transform: translateX(-10%);
                    }
                }
            }
        }
        .c-plan-table__row {
            height: auto;
        }
        .p-price__intro-attention {
            font-size: calc( 16vw / 3.9 );
            line-height: 1.75;
        }
    }
}

.c-service__title {
    font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
    font-weight: 500;
    font-size: 3rem;
}
@media screen and (max-width: 768px) {
    .c-service__title {
        font-size: calc( 24vw / 3.9 );
        margin-bottom: calc( 40vw / 3.9 );
    }
}

.p-consulting__point {
    padding-top: 12rem;
}
.p-consulting__point-title {
    text-align: center;
}
@media screen and (max-width: 768px) {
    .p-consulting__point {
        padding-top: calc( 130vw / 3.9 );
    }
}

.p-flow__group {
    border-top: none;
    padding-top: 15rem;
    padding-bottom: 12rem;
}
.p-flow__title {
    text-align: center;
}
.p-flow__contact-tel-item,
.p-flow__contact-mail {
    background: #D6C9A7;
}

.p-consulting__merit {
    padding-top: 12rem;
    padding-bottom: 14rem;
}
.p-consulting__merit-item-title {
    background: #EFEFEF;
}
@media screen and (max-width: 768px) {
    .p-flow__group {
        padding-top: calc( 70vw / 3.9 );
        padding-bottom: calc( 70vw / 3.9 );
    }
    .p-flow__contact-tel-item-number {
        font-size: 4vw !important;
        a::before {
            display: inline-flex;
            scale: .85;
        }
    }
    .p-consulting__merit {
        padding-top: calc( 70vw / 3.9 );
        padding-bottom: calc( 40vw / 3.9 );
    }
}

.float-cta {
    position: fixed;
    right: 3.6rem;
    bottom: 2rem;
    z-index: 10;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    border-radius: 1rem;
    padding: 1.7rem 1.7rem 1.2rem;
    opacity: 0;
    pointer-events: none;
    transition: .5s;
    &.is-show {
        opacity: 1;
        pointer-events: auto;
    }
    .float-cta__text {
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        color: white;
        font-size: 1.4rem;
        font-weight: 500;
        letter-spacing: .08em;
        margin-bottom: .9em;
    }
    .float-cta__list {
        display: flex;
        gap: .5rem;
        a {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 4.5rem;
            width: 16rem;
            background: #B99E6E;
            color: white;
            border-radius: .5rem;
            font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
            font-weight: 500;
            gap: .5rem;
            font-size: 1.3rem;
            &[href*="tel:"] {
                width: 18rem;
                background: white;
                color: #000000;
                font-family: "Abel", sans-serif;
                font-size: 1.5rem;
                letter-spacing: .01em;
            }
        }

    }
}
@media screen and (max-width: 768px) {
    .float-cta {
        right: 0;
        left: 0;
        bottom: 0;
        border-radius: 0;
        padding: 0;
        .float-cta__text {
            font-size: calc( 12vw / 3.9 );
            margin-bottom: 0;
            padding-block: calc( 5vw / 3.9 );
            text-align: center;
        }
        .float-cta__list {
            display: flex;
            gap: 1px;
            a {
                height: calc( 46vw / 3.9 );
                width: calc( 135vw / 3.9 );
                border-radius: calc( 10vw / 3.9 ) calc( 10vw / 3.9 ) 0 0;
                gap: calc( 7vw / 3.9 );
                font-size: calc( 12vw / 3.9 );
                text-align: center;
                line-height: 1.25;
                &[href*="tel:"] {
                    width: auto;
                    flex: 1;
                    img {
                        height: calc( 20vw / 3.9 );
                    }
                    span {
                        display: none;
                    }
                }
                &:first-child {
                    border-radius: 0 calc( 10vw / 3.9 ) 0 0;
                }
                &:last-child {
                    border-radius: calc( 10vw / 3.9 ) 0 0 0;
                }
            }

        }
    }
}

.internal-links {
    position: fixed;
    right: auto;
    left: 0;
    bottom: 2rem !important;
    display: inline-flex;
    flex-direction: column;
    gap: 2rem;
    transform: none !important;
    padding: 2.4rem 0;
    background: rgba(214, 201, 167, .4);
    backdrop-filter: blur(4px);
    mix-blend-mode: multiply;
    border-radius: 0 1rem 1rem 0;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: .5s;
    &.is-show {
        opacity: 1;
        pointer-events: auto;
    }
    a {
        font-size: 1.2rem;
        font-family: kozuka-mincho-pro, 小塚明朝 Pro, serif;
        font-weight: 500;
        width: auto;
        height: auto;
        transform: none !important;
        text-align: left;
        line-height: 1.4166666667;
        padding: 0 3rem;
        color: #000000;
        position: relative;
        overflow: visible;
        &::before {
            content: '';
            position: absolute;
            top: .35em;
            left: 1em;
            width: .7em;
            height: .7em;
            border-right: 1px solid;
            border-bottom: 1px solid;
            rotate: -45deg;
            transition: .3s;
            opacity: 0;
        }
        &.is-active {
            &::before {
                opacity: 1;
            }
        }
    }
}

.grecaptcha-badge {
    visibility: hidden;
}
p.c-to-top {
    display: none;
}

@media screen and (max-width: 768px) {
    .internal-links {
        display: none;
    }
}
