html {
    scroll-padding-top: 18rem
}
 
/* ===== h2 ===== */
#intern h2 .jp {
    line-height: 1.4
}
 
#intern h2 .jp span {
    display: inline-block
}
 
/* ===== h3 ===== */
#intern h3 {
    font-weight: 700;
    color: #0d63ba;
    margin-top: 0
}
 
/* ===== 本文テキスト ===== */
#intern .contents_body p {
    text-align: justify;
    margin: 0;
}
 
/* ===== ol.number（番号付きリスト） ===== */
#intern .contents_body ol.number {
    counter-reset: number;
    list-style: none;
    padding-left: 0;
    margin-top: 2.4rem
}
 
@media screen and (min-width: 768px) {
    #intern .contents_body ol.number {
        margin: 4.8rem 0
    }
}
 
/* 番号バッジ付きリストアイテム */
#intern .contents_body ol.number > li {
    position: relative;
    padding-left: 2.6em;
    margin-top: 3.6rem
}
 
#intern .contents_body ol.number > li:first-child {
    margin-top: 0
}
 
/* ::before で番号を表示（バグ修正：calc() → number） */
#intern .contents_body ol.number > li::before {
    counter-increment: number;
    content: counter(number) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: #0d63ba;
    width: 2em;
    text-align: right
}
 
@media screen and (min-width: 768px) {
    #intern .contents_body ol.number > li {
        margin-top: 4.8rem
    }
}
 
/* ===== ol.number > li > h3（セクション見出し） ===== */
#intern .contents_body ol.number > li > h3 {
    font-size: 1.05em;
    margin-top: 0;
    margin-bottom: .6rem
}
 
/* ===== ul.schedule（詳細箇条書き） ===== */
#intern .contents_body ul.schedule {
    list-style: disc;
    margin-left: 20px;
    padding-left: 0;
    margin-top: 1.2rem;
    /* border-top: 1px solid #d0dced */
}
 
#intern .contents_body ul.schedule > li {
    padding: .9rem 0;
    /* border-bottom: 1px solid #d0dced; */
    line-height: 1.7
}
 
/* 項目ラベル部分（例：「開催日程」）を太字に */
#intern .contents_body ul.schedule > li::before {
    /* ラベルはHTMLテキストで記述するためmarkerは非表示 */
    content: none
}
 
/* schedule 内のネストリスト（第1期・第2期） */
#intern .contents_body ul.schedule > li > ul {
    list-style: none;
    padding-left: 1em;
    margin-top: .4rem
}
 
#intern .contents_body ul.schedule > li > ul > li {
    position: relative;
    padding-left: 1.2em;
    margin-top: .3rem
}
 
#intern .contents_body ul.schedule > li > ul > li::before {
    content: "○";
    position: absolute;
    left: 0;
    color: #0d63ba;
    font-size: .8em;
    top: .15em
}
 
/* 締切日を強調 */
#intern .contents_body ul.schedule .deadline {
    font-weight: 700;
    color: #c0392b
}
 
/* ===== お問い合わせブロック ===== */
#intern .contact-block {
    margin-top: 3.6rem;
    padding: 1.6rem 2rem;
    border: 1px solid #d0dced;
    border-left: 4px solid #0d63ba;
    border-radius: 4px;
    background: #f5f8fd
}
 
@media screen and (min-width: 768px) {
    #intern .contact-block {
        margin-top: 4.8rem
    }
}
 
#intern .contact-block h3 {
    margin-bottom: .8rem;
    font-size: 1em
}
 
#intern .contact-block .contact-name {
    font-weight: 700;
    margin-bottom: .4rem
}
 
#intern .contact-block .contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.6rem;
    font-size: .95em
}
 
#intern .contact-block .contact-row a {
    color: #0d63ba;
    text-decoration: none
}
 
#intern .contact-block .contact-row a:hover {
    text-decoration: underline
}
 
/* ===== ul.disc ===== */
#intern .contents_body ul.disc {
    padding-left: 2em
}
 
/* ===== .title（旧来クラス、後方互換） ===== */
#intern .contents_body .title {
    font-weight: 700;
    color: #0d63ba;
    margin-top: 0
}
 
#intern .contents_body .title + * {
    margin-top: 0
}
 
/* ===== .signature + ul.number ===== */
#intern .contents_body .signature + ul.number {
    margin-top: 3.6rem
}
 
@media screen and (min-width: 768px) {
    #intern .contents_body .signature + ul.number {
        margin-top: 9rem
    }
}
 
/* ===== PDF リンク ===== */
#intern a[href$=".pdf"] {
    display: inline-flex;
    align-items: center
}
 
#intern a[href$=".pdf"]::after {
    content: "";
    display: block;
    width: 3.8rem;
    height: 1.5rem;
    background: url(images/common/icon_pdf.png) center center/100% 100% no-repeat;
    margin-left: .4rem
}
 
/* ===== .pp_mark ===== */
#intern .pp_mark {
    display: block;
    width: 9.6rem;
    height: 9.6rem;
    margin: 7.2rem auto 0;
    background: url(images/intern/pp_mark.png) center center/100% 100% no-repeat
}
 
@media screen and (min-width: 768px) {
    #intern .pp_mark {
        width: 14.4rem;
        height: 14.4rem;
        margin-top: 9.6rem
    }
}