.hero-deco-front-pc {
    display: block!important;
}

.hero-deco-front-sp {
    display: none!important;
}

.hero-image-pc {
    display: block!important;
}

.hero-image-sp {
    display: none!important;
}

.news-category {
    margin: 0 10px 0 40px;
}

.nav-item-home-sp {
    display: none;
}

@media screen and (max-width: 1024px) {
    .footer {
        padding: 60px 0 80px;
    }
    /* hero-buttonsのスマートフォン向けレイアウト調整 */
    .logo-pc {
        display: none;
    }
    .logo-sp {
        display: flex; /* logo_img.svgとlogo_txt.svgを横並びにするため */
        align-items: center; /* 垂直方向中央寄せ */
        gap: 5px; /* ロゴ間のスペース */
    }

    .header {
        height: 65px;
        border-bottom-right-radius: 30px;
    }
    
    .header-inner {
        padding: 0;
        align-items: center;
    }
    
    .logo-wrapper {
        padding: 13px 25px;
        border-bottom-right-radius: 24px;
        height: 65px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: none;
    }
    
    .logo-wrapper::after {
        display: none;
    }
    
    .logo-sp .logo-img { /* .logo-imgの親を.logo-spに限定 */
        width: 221px;
        height: auto;
    }
    
    .logo-sp .logo-txt { /* .logo-txtの親を.logo-spに限定 */
        width: 100px;
        height: 20px;
        display: block;
    }

    .hamburger {
        display: flex;
        flex-direction: column;
        gap: 6px;
        background: #F4AB42;
        border: none;
        cursor: pointer;
        padding: 20px 15px 15px; /* 変更 */
        z-index: 1001;
        border-radius: 0 0 0 20px;
        align-items: center;
        justify-content: center;
        color: #5D4037;
        font-size: 0.9rem;
        position: relative;
    }
    
    .hamburger-line {
        width: 30px;
        height: 3px;
        background-color: #5D4037;
        border-radius: 2px;
        transition: all 0.3s ease;
    }
    
    .hamburger-text {
        color: #5D4037; /* テキスト色をライン色に合わせる */
        font-weight: 600;
        margin-top: 5px; /* ラインとテキストの間隔 */
        line-height: 1; /* 変更 */
        font-size: 8px; /* 変更 */
    }

    .hamburger.is-active {
        background: none; /* 追加 */
    }

    .hamburger.is-active .hamburger-line:nth-child(1) {
        transform: translateY(4.5px) rotate(20deg);
    }
    
    .hamburger.is-active .hamburger-line:nth-child(2) {
        transform: translateY(-4.5px) rotate(-20deg);
        opacity: 1; /* 変更 */
    }

    .hamburger.is-active .hamburger-text {
        opacity: 1; /* 変更 */
    }

    .nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        max-width: 300px;
        height: auto; /* 変更 */
        background-color: #FFD9A2; /* 変更 */
        /*box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);*/
        transition: right 0.3s ease;
        z-index: 1000;
        overflow-y: auto;
        padding: 0;
        border-radius: 0 0 0 20px; /* 変更 */
    }
    
    .nav.is-active {
        right: 0;
    }
    
    .nav-menu {
        flex-direction: column;
        gap: 0;
        padding: 80px 30px 30px;
        align-items: flex-start;
    }
    
    .nav-item {
        width: 100%;
         /*border-bottom: 1px solid rgba(93, 64, 55, 0.1);*/
        height: auto; /* 変更 */
    }
    
    .nav-link {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        gap: 15px;
        padding: 10px 0; /* 変更 */
        font-size: 1rem;
    }

    .nav-item-home-sp {
        display: block;
    }

    body.menu-open::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 999;
    }

    /* ヒーローセクション */
    .hero {
        padding: 0; /* 変更 */
    }

    .hero-image-pc {
        display: none!important;
    }

    .hero-image-sp {
        display: block!important;
    }

    .hero-image {
        width: 89vw;
        margin: 6.6vw auto 0;
        border-radius: 30px;
    }
    
    .hero-image img {
        object-fit: contain;
    }

    .hero-deco-front-pc {
        display: none!important;
    }

    .hero-deco-front-sp {
        display: block!important;
    }

    .hero-deco-overlay {
        top: -6.6vw;
    }

    .hero-buttons {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        display: flex;
        flex-direction: row; /* ボタン自体は横並び */
        align-items: center; /* 垂直方向中央寄せ */
        justify-content: center; /* 水平方向中央寄せ */
        margin: -80px auto 70px; /* マージン調整 */
        gap: 10px; /* ボタン間の隙間を調整 */
        width: calc(100% - 40px); /* 左右に20pxの余白を設ける */
        max-width: 500px; /* 最大幅を設定 */
        padding: 0;
    }

    .hero-buttons.is-fixed {
        position: fixed; /* fixedに戻す */
        bottom: -10px; /* 画面下部に固定 */
        left: 50%; /* 中央寄せ */
        transform: translateX(-50%); /* 中央寄せ */
        width: calc(100% - 40px); /* 左右に20pxの余白を設ける */
        max-width: 500px;
        margin: 0 auto; /* is-fixed時はmargin auto */
        flex-direction: row; /* 横並びを維持 */
        padding: 0;
        gap: 10px; /* ボタン間の隙間を調整 */
    }

    .hero-button {
        display: flex;
        flex-direction: column; /* ボタン内部は縦並び */
        align-items: center; /* 中央寄せ */
        justify-content: center; /* 中央寄せ */
        flex: 1; /* 幅を均等に */
        min-width: unset; /* 最小幅を解除 */
        height: 180px; /* 高さを調整 (画像から推測) */
        padding: 20px 0; /* パディング調整 */
        border-radius: 0; /* 削除 */
        box-shadow: none; /* 削除 */
        text-decoration: none; /* リンクの下線を削除 */
        color: inherit; /* テキスト色を親から継承 */
        background-size: 143px auto; /* 変更 */
        background-position: center 100%; /* 変更 */
    }

    .hero-button.meguminosono {
        background-image: url('../../assets/img/bg_btn_bottom01_sp.svg');
        background-repeat: no-repeat;
    }

    .hero-button.nijiiro {
        background-image: url('../../assets/img/bg_btn_bottom02_sp.svg');
        background-repeat: no-repeat;
    }

    .button-image {
        width: 105px; /* 幅を調整 (画像から推測) */
        height: 86px; /* 高さを調整 (画像から推測) */
        margin-top: 0;
        margin-bottom: 5px; /* テキストとの間に少し隙間 */
    }

    .button-content {
        flex: none;
        padding-left: 0;
        padding-top: 0;
        text-align: center;
        margin: 0;
    }

    .button-label {
        font-size: 16px !important; /* フォントサイズを調整 (画像から推測) */
        line-height: 1.2;
        color: #fff; /* 白い文字色 (画像から推測) */
    }

    .button-title {
        font-size: 16px !important; /* フォントサイズを調整 (画像から推測) */
        line-height: 1.2;
        color: #fff; /* 白い文字色 (画像から推測) */
    }

    .hero-button.nijiiro .button-label {
        font-size: 9.8px !important;
    }

    /* 各ボタンの個別のテキスト色調整（画像から） */
    /* .hero-button.meguminosono .button-label { font-size: 16px; color: #fff; } */
    /* .hero-button.meguminosono .button-title { font-size: 24px; color: #fff; } */
    /* .hero-button.nijiiro .button-label { font-size: 14px; color: #fff; } */
    /* .hero-button.nijiiro .button-title { font-size: 22px; color: #fff; } */


    .hero-button .button-arrow {
        width: 33px; /* 幅を調整 (画像から推測) */
        height: 33px; /* 高さを調整 (画像から推測) */
        margin-top: 0; /* マージン調整 */
        background-color: #fff; /* 白い背景色 (画像から推測) */
        border-radius: 50%; /* 円形 */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero-button .button-arrow img {
        width: 10px; /* 矢印画像の幅 (画像から推測) */
    }

    /* is-fixed時のヒーローボタンのスタイルを修正 */
    .hero-buttons.is-fixed .hero-button {
        height: 70px;
        padding: 5px 15px;
        gap: 8px;
        flex-direction: row; /* 横並びに戻す */
        justify-content: center;
        background-size: 100% auto; /* 変更 */
    }
    .hero-buttons.is-fixed .button-image {
        width: 45px;
        height: 45px;
    }

    .hero-buttons.is-fixed .button-title {
        font-size: 14px !important;
    }

    .hero-buttons.is-fixed .button-label {
        display: block !important;
        font-size: 14px !important;
    }

    .hero-buttons.is-fixed .hero-button.nijiiro .button-label {
        font-size: 9.8px !important;
    }

    .hero-buttons.is-fixed .button-arrow {
        width: 30px;
        height: 30px;
    }

    .hero-buttons.is-fixed .hero-button.meguminosono {
        background-image: url('../../assets/img/bg_btn_bottom01.svg')!important;
    }

    .hero-buttons.is-fixed .hero-button.nijiiro {
        background-image: url('../../assets/img/bg_btn_bottom02.svg')!important;
    }

    /* philosophyセクションのスマートフォン向け調整 */
    .philosophy-text .section-title-wrap {
        text-align: left !important;
    }

    .philosophy-text .section-title-main {
        text-align: left !important;
    }

    .philosophy-description {
        text-align: left !important;
    }

    .message-bg-deco,
    .message-front-deco {
        display: none !important;
    }

    .philosophy-content {
        display: flex;
        flex-direction: column;
    }

    .philosophy-text {
        display: contents; /* For reordering children using order on .philosophy-content */
    }

    .philosophy-content .section-title-wrap { /* Contains section-title-en and section-title-main */
        order: 1;
    }

    .philosophy-images-wrap {
        order: 2;
    }

    .philosophy-content .philosophy-description {
        order: 3;
    }

    .container {
        width: 89vw !important;
    }

    .philosophy .section-title-wrap {
        margin-bottom: 0;
    }

    .message-main-image {
        width: auto;
    }

    .philosophy-images-wrap {
        margin: 0;
        padding: 0;
    }

    .philosophy-description br {
        display: none !important;
    }

    /* お知らせセクションのスマートフォン向け調整 */
    .news-deco-left,
    .news-deco-right {
        display: none !important;
    }

    .news-item {
        display: flex;
        flex-wrap: wrap;
    }

    .news-item .news-title {
        width: 100% !important;
    }

    .news-item .news-meta {
        width: 100% !important;
    }

    .news::before {
        content: '';
        top: 200px;
    }

    .news-container {
        padding: 20px 0 !important;
    }

    .news {
        padding: 80px 0 200px; 
    }

    .news-list {
        margin-bottom: 40px;
    }

    .news .section-title-wrap {
        margin-bottom: 20px;
    }

    .news-important-note {
        font-size: 15px;
        padding: 0.5em;
    }

    /* めぐみの園保育園セクションのスマートフォン向け調整 */
    .facility-deco-right {
        display: none !important;
    }

    .meguminosono-section {
        padding: 63vw 0 300px;
        margin-top: -200px;
    }

    .meguminosono-section .meguminosono-text {
        text-align: left;
        padding: 0 20px;
        font-size: 15px;
    }

    .meguminosono-section .meguminosono-image-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 20px;
        margin-top: 50px;
    }

    .facility .facility-title-wrap {
        margin-bottom: 0;
        width: 100%;
        text-align: center;
    }

    .facility-header .facility-title-en {
        width: 89vw;
        top: -85px;
        left: 50%;
        transform: translateX(-50%);
    }

    .meguminosono-section .facility-header {
        margin-bottom: 60px;
    }

    .facility-circle-card {
        transform: none;
    }

    .facility-circle-grid .facility-circle-card {
        transform: none !important;
    }

    .button-more,
    .button-more-green,
    .button-more-orange {
        font-size: 16px !important;
        padding: 15px 40px 15px 15px !important;
    }

    .button-more::after,
    .button-more-green::after,
    .button-more-orange::after {
        right: 25px !important;
    }

    .recruit {
        padding: 75px 0 0;
    }

    .recruit .section-title-wrap {
        margin-bottom: 30px;
    }

    .recruit-content-wrapper {
        padding: 50px 20px;
    }

    .recruit-catchphrase {
        font-size: 20px;
        margin-bottom: 30px;
    }

    .recruit-text {
        font-size: 15px;
    }

    .recruit-main-image {
        width: 100%;
    }

    .recruit-image-wrap {
        right: 0;
        width: 100%;
        margin-top: 50px;
        position: static;
        transform: none;
    }

    .recruit-sub-text {
        margin-top: 30px;
    }

    .recruit-buttons {
        margin-top: 50px;
        flex-direction: column;
        gap: 20px;
    }

    .recruit-button {
        width: 100%;
    }

    .meguminosono-section .recruit-buttons-wrapper {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-top: 50px;
    }

    .recruit-buttons-wrapper {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-top: 50px;
    }

    .recruit-data-table {
        font-size: 15px;
    }

    .recruit-data-table th,
    .recruit-data-table td {
        padding: 15px 10px;
    }

    .recruit-data-table th {
        width: 35%;
    }

    /* にじいろ分園セクションのスマートフォン向け調整 */
    .nijiiro-section {
        margin-top: -200px;
        padding: 145px 0 123px;
    }

    .nijiiro-section::before {
        top: 150px;
    }

    /* ギャラリーセクションのスマートフォン向け調整 */
    .gallery {
        padding: 35vw 0 80px;
    }

    .gallery .section-title-wrap {
        margin-bottom: 30px;
    }

    .gallery-text {
        padding: 0 20px;
        font-size: 15px;
    }

    .gallery-slider-wrap {
        width: 100% !important;
        margin: 0;
    }

    .swiper.gallery-slider {
        width: 100% !important;
        padding: 0;
    }

    .gallery-nav-container {
        width: calc(100% - 40px);
        top: 60%;
        padding: 0;
        z-index: 10;
    }


    .gallery-prev {
        width: 40px;
        height: 40px;
        left: 0;
        background-size: 18px;
        background-color: white !important;
        border-radius: 50%;
    }

    .gallery-next {
        width: 40px;
        height: 40px;
        right: 0;
        background-size: 18px;
        background-color: white !important;
        border-radius: 50%;
    }

    .gallery-item {
        height: auto !important;
        border-radius: 15px;
    }

    .gallery-item img {
        width: 100% !important;
        height: 250px !important;
        object-fit: cover !important;
        border-radius: 10px;
    }

    /* スライダー全体の高さも確保 */
    .gallery .swiper,
    .gallery .swiper-wrapper {
        height: auto !important;
        min-height: 250px;
    }

    .gallery-button-wrap {
        margin-top: 45px;
    }

    /* お問い合わせセクションのスマートフォン向け調整 */
    .contact {
        padding: 100px 0 100px;
    }

    .contact::before {
        top: 150px;
    }

    .contact .section-title-wrap {
        margin-bottom: 30px;
    }

    .contact .container {
        padding: 0;
    }

    .contact-methods {
        flex-direction: column;
        gap: 30px;
        padding: 0;
    }

    .contact-method {
        width: 100%;
        padding: 10px;
    }

    .contact-method-title {
        text-align: center;
        font-size: 20px;
    }

    .contact-phone {
        /* font-size: 40px;
        letter-spacing: -0.01em; */
    }

    .phone-number {
        font-size: 40px;
        letter-spacing: -0.01em;
    }

    .contact-reception-time {
        text-align: center;
    }

    .contact-icon {
        width: 20px;
    }

    .contact-buttons {
        flex-direction: column;
        gap: 20px;
        margin-top: 40px;
    }

    .contact-button {
        width: 100%;
    }

    .container {
        display: flex;
        flex-direction: column;
        padding: 0; /* 追加 */
    }

    .footer-content {
        display: contents;
    }

    .footer-nav {
        order: 1;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px; /* 追加 */
    }

    .footer-links-col {
        text-align: left;
        padding-left: 1em; /* 追加 */
    }

    .footer-sub-link::before {
        left: -1em; /* 追加 */
        padding-left: 0; /* 変更 */
    }

    .footer-link-icon {
        display: flex;
        align-items: center;
        justify-content: flex-start; /* 追加 */
        padding-left: 5px; /* 追加 */
    }

    .footer-link-icon::before {
        left: -2em; /* 追加 */
    }

    .footer-bottom-links {
        order: 2;
        gap: 10px;
    }

    .footer-main-info {
        order: 3;
        text-align: left;
    }

    .footer-info-group {
        align-items: flex-start;
        margin-top: 50px;
    }

    .footer-info-block {
        text-align: left;
    }

    .footer-copyright {
        order: 4;
    }

    .footer .container {
        padding: 0 !important; /* style.css の記述を上書き */
    }
}

@media screen and (max-width: 768px) {
    .swiper-slide {
        width: 100% !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .facility.meguminosono-section {
        padding-top: 33vw;
    }
    .message-main-image {
        width: 50vw;
    }
    .philosophy {
        padding-top: 50px;
    }
    .hero-buttons.is-fixed .hero-button {
        background-position: top center;
    }
    .button-more,
    .button-more-green,
    .button-more-orange {
        padding: 15px 80px 15px 25px !important;
    }
    .gallery {
        padding-top: 10vw;
    }
    .recruit-image-wrap {
        position: absolute;
        right: -100px;
        bottom: -30px;
        width: 50vw;
    }
    .recruit {
        padding-bottom: 80px;
    }
    .contact {
        padding-bottom: 200px;
    }
    .footer-bottom-links {
        margin-top: 30px;
    }
    .footer-main-info {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}
