@charset "UTF-8";

/* トップページ */

.fv {
    height: 639px;
    position: relative;
    overflow: hidden;
    background: white;
}

.fv__list {
    display: flex;
    gap: 21.169px;
    width: max-content;
    transform: translateX(-237px);
    will-change: transform;
}

.fv__img {
    width: 583.345px;
    height: 615.419px;
    flex: none;
}

.fv h1 {
    position: absolute;
    top: 365px;
    left: 4.86%;
    font-size: 7.2rem;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: white;
}

.fv h1 span {
    padding: 8px 18px;
    background: var(--blue);
    width: fit-content;
}

.fv__pause-btn {
    position: absolute;
    right: 20px;
    bottom: 35px;
    background: #163672bb;
    color: white;
    border: 1px solid white;
    width: 32px;
    height: 32px;
    line-height: 1;
    font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
    .fv {
        height: calc(639 / 375 * 100vw);
        height: calc(380 / 375 * 100vw);
        padding-top: calc(16 / 375 * 100vw);
    }

    .fv__list {
        gap: calc(21.169 / 375 * 100vw);
        transform: translateX(calc(-237 / 375 * 100vw));
        gap: calc(16 / 375 * 100vw);
        transform: translateX(calc(-280 / 375 * 100vw));
    }

    .fv__img {
        width: calc(583.345 / 375 * 100vw);
        height: calc(615.419 / 375 * 100vw);
        width: calc(330 / 375 * 100vw);
        height: calc(348 / 375 * 100vw);
    }

    .fv h1 {
        top: calc(365 / 375 * 100vw);
        font-size: calc(72 / 375 * 100vw);
        gap: calc(16 / 375 * 100vw);
        left: calc(16 / 375 * 100vw);
        top: calc(236 / 375 * 100vw);
        font-size: calc(32 / 375 * 100vw);
        line-height: 1;
        gap: calc(8 / 375 * 100vw);
    }

    .fv h1 span {
        padding: calc(8 / 375 * 100vw) calc(18 / 375 * 100vw);
        padding: calc(10 / 375 * 100vw);
    }

    .fv__pause-btn {
        right: calc(20 / 375 * 100vw);
        bottom: calc(35 / 375 * 100vw);
        width: calc(32 / 375 * 100vw);
        height: calc(32 / 375 * 100vw);
        font-size: calc(14 / 375 * 100vw);
        right: calc(8 / 375 * 100vw);
        bottom: calc(23 / 375 * 100vw);
        width: calc(28 / 375 * 100vw);
        height: calc(28 / 375 * 100vw);
    }
}

@media screen and (min-width: 769px) {
    .fv h1 {
        left: 8.333333%;
    }
}

@media screen and (min-width: 1441px) {
    .fv {
        height: calc(639 / 1440 * 100vw);
    }

    .fv__list {
        gap: calc(21.169 / 1440 * 100vw);
        transform: translateX(calc(-237 / 1440 * 100vw));
    }

    .fv__img {
        width: calc(583.345 / 1440 * 100vw);
        height: calc(615.419 / 1440 * 100vw);
    }

    .fv h1 {
        top: calc(365 / 1440 * 100vw);
        font-size: calc(72 / 1440 * 100vw);
        gap: calc(16 / 1440 * 100vw);
    }

    .fv h1 span {
        padding: calc(8 / 1440 * 100vw) calc(18 / 1440 * 100vw);
    }

    .fv__pause-btn {
        right: calc(20 / 1440 * 100vw);
        bottom: calc(35 / 1440 * 100vw);
        border: calc(1 / 1440 * 100vw) solid white;
        width: calc(32 / 1440 * 100vw);
        height: calc(32 / 1440 * 100vw);
        font-size: calc(14 / 1440 * 100vw);
    }
}

.about {
    min-height: 1312px;
    padding: 60px 8.333333% 190px;
    display: flex;
    justify-content: space-between;
    gap: 60px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(128deg,#163672,#45608f);
    color: white;
}

.about__title-background {
    position: absolute;
    left: -56px;
    top: 0;
    width: calc(696 / 1440 * 100vw);
    height: 249px;
    max-width: none;
    min-width: 460px;
    background-position: left top;
}

.about__background {
    position: absolute;
    left: 23.47%;
    top: 249px;
    width: 1300px;
    height: 841px;
    max-width: none;
}

.about__inner {
    position: relative;
    padding-top: 40px;
    width: 680px;
    flex-shrink: 0;
}

.about__txt {
    display: flex;
    flex-direction: column;
    gap: 40px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: -.035em;
}

.about__inner .link__btn {
    margin-top: 64px;
}

.about::after {
    position: absolute;
    right: -108px;
    bottom: -126px;
    width: 36%;
}

@media screen and (max-width: 768px) {
    .about {
        min-height: calc(1312 / 375 * 100vw);
        padding: calc(60 / 375 * 100vw) max(6%,calc((100% - calc(1200 / 375 * 100vw))/2)) calc(190 / 375 * 100vw);
        gap: calc(60 / 375 * 100vw);
        display: block;
        min-height: calc(1177 / 375 * 100vw);
        padding: calc(36 / 375 * 100vw) calc(16 / 375 * 100vw) calc(140 / 375 * 100vw);
    }

    .about__title-background {
        left: calc(-56 / 375 * 100vw);
        width: calc(696 / 375 * 100vw);
        height: calc(249 / 375 * 100vw);
        width: calc(328 / 375 * 100vw);
        height: calc(117 / 375 * 100vw);
        left: 0;
    }

    .about__background {
        top: calc(249 / 375 * 100vw);
        width: calc(1300 / 375 * 100vw);
        height: calc(841 / 375 * 100vw);
        width: calc(343 / 375 * 100vw);
        height: calc(222 / 375 * 100vw);
        left: calc(16 / 375 * 100vw);
        top: calc(727 / 375 * 100vw);
    }

    .about__inner {
        padding-top: calc(40 / 375 * 100vw);
        width: calc(680 / 375 * 100vw);
        width: 100%;
        padding-top: calc(75 / 375 * 100vw);
    }

    .about__txt {
        gap: calc(40 / 375 * 100vw);
        font-size: calc(24 / 375 * 100vw);
        font-size: calc(16 / 375 * 100vw);
        line-height: 1.8;
        gap: calc(20 / 375 * 100vw);
        letter-spacing: 0;
    }

    .about__inner .link__btn {
        margin-top: calc(64 / 375 * 100vw);
        margin-top: calc(60 / 375 * 100vw);
    }

    .about::after {
        right: calc(-108 / 375 * 100vw);
        bottom: calc(-126 / 375 * 100vw);
        width: calc(524 / 375 * 100vw);
        height: calc(514 / 375 * 100vw);
        width: calc(136 / 375 * 100vw);
        height: calc(134 / 375 * 100vw);
        right: calc(-28 / 375 * 100vw);
        bottom: calc(-20 / 375 * 100vw);
    }
}

@media screen and (min-width: 769px) {
    .about__inner {
        width: 57%;
        min-width: 0;
        flex-shrink: 1;
    }

    .about__txt {
        font-size: clamp(17px, calc(24 / 1440 * 100vw), 24px);
    }
}

@media screen and (min-width: 1441px) {
    .about {
        min-height: calc(1312 / 1440 * 100vw);
        padding: calc(60 / 1440 * 100vw) 8.333333% calc(190 / 1440 * 100vw);
        gap: calc(60 / 1440 * 100vw);
    }

    .about__title-background {
        left: calc(-56 / 1440 * 100vw);
        width: calc(696 / 1440 * 100vw);
        height: calc(249 / 1440 * 100vw);
    }

    .about__background {
        top: calc(249 / 1440 * 100vw);
        width: calc(1300 / 1440 * 100vw);
        height: calc(841 / 1440 * 100vw);
    }

    .about__inner {
        padding-top: calc(40 / 1440 * 100vw);
        width: calc(680 / 1440 * 100vw);
    }

    .about__txt {
        gap: calc(40 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
    }

    .about__inner .link__btn {
        margin-top: calc(64 / 1440 * 100vw);
    }

    .about::after {
        right: calc(-108 / 1440 * 100vw);
        bottom: calc(-126 / 1440 * 100vw);
        width: calc(524 / 1440 * 100vw);
        height: calc(514 / 1440 * 100vw);
    }
}

.business {
    padding: 120px 8.333333%;
    display: grid;
    grid-template-columns: 588fr 536fr;
    gap: calc(76 / 1440 * 100vw);
    align-items: end;
    position: relative;
    overflow: hidden;
}

.business__inner {
    position: relative;
}

.business__txt {
    font-size: calc(18 / 1440 * 100vw);
    margin: calc(40 / 1440 * 100vw) 0;
    line-height: 1.8;
}

.business__visual {
    position: relative;
}

.business__img {
    z-index: 1;
    width: 100%;
    aspect-ratio: 588/485;
    display: grid;
}

.business__visual::before,
.business__visual::after {
    content: "";
    background: url("../images/business-decoration.svg") center / contain no-repeat;
    pointer-events: none;
    z-index: 0;
    position: absolute;
    width: calc(150 / 1440 * 100vw);
    height: calc(150 / 1440 * 100vw);
    transform: rotate(45deg);
}

.business__visual::before {
    left: -12%;
    top: -15%;
}

.business__visual::after {
    right: -12%;
    bottom: -15%;
}

.business__item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(20 / 1440 * 100vw) 0;
    border-bottom: 1px solid var(--ink);
    font-size: calc(24 / 1440 * 100vw);
    font-weight: 700;
}

.business__item > a > span:first-child {
    display: flex;
    gap: 25px;
    align-items: center;
}

.business__item .arrow__box {
    width: calc(50 / 1440 * 100vw);
    height: calc(50 / 1440 * 100vw);
}

.business__item b {
    font-family: Roboto,sans-serif;
    width: 40px;
    text-align: center;
}

.business__inner > .link__btn {
    margin-top: 64px;
}

.business__item-img {
    display: none;
}

@media screen and (max-width: 768px) {
    .business {
        min-height: calc(1009 / 375 * 100vw);
        padding: calc(120 / 375 * 100vw) max(6%,calc((100% - calc(1200 / 375 * 100vw))/2));
        gap: calc(76 / 375 * 100vw);
        display: block;
        padding: calc(40 / 375 * 100vw) calc(16 / 375 * 100vw);
        min-height: 0;
    }

    .business__txt {
        font-size: calc(18 / 375 * 100vw);
        margin: calc(40 / 375 * 100vw) 0;
        font-size: calc(16 / 375 * 100vw);
        margin: calc(20 / 375 * 100vw) 0;
        max-width: calc(343 / 375 * 100vw);
    }

    .business__visual::before,
    .business__visual::after {
        width: calc(150 / 375 * 100vw);
        height: calc(150 / 375 * 100vw);
    }

    .business__visual::before {
        left: calc(-75 / 375 * 100vw);
        top: calc(-50 / 375 * 100vw);
    }

    .business__visual::after {
        right: calc(-20 / 375 * 100vw);
        bottom: calc(-65 / 375 * 100vw);
    }

    .business__item > a {
        padding: calc(20 / 375 * 100vw) 0;
        border-bottom: calc(1 / 375 * 100vw) solid var(--ink);
        font-size: calc(24 / 375 * 100vw);
        padding: 0;
        border: 0;
        font-size: calc(20 / 375 * 100vw);
    }

    .business__item b {
        font-size: calc(24 / 375 * 100vw);
        width: calc(40 / 375 * 100vw);
    }

    .business__inner > .link__btn {
        margin-top: calc(64 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw);
    }

    .business__visual {
        display: none;
    }

    .business__item > a > span:first-child {
        gap: calc(25 / 375 * 100vw);
    }

    .business__item {
        padding: calc(32 / 375 * 100vw) 0;
        border-bottom: calc(1 / 375 * 100vw) solid var(--ink);
    }

    .business__item-img {
        display: block;
        margin-top: calc(28 / 375 * 100vw);
        width: 100%;
        aspect-ratio: 588/485;
    }

    .business__item .arrow__box {
        width: calc(30 / 375 * 100vw);
        height: calc(30 / 375 * 100vw);
    }
}

@media screen and (min-width: 1441px) {
    .business {
        min-height: calc(1009 / 1440 * 100vw);
        padding: calc(120 / 1440 * 100vw) 8.333333%;
        gap: calc(76 / 1440 * 100vw);
    }

    .business__txt {
        font-size: calc(18 / 1440 * 100vw);
        margin: calc(40 / 1440 * 100vw) 0;
    }

    .business__visual::before,
    .business__visual::after {
        width: calc(150 / 1440 * 100vw);
        height: calc(150 / 1440 * 100vw);
    }

    .business__item > a {
        padding: calc(20 / 1440 * 100vw) 0;
        border-bottom: calc(1 / 1440 * 100vw) solid var(--ink);
        font-size: calc(24 / 1440 * 100vw);
    }

    .business__item > a > span:first-child {
        gap: calc(25 / 1440 * 100vw);
    }

    .business__item b {
        width: calc(40 / 1440 * 100vw);
    }

    .business__inner > .link__btn {
        margin-top: calc(64 / 1440 * 100vw);
    }
}

.interview {
    padding: 0 8.333333% 170px;
    position: relative;
    background: var(--blue);
    display: grid;
    grid-template-columns: 536fr 608fr;
    gap: 66px;
    overflow: clip;
}

.interview__inner {
    position: relative;
    z-index: 1;
    padding-top: 60px;
}

.interview__inner > p {
    font-size: 1.8rem;
    margin: 40px 0 63px;
    line-height: 1.8;
}

.interview__list {
    display: flex;
    flex-direction: column;
    gap: 88px;
    position: relative;
    padding-top: 226px;
    z-index: 1;
}

.interview__item {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 608/394;
}

.interview__img {
    width: 100%;
    height: 100%;
}

.interview__catch {
    position: absolute;
    left: 16px;
    top: 16px;
    padding: 8px 12px;
    background: var(--pink);
    color: white;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
}

.interview__profile {
    position: absolute;
    bottom: 0;
    left: 0;
    background: white;
    border: 1px solid var(--ink);
    width: 271px;
    padding: 10px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.4;
}

.interview__profile > div {
    display: flex;
    flex-direction: column;
}

.interview__profile strong {
    font-size: 2rem;
    margin-bottom: 5px;
}

.interview__profile span {
    font-size: 1.6rem;
}

.interview__btn-sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .interview {
        min-height: calc(2280 / 375 * 100vw);
        padding: calc(271 / 375 * 100vw) max(6%,calc((100% - calc(1200 / 375 * 100vw))/2)) calc(170 / 375 * 100vw);
        gap: calc(66 / 375 * 100vw);
        display: block;
        padding: calc(60 / 375 * 100vw) calc(16 / 375 * 100vw);
        min-height: 0;
        overflow: hidden;
    }

    .interview__inner > p {
        font-size: calc(18 / 375 * 100vw);
        margin: calc(40 / 375 * 100vw) 0 calc(63 / 375 * 100vw);
        font-size: calc(16 / 375 * 100vw);
        line-height: 1.8;
        margin: calc(20 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
        max-width: calc(270 / 375 * 100vw);
    }

    .interview__list {
        gap: calc(88 / 375 * 100vw);
        gap: calc(40 / 375 * 100vw);
        padding-top: 0;
    }

    .interview__catch {
        left: calc(16 / 375 * 100vw);
        top: calc(16 / 375 * 100vw);
        padding: calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
        font-size: calc(20 / 375 * 100vw);
        left: calc(8 / 375 * 100vw);
        top: calc(8 / 375 * 100vw);
        padding: calc(8 / 375 * 100vw);
        font-size: calc(12 / 375 * 100vw);
        line-height: 1.5;
    }

    .interview__profile {
        width: calc(271 / 375 * 100vw);
        padding: calc(10 / 375 * 100vw) calc(30 / 375 * 100vw);
        width: calc(165 / 375 * 100vw);
        padding: calc(6 / 375 * 100vw) calc(16 / 375 * 100vw);
        line-height: 1.25;
    }

    .interview__profile strong {
        font-size: calc(20 / 375 * 100vw);
        margin-bottom: calc(5 / 375 * 100vw);
        font-size: calc(14 / 375 * 100vw);
        margin-bottom: calc(4 / 375 * 100vw);
    }

    .interview__profile span {
        font-size: calc(16 / 375 * 100vw);
        font-size: calc(12 / 375 * 100vw);
    }

    .interview__inner {
        position: relative;
        top: 0;
        max-width: calc(300 / 375 * 100vw);
        padding-top: 0;
    }

    .interview__inner > .link__btn {
        display: none;
    }

    .interview__item {
        aspect-ratio: 343/222;
    }

    .interview__profile .arrow__box {
        width: calc(32 / 375 * 100vw);
        height: calc(32 / 375 * 100vw);
    }

    .interview__profile .arrow__box::before {
        width: calc(16 / 375 * 100vw);
        height: calc(6 / 375 * 100vw);
    }

    .interview__btn-sp {
        display: flex;
        margin-top: calc(40 / 375 * 100vw);
    }
}

@media screen and (min-width: 769px) {
    .interview__catch {
        font-size: clamp(14px, calc(20 / 1440 * 100vw), 20px);
    }
}

@media screen and (min-width: 1441px) {
    .interview {
        min-height: calc(2280 / 1440 * 100vw);
        padding: calc(271 / 1440 * 100vw) 8.333333% calc(170 / 1440 * 100vw);
        gap: calc(66 / 1440 * 100vw);
    }

    .interview__inner > p {
        font-size: calc(18 / 1440 * 100vw);
        margin: calc(40 / 1440 * 100vw) 0 calc(63 / 1440 * 100vw);
    }

    .interview__list {
        gap: calc(88 / 1440 * 100vw);
    }

    .interview__catch {
        left: calc(16 / 1440 * 100vw);
        top: calc(16 / 1440 * 100vw);
        padding: calc(8 / 1440 * 100vw) calc(12 / 1440 * 100vw);
        font-size: calc(20 / 1440 * 100vw);
    }

    .interview__profile {
        border: calc(1 / 1440 * 100vw) solid var(--ink);
        width: calc(271 / 1440 * 100vw);
        padding: calc(10 / 1440 * 100vw) calc(30 / 1440 * 100vw);
    }

    .interview__profile strong {
        font-size: calc(20 / 1440 * 100vw);
        margin-bottom: calc(5 / 1440 * 100vw);
    }

    .interview__profile span {
        font-size: calc(16 / 1440 * 100vw);
    }
}

@media screen and (min-width: 769px) {
    .interview__sticky {
        position: sticky;
        top: 0;
        align-self: start;
        height: 100vh;
        height: 100dvh;
        display: flex;
        align-items: center;
        min-width: 0;
        z-index: 1;
    }

    .interview__inner {
        width: 100%;
    }

    .interview__inner::before {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        left: -120px;
        top: 45%;
        transform: translateY(-50%);
        width: 876px;
        height: 777px;
        background: url("../images/interview-background.svg") center / 100% 100% no-repeat;
    }
}

@media screen and (min-width: 1441px) {
    .interview__inner::before {
        left: calc(-120 / 1440 * 100vw);
        width: calc(876 / 1440 * 100vw);
        height: calc(777 / 1440 * 100vw);
    }
}

@media screen and (max-width: 768px) {
    .interview__sticky {
        display: contents;
    }

    .interview__inner::before {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        left: calc(-16 / 375 * 100vw);
        top: calc(-23 / 375 * 100vw);
        width: 100vw;
        height: calc(220 / 375 * 100vw);
        background: white;
        clip-path: polygon(0 0, 100% 0, 73% 100%, 0 100%);
    }
}

.interview__img img,
.culture__img img {
    transition: transform .4s ease;
}

.business__img img.business__hover-image {
    opacity: 0;
    transition: opacity .3s ease;
}

.business__img img.business__hover-image.is-visible {
    opacity: 1;
}

.culture {
    padding: 120px 8.333333%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.culture > p {
    text-align: center;
    font-size: 1.8rem;
}

.culture__list {
    display: flex;
    justify-content: center;
    gap: 60px;
    width: 100%;
    margin-top: 20px;
}

.culture__item {
    position: relative;
    width: 520px;
    max-width: 50%;
}

.culture__img {
    aspect-ratio: 520/410;
    width: 100%;
}

.culture__label {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 2.4rem;
    font-weight: 700;
    color: white;
    background: linear-gradient(#8d8d8d80,#0a0a0a99);
}

.culture__label .arrow__box {
    border: none;
}

.business__item > a:focus-visible .arrow__box,
.interview__profile:focus-visible .arrow__box,
.culture__item:focus-visible .arrow__box {
    background: var(--blue);
    border-color: var(--blue);
}

.business__item > a:focus-visible .arrow__box::before,
.interview__profile:focus-visible .arrow__box::before,
.culture__item:focus-visible .arrow__box::before {
    filter: brightness(0) invert(1);
}

@media (hover: hover) and (pointer: fine) {
    .business__item > a:hover,
        .interview__profile:hover,
        .culture__item:hover {
        opacity: 1;
    }

    .business__item:hover .arrow__box,
        .interview__profile:hover .arrow__box,
        .culture__item:hover .arrow__box {
        background: var(--blue);
        border-color: var(--blue);
    }

    .business__item:hover .arrow__box::before,
        .interview__profile:hover .arrow__box::before,
        .culture__item:hover .arrow__box::before {
        filter: brightness(0) invert(1);
    }
}

.business__img > img,
.business__img > picture {
    grid-area: 1 / 1;
    align-self: start;
}

.interview__item:has(.interview__profile:focus-visible) .interview__img img,
.culture__item:focus-visible .culture__img img {
    transform: scale(1.04);
}

@media (hover: hover) and (pointer: fine) {
    .interview__item:has(.interview__profile:hover) .interview__img img,
        .culture__item:hover .culture__img img {
        transform: scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce) {
    .interview__img img,
        .culture__img img,
        .business__img img.business__hover-image {
        transition: none;
    }

    .interview__item .interview__img img,
        .culture__item .culture__img img {
        transform: none;
    }
}

@media screen and (min-width: 769px) {
    .interview__catch {
        font-size: calc(20 / 1440 * 100vw);
        left: calc(16 / 1440 * 100vw);
        top: calc(16 / 1440 * 100vw);
        padding: calc(8 / 1440 * 100vw) calc(12 / 1440 * 100vw);
    }

    .interview__profile {
        width: calc(271 / 1440 * 100vw);
        padding: calc(10 / 1440 * 100vw) calc(30 / 1440 * 100vw);
    }

    .interview__profile strong {
        font-size: calc(20 / 1440 * 100vw);
        margin-bottom: calc(5 / 1440 * 100vw);
    }

    .interview__profile span {
        font-size: calc(16 / 1440 * 100vw);
    }

    .interview__profile .arrow__box {
        width: calc(50 / 1440 * 100vw);
        height: calc(50 / 1440 * 100vw);
    }

    .interview__profile .arrow__box::before {
        width: calc(24 / 1440 * 100vw);
        height: calc(8 / 1440 * 100vw);
    }
}

@media screen and (max-width: 768px) {
    .culture {
        padding: calc(120 / 375 * 100vw) max(6%,calc((100% - calc(1200 / 375 * 100vw))/2));
        min-height: calc(885 / 375 * 100vw);
        gap: calc(40 / 375 * 100vw);
        padding: calc(60 / 375 * 100vw) calc(16 / 375 * 100vw);
        min-height: 0;
        gap: calc(20 / 375 * 100vw);
    }

    .culture > p {
        font-size: calc(18 / 375 * 100vw);
        font-size: calc(16 / 375 * 100vw);
        max-width: calc(270 / 375 * 100vw);
        color: var(--blue);
    }

    .culture__list {
        gap: calc(60 / 375 * 100vw);
        flex-direction: column;
        gap: calc(10 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw);
    }

    .culture__item {
        width: calc(520 / 375 * 100vw);
        width: 100%;
        max-width: none;
    }

    .culture__label {
        font-size: calc(24 / 375 * 100vw);
        font-size: calc(20 / 375 * 100vw);
        padding: calc(10 / 375 * 100vw) calc(16 / 375 * 100vw) calc(20 / 375 * 100vw);
    }

    .culture__img {
        aspect-ratio: 343/270;
    }
}

@media screen and (min-width: 1441px) {
    .culture {
        padding: calc(120 / 1440 * 100vw) 8.333333%;
        min-height: calc(885 / 1440 * 100vw);
        gap: calc(40 / 1440 * 100vw);
    }

    .culture > p {
        font-size: calc(18 / 1440 * 100vw);
    }

    .culture__list {
        gap: calc(60 / 1440 * 100vw);
        margin-top: calc(20 / 1440 * 100vw);
    }

    .culture__item {
        width: calc(520 / 1440 * 100vw);
    }

    .culture__label {
        padding: calc(10 / 1440 * 100vw) calc(16 / 1440 * 100vw) calc(20 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
    }
}

@media screen and (max-width: 768px) {
    body {
        font-size: calc(16 / 375 * 100vw);
    }
}
