/*==========================================
  校長より
==========================================*/

/* Hero
------------------------------------------*/

.principal-hero{

    background:linear-gradient(135deg,#204f86,#173c69);

    color:#fff;

    position:relative;

}

.principal-hero::after{

    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:4px;

    background:#f0c75e;

}

.principal-hero .hero-inner{

    max-width:1100px;

    margin:auto;

    padding:48px 24px 42px;

}

.principal-hero .hero-sub{

    color:rgba(255,255,255,.85);

    font-size:.95rem;

    letter-spacing:.12em;

    text-transform:uppercase;

    margin-bottom:12px;

}

.principal-hero h1{

    color:#fff;

    font-size:clamp(2rem,4vw,2.8rem);

    margin-bottom:18px;

    line-height:1.2;

}

.principal-hero .hero-text{

    color:rgba(255,255,255,.92);

    line-height:1.8;

    max-width:680px;

}



/*==========================================
  本文
==========================================*/

.principal-message{

    padding:80px 0;

    background:#f7f9fc;

}

.principal-message .container{

    max-width:1000px;

    margin:auto;

    padding:0 20px;

}



/*==========================================
  プロフィール
==========================================*/

.principal-profile{

    display:grid;

    grid-template-columns:240px 1fr;

    gap:50px;

    align-items:center;

    margin-bottom:60px;

}

.principal-photo img{

    width:100%;

    display:block;

    border-radius:12px;

    box-shadow:0 10px 24px rgba(0,0,0,.12);

}

.principal-label{

    color:#1b4f9c;

    font-size:.9rem;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

    margin-bottom:12px;

}

.principal-info h2{

    font-size:2rem;

    color:#1b365d;

    margin-bottom:20px;

}

.principal-name{

    font-size:1.15rem;

    line-height:2;

    color:#444;

}

.principal-name strong{

    font-size:1.4rem;

    color:#1b365d;

}



/*==========================================
  メッセージ
==========================================*/

.message-card{

    background:#fff;

    border-radius:14px;

    padding:50px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.message-card p{

    line-height:2.2;

    color:#444;

    margin-bottom:28px;

    text-align:left;

}



/*==========================================
  強調メッセージ
==========================================*/

.message-highlight{

    margin:40px 0;

    padding:24px 28px;

    border-left:4px solid #1b4f9c;

    background:#fcfdff;

    border-radius:0;

}

.message-highlight p{

    margin:0;

    font-size:1.08rem;

}

.message-highlight strong{

    color:#1b4f9c;

}



/*==========================================
  署名
==========================================*/

.message-sign{

    margin-top:56px;

    text-align:right;

}

.message-sign p{

    margin:0;

    line-height:1.8;

}

.message-sign p:first-child{

    margin-bottom:20px;

    color:#666;

    font-size:.95rem;

}

.sign-date{
    margin-bottom:20px;
    color:#666;
    font-size:.95rem;
}

.sign-name{
    line-height:1.8;
}


/*==========================================
  レスポンシブ
==========================================*/

@media(max-width:768px){

.principal-message{

    padding:60px 0;

}

.principal-profile{

    grid-template-columns:1fr;

    gap:30px;

    text-align:center;

}

.principal-photo{

    max-width:220px;

    margin:0 auto;

}

.principal-info h2{

    font-size:1.8rem;

}

.message-card{

    padding:30px 24px;

}

.message-card p{

    line-height:2;

    text-align:left;

}

.message-highlight{

    padding:22px;

}

.message-sign{

    margin-top:40px;

    text-align:center;

}


}