@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* --- ここから修正済みのデザインコード --- */

:root {
    --earth-dark: #4A4238; /* 濃い茶色 */
    --earth-mid: #8C7B63;  /* 中間の茶色 */
    --earth-light: #D9D0C1; /* ベージュ */
    --forest-green: #2E4A3D; /* 深緑 */
    --accent-orange: #C75B39; /* テラコッタオレンジ */
    --text-color: #333;
    /* 砂っぽいテクスチャ（画像の代わりにコードで生成） */
    --bg-texture: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClDkvyAAAAHlBMVEUAAAD///////////////////////////////////8F951kAAAACnRSTlMABg8YJD1RV2eL+vG2XwAAAFRJREFUOE9jYKAuYMQiaGgA4jA4aQCR6d9fGCSlQZgGkGgAiE+YgQGM9gA56QYw2gHkpBvA6ACQk24Aox1ATroBjHYAOekGMNpB4gB0s4YnAACtVhrr15pB+AAAAABJRU5ErkJggg==');
}

/* 全体のコンテナ */
.course-container {
    max-width: 960px;
    margin: 30px auto;
    padding: 30px;
    background-color: #F4F1E8;
    background-image: var(--bg-texture);
    color: var(--text-color);
    /* 日本語も読みやすいゴシック体指定 */
    font-family: 'Helvetica Neue', Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    border: 4px solid var(--earth-dark);
    box-shadow: 5px 5px 0 var(--earth-mid);
}

/* ゴツい見出しフォント（日本語対応） */
.rugged-text {
    font-family: 'RocknRoll One', sans-serif; /* 日本語のゴツいフォント */
    letter-spacing: 0.05em;
}

/* メインタイトル */
.course-title {
    font-size: 2.0rem; /* スマホでも見やすいサイズに調整 */
    color: var(--earth-dark);
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 15px;
    border-bottom: 3px dashed var(--earth-mid);
    text-shadow: 2px 2px 0 var(--earth-light);
    line-height: 1.4;
}

/* セクションの共通スタイル（スタンプ風ボックス） */
.stamp-box {
    background: #fff;
    border: 2px solid var(--earth-dark);
    padding: 25px;
    margin-bottom: 30px;
    position: relative;
    box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
    transform: rotate(-0.5deg);
}
.stamp-box:nth-child(even) {
     transform: rotate(0.5deg);
}

/* セクション見出し */
.section-title {
    font-size: 1.4rem;
    color: var(--forest-green);
    border-bottom: 2px solid var(--earth-mid);
    padding-bottom: 10px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    font-weight: bold;
    font-family: 'RocknRoll One', sans-serif;
}
.section-title .icon {
    margin-right: 10px;
    font-size: 1.6rem;
}

/* テーブルスタイル */
.info-table {
    width: 100%;
    border-collapse: collapse;
}
.info-table th,
.info-table td {
    padding: 12px;
    border-bottom: 1px solid var(--earth-light);
    vertical-align: top;
}
.info-table th {
    background: var(--earth-light);
    color: var(--earth-dark);
    width: 30%; /* ラベル幅 */
    font-weight: bold;
    border-right: 2px solid var(--earth-mid);
    white-space: nowrap; /* ラベルの折り返し防止 */
}
.info-table td {
    background: #fdfdfd;
}

/* 料金テーブルの強調 */
.price-table .price-value {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--accent-orange);
    font-family: 'RocknRoll One', sans-serif;
}

/* 2カラムレイアウト（PC時） */
@media (min-width: 768px) {
    .two-column {
        display: flex;
        gap: 30px;
    }
    .two-column > section {
        flex: 1;
    }
}

/* おすすめポイント（ハイライトボックス） */
.highlight-box {
    background: var(--forest-green);
    color: #fff;
    border-color: var(--earth-dark);
}
.highlight-box .section-title {
    color: #FFD700;
    border-bottom-color: rgba(255,255,255,0.3);
}

/* チェックリスト */
.check-list {
    list-style: none;
    padding: 0;
}
.check-list li {
    margin-bottom: 10px;
    padding-left: 25px;
    position: relative;
    font-weight: bold;
    line-height: 1.6;
}
.check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #FFD700;
    font-weight: bold;
}

/* アウトドア風ボタン */
.outdoor-btn {
    display: inline-block;
    background: var(--accent-orange);
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    border-bottom: 3px solid #9f462a;
    transition: all 0.2s;
}
.outdoor-btn:hover {
    background: #d86c4a;
    transform: translateY(2px);
    border-bottom-width: 1px;
    color: #fff;
}

/* マップ */
.map-container {
    border: 2px solid var(--earth-dark);
    padding: 5px;
    background: #fff;
}
.map-container iframe {
    display: block;
     filter: sepia(30%);
}

/* スマホ調整 */
@media (max-width: 767px) {
    .course-container {
        padding: 15px;
        margin: 15px auto;
    }
    .info-table th {
        width: auto;
        white-space: normal;
        font-size: 0.9rem;
    }
}

/* --- ギャラリー用スライダー（4:3 標準写真比率・矢印なし） --- */
.gallery-slider {
    width: 100%;
    
    /* 比率を4:3に固定（スマホ写真の標準サイズ） */
    aspect-ratio: 4 / 3; 
    height: auto !important;

    /* PCでの最大幅制限 */
    max-width: 800px !important;
    margin: 0 auto 30px auto !important;

    padding: 0 !important;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); 
}

/* スライド設定 */
.gallery-slider .swiper-slide {
    width: 100% !important;
    height: 100%;
}

/* 画像設定 */
.gallery-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 隙間なく埋める */
    border: none;
}

/* ▼ 矢印ナビゲーションを非表示にする */
.gallery-slider .swiper-button-prev,
.gallery-slider .swiper-button-next {
    display: none !important;
}

/* ページネーション（下の点々） */
.gallery-slider .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.6;
    width: 8px;
    height: 8px;
    /* 点々の位置を微調整 */
    margin: 0 5px !important; 
}
.gallery-slider .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--accent-orange, #ff6b00);
}