/* --- アクセスページ全体 --- */
.access-page .section-title {
    background-color: #fafcc5;
    /* コンテンツ部分と同じベージュにする */
    margin: 0;
    /* 上下の隙間を一旦リセット */
    padding: 60px 0 30px;
    /* 上に広めの余白、下に少しの余白 */
    text-align: center;
    /* 中央寄せにすると「浮き」が軽減されます */
    color: #5B744C;
    font-size: 1.8rem;
    position: relative;
}

/* タイトルの下に短いラインを入れて落ち着かせる */
.access-page .section-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: #B2C2A2;
    /* 優しいグリーン */
    margin: 15px auto 0;
    border-radius: 10px;
}

/* --- 全体を囲むカード --- */
.access-card {
    background: #fff;
    padding: 40px;
    border-radius: 30px;
    /* 大きめの丸みで優しさを */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
    max-width: 1000px;
    margin: 0 auto;
}

/* --- タイトル周り --- */
.access-sub-title {
    display: inline-block;
    color: #5B744C;
    /* 代表の似顔絵の縁と同じグリーン */
    font-size: 1.4rem;
    margin-bottom: 15px;
    position: relative;
    padding-left: 30px;
}

/* タイトルの前に可愛いドットをつける */
.access-sub-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    background-color: #B2C2A2;
    border-radius: 50%;
}

/* --- 地図の枠を可愛く --- */
.map-container {
    margin: 30px 0;
    border: 8px solid #f0f4ec;
    /* 優しいグリーンの太枠 */
    border-radius: 20px;
    overflow: hidden;
    line-height: 0;
}

.map-container iframe {
    width: 100% !important;
    filter: sepia(10%) saturate(90%);
    /* 地図の色味を少しだけ落としてサイトに馴染ませる */
}

/* --- Googleマップボタン --- */
.map-link-btn {
    display: inline-block;
    padding: 12px 30px;
    background-color: #5B744C;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    font-weight: bold;
    transition: 0.3s;
    margin-top: 15px;
}

.map-link-btn:hover {
    background-color: #4a5e3d;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(91, 116, 76, 0.3);
}

/* --- 下部の説明グリッド --- */
.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 40px;
}

.info-item {
    background: #fcfcfc;
    padding: 25px;
    border-radius: 20px;
    border: 1px dashed #B2C2A2;
    /* 点線で親しみやすく */
}

.info-text {
    line-height: 1.8;
    color: #555;
}

/* --- 写真が入る予定の場所 --- */
.route-img-box {
    margin-top: 15px;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: #999;
    font-size: 0.9rem;
    overflow: hidden;
}

/* 1. 画像そのものの設定を追加 */
.route-img-box img {
    width: 100%;
    /* 横幅をボックスに合わせる */
    height: auto;
    /* 高さもボックスに合わせる */
    object-fit: cover;
    /* ボックスのサイズに合わせて、比率を保ったまま綺麗に切り抜く */
    border-radius: 10px;
    /* 親要素の角丸に合わせる */
    display: block;
    /* 余計な隙間を消す */
}

/* 2. 画像が入った時に、中の「目印の角を〜」という文字を隠す（任意） */
/* ※HTMLで画像を入れた後にテキストを消すなら不要ですが、念のため */
.route-img-box:has(img) span {
    display: none;
}

/* --- スマホ対応 --- */
@media (max-width: 768px) {
    .access-card {
        padding: 25px 20px;
    }

    .info-grid {
        grid-template-columns: 1fr;
        /* 縦並びに */
    }
}