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

body {
    font-family: "Hiragino Sans", Meiryo, "sans-serif";
    margin: 0;
    background-image: url(../img/background-dot.gif)
}
h1, h2, h3, h4, p {
    margin: 0;
    padding: 0;
    line-height: 1.0em;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
header {
    border-top: 4px solid #21136B;
}
/*  
    
    
    */  
/* ヘッダー ------------------------------- */
header {
    padding: 1rem 20px;
}
/* コンテナ（12分割の定義） */
.header__container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
}
/* ロゴ（左側4カラム分を占有） */
.header__logo {
    grid-column: span 4;
    margin: 0;
}
/* ナビゲーション（右側8カラム分を占有） */
.header__nav {
    grid-column: span 8;
}
/* ナビゲーションのリストを右寄せ */
.header__nav-list {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    font-size: 14px;
}

/* レスポンシブ対応（768px未満は縦並び）  */
@media (max-width: 768px) {
.header__container {
    gap: 15px;
}
.header__logo {
    grid-column: span 12;
    display: flex;
    justify-content: flex-start;
}
.header__nav {
    grid-column: span 12;
}
.header__nav-list {
    justify-content: flex-end;
}
}
/* レスポンシブ対応（768px未満は縦並び）END  */   
/*  
    */  
nav.gakka-menu2026 ul {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: center;
    max-width: 1000px;
    margin: 0 auto 10px auto;
    gap: 6px;
    padding: 2% 2%;
}
nav.gakka-menu2026 ul li {
    display: block;
    height: 60px;
    background-color: #eeeeee;
    grid-column: span 6;
    margin: 0;
    background-image: linear-gradient(#fdfbfb, #ebedee);
    border: solid 1px #cccccc;
}
nav.gakka-menu2026 ul li a {
    display: grid;            /* aタグ自体をグリッドにする */
    place-content: center;    /* liにあった中央寄せをここに移動 */
    width: 100%;             /* liの横幅いっぱいに広げる */
    height: 100%;            /* liの縦幅（60px）いっぱいに広げる */
    text-decoration: none;    /* リンクの下線を消す */
    color: #333;             /* 文字色（お好みで調整してください） */
    text-align: center;       /* 念のための文字中央寄せ */
    place-content: center; /* align-content と justify-content の一括指定 */
}
/* ホバー時の設定（全体の色が変わる） */
nav.gakka-menu2026 ul li:hover {
    background-image: linear-gradient(#E5EBEF, #CEE1E9);
}
/* 学科メインコンテンツ　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■   */  
.title-box {
    width: 96%;
    max-width: 960px;
    margin: 20px auto;
    padding: 2%;
}
.title-box h1 {
    font-size: 22px;
    margin: 10px auto;
    padding: 0;
}
.title-box p {
    font-size: 15px;
    margin: 10px auto;
    padding: 0;
    line-height: 1.5em;
}
.main__container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items:flex-start;
    max-width: 1000px;
    margin: 0 auto;
    gap: 0 3%;
}
.gakka-inner {
    width: 100%;
    grid-column: span 12;
}
.main-img img {
    width: 100%;
    height: auto;
}
.gakka-menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* スマホ：2列 */
    gap: 12px;
    padding: 2%
}

/* PCサイズ（画面幅768px以上） */
@media (min-width: 768px) {
.gakka-menu {
    grid-template-columns: repeat(3, 1fr); /* PC：3列 */
    gap: 12px;
    padding: 2%
}
}
/* 写真を綺麗に枠内に収めるための設定 */
.gakka-item img {
    width: 100%;
    height: auto;
    display: block;
}

/* PCサイズ（画面幅340px以下） */
@media (max-width: 340px) {
.gakka-menu {
    display: grid;
    grid-template-columns: repeat(1, 1fr); /* スマホ：2列 */
    gap: 16px;
    padding: 2%
}
}
/* 学科メインコンテンツ　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ END */
/*  
    
    
    */   
/* フッター （モバイル優先） ---------------------------------  */
footer .footer-contents {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: start;
    width: 96%;
    max-width: 960px;
    margin: 0 auto;
    padding: 2%;
}
footer .footer-contents p {
    line-height: 2em;
}
footer .footer-contents addless {
    grid-column: span 12;
    margin: 0;
    font-size: 16px;
    padding: 2%;
}
footer .footer-contents nav {
    grid-column: span 12;
    margin: 0;
    font-size: 16px;
    padding: 2%;
}
footer .footer-contents nav p {
    line-height: 3em;
}
footer .footer-logo img {
    width: 100%;
}

/* PCサイズ（画面幅768px以上） */
@media (min-width: 768px) {
footer .footer-contents {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    max-width: 1000px;
    margin: 0 auto;
}
footer .footer-contents addless {
    grid-column: 1 / 6;
    margin: 0;
    font-size: 18px;
}
footer .footer-contents nav {
    grid-column: 8 / -1;
    margin: 0;
    font-size: 18px;
}
footer .footer-contents nav p {
    line-height: 2em;
}
}

/* PCサイズ（画面幅340px以下） */
@media (max-width: 340px) {
footer .footer-contents nav p {
    line-height: 3em;
}
}
/* フッター ---------------------------------END */    
    
/* ページTOP ------------------------------- */   

    
aside {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: start;
    width: 96%;
    max-width: 960px;
    margin: 0 auto;
    padding: 2% 0;
    text-align: right
}
aside .pagetop-btn {
    width: 100%;
    grid-column: span 12;
}
    
/* ページTOP -------------------------------END */

