@charset "UTF-8";

body>span {
    max-width: 100vw;
    overflow: hidden
}

@media screen and (max-width: 767px) {
    body {
        overflow-y: unset;
        overflow-x: unset
    }
}

@media screen and (min-width: 768px) {
    .p-farm {
        padding: 80px 0 80px
    }

    .p-farm .l-section__heading-title {
        letter-spacing: .2em
    }

    .p-farm-mv {
        overflow: hidden;
        height: calc(100vh - 80px)
    }

    .p-farm-mv__bg {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        pointer-events: none
    }

    .p-farm-mv__bg::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        opacity: .7;
        background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
        z-index: 3
    }

    .p-farm-mv__bg-video {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        opacity: 0;
        z-index: 2;
        -webkit-transition: opacity .5s;
        transition: opacity .5s
    }

    .p-farm-mv__bg-video.is-playing {
        opacity: 1
    }

    .p-farm-mv__bg-video iframe {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 1
    }

    .p-farm-mv__bg-image {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        z-index: 1
    }

    .p-farm-mv__bg-image img {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center
    }

    .p-farm-mv__bg-video,
    .p-farm-mv__bg-image {
        width: 101vw;
        height: 63.125vw
    }
}

@media screen and (min-width: 768px)and (max-aspect-ratio: 1280/800) {

    .p-farm-mv__bg-video,
    .p-farm-mv__bg-image {
        width: 161.6vh;
        height: 101vh
    }
}

@media screen and (min-width: 768px) {
    .p-farm-mv__content {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 107px;
        text-align: center;
        z-index: 5;
        color: #fff
    }

    .p-farm-mv__title {
        font-size: 42px;
        line-height: 1.2;
        letter-spacing: .2em
    }

    .p-farm-mv__subtitle {
        margin-top: 16px;
        font-size: 22px;
        line-height: 1.2;
        letter-spacing: .03em
    }

    .p-farm-mv__scroll {
        position: absolute;
        left: 50%;
        bottom: 0;
        height: 50px;
        width: 1px;
        background: rgba(255, 255, 255, .4);
        pointer-events: none;
        z-index: 2;
        -webkit-transition: opacity .4s ease-out;
        transition: opacity .4s ease-out
    }

    .p-farm-mv__scroll span {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: block;
        background: #fff;
        -webkit-animation: scrollbar-anim 3s ease-out infinite;
        animation: scrollbar-anim 3s ease-out infinite
    }

    .p-farm-concept {
        padding: 120px 0
    }

    .p-farm-concept__text {
        text-align: center;
        font-size: 14px;
        line-height: 2;
        letter-spacing: .03em
    }

    .p-farm-our {
        padding: 122px 0 107px;
        background: #e3f0ea
    }

    .p-farm-our__inner {
        width:59.375%
    }

    .p-farm-our__subtitle {
        margin-top: 15px
    }

    .p-farm-our__text {
        margin-top: 39px;
        font-size: 14px;
        line-height: 1.8571428571;
        letter-spacing: .03em
    }

    .p-farm-our__list {
        margin-top: 76px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        -webkit-column-gap: 24px;
        -moz-column-gap: 24px;
        column-gap: 24px
    }

    .p-farm-our__list--single{margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:69.4736%}.p-farm-our__list:not(:first-child){margin-top:40px}

    .p-farm-our__item-content {
        margin-top: 13px
    }

    .p-farm-our__item-title {
        font-size: 18px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-our__item-text {
        margin-top: 11px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-process {
        padding: 150px 0 0
    }

    .p-farm-process::after {
        content: "";
        display: block;
        position: sticky;
        bottom: 0;
        left: calc(50% - 10px);
        width: 20px;
        height: 145px;
        z-index: 2;
        background: #fff
    }

    .p-farm-process__heading {
        position: relative;
        z-index: 3
    }

    .p-farm-process__subtitle {
        margin-top: 15px
    }

    .p-farm-process__list {
        margin-top: 40px
    }

    .p-farm-process__item {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        gap: 44px;
        padding: 50px 0 57px
    }

    .p-farm-process__item:nth-child(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .p-farm-process__item:nth-child(1) {
        padding-top: 55px
    }

    .p-farm-process__item-border {
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        width: 7px;
        z-index: 0
    }

    .p-farm-process__item-border::before,
    .p-farm-process__item-border::after {
        content: "";
        display: block;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #323232;
        position: absolute;
        left: 0;
        z-index: 0
    }

    .p-farm-process__item-border::before {
        display: none;
        top: 0
    }

    .p-farm-process__item-border::after {
        bottom: 0
    }

    .p-farm-process__item-border span {
        position: absolute;
        display: block;
        left: 3px;
        top: 0;
        bottom: 0;
        width: 1px;
        border-left: 1px dashed #323232
    }

    .p-farm-process__item:first-child .p-farm-process__item-border::before {
        display: block
    }

    .p-farm-process__item.is-visible .p-farm-process__item-border {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }

    .p-farm-process__item-image {
        position: relative;
        z-index: 3;
        width: 65.926%;
        overflow: hidden
    }

    .p-farm-process__item-video {
        position: relative
    }

    .p-farm-process__item-video iframe {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 100.5%;
        height: 100.5%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        opacity: 0;
        -webkit-transition: opacity .3s;
        transition: opacity .3s;
        pointer-events: none;
        z-index: 2
    }

    .p-farm-process__item-video img {
        position: relative;
        z-index: 1
    }

    .p-farm-process__item-video.is-playing iframe {
        opacity: 1
    }

    .p-farm-process__item-slider {
        background: #fff
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 19px;
        text-align: center;
        line-height: 1;
        font-size: 0;
        z-index: 3
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
        position: relative;
        width: 6px;
        height: 6px;
        border-radius: 3px;
        background: #a5a5a5;
        opacity: 1;
        -webkit-transition: background-color .3s;
        transition: background-color .3s;
        margin: 0
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet:not(:first-child) {
        margin-left: 8px
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet svg {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(-90deg);
        -ms-transform: translate(-50%, -50%) rotate(-90deg);
        transform: translate(-50%, -50%) rotate(-90deg)
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet svg circle {
        stroke: #a5a5a5;
        stroke-width: 1px;
        stroke-dashoffset: 25.132;
        stroke-dasharray: 25.132
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active {
        background: rgba(0, 0, 0, 0)
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active svg circle {
        stroke: #fff
    }

    .p-farm-process__item-slider-pagination.is-started-autoplay .swiper-pagination-bullet-active svg circle {
        stroke-dashoffset: 0;
        -webkit-transition: stroke-dashoffset 4.7s linear .3s, stroke .3s;
        transition: stroke-dashoffset 4.7s linear .3s, stroke .3s
    }

    .p-farm-process__item-slider-arrow {
        position: absolute;
        top: 50%;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        width: 62px;
        height: 62px;
        z-index: 2;
        cursor: pointer
    }

    .p-farm-process__item-slider-arrow::after {
        content: "";
        display: block;
        width: 14px;
        height: 14px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        position: absolute;
        left: 38%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg);
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s
    }

    .p-farm-process__item-slider-arrow--prev {
        -webkit-transform: translate(0, -50%) rotate(180deg);
        -ms-transform: translate(0, -50%) rotate(180deg);
        transform: translate(0, -50%) rotate(180deg);
        left: 0
    }

    .p-farm-process__item-slider-arrow--next {
        right: 0
    }

    .p-farm-process__item-slider-arrow:hover::after {
        -webkit-transform: translate(-30%, -50%) rotate(45deg);
        -ms-transform: translate(-30%, -50%) rotate(45deg);
        transform: translate(-30%, -50%) rotate(45deg)
    }

    .p-farm-process__item-content {
        position: relative;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        z-index: 3
    }

    .p-farm-process__item-number {
        color: #999;
        font-family: "Tasaki Sans", sans-serif;
        font-size: 100px;
        letter-spacing: .03em;
        line-height: 1;
        position: absolute;
        left: calc(100% - 32px);
        bottom: -20%;
        opacity: .1;
        pointer-events: none;
        z-index: -1
    }

    .p-farm-process__item-title {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        position: relative;
        font-size: 22px;
        line-height: 1.8571428571;
        letter-spacing: .03em
    }

    .p-farm-process__item-subtitle {
        margin-top: 21px;
        font-size: 18px;
        line-height: 1.8571428571;
        letter-spacing: .03em
    }

    .p-farm-process__item-text {
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: -webkit-gradient(linear, left bottom, left top, from(rgba(217, 217, 217, 0.1)), to(rgba(217, 217, 217, 0.1))), -webkit-gradient(linear, left top, left bottom, from(rgba(227, 240, 234, 0.7)), color-stop(50%, rgba(227, 240, 234, 0)), to(rgba(227, 240, 234, 0.7)));
        background: linear-gradient(0deg, rgba(217, 217, 217, 0.1) 0%, rgba(217, 217, 217, 0.1) 100%), linear-gradient(180deg, rgba(227, 240, 234, 0.7) 0%, rgba(227, 240, 234, 0) 50%, rgba(227, 240, 234, 0.7) 100%);
        z-index: 1
    }

    .p-farm-environmental__bg {
        position: sticky;
        top: 80px;
        height: 42.734375vw;
        width: 100%;
        z-index: 0
    }

    .p-farm-environmental__bg picture {
        position: relative
    }

    .p-farm-environmental__bg picture::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 15%;
        z-index: 1;
        background: -webkit-gradient(linear, left bottom, left top, from(white), to(transparent));
        background: linear-gradient(0deg, white, transparent)
    }

    .p-farm-environmental__inner {
        position: relative;
        margin-top: -42.734375vw;
        width: 69.84375%;
        padding: 107px 0 105px;
        z-index: 2
    }

    .p-farm-environmental__subtitle {
        margin-top: 15px
    }

    .p-farm-environmental__text {
        margin-top: 39px;
        font-size: 14px;
        line-height: 1.8571428571;
        letter-spacing: .03em
    }

    .p-farm-environmental__list {
        margin-top: 76px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        -webkit-column-gap: 24px;
        -moz-column-gap: 24px;
        column-gap: 24px
    }

    .p-farm-environmental__item-content {
        margin-top: 14px
    }

    .p-farm-environmental__item-title {
        font-size: 18px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental__item-text {
        margin-top: 11px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental__sustainability {
        margin-top: 121px;
        text-align: center
    }

    .p-farm-environmental__sustainability-text {
        font-size: 18px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental__sustainability-button {
        margin-top: 27px
    }

    .p-farm-collection {
        margin-top: -1px;
        padding: 93px 0 0
    }

    .p-farm-links {
        padding-top: 90px
    }
}

@media screen and (min-width: 768px)and (max-width: 1000px) {
    .p-farm-our__inner {
        width: 84.375%
    }

    .p-farm-process__item {
        -webkit-column-gap: 24px;
        -moz-column-gap: 24px;
        column-gap: 24px
    }

    .p-farm-process__item-image {
        width: 55%
    }

    .p-farm-process__item-number {
        font-size: 90px
    }

    .p-farm-process__item-title {
        font-size: 20px
    }

    .p-farm-process__item-subtitle {
        margin-top: 18px;
        font-size: 16px
    }

    .p-farm-process__item-text {
        margin-top: 7px;
        line-height: 1.7
    }

    .p-farm-environmental__inner {
        width: 84.375%
    }
}

@media screen and (max-width: 767px) {
    .p-farm {
        padding: 50px 0 80px
    }

    .p-farm .l-section__heading-title {
        font-size: 20px;
        letter-spacing: .2em;
        text-align: center
    }

    .p-farm .l-section__heading-subtitle {
        font-size: 22px;
        line-height: 1.4;
        letter-spacing: .03em;
        text-align: center
    }

    .p-farm-mv {
        overflow: hidden;
        height: calc(100vh - 50px);
        height: calc(100svh - 50px);
        width: 100vw;
        overflow: hidden;
        background: #ededed
    }

    .p-farm-mv__bg {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: calc(100vh - 50px);
        height: calc(100svh - 50px);
        z-index: 1;
        pointer-events: none
    }

    .p-farm-mv__bg::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        opacity: .7;
        background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
        z-index: 3
    }

    .p-farm-mv__bg-video {
        opacity: 1;
        z-index: 2;
        -webkit-transition: opacity .5s;
        transition: opacity .5s
    }

    .p-farm-mv__bg-video.is-playing {
        opacity: 1
    }

    .p-farm-mv__bg-video iframe {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 1
    }

    .p-farm-mv__bg-image {
        z-index: 1
    }

    .p-farm-mv__bg-image img {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        z-index: 1
    }

    .p-farm-mv__bg-video,
    .p-farm-mv__bg-image {
        position: absolute;
        left: 50%;
        top: 50%;
        height: 101vh;
        height: 101svh;
        padding-left: 161.6vh;
        padding-left: 161.6svh;
        width: auto;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
}

@media screen and (max-width: 767px)and (min-aspect-ratio: 1280/800) {

    .p-farm-mv__bg-video,
    .p-farm-mv__bg-image {
        height: 63.125vw;
        padding-left: 101vw
    }
}

@media screen and (max-width: 767px) {
    .p-farm-mv__content {
        position: absolute;
        left: calc((100% - 89.821%)/2);
        bottom: 100px;
        width: 89.821%;
        text-align: center;
        z-index: 2;
        color: #fff
    }

    .p-farm-mv__title {
        font-size: min(7.17vw, 28px);
        line-height: 1.2;
        letter-spacing: .2em
    }

    .p-farm-mv__subtitle {
        margin-top: 11px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-mv__scroll {
        position: absolute;
        left: 50%;
        bottom: 0;
        height: 50px;
        width: 1px;
        background: rgba(255, 255, 255, .4);
        pointer-events: none;
        z-index: 2;
        -webkit-transition: opacity .4s ease-out;
        transition: opacity .4s ease-out
    }

    .p-farm-mv__scroll span {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: block;
        background: #fff;
        -webkit-animation: scrollbar-anim 3s ease-out infinite;
        animation: scrollbar-anim 3s ease-out infinite
    }

    .p-farm-concept {
        padding: 100px 0
    }

    .p-farm-concept__text {
        font-size: 14px;
        line-height: 2;
        letter-spacing: .03em
    }

    .p-farm-our {
        padding: 104px 0 100px;
        background: #e3f0ea
    }

    .p-farm-our__subtitle {
        margin-top: 12px
    }
}

@media screen and (max-width: 767px)and (max-width: 380px) {
    .p-farm-our__subtitle br.u-only-responsive {
        display: inline
    }
}

@media screen and (max-width: 767px) {
    .p-farm-our__text {
        margin-top: 30px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-our__list {
        margin-top: 48px
    }
    .p-farm-our__item:not(:first-child) {
        margin-top: 38px
    }

    .p-farm-our__item-content {
        margin-top: 12px
    }

    .p-farm-our__item-title {
        font-size: 18px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-our__item-text {
        margin-top: 11px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-process {
        padding: 100px 0 100px
    }

    .p-farm-process__inner {
        width: 100%
    }

    .p-farm-process__heading {
        width: 89.821%;
        margin: 0 auto
    }

    .p-farm-process__title {
        line-height: 1.23
    }

    .p-farm-process__subtitle {
        margin-top: 12px
    }

    .p-farm-process__list {
        margin-top: 52px
    }

    .p-farm-process__item {
        position: relative
    }

    .p-farm-process__item-border {
        position: absolute;
        left: 50%;
        top: 0;
        height: 64px;
        width: 7px;
        -webkit-transition: -webkit-clip-path 1s ease;
        transition: -webkit-clip-path 1s ease;
        transition: clip-path 1s ease;
        transition: clip-path 1s ease, -webkit-clip-path 1s ease;
        -webkit-clip-path: inset(0 0 100% 0);
        clip-path: inset(0 0 100% 0)
    }

    .p-farm-process__item-border::after {
        content: "";
        display: block;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #323232;
        position: absolute;
        left: 0;
        bottom: 0
    }

    .p-farm-process__item-border span {
        position: absolute;
        display: block;
        left: 3px;
        top: 0;
        bottom: 0;
        width: 1px;
        border-left: 1px dashed #323232
    }

    .p-farm-process__item:first-child {
        padding-top: 62px
    }

    .p-farm-process__item:first-child .p-farm-process__item-border {
        display: none
    }

    .p-farm-process__item:not(:first-child) {
        margin-top: 28px;
        padding-top: 144px
    }

    .p-farm-process__item.is-visible .p-farm-process__item-border {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }

    .p-farm-process__item-image {
        margin-top: 23px;
        position: relative;
        z-index: 2;
        width: 100%;
        overflow: hidden
    }

    .p-farm-process__item-image::before {
        content: "";
        display: block;
        width: 100%;
        padding-top: 100%
    }

    .p-farm-process__item-image img {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 100%;
        width: auto
    }

    .p-farm-process__item-video {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%
    }

    .p-farm-process__item-video iframe {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        opacity: 0;
        -webkit-transition: opacity .3s;
        transition: opacity .3s;
        pointer-events: none;
        z-index: 2;
        height: 101vw;
        width: 179.78vw
    }

    .p-farm-process__item-video img {
        position: relative;
        z-index: 1;
        position: absolute;
        left: 50%;
        top: 50%;
        width: auto;
        height: 100%
    }

    .p-farm-process__item-video.is-playing iframe {
        opacity: 1
    }

    .p-farm-process__item-slider {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: #fff
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 20px;
        text-align: center;
        line-height: 1;
        font-size: 0;
        z-index: 3
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
        position: relative;
        width: 6px;
        height: 6px;
        border-radius: 3px;
        background: #a5a5a5;
        opacity: 1;
        -webkit-transition: background-color .3s;
        transition: background-color .3s;
        margin: 0
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet:not(:first-child) {
        margin-left: 8px
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet svg {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(-90deg);
        -ms-transform: translate(-50%, -50%) rotate(-90deg);
        transform: translate(-50%, -50%) rotate(-90deg)
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet svg circle {
        stroke: #a5a5a5;
        stroke-width: 1px;
        stroke-dashoffset: 25.132;
        stroke-dasharray: 25.132
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active {
        background: rgba(0, 0, 0, 0)
    }

    .p-farm-process__item-slider-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active svg circle {
        stroke: #fff
    }

    .p-farm-process__item-slider-pagination.is-started-autoplay .swiper-pagination-bullet-active svg circle {
        stroke-dashoffset: 0;
        -webkit-transition: stroke-dashoffset 4.7s linear .3s, stroke .3s;
        transition: stroke-dashoffset 4.7s linear .3s, stroke .3s
    }

    .p-farm-process__item-slider-arrow {
        position: absolute;
        top: 50%;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        width: 48px;
        height: 48px;
        z-index: 2;
        cursor: pointer
    }

    .p-farm-process__item-slider-arrow::after {
        content: "";
        display: block;
        width: 14px;
        height: 14px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        position: absolute;
        left: 38%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg);
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s
    }

    .p-farm-process__item-slider-arrow--prev {
        -webkit-transform: translate(0, -50%) rotate(180deg);
        -ms-transform: translate(0, -50%) rotate(180deg);
        transform: translate(0, -50%) rotate(180deg);
        left: 0
    }

    .p-farm-process__item-slider-arrow--next {
        right: 0
    }

    .p-farm-process__item-slider-arrow:hover::after {
        -webkit-transform: translate(-30%, -50%) rotate(45deg);
        -ms-transform: translate(-30%, -50%) rotate(45deg);
        transform: translate(-30%, -50%) rotate(45deg)
    }

    .p-farm-process__item-slider iframe {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%
    }

    .p-farm-process__item-content {
        position: relative;
        width: 89.821%;
        margin: 28px auto 0
    }

    .p-farm-process__item-number {
        color: #999;
        font-family: "Tasaki Sans", sans-serif;
        font-size: 100px;
        letter-spacing: .03em;
        line-height: 1;
        position: absolute;
        left: 50%;
        bottom: 9px;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        opacity: .1;
        pointer-events: none;
        z-index: -1
    }

    .p-farm-process__item-title {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        position: relative;
        font-size: 22px;
        line-height: 1.8571428571;
        letter-spacing: .03em;
        text-align: center;
        width: 89.821%;
        margin: 0 auto
    }

    .p-farm-process__item-subtitle {
        font-size: 18px;
        line-height: 1.8571428571;
        letter-spacing: .03em
    }

    .p-farm-process__item-text {
        margin-top: 7px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: -webkit-gradient(linear, left bottom, left top, from(rgba(217, 217, 217, 0.1)), to(rgba(217, 217, 217, 0.1))), -webkit-gradient(linear, left top, left bottom, from(rgba(227, 240, 234, 0.7)), color-stop(50%, rgba(227, 240, 234, 0)), to(rgba(227, 240, 234, 0.7)));
        background: linear-gradient(0deg, rgba(217, 217, 217, 0.1) 0%, rgba(217, 217, 217, 0.1) 100%), linear-gradient(180deg, rgba(227, 240, 234, 0.7) 0%, rgba(227, 240, 234, 0) 50%, rgba(227, 240, 234, 0.7) 100%);
        z-index: 1
    }

    .p-farm-environmental__bg {
        position: sticky;
        top: 50px;
        height: 93.3842vw;
        width: 100%;
        z-index: 0
    }

    .p-farm-environmental__bg picture {
        position: relative
    }

    .p-farm-environmental__bg picture::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 15%;
        z-index: 1;
        background: -webkit-gradient(linear, left bottom, left top, from(white), to(transparent));
        background: linear-gradient(0deg, white, transparent)
    }

    .p-farm-environmental__inner {
        position: relative;
        margin-top: -93.3842vw;
        padding: 100px 0 130px;
        z-index: 2
    }

    .p-farm-environmental__title {
        line-height: 1.19
    }

    .p-farm-environmental__subtitle {
        margin-top: 12px
    }

    .p-farm-environmental__text {
        margin-top: 30px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental__list {
        margin-top: 48px
    }

    .p-farm-environmental__item:not(:first-child) {
        margin-top: 23px
    }

    .p-farm-environmental__item-content {
        margin-top: 14px
    }

    .p-farm-environmental__item-title {
        font-size: 18px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental__item-text {
        margin-top: 9px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: .03em
    }

    .p-farm-environmental__sustainability {
        margin-top: 80px;
        text-align: center
    }

    .p-farm-environmental__sustainability-text {
        font-size: 18px;
        line-height: 1.83;
        letter-spacing: .03em
    }

    .p-farm-environmental__sustainability-button {
        margin-top: 28px
    }

    .p-farm-collection {
        margin-top: -1px;
        padding: 38px 0 0
    }

    .p-farm-collection__title {
        line-height: 1.2;
        letter-spacing: .2em
    }

    .p-farm-collection .c-collection__item-image img {
        aspect-ratio: 335/240
    }

    .p-farm-links {
        padding-top: 54px
    }
}

html[lang=ja] .p-farm-mv__subtitle {
    letter-spacing: .11em
}

html[lang=ja] .p-farm-concept__text {
    letter-spacing: .08em
}

html[lang=ja] .p-farm-our__item-title,
html[lang=ja] .p-farm-our__item-text {
    letter-spacing: .08em
}

html[lang=ja] .p-farm-process__item-title,
html[lang=ja] .p-farm-process__item-subtitle,
html[lang=ja] .p-farm-process__item-text {
    letter-spacing: .08em
}

html[lang=ja] .p-farm-environmental__text {
    letter-spacing: .08em
}

html[lang=ja] .p-farm-environmental__item-title,
html[lang=ja] .p-farm-environmental__item-text {
    letter-spacing: .08em
}

html[lang=ja] .p-farm-environmental__sustainability-text {
    letter-spacing: .08em
}

@media screen and (min-width: 768px) {
    html[lang=ja] .p-farm .l-section__heading-subtitle {
        letter-spacing: .08em
    }
}

@media screen and (max-width: 767px) {
    html[lang=ja] .p-farm .l-section__heading-subtitle {
        line-height: 1.4;
        letter-spacing: .08em
    }
}

html[lang=en] .p-farm-our__item-title {
    line-height: 1.6
}

html[lang=en] .p-farm-process__item-title {
    line-height: 1.3
}

html[lang=en] .p-farm-process__item-subtitle {
    line-height: 1.6
}

html[lang=en] .p-farm-environmental__item-title {
    line-height: 1.6
}

@media screen and (min-width: 768px) {
    html[lang=en] .p-farm-concept__text {
        max-width: 870px;
        margin: 0 auto
    }

    html[lang=en] .p-farm-our__text {
        max-width: 870px;
        margin-left: auto;
        margin-right: auto
    }

    html[lang=en] .p-farm-our__item-content {
        margin-top: 15px
    }

    html[lang=en] .p-farm-our__item-text {
        margin-top: 13px
    }

    html[lang=en] .p-farm-process__item-text {
        margin-top: 12px
    }

    html[lang=en] .p-farm-environmental__text {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto
    }

    html[lang=en] .p-farm-environmental__item-content {
        margin-top: 16px
    }
}

@media screen and (min-width: 768px)and (max-width: 1024px) {
    html[lang=en] .p-farm-concept__text br.u-only-pc {
        display: none
    }

    html[lang=en] .p-farm-environmental__text br.u-only-pc {
        display: none
    }
}

@media screen and (max-width: 767px) {
    html[lang=en] .p-farm-our__item-content {
        margin-top: 14px
    }

    html[lang=en] .p-farm-our__item-text {
        margin-top: 10px
    }

    html[lang=en] .p-farm-process__item-number {
        bottom: 5px
    }

    html[lang=en] .p-farm-process__item-text {
        margin-top: 10px
    }

    html[lang=en] .p-farm-process__item:nth-child(4) .p-farm-process__item-number,
    html[lang=en] .p-farm-process__item:nth-child(6) .p-farm-process__item-number {
        bottom: 32px
    }

    html[lang=en] .p-farm-environmental__item-content {
        margin-top: 16px
    }

    html[lang=en] .p-farm-environmental__item-text {
        margin-top: 11px
    }

    html[lang=en] .p-farm-environmental__sustainability-button .c-button-arrow {
        line-height: 1.5;
        padding-right: 15px
    }
}

html[lang=fr] .p-farm-our__item-title {
    line-height: 1.6
}

html[lang=fr] .p-farm-process__item-title {
    line-height: 1.3
}

html[lang=fr] .p-farm-process__item-subtitle {
    line-height: 1.6
}

html[lang=fr] .p-farm-environmental__item-title {
    line-height: 1.6
}

@media screen and (min-width: 768px) {
    html[lang=fr] .p-farm-concept__text {
        max-width: 760px;
        margin-left: auto;
        margin-right: auto
    }

    html[lang=fr] .p-farm-our__text {
        max-width: 675px;
        margin-left: auto;
        margin-right: auto
    }

    html[lang=fr] .p-farm-our__item-content {
        margin-top: 15px
    }

    html[lang=fr] .p-farm-our__item-text {
        margin-top: 13px
    }

    html[lang=fr] .p-farm-process__item-text {
        margin-top: 12px
    }

    html[lang=fr] .p-farm-environmental__text {
        max-width: 815px;
        margin-left: auto;
        margin-right: auto
    }

    html[lang=fr] .p-farm-environmental__item-content {
        margin-top: 16px
    }
}

@media screen and (min-width: 768px)and (max-width: 1199px) {
    html[lang=fr] .p-farm-process__item:nth-child(2) .p-farm-process__item-title br.u-only-responsive {
        display: inline
    }
}

@media screen and (min-width: 768px)and (max-width: 1100px) {
    html[lang=fr] .p-farm-mv__title br.u-only-responsive {
        display: inline
    }

    html[lang=fr] .p-farm-our__subtitle br.u-only-responsive {
        display: inline
    }

    html[lang=fr] .p-farm-process__item:nth-child(2) .p-farm-process__item-title {
        min-width: 260px
    }

    html[lang=fr] .p-farm-process__item:nth-child(6) .p-farm-process__item-title br.u-only-responsive {
        display: inline
    }
}

@media screen and (min-width: 768px)and (max-width: 1000px) {
    html[lang=fr] .p-farm-process__item:nth-child(2) .p-farm-process__item-title {
        min-width: 232px
    }

    html[lang=fr] .p-farm-process__item:nth-child(6) .p-farm-process__item-title br.u-only-responsive {
        display: none
    }
}

@media screen and (min-width: 768px)and (max-width: 850px) {
    html[lang=fr] .p-farm-environmental__sustainability-text {
        letter-spacing: .022em
    }
}

@media screen and (max-width: 767px) {
    html[lang=fr] .p-farm-our__item-content {
        margin-top: 14px
    }

    html[lang=fr] .p-farm-our__item-text {
        margin-top: 10px
    }

    html[lang=fr] .p-farm-process__item-number {
        bottom: 5px
    }

    html[lang=fr] .p-farm-process__item-text {
        margin-top: 10px
    }

    html[lang=fr] .p-farm-process__item-title {
        font-size: min(5.86vw, 22px)
    }

    html[lang=fr] .p-farm-process__item:nth-child(1) .p-farm-process__item-number,
    html[lang=fr] .p-farm-process__item:nth-child(2) .p-farm-process__item-number,
    html[lang=fr] .p-farm-process__item:nth-child(3) .p-farm-process__item-number,
    html[lang=fr] .p-farm-process__item:nth-child(4) .p-farm-process__item-number,
    html[lang=fr] .p-farm-process__item:nth-child(5) .p-farm-process__item-number {
        bottom: 32px
    }

    html[lang=fr] .p-farm-environmental__item-content {
        margin-top: 16px
    }

    html[lang=fr] .p-farm-environmental__item-text {
        margin-top: 11px
    }

    html[lang=fr] .p-farm-environmental__sustainability-button .c-button-arrow {
        line-height: 1.5;
        padding-right: 15px
    }
}

@media screen and (min-width: 768px)and (max-width: 1250px) {
    html[lang=ko] .p-farm-process__item-subtitle br {
        display: none
    }
}

@media screen and (max-width: 767px) {
    html[lang=ko] .p-farm-environmental__sustainability-text {
        font-size: min(4.58vw, 18px)
    }
}

@media screen and (max-width: 767px) {

    html[lang=zh-TW] .p-farm-environmental__sustainability-text,
    html[lang=zh-HK] .p-farm-environmental__sustainability-text {
        font-size: min(4.58vw, 18px)
    }
}

@media screen and (min-width: 768px)and (max-width: 840px) {
    html[lang=zh] .p-farm-our__text br.u-only-pc {
        display: none
    }
}