@media screen and (max-width: 600px){

    body{
        overflow-x:hidden;
    }

    .wrap{
        padding:0 15px;
        margin-top:0;
    }
    
    /* PC用の taidan_13 はスマホでは非表示 */
.taidan13-pc{
    display:none;
}
    
    /* 背景の流れる花を消す */
.flow-bg{
    display:none;
}

/* セクション帯 */

.mobile-flow-strip{
    display:block;
    width:100%;
    height:280px;
    overflow:hidden;
    margin:0 0 24px;
    position:relative;
    background:transparent;
    z-index:1;
}

/* 第一部の固定画像（taidan_13） */
.taidan-fixed{
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:120px;
    height:auto;
    z-index:2;
    pointer-events:none;
}

.strip-track{
    position:relative;
    width:100%;
    height:280px;
    overflow:hidden;
}

.strip-track img{
    position:absolute;
    left:100%;
    object-fit:cover;
    animation-name:mobileFlow;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}

@keyframes mobileFlow{
    from{
        transform:translateX(120px);
    }
    to{
        transform:translateX(-140vw);
    }
}
    /* ---------- ヘッダー ---------- */

  .top-banner{
    text-align:right;
    padding-right:10px; /* 端に少し余白 */
}

    .top-banner img{
        width:180px;
    }

    .header{
        padding:10px 10px;
    }

    .nav{
        gap:10px 18px;
        font-size:11px;
        line-height:1.5;
    }


   /* ---------- ファーストビュー ---------- */

.hero{
    width:100%;
    margin-left:0;
    margin-top:0px;
    padding:15px 10px 80px;
}

.hero-title{
    font-size:36px;
    letter-spacing:3px;
    white-space:nowrap;
}

.subtitle{
    font-size:20px;
    margin-bottom:25px;
}

.hero p:last-of-type{
    max-width:none;
    margin:0;
    font-size:13px;
    line-height:2;
    text-align:left;
}

/* スマホではHTMLの強制改行を解除 */
.hero p:last-of-type br{
    display:none;
}

    /* ---------- 見出し ---------- */

    .panel-section h2,
    .workshop-section h2,
    .interview-section h2{
        font-size:28px;
        line-height:1.5;
    }



    /* =====================================
       第1部
       PCの3列 → スマホでは縦積み
       ===================================== */

    .panel-row{
        display:flex;
        flex-direction:column;
        gap:40px;
        width:100%;
    }

    .person{
        width:100%;
        align-items:center;
    }

    .person-head{
        justify-content:center;
    }

.person .affiliation{
    writing-mode:horizontal-tb;
    font-size:16px;
}

 .person .name{
    writing-mode:horizontal-tb;
    font-size:48px;
}

    .person .name span{
        font-size:20px;
    }

.person .img{
    width:240px;
    height:205px;
    margin-top:25px;
}

    .person.left .img{
        margin-top:30px;
    }

.person .comment{
    writing-mode:horizontal-tb;
    font-size:24px;
    margin-top:25px;
    text-align:center;
}


    /* 中央の本文 */
    .panel-text{
        width:100%;
    }

    .panel-text p{
        font-size:14px;
        line-height:2;
    }

    .comment-img{
        margin:15px 0;
    }

    .comment-img img{
        width:100%;
        max-width:100%;
    }


    /* ---------- プロフィール ---------- */

    .profile-box{
        margin:25px 0;
        padding:20px;
    }

    .profile-name{
        font-size:19px;
    }

    .profile-box p{
        font-size:13px;
        line-height:1.8;
    }


    /* ---------- 第2部 ---------- */

    .workshop-section{
        padding:50px 0;
    }

    .workshop-grid{
        width:100%;
        max-width:none;
        gap:25px;
    }

    .workshop-card{
        padding:25px 20px;
        border-radius:15px;
    }

    .workshop-card .catch{
        font-size:20px;
    }

    .workshop-card p{
        font-size:13px;
        line-height:1.8;
    }

    .workshop-card p.note{
        font-size:16px;
    }


/* ---------- VOICE ---------- */

/* 花マップはスマホでは非表示 */
.voice-map{
    display:none;
}

/* 参加者画像を表示 */
.mobile-sankasha{
    display:block;
    width:100%;
    margin:30px auto 40px;
}

.mobile-sankasha img{
    width:100%;
    height:auto;
    display:block;
}


    /* ---------- Interview ---------- */

    .interview-section{
        padding:10px 0 60px;
    }

    .interview-card{
        width:100%;
        padding:25px 0 40px;
    }

    .interview-card .photo{
        float:none;
        width:100%;
        height:auto;
        margin:0 0 20px;
    }

    .interview-card .photo img{
        width:100%;
        height:auto;
        object-fit:contain;
    }

    .interview-card .company{
        font-size:13px;
    }

    .interview-card .name{
        font-size:20px;
    }

    .interview-card .desc{
        font-size:13px;
        line-height:1.9;
    }


    /* ---------- TOPボタン ---------- */

    #toTop{
        width:44px;
        height:44px;
        right:15px;
        bottom:15px;
    }

/* ---------- スマホ専用：対談写真 ---------- */

/* 左右プロフィールを消す */
.person{
    display:none;
}

/* 本文の幅 */
.panel-text{
    width:100%;
    max-width:none;
}

/* 対談写真 */
.mobile-taidan{
    display:block;
    margin:0 auto 30px;
    text-align:center;
}

.mobile-taidan img{
    width:100%;
    max-width:560px;
    height:auto;
    border-radius:10px;
    display:block;
    margin:0 auto;
}

/* 対談終了写真 */
.mobile-taidan-end{
    display:block;
    margin:40px auto 10px;
    text-align:center;
}

.mobile-taidan-end img{
    width:100%;
    max-width:560px;
    height:auto;
    border-radius:10px;
    display:block;
    margin:0 auto;
}

      /* ---------- フッター ---------- */

    .footer{
        padding:30px 0;
    }

    .footer img{
        max-width:200px;
    }

    /* スマホのモーダルだけ全画面表示 */
/* ===== 助成先マップ（スマホ） ===== */

.map-modal-content{
    width:100vw;
    height:100vh;
    border-radius:0;
    background:transparent;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;

    padding:110px 16px 16px;
    box-sizing:border-box;
}

.map-image{
    width:100%;
    max-width:none;
    max-height:none;
    height:100%;
    display:block;
    object-fit:contain;
}

/* 閉じるボタン */
.map-close{
    position:static;
    transform:none;
    margin-top:8px;

    width:56px;
    height:56px;

    border:none;
    border-radius:50%;

    background:rgba(120,120,120,.45);
    backdrop-filter:blur(8px);

    color:#fff;
    font-size:34px;
    line-height:56px;
    text-align:center;

    cursor:pointer;
}
}   /* ← @media の終了はここ */


@media screen and (max-width: 767px) {
  .nav {
    gap: 12px;
    font-size: 12px;
    overflow-x: auto;
    justify-content: flex-start;
  }

  .header {
    padding: 12px 10px;
  }

  .nav a {
    flex-shrink: 0;
  }
}
