.font_strong_red {
    color: #ff0000;
    font-weight: bold;
}

.font_red {
    color: #ff0000;
}

.cate_body_box01_top-margin {
    margin-top: 4em;
}

.cate_body_box01_flex {
    display: flex;
    width: 100%;
    gap: 20px;
    /* 任意：間隔調整 */
}

.cate_body_box01_flex>div:first-child {
    width: 65%;
    box-sizing: border-box;
}

.cate_body_box01_flex>div:last-child {
    width: 35%;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
    /* 画像を右寄せ */
    padding-right: 10px;
    /* 右端に少し余白 */
}

.cate_body_box01_flex img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}


/* スキルラボ */
#skill-lab_menu {
    margin: 1em auto;
    /* 中央寄せ */
    list-style-type: none;
    display: flex;
    justify-content: center;
    /* 中央寄せ */
    gap: 10em;
    /* li要素間のスペース */
    text-align: center;
    width: fit-content;
    /* コンテンツの幅に合わせる */
}

.skill-lab_menu_li {
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.skill-lab_menu_li::before {
    content: "▶";
    color: red;
    margin-right: 8px;
}

/* 地域連携 */
table.local-collab_table {
    width: 100%;
    margin: 0.5em 0;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

table.local-collab_table td {
    padding: 0.5em;
    text-align: center;
    vertical-align: middle;
    border: solid 1px #778ca3;
}

table.local-collab_table td.td-bkgd {
    background-color: rgb(255, 255, 204);
}

table.local-collab_table td.td-bkgd p {
    text-align: center;
    vertical-align: middle;
}

.local-collab-indent {
    margin-left: 1em;
    font-size: 1.2em;
}

.local-collab-list {
    margin-top: 0.5em;
    margin-left: 3em;
}

.local-collab-list li {
    list-style: disc;
}

.job-details-title {
    margin-left: 0.5em;
}

.job-details-list {
    margin-top: 0.5em;
    margin-left: 2em;
}

.job-details-list li {
    list-style: disc;
}

table.reg-list_table {
    width: 100%;
    margin: 0.5em 0;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

table.reg-list_table th {
    text-align: center;
    vertical-align: middle;
    background-color: #e9faf9;
    border: solid 1px #778ca3;
}

table.reg-list_table td {
    padding: 0.5em;
    text-align: left;
    vertical-align: middle;
    border: solid 1px #778ca3;
}

.reg-list-table-th1 {
    width: 30%;
}
.reg-list-table-th2 {
    width: auto;
}
.reg-list-table-th3 {
    width: 15%;
}
.reg-list-table-th4 {
    width: 15%;
}
.reg-list-table-th5 {
    width: 14%;
}


/* 医療研修センター */
#training_page_img {
    text-align: center;
    vertical-align: middle;
    width: auto;
    border: none;
}

img.training-environment-img {
    display: block;
    width: 100%;
}

#training_menu {
    margin: 3em;
    list-style-type: none;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.training_menu_li {
    display: flex;
    align-items: center;
    width: auto;
    box-sizing: border-box;
}

.training_menu_li::before {
    content: "▶";
    color: red;
    margin-right: 8px;
}

.training_menu_li.no-link::before {
    content: "✔";
    /* チェックマークを設定します */
    color: green;
    /* チェックマークの色を緑にします */
    margin-right: 8px;
}

.training_menu_li.no-link {
    text-decoration: none;
    /* リンクの下線を消します */
    color: inherit;
    /* リンクの色を親要素に合わせます */
    font-weight: bold;
}

/* 研修体制・研修の概要等について */
.training-outline_box {
    margin: 1em 0;
}

.training-outline_sub_box {
    padding-left: 4em;
}

ul.training-outline_ul {
    list-style-type: square;
    padding-left: 2em;
}

ul.training-outline_sub_ul {
    list-style-type: disc;
    padding-left: 1.5em;
}

.training-outline_li {
    padding-top: 1em;
}

.training-outline_p {
    padding: 1em;
}

.training-outline_ol {
    padding-left: 2em;
}

.training-outline_ol_li {
    list-style-type: decimal;
}

.training-outline_font {
    font-weight: bold;
}

.training-outline_features_li {
    counter-increment: list-counter;
}

.training-outline_features_li::before {
    content: counter(list-counter) ")\00a0\00a0";
}

table.training-outline_table {
    width: 100%;
    margin: 0.5em 0;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

table.training-outline_table thead {
    padding: 10px;
    color: #778ca3;
}

table.training-outline_table thead th {
    background: #e9faf9;
    color: #555;
}

table.training-outline_table th {
    padding: 0.5em;
    text-align: left;
    border: solid 1px #778ca3;
}

table.training-outline_table td {
    padding: 0.5em;
    text-align: left;
    border: solid 1px #778ca3;
}

#training-outline_img {
    text-align: center;
    margin: 1em auto;
    display: block;
}

/* 臨床研修医の感想 */
.feedback_box {
    margin: 2em 0.5em;
}

.feedback_box_p {
    padding: 0 1.5em;
    /*text-indent: 1em;*/
    white-space: pre-wrap;
}

#pagination {
    display: flex;
    margin: auto;
    justify-content: center;
    align-items: center;
}

#pagination button {
    width: 7rem;
    border-radius: 2px;
    box-sizing: border-box;
    margin: 0.5em;
    padding: 5px;
    background-color: rgba(6, 139, 63, 0.8);
    color: white;
    text-align: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#pagination button:hover {
    background-color: #0056b3;
    box-shadow: unset;
    transform: translateY(2px);
}

@media (max-width: 768px) {
    #pagination button {
        font-size: 0.9em;
    }
}

/* 後期研修プログラム */
ul.late-stage_training {
    list-style-type: disc;
    padding-left: 2em;
}

.late-stage_training_li {
    padding-top: 1em;
}

.late-stage_training_p {
    padding-left: 1em;
}

.late-stage_training_ol {
    padding-left: 3em;
}

.late-stage_training_ol_li {
    list-style-type: decimal;

}

table.late-stage_training_table {
    width: 100%;
    margin: 0.5em 0;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

table.late-stage_training_table thead {
    padding: 10px;
    color: #778ca3;
}

table.late-stage_training_table thead th {
    background: #e9faf9;
    color: #555;
}

table.late-stage_training_table th {
    padding: 0.5em;
    text-align: left;
    border: solid 1px #778ca3;
}

table.late-stage_training_table td {
    padding: 0.5em;
    text-align: left;
    border: solid 1px #778ca3;
}

.cate_body_box01 {
    margin: 1em;
}

.cate_body_box02 {
    margin: 0.5em 2em;
}

/* 研修情報枠 */
.lecture-info-div {
    border-width: 0px 0px 0px 5px;
    border-style: solid;
    border-color: rgb(33, 133, 194);
    margin: 1em 0px;
    padding: 0.3em 1em;
    position: relative;
    box-shadow: 1px 1px 1px rgb(204, 204, 204);
    border-image-source: none;
    font-weight: bold;
}

/* 研修情報テーブル */
table.skilllabo-table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

table.skilllabo-table thead th {
    border: solid 1px #778ca3;
    background: #e9faf9;
    padding: 10px;
}

table.skilllabo-table td {
    padding: 10px;
    text-align: left;
    vertical-align: middle;
    border: solid 1px #778ca3;
}

/* 研修参加時の注意点 */
.skilllabo-div-box1 {
    margin-top: 10px;
    margin-left: 30px;
}

.skilllabo-div-box1 li {
    list-style: disc;
}

/* 応募サイトリンク */
.wysiwyg-contact {
    margin: 20px 0;
    padding: 0 10px;
    border: 1px solid #0557A5;
}

.wysiwyg-contact dl {
    padding: 10px 0;
    display: flex;
    flex-wrap: wrap;
}

.wysiwyg-contact dt {
    padding: 0px 20px;
    background-color: #0557A5;
    color: #fff;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.wysiwyg-contact dt a {
    color: #fff;
}

.wysiwyg-contact dd {
    padding: 0px 30px;
    font-size: 1.2rem;
}


/* 職員募集テーブル */
table.recruit-table {
    width: 100%;
    margin: 20px 0;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

table.recruit-table thead {
    padding: 10px;
    border-bottom: solid 4px #778ca3;
    color: #778ca3;
}

table.recruit-table th {
    padding: 10px;
    width: 15%;
    text-align: left;
    border: solid 1px #778ca3;
}

table.recruit-table td {
    padding: 10px;
    border-bottom: solid 1px #778ca3;
    text-align: left;
    border: solid 1px #778ca3;
}

table.recruit-table tbody th:first-child {
    background: #e9faf9;
    border-bottom: solid 1px #778ca3;
}

table.recruit-table tbody td:first-child {
    width: 15%;
}

ul.recruit-table-ul li {
    margin-left: 1em;
    list-style: disc;
}

/* ボランティア活動募集テーブル */
#recruit-tbl-th1 {
    width: 28%;
    background: #e9faf9;
    vertical-align: middle;
}

#recruit-tbl-th2 {
    width: 42%;
    background: #e9faf9;
    vertical-align: middle;
}

#recruit-tbl-th3 {
    width: 10%;
    background: #e9faf9;
    vertical-align: middle;
}

#recruit-tbl-th4 {
    width: 20%;
    background: #e9faf9;
    vertical-align: middle;
}

/* 問合せ先ブロック */
.contact-address {
    margin: 20px 10px;
    padding: 1em;
    background-color: #e9faf9;
}

.contact-address-list {
    font-weight: bold;
}

#intern-information {
    font-weight: bold;
}

/* インデント */
.font-1em-imdent {
    text-indent: 1em;
}

ol.volunteer-lst {
    list-style-type: decimal;
    text-indent: 0.5em;
    line-height: 1.8em;
    font-weight: normal;
}

h3.volunteer-h3-lst {
    list-style-type: decimal;
}

h3.volunteer-h3-lst p {
    font-weight: normal;
    font-size: 90%;
    line-height: 1.6em;
    margin: 0.5em 0 1em 1em;
}

.volunteer-h3-lst-font {
    font-size: 90%;
    line-height: 1.6em;
}

.lecture_underline {
    text-decoration: underline;
}

/* 研修科目 */
.lecture-course-content {
    margin: 20px 0;
}

.lecture-course-content ul {
    margin: 1rem;
}

.list-link {
    color: blue;
    list-style: '▶';
    list-style-position: inside;
}

.list-file {
    list-style: disc;
    list-style-position: inside;
}

/* 研修情報枠 */
.lecture-info-div {
    border-width: 0px 0px 0px 5px;
    border-style: solid;
    border-color: rgb(33, 133, 194);
    margin: 2rem 0px;
    padding: 0.3em 1em;
    position: relative;
    box-shadow: 1px 1px 1px rgb(204, 204, 204);
    border-image-source: none;
    font-weight: bold;
}

/* 研修情報テーブル */
table.lecture-table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

table.lecture-table thead th {
    padding: 10px;
    border: solid 1px #778ca3;
    background: #e9faf9;
}

table.lecture-table td {
    padding: 10px;
    text-align: left;
    vertical-align: middle;
    border: solid 1px #778ca3;
}

.th1 {
    width: 19%;
}

.th2 {
    width: 24%;
}

.th3 {
    width: 42%;
}
