.pc_only {
    display: block;
}

.sp_only {
    display: none;
}

/* 背景イラスト */

main {
    position: relative;
    overflow: hidden;
}

.about_leaf {
    position: absolute;
    top: 76.7rem;
    right: -7.7rem;
    width: 50.1%;
    height: auto;
    z-index: -1;
    object-fit: cover;
    transform: rotate(45deg);
}

.office_grape {
    position: absolute;
    top: 146.7rem;
    right: 2rem;
    width: 12.9%;
    height: auto;
    z-index: -1;
    object-fit: cover;
    animation: fuwafuwa 1.5s ease-in-out infinite alternate;

}

.news_leaf {
    position: absolute;
    bottom: 109.1rem;
    left: -16rem;
    width: 50%;
    height: auto;
    z-index: -1;
    object-fit: cover;
    transform: rotate(-45.1deg) scaleX(-1);
}

.recruit_grape {
    position: absolute;
    bottom: 74rem;
    left: 6rem;
    width: 13%;
    height: auto;
    z-index: -1;
    object-fit: cover;
    animation: fuwafuwa-flipped 1.5s ease-in-out infinite alternate;
}

.wrapper {
    margin: 0 2.5rem;
}

img {
    border-radius: 1rem;
}

/* メインビジュアルセクション */

.mainvisual_section {
    margin-top: 2rem;
    margin-bottom: 10rem;
}

.mainvisual_box {
    width: 98rem;
    height: 55rem;
    margin-bottom: 2rem;
    position: relative;
}

.mainvisual_text {
    position: absolute;
    top: 3.8rem;
    right: 4.7rem;
    writing-mode: vertical-rl;
    font: 2.4rem/3.5rem "Zen Maru Gothic";
    color: #FFFFFF;
    letter-spacing: 1.1rem;
    clip-path: inset(0 0 0 100%);
    animation: slide-in-left 1.4s cubic-bezier(0.37, 0, 0.63, 1) 0.5s forwards;
}

@keyframes slide-in-left {
    0% {
        clip-path: inset(0 0 0 100%);
    }

    100% {
        clip-path: inset(0);
    }
}

/* ふわふわ揺れるアニメーション */
@keyframes fuwafuwa {
    0% {
        /* 既存のtransformに加えて、横に-10px移動 */
        transform: translateX(-10px);
    }

    100% {
        /* 既存のtransformに加えて、横に10px移動 */
        transform: translateX(10px);
    }
}

/* 反転した要素用のふわふわ揺れるアニメーション */
@keyframes fuwafuwa-flipped {
    0% {
        transform: rotate(-15deg) scaleX(-1) translateX(-10px);
    }

    100% {
        transform: rotate(-15deg) scaleX(-1) translateX(10px);
    }
}


.mainvisual_box2 {
    display: flex;
}

.kamo {
    width: 27rem;
    height: 23rem;
    margin-right: 2rem;
    border-radius: 1rem;
}

.needs {
    display: flex;
    width: 69rem;
    height: 23rem;
    background-color: #FCF7E7;
    border-radius: 1rem;
    padding: 3.2rem 0.5rem;
    text-align: center
}

.needs:nth-last-child {}

.needs_home1 {
    width: 12.9rem;
    height: 9.5rem;
    margin-bottom: 0.8rem;
}

.needs_home2 {
    width: 13.2rem;
    height: 9.5rem;
    margin-bottom: 0.8rem;
}

.needs_home3 {
    width: 10.9em;
    height: 9.5rem;
    margin-bottom: 0.8rem;
}

.needs_home4 {
    width: 17.1rem;
    height: 9.5rem;
    margin-bottom: 0.8rem;
}

.needs_title1 {
    width: 11.2rem;
    height: 2.4rem;
    margin-bottom: 0.8rem;
}

.needs_title2 {
    width: 15.4rem;
    height: 2.4rem;
    margin-bottom: 0.8rem;
}

.needs_title3 {
    width: 12.6rem;
    height: 2.4rem;
    margin-bottom: 0.8rem;
}

.needs_title4 {
    width: 14rem;
    height: 2.4rem;
    margin-bottom: 0.8rem;

}

.needs_text {
    font: 1.4rem/1.4rem "Zen Maru Gothic";
    font-weight: 500;
}

/* 他の要素に影響を与えないように特定の要素だけ位置を微調整するやり方 */
.needs_item:nth-child(4) {
    position: relative;
    transform: translateX(0.5rem);
}


/* アバウトセクション */

.about_section {
    margin-bottom: 10rem;
}

.section_title {
    font: 1.6rem/2.4rem "Zen Maru Gothic";
    font-weight: bold;
    color: #83468B;
    margin-bottom: 1rem;
}

.section_head {
    font: 2.5rem/3.6rem "Zen Maru Gothic";
    font-weight: bold;
    color: #3A3333;
    margin-bottom: 2rem;
}

.about_box {
    display: flex;
    margin-bottom: 1.8rem;
    justify-content: space-between;
}

.about_text {
    font: 1.8rem/2.6rem "Zen Maru Gothic";
    font-weight: bold;
    color: #3A3333;
    text-align: left;
}

.morebutton {
    font: 1.7rem/3.5rem "Zen Maru Gothic";
    font-weight: 500;
    color: #FFFFFF;
    background-color: #BF88C6;
    padding: 1.5rem 6.6rem 1.5rem 3.3rem;
    border-radius: 1rem;
    position: relative;
    display: inline-block;
    margin-right: 2.5rem;
    margin-top: -1rem;
}

.morebutton::after,
.morebutton_office::after,
.morebutton_news::after,
.morebutton_recruit::after {
    content: '';
    background-image: url(../img/yazirusi2.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.8rem;
    height: 1.8rem;
    position: absolute;
    top: 52.5%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}

.morebutton::after,
.morebutton_office::after {
    right: 4rem;
}

.morebutton_news::after,
.morebutton_recruit::after {
    right: 4.5rem;
}

.morebutton:hover::after,
.morebutton_office:hover::after,
.morebutton_news:hover::after,
.morebutton_recruit:hover::after {
    transform: translateY(-50%) translateX(1rem);
}


.about_picture {
    width: 98rem;
    height: 31.3rem;
}

/* 事業所一覧セクション */

.office_section {
    position: relative;
    overflow: hidden;
}

.office_box {
    display: flex;
    margin-bottom: 5.3rem;
    background-color: #FCF7E7;
    padding: 1.5rem 1.5rem 0.8rem 1.5rem;
    border-radius: 1rem;
}

.gallery_box {
    margin-right: 2rem;
}

.office_box .mySwiper2,
.office_box .mySwiper4,
.office_box .mySwiper6,
.office_box .mySwiper8 {
    width: 45.3rem;
    height: 27.8rem;
    margin-bottom: 1rem;
}

.office_box .mySwiper,
.office_box .mySwiper3,
.office_box .mySwiper5,
.office_box .mySwiper7 {
    width: 45.3rem;
    height: 6rem;
}

.office_box .mySwiper .swiper-slide,
.office_box .mySwiper3 .swiper-slide,
.office_box .mySwiper5 .swiper-slide,
.office_box .mySwiper7 .swiper-slide {
    width: 14.1rem;
    height: 6rem;
    opacity: 0.4;
}

.office_box .mySwiper .swiper-slide-thumb-active,
.office_box .mySwiper3 .swiper-slide-thumb-active,
.office_box .mySwiper5 .swiper-slide-thumb-active,
.office_box .mySwiper7 .swiper-slide-thumb-active {
    opacity: 1;
}

.office_box .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.office_item {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.office_box .swiper-button-next,
.office_box .swiper-button-prev {
    color: #83468B;
}

.office_name {
    margin-left: 1.7rem;
    margin-top: 0.8rem;
    font: 2.5rem/3.6rem "Zen Maru Gothic";
    font-weight: bold;
    color: #3A3333;
    margin-bottom: 1.7rem;
    position: relative;
}

.office_name::before {
    content: '';
    width: 0.7rem;
    height: 3.6rem;
    position: absolute;
    top: 0rem;
    left: -1.5rem;
    background-color: #D55167;
    border-radius: 1rem;
}

.office_category_box {
    display: flex;
    margin-bottom: 1.5rem;
}

.office_category {
    font: 1.3rem/1.9rem "Zen Maru Gothic";
    color: #FFFFFF;
    background-color: #BF88C6;
    margin-right: 2rem;
    padding: 0.5rem 1rem;
    border-radius: 1.5rem;
}

.office_text {
    font: 1.5rem/2rem "Zen Maru Gothic";
    font-weight: 500;
    color: #3A3333;
    margin-bottom: 2.1rem;
    letter-spacing: 0rem;
}

.morebutton_office {
    font: 1.7rem/3.5rem "Zen Maru Gothic";
    font-weight: 600;
    color: #FFFFFF;
    background-color: #D55167;
    padding: 1rem 6.2rem 1rem 3.7rem;
    margin-right: 1.1rem;
    margin-bottom: 0.5rem;
    border-radius: 1rem;
    position: relative;
    display: inline-block;
    margin-top: auto;
    align-self: flex-end;
}

/* お知らせセクション */

.news_section {
    margin-bottom: 10rem;
}


.news_box {
    margin-bottom: 3rem;
}

.news_list {
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 4.2rem;
}

.news_item {
    width: calc(100% / 3 - 4rem / 3);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
}

.news_link {
    text-decoration: none;
    color: #3A3333;
    font-family: "Zen Maru Gothic";
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 1rem;
    overflow: hidden;
}

.news_thumbnail {
    width: 30rem;
    height: 16.5rem;
}

.news_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news_title {
    font: 1.6rem/2.4rem "Zen Maru Gothic";
    font-weight: bold;
    margin: 1rem 0;
}

.news_meta {
    display: flex;
    align-items: center;
    font: 1.6rem/2.4rem "Zen Maru Gothic";
    font-weight: bold;
    color: 3A3333;
}

.news_date {
    font-size: 1.6rem;
    letter-spacing: 0.06rem;
    margin-right: 2rem;
}

.news_category {
    color: #FFFFFF;
    background-color: #BF88C6;
    padding: 0.5rem 2rem;
    border-radius: 1.5rem;
    white-space: nowrap;
    font: normal normal normal 1.3rem/1.9rem "Zen Maru Gothic";
}


.news_tag {
    font: 1.2rem/1.7rem "Zen Maru Gothic";
    font-weight: bold;
    color: #3A3333;
}

.news_buttonbox {
    text-align: center;
}

.morebutton_news {
    font: 1.7rem/3.5rem "Zen Maru Gothic";
    font-weight: 500;
    color: #FFFFFF;
    background-color: #D55167;
    padding: 1rem 7.2rem 1rem 4.4rem;
    border-radius: 1rem;
    position: relative;
    display: inline-block;

}

/* 採用情報セクション */
.recruit_section {
    margin-bottom: 10rem;
}

.recruit_container {
    display: flex;
    position: relative;
}

.recruit_titlebox {
    margin-right: 2.7rem;
    padding-top: 4.8rem;
}

.recruit_buttonbox {
    text-align: left;
}

.morebutton_recruit {
    font: 1.7rem/3.5rem "Zen Maru Gothic";
    font-weight: 500;
    color: #FFFFFF;
    background-color: #D55167;
    padding: 1rem 7.2rem 1rem 4.4rem;
    border-radius: 1rem;
    position: relative;
    display: inline-block;
}

.recruit_visualbox {
    width: 64rem;
    height: 38.7rem;
    position: relative;
}

.recruit_text {
    writing-mode: vertical-rl;
    font: 2rem/2.9rem "Zen Maru Gothic";
    font-weight: bold;
    color: #3A3333;
    letter-spacing: 0.9rem;
    position: absolute;
    top: 0.4rem;
    right: -7.7rem;
}

/* バナーセクション */
.banner_section {
    margin-bottom: 10rem;
}

.banner_box {
    position: relative;
    margin-bottom: 2rem;
}

.banner_textbox {
    background-color: #FFFFFF;
    border-radius: 1rem;
    padding: 1.5rem 3.5rem;
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    z-index: 1;
    */ border-radius: 1rem;
    padding: 1.5rem 3.5rem;
}

.banner_textbox .section_head {
    margin-bottom: 0rem;
}

.banner_readmore {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font: 3rem/4.4rem "Zen Maru Gothic";
    font-weight: bold;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.45, 0, 0.55, 1);
    letter-spacing: 0.09rem;
}

.banner_link {
    display: block;
    overflow: hidden;
    border-radius: 1rem;
}

.banner_img {
    transition: transform 0.4s cubic-bezier(0.45, 0, 0.55, 1), filter 0.4s cubic-bezier(0.45, 0, 0.55, 1);
}

.banner_link:hover .banner_img {
    filter: blur(3px);
    transform: scale(1.05);
}

.banner_link:hover .banner_readmore {
    opacity: 1;
}



/* インスタグラムセクション */

.insta_title {
    font: 2.5rem/3.6rem "Zen Maru Gothic";
    font-weight: bold;
    color: #83468B;
    margin-bottom: 2rem;
    text-align: center;
}

/* レスポンシブ対応 */

@media (max-width: 699.98px) {
    .pc_only {
        display: none;
    }

    .sp_only {
        display: block;
    }

    .wrapper {
        margin: 0 2rem;
    }

    .about_leaf {
        top: 109.4rem;
        right: -7.9rem;
        width: 100%;
    }

    .office_grape {
        top: 188rem;
        right: 2rem;
        width: 25%;
    }

    .news_leaf {
        bottom: 130.1rem;
        left: -9.3rem;
        width: 80.2%;
        transform: rotate(-46deg) scaleX(-1);
    }

    .mainvisual_section {
        margin-bottom: 12.2rem;
    }

    .mainvisual_text {
        top: 37.3rem;
        right: 1.1rem;
        font: 2.4rem/4.8rem "Zen Maru Gothic";
        letter-spacing: 0.23rem;
        writing-mode: horizontal-tb;
        text-align: left;
    }

    .mainvisual_box {
        width: 33.5rem;
        height: 55rem;
        margin-bottom: 1.4rem;
    }

    .mainvisual {
        object-position: center;
    }

    .mainvisual_box2 {
        flex-direction: column;
    }

    .kamo {
        width: 33.5rem;
        height: 15rem;
        margin-right: 0;
        margin-bottom: 2rem;
    }

    .needs {
        width: 100%;
        height: auto;
        flex-wrap: wrap;
        padding: 1.6rem 1rem 0rem 0rem;
        justify-content: space-between;
    }

    .needs_item {
        width: 50%;
        margin-bottom: 2.2rem;
    }

    .needs_item:nth-last-child(-n+2) {
        margin-bottom: 0;
    }

    .needs_sp_1_item,
    .needs_sp_2_item,
    .needs_sp_3_item,
    .needs_sp_4_item {
        position: relative;
    }

    .needs_sp_1_item {
        left: -0.8rem;
    }

    .needs_sp_2_item {
        right: -0.3rem;
    }

    .needs_sp_3_item {
        left: -0.7rem;
    }

    .needs_sp_4_item {
        right: 0.2rem;
    }

    .needs_home1 {
        width: 12.9rem;
        height: 9.5rem;
    }

    .needs_home2 {
        width: 13.2rem;
        height: 9.5rem;
    }

    .needs_home3 {
        width: 10.9rem;
        height: 9.5rem;
    }

    .needs_home4 {
        width: 15.7rem;
        height: 8.7rem;
        margin-bottom: 1.6rem;
    }

    .section_head {
        font: 2.3rem/4rem "Zen Maru Gothic";
        font-weight: bold;
        text-align: left;
        letter-spacing: 0rem;
        margin-bottom: 2rem;
    }

    .head_office {
        font: 2.5rem/3.6rem "Zen Maru Gothic";
        font-weight: bold;
    }

    .office_box {
        padding: 1.3rem 0.8rem 0.8rem 1rem;
    }

    .about_box {
        flex-direction: column;
    }

    .about_text {
        font: 1.8rem/2.7rem "Zen Maru Gothic";
        font-weight: 600;
        text-align: left;
        margin-bottom: 3.8rem;
        letter-spacing: 0.162rem;
    }

    .morebutton {
        padding: 1rem 6.6rem 1rem 3.3rem;
        margin-right: 0;
        align-self: center;
    }

    .morebutton::after {
        right: 4rem;
    }

    .about_picture {
        width: 33.5rem;
        height: 20rem;
    }

    .office_box {
        flex-direction: column-reverse;
    }

    .gallery_box {
        margin-right: 0;
        margin-top: 1.6rem;
    }

    .office_box .mySwiper2,
    .office_box .mySwiper4,
    .office_box .mySwiper6,
    .office_box .mySwiper8 {
        width: 100%;
        height: auto;
    }

    .office_box .mySwiper,
    .office_box .mySwiper3,
    .office_box .mySwiper5,
    .office_box .mySwiper7 {
        width: 100%;
    }

    .office_name {
        font: 2.5rem/3.6rem "Zen Maru Gothic";
        font-weight: bold;
    }

    .office_category_box {
        flex-direction: column;
        margin-bottom: 0.3rem;
    }

    .office_category {
        margin-right: 0;
        margin-bottom: 1rem;
        width: fit-content;
    }

    .office_text {
        font: 1.5rem/2.3rem "Zen Maru Gothic";
        font-weight: 500;
    }

    .morebutton_office {
        padding: 1rem 6.3rem 1rem 3.5rem;
        align-self: center;
        margin-top: 0.6rem;
        margin-left: 0.6rem;
    }

    .news_section {
        margin-top: 4.7rem;
    }

    .news_head {
        font: 2.5rem/3.6rem "Zen Maru Gothic";
        font-weight: bold;
    }

    .news_thumbnail img {
        width: 30rem;
        height: 16.5rem;
        border-radius: 1rem;
    }

    .news_list {
        flex-direction: column;
        gap: 4rem;
        align-items: center;
    }

    .news_item {
        width: 30rem;
    }

    .recruit_titlebox {
        padding-top: 0rem;
    }

    .recruit_head {
        font: 2.5rem/3.6rem "Zen Maru Gothic";
        font-weight: bold;
        margin-bottom: 0rem;
    }

    .recruit_container {
        flex-direction: column;
    }

    .recruit_titlebox {
        margin-right: 0;
        margin-bottom: 2rem;
    }

    .recruit_buttonbox.sp_only {
        text-align: center;
    }

    .recruit_visualbox {
        width: 33.5rem;
        height: 35rem;
        order: 0;
        margin-bottom: 3rem;
    }

    .recruit_grape {
        bottom: 74rem;
        left: 3rem;
        width: 21%;
    }

    .recruit_text {
        writing-mode: initial;
        position: absolute;
        top: 20.5rem;
        left: 0;
        width: 33.5rem;
        height: 11.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: left;
        font: 2.4rem/4.8rem "Zen Maru Gothic";
        letter-spacing: 0.115rem;
        color: #FFFFFF;
        background-color: rgba(255, 255, 255, 0.2);
        padding: 1.6rem 0rem;
    }

    .morebutton_recruit,
    .morebutton_news {
        text-align: center;
        padding: 1rem 7.2rem 1rem 4.4rem;
        display: inline-block;
    }

    .banner_textbox {
        padding: 1.4rem 1.4rem;
    }

    .banner_readmore {
        font-size: 2rem;
    }

    .banner_img {
        width: 33.5rem;
        height: 28rem;
        object-fit: cover;
    }

    .banner_head {
        font: 2.5rem/3.6rem "Zen Maru Gothic";
        font-weight: bold;
    }

    .banner_textbox {
        top: 1.1rem;
        left: 1rem;
    }
}