/*ーーーーーーーーーーーーーーーーーー

メインビジュアル　なの？？？？

ーーーーーーーーーーーーーーーーーーー*/

.mail-icon {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: var(--color-white);
    /* 白背景 */
    border: 1px solid var(--color-pink-primary);
    /* 黄色の枠線 */
    border-radius: 50%;
    padding: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 999;
    cursor: pointer;
    transition: background-color 0.4s ease, transform 0.3s ease;
}

.mail-icon:hover {
    transform: translateY(-5px);
}


@media (max-width: 767px) {
    .header_logo img {
        max-width: 160px;
        min-width: 156px;
    }
}

/*ーーーーーーーーーーーーーーーーーー

メインビジュアル

ーーーーーーーーーーーーーーーーーーー*/

#mainvisual {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin-bottom: var(--space-xxl);
}

.main-slider {
    position: relative;
    height: 100%;
}

.main-slider_slide {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.main-slider_slide:not(.active) {
    clip: rect(100vh, 100vw, 100vh, 0);
}

.prepare .main-slider_slide.active {
    animation-name: main-clip;
    animation-duration: 2.8s;
    animation-timing-function: cubic-bezier(.77, 0, .175, 1);
    animation-fill-mode: both;
    z-index: 2;
}

@keyframes main-clip {
    0% {
        clip: rect(100vh, 100vw, 100vh, 0);
    }

    50% {
        clip: rect(0, 100vw, 100vh, 0);
    }

    to {
        clip: rect(0, 100vw, 100vh, 0);
    }
}

@-webkit-keyframes main-clip {
    0% {
        clip: rect(100vh, 100vw, 100vh, 0);
    }

    50% {
        clip: rect(0, 100vw, 100vh, 0);
    }


    to {
        clip: rect(0, 100vw, 100vh, 0);
    }
}

.main-slider_slide.prev {
    clip: rect(0, 100vw, 100vh, 0) !important;
    z-index: 1;
}

@keyframes zoomDown {
    0% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@media screen and (min-width: 768px) {
    #mainvisual {
        height: calc(70svh - 200px);
        margin-bottom: var(--space-xxxl);
        border-radius: var(--border-radius-m);
    }

    #mainvisual .main-img {
        height: 100%;
        object-fit: cover;
        object-position: bottom;
    }
}

@media screen and (min-width: 1024px) {
    #mainvisual {
        height: calc(100vh - 200px);
    }
}

/*ーーーーーーーーーーーーーーーーーー

ココノハーツとは？

ーーーーーーーーーーーーーーーーーーー*/
#about {
    margin-bottom: var(--space-xl);
}

#about .container {
    display: flex;
    justify-content: space-between;
}


#about .container .text-wrap {
    width: 68%;
    background-color: var(--color-yellow-light);
    border-radius: var(--border-radius-m);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 52px 52px;
}

#about .container .text-wrap h2,
#about .container .text-wrap p {
    margin-bottom: 50px;
}

#about .container .text-wrap h2 {
    font-size: var(--font-size-fixed-l);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-accent);
    text-align: center;
}

#about .container .text-wrap p {
    text-align: left;
    line-height: var(--line-height-normal);
}

#about .container .img-wrap {
    width: 28%;
}

#about .container .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-m);
}


@media (max-width: 767px) {
    #about .container .img-wrap {
        width: 100%
    }

    #about .container .text-wrap {
        width: 100%;
        padding: 52px 20px;
    }

    #about .container .img-wrap img {
        width: 100%;
        height: 100%;
        height: 240px;
        object-fit: cover;
        border-radius: var(--border-radius-m);
    }

    #about .container {
        display: flex;
        gap: var(--space-xl);
        flex-direction: column;
        gap: var(--space-m);
    }

    #about .container .text-wrap h2,
    #about .container .text-wrap p {
        margin-bottom: var(--space-bottm-sp);
        line-height: var(--line-height-normal);
    }

}

/*ーーーーーーーーーーーーーーーーーー

家族

ーーーーーーーーーーーーーーーーーーー*/
#family {
    margin-bottom: var(--space-xl);
}

#family .container {
    display: flex;
    justify-content: space-between;
}

#family .container .img-wrap {
    width: 42%;
}

#family .container .text-wrap {
    width: 54%;
    background-color: var(--color-yellow-light);
    border-radius: var(--border-radius-m);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 52px 52px;
}

#family .container .text-wrap h2,
#family .container .text-wrap p {
    margin-bottom: 50px;
}



#family .container .text-wrap h2 {
    font-size: var(--font-size-fixed-l);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-accent);
}

#family .container .text-wrap p {
    margin-bottom: 50px;
    text-align: left;
    line-height: var(--line-height-normal);
}



#family .container .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-m);
}


@media (max-width: 767px) {
    #family .container .img-wrap {
        width: 100%;
    }

    #family .container .text-wrap {
        width: 100%;
        padding: 52px 20px;
    }

    #family .container .img-wrap img {
        width: 100%;
        height: 100%;
        height: 240px;
        object-fit: cover;
        border-radius: var(--border-radius-m);
    }

    #family .container {
        display: flex;
        gap: var(--space-xl);
        /* flex-direction: column; */
        flex-direction: column-reverse;
        gap: var(--space-m);
    }

    #family .container .text-wrap h2,
    #family .container .text-wrap p {
        margin-bottom: var(--space-bottm-sp);
        line-height: var(--line-height-normal);
    }

}

/*ーーーーーーーーーーーーーーーーーー

一日の過ごし方

ーーーーーーーーーーーーーーーーーーー*/
#day {
    margin-bottom: var(--space-xl);
}


#day h2 {
    text-align: center;
    font-size: var(--font-size-fixed-l);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-accent);
    margin-bottom: 80px;
}


.flex {
    background-color: var(--color-yellow-primary);
    text-align: center;
    border-radius: var(--border-radius-m);
    padding: 52px 72px;
}

#day .img_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}


#day .flex p {
    margin-bottom: 40px;
    text-align: justify;
    line-height: var(--line-height-normal);
}

#day .img_flex .img_box {
    width: 30%;
    position: relative;
}

#day .img_flex .img_box img {
    border-radius: var(--border-radius-m);
}

#day .img_flex .img_box::before {
    content: "";
    position: absolute;
    top: -37px;
    left: 50%;
    transform: translateX(-50%);
    width: 65px;
    height: 65px;
    border-radius: var(--border-radius-full);
    z-index: 2;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

#day .img_flex .img_box:nth-child(1)::before {
    background: linear-gradient(to bottom right, #a0e030, #86c969);
    box-shadow:
        inset -5px -5px 10px rgba(255, 255, 255, 0.3),
        inset 5px 5px 10px rgba(0, 0, 0, 0.2),
        4px 14px 10px rgba(0, 0, 0, 0.3);
}

#day .img_flex .img_box:nth-child(2)::before {
    background: linear-gradient(to bottom right, #00c6ff, #0072ff);
    box-shadow:
        inset -5px -5px 10px rgba(255, 255, 255, 0.3),
        inset 5px 5px 10px rgba(0, 0, 0, 0.2),
        4px 14px 10px rgba(0, 0, 0, 0.3);
}

#day .img_flex .img_box:nth-child(3)::before {
    background: linear-gradient(to bottom right, #805dd0, #920783);
    /* 紫のグラデーション */
    box-shadow:
        inset -5px -5px 10px rgba(255, 255, 255, 0.3),
        inset 5px 5px 10px rgba(0, 0, 0, 0.2),
        4px 14px 10px rgba(0, 0, 0, 0.3);
}

@media (max-width: 767px) {

    #family .container .img-wrap {
        width: 100%;
    }

    .flex {
        padding: 52px 20px;
    }

    #day .img_flex .img_box {
        width: 100%;
        position: relative;
    }

    #day .img_flex {
        display: flex;
        justify-content: center;
        flex-direction: column;
        gap: 90px;
        margin-bottom: 50px;
    }

    #day .flex p {
        margin-bottom: var(--space-bottm-sp);
    }

    #day .img_flex .img_box::before {
        width: 60px;
        height: 60px;
    }
}

/*ーーーーーーーーーーーーーーーーーー

お知らせ

ーーーーーーーーーーーーーーーーーーー*/
#news {
    margin-bottom: var(--space-xl);
}

#news .container .text-area {
    display: flex;
    gap: 68px;
    align-items: center;
    margin-bottom: 50px;
    background-color: var(--color-white);
    padding: 15px;
    border-radius: var(--border-radius-m);
    border: 4px dotted var(--color-blue-sky);
}

#news .container .text-right p {
    text-align: left;
    margin-bottom: 10px;
}

#news .container .text-right p:nth-of-type(2) {
    font-size: var(--font-size-fixed-m);
    font-weight: var(--font-weight-bold);
}

#news .container {
    display: flex;
    justify-content: space-between;
}

#news .text-wrap {
    width: 58%;
    background-color: var(--color-yellow-primary);
    border-radius: var(--border-radius-m);
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#news .text-wrap h2 {
    text-align: center;
    font-size: var(--font-size-fixed-l);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-accent);
    margin-bottom: 50px;
}

#news .text-right {

    word-break: break-word;

}


#news .img-wrap {
    width: 36%;
}

#news .img-wrap img {
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-m);
}

#news .container .text-area img {
    width: 200px;
}


.sample-slider {
    width: 38%;
    overflow: hidden;
    /* はみ出した部分を隠す */
    border-radius: var(--border-radius-m);
}


.splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    width: auto !important;
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible;
    height: 100%;
}

.splide__pagination .splide__pagination__page {
    background: var(--color-white);
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 19px;
    margin: 24px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 19px;
}

.splide__pagination .splide__pagination__page.is-active {
    background: var(--color-blue-sky);
    transform: scale(1.4);
    z-index: 1;
}

.splide .splide__pagination.splide__pagination--ltr {
    bottom: 7.5em !important;
}

@media (max-width: 767px) {
    #news .container {
        flex-direction: column-reverse;
        gap: 24px;
    }

    #news .text-wrap {
        width: 100%;
    }

    #news .img-wrap {
        width: 100%;
        height: 200px;
    }

    #news .container .text-area {
        flex-direction: column;
        gap: 30px;
    }

    #news .container .text-right p {
        text-align: center;
    }

    #news .container .text-right p:nth-of-type(2) {
        font-size: var(--font-size-fixed-s);
    }

    .splide__slide img {
        vertical-align: bottom;
        height: 300px;
        object-fit: cover;
    }

    .splide__slide {
        width: 100% !important;
    }

    .sample-slider {
        /* width: 40%; */
        height: 900px;
        width: 100%;
        margin: 0 auto;
        overflow: hidden;
    }

    .splide .splide__pagination.splide__pagination--ltr {
        bottom: 1.5em !important;
    }

    #news .text-wrap h2 {
        margin-bottom: var(--space-bottm-sp);
    }

    #news .container .text-area img {
        width: 100%;
    }
}

/*ーーーーーーーーーーーーーーーーーー

お問い合わせとよくあるご質問

ーーーーーーーーーーーーーーーーーーー*/
#contact {
    margin-bottom: var(--space-xl);
}

#contact .container {
    display: flex;
    justify-content: space-between;
}

#contact .contact-wrap {
    width: 48%;
    background-color: var(--color-yellow-primary);
    border-radius: var(--border-radius-m);
    text-align: center;
}

#contact .contact-wrap h2 {
    text-align: center;
    font-size: var(--font-size-fixed-l);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-accent);
    margin-bottom: 50px;
}

#contact .contact-wrap p {
    margin-bottom: 50px;
    text-align: left;
    line-height: var(--line-height-normal);
    padding: 0px 80px;
}

#contact .qa-wrap {
    width: 48%;
    background-color: var(--color-yellow-light);
    border-radius: var(--border-radius-m);
    text-align: center;

}

#contact .qa-wrap h2 {
    text-align: center;
    font-size: var(--font-size-fixed-l);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-accent);
    margin-bottom: 50px;
}

#contact .qa-wrap p {
    margin-bottom: 50px;
    text-align: left;
    line-height: var(--line-height-normal);
    padding: 0px 80px;
}

@media (max-width: 767px) {
    #contact .container {
        flex-direction: column;
        gap: 24px;
    }

    #contact .contact-wrap h2 {
        margin-bottom: var(--space-bottm-sp);
    }

    #contact .contact-wrap {
        width: 100%;
    }

    #contact .qa-wrap {
        width: 100%;
    }

    #contact .contact-wrap p {
        margin-bottom: var(--space-bottm-sp);
        padding: 0px;
    }

    #contact .qa-wrap h2 {
        margin-bottom: var(--space-bottm-sp);
    }

    #contact .qa-wrap p {
        margin-bottom: var(--space-bottm-sp);
        padding: 0px;
    }
}

/*ーーーーーーーーーーーーーーーーーー

採用情報

ーーーーーーーーーーーーーーーーーーー*/
#recruit {
    margin-bottom: var(--space-xl);
}

#recruit .container {
    width: 100%;
}

#recruit .container h2 {
    text-align: center;
    font-size: var(--font-size-fixed-l);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-family-accent);
    margin-bottom: 50px;
}

#recruit .container p {
    margin-bottom: 50px;
    text-align: left;
    line-height: var(--line-height-normal);
}

#recruit .bg {
    background-image: url(http://nyafukushi.jp/wp-content/uploads/2025/05/recruit_img_01.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: rgba(255, 255, 255, 0.7);
    background-blend-mode: lighten;
    text-align: center;
    border-radius: var(--border-radius-m);
}

@media (max-width: 767px) {
    #recruit .container h2 {
        margin-bottom: var(--space-bottm-sp);
    }

    #recruit .container p {
        margin-bottom: var(--space-bottm-sp);
    }
}

/*ーーーーーーーーーーーーーーーーーー

グーグルマップ

ーーーーーーーーーーーーーーーーーーー*/
#map {
    margin-bottom: var(--space-xl);
}


.map-wrapper {
    height: 500px;
    border-radius: var(--border-radius-m);
}