/* ============================
   Study Pages (講座ページ専用)
============================ */
/* 固定ページ下部ナビ */
.under-pager {
    background-color:#0e3c64;
    margin:30px 0;
}
.under-pager a {
    color:#fff;
    display:inline-block;
    padding:10px 5px;
}

.toTOPmaru{text-align:right;display: block;}
.toTOPmaru a{display: inline-block;border:1px solid #8415c1;border-radius: 30px;padding:5px;margin:0 5px 5px 0;text-align: center;line-height: 1;color:#8415c1;}
.toTOPmaru a:hover{text-decoration: none;}


/* 目次 */
.mokuji {
    padding: 10px 30px;
    margin: 0 auto;
    width: 80%;
    background-color: #f7f7f7;
    border: 2px solid #8d93c8;
    box-shadow: 2px 2px 2px #ccc;
    line-height: 1.8;
}
.mokuji li::marker {
    content: '〇';
    color: #6621cf;
}

/* 囲み枠 */
.kakomi-tab2 {
    position: relative;
    padding: 10px 15px;
    width: 80%;
    background-color: #f7f7f7;
    border: 2px solid #3a46a8;
    box-shadow: 2px 2px 2px #ccc;
    line-height: 1.8;
    margin: 20px auto;
}
.title-tab2 {
    position: absolute;
    top: -1px;
    left: 0;
    padding: 1px 10px;
    height: 28px;
    font-weight: bold;
    color: #fff;
    background-color: #3a46a8;
    border-radius: 0 0 8px 0;
}

/* 画像枠 */
.img-waku {
    position: relative;
}
.img-waku img {
    display: block;
    width: 90%;
    margin: 0 auto;
    border-radius: 10px;
}

/* メニュー */
.fmenu-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin-top: 20px;
}
.fmenu-item {
    text-align: center;
    padding: 2px 0;
    border: 1px solid #90919e;
    flex-basis: 46%;
    border-radius: 10px;
    background-color: #d1ddf0;
}

/* テーブル */
.atbl {
    width: 100%;
}
.atbl td {
    width: 50%;
    border: 1px solid #ddd;
    padding: 8px;
    vertical-align: top;
    font-size: 1.2em;
}
.thbk1 th {
    background-color: #606060;
    border: solid 1px #fff;
    color: #fff;
}

/* サイドメニュー */
.astro-menu {
    list-style: none;
    counter-reset: main-counter;
    padding-left: 0;
    color: #014d4d;
}
.astro-menu > li {
    counter-increment: main-counter;
    font-weight: bold;
    margin-bottom: 20px;
}
.astro-menu > li::before {
    content: counter(main-counter) ". ";
    font-weight: bold;
    color: #333;
}
.astro-menu ul {
    display: flex;
    gap: 10px;
    padding-left: 0;
}
.astro-menu ul li a {
    display: inline-block;
    padding: 5px 10px;
    background: #f4f4f4;
    border-radius: 5px;
    text-decoration: none;
    color: #333;
    transition: background 0.3s ease;
}
.astro-menu ul li a:hover {
    background: #ddd;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 90%;
}