@charset "UTF-8";

/* ============================================================
   園について（About）専用スタイル 完全版
   ============================================================ */

.about-page {
    background-color: #fcfaf5;
    color: #333;
    line-height: 1.8;
    font-family: 'Zen Maru Gothic', sans-serif;
    padding: 180px 0 120px;
}

.about-page .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 30px;
}

/* タイトル共通 */
.about-page .section-title {
    text-align: center;
    margin-bottom: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about-page .section-title .title-inner {
    display: inline-flex;
    align-items: center; 
    justify-content: center;
    gap: 30px;
    font-size: 24px;
    font-weight: 900;
    color: #4a3728;
    line-height: 1;
}

.about-page .section-title .title-inner::before,
.about-page .section-title .title-inner::after {
    content: "";
    width: 6px;
    height: 32px;
    background-color: #08A66C;
    border-radius: 10px;
}

.about-page .section-title span:not(.title-inner) {
    display: block;
    font-size: 12px;
    color: #08A66C;
    margin-top: 10px; 
    letter-spacing: 0.15em;
    font-weight: 700;
}

/* 園名の由来（画像統合版） */
.origin-box-v2 {
    display: flex;
    align-items: center;
    gap: 50px;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-radius: 40px;
    padding: 50px;
    border: 2px solid #fff;
    box-shadow: 0 15px 40px rgba(93, 64, 55, 0.08);
    max-width: 1000px;
    margin: 0 auto 100px;
}

.origin-image {
    flex: 0 0 350px;
    height: 350px;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    animation: floating 4s ease-in-out infinite;
}

@keyframes floating {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.origin-image img { width: 100%; height: 100%; object-fit: cover; }
.origin-content { flex: 1; }
.est-date { display: inline-block; background: #08A66C; color: #fff; padding: 5px 20px; border-radius: 30px; font-size: 14px; font-weight: 900; margin-bottom: 20px; }
.origin-title { font-size: 26px; font-weight: 900; color: #4a3728; margin-bottom: 20px; }
.origin-text { font-size: 17px; line-height: 2; font-weight: bold; color: #555; text-align: left; }

/* 保育目標・方針 */
.policy-grid { display: flex; gap: 40px; margin-bottom: 100px; }
.policy-card { flex: 1; background: #fff; padding: 60px 40px; border-radius: 40px; box-shadow: 0 10px 30px rgba(0,0,0,0.03); }
.goal-tag { display: inline-block; font-size: 15px; color: #08A66C; border: 2px solid #08A66C; padding: 4px 15px; border-radius: 10px; font-weight: 900; margin-bottom: 10px; }
.goal-list { list-style: none; padding: 0; }
.goal-list li { margin-bottom: 30px; text-align: center; }
.goal-list li p { font-size: 20px; font-weight: 900; color: #4a3728; }
.philosophy-list { list-style: none; padding: 0; }
.philosophy-list li { position: relative; padding-left: 35px; margin-bottom: 20px; font-size: 16px; font-weight: bold; color: #555; }
.philosophy-list li::before { content: "●"; position: absolute; left: 0; color: #e67e22; font-size: 20px; }

/* 園の特色 */
.features-section { padding: 50px 0 100px; }
.feature-item { display: flex; align-items: center; gap: 60px; margin-bottom: 100px; }
.feature-item.reverse { flex-direction: row-reverse; }
.feature-image { flex: 0 0 450px; height: 300px; border-radius: 30px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.feature-image img { width: 100%; height: 100%; object-fit: cover; }
.feature-content { flex: 1; }
.feature-sub-title { font-size: 24px; font-weight: 900; color: #4a3728; margin-bottom: 10px; position: relative; padding-bottom: 10px; }
.feature-sub-title::after { content: ""; position: absolute; bottom: 0; left: 0; width: 50px; height: 3px; background: #08A66C; }
.feature-target { display: inline-block; font-size: 13px; background: #fdf5e6; color: #e67e22; padding: 2px 12px; border-radius: 5px; margin-bottom: 15px; font-weight: 900; }
.feature-content p { font-size: 16px; font-weight: bold; color: #555; line-height: 1.7; }
.company-info { font-size: 14px !important; color: #08A66C !important; margin-bottom: 10px; font-weight: 900; }

/* 事業概要 */
.summary-table-wrapper { max-width: 850px; margin: 0 auto 100px; background: #fff; padding: 45px; border-radius: 30px; box-shadow: 0 5px 15px rgba(0,0,0,0.02); }
.summary-table { width: 100%; border-collapse: collapse; }
.summary-table th, .summary-table td { padding: 22px 15px; border-bottom: 1px solid #eee; }
.summary-table th { width: 30%; text-align: left; color: #08A66C; font-weight: 900; }
.summary-table td { color: #4a3728; font-weight: bold; }

/* ナビゲーションカード */
.about-nav-section { padding: 60px 0 140px; }
.nav-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.nav-card { display: block; background: #fff; border-radius: 30px; overflow: hidden; text-decoration: none !important; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease; }
.nav-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(93, 64, 55, 0.12); }
.nav-card-image { width: 100%; height: 220px; overflow: hidden; background: #f0f0f0; }
.nav-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
.nav-card:hover .nav-card-image img { transform: scale(1.08); }
.nav-card-body { padding: 25px 20px; text-align: center; }
.nav-card-body h3 { font-size: 20px; font-weight: 900; color: #4a3728; margin-bottom: 8px; }
.nav-card-body p { font-size: 14px; color: #888; font-weight: bold; }










/* ============================================================
   スマホ・タブレット用：レスポンシブ最適化（追記分）
   ============================================================ */
@media screen and (max-width: 768px) {

    .about-page {
        padding: 120px 0 80px; /* ヘッダーとの距離を調整 */
    }

    .about-page .container {
        padding: 0 20px;
    }

    /* タイトルサイズ調整 */
    .about-page .section-title .title-inner {
        font-size: 20px;
        gap: 15px;
    }
    .about-page .section-title .title-inner::before,
    .about-page .section-title .title-inner::after {
        height: 24px;
        width: 5px;
    }

    /* 園名の由来（Glass Box） */
    .origin-box-v2 {
        flex-direction: column !important;
        padding: 40px 20px !important;
        gap: 30px !important;
        text-align: center;
        border-radius: 30px !important;
    }
    .origin-image {
        flex: 0 0 240px !important;
        width: 240px !important;
        height: 240px !important;
        margin: 0 auto;
        animation: none !important; /* スマホでは揺らさない */
    }
    .origin-title {
        font-size: 22px !important;
    }
    .origin-text {
        font-size: 15px !important;
        text-align: justify !important; /* スマホでは両端揃えが綺麗 */
        line-height: 1.8 !important;
    }

    /* 保育目標・方針 */
    .policy-grid {
        flex-direction: column !important;
        gap: 30px !important;
    }
    .policy-card {
        padding: 40px 20px !important;
        border-radius: 30px !important;
    }
    .goal-list li p {
        font-size: 18px !important;
    }
    .philosophy-list li {
        font-size: 15px !important;
        padding-left: 25px !important;
    }

    /* 園の特色 */
    .feature-item, 
    .feature-item.reverse {
        flex-direction: column !important;
        gap: 25px !important;
        margin-bottom: 70px !important;
    }
    .feature-image {
        flex: 0 0 220px !important;
        width: 100% !important;
        height: 220px !important;
    }
    .feature-sub-title {
        font-size: 20px !important;
        text-align: center;
    }
    .feature-sub-title::after {
        left: 50% !important;
        transform: translateX(-50%);
    }
    .feature-content {
        text-align: center;
    }
    .feature-content p {
        font-size: 14px !important;
        text-align: left !important;
    }

    /* 事業概要テーブル */
    .summary-table-wrapper {
        padding: 30px 20px !important;
        border-radius: 25px !important;
    }
    .summary-table th, 
    .summary-table td {
        display: block !important;
        width: 100% !important;
        border: none !important;
        padding: 5px 0 !important;
    }
    .summary-table th {
        color: #08A66C !important;
        font-size: 13px !important;
        padding-top: 15px !important;
    }
    .summary-table td {
        padding-bottom: 10px !important;
        border-bottom: 1px dotted #eee !important;
    }

    /* ナビゲーションカード */
    .about-nav-section {
        padding: 40px 0 80px !important;
    }
    .nav-card-grid {
        grid-template-columns: repeat(2, 1fr) !important; /* 2列で見やすく */
        gap: 15px !important;
    }
    .nav-card {
        border-radius: 20px !important;
    }
    .nav-card-image {
        height: 140px !important;
    }
    .nav-card-body {
        padding: 15px 10px !important;
    }
    .nav-card-body h3 {
        font-size: 15px !important;
    }
    .nav-card-body p {
        font-size: 11px !important;
    }
}

@media screen and (max-width: 480px) {
    /* さらに小さい画面（iPhoneSE等）用 */
    .nav-card-grid {
        grid-template-columns: 1fr !important; /* 1列に切り替え */
    }
    .origin-image {
        width: 180px !important;
        height: 180px !important;
    }
}