body {
    width: 100%;
    max-width: 128rem;
    background-color: #FFF1D8;
    background-image:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.3'/%3E%3C/svg%3E"),
        radial-gradient( circle 45rem at 90% 10rem,
            rgba(255, 224, 90, 0.3) 0%,
            transparent 35%),
        linear-gradient(90deg,
            #C8F1F3 0%,
            #E6EDE8 20%,
            #F8DFBB 40%,
            #F8DFBB 60%,
            #F9CCA2 100%);
    font-family: 'Noto Sans JP', sans-serif;
}

.main {
    padding-bottom: 0;
}

.keyvisual {
    padding: 9.8rem 0 10rem;
    position: relative;
}
.keyvisual__fluffy {
    width: 14.7rem;
    height: 20.4rem;
    position: fixed;
    z-index: -1;
}

.keyvisual__fluffy--right {
    top: 13.3rem;
    right: 0;
    transform: rotate(60);
}

.keyvisual__fluffy--left {
    bottom: 13.3rem;
    left: 0;
    transform: rotate(65);
}

.keyvisual__inner {
    display: flex;
    justify-content: space-between;
    width: 120rem;
    margin: 0 auto;
}

.keyvisual__slider {
    position: relative;
    z-index: 2;
}

.mask__deco-img {
    width: 51.9rem;
    height: 12.8rem;
    position: absolute;
    left: -1.3rem;
    bottom: -4rem;
    z-index: 3;
}

.mask {
    position: relative;
    width: 63.4rem;
    flex: 0 1 63.4rem;
    min-width: 0;
}

.mask__viewport {
    width: 100%;
    aspect-ratio: 634 / 541;
    clip-path: url("#mask__clip-path");
}

.mask__slider,
.mask__list,
.mask__item,
.mask__img {
    width: 100%;
    height: 100%;
    transform: scale(1);
    transform-origin: center;
}

.mask__item.swiper-slide-active .mask__img {
    animation: mask-image-scale-down 7s linear forwards;
}

@keyframes mask-image-scale-down {
    from {
        transform: scale(1.3);
    }

    to {
        transform: scale(1);
    }
}

.mask__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mask__svg {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

.mask .mask__dots.swiper-pagination-horizontal {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    position: absolute;
    height: fit-content;
    top: 4.4rem;
    left: -2rem;
}

.mask__dot {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    border: 2px solid #fff;
    opacity: 0.3;
    cursor: pointer;
}

.mask__dot.is-active {
    background-color: #fff;
    opacity: 1;
}

.keyvisual__greeting {
    flex-shrink: 0;
    width: 55rem;
}

.greeting__label {
    font-size: 3rem;
    font-weight: 800;
    line-height: calc(122 / 100);
    letter-spacing: calc(65 / 100 * 30 / 10 * 1rem);
    color: #fff;
    margin-top: 5rem;
}

.greeting__body {
    font-size: 8rem;
    font-weight: 800;
    line-height: calc(127 / 100);
    letter-spacing: calc(5 / 100 * 80 / 10 * 1rem);
    color: #fff;
    margin-bottom: 2rem;
}

.greeting__note {
    font-family: 'Kiwi Maru', sans-serif;
    font-size: 2.2rem;
    font-weight: 400;
    line-height: calc(22 / 22);
    letter-spacing: calc(10 / 100 * 22 / 10 * 1rem);
    color: #525252;
}

.greeting__char {
    display: inline-block;
    overflow: hidden;
}

.greeting__letter {
    display: inline-block;
    transform: translateX(-105%);
    transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
    transition-delay: calc(0.05s * var(--char-order));
}

.greeting.is-active .greeting__letter {
    transform: translateX(0);
}

.news__inner {
    margin: 1.5rem auto 6.1rem;
    width: 120rem;
    padding: 3.9rem 0 5.5rem;
    border-radius: 3.7rem;
    display: flex;
    background-color: rgba(255, 255, 255, 0.65);
    box-shadow: 0.3rem 0.5rem 4.5rem 0 rgba(0, 0, 0, 0.25);
}

.news__side {
    width: 36.2rem;
    padding: 0 4.7rem 0 5.3rem;
    border-right: 2px solid #EE7B49;
}

.news__title {
    display: flex;
    align-items: center;
    gap: 1.3rem;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: calc(158 / 100);
    letter-spacing: calc( 4 / 100 * 25 / 10 * 1rem);
    color: #585858;
}
.news__title span:nth-child(1) {
    font-size: 2rem;
    color: #AAAAAA;
}
.news__title span:nth-child(2) {
    font-size: 1.3rem;
    letter-spacing: calc( -2 / 100 * 13 / 10 * 1rem);
    color: #AAAAAA;
}

.news__subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24.8rem;
    height: 4.9rem;
    border-radius: 0.5rem;
    color: #fff;
    background-color: #EE7B49;
    font-size: 2rem;
    font-weight: 700;
    line-height: calc(158 / 100);
    letter-spacing: calc( 4 / 100 * 20 / 10 * 1rem);
    position: relative;
    margin: 1.5rem 0 2.6rem;
}

.news__subtitle::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 1.3rem solid transparent;
    border-bottom: 1.3rem solid transparent;
    border-left: 2.7rem solid #EE7B49;
    border-right: 0;
    position: absolute;
    right: -1.5rem;
}

.news__category-item {
    font-size: 2rem;
    font-weight: 700;
    line-height: calc(158 / 100);
    letter-spacing: calc( 4 / 100 * 20 / 10 * 1rem);
    margin-bottom: 2rem;
}

.news__category-item a {
    color: #818181;
}

.news__link,
.message__link,
.company__item a,
.csr__link,
.recruit__item a {
    display: flex;
    align-items: center;
    border-radius: 5rem;
    padding-left: 2.4rem;
    color: #555555;
    position: relative;
    background: 
        linear-gradient(#F5F5F5, #F5F5F5) padding-box, 
        linear-gradient(90deg,  #FF6F31, #FFC2A8 100%) border-box;
    border: 1px solid transparent;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: calc(100 / 100);
    letter-spacing: calc( 15 / 100 * 16 / 10 * 1rem);
    box-shadow: 0rem 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.25);
    transition: 0.3s;
}

.news__link:hover,
.message__link:hover,
.company__item a:hover,
.csr__link:hover,
.recruit__item a:hover  {
    background: #FF6F31;
    border: 1px solid #EE7B49;
    color: #F5F5F5;
}

.news__link:hover::after,
.message__link:hover::after,
.company__item a:hover::after,
.csr__link:hover::after,
.recruit__item a:hover::after  {
    border-left: 1.6rem solid #F5F5F5;
}

.news__link::after,
.message__link::after,
.company__item a::after,
.csr__link::after,
.recruit__item a::after  {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 1rem solid transparent;
    border-bottom: 1rem solid transparent;
    border-left: 1.6rem solid #EE7B49;
    border-right: 0;
    position: absolute;
    right: 2.3rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

.news__link--list,
.message__link,
.company__item a,
.csr__link,
.recruit__item a {
    width: 25.4rem;
    height: 6.6rem;
}

.news__link--items {
    width: 19.3rem;
    height: 4.8rem;
    margin: 0 1.8rem 0 auto;
}

.company__item a {
    margin-bottom: 4rem;
}

.recruit__item  {
    margin-bottom: 1.2rem;
}
.company__item a :last-child,
.recruit__item a:last-child {
    margin-bottom: 0;
}

.news__article {
    width: 83.8rem;
}

.news__empty {
    margin: 3.3rem 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
    color: #555555;
}

.news__article-list {
    display: flex;
    gap: 3.9rem;
    padding: 0 2rem;
    margin:3.3rem auto 1.7rem;
}

.news__box a {
    display: block;
    width: 24rem;
    color: #555555;
}

.news__time,
.news__name {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: calc(113 / 100);
    letter-spacing: calc( 2 / 100 * 14 / 10 * 1rem);
}

.news__img {
    width: 24rem;
    border-radius: 2.5rem;
    overflow: hidden;
    margin: 0.5rem auto 1.4rem;
}

.news__img--landscape {
    aspect-ratio: 10 / 7;
}

.news__img--portrait {
    aspect-ratio: 3 / 4;
}

.news__img--square {
    aspect-ratio: 1;
}

.news__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news__tag {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    width: fit-content;
    border-radius: 0.5rem;
    height: 2rem;
    color: #fff;
    background-color: #EE7B49;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: calc(113 / 100);
    letter-spacing: calc( 2 / 100 * 15 / 10 * 1rem);
}

.news__name {
    width: 100%;
    border-top: 1px solid #EE7B49;
    padding-top: 1.3rem;
    margin-top: 0.8rem;
}

.message {
    position: relative;
    padding: 6.1rem 0 15rem;
}

.message__content {
    width: 77.9rem;
    padding: 2.5rem 5rem 3.5rem 16.8rem;
    border-radius: 8rem 0 0 8rem;
    background-color: #fff;
    margin: 0 0 0 auto;
    position: relative;
}

.message__img-box {
    width: 62.6rem;
    position: absolute;
    z-index: 3;
    top: 0;
}

.message__img {
    overflow: hidden;
    border-radius: 3.5rem;
    position: absolute;
}

.message__img img {
    width: 100%;
    height: 100%;
}

.message__img:nth-child(1) {
    width: 27.2rem;
    height: 25.1rem;
    top: 0;
    left: 4.8rem;
}

.message__img:nth-child(2) {
    width: 22.7rem;
    height: 17.5rem;
    top: 18.9rem;
    right: 5.3rem;
}

.message__img:nth-child(3) {
    width: 30.4rem;
    height: 35.1rem;
    border-radius: 0 3.5rem 3.5rem 0;
    left: 0;
    top: 33.4rem; 
}

.message__img:nth-child(4) {
    width: 28rem;
    height: 37.7rem;
    top: 44.7rem;
    right: 0;
}

.message__title {
    font-size: 4rem;
    font-weight: 700;
    line-height: calc(62 / 40);
    letter-spacing: calc(3 / 100 * 40 / 10 * 1rem);
    color: #1E2328;
    margin-bottom: 1.8rem;
}

.company__title,
.csr__title,
.recruit__title  {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: calc(100 / 100);
    letter-spacing: calc(10 / 100 * 32 / 10 * 1rem);
    color: #1E2328;
    margin-bottom: 1.8rem;
}

.message__deco,
.company__deco,
.csr__deco,
.recruit__deco {
    font-size: 2rem;
    font-weight: 700;
    line-height: calc(100 / 100);
    letter-spacing: calc(15 / 100 * 20 / 10 * 1rem);
    color: #EE7B49;
    margin-bottom: 3.3rem;
}
.company__deco,
.csr__deco {
    margin-bottom: 2rem;
}

.company__title,
.csr__title {
    margin-bottom: 2rem;
}

.recruit__deco {
    margin-bottom: 1rem;
}

.recruit__title  {
    color: #fff;
    margin-bottom: 1.9rem;
}

.message__text {
    font-size: 2rem;
    font-weight: 400;
    line-height: calc(55 / 20);
    letter-spacing: calc(3 / 100 * 20 / 10 * 1rem);
    color: #1E2328;
    margin-bottom: 1.8rem;
}

.message__illust {
    width: 41.9rem;
    height: 25.8rem;
    position: absolute;
    bottom: -11rem;
    right: 0;
}

.company {
    width: 100%;
    z-index: 1;
    position: relative;
    overflow: hidden;
    min-height: 20rem;
}


.company__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0 0 0 0); /* セクションの外にはみ出さないマジック */
    z-index: 1;
}

.company__bg-fixed {
    position: fixed; /* 背面で画像を固定 */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-image: url('../img/front/company_img_bg1-quality-20261020.webp');
    background-position: center center; 
    background-repeat: no-repeat;
    background-size: cover; 
}

.company__text-box {
    width: 32rem;
    padding: 6.3rem 0 5.1rem 9rem;
    position: relative;
    z-index: 3;
}

.company__text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: calc(28 / 16);
    letter-spacing: calc(5 / 100 * 16 / 10 * 1rem);
    margin-bottom: 3.6rem;
    color: #1E2328;
}


.company__clip-defs {
    position: absolute;
    width: 0;
    height: 0;
}

.company__wave{
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 128rem;
    height: 40rem;
    background: linear-gradient(90deg, rgba(255,255,255,0.2),rgba(255,255,255,0.5));
    clip-path: url("#company-wave-clip");
    -webkit-clip-path: url("#company-wave-clip");
    transform-origin: top left;
    transform: translateY(128rem) rotate(-90deg);
    backdrop-filter: blur(0.5rem);
    -webkit-backdrop-filter: blur(0.5rem);
}

.csr {
    position: relative;
    overflow: hidden;
}

.csr__bg-text {
    top: 0;
    position: absolute;
    display: flex;
    width: max-content;
    will-change: transform;
    padding: 1rem 0;
    animation: csr-loop 20s linear infinite;
}

.csr__bg-item {
    width: 93rem;
    height: 9.8rem;
    flex-shrink: 0;
    padding-right: 3rem;
}


@keyframes csr-loop {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-33.333333%, 0, 0);
    }
}

.csr__inner {
    padding: 12.5rem 0 9.1rem;
    display: flex;
    justify-content:space-between;
}

.csr__content {
    width: 64rem;
    padding: 0 2rem 0 12.1rem;
}

.csr__text,
.recruit__text {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: calc(33 / 16);
    letter-spacing: calc(5 / 100 * 16 / 10 * 1rem);
    margin-bottom: 2rem;
    color: #1E2328;
}

.csr__img-box {
    position: relative;
    width: 53.8rem;
    height: 47.1rem;
    margin-right: 4rem;
}

.csr__img {
    border-radius: 3.5rem;
    overflow: hidden;
    position: absolute;
}

.csr__img:nth-child(1) {
    width: 32rem;
    height: 36.9rem;
    top: -5.5rem;
    right: 0;
}

.csr__img:nth-child(2){
    width: 28rem;
    height: 20.4rem;
    bottom: 0;
    left: 0;
}

.recruit {
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
}

.recruit__hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0 0 0 0);
    z-index: 1;
    pointer-events: none;
}

.company__hero-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
}


.recruit__hero {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    height: 100vh;
    overflow: hidden;
} 

.recruit__bg {
    display: block;
    width: 100%;
    height: 54.9rem;
    background-repeat: no-repeat;
    background-size: cover;
}

.slider__container {
    width: 100%;
    height: 100%;
    min-width: 0;
}

.slider__list {
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.slider__item {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.slide__img {
    width: 100%;
    height: 100%;
    margin: 0;
}

.slider__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider__copy {
    z-index: 2;
}

.slider__copy {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.77);
    backdrop-filter: blur(0.8rem);
    -webkit-backdrop-filter: blur(0.8rem);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12.4rem;
    height: 43rem;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;

}

.recruit__copy-text{
    width: 10.9rem;
    height: 40.7rem;
}

.recruit__container {
    position: relative;
    z-index: 10;
    margin-top: 0;
    background-color: transparent;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    display: flex;
    padding: calc(100vh + 4rem) 4.6rem 10rem 11.5rem;
    justify-content: space-between;
    transition: background-color 1s ease-in-out,
        backdrop-filter 1s ease-in-out,
        -webkit-backdrop-filter 1s ease-in-out;
}

.recruit.is-container-visible .recruit__container {
    background-color: rgba(87, 183, 75, 0.5);
    backdrop-filter: blur(0.5rem);
    -webkit-backdrop-filter: blur(0.5rem);
}

.recruit__content {
    width: 52.5rem;
}

.recruit__text {
    color: #fff;
}

.recruit__img-box {
    width: 56.7rem;
    height: 50rem;
    position: relative;
}

.recruit__img {
    border-radius: 3.5rem;
    overflow: hidden;
    position: absolute;
}

.recruit__img img {
    width: 100%;
    height: 100%;
}

.recruit__img:nth-child(1) {
    width: 27.2rem;
    height: 25.1rem;
    top: 13.6rem;
    left: 0;
}

.recruit__img:nth-child(2) {
    width: 22.1rem;
    height: 29.7rem;
    top: 0;
    right: 4.7rem;
}

.recruit__img:nth-child(3) {
    width: 22.7rem;
    height: 17.5rem;
    bottom: 0;
    right: 0;
}

@media screen and (max-width: 699.98px) {
    .main {
        width: 37.5rem;
        padding-bottom: 0;
    }

    .keyvisual {
        padding: 8rem 0 3.6rem;
        margin: 0;
    }

    .keyvisual__inner {
        flex-direction: column;
        width: 100%;
        overflow: hidden;
    }

    .keyvisual__slider,
    .greeting {
        width: 100%;
    }

    .mask {
        width: 34rem;
        height: 29rem;
        margin:  0 auto;
        padding-bottom: 3.1rem;
    }

    .mask__deco-img {
        width: 39.5rem;
        height: 9.7rem;
        left: -3rem;
        right: 0;
    }

    .greeting {
        width: 33.5rem;
        margin: 0 auto;
    }

    .greeting__label {
        font-size: 2rem;
        font-weight: 900;
        line-height: calc(122 / 100);
        letter-spacing: calc(65 / 100 * 20 / 10 * 1rem);
    }

    .greeting__body {
        font-size: 4rem;
        font-weight: 900;
        line-height: calc(101 / 100);
        letter-spacing: calc(5 / 100 * 40 / 10 * 1rem);
        margin: 0;
    }

    .greeting__note  {
        font-size: 1.6rem;
        line-height: calc(418 / 100);
        letter-spacing: calc(10/ 100 * 16 / 10 * 1rem);
    }

    .news__inner {
        width: 33.5rem;
        padding: 2.4rem 0 3.7rem;
        margin: 0 auto 4rem;
        flex-direction: column;
    }

    .news__title {
        font-size: 2rem;
        line-height: calc(158 / 100);
        letter-spacing: calc(4 / 100 * 20 / 10 * 1rem);
    }

    .news__title span:nth-child(1),
    .news__title span:nth-child(2) {
        font-size: 1.1rem;
    }

    .news__side,
    .news__article {
        padding: 0;
        width: 29.5rem;
        margin: 0 auto;
    }

    .news__side {
        border-right: none;
        border-bottom: 1px solid #EE7B49;
    }

    .news__category-item a {
        color: #fff;
    }

    .news__category-list,
    .news__link--list {
        display: none;
    }

    .news__subtitle {
        width: 29.7rem;
        height: 4.4rem;
        font-size: 1.6rem;
        line-height: calc(158 / 100);
        letter-spacing: calc(4 / 100 * 16 / 10 * 1rem);
        margin: 2rem auto 3.2rem;
        z-index: 6;
    }

    .news__subtitle::after  {
        display: none;
    }
    
    .news__btn {
        width: 29.7rem;
        height: 4.4rem;
    }

    .news__btn::after {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 0.9rem solid transparent;
        border-left: 0.9rem solid transparent;
        border-top: 1.5rem solid #fff;
        border-bottom: 0;
        position: absolute;
        top: 1.7rem;
        right: 0.9rem;
        transform: rotate(0deg);
        transition: transform 0.3s ease;
    }

    .news__side.is-open .news__btn::after {
        transform: rotate(180deg);
    }

    .news__article-list {
        width: 29.5rem;
        overflow-x: scroll;
        padding: 0;
    }

    .news__box a {
        padding-bottom: 1rem;
    }
    .news__side {
        position: relative;
    }

    .news__category-list {
        opacity: 0;
        width: 29.7rem;
        visibility: hidden;
        transform: translateY(-10px);
        transition: all 0.3s ease;
        position: absolute;
        display: block;
        z-index: 11;
        background-color: #EE7B49;
        top: calc(100% - 4rem);
        left: 0;
        right: 0;
        margin: 0 auto;
        text-align: center;
        padding: 4rem 1rem 2rem;
        border-radius:  0 0 0.5rem 0.5rem;
        z-index: 4;
    }

    .news__category-list.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .news__tag {
        font-size: 1.2rem;
        line-height: calc(133 / 100);
        letter-spacing: calc(2 / 100 * 12 / 10 * 1rem);
    }

    .news__link,
    .message__link,
    .company__item a,
    .csr__link,
    .recruit__item a {
        font-size: 1.6rem;
        line-height: calc(100 / 100);
        letter-spacing: calc(15 / 100 * 16 / 10 * 1rem);
        width: 29.5rem;
        height: 6.4rem;
        transition: none;
    }

    .news__link  {
        justify-content: center;
        padding-left: 0;
    }

    .message__link {
        width: 30.7rem;
    }

    .company__item a,
    .csr__link,
    .recruit__item a {
        width: 33.5rem;
        height: 6.4rem;
    }

    .recruit__item {
        margin-bottom: 1.6rem;
    }

    .company__item:last-child,
    .recruit__item:last-child {
        margin-bottom: 0;
    }

    .message {
        display: flex;
        flex-direction: column;
        gap: 4.8rem;
    }

    .message__content {
        width: 35.5rem;
        padding: 3.2rem 2.4rem 8.9rem;
    }

    .message__title {
        font-size: 2.6rem;
        line-height: calc(155 / 100);
        letter-spacing: calc(3 / 100 * 26 / 10 * 1rem);
        margin-bottom: 1.6rem;
    }

    .company__title,
    .csr__title,
    .recruit__title {
        font-size: 2.4rem;
        line-height: calc(100 / 100);
        letter-spacing: calc(10 / 100 * 24 / 10 * 1rem);
        margin-bottom: 1.6rem;
    }

    .recruit__title {
        color: #fff;
    }

    .message__deco,
    .company__deco,
    .csr__deco,
    .recruit__deco {
        font-size: 1.4rem;
        line-height: calc(100 / 100);
        letter-spacing: calc(15 / 100 * 14 / 10 * 1rem);
        margin-bottom: 1.6rem;
    }

    .company__deco,
    .csr__deco {
        margin-bottom: 2rem;
    }

    .company__deco,
    .csr__deco {
        margin-bottom: 2.0rem;
    }

    .message__text {
        font-size: 1.4rem;
        font-weight: 500;
        line-height: calc(190 / 100);
        letter-spacing: calc(3 / 100 * 14 / 10 * 1rem);
        margin-bottom: 1.6rem;
    }

    .message__illust {
        width: 18.9rem;
        height: 11.6rem;
        bottom: -2.4rem;
    }

    .message__img-box {
        position: relative;
        width: 100%;
        height: 52rem;
        overflow: hidden;
    }

    .message__img:nth-child(1) {
        width: 17.2rem;
        height: 15.9rem;
        left: 2rem;
    }

    .message__img:nth-child(2)  {
        width: 14.3rem;
        height: 11rem;
        top: 11.9rem;
        right: 2.4rem;
    }

    .message__img:nth-child(3) {
        width: 19.2rem;
        height: 22.2rem;
        left:  -1rem;
        top: 21.1rem;
    }

    .message__img:nth-child(4) {
        width: 19.2rem;
        height: 22.2rem;
        right: -1rem;
        top: 28.2rem;
    }

    .company__wave {
        width: 37.5rem;
        height: 14.3rem;
        background: linear-gradient(0deg, rgba(255,255,255,0.2),rgba(255,255,255,0.5));
        clip-path: url("#company-wave-clip-sp");
        -webkit-clip-path: url("#company-wave-clip-sp");
        transform-origin: top left;
        transform: none;
        backdrop-filter: blur(0.1rem);
        -webkit-backdrop-filter: blur(0.1rem);
    }

    .company__text-box {
        width: 33.5rem;
        margin: 8.7rem auto 12.8rem;
        padding: 0;
    }

    .company__text {
        font-size: 1.4rem;
        font-weight: 500;
        line-height: calc(175 / 100);
        letter-spacing: calc(5 / 100 * 14 / 10 * 1rem);
        margin-bottom: 2.8rem;
    }

    .csr__bg-text {
        position: relative;
    }

    .csr__bg-item {
        height: 4.9rem;
        width: auto;
        padding-right: 3rem;
    }

    .csr__bg-item img {
        height: 4.9rem;
        width: auto;
    }

    .csr__inner {
        flex-direction: column;
    }


    .csr__inner {
        padding: 0;
        width: 33.5rem;
        margin: 0 auto;
    }

    .csr__content,
    .csr__img-box  {
        padding: 0;
        width: 100%;
        margin-bottom: 2rem;
    }

    .csr__img-box {
        margin: 0;
        height: 30rem;
    }

    .csr__text {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: calc(190 / 100);
        letter-spacing: calc(5 / 100 * 14 / 10 * 1rem);
        margin-bottom: 2.8rem;
    }

    .csr__img:nth-child(1) {
        width: 18rem;
        height: 20.7rem;
        top: 0;
    }

    .csr__img:nth-child(2) {
        width: 18.5rem;
        height: 13.5rem;
        top: 10.4rem;
    }

    .recruit {
        width: 100%;
    }

    .recruit__hero {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(2, minmax(0, 1fr));
        height: 100vh;
    }

    .slider__container {
        width: 100%;
        height: 100%;
    }

    .slider__item img {
        object-position: top 0 left 0;
    }

    .slider__copy {
        width: 27.6rem;
        height: 7.4rem;
    }
    
    .slider__copy-text{
        width: 27.6rem;
        height: 6.4rem;
    }

    .recruit__container {
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        flex-direction: column;
        padding: calc(100vh + 2.5rem) 2rem 8rem;
    }

    .recruit__content,
    .recruit__img-box {
        width: 100%;
    }

    .recruit__img-box  {
        order: 1;
        height: 29.8rem;
    }

    .recruit__img:nth-child(1) {
        width: 16.3rem;
        height: 15rem;
        left: 0;
        top: 8.1rem;
        
    }

    .recruit__img:nth-child(2) {
        width: 13.3rem;
        height: 17.7rem;
        right: 2.8rem;
        
    }

    .recruit__img:nth-child(3) {
        width: 13.6rem;
        height: 10.5rem;
        
    }

    .recruit__content {
        order: 2;
    }

    .recruit__text {
        font-size: 1.4rem;
        font-weight: 500;
        line-height: calc(175 / 100);
        letter-spacing: calc(5 / 100 * 14 / 10 * 1rem);
        margin-bottom: 2.8rem;
    }
}

/* Keep the home footer flush with the recruitment photography. */
.footer {
    border-radius: 0;
}

@media screen and (min-width: 700px) {
    .slider__item .slider__photo--senior {
        object-position: center top;
    }
}
