@charset "UTF-8";
/* CSS Document */

/*全体*/
body{
    background-color:#eeeeee;
    margin:0;
    font-family: sans-serif;
}
h1{
    color:#0C4284;
    font-size:50px;
    font-weight:bold;
    text-align: center;
    margin:20px;
}
h2{
    font-size:15px;
}
h3{
    text-align: center;
    margin:0;
}
ol,ul{
    list-style: none;
}
figure{
    margin:10px;
}

.card {
  cursor: pointer;
}

.hero{
    width:100%;
    height:700px;
    overflow:hidden;
    position:relative;
}

.hero-text{
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translateY(-50%);
    
    writing-mode: vertical-rl;   /* 縦書き */
    text-orientation: upright;   /* 文字を正立 */
    white-space: nowrap; /*改行させない*/
    color: #ffffff;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 8px;
    font-family:YuMincho, 'Yu Mincho', 'Hiragino Mincho ProN', 'serif';       
    text-shadow: 3px 3px 0px rgba(0,0,0,0.6);
}

.hero img{
    width:100%;
    height:700px;
    object-fit: cover;
}

.container{
    background-color: #eeeeee;
    display:flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    margin:5px;    
}

.outer{
    width:100%;
}

.card{
    background-color: #ffffff;
    box-shadow:10px 5px 5px gray;
    border-radius: 15px;
    padding-right:10px;
    display:flex;
    justify-content: left;
    align-items: center;
    flex-direction: row;
    height:200px;
    width:300px;
    margin:15px;
    margin-right:40px;
}

.name{
    display:flex;
    flex-direction: column;    
}

.coming{
    justify-content: center;
}
.tetugaku{
    position: relative;   /* ← これが超重要 */
    width:100%;
    aspect-ratio:16/9;        /* 表示したい高さ */
    overflow:hidden;
    background-size:cover;
    box-shadow:10px 5px 5px gray;

}

.tetu{
    position:absolute;
    inset:0;
    opacity: 0;
    background-size: cover;
    animation:slidAnime 30s infinite;
}
.tetu:nth-of-type(1){
    background-image:url("img/anime1.jpg");
    background-position: center;
    animation-delay:0s;
    object-fit: contain;

}
.tetu:nth-of-type(2){
    background-image:url("img/anime2.jpg");
    animation-delay:6s;
    background-position: center;
    object-fit: cover;

}
.tetu:nth-of-type(3){
    background-image:url("img/anime3.jpg");
    animation-delay:12s;
    background-position: center;
}
.tetu:nth-of-type(4){
    background-image:url("img/anime4.jpg");
    animation-delay:18s;
    background-position: left;
}
.tetu:nth-of-type(5){
    background-image:url("img/anime5.jpg");
    animation-delay:24s;
    background-position: right;
}

.marc{
    width:100%;
    max-width:380px;
    height:auto;
    object-fit: contain;
}
@keyframes slidAnime{
    0%,30%,100%{
        opacity: 0;
    }
    10%,20%{
        opacity:1;
    }
}

.plofile img:not(.kaityouroom-img){
    width:100%;
    height:400px;
    object-fit:cover;
}

.kaityouroom-img{
    width:50%;
    height:70px;
    object-fit: contain;
    margin:20px auto;
    display:block;
}

.plofile h2{
    font-size:25px;
    text-align: center;
    margin:0;
    padding:0;   
}

.plofile h3{
    margin-top:50px;
}
.plofile h4{
    font-size:15px;
    text-align:center;
    margin:0;
}
p{
    margin-left:10px;
    margin-right:10px;
}

table{
    width:100%;
    border-collapse: collapse;
    border-top:3px solid;
}
th{
    width:30;
}
td{
    
}
th,td{
    border:none;
    border-bottom:solid 1px #000000;
    padding:8px;
    text-align:left;
}

header{
    background:#0C4284;
    position:fixed;
    width:100%;
    top:0;
    z-index:1000;
}

.nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 20px;
    position:relative;
}
.logo{
    position:absolute;
    left:20px;
    top:50%;
    transform: translateY(-50%)
}
.menu{
    display:flex;
    gap:30px;
    margin:0;
    padding:0;
}

.menu a{
    color:#fff;
    text-decoration:none;
    font-weight:bold;
}
.menu-btn{
    display:none;
}

.menu-icon{
    display:none;
}



@media(min-width:900px){
    .inner{
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
        width:1400px; 
        justify-content: center;
        gap:20px;
        }
    .outer{
        width:1200px;
        align-items: center;
        margin:0 auto;
    }
    .gaiyou{
        width:800px;
        margin:0 auto;
        text-align: justify;
    }
    .plofile{
        display:flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
    }
    .tetugaku{
        aspect-ratio:16/9;
    }
    p,li,address,th,td,a{
        font-size:24px;
    }
    h3{
        font-size:36px;
    }
    .marc{
        max-width:800px;
    }
    .nav{
        justify-content: center;
    }
    
}

@media(max-width:900px){

    .menu{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:rgba(12,66,132,0.6);
        flex-direction:column;
        max-height:0;
        overflow:hidden;
        transition:0.3s;
    }

    .menu li{
        padding:15px 0;
        text-align:center;
    }

    .nav{
        justify-content: flex-end;
    }
    /* ハンバーガー表示 */
    .menu-icon{
        display:block;
        cursor:pointer;
        margin-left:auto;
    }

    .navicon{
        background:#fff;
        display:block;
        height:3px;
        width:25px;
        position:relative;
    }

    .navicon::before,
    .navicon::after{
        content:"";
        background:#fff;
        display:block;
        height:3px;
        width:25px;
        position:absolute;
        transition:0.3s;
    }

    .navicon::before{
        top:-8px;
    }

    .navicon::after{
        top:8px;
    }

    /* 開いた時 */
    .menu-btn:checked ~ .menu{
        max-height:500px;
    }
    
}



/*
header{
    background:#ff0000;
    padding:20px 0;
    position:fixed;
    width:100%;
    top:0;
    z-index:1000;
}


.header-nav{
    display:flex;
    justify-content:center;
    gap:40px;
    padding:0;
    margin:0;
}

.header-nav a{
    color:#ffffff;
    text-decoration:none;
    font-weight:bold;
}

.header-nav a:hover{
    opacity:0.7;
}
*/
/* ポップアップ */
.popup{
    display:none;   /* ← 最初は見えない */
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.6);
    justify-content:center;
    align-items:center;
}

.popup-box{
    background:#fff;
    padding:30px;
    width:300px;
    border-radius:10px;
    text-align:center;
}

#close{
    cursor:pointer;
    font-size:20px;
    float:right;
}

/* ===== プロっぽいモーダル ===== */

.popup{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.75);
    backdrop-filter:blur(5px);
    justify-content:center;
    align-items:center;
    z-index:3000;
}

.popup-box{
    background:#fff;
    width:90%;
    max-width:700px;
    max-height:80vh;
    padding:40px;
    border-radius:20px;
    text-align:center;
    overflow:auto;
    position:relative;

    /* フワッとアニメーション */
    animation:fadeIn 0.4s ease;
}

.popup-box img{
    width:100%;
    border-radius:15px;
    margin-bottom:20px;
}

.popup-box h2{
    margin-bottom:15px;
    color:#0C4284;
}

.popup-box p{
    font-size:18px;
    line-height:1.6;
    white-space: pre-line;
    text-align: left;
    padding-left:1em;
}

.close-btn{
    position:absolute;
    top:15px;
    right:20px;
    font-size:28px;
    cursor:pointer;
}

.popup-box ul{
    text-align:left;
    padding-left:20px;
}

.popup-box li{
    margin-bottom:8px;
}

#popup-text {
  list-style: disc;
  padding-left: 20px;
}

/* アニメーション */
@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}