body {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 400;
    font-size: 1em;
}

.forSP {}

.forPC {
    display: none;
}

.fa-solid,
.fas {
    font-size: 18px;
}

nav ul li a:hover.menuPlus,
nav ul li a.open {
    text-decoration: none !important;
    color: #ffee00;
}

/* root */
:root {
    --main-colorDark: #38574A;
    --main-colorAccentDark: #AB9172;
    --main-colorAccentLight: #D4CC79;
    --main-colorHighlight: #A1E5AB;
    /*--main-colorHighlightLight: #ADF6B1;*/
    --main-colorBG: #f0f0f0;
    --main-colorBGBody: #d0d0d0;
    --main-colorText: #333;
    --main-colorTextLight: #fff;
    --main-colorNote: #999;
    --main-colorLink: #005599;
    --main-colorHover: #000099;
}

sup {
    font-size: 12px;
    vertical-align: top;
    position: relative;
    top: -0.1em;
    font-weight: 500;
}

sub {
    font-size: 12px;
    vertical-align: bottom;
    position: relative;
    bottom: -0.1em;
    font-weight: 500;
}

header {
    width: 100%;
    height: 70px;
    background-color: var(--main-colorBG);
    background-image: url(../images/img-header.png);
    background-position: left center;
    background-size: cover;
    position: relative;
}

.siteLogo {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 5px;
    left: 5px;
    background-image: url(../images/img-logo.png);
    background-position: center;
    background-size: cover;
}

.siteTitle {
    position: absolute;
    top: 5px;
    left: 70px;
    text-shadow: 1px 1px 15px rgba(255, 255, 255, .5);
}

.siteSubTitle {
    color: var(--main-colorAccentDark);
    font-weight: 400;
    font-size: 10px;
    display: block;
}

.siteMainTitle {
    color: var(--main-colorAccentDark);
    font-weight: 500;
    font-size: 14px;
    display: block;
}

.siteEnglishTitle {
    color: var(--main-colorAccentDark);
    font-weight: 400;
    font-size: 10px;
    display: block;
    line-height: 1;
}

.toggle {
    position: absolute;
    top: 5px;
    right: 5px;
}

.sliderArea {
    margin-top: 0px;
    height: 280px;
}

.slidePhoto001,
.slidePhoto002,
.slidePhoto003,
.slidePhoto004 {
    display: block;
    width: 100%;
    height: 280px;
    overflow: hidden;
    background-position: center;
    background-size: cover;
}

.credits {
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: #fff;
    text-shadow: -1px -1px 3px rgba(0, 0, 0, .9);
    font-size: 16px;

}

.slidePhoto001 {
    background-image: url(../slide/001.jpg);
}

.slidePhoto002 {
    background-image: url(../slide/002.jpg);
}

.slidePhoto003 {
    background-image: url(../slide/003.jpg);
}

.slidePhoto004 {
    background-image: url(../slide/004.jpg);
}

/**/
.fixList li,
.fixList li[data-date*='2'],
.filterList li,
.filterList li[data-date*='2'],
.fixListAlt li,
.fixListAlt li[data-date*='2'],
.filterListAlt li,
.filterListAlt li[data-date*='2'] {
    display: none;
}

.toggle {
    width: 32px;
    height: 32px;
    background-image: url(../images/img-humb.png);
    background-position: center;
    background-size: contain;
    cursor: pointer;
}

.toggle.opened {
    background-image: url(../images/img-closed.png);
}

ul.dateSelector {
    display: block;
    font-size: 14px;
    margin: 20px auto;
}

ul.dateSelector li {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;

    display: inline-block;
    text-align: center;
    cursor: pointer;
    background-color: var(--main-colorBGBody);
    color: #fff;
    padding: 2px;
    border-radius: 3px;
    margin-bottom: 10px;
    margin-right: 3px;
}

ul.dateSelector li.current {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    color: var(--main-colorAccentDark);
    background-color: var(--main-colorBG);
}

.indexFilterYear2022 {
    margin-top: 20px;
    font-size: 18px;
    color: var(--main-colorAccentDark);
    border-bottom: 1px dotted var(--main-colorAccentDark);
    margin-bottom: 20px;
}

#contentsCage {
    width: 100%;
    position: relative;
}

.contentsArea {
    width: 100%;
    padding-bottom: 20px;
}

.mainArea {
    display: block;
    width: 100%;
    padding: 10px;
}

.sideArea {
    display: block;
    width: 100%;
    padding: 5px;

}

.topicPath {
    font-size: 14px;
    color: var(--main-colorNote);
    margin-bottom: 20px;
}

.topicPath a {
    color: var(--main-colorLink);
}

.topicPath a:hover {
    color: var(--main-colorHover);
    text-decoration: underline;
}

.sectionTitle {
    position: relative;
    font-size: 18px;
    color: var(--main-colorDark);
    background-color: var(--main-colorBG);
    padding: 5px 5px 5px 40px;
    margin-bottom: 20px;
}

.sectionTitle::before {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    margin: auto;
    content: '■■■　　';
    color: var(--main-colorAccentDark);
    font-size: 10px;
    letter-spacing: -5px;
}

.indexJSONList {
    margin-left: 0px;
    margin-right: 0px;
}

/**/
.infoUL {
    font-size: 14px;
    line-height: 1.75;
}

.infoULLI {
    display: block;
    overflow: hidden;
    border-top: solid 1px #ddd;
    padding: 5px 0;
}

.yymmdd {
    display: block;
    width: 100%;
    font-size: 14px;
    color: var(--main-colorText);
    line-height: 1.75;
}

.summary {
    display: block;
    font-size: 14px;
    color: var(--main-colorText);
    line-height: 1.75;
}

.infoULLI a .yymmdd,
.infoULLI a .summary {
    color: var(--main-colorLink);
}

/**/
.indexHotTopics {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    padding-bottom: 20px;
}

.indexHotTopics p {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.indexHotTopics a {
    display: block;
    width: 100%;
    padding: 5px;
}

.indexHotTopics .hotTopicsEntry {
    display: block;
    background-color: var(--main-colorBG);
    border: solid 1px #ddd;
    width: 100%;
    height: 100%;
    padding: 10px;
}

.hotTopicsImages {
    display: block;
    background-color: #fff;
}

.indexHotTopics .hotTopicsText {
    margin-top: 10px;
    color: var(--main-colorLink);
    line-height: 1.75;
    font-size: 14px;
    display: block;
}

.indexHotTopics .hotTopicsImages img {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: contain;
    margin: 0 auto;
}

#infoULIDFix,
#infoULID2 {
    max-height: 50vh;
    overflow: auto;
    border: solid 1px #ddd;
    padding: 10px;
}

.pastInfo {
    margin: 20px;
    font-size: 14px;
    text-align: right;
}

.pastInfo a {
    color: var(--main-colorLink);
}

/**/

.linkBnrArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.linkBnrArea a {
    display: block;
    width: 49%;
    padding: 10px;
    background-color: var(--main-colorBG);
    border: solid 1px #ddd;
}

.linkBnrArea .bnrBoxImage {
    background-color: var(--main-colorBGBody);
}

.linkBnrArea img {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
    margin: 0 auto;
}

.linkBnrArea .bnrBoxText {
    margin-top: 10px;
    color: var(--main-colorLink);
    line-height: 1.75;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}

.footer {
    background-color: var(--main-colorDark);
    padding: 20px;
    position: relative;
    text-align: center;
}

.copyRightContents {
    color: var(--main-colorTextLight);
    font-size: 12px;
    font-weight: 100;
    line-height: 1.5;
}

.copyRightContents span {
    font-size: 16px;
    display: block;
    font-weight: 500;
    margin: 10px 0;
}

.footerComent {
    position: relative;
    color: var(--main-colorTextLight);
    font-size: 12px;
    font-weight: 100;
    line-height: 1.5;
    margin-top: 20px;
}

.bnrListUL {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.bnrListLI {
    display: block;
    width: 48%;
    padding: 5px;
}

.bnrListLI area {
    cursor: pointer;
}

.bnrListLI:nth-of-type(2n) {
    text-align: left;
}

.bnrListLI:nth-of-type(2n+1) {
    text-align: right;
}

/**/

.siteMenuArea {
    margin: 40px 0;
    background-color: var(--main-colorBG);
    padding: 10px;
}

.siteMenu li {
    border-top: dashed 1px #999;
    padding: 10px;
}

.siteMenu li:last-child {
    border-bottom: dashed 1px #999;
}

.siteMenu li a {
    display: block;
    font-size: 14px;
    font-weight: 300;
    color: var(--main-colorLink);
}

/**/
a.current {
    background-color: var(--main-colorAccentLight) !important;
    color: var(--main-colorTextLight) !important;
}

ul li ul li a.current {
    background-color: var(--main-colorAccentLight) !important;
    color: var(--main-colorText) !important;
}

/**/

.midashiSub {
    clear: both;
    font-size: 18px;
    line-height: 1.75;
    margin: 1em 0;
    font-weight: 500;
    color: var(--main-colorText);
    background-color: #f0f0f0;
    border-radius: 5px;
    padding: 5px 10px;
    display: block;
    min-width: 50%;

}

.mainText,
.mainTextCont {
    font-size: 16px;
    line-height: 1.75;
    margin: 1em 0 1em 20px;
    font-weight: 300;
    color: var(--main-colorText);
}

.mainTextMemo {
    font-size: 16px;
    line-height: 1.75;
    margin: 1em 0 1em 20px;
    font-weight: 300;
    color: var(--main-colorDark);
    border: solid 1px #38574A;
    padding: 10px;
}

.komidashi {
    font-size: 20px;
    line-height: 1.75;
    margin: 1em 0 1em 0px;
    font-weight: 500;
    color: var(--main-colorDark);
    border-left: 10px solid #AB9172;
    padding-left: 20px;
}

.pnf {
    background-color: #AB9172;
    display: inline-block;
    padding: 2px 8px;
    border-radius: 5px;
}

.pnf a {
    text-decoration: none !important;
    color: var(--main-colorTextLight) !important;
    font-size: 14px;
}

.mainText_ {
    font-size: 16px;
    line-height: 1.75;
    margin: 0 0 0 20px;
    font-weight: 300;
    color: var(--main-colorText);
}

.attentionMemo {
    font-size: 18px;
    line-height: 1.75;
    margin: 1em 0 1em 20px;
    font-weight: 500;
    color: var(--main-colorText);
}

.sign {
    font-size: 16px;
    line-height: 1.75;
    margin: .5em 0;
    font-weight: 400;
    color: var(--main-colorText);
    text-align: right;
}

.imageCenter {
    text-align: center;
    margin: 20px auto;
}

.columns {
    margin: 20px;
    padding: 20px;
    background-color: var(--main-colorBG);
    border-radius: 10px;
}

.message {
    font-size: 18px;
    line-height: 1.75;
    margin: 1em 0;
    font-weight: 400;
    color: var(--main-colorText);
}

.readText {
    font-size: 16px;
    line-height: 1.75;
    margin: 1em 0 1em 20px;
    font-weight: 300;
    color: var(--main-colorDark);
}

.mainTextUL {
    font-size: 16px;
    line-height: 1.75;
    margin: 1em 0;
    font-weight: 400;
    color: var(--main-colorText);
}

.mainTextOL {
    font-size: 16px;
    line-height: 1.75;
    margin: 1em 0;
    font-weight: 400;
    color: var(--main-colorText);
}

.mainTextDL {
    font-size: 16px;
    line-height: 1.75;
    margin: 1em 0 1em 20px;
    color: var(--main-colorText);
}

.mainTextDL dt {
    font-weight: 500;
    margin-left: 10px;
    color: var(--main-colorDark);
}

.mainTextDL dd {
    font-weight: 400;
    margin-left: 20px;
    color: var(--main-colorText);
    margin-bottom: 20px;
}

.mainTextLI {
    list-style: disc;
    margin-left: 40px;
}

.mainTextLIa {
    list-style: disc;
    margin-left: 40px;
}

.mainTextLIno {
    list-style: none;
    margin-left: 40px;
}

.mainTextOL .mainTextLI {
    list-style: decimal;
}

.mainArea a {
    text-decoration: underline;
    color: var(--main-colorLink);
}

.toPageTop {
    margin: 40px 10px;
    text-align: right;
}

.midashi {
    font-size: 20px;
    line-height: 1.75;
    margin: 10px 0 .5em 0;
    font-weight: 500;
    color: var(--main-colorText);
    border-bottom: dotted 2px #ddd;
}

.imageRightArea {
    float: none;
    text-align: center;
}

.imageRightBox {
    padding: 20px;
}

.imageLeftArea {
    float: none;
    text-align: center;
}

.imageLeftBox {
    padding: 20px;
}

.doctorChargeTable {
    width: 95%;
    margin: 20px auto;
    line-height: 1.75;
    font-size: 16px;
    font-weight: 400;
    color: var(--main-colorText);
}

.doctorChargeTable th {
    display: none;
}

.doctorChargeTable tr {
    display: block;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: dotted 2px #ddd;
}

.doctorChargeTable td {
    display: block;
    width: 100%;
}

.doctorChargeTable td:nth-of-type(1) {
    font-weight: 500;
}

.scroll {
    width: 100%;
    height: auto;
    overflow-x: auto;
}

.doctorChargeTableOutpatient {}


.doctorTable {
    width: 100%;
    margin: 20px auto;
    line-height: 1.75;
    font-size: 16px;
    font-weight: 400;
    color: var(--main-colorText);
    border-collapse: collapse;
}

.doctorTable th {
    display: none;
}

.doctorTable tr {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 40px;
}

.doctorTable td:nth-of-type(1) {
    text-align: left;
    display: block;
    width: 20%;
    padding-left: 10px;
}

.doctorTable td:nth-of-type(2) {
    text-align: left;
    display: block;
    width: 80%;
    font-size: 20px;
    padding-left: 10px;
}

.doctorTable td:nth-of-type(3) {
    text-align: left;
    display: block;
    width: 100%;
    padding: 20px;
    background-color: var(--main-colorBG);
    margin-top: 10px;
    font-weight: 300;
}

/**/
.departmentSelect {
    margin: 20px 10px;
    padding: 20px;
    border: solid 1px #ddd;
    border-radius: 10px;
    display: flex;
}

.departmentSelect .imageLeftArea {
    padding: 0 20px 20px 0;
}

.departTitle {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.75;
    margin-bottom: 10px;
    color: var(--main-colorText);
}

.departDL {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.75;
}

.departDL dt {
    font-weight: 500;
}

.departDL dd:last-child {
    padding-bottom: 10px;
}

/**/
.sideTitle {
    font-size: 18px;
    line-height: 1.75;
    color: var(--main-colorDark);
    font-weight: 500;
    margin-bottom: 20px;
    border-bottom: solid 1px #ddd;
}

.sideNaviUL2,
.sideNaviUL {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 300;
}

.sideNaviUL2 li,
.sideNaviUL li {
    list-style: disc;
    margin-left: 20px;
}

.sideNaviUL2 a,
.sideNaviUL a {
    text-decoration: underline;
}

/**/
.academicIndexTitle {
    font-size: 18px;
    line-height: 1.75;
    color: var(--main-colorDark);
    font-weight: 500;
    margin-left: 20px;
    margin-bottom: 20px;
}

.academicIndex {
    margin: 20px 0 20px 20px;
    padding: 20px;
    background-color: var(--main-colorBG);
    border: solid 1px #ddd;
    border-radius: 10px;
}

.academicIndex ul {
    margin-left: 40px;
}

.linkUL {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorDark);
    font-weight: 300;
    margin-left: 20px;
    margin-bottom: 20px;
}

.linkUL li {
    list-style: disc;
    margin-left: 40px;
}

.subTitle {
    font-size: 18px;
    line-height: 1.75;
    color: var(--main-colorDark);
    font-weight: 500;
    margin-left: 20px;
    margin-bottom: 20px;
}

.categoryTitle {
    font-size: 18px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 500;
    margin-left: 20px;
    margin-bottom: 20px;
}

.docTitle,
.midashi2 {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 400;
    margin-left: 20px;
    margin-bottom: 10px;
}

.academicListOL {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 300;
    margin-left: 20px;
    margin-bottom: 40px;
}

.academicListOL li {
    list-style: decimal;
    color: var(--main-colorText);
    font-weight: 300;
    margin-left: 40px;
    margin-bottom: 10px;

    word-wrap: break-word;
    overflow-wrap: break-word;
}

.miniTitle {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 400;
    margin-left: 20px;
    margin-bottom: 20px;
}

.subMiniTitle {
    display: inline-block;
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 400;
    margin-left: 20px;
    margin-bottom: 20px;
    padding: 5px 10px;
    background-color: var(--main-colorBG);
}

#academicArea {
    margin: 0px;
}

.komidashi01 {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 400;
    margin-left: 20px;
    margin-bottom: 5px;
}

#academicArea .date {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 300;
    margin-left: 20px;
    margin-bottom: 5px;
}

#academicArea ol {
    font-size: 16px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 300;
    margin-left: 40px;
    margin-bottom: 20px;
    list-style: decimal;
}

#academicArea ol li {
    margin-bottom: 10px;
}

.attention {
    color: #800;
    font-size: 18px;
    font-weight: 300;

}

.attention.plugs {
    margin: 40px 0 40px 20px;
}

.mainTextMessage {
    font-size: 18px;
    line-height: 1.75;
    color: var(--main-colorText);
    font-weight: 500;
    margin-left: 20px;
    margin-bottom: 5px;
}

.doctorChargeTable .am {
    background-color: var(--main-colorAccentLight);
}

.doctorChargeTable .pm {
    background-color: var(--main-colorHighlight);
}

.doctorChargeTableTH,
.doctorChargeTableTHnote {
    vertical-align: middle;
}

.doctorChargeTableTHnote {
    background-color: #f2eec6;
}

.doctorChargeTableTDnote2 {
    background-color: #f0f0f0;
}

.doctorChargeTableTDnote3 {
    background-color: #f9f9f9;
}

.doctorChargeTableTDnote4 {
    background-color: #fdfdfd;
}

/**/
.doctorChargeTableOutpatient {
    width: 100%;
    font-size: 14px;
    color: var(--main-colorText);
}

.doctorChargeTableOutpatient .doctorChargeTableTHweek {
    white-space: nowrap;
    padding: 5px;
    text-align: center;
    font-weight: 500;
    border: solid 1px #ddd;
    background-color: #f2eec6;
    vertical-align: middle;
}

.doctorChargeTableOutpatient .doctorChargeTableTH {
    white-space: nowrap;
    padding: 5px;
    text-align: center;
    font-weight: 500;
    border: solid 1px #ddd;
    background-color: #f2eec6;
    vertical-align: middle;
}

.doctorChargeTableOutpatient .doctorChargeTableTD {
    white-space: nowrap;
    padding: 5px;
    text-align: center;
    font-weight: 300;
    border: solid 1px #ddd;
}

/**/
.tablePostgrd5 {
    width: 98%;
    margin-top: 1em;
    margin-right: auto;
    margin-bottom: 1em;
    margin-left: auto;
    border-collapse: collapse;
}

th.years0 {
    font-size: 16px;
    color: #FFF;
    background-color: #6B6A6A;
    text-align: center;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

th.years1 {
    font-size: 16px;
    color: #333;
    background-color: #D2D2D3;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.notes {
    font-size: 16px;
    color: #333;
    background-color: #FFF;
    background-position: center;
    text-align: center;
    border-right-width: 1px;
    border-left-width: 1px;
    border-right-style: dotted;
    border-left-style: dotted;
    border-right-color: #CCC;
    border-left-color: #CCC;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

th.years2 {
    font-size: 80%;
    color: #333;
    background-color: #B4B4B5;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseA {
    font-size: 16px;
    color: #333;
    background-color: #FEC573;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseA_ {
    font-size: 16px;
    color: #333;
    background-color: #FDD49A;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseB {
    font-size: 16px;
    color: #333;
    background-color: #CADF8D;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseB_ {
    font-size: 16px;
    color: #333;
    background-color: #DAE8B1;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseB_2 {
    font-size: 16px;
    color: #333;
    background-color: #E5EFC8;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseC {
    font-size: 16px;
    color: #333;
    background-color: #B1D5F1;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseC_ {
    font-size: 16px;
    color: #333;
    background-color: #D7E9F8;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseC_2 {
    font-size: 16px;
    color: #333;
    background-color: #B1D5F1;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

td.courseC_3 {
    font-size: 16px;
    color: #333;
    background-color: #81BFEA;
    text-align: center;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #FFF;
    padding-top: 6px;
    padding-right: 3px;
    padding-bottom: 6px;
    padding-left: 3px;
}

.complate {
    font-size: 16px;
    text-decoration: none;
    float: right;
    background-color: #FFF;
    display: block;
    box-shadow: 1px 1px 2px 1px #333;
}

.question {
    margin-top: 2em;
    margin-bottom: 1em;
    margin-right: 35px;
    margin-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--main-colorDark);
    padding-left: 3px;
    padding-bottom: 3px;
    border-bottom: 1px dotted #ddd;
    font-weight: 400;

}

.answer {
    margin-top: 1em;
    margin-bottom: 2em;
    margin-right: 35px;
    margin-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--main-colorText);
    padding-bottom: 3px;
    padding-left: 3px;
    font-weight: 300;
}

.csrTable {
    font-size: 14px;
    font-weight: 300;
}

.csrTable th,
.csrTable td {
    border: solid 1px #ddd;
}

.csrTable th {
    text-align: center;
    vertical-align: middle;
}

.csrTable td {
    text-align: center;
    vertical-align: middle;
}

/**/

.t_title {
    background-color: #f0f0f0;
    padding: 10px 10px 10px 10px;
    border: solid 1px #ddd;
    border-radius: 5px;
    color: var(--main-colorText);
    font-size: 18px;
    margin-bottom: 20px;
}

.t_title::before {
    content: '▶';
    color: var(--main-colorDark);
    margin-right: 10px;
}

.researchIndexUL {
    font-size: 16px;
    line-height: 1.75;
    margin: 20px;
}

.researchIndexUL li {
    list-style: disc;
    margin-left: 40px;
}

.researchIndexLI a {
    text-decoration: none !important;
    word-break: break-all;
}

.researchIndexLI a.current {
    background-color: var(--main-colorAccentLight) !important;
    color: var(--main-colorDark) !important;
}

.researchIndexLI a.current::before {
    content: '▶';
    margin-right: 10px;
    text-decoration: none !important;
}

/**/
.sumTable {
    margin-left: 25px;
    text-align: center;
    padding: 5px;
}

.sumTable tr {
    display: flex;
    flex-wrap: wrap;
}

.sumTable tr td {
    padding: 2.5px;
}

.mainText a {
    background-color: var(--main-colorBG) !important;
    color: var(--main-colorDark) !important;
}

.photoCaption {
    font-size: 14px;
    color: var(--main-colorText);
    text-align: center;
}

.btnContena {
    text-align: center;
    margin: 20px auto;
    max-width: 90%;
}

.btnContena a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--main-colorBGBody);
    color: var(--main-colorText);
    text-decoration: none;
    border-radius: 10px;
    padding: 10px;
}

.btnContena a::after {
    content: '▶▶';
    color: var(--main-colorDark);
    margin-left: 10px;
}

/**/
.cmsTitle {
    line-height: 1.75;
    font-size: 20px;
    font-weight: 500;
    color: var(--main-colorText);
    margin-bottom: 20px;
}

#item h2 {
    line-height: 1.75;
    font-size: 20px;
    font-weight: 500;
    color: var(--main-colorText);
    margin-bottom: 20px;
}

#item h3 {
    line-height: 1.75;
    font-size: 18px;
    font-weight: 400;
    color: var(--main-colorText);
    margin-bottom: 20px;
}

#item h4 {
    line-height: 1.75;
    font-size: 18px;
    font-weight: 400;
    color: var(--main-colorText);
    margin-bottom: 20px;
    border-bottom: dotted 1px #ddd;
    padding-bottom: 5px;
}

#item h5,
#item h6 {
    line-height: 1.75;
    font-size: 16px;
    font-weight: 400;
    color: var(--main-colorText);
    margin-bottom: 20px;
}

#item p {
    line-height: 1.75;
    font-size: 16px;
    font-weight: 300;
    color: var(--main-colorText);
    margin: 1em 10px;
}

.back2list {
    max-width: 80%;
    text-align: center;
    margin: 20px auto;
}

.back2list a {
    background-color: var(--main-colorBG);
    color: var(--main-colorDark);
    font-size: 16px;
    font-weight: 500;
    display: block;
    padding: 5px;
    text-decoration: none;
}

.genital-fig {
    width: 250px;
    height: auto;
}

.genital-fig-box {}

.bnrListLI img {
    width: 189px;
}

/* スタッフリスト全体のスタイル */
.staffLists {
    background-color: #fefefe;
    border: 1px solid #d4c5b0;
    border-radius: 8px;
    padding: 0 24px 24px 24px;
    margin-bottom: 24px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease;
}

.staffLists:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* 職種（サブタイトル）のスタイル */
.staffSubtitle {
    background: linear-gradient(135deg, #9d8b6f 0%, #b5a088 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: normal;
    padding: 8px 16px;
    margin: -24px -24px 12px -24px;
    border-radius: 8px 8px 0 0;
    display: inline-block;
    min-width: 150px;
    text-align: center;
    letter-spacing: 0.5px;
}

/* 氏名のスタイル */
.staffName {
    font-size: 18px;
    font-weight: bold;
    color: #4a4035;
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid #e8dcc8;
}

/* 資格リストのスタイル */
.staffQualification {
    list-style: none;
    padding: 0;
    margin: 0;
}

.staffQualification li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    color: #5a5a5a;
    font-size: 16px;
    line-height: 1.6;
}

.staffQualification li:before {
    content: "●";
    position: absolute;
    left: 0;
    color: #b5a088;
    font-size: 10px;
    top: 4px;
}

/* 資格がないスタッフ用のスタイル */
.staffLists:has(:not(.staffQualification)) {
    padding-bottom: 24px;
}

/* プリント用スタイル */
@media print {
    .staffLists {
        page-break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ccc;
    }
}


@media screen and (min-width: 768px) {

    .forSP {
        display: none;
    }

    .forPC {
        display: initial;
    }

    #contentsCage {
        max-width: 1200px;
        margin: 0 auto;
        border-left: solid 1px #ddd;
        border-right: solid 1px #ddd;
    }

    header {
        width: 100%;
        height: 100px;
        background-color: var(--main-colorBG);
        background-image: url(../images/img-header.png);
        background-position: left center;
        background-size: cover;
        position: relative;
    }

    .siteLogo {
        position: absolute;
        width: 90px;
        height: 90px;
        top: 5px;
        left: 5px;
        background-image: url(../images/img-logo.png);
        background-position: center;
        background-size: cover;
    }

    .siteTitle {
        position: absolute;
        top: 10px;
        left: 100px;
        text-shadow: 1px 1px 15px rgba(255, 255, 255, .5);
    }

    .siteSubTitle {
        color: var(--main-colorAccentDark);
        font-weight: 300;
        font-size: 14px;
        display: block;
    }

    .siteMainTitle {
        color: var(--main-colorAccentDark);
        font-weight: 500;
        font-size: 24px;
        display: block;
    }

    .siteEnglishTitle {
        color: var(--main-colorAccentDark);
        font-weight: 300;
        font-size: 12px;
        display: block;
    }

    .siteMenuArea {
        position: absolute;
        top: 0px;
        right: 10px;
        font-size: 13px;
        font-weight: 300;
        padding: 0;
        margin: 0;
        background-color: transparent;
    }

    .siteMenu {
        display: block;
    }

    .siteMenu li {
        display: inline-block;
        padding: 0 0 0 30px;

    }

    .siteMenu li:last-child {
        border-bottom: none;
    }

    .siteMenu li a {
        display: block;
        color: var(--main-colorText);
        padding: 5px 1px;
        border-radius: 5px;
    }

    .siteMenu li a::before {
        content: '▶ ';
        color: var(--main-colorAccentDark);
    }

    .siteMenu li a:hover {
        color: var(--main-colorText);
        background-color: var(--main-colorBG);
    }

    .sliderArea {
        margin-top: 72px;
        height: 500px;
    }

    .slidePhoto001,
    .slidePhoto002,
    .slidePhoto003,
    .slidePhoto004 {
        display: block;
        width: 100%;
        height: 500px;
        overflow: hidden;
        background-position: center 70%;
        background-size: cover;
    }

    /**/

    .pageImageArea {
        margin-top: 72px;
    }

    .contentsArea {
        display: flex;
        flex-wrap: wrap;
    }

    .mainArea {
        width: calc(100% - 220px);
        padding: 20px;
    }

    .sideArea {
        width: 220px;
        padding: 70px 10px 10px 10px;
        background-color: #fafafa;
    }

    .indexJOSNList {
        margin-left: 20px;
        margin-right: 20px;
    }

    .yymmdd {
        display: block;
        width: 100px;
        font-size: 14px;
        color: var(--main-colorText);
        line-height: 1.75;
        float: left;
    }

    .summary {
        display: block;
        font-size: 14px;
        color: var(--main-colorText);
        line-height: 1.75;
        margin-left: 100px;
    }

    .infoULLI a:hover .yymmdd,
    .infoULLI a:hover .summary {
        color: var(--main-colorHover);
        text-decoration: underline;
    }

    #infoULIDFix,
    #infoULID2 {
        max-height: 200px;
        overflow: auto;
        border: solid 1px #ddd;
        padding: 10px;
    }

    .pastInfo a:hover {
        color: var(--main-colorHover);
        text-decoration: underline;
    }

    .fixListAlt,
    .filterListAlt {
        max-height: initial !important;
        max-height: auto !important;
    }

    /**/
    .indexHotTopics {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: stretch;
        padding-bottom: 20px;
    }

    .indexHotTopics p {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
    }

    .indexHotTopics a {
        display: block;
    }

    /**/
    .linkBnrArea a {
        display: block;
        width: 33%;
    }

    /**/
    .footer {
        text-align: left;
    }

    .footerComent {
        position: absolute;
        right: 10px;
        bottom: 20px;
        text-align: right;
        color: var(--main-colorTextLight);
        font-size: 12px;
        font-weight: 100;
        line-height: 1.5;
        margin: 0;
    }

    .copyRightContents span {
        margin: 0;
    }

    /**/
    .bnrListUL {
        width: 200px;
        display: block;
        flex-wrap: wrap;
    }

    .bnrListLI {
        display: block;
        width: 100%;
        padding: 0;
        text-align: center !important;
        margin: 0 auto;
    }

    /**/
    .imageRightArea {
        float: right;
        text-align: left;
    }

    .imageRightBox {
        padding: 0 0 20px 20px;
    }

    .imageLeftArea {
        float: left;
        text-align: left;
    }

    .imageLeftBox {
        padding: 0 20px 20px 2px;
    }

    /**/
    .doctorTable th,
    .doctorTable td {
        padding: 5px;
        border: solid 1px #ddd;
    }

    .doctorTable tr {
        display: table-row;
    }

    .doctorTable th {
        background-color: var(--main-colorBG);
        color: var(--main-colorText);
        text-align: center;
        display: table-cell;
        padding: 5px;
        width: auto;
    }

    .doctorTable td:nth-of-type(1),
    .doctorTable td:nth-of-type(2) {
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        display: table-cell;
        padding: 5px;
        width: auto;
        font-size: 16px;
        font-weight: 300 !important;
    }

    .doctorTable td:nth-of-type(3) {
        text-align: center;
        text-align: left;
        display: table-cell;
        padding: 5px;
        width: auto;
        background-color: transparent;
        font-size: 16px;
        font-weight: 300;
    }

    .doctorChargeTable tr {
        display: table-row;
        width: auto;
        margin: 0;
        padding: 0;
        border: solid 1px #ddd;
    }

    .doctorChargeTable th {
        display: table-cell;
        padding: 5px;
        margin: 0;
        border: none;
        width: auto;
        font-weight: 500 !important;
        color: var(--main-colorText);
        text-align: center;
    }

    .doctorChargeTable td {
        display: table-cell;
        padding: 5px;
        margin: 0;
        border: none;
        width: auto;
        font-weight: 300 !important;
        color: var(--main-colorText);
    }

    .scroll {
        width: 100%;
        height: auto;
        overflow-x: auto;
    }

    .doctorChargeTableOutpatient {
        width: 100%;
        font-size: 14px;
        color: var(--main-colorText);
    }

    .doctorChargeTableOutpatient .doctorChargeTableTHweek {
        white-space: nowrap;
        padding: 5px;
        text-align: center;
        font-weight: 500;
        border: solid 1px #ddd;
        background-color: #f2eec6;
        vertical-align: middle;
    }

    .doctorChargeTableOutpatient .doctorChargeTableTH {
        white-space: nowrap;
        padding: 5px;
        text-align: center;
        font-weight: 500;
        border: solid 1px #ddd;
        background-color: #f2eec6;
        vertical-align: middle;
    }

    .doctorChargeTableOutpatient .doctorChargeTableTD {
        white-space: nowrap;
        padding: 5px;
        text-align: center;
        font-weight: 300;
        border: solid 1px #ddd;
    }

    /**/
    .researchIndexLI a:hover {
        text-decoration: underline !important;
    }

    .staffLists {
        padding: 0 24px 24px 24px;
        margin-bottom: 24px;
    }

    .staffSubtitle {
        margin: -32px -24px 12px -24px;
        font-size: 14px;
        padding: 6px 12px;
    }

    .staffName {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .staffQualification li {
        font-size: 16px;
        margin-bottom: 8px;
    }
}