@charset "UTF-8";

@media print {
    /* =========================================
       1. 基本リセット
       ========================================= */
    @page { margin: 5mm; size: A4 portrait; }
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        box-sizing: border-box !important;
    }

    body {
        zoom: 0.9 !important;
        width: 100% !important;
    }

    /* 不要パーツ非表示 */
    hr, .menu-btn, .scrolldown1, .palla, 
    .btn, .text-right a, .page-top, 
    .slick-arrow, .slick-dots, .sp, 
    .pager, .cat-list, .return
    {
        display: none !important;
        border: none !important;
        height: 0 !important;
    }
    .pc { display: block !important; }

    /* 全体表示許可 */
    body, .wrapper, .fade, section, .container {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
        background-image: none !important;
        background-color: transparent !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
    }

    /* 装飾用疑似要素削除 */
    section:before, section:after,
    .wrapper:before, .wrapper:after,
    .container:before, .container:after {
        content: none !important;
        display: none !important;
        background: none !important;
    }

    /* =========================================
       ★ヘッダーメニュー設定
       ========================================= */
    header { 
        position: static !important; 
        border-bottom: none !important; 
        margin-bottom: 15px; 
    }
    header .container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        border-bottom: none !important;
        flex-wrap: nowrap !important;
    }
    header .container .logo img.pc { width: 220px !important; }

    .menu {
        display: flex !important;
        align-items: center !important;
        margin-left: auto !important;
    }
    
    .menu nav ul {
        display: flex !important;
        flex-wrap: nowrap !important; 
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 10px !important; 
    }
    .menu nav ul li {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
    .menu nav ul li a {
        text-decoration: none !important;
        color: #000 !important;
        font-size: 9pt !important;
        font-weight: bold !important;
        white-space: nowrap !important;
    }
    
    /* 言語切り替え */
    .language {
        display: flex !important;
        list-style: none !important;
        margin: 0 0 0 20px !important;
        padding: 0 !important;
        gap: 10px !important;
        border-left: none !important; 
        padding-left: 0 !important;
        align-items: center !important; 
    }
    .language li a {
        text-decoration: none !important;
        color: #005bac !important; 
        font-size: 9pt !important;
        display: inline-block !important;
        line-height: 1.2 !important;
        vertical-align: middle !important;
        padding: 5px 10px !important; 
    }
    .language li a.current {
        font-weight: bold !important;
        color: #fff !important; 
        background-color: #005bac !important; 
        text-decoration: none !important;
        border: none !important; 
        padding: 5px 10px !important; 
        border-radius: 20px !important; 
        display: inline-block !important;
        line-height: 1.2 !important;
        vertical-align: middle !important;
    }


    /* =========================================
       2. メインビジュアル（MV）
       ========================================= */
    .slide {
        display: block !important;
        width: 100% !important;
        height: 350px !important;
        position: relative !important;
        overflow: hidden !important;
        margin-bottom: 10px !important;
        padding: 0 !important;
        background: none !important;
    }
    .slide .slick-list, .slide .slick-track {
        display: block !important; width: 100% !important; height: 100% !important;
        transform: none !important; position: static !important; margin: 0 !important; padding: 0 !important;
    }
    .slide .mv { display: none !important; }

    /* 1枚目強制表示 */
    .slide .mv:first-child,
    .slide .slick-track > .mv:first-child,
    .slide .slick-slide:not(.slick-cloned):first-child { 
        display: block !important; 
        position: absolute !important; 
        top: 0 !important; 
        left: 0 !important; 
        width: 100% !important; 
        height: 350px !important;
        margin: 0 !important;
        z-index: 999 !important; opacity: 1 !important; visibility: visible !important;
    }
    .slide .mv span { 
        width: 100% !important; height: 100% !important; display: block !important;
        background-size: cover !important; background-position: center center !important;
        background-repeat: no-repeat !important; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
    }

    /* 下層ページ用MV */
    body > .mv, header + .mv, .wrapper .mv {
        display: flex !important; align-items: center !important; justify-content: center !important;
        width: 100% !important; 
        height: 200px !important;
        background-size: cover !important; background-position: center center !important;
        margin-bottom: 20px !important; padding: 0 !important;
    }
    .page-title {
        color: #fff !important; text-shadow: 0 0 5px rgba(0,0,0,0.5); font-size: 24pt !important; margin: 0 !important; z-index: 1 !important; position: relative !important;
    }
    .page-title span { display: block !important; font-size: 12pt !important; margin-bottom: 5px !important; color: #fff !important; }


    /* =========================================
       3. コンテンツのレイアウト（活動報告）
       ========================================= */
    
    /* A. トップページ（Slickスライダー）：1行固定・横スクロールなし */
    section .slick-post, 
    section .slick-post .slick-list,
    section .slick-post .slick-track {
        display: flex !important;
        flex-wrap: nowrap !important; /* 1行に強制 */
        width: 100% !important;
        height: auto !important;
        max-height: 400px !important; 
        overflow: hidden !important; 
        margin: 10px 0 !important; 
        padding: 0 !important;
        gap: 0 !important; 
        background: none !important; 
        transform: none !important; 
        left: auto !important; 
    }

    /* トップページのアイテム設定 */
    section .slick-post .slick-slide,
    section .slick-post article {
        display: block !important;
        width: 33.333% !important; 
        flex: 0 0 33.333% !important;
        min-width: 33.333% !important;
        margin: 0 !important;
        padding: 0 10px !important; /* 左右10px＝余白20px */
        box-sizing: border-box !important;
        float: none !important;
        height: auto !important;
        vertical-align: top !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* slick-slide内にarticleがある場合の二重適用防止 */
    section .slick-post .slick-slide article {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        flex: none !important;
    }
    
    .slick-cloned { display: none !important; }


    /* ★B. 下層ページ（記事一覧）：3列グリッド・複数行表示（修正箇所） */
    .post {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important; /* 3列 */
        gap: 20px !important; /* 余白20px */
        width: 100% !important;
        margin: 10px 0 !important;
        background: none !important;
    }
    
    .post article {
        display: block !important;
        width: 100% !important; /* グリッド幅に合わせる */
        margin: 0 !important;
        padding: 0 !important; /* グリッドのgapで余白調整するためpadding不要 */
    }


    /* =========================================
       共通スタイル：画像・タイトル（枠線なし・最大化）
       ========================================= */
    section .slick-post article a.image span,
    .post article a.image span {
        width: 100% !important; 
        height: 120px !important;
        background-size: cover !important; 
        border: none !important; /* 枠線なし */
        display: block !important;
        margin: 0 auto !important;
    }
    
    section .slick-post article .title a,
    .post article .title a {
        display: block !important; 
        font-size: 9pt !important; 
        line-height: 1.3 !important; 
        margin-top: 5px !important; 
        text-decoration: none !important; 
        color: #000 !important;
    }
    
    /* 詳細ページ用リセット */
    .post.detail {
        display: block !important; 
    }
    .post.detail img {
        max-width: 100% !important; height: auto !important; display: block !important; margin: 10px auto !important;
    }
    .post.detail .title { font-size: 16pt !important; margin-bottom: 10px !important; text-align: center !important; }
    .post.detail .date { text-align: right !important; margin-bottom: 20px !important; }


    /* =========================================
       4. その他コンテンツ調整
       ========================================= */
    #section-01, #section-02, .container {
        width: 100% !important; max-width: 100% !important; 
        padding: 0 5% !important; 
        margin: 15px auto !important;
        background: none !important; 
    }
    
    h2 { 
        text-align: center !important; 
        border-bottom: none !important; 
        padding-bottom: 5px !important; 
        margin-bottom: 10px !important;
        background: none !important; 
    }
    
    p { 
        text-align: justify !important; line-height: 1.5 !important; 
        margin-bottom: 10px !important; 
        font-size: 10pt !important;
    }
    p.link { text-align: center !important; }

    /* 画像位置の完全修正 */
    p.project-image { 
        display: block !important;
        text-align: center !important; 
        width: 100% !important;
        margin: 15px 0 !important; 
        padding: 0 !important;
    }
    p.project-image img.pc { 
        display: inline-block !important; 
        float: none !important;
        position: static !important;
        margin: 0 auto !important;
        max-width: 90% !important; 
        height: auto !important; 
        width: auto !important; 
        top: auto !important; left: auto !important; right: auto !important;
        transform: none !important;
    }
    p.project-image img.sp { display: none !important; }

    /* マップリンク */
    .map-link { 
        display: block !important; width: 100% !important; 
        margin: 10px auto !important; 
        padding: 0 !important; text-align: center !important; list-style: none !important; 
    }
    .map-link li { 
        display: inline-block !important; float: none !important; 
        width: 45% !important; 
        margin: 0 2% 5px !important; 
        vertical-align: top !important; text-align: left !important; 
        font-size: 9pt !important;
    }
    .map-link li a { 
        display: block !important; text-decoration: none !important; color: #000 !important; 
    }
    
    /* =========================================
       ★フッター設定（背景色・線なし）
       ========================================= */
    footer, .deep-footer {
        display: block !important; width: 100% !important; text-align: center !important;
        padding: 10px 0 !important; margin: 0 !important; clear: both !important;
        background-color: #fff !important;
    }

    footer {
        border: none !important;
        border-top: none !important; 
    }
    footer hr {
        display: none !important;
        border: none !important;
        height: 0 !important;
    }

    /* バナー背景色（水色） */
    footer .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px!important;
        margin: 0 auto !important;
        border: none !important;
        background-color: #e6f4f9 !important; 
    }

    /* テキスト部分背景色（白） */
    .deep-footer,
    .deep-footer .container {
        background-color: #fff !important; 
    }

    .deep-footer,
    .deep-footer:before, 
    .deep-footer:after {
        border: none !important;
        border-top: none !important; 
        content: none !important;
    }
    
    footer .container:before, 
    footer .container:after {
        display: none !important;
    }
    
    /* バナー調整 */
    footer .banner {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        list-style: none !important;
        margin: 10px auto !important;
        padding: 0 !important;
        gap: 0 !important; 
        flex-wrap: nowrap !important;
        border: none !important;
    }
    
    footer .banner li {
        width: auto !important;
        margin: 0 20px !important;
        flex: 0 0 auto !important;
        padding: 20px !important;
        border: none !important;
    }
    
    footer .banner li img {
        display: block !important;
        width: 130px !important; 
        height: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
        padding: 0 10px!important;
    }

    /* テキスト中央揃え */
    .deep-footer .container {
        text-align: center !important;
        margin: 0 auto !important;
        border: none !important;
    }
    .deep-footer p,
    .deep-footer .project,
    .deep-footer .address,
    .deep-footer .copy {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin: 5px auto !important;
        float: none !important;
        border: none !important;
    }
    
    address, .copy, .copyright { 
        display: block !important; 
        text-align: center !important; 
        width: 100% !important; 
        margin: 5px auto !important; 
        font-style: normal !important; 
    }
}