/* ページ全体 */

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
                 "メイリオ", Meiryo, sans-serif;
    margin: 0;
    background: #f5f5f5;
    color: #333;
    font-size: 20px;   /* 本文を大きく */
    line-height: 1.8;  /* 行間を広く */
}



/* ヘッダー */

header {

    background:#e8f4fb;

    color:#003b70;

    padding:25px 0;

    text-align:center;

}




/* メニュー */

nav {

    background:#4aa3d8;

    padding:12px;

    text-align:center;

}


nav a {

    color:white;

    text-decoration:none;

    margin:20px;

}




/* トップ画像 */



.top-image img {
    width: 100%;
    max-width: 950px;
    height: 500px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}




/* 本文 */

main {

max-width:900px;

margin:40px auto;

padding:20px;
    
font-size: 19px;
    
line-height: 1.9;

text-align:center;

}



h2 {

color:#003b70;

border-left:5px solid #0066a6;

padding-left:10px;


}


/* =====================
   フッター
===================== */


footer {

    background:#d8eef9;

    color:#003b70;

    padding:25px 0;

}


.footer-inner {

    max-width:1000px;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

}


.footer-title {

    font-size:18px;

}


.footer-info {

    text-align:right;

    line-height:1.8;

}



/* =====================
   ご挨拶ページ
===================== */


.page-title {
    background: #f0f8ff;
    padding: 35px;
    text-align: center;
}

.page-title h2 {
    color: #003b70;
    font-size: 36px;
}


/* 挨拶ページ */
.greeting {
    max-width: 1000px;
    margin: 60px auto;
    padding: 20px;
    text-align: left;
    font-size: 20px;
    line-height: 1.8;
}

.greeting h2 {
    color: #003b70;
    border-left: 5px solid #0066a6;
    padding-left: 10px;
    margin-bottom: 30px;
}

.professor-photo {
    width: 300px;
    float: right;
    margin: 0 0 20px 40px;
    border-radius: 10px;
}

.name {
    text-align: right;
    margin-top: 40px;
    font-weight: bold;
    clear: both;
}


/* スマートフォン */
@media (max-width: 768px) {

    .professor-photo {
        width: 250px;
        float: none;
        display: block;
        margin: 0 auto 30px;
    }

}

/* =====================
   講座紹介ページ
===================== */


.about-box {

max-width:1000px;

margin:40px auto;

padding:30px;

background:#f7fafc;

border-radius:10px;

}



.about-box h2 {

color:#003b70;

border-left:5px solid #0066a6;

padding-left:15px;

margin-top:0;

}



.about-box p {

line-height:2;

}



.about-box ul {

padding-left:25px;

}



.about-box li {

margin-bottom:10px;

}



/* 講座紹介画像 */


.about-image {

    text-align: center;

    margin: 10px auto;

}

.about-image {

    text-align: center;

    padding: 10px 0;

}


.about-image img {

    width: 100%;

    max-width: 950px;

    height: 500px;

    object-fit: cover;

}


/* =====================
   スタッフ一覧
===================== */


.staff-list {

    max-width:900px;

    margin:60px auto;

}



.staff-item {

    padding:25px 10px;

    border-bottom:1px solid #ddd;

}



.staff-item h3 {

    color:#003b70;

    font-size:22px;

    margin-bottom:10px;

    text-align:left;

}



.staff-name {

    font-size:20px;

    font-weight:bold;

    margin:5px 0;

    text-align:left;

}



.staff-item p {

    line-height:1.8;
    text-align:left;

}



/* =====================
   作成中表示
===================== */


.coming-soon {

    max-width:900px;

    margin:100px auto;

    text-align:center;

    font-size:24px;

    color:#003b70;

}

/* =====================
   お知らせページ
===================== */


.news-list {

    max-width:900px;

    margin:60px auto;

}


.news-list dl {

    margin:0;

}


.news-list dt {

    font-weight:bold;

    color:#003b70;

    margin-top:25px;

}


.news-list dd {

    margin-left:20px;

    padding-bottom:15px;

    border-bottom:1px solid #ddd;

    line-height:1.8;

}


/* お知らせ（中央配置・日付は左揃え） */
.news-items {
    max-width: 800px;
    margin: 0 auto;
    text-align: left;
}

.news-items dt {
    font-weight: bold;
    color: #003b70;
    margin-top: 20px;
}

.news-items dd {
    margin: 5px 0 20px 0;
    line-height: 1.8;
}


/* お知らせ一覧リンクを左揃え） */
.news-link {
    text-align: left;
    max-width: 800px;
    margin: 20px auto 0;
}

.news-link a {
    color: #0066a6;
    text-decoration: none;
}

.news-link a:hover {
    text-decoration: underline;
}



/* =====================
   お知らせ背景設定
===================== */

.top-news iframe,
.news-list iframe{

    border:none;

    background:white;

}



/* =====================
   リンクページ
===================== */


.link-list {

    max-width:900px;

    margin:60px auto;

}



.link-list h3 {

    color:#003b70;

    font-size:24px;

    border-bottom:2px solid #9ccfe8;

    padding-bottom:10px;

    margin-top:40px;

    text-align:left;

}



.link-list ul {

    list-style:none;

    padding-left:0;
    
    text-align:left;

}



.link-list li {

    margin:15px 0;

}



.link-list a {

    color:#0066a6;

    text-decoration:none;

    font-size:18px;

}



.link-list a:hover {

    text-decoration:underline;

}