@charset "UTF-8";

/*******************************
specialty_index
*******************************/
#mainContents.specialtyIndex .specialtyIndexBox01 {
    color: #005899;
}

#mainContents.specialtyIndex .specialtyIndexBox01 .link01 a {
    background: #005899;
    color: #fff;
    font-weight: bold;
    font-size: 110%;
    padding: 0.35rem 0.5rem;
    margin-bottom: 1.5em;
    display: block;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section {
    margin-bottom: 1.5rem;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section h2 {
    background: #005899;
    color: #fff;
    font-weight: bold;
    font-size: 110%;
    padding: 0.35rem 0.5rem;
    margin-bottom: 1em;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section ul li {
    margin-bottom: 1.5em;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section ul li a {
}

#mainContents.specialtyIndex .specialtyIndexBox01 section ul li div {
    font-weight: bold;
    margin-bottom: 0.8em;
    border-bottom: 1px solid #005899;
    padding-bottom: 0.4em;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section ul li a div {
    display: flex;
    align-items: flex-start;
    font-weight: normal;
    border: none;
    margin: 0;
    padding: 0;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section span.num {
    font-family: "font01";
    font-size: 140%;
    font-weight: normal;
    line-height: 1;
    margin: 0.2em 0.25em 0 0;
    width: 8%;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section span.txt {
    width: 92%;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section ul li ul {
    margin: 0 0 1em 1.8em;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section ul li ul li {
    margin-bottom: 0.5em;
}

#mainContents.specialtyIndex .specialtyIndexBox01 section ul li ul li a strong span {
    font-family: "font01";
    font-size: 140%;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    margin: -0.1em 0.25em 0 0;
}

/*******************************
specialty_underlayer
*******************************/
#mainContents.specialty p {
    text-indent: 1em;
    margin-bottom: 1rem;
}

#mainContents.specialty p strong {
    font-weight: bold;
    text-decoration: underline;
}

#mainContents.specialty .img01 {
    text-indent: 0;
    width: 70%;
    margin: 0 auto 2rem;
    text-align: center;
}

#mainContents.specialty .img02 {
    text-indent: 0;
    margin: 0 auto 2rem;
    text-align: center;
}

#mainContents.specialty .img03 {
    text-indent: 0;
    width: 50%;
    margin: 0 auto 2rem;
    text-align: center;
}

#mainContents.specialty .img04 {
    text-indent: 0;
    text-align: center;
}

#mainContents.specialty section {
    margin-bottom: 4rem;
}

#mainContents.specialty section section {
    margin-bottom: 3rem;
}

#mainContents.specialty section section section {
    margin-bottom: 3rem;
}

#mainContents.specialty section p {
    margin-bottom: 2rem;
}

#mainContents.specialty section h2 {
    background: #005899;
    color: #fff;
    font-weight: bold;
    font-size: 125%;
    padding: 0.35rem 0.5rem;
    margin-bottom: 1.5em;
}

#mainContents.specialty section section h3 {
    color: #005899;
    font-weight: bold;
    font-size: 125%;
    border-bottom: 1px solid #005899;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

#mainContents.specialty section h3 span {
    font-family: "font01";
    font-size: 160%;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    margin: -0.1em 0.25em 0 0;
}

#mainContents.specialty section h4 {
    color: #005899;
    font-weight: bold;
    font-size: 125%;
    border-bottom: 1px solid #005899;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

#mainContents.specialty section h4 span {
    font-family: "font01";
    font-size: 160%;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    margin: -0.1em 0.25em 0 0;
}

#mainContents.specialty section h5 {
    color: #005899;
    font-weight: bold;
    font-size: 110%;
    border-bottom: 1px solid #ccc;
    padding-bottom: 0.5rem;
    margin-bottom: 0.8rem;
}

#mainContents.specialty .thesis {
    background: #f8f8f8;
    padding: 1em 1em 0.2em;
    color: #666;
    margin-bottom: 1.5em;
}

#mainContents.specialty .thesis dt {
    margin-bottom: 0.5em;
}

#mainContents.specialty .thesis ol {
    margin-left: 1.5em;
}

#mainContents.specialty .thesis ol li {
    list-style-type: decimal;
    margin-bottom: 0.8em;
}

#mainContents.specialty .thesis ol li strong {
    font-weight: bold;
    text-decoration: underline;
}

#mainContents.specialty .box01 {
    overflow: hidden;
    margin-bottom: 2rem;
}

#mainContents.specialty .box01 .img01 {
    width: 46%;
    float: left;
    margin-right: 6%;
}

#mainContents.specialty .box01 .txt01 {
    display: inline;
    margin-left: 1em;
}

#mainContents.specialty .table01 {
    margin: 0 0 1.5rem;
}

#mainContents.specialty .table01 table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 3rem;
}

#mainContents.specialty .table01 table tbody {
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

#mainContents.specialty .table01 table caption {
    font-weight: bold;
    text-align: left;
    margin-bottom: 0.5em;
}

#mainContents.specialty .table01 table th, #mainContents.specialty .table01 table td {
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    padding: 0.5em;
    text-align: left;
    vertical-align: middle;
}

#mainContents.specialty .table01 table th {
    background: #005899;
    color: #fff;
}

#mainContents.specialty sup {
    font-size: 70%;
    vertical-align: super;
}

#mainContents.specialty .box02 dt {
    margin-bottom: 0.8em;
}

#mainContents.specialty .box03 dt {
    margin-bottom: 0.8em;
}

#mainContents.specialty .box03 dd ul {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

#mainContents.specialty .box03 dd ul li {
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    box-sizing: border-box;
    width: 50%;
    text-align: center;
}

#mainContents.specialty .box03 dd ul li a {
    display: block;
    padding: 1.5em 2.5%;
}

#mainContents.specialty .box03 dd ul li img {
    display: block;
    margin: 0.8em auto 0;
    max-height: 7em;
}

/*******************************
long sidenav
*******************************/
#contents #subMenu {
    max-height: 85vh;
    overflow-y: scroll;
}
#contents #subMenu ul li a {
    padding: 0.5rem 20px 0.5rem 35px;
    font-size: 93.75%;
}
#contents #subMenu ul .active {
    padding: 0.5rem 20px 0.5rem 31px;
}
