@charset "UTF-8";

/*==========================
SP-slider
==========================*/

.article__header p {
    /* width: 70%; */
    margin: 0 24px;
    line-height: 2.0;
    font-size: 1.6rem;
}

.Members__PC, .member__pic__pc, .madal__close__btn {
    display: none;
    z-index: 1;
}

.Members__SP {
    /* background-color: black; */
    margin: 30px 24px;
}

/* .slider__item {
    margin: 20px 0 50px 0;
} */

.slider__item img {
    width: 100%;
}

.member__prof {
    max-width: 300px;
    margin: 0 auto;
}
    
.gr_name {
    height: auto;
    padding: 20px 24px;
    position: relative;
    color: var(--main-color__wht);
    background-color: var(--main-color__blk);
}

.pcbr {
    display: none;
}

.mem_name {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 3.5px;
}

.mem_name_en {
    font-size: 1.3rem;
    color: var(--main-color__grn);
}

.mem_org {
    font-size: 1.4rem;
    font-weight: 500;
    margin-top: 10px;
    letter-spacing: 1.5px;
}

.cont_txt {
    margin-top: 20px;
    font-size: 1.6rem;
    line-height: 25px;
    letter-spacing: 0.1em;
}

.background_img__logo {
    position: absolute;
    bottom: -10%;
    opacity: 0.5;
    z-index: -100;
}

/*==========================
PC レスポンシブ
==========================*/

@media screen and (min-width: 769px) {
    .article__header h2{
        margin: 50px 60px 0 60px;
    }

    .article__header h3{
        margin-left: 60px;
    }

    .article__header p {
        margin: 0 60px;
    }

    .logo__address {
        margin: 0 30px;
    }

    /* .footer ul {
        margin: 30px 60px;
    } */
}

@media screen and (min-width: 820px) {

    .article__header p {
        margin: 50px 60px;
        font-size: 1.8rem;
    }

    /*==========================
    モーダル画像の調整
    ==========================*/

    .member__pic__pc {
        display: block;
    }

    .member__pic__sp {
        display: none;
    }

    .modal_item {
        box-shadow: 2px 2px 15px 4px rgba(37, 37, 37, 0.1);
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -45%);
        z-index: -80;
        opacity: 0;
        /* transition: 0.3s ease-out; */
        width: 0;
    }

    .modal_item.open {
        z-index: 9999;
        opacity: 1;
        width: 90%;
        max-width: 1000px;
        max-height: 90vh;
        transform: translate(-50%, -50%);
        transition: 0.2s ease-out;
    }

    /*==========================
    /* モーダルウィンドウの背景設定 
    ==========================*/    
    .container::after {
        display: none;
        content: '';
        background-color: rgba(37, 37, 37, 0.8);
        width: 100%;
        height: 100vh;

        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    .container.open::after {
        display: block;
        z-index: 9998;
    }

    .madal__close__btn {
        width: 32px;
        height: 32px;
        position: fixed;
        top: 10%;
        right: 10%;
        z-index: 9999;
    }

    .madal__close__btn.open {
        display: block;
    }

    /*==========================
    /* PCのメンバーリスト調整 
    ==========================*/
    .Members__PC {
        display: flex;
        justify-content: center;
        margin: 40px 80px 80px 80px;
        position: relative;
        z-index: 1;
    }

    .Members__PC::before {
        content: ""; 
        position: absolute;
        top: 0;
        right: 10%;
        bottom: 0;
        left: 0;
        background-image: url(../images/background-logo_green.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;   
        z-index: -1;     
        opacity: 0.3; 
    }

    .member__PC__list {
        display: flex;
        max-width: 1340px;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 30px 50px;
    }

    .member__PC__list__item img {
        width: 100%;
        height: auto;
        display: block; /* li内の余白対策 */
    }

    .member__PC__list__item {
        flex: 0 1 calc((100% - 100px) / 3);   
        max-width: 300px;   
    }

    .member__PC__list a{
        display:block; 
        position:relative;
        text-decoration:none;
    }

    .member__PC__list a img{
        display:block;
        width:100%;
    }

     .member__PC__list a:before{
        content:"";
        display:block;
        width:100%;
        height:100%;
        position:absolute;
        z-index:2;
        background:#000;
        opacity:0;
        transition:0.3s;
    }

    .member__PC__list a:after{
        content:"Focus....";
        display:block;
        color:#fff;
        font-size: 1.4rem;
        line-height:48px;
        width:180px;
        border:solid 1px #fff;
        border-radius:5px;
        text-align:center;
        position:absolute;
        top:50%;
        left:50%;
        margin-top:-1em;
        margin-left:-90px;
        opacity:0;
        z-index:3;
        transition:0.3s;
        font-weight:bold;
        letter-spacing:0.2em;
    }
    
    .member__PC__list a:hover:before{
        opacity:0.5;
    }
    
    .member__PC__list a:hover:after{
        opacity:1;
        margin-top:-0.5em;
    }

    .member__prof {
       display: flex;
       max-width: 1400px;
    }

    .member__pic__pc {
        width: 900px;
        height: 100%;
    }

    .gr_name {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 900px;
        height: auto;
        color: var(--main-color__wht);
        background-color: var(--main-color__blk);
        padding: 0 30px
    }

    .mem_name {
        font-size: 2.8rem;
    }

    .mem_name_en {
        font-size: 1.8rem;
    }

    .mem_org {
        font-size: 1.8rem;
        letter-spacing: 3.5px;
    }

    .cont_txt {
        font-size: 1.8rem;
        line-height: 2;
        letter-spacing: 2.5px;
        margin-top: 70px;
    }

    .pcbr {
        display: block;
    }
}


/* =========================================
Member Page Decoration (Right Side Loop)
========================================= */

/* --- 1. 親要素（基準点）の設定 --- */
.article {
    position: relative;
    }

.member-decoration {
    display: none;
    }

/* --- PC版 (769px以上) での表示設定 --- */
@media screen and (min-width: 769px) {      
        .member-decoration {
            display: flex;
            flex-direction: column;
            position: absolute;
            top: 0; 
            right: 5%;
            bottom: 0; 
            width: clamp(100px, 12vw, 200px);
            /* ★重要：この箱からはみ出た文字を隠す */
            overflow: hidden; 
            z-index: -10; 
            pointer-events: none;
        }

        /* ループするテキストの設定 */
        .member-decoration .loop-text {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(6rem, 10vw, 20rem);
            font-weight: 700;
            line-height: 1;
            color: var(--sub-color__grn);         
            writing-mode: vertical-rl; 
            text-orientation: mixed;
            white-space: nowrap;
            min-height: 100%; 
            
            /* アニメーション実行 */
            animation: verticalLoop 40s linear infinite;
        }
        .Members__PC {
            padding-right: clamp(80px, 15vw, 220px);
        }
}

/* --- アニメーションの動き --- */
@keyframes verticalLoop {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-100%);
    }
}

