@keyframes show01 {
    from {
        z-index: 0;
        opacity: 0
    }

    to {
        z-index: 1;
        opacity: 1
    }
}

@keyframes show02 {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes hide01 {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes staff_info {
    0% {
        transform: scaleY(0)
    }

    100% {
        transform: scaleY(1)
    }
}

@keyframes swiperPagination {
    0% {
        height: 0
    }

    100% {
        height: 100%
    }
}

@keyframes swiperPagination02 {
    0% {
        height: 0
    }

    100% {
        height: 100%
    }
}

@keyframes swiperPagination03 {
    0% {
        width: 0
    }

    100% {
        width: 100%
    }
}

@keyframes swiperPagination04 {
    0% {
        width: 0
    }

    100% {
        width: 100%
    }
}

html {
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%
}

* {
    font-family: inherit;
    line-height: inherit
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
button,
input,
select,
textarea,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    letter-spacing: 0
}

ol,
ul {
    list-style: none
}

img {
    border: none;
    vertical-align: bottom
}

address,
caption,
cite,
dfn,
em {
    font-style: normal
}

object,
embed {
    vertical-align: top
}

table {
    border: none;
    border-spacing: 0;
    border-collapse: collapse
}

th,
td {
    vertical-align: top;
    text-align: left;
    font-weight: normal
}

hr {
    display: block;
    margin: 1em 0;
    padding: 0;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc
}

sub,
sup {
    position: relative;
    vertical-align: baseline;
    line-height: 0
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

textarea {
    overflow: auto
}

label {
    cursor: pointer
}

select,
input,
textarea,
button {
    position: relative;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    vertical-align: middle
}

input[type=checkbox],
input[type=radio] {
    top: -2px;
    border: none
}

button,
textarea,
input[type=button],
input[type=reset],
input:not(.gsc-input)[type=text],
input[type=password],
input[type=submit] {
    outline: none;
    border: none;
    border-radius: 0;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    overflow: visible;
    cursor: pointer
}

[disabled] {
    cursor: default
}

*,
*:before,
*:after {
    box-sizing: border-box
}

body {
    font-family: "Noto Sans JP", sans-serif
}

.ff_barlow_semi_condensed,
.home_mv .catch .en,
.hx_basic01 .en,
.icon_file::after,
.update_list01 dt {
    font-family: "Barlow Semi Condensed";
    font-weight: 400
}

.fw_normal,
.hx_basic01 .ruby {
    font-weight: 400
}

.fw_medium,
.page_update_article strong,
.btn_list01 dt,
.home_mv .catch .en,
.icon_file::after,
.t_style01 th,
.update_list01 dt,
.update_article_date {
    font-weight: 500
}

.fw_semibold,
.hx_basic01 .en {
    font-weight: 600
}

.bl_faqList_question,
.fw_bold,
.com_btn01,
header .logo_txt,
.home_mv .catch .jp {
    font-weight: 700
}

html {
    font-size: 62.5%
}

body {
    font-size: 1.5em
}

rt {
    font-size: 1.1rem
}

small,
sub,
sup {
    font-size: 1.3rem
}

.fs10 {
    font-size: 1rem !important
}

.fs11 {
    font-size: 1.1rem !important
}

.fs12 {
    font-size: 1.2rem !important
}

.fs13 {
    font-size: 1.3rem !important
}

.fs14 {
    font-size: 1.4rem !important
}

.fs15 {
    font-size: 1.5rem !important
}

.fs16 {
    font-size: 1.6rem !important
}

.fs17 {
    font-size: 1.7rem !important
}

.fs18 {
    font-size: 1.8rem !important
}

.fs19 {
    font-size: 1.9rem !important
}

.fs20 {
    font-size: 2rem !important
}

.fs21 {
    font-size: 2.1rem !important
}

.fs22 {
    font-size: 2.2rem !important
}

.fs23 {
    font-size: 2.3rem !important
}

.fs24 {
    font-size: 2.4rem !important
}

.fs25 {
    font-size: 2.5rem !important
}

.fs26 {
    font-size: 2.6rem !important
}

.fs27 {
    font-size: 2.7rem !important
}

.fs28 {
    font-size: 2.8rem !important
}

.fs29 {
    font-size: 2.9rem !important
}

.fs30 {
    font-size: 3rem !important
}

.fs31 {
    font-size: 3.1rem !important
}

.fs32 {
    font-size: 3.2rem !important
}

.fs33 {
    font-size: 3.3rem !important
}

.fs34 {
    font-size: 3.4rem !important
}

.fs35 {
    font-size: 3.5rem !important
}

.fs36 {
    font-size: 3.6rem !important
}

.fs37 {
    font-size: 3.7rem !important
}

.fs38 {
    font-size: 3.8rem !important
}

.fs39 {
    font-size: 3.9rem !important
}

.fs40 {
    font-size: 4rem !important
}

header .logo {
    font-size: 1rem
}

footer .f_copy small {
    font-size: 1.1rem
}

[class^=supplementary_info],
footer address,
.t_pc_schedule,
.t_sp_schedule,
.topic_path {
    font-size: 1.3rem
}

.icon_file,
.icon_file::after {
    font-size: 1.4rem
}

.hx_basic04,
.hx_basic05 {
    font-size: 1.5rem
}

.hx_basic01 .addition {
    font-size: 1.6rem
}

.update_list01 dt,
.update_article_date {
    font-size: 1.8rem
}

.btn_list01 dt {
    font-size: 2rem
}

.page_update_article h5,
.page_update_article h6 {
    font-size: 1.6rem
}

.bl_faqList_question::before,
.bl_faqList_answer::before {
    font-size: 2.4rem
}

html {
    height: 100%
}

body {
    height: 100%;
    color: #444
}

body {
    line-height: 1.5
}

.page_sub .contents_body dl,
.page_sub .contents_body ol,
.page_sub .contents_body p,
.page_sub .contents_body table,
.page_sub .contents_body ul {
    line-height: 1.73
}

.al_right {
    text-align: right !important
}

.al_left {
    text-align: left !important
}

.al_center {
    text-align: center !important
}

.val_middle {
    vertical-align: middle
}

.imp01 {
    color: #e23737
}

.imp02 {
    color: #fa9000
}

.imp03 {
    color: #43ac98
}

.t_underline01 {
    text-decoration: underline !important
}

.t_underline01:hover {
    text-decoration: none !important
}

.t_line_through {
    text-decoration: line-through
}

a {
    position: relative;
    color: inherit;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    text-decoration: underline
}

.contents_body a {
    color: #156cb7
}

.anchor_link {
    display: block;
    height: 0;
    font-size: 0;
    line-height: 0
}

.container {
    width: 100%;
    height: 100%;
    min-height: 0%
}

body.page_sub .container {
    display: flex;
    flex-direction: column
}

body.modal_open .container {
    position: fixed
}

.contents_body {
    width: 100%;
    flex: 1 0 auto;
    padding-bottom: 50px
}

.page_sub .contents_body {
    padding-bottom: 100px
}

.ie11 .contents_body {
    min-height: 1px
}

header {
    position: fixed;
    z-index: 11;
    width: 100%;
    background: #fff;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, .1)
}

header .inner {
    display: flex
}

header .inner .logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin-left: 15px
}

header .inner .logo a {
    color: #222;
    text-decoration: none
}

header .inner .logo .logo_img {
    line-height: 1
}

header .inner .logo .logo_img img {
    vertical-align: middle
}

.gnav_sub a {
    display: block;
    color: #fff;
    text-decoration: none
}

.gnav_sub a:not([target=_blank])::after {
    position: absolute;
    content: "";
    display: block;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    margin-top: -5px
}

.gnav_sub a[target=_blank]::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    background: url(/psycho/img/common/icon_external01_white.svg) no-repeat;
    background-size: 14px
}

footer {
    width: 100%;
    color: #666;
    border-top: 1px solid #ddd;
    text-align: center
}

footer .inner {
    position: relative
}

footer .f_copy {
    color: #888
}

.footer_menu li a {
    color: #666
}

.totop {
    position: fixed;
    bottom: 0;
    opacity: 0;
    z-index: 5;
    transition: opacity .4s ease-in-out, bottom .4s ease-in-out;
    width: 40px;
    height: 40px;
    background: rgba(0, 80, 126, .8);
    border-radius: 50%
}

.totop.show {
    opacity: 1;
    bottom: 30px
}

.totop.abs {
    opacity: 1;
    position: absolute;
    right: 0;
    top: -40px
}

.totop span {
    display: none;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 100%
}

.totop a {
    display: block;
    position: relative;
    height: 100%
}

.totop a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    left: calc(50% - 8px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 8px 8px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0)
}

.topic_path {
    padding: 20px 15px 0;
    color: #666
}

.topic_path ul {
    display: flex
}

.topic_path li {
    margin-right: 5px
}

.topic_path li:not(:last-child)::after {
    content: ">";
    margin-left: 5px
}

.contents_body>:first-child {
    margin-top: 0
}

.contents_body table {
    margin-top: 36px
}

.contents_body table td>*+* {
    margin-top: 10px
}

.mar_r0 {
    margin-right: 0px !important
}

.mar_l0 {
    margin-left: 0px !important
}

.mar_r10 {
    margin-right: 10px !important
}

.mar_l10 {
    margin-left: 10px !important
}

.mar_r20 {
    margin-right: 20px !important
}

.mar_l20 {
    margin-left: 20px !important
}

.mar_r30 {
    margin-right: 30px !important
}

.mar_l30 {
    margin-left: 30px !important
}

.mar_r40 {
    margin-right: 40px !important
}

.mar_l40 {
    margin-left: 40px !important
}

.mar_r50 {
    margin-right: 50px !important
}

.mar_l50 {
    margin-left: 50px !important
}

.mar_r60 {
    margin-right: 60px !important
}

.mar_l60 {
    margin-left: 60px !important
}

.mar_r70 {
    margin-right: 70px !important
}

.mar_l70 {
    margin-left: 70px !important
}

.mar_r80 {
    margin-right: 80px !important
}

.mar_l80 {
    margin-left: 80px !important
}

.mar_r90 {
    margin-right: 90px !important
}

.mar_l90 {
    margin-left: 90px !important
}

.mar_r100 {
    margin-right: 100px !important
}

.mar_l100 {
    margin-left: 100px !important
}

.page_ttl {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 100%;
    color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.page_department .page_ttl {
    background-image: url(/psycho/img/department/bg_page_ttl.jpg)
}

.page_patient .page_ttl {
    background-image: url(/psycho/img/patient/bg_page_ttl.jpg)
}

.page_medical .page_ttl {
    background-image: url(/psycho/img/medical/bg_page_ttl.jpg)
}

.page_education .page_ttl {
    background-image: url(/psycho/img/education/bg_page_ttl.jpg)
}

.page_news .page_ttl {
    background-image: url(/psycho/img/news/bg_page_ttl.jpg)
}

.page_donation .page_ttl {
    background-image: url(/psycho/img/donation/bg_page_ttl.jpg)
}

.page_reunion_domonkai .page_ttl {
    background-image: url(/psycho/reunion_domonkai/img/bg_page_ttl.jpg)
}

.page_ttl::before {
    display:none;
}

/*
.page_ttl::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(78 135 152 / 52%);
}*/

.page_ttl h1 {
    position: relative;
    z-index: 1
}

.hx_basic01 {
    color: #00507e;
    text-align: center
}

.hx_basic01 .ruby {
    display: block
}

.page_news.page_update_article .hx_basic01 {
    text-align: left
}

.hx_basic01.student_news_article {
    text-align: left
}

.diseases_lead {
    text-align: center
}

.diseases_lead .classification {
    display: inline-block;
    padding: 5px 60px;
    color: #00507e;
    background: rgba(0, 80, 126, .1);
    border-radius: 22px
}

.hx_basic02 {
    color: #00507e;
    background: rgba(0, 80, 126, .1)
}

.contents_body .hx_basic02+*:not(.hx_basic03) {
    margin-top: 20px
}

.page_update_article h3 {
    color: #00507e;
    background: rgba(0, 80, 126, .1)
}

.page_update_article .contents_body h3+*:not(h4) {
    margin-top: 20px
}

[class^=hx_basic0].add_marker {
    display: flex
}

[class^=hx_basic0].add_marker .marker {
    flex-shrink: 0
}

.hx_basic03 {
    color: #00507e;
    border-bottom: 2px solid rgba(0, 80, 126, .2)
}

.contents_body .hx_basic03+*:not(.hx_basic04) {
    margin-top: 20px
}

.hx_basic03.indent01 {
    text-indent: -2.6em
}

.page_update_article h4 {
    color: #00507e;
    border-bottom: 2px solid rgba(0, 80, 126, .2)
}

.page_update_article .contents_body h4+*:not(h5) {
    margin-top: 20px
}

.hx_basic04 {
    padding-left: 14px;
    color: #00507e;
    border-left: 4px solid rgba(0, 80, 126, .2)
}

.contents_body .hx_basic04+*:not(.hx_basic05) {
    margin-top: 20px
}

.page_update_article h5 {
    padding-left: 14px;
    color: #00507e;
    border-left: 4px solid rgba(0, 80, 126, .2)
}

.page_update_article .contents_body h5+*:not(h6) {
    margin-top: 20px
}

.contents_body .hx_basic05+* {
    margin-top: 15px
}

.page_update_article .contents_body h6+* {
    margin-top: 15px
}

.bnr_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center
}

.el_toggleArrow:before,
.el_toggleArrow:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -35%
}

.el_toggleArrow:before {
    left: 50%;
    margin-left: -25%;
    transform: rotate(-45deg)
}

.el_toggleArrow:after {
    right: 50%;
    margin-right: -25%;
    transform: rotate(45deg)
}

.el_toggleArrow:before,
.el_toggleArrow:after {
    transition: transform .34s ease
}

.is_toggleShowBtn .el_toggleArrow:before {
    transform: rotate(45deg)
}

.is_toggleShowBtn .el_toggleArrow:after {
    transform: rotate(-45deg)
}

.bl_faqList {
    counter-reset: counterFaq 0
}

.contents_body .bl_faqList dl {
    margin-top: 60px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd
}

.contents_body .bl_faqList dl+dl {
    margin-top: 20px
}

.bl_faqList_question {
    position: relative
}

.bl_faqList_question::before {
    content: "Q" counter(counterFaq);
    counter-increment: counterFaq 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    color: #00507e;
    line-height: 1
}

.bl_faqList_question .el_toggleArrow:before,
.bl_faqList_question .el_toggleArrow:after {
    width: 2px;
    height: calc(70% - 1px);
    background-color: #00507e
}

.bl_faqList_answer {
    position: relative
}

.bl_faqList_answer::before {
    content: "A" counter(counterFaq);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    color: #d27a92;
    line-height: 1
}

.bl_faqList_answer>:first-child {
    margin-top: 0
}

.contents_body .bl_faqList_answer>*+* {
    margin-top: 15px
}

.contents_body *+.btn_list01 {
    margin-top: 60px
}

.btn_list01 a {
    height: 100%;
    display: block;
    border-radius: 3px 3px 0 0;
    color: #444;
    text-decoration: none
}

.btn_list01 dl {
    margin-top: 0 !important
}

.btn_list01 dt {
    position: relative;
    text-align: center
}

.btn_list01 dt::after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    bottom: 6px;
    right: 6px;
    border-style: solid;
    border-width: 0 0 10px 10px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #00507e rgba(0, 0, 0, 0)
}

.btn_list01 dd {
    position: relative
}

.btn_list01 img {
    width: 100%;
    height: auto;
    border-radius: 0 0 3px 3px
}

.btn_list01.color_type01 a {
    background: #f5f5f5
}

.btn_list01.color_type02 a {
    background: #fff
}

.contents_body .btn_list01+* {
    margin-top: 60px
}

img+.caption {
    display: block;
    margin: 10px auto;
    text-align: center
}

.com_btn01>:last-child {
    margin-right: 0
}

.com_btn01 a,
.com_btn01 button {
    display: block;
    border-radius: 3px;
    text-decoration: none;
    text-align: center
}

.com_btn01 a::after,
.com_btn01 button::after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    bottom: 3px;
    right: 3px;
    border-style: solid;
    border-width: 0 0 10px 10px
}

.com_btn01.color_default a,
.com_btn01.color_default button {
    color: #fff;
    background: #00507e
}

.com_btn01.color_default a::after,
.com_btn01.color_default button::after {
    content: "";
    display: block;
    position: absolute;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0)
}

.com_btn01.color_pale01 a,
.com_btn01.color_pale01 button {
    color: #444;
    background: #f5f5f5
}

.com_btn01.color_pale01 a::after,
.com_btn01.color_pale01 button::after {
    content: "";
    display: block;
    position: absolute;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #00507e rgba(0, 0, 0, 0)
}

.com_btn01 .beginner a::before,
.com_btn01 .beginner button::before {
    content: "";
    position: relative;
    display: inline-block;
    top: 5px;
    width: 16px;
    height: 20px;
    margin-right: .5em;
    background: url(/psycho/img/common/icon_beginner.svg) no-repeat;
    background-size: cover
}

.com_btn01.hide {
    display: none
}

.com_btn01 .btn_close span {
    position: relative;
    display: inline-block;
    height: 16px;
    width: 16px;
    top: .5em;
    margin-right: .5em
}

.com_btn01 .btn_close span::before {
    transform: translateY(3px) rotate(45deg)
}

.com_btn01 .btn_close span::after {
    transform: translateY(1px) rotate(-45deg)
}

.com_btn01 .btn_close span::before,
.com_btn01 .btn_close span::after {
    content: "";
    display: block;
    background: #444;
    height: 2px
}

.full_img img {
    max-width: 100%;
    height: auto
}

.icon_external {
    display: inline-block;
    background: url(/psycho/img/common/icon_external01_blue.svg) no-repeat;
    background-size: 14px;
    top: 50%;
    right: 10px;
    width: 14px;
    height: 14px;
    margin: -7px .5em 0;
    vertical-align: middle
}

.com_btn01.color_default .icon_external {
    margin-right: 0;
    background-image: url(/psycho/img/common/icon_external01_white.svg)
}

.icon_file {
    display: inline-block;
    min-width: 72px;
    margin: 0 1em;
    padding: 2px;
    color: #00507e;
    border: 1px solid;
    border-color: inherit;
    text-align: center;
    line-height: 1
}

[href*=".pdf"] .icon_file::after {
    content: "PDF"
}

[href*=".doc"] .icon_file::after {
    content: "WORD"
}

[href*=".xls"] .icon_file::after {
    content: "EXCEL"
}

[href*=".ppt"] .icon_file::after {
    content: "PowerPoint"
}

.com_btn01.color_default .icon_file {
    color: #fff;
    margin-right: 0
}

.contents_list01 {
    display: flex;
    flex-wrap: wrap
}

.contents_list01.al_bottom {
    align-items: baseline
}

.contents_list01.jc_center {
    justify-content: center
}

.contents_list01.home_insta li {
    position: relative
}

.contents_list01.home_insta li:not(.no_insta_txt)::before {
    content: "";
    display: block;
    padding-top: 100%
}

.contents_list01.home_insta a {
    display: block;
    text-decoration: none
}

.contents_list01.home_insta .no_insta_txt a {
    width: 100%;
    height: 100%
}

.contents_list01.home_insta .insta_txt {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1em solid #00507e;
    margin: auto;
    overflow: hidden;
    color: #fff;
    background-color: #00507e
}

.contents_list01.home_insta li:hover {
    opacity: .6
}

.contents_list01.home_insta li:hover .insta_txt {
    display: block
}

.contents_list01.home_insta img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    -o-object-fit: cover;
    object-fit: cover
}

.contents_list01>li>:first-child {
    margin-top: 0
}

.contents_list01 img {
    width: 100%;
    height: auto
}

.img_center {
    text-align: center
}

.img_center+.img_center {
    margin-top: 40px
}

.contents_list01+.img_center {
    margin-top: 40px
}

.link_list01.no_border {
    border: none
}

.link_list01>:first-child:not(.txt) {
    margin-top: 0
}

.link_list01.no_border li {
    border: none
}

.link_list01 a {
    padding-left: 38px
}

.link_list01 a::after {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    left: 0;
    width: 28px;
    height: 28px;
    background: rgba(245, 245, 245, .8);
    border-radius: 50%
}

.link_list01 a::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    width: 0;
    height: 0;
    border-style: solid
}

.link_list01.type_anchor a::before {
    top: 8px;
    left: 7px;
    border-width: 10px 7px 0 7px;
    border-color: #00507e rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.link_list01.type_link a::before {
    top: 5px;
    left: 11px;
    border-width: 7px 0 7px 10px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #00507e
}

.link_list01 .current a {
    pointer-events: none;
    color: inherit;
    text-decoration: none
}

.link_list01 .current a::before {
    border-left-color: rgba(0, 80, 126, .1)
}

[class^=marker_list]>li,
.page_update_article .contents_body ul:not([class^=contents_list])>li {
    position: relative;
    padding-left: 20px
}

.marker_list02 {
    display: flex;
    flex-wrap: wrap
}

.marker_list02>li {
    margin-right: 1.5em
}

[class^=marker_list]>li::before,
.page_update_article .contents_body ul:not([class^=contents_list])>li::before {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: 0;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
    border: 2px solid #00507e
}

.marker_list01>li+li,
.marker_list02>li,
[class^=num_list]>li+li,
.marker_free_list01>li+li,
.page_update_article .contents_body ul:not([class^=contents_list])>li+li {
    margin-top: 10px
}

.num_list01,
.page_update_article .contents_body ol {
    counter-reset: nl01
}

.num_list01>li,
.page_update_article .contents_body ol>li {
    position: relative;
    padding-left: 1.5em
}

.num_list01>li::before,
.page_update_article .contents_body ol>li::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: nl01;
    content: counter(nl01) "."
}

.num_list02 {
    counter-reset: nl02
}

.num_list02>li {
    position: relative;
    margin-left: -0.5em;
    padding-left: 2.5em
}

.num_list02>li::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: nl02;
    content: "（" counter(nl02) "）"
}

.num_list03 {
    counter-reset: nl03
}

.num_list03>li {
    position: relative;
    padding-left: 1.5em
}

.num_list03>li::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: nl03;
    content: counter(nl03) "）"
}

.marker_free_list01>li {
    display: flex
}

.marker_free_list01>li .marker {
    flex-shrink: 0
}

.modal_cover_bg {
    display: none;
    z-index: 4;
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .7)
}

.modal_cover_bg.modal_open {
    display: block;
    opacity: 1;
    animation: show02 .3s ease-in-out
}

.modal_cover_bg.modal_close {
    display: block;
    opacity: 1;
    animation: hide01 .3s ease-in-out
}

.modal {
    display: none;
    opacity: 0;
    z-index: 4;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center
}

.modal.modal_open {
    display: flex;
    opacity: 1;
    animation: show02 .3s ease-in-out
}

.modal.modal_close {
    display: flex;
    opacity: 1;
    animation: hide01 .3s ease-in-out
}

.modal_inner {
    position: relative;
    z-index: 4;
    overflow: auto;
    max-height: 90%;
    background: #fff;
    line-height: 1.73
}

.modal_inner .t_style01 {
    width: 100%
}

.pager01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.pager01 li {
    margin-top: 10px
}

.pager01>:not(:last-child) {
    margin-right: 1em
}

.pager01 a,
.pager01 span {
    display: flex;
    width: 2em;
    height: 2em;
    background: #fff;
    border: 1px solid #ddd;
    justify-content: center;
    text-decoration: none;
    align-items: center;
    transition: all .2s ease-in-out
}

.pager01 a:hover {
    opacity: .8;
    color: #fff;
    background: #00507e
}

.pager01 .current_page {
    color: #fff;
    background: #00507e;
    border: 1px solid #00507e
}

.pic_article01 .pic {
    flex-shrink: 0
}

.pic_article01 .pic>:first-child {
    margin-top: 0
}

.pic_article01 .txt>:first-child {
    margin-top: 0
}

.pic_article01 .txt .t_style01 {
    width: 100%
}

.related_link01 p {
    position: relative;
    padding-left: 20px
}

.related_link01 p::before {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: 0;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
    border: 2px solid #00507e
}

.related_link01>p+p {
    margin-top: 10px
}

.supplementary_info01 {
    display: table
}

.supplementary_info01>li {
    display: table-row
}

.supplementary_info01>li::before {
    content: "※";
    display: table-cell;
    width: 1%;
    padding-right: .4em;
    white-space: nowrap
}

.supplementary_info01>li:not(:last-child)::after {
    content: "";
    display: block;
    margin-top: 10px
}

.supplementary_info01.add_num {
    counter-reset: addnum
}

.supplementary_info01.add_num>li {
    counter-increment: addnum
}

.supplementary_info01.add_num>li::before {
    content: "※ " counter(addnum)
}

.supplementary_info_il01 {
    display: table;
    margin-top: 0
}

.supplementary_info_il01 span {
    display: table-row
}

.supplementary_info_il01 span::before {
    content: "※";
    display: table-cell;
    width: 1%;
    padding-right: .4em;
    white-space: nowrap
}

.t_style01 {
    border-top: 1px solid #ddd
}

.t_style01 th {
    border-bottom: 1px solid #ddd;
    vertical-align: middle
}

.t_style01 thead th {
    background: #e3eef7;
    text-align: center
}

.t_style01 thead th+th {
    border-left: 1px solid #ddd
}

.t_style01 tbody th {
    width: 20%;
    background: #e3eef7
}

.t_style01 tbody th.w_auto {
    width: auto
}

.t_style01 thead+tbody th {
    background: #edf3f9;
    border-right: 1px solid #ddd
}

.t_style01 td {
    padding: 15px;
    border-bottom: 1px solid #ddd
}

.t_style01 td>:first-child {
    margin-top: 0
}

.t_style01 thead+tbody td {
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd
}

.t_style01 thead+tbody tr>:first-child {
    border-left: none
}

.t_style01 thead+tbody tr>:last-child {
    border-right: none
}

.t_style01.td_al_center td {
    text-align: center
}

.t_style01.td_al_right td {
    text-align: right
}

.t_style01 .add_bg td {
    background: #f5f5f5
}

.t_style01 .more {
    display: none;
    transform-origin: top
}

.t_style01 .more th,
.t_style01 .more td {
    border-bottom: none
}

.t_style01 .show.more {
    display: table-row-group;
    animation: staff_info .5s ease-in-out
}

.t_style01 .show.anim_end th,
.t_style01 .show.anim_end td {
    border-bottom: 1px solid #ddd
}

.t_style01 .nowrap {
    white-space: nowrap
}

.t_style01.t_pc_schedule {
    width: 100%;
    margin-right: 0;
    margin-left: 0
}

.t_style01.t_pc_schedule .am_pm {
    width: 2em;
    padding: 15px 5px;
    text-align: center;
    vertical-align: middle
}

.t_style01.t_pc_schedule tbody th {
    white-space: normal;
    border-bottom-width: 2px
}

.t_style01.t_pc_schedule tbody td {
    width: 8em
}

.t_style01.t_pc_schedule tbody tr:nth-last-child(2) th {
    border-bottom-width: 1px
}

.t_style01.t_pc_schedule .pm td {
    border-bottom-width: 2px
}

.t_style01.t_sp_schedule tbody th:not([rowspan]) {
    background: #f5f5f5;
    border-left: 1px solid #ddd
}

.t_style01.t_sp_schedule th[rowspan] {
    width: auto;
    text-align: center
}

.t_style01.t_training_sch tbody th {
    width: 6%;
    padding-right: 8px;
    padding-left: 8px
}

.t_style01.t_training_sch td {
    padding-right: 8px;
    padding-left: 8px;
    text-align: center
}

.t_style01.t_training_sch .hol {
    background: #f5f5f5
}

.t_style01.t_practice_lecture .no_p {
    background: #f5f5f5
}

.t_style01.t_practice_lecture .self_study {
    background: #ddd
}

.t_style01.t_ope_num thead .name {
    width: 80%
}

.t_style01.t_ope_num thead .year {
    width: 20%
}

.t_style01.t_ope_num tbody th {
    white-space: normal
}

.contents_body .update_article_date+.hx_basic01 {
    margin-top: 15px
}

.update_article_date span {
    border-bottom: #444 1px solid
}

.update_list01 dl {
    margin-top: 0;
    border-bottom: 1px solid #ddd
}

.update_list01 dt[class^=file_pdf] .icon_file::after {
    content: "PDF"
}

.update_list01 dt[class^=file_doc] .icon_file::after {
    content: "WORD"
}

.update_list01 dt[class^=file_xls] .icon_file::after {
    content: "EXCEL"
}

.update_list01 dt[class^=file_ppt] .icon_file::after {
    content: "PowerPoint"
}

.update_list02 .update_list02_article {
    display: flex;
    height: 100%;
    color: #444;
    text-decoration: none
}

.update_list02 .thum_ttl {
    margin-right: 5%
}

.update_list02 .thum_ttl>:first-child {
    margin-top: 0
}

.update_list02 .date dt {
    border-bottom: 1px solid #666
}

.update_list02 .date dd {
    margin-top: 10px
}

.update_list02 img {
    width: 100%;
    height: auto
}

.home_mv {
    overflow: hidden;
    position: relative
}

.home_mv .catch {
    z-index: 1;
    position: absolute;
    color: #fff
}

.home_mv .swiper-wrapper {
    position: relative;
    z-index: 0
}

.home_mv .swiper-wrapper .pic {
    position: relative
}

.home_mv .swiper-wrapper .pic::before {
    display: none;
}

/*
.home_mv .swiper-wrapper .pic::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(215 177 139 / 20%);
}*/

.home_mv .swiper-wrapper img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;"
}

.swiper-pagination {
    position: absolute;
    line-height: 0
}

.swiper-pagination .swiper-pagination-bullet {
    outline: none;
    opacity: 1;
    border-radius: 50%;
    background: rgba(165, 165, 165, .8)
}

.swiper-pagination .swiper-pagination-bullet-active {
    background: #00507e
}

.swiper-pagination .swiper-pagination-bullet:first-child {
    margin: 0
}

.swiper-pagination .swiper-pagination-bullet+.swiper-pagination-bullet {
    margin-right: 0
}

.page_home .contents_body>:first-child {
    position: relative
}

.page_home .contents_body>:first-child a>:first-child {
    margin-top: 0
}

.page_update_article p::after {
    content: "";
    display: block;
    clear: both
}

.page_update_article em {
    font-style: italic
}

@media print,
screen and (min-width: 768px) {
    .gnav {
        font-weight: 500
    }

    .hx_basic01 .ruby {
        font-size: 1.3rem
    }

    .gnav_sub {
        font-size: 1.4rem
    }

    .hx_basic02,
    .hx_basic03,
    .page_update_article h3,
    .page_update_article h4 {
        font-size: 1.8rem
    }

    header .logo_txt,
    .update_list02 dt {
        font-size: 2.2rem
    }

    .hx_basic01.student_news_article {
        font-size: 2.4rem
    }

    .page_ttl h1 {
        font-size: 2.8rem
    }

    .home_mv .catch .jp,
    .hx_basic01 {
        font-size: 3.2rem
    }

    .home_mv .catch .en {
        font-size: 6.4rem
    }

    a:hover {
        text-decoration: none
    }

    a:hover img.opa70 {
        opacity: .7
    }

    body.page_sub .container {
        padding-top: 70px
    }

    .contents_body {
        max-width: 1050px;
        padding-right: 15px;
        padding-left: 15px;
        margin: 0 auto
    }

    header .inner {
        justify-content: space-between;
        max-width: 1280px;
        height: 70px;
        margin: 0 auto
    }

    header .inner .logo {
        flex-shrink: 0;
        margin-right: 15px
    }

    header .inner .logo .logo_txt {
        padding-left: 12px;
        line-height: 1.2
    }

    header .inner .logo .logo_img {
        margin-top: 5px
    }

    .gnav_wrap {
        margin-right: 15px
    }

    .gnav {
        display: flex;
        align-items: center;
        height: 100%
    }

    .gnav [class^=btn_] {
        position: relative;
        height: 100%;
        transition: all .26s ease
    }

    .gnav [class^=btn_]>a {
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0 20px;
        color: #444;
        text-decoration: none
    }

    .gnav .current {
        background: #f5f5f5
    }

    .gnav .current::after {
        content: "";
        display: block;
        position: absolute;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: #00507e
    }

    .gnav .hover:not(.current),
    .gnav .hover.has_sub {
        background: #00507e
    }

    .gnav .hover:not(.current)>a,
    .gnav .hover.has_sub>a {
        color: #fff
    }

    .gnav .has_sub.hover .gnav_sub {
        transform: scaleY(1);
        opacity: 1
    }

    .gnav_sub {
        position: absolute;
        top: 70px;
        left: 0;
        width: 220px;
        background: rgba(0, 80, 126, .9);
        transform: scaleY(0);
        transition: all .26s ease;
        transform-origin: top;
        opacity: 0
    }

    .gnav>:last-child .gnav_sub {
        right: 0;
        left: inherit
    }

    .gnav_sub a {
        transition: opacity .3s ease-in-out;
        padding: 14px 20px
    }

    .gnav_sub a:hover {
        opacity: .5
    }

    .h_btn_ham,
    .btn_close01 {
        display: none
    }

    footer {
        padding: 18px 20px
    }

    footer .inner {
        max-width: 1280px;
        margin: 0 auto
    }

    footer address {
        margin-top: 6px
    }

    footer .f_copy {
        margin-top: 24px
    }

    .footer_menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 18px
    }

    .footer_menu li {
        margin-top: 12px
    }

    .footer_menu li a {
        margin-left: -1px;
        padding: 0 1em;
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
        text-decoration: none;
        line-height: 1.2
    }

    .footer_menu li a:hover {
        text-decoration: underline
    }

    .totop {
        right: 15px
    }

    .totop a::after {
        transition: opacity .3s ease-in-out
    }

    .totop a:hover::after {
        opacity: .7
    }

    .topic_path ul {
        flex-wrap: wrap;
        max-width: 1020px;
        margin: 0 auto
    }

    .topic_path li:last-child {
        overflow: hidden;
        max-width: 50em;
        white-space: nowrap;
        text-overflow: ellipsis
    }

    .topic_path+* {
        margin-top: 30px
    }

    .contents_body dl,
    .contents_body ol,
    .contents_body p,
    .contents_body ul {
        margin-top: 20px
    }

    .contents_body>dl,
    .contents_body>ol,
    .contents_body>p,
    .contents_body>ul,
    .contents_body>table,
    .contents_body form>dl,
    .contents_body form>ol,
    .contents_body form>p,
    .contents_body form>ul,
    .contents_body form>table {
        margin-right: 20px;
        margin-left: 20px
    }

    .mar_t0 {
        margin-top: 0px !important
    }

    .mar_b0 {
        margin-bottom: 0px !important
    }

    .mar_t5 {
        margin-top: 5px !important
    }

    .mar_b5 {
        margin-bottom: 5px !important
    }

    .mar_t10 {
        margin-top: 10px !important
    }

    .mar_b10 {
        margin-bottom: 10px !important
    }

    .mar_t15 {
        margin-top: 15px !important
    }

    .mar_b15 {
        margin-bottom: 15px !important
    }

    .mar_t20 {
        margin-top: 20px !important
    }

    .mar_b20 {
        margin-bottom: 20px !important
    }

    .mar_t25 {
        margin-top: 25px !important
    }

    .mar_b25 {
        margin-bottom: 25px !important
    }

    .mar_t30 {
        margin-top: 30px !important
    }

    .mar_b30 {
        margin-bottom: 30px !important
    }

    .mar_t35 {
        margin-top: 35px !important
    }

    .mar_b35 {
        margin-bottom: 35px !important
    }

    .mar_t40 {
        margin-top: 40px !important
    }

    .mar_b40 {
        margin-bottom: 40px !important
    }

    .mar_t45 {
        margin-top: 45px !important
    }

    .mar_b45 {
        margin-bottom: 45px !important
    }

    .mar_t50 {
        margin-top: 50px !important
    }

    .mar_b50 {
        margin-bottom: 50px !important
    }

    .mar_t55 {
        margin-top: 55px !important
    }

    .mar_b55 {
        margin-bottom: 55px !important
    }

    .mar_t60 {
        margin-top: 60px !important
    }

    .mar_b60 {
        margin-bottom: 60px !important
    }

    .mar_t65 {
        margin-top: 65px !important
    }

    .mar_b65 {
        margin-bottom: 65px !important
    }

    .mar_t70 {
        margin-top: 70px !important
    }

    .mar_b70 {
        margin-bottom: 70px !important
    }

    .mar_t75 {
        margin-top: 75px !important
    }

    .mar_b75 {
        margin-bottom: 75px !important
    }

    .mar_t80 {
        margin-top: 80px !important
    }

    .mar_b80 {
        margin-bottom: 80px !important
    }

    .mar_t85 {
        margin-top: 85px !important
    }

    .mar_b85 {
        margin-bottom: 85px !important
    }

    .mar_t90 {
        margin-top: 90px !important
    }

    .mar_b90 {
        margin-bottom: 90px !important
    }

    .mar_t95 {
        margin-top: 95px !important
    }

    .mar_b95 {
        margin-bottom: 95px !important
    }

    .mar_t100 {
        margin-top: 100px !important
    }

    .mar_b100 {
        margin-bottom: 100px !important
    }

    .sp_only_disp {
        display: none !important
    }

    .clear_fix::after {
        content: "";
        display: block;
        clear: both
    }

    .page_ttl {
        height: 150px
    }

    .hx_basic01 {
        margin-top: 60px
    }

    .contents_body .hx_basic01+*:not(.hx_basic02):not(.contents_list01) {
        margin-top: 30px
    }

    .diseases_lead {
        margin-top: 60px
    }

    .diseases_lead .hx_basic01 {
        margin-top: 10px
    }

    .container .contents_body .diseases_lead .hx_basic01+* {
        margin-top: 20px
    }

    .contents_body .diseases_lead+*:not(.hx_basic02) {
        margin-top: 30px
    }

    .hx_basic02 {
        margin-top: 40px;
        padding: 9px 20px
    }

    .page_update_article h3 {
        margin-top: 40px;
        padding: 9px 20px
    }

    .hx_basic03 {
        overflow: hidden;
        margin-top: 40px;
        padding: 0 20px 6px
    }

    .hx_basic03.indent01 {
        padding-left: calc(2.6em + 20px)
    }

    .page_update_article h4 {
        overflow: hidden;
        margin-top: 40px;
        padding: 0 20px 6px
    }

    .hx_basic04 {
        margin-top: 40px
    }

    .contents_body>.hx_basic04 {
        margin-right: 20px;
        margin-left: 20px
    }

    .page_update_article h5 {
        margin-top: 40px
    }

    .page_update_article .contents_body>h5 {
        margin-right: 20px;
        margin-left: 20px
    }

    .hx_basic05 {
        margin-top: 40px
    }

    .contents_body>.hx_basic05 {
        margin-right: 20px;
        margin-left: 20px
    }

    .page_update_article h6 {
        margin-top: 40px
    }

    .page_update_article .contents_body>h6 {
        margin-right: 20px;
        margin-left: 20px
    }

    .bnr_list {
        gap: 20px;
        letter-spacing: -0.4em
    }

    .contents_body .bnr_list {
        margin-top: 80px
    }

    .bnr_list>li {
        display: inline-block;
        vertical-align: middle;
        letter-spacing: normal
    }

    .bl_faqList_question {
        padding-left: 48px
    }

    .bl_faqList_question .el_toggleArrow {
        display: none
    }

    .bl_faqList_answer {
        margin-top: 20px;
        padding-left: 48px
    }

    .btn_list01 {
        display: flex;
        flex-wrap: wrap
    }

    .contents_body .btn_list01 {
        margin-right: 0;
        margin-left: 0
    }

    .page_home .contents_body .btn_list01.col4 {
        justify-content: center
    }

    .btn_list01 a {
        transition: all .3s ease-in-out
    }

    .btn_list01 a:hover dd::before {
        background: rgba(21, 108, 183, .15)
    }

    .btn_list01 dl {
        display: flex;
        height: 100%;
        flex-direction: column
    }

    .btn_list01 dt {
        flex-grow: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px 10px;
        line-height: 1.2
    }

    .btn_list01 dt::after {
        transition: all .3s ease-in-out
    }

    .btn_list01 dd {
        flex-shrink: 0
    }

    .btn_list01 dd::before {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: none;
        transition: background .3s ease-in-out
    }

    .btn_list01.col3 li {
        width: 31.4%
    }

    .btn_list01.col3>:not(:nth-child(3n)) {
        margin-right: 2.9%
    }

    .btn_list01.col3>:nth-child(n+4) {
        margin-top: 2.9%
    }

    .btn_list01.col4 li {
        width: 23.5%
    }

    .btn_list01.col4>:not(:nth-child(4n)) {
        margin-right: 2%
    }

    .btn_list01.col4>:nth-child(n+5) {
        margin-right: 2%
    }

    .page_home .contents_body .btn_list01.col4>:last-child {
        margin-right: 0
    }

    .btn_list01.color_type01 a:hover {
        background: #e3eef7
    }

    .btn_list01.color_type02 a:hover {
        color: #fff;
        background: #156cb7
    }

    .btn_list01.color_type02 a:hover dt::after {
        content: "";
        display: block;
        position: absolute;
        border-bottom-color: #fff
    }

    .com_btn01 {
        margin: 30px 20px 0;
        letter-spacing: -0.2em
    }

    .pic_article01 .com_btn01 {
        margin-right: 0;
        margin-left: 0
    }

    .com_btn01 p {
        display: inline-block;
        margin: 0 40px 20px 0;
        letter-spacing: normal
    }

    .com_btn01 a,
    .com_btn01 button {
        padding: 14px 40px;
        min-width: 240px;
        transition: background .3s ease-in-out
    }

    .com_btn01 a:hover,
    .com_btn01 button:hover {
        background: #156cb7
    }

    .com_btn01.color_default a:hover,
    .com_btn01.color_default button:hover {
        background: #156cb7
    }

    .com_btn01.color_pale01 a:hover,
    .com_btn01.color_pale01 button:hover {
        color: #156cb7;
        background: #e3eef7
    }

    .com_btn01 .mw_auto a,
    .com_btn01 .mw_auto button {
        min-width: auto
    }

    .contents_body .full_img {
        margin-right: 0;
        margin-left: 0
    }

    .contents_body .contents_list01 {
        margin: 60px 20px 0
    }

    .contents_list01.col2>li {
        width: 49%
    }

    .contents_list01.col2>:not(:nth-child(2n)) {
        margin-right: 2%
    }

    .contents_list01.col2>:nth-child(n+3) {
        margin-top: 2%
    }

    .contents_list01.col3>li {
        width: 32%
    }

    .contents_list01.col3>:not(:nth-child(3n)) {
        margin-right: 2%
    }

    .contents_list01.col3>:nth-child(n+4) {
        margin-top: 2%
    }

    .contents_list01.col4>li {
        width: 23.5%
    }

    .contents_list01.col4>:not(:nth-child(4n)) {
        margin-right: 2%
    }

    .contents_list01.col4>:nth-child(n+5) {
        margin-top: 2%
    }

    .contents_list01.linear>:nth-child(n+3) {
        margin-top: 40px
    }

    .contents_body .contents_list01.home_insta {
        margin-top: 30px
    }

    .contents_list01.home_insta>:last-child {
        display: none
    }

    .contents_body .img_left,
    .contents_body .img_right {
        margin: 60px 20px 0
    }

    .img_left .in_img.w40,
    .img_right .in_img.w40 {
        width: 40%
    }

    .img_left .in_img.w30,
    .img_right .in_img.w30 {
        width: 30%
    }

    .img_left .in_img img,
    .img_right .in_img img {
        width: 100%;
        height: auto
    }

    .img_left .in_img {
        float: left;
        margin: 0 40px 25px 0
    }

    .img_right .in_img {
        float: right;
        margin: 0 0 25px 40px
    }

    .link_list01 {
        margin: 40px 0 0;
        padding: 0 19px 15px;
        border: 1px solid #ddd
    }

    .link_list01.border_type01 {
        border: 2px solid rgba(0, 80, 126, .2)
    }

    .link_list01 ul {
        display: flex;
        flex-wrap: wrap
    }

    .link_list01.vert ul {
        display: block
    }

    .contents_list01 .link_list01.vert {
        padding-right: 0;
        padding-left: 0
    }

    .link_list01.center ul {
        justify-content: center
    }

    .link_list01.center .txt {
        text-align: center
    }

    .link_list01 li {
        margin: 15px 30px 0 0
    }

    .link_list01.no_border a {
        display: inline-block
    }

    .link_list01 li:not(.current) a::after,
    .link_list01 li:not(.current) a::before {
        transition: opacity .3s ease-in-out
    }

    .link_list01 li:not(.current) a:hover::after,
    .link_list01 li:not(.current) a:hover::before {
        opacity: .5
    }

    .contents_body .marker_list02 {
        margin-top: 10px
    }

    .modal_inner {
        max-width: 1020px;
        margin: 0 15px;
        padding: 20px 20px 35px
    }

    .contents_body .pager01 {
        margin-top: 30px
    }

    .pic_article01 {
        display: flex;
        margin: 60px 20px 0
    }

    .pic_article01.pic_l {
        flex-direction: row-reverse;
        justify-content: flex-end
    }

    .pic_article01 .pic {
        margin-left: 40px
    }

    .pic_article01 .pic.w50 {
        width: 50%
    }

    .pic_article01 .pic.w40 {
        width: 40%
    }

    .pic_article01 .pic.w30 {
        width: 30%
    }

    .pic_article01 .pic.w25 {
        width: 25%
    }

    .pic_article01 .pic.w15 {
        width: 15%
    }

    .pic_article01 .pic img {
        width: 100%;
        height: auto
    }

    .pic_article01.pic_l .pic {
        margin-right: 40px;
        margin-left: 0
    }

    .pic_article01 .txt {
        min-width: 1%;
        flex-grow: 1
    }

    .related_link01 {
        margin-right: 20px;
        margin-left: 20px
    }

    .t_style01 {
        width: calc(100% - 40px)
    }

    .t_style01 th {
        padding: 15px;
        white-space: nowrap
    }

    .t_style01 tbody th {
        padding-right: 20px
    }

    .t_style01 tbody th.th_pc_w25 {
        width: 25%
    }

    .t_style01 tbody th.th_pc_w30 {
        width: 30%
    }

    .t_style01 tbody th.th_pc_w35 {
        width: 35%
    }

    .t_style01 tbody th.th_pc_w40 {
        width: 40%
    }

    .t_style01 tbody th.th_pc_w45 {
        width: 45%
    }

    .t_style01 tbody th.th_pc_w50 {
        width: 50%
    }

    .t_style01 tbody th.th_pc_w55 {
        width: 55%
    }

    .t_style01 tbody th.th_pc_w60 {
        width: 60%
    }

    .t_style01 tbody th.th_pc_w65 {
        width: 65%
    }

    .t_style01 tbody th.th_pc_w70 {
        width: 70%
    }

    .pic_article01 .t_style01.t_staff tbody th {
        width: 30%
    }

    .t_style01.t_sp_schedule {
        display: none
    }

    .t_style01.t_training_sch td span {
        writing-mode: vertical-rl
    }

    .t_style01.t_practice_lecture tbody th {
        width: 4%
    }

    .t_style01.t_childbirth_num {
        table-layout: fixed
    }

    .t_style01.t_childbirth_num th {
        white-space: normal
    }

    .t_style01.t_childbirth_num .month {
        width: 5em
    }

    .scroll_t {
        margin: 0 20px
    }

    .scroll_t table {
        width: 100%
    }

    .contents_body .update_article_date {
        margin-right: 0;
        margin-left: 0
    }

    .update_list01 {
        margin-right: 30px;
        margin-left: 30px
    }

    .update_list01 dl {
        display: flex;
        margin-top: 0;
        padding: 0 34px 14px
    }

    .update_list01 dl+dl {
        margin-top: 14px
    }

    .update_list01 dt {
        flex-shrink: 0;
        width: 6em
    }

    .update_list01 dt .icon_file {
        display: none
    }

    .update_list01 dd {
        margin-top: 3px
    }

    .contents_body .update_list02 {
        display: flex;
        flex-wrap: wrap;
        margin: 60px 20px 0
    }

    .update_list02>li {
        width: 49%;
        padding-bottom: 25px;
        border-bottom: 1px solid #666
    }

    .update_list02>:not(:nth-child(2n)) {
        margin-right: 2%
    }

    .update_list02>:nth-child(n+3) {
        margin-top: 30px
    }

    .update_list02 .update_list02_article:hover {
        opacity: .7
    }

    .update_list02 .thum_ttl {
        width: 65%
    }

    .update_list02 .date {
        margin-top: -0.65em
    }

    .home_mv {
        height: 640px
    }

    .home_mv .catch {
        top: 138px;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        white-space: nowrap
    }

    .home_mv .catch .jp {
        margin-right: -0.5em;
        letter-spacing: .5em
    }

    .home_mv .swiper-wrapper {
        width: 100%;
        height: 640px
    }

    .home_mv .swiper-wrapper .swiper-slide {
        height: 640px
    }

    .home_mv .swiper-wrapper .pic {
        height: 640px
    }

    .home_mv .swiper-wrapper img {
        width: 100%;
        height: 640px
    }

    .swiper-pagination {
        bottom: 100px !important
    }

    .swiper-pagination .swiper-pagination-bullet {
        width: 12px;
        height: 12px
    }

    .swiper-pagination .swiper-pagination-bullet+.swiper-pagination-bullet {
        margin-left: 16px
    }

    .page_home .contents_body>:first-child {
        z-index: 1;
        margin-top: -70px
    }
}

@media print,
screen and (min-width: 768px)and (max-width: 900px) {
    header .logo_txt {
        font-size: 1.7rem
    }

    header .gnav {
        font-size: 1.3rem
    }
}

@media screen and (max-width: 767px) {
    .hx_basic01 .ruby {
        font-size: 1.2rem
    }

    header .gnav_sub a {
        font-size: 1.3rem
    }

    header .logo_txt,
    header .gnav [class^=btn_]>a {
        font-size: 1.4rem
    }

    header .logo_txt .dep,
    .hx_basic02,
    .hx_basic03,
    .page_update_article h3,
    .page_update_article h4 {
        font-size: 1.6rem
    }

    .btn_list01.col4 dt,
    .hx_basic01.student_news_article {
        font-size: 1.7rem
    }

    .home_mv .catch .jp,
    .page_ttl h1,
    .hx_basic01,
    .update_list02 dt {
        font-size: 2rem
    }

    .hx_basic01 .en {
        font-size: 3.2rem
    }

    .home_mv .catch .en {
        font-size: 4.8rem
    }

    a {
        text-underline-position: under
    }

    a[href^="tel:"] {
        text-decoration: underline
    }

    body.page_sub .container {
        padding-top: 60px
    }

    body.show_gnav .container {
        z-index: 0;
        position: fixed
    }

    header .inner {
        height: 60px
    }

    header .inner .logo {
        width: calc(100% - 75px)
    }

    .ie11 header .inner .logo {
        margin-right: 90px
    }

    header .inner .logo .logo_txt {
        margin-right: auto;
        text-align: center;
        line-height: 1.2
    }

    .ie11 header .inner .logo .logo_txt {
        margin-right: 0
    }

    header .inner .logo .logo_img {
        margin-right: auto
    }

    header .inner .logo .logo_img img {
        width: 60px;
        height: auto
    }

    .ie11 header .inner .logo .logo_img {
        margin-right: 2em
    }

    .gnav_wrap {
        display: none;
        position: fixed;
        z-index: 1;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        overflow-y: auto;
        padding: 60px 0 0;
        background: #00507e
    }

    .gnav_wrap.show {
        display: block;
        animation: show01 .4s linear 0s
    }

    .gnav_wrap.hide {
        display: block;
        animation: hide01 .4s linear 0s
    }

    .gnav .btn_home {
        display: none
    }

    .gnav [class^=btn_]>a {
        display: block;
        padding: 10px 22px;
        color: #fff;
        background: rgba(255, 255, 255, .15);
        text-decoration: none
    }

    .gnav [class^=btn_]>a::after {
        position: absolute;
        content: "";
        display: block;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        transform: rotate(45deg);
        top: 50%;
        right: 15px;
        width: 8px;
        height: 8px;
        margin-top: -5px
    }

    .gnav_sub {
        display: flex;
        flex-wrap: wrap
    }

    .gnav_sub li {
        width: 50%
    }

    .gnav_sub a {
        padding: 12px 30px 12px 22px
    }

    .h_btn_ham,
    .btn_close01 {
        position: absolute;
        flex-shrink: 0;
        top: 0;
        right: 0;
        width: 60px;
        height: 60px;
        background: #00507e
    }

    .h_btn_ham::before,
    .h_btn_ham span::before,
    .h_btn_ham span::after,
    .btn_close01::before,
    .btn_close01 span::before,
    .btn_close01 span::after {
        content: "";
        display: block;
        position: absolute;
        top: 22px;
        left: calc(50% - 10px);
        width: 20px;
        height: 1px;
        background: #fff;
        transition: all .2s ease-in-out
    }

    .h_btn_ham span::before,
    .btn_close01 span::before {
        transform: translateY(6px)
    }

    .h_btn_ham span::after,
    .btn_close01 span::after {
        transform: translateY(13px)
    }

    body.show_gnav .h_btn_ham::before,
    body.show_gnav .btn_close01::before {
        opacity: 0;
        transform: translateY(10px)
    }

    body.show_gnav .h_btn_ham span::before,
    body.show_gnav .btn_close01 span::before {
        transform: translateY(9px) rotate(45deg)
    }

    body.show_gnav .h_btn_ham span::after,
    body.show_gnav .btn_close01 span::after {
        transform: translateY(8px) rotate(-45deg)
    }

    .gnav_wrap.hide+.h_btn_ham::before,
    .gnav_wrap.hide .btn_close01::before {
        opacity: 1;
        transform: none
    }

    .gnav_wrap.hide+.h_btn_ham span::before,
    .gnav_wrap.hide .btn_close01 span::before {
        transform: translateY(6px)
    }

    .gnav_wrap.hide+.h_btn_ham span::after,
    .gnav_wrap.hide .btn_close01 span::after {
        transform: translateY(13px)
    }

    .btn_close01 {
        position: absolute;
        top: 0;
        right: 0
    }

    footer {
        padding: 18px 0
    }

    footer address {
        margin: 14px 20px 0;
        line-height: 2
    }

    footer .f_copy {
        margin: 14px 20px 0
    }

    .footer_menu {
        margin-top: 18px;
        border-top: 1px solid #ddd
    }

    .footer_menu li a {
        display: block;
        padding: 1em 12px;
        border-bottom: 1px solid #ddd;
        text-align: center
    }

    .totop {
        right: 15px
    }

    .topic_path {
        width: 100%;
        height: 50px;
        padding: 16px;
        line-height: 1.9
    }

    .topic_path ul {
        overflow: auto;
        width: 100%;
        padding: 1px 0;
        -webkit-overflow-scrolling: touch
    }

    .topic_path li {
        white-space: nowrap
    }

    .topic_path+* {
        margin-top: 32px
    }

    .contents_body dl,
    .contents_body ol,
    .contents_body p,
    .contents_body ul {
        margin-top: 14px
    }

    .contents_body>dl,
    .contents_body>ol,
    .contents_body>p,
    .contents_body>ul,
    .contents_body>table,
    .contents_body form>dl,
    .contents_body form>ol,
    .contents_body form>p,
    .contents_body form>ul,
    .contents_body form>table {
        margin-right: 15px;
        margin-left: 15px
    }

    .mar_t0 {
        margin-top: 0px !important
    }

    .mar_b0 {
        margin-bottom: 0px !important
    }

    .mar_t5 {
        margin-top: 2px !important
    }

    .mar_b5 {
        margin-bottom: 2px !important
    }

    .mar_t10 {
        margin-top: 5px !important
    }

    .mar_b10 {
        margin-bottom: 5px !important
    }

    .mar_t15 {
        margin-top: 7px !important
    }

    .mar_b15 {
        margin-bottom: 7px !important
    }

    .mar_t20 {
        margin-top: 10px !important
    }

    .mar_b20 {
        margin-bottom: 10px !important
    }

    .mar_t25 {
        margin-top: 12px !important
    }

    .mar_b25 {
        margin-bottom: 12px !important
    }

    .mar_t30 {
        margin-top: 15px !important
    }

    .mar_b30 {
        margin-bottom: 15px !important
    }

    .mar_t35 {
        margin-top: 17px !important
    }

    .mar_b35 {
        margin-bottom: 17px !important
    }

    .mar_t40 {
        margin-top: 20px !important
    }

    .mar_b40 {
        margin-bottom: 20px !important
    }

    .mar_t45 {
        margin-top: 22px !important
    }

    .mar_b45 {
        margin-bottom: 22px !important
    }

    .mar_t50 {
        margin-top: 25px !important
    }

    .mar_b50 {
        margin-bottom: 25px !important
    }

    .mar_t55 {
        margin-top: 27px !important
    }

    .mar_b55 {
        margin-bottom: 27px !important
    }

    .mar_t60 {
        margin-top: 30px !important
    }

    .mar_b60 {
        margin-bottom: 30px !important
    }

    .mar_t65 {
        margin-top: 32px !important
    }

    .mar_b65 {
        margin-bottom: 32px !important
    }

    .mar_t70 {
        margin-top: 35px !important
    }

    .mar_b70 {
        margin-bottom: 35px !important
    }

    .mar_t75 {
        margin-top: 37px !important
    }

    .mar_b75 {
        margin-bottom: 37px !important
    }

    .mar_t80 {
        margin-top: 40px !important
    }

    .mar_b80 {
        margin-bottom: 40px !important
    }

    .mar_t85 {
        margin-top: 42px !important
    }

    .mar_b85 {
        margin-bottom: 42px !important
    }

    .mar_t90 {
        margin-top: 45px !important
    }

    .mar_b90 {
        margin-bottom: 45px !important
    }

    .mar_t95 {
        margin-top: 47px !important
    }

    .mar_b95 {
        margin-bottom: 47px !important
    }

    .mar_t100 {
        margin-top: 50px !important
    }

    .mar_b100 {
        margin-bottom: 50px !important
    }

    .pc_only_disp {
        display: none !important
    }

    img:not(.no_adg_img) {
        max-width: 100%;
        width: auto;
        height: auto
    }

    .page_ttl {
        height: 100px
    }

    .hx_basic01 {
        margin: 45px 15px 0
    }

    .contents_body .hx_basic01+*:not(.hx_basic02):not(.contents_list01) {
        margin-top: 34px
    }

    .diseases_lead {
        margin: 45px 15px 0
    }

    .diseases_lead .hx_basic01 {
        margin: 10px 0 0
    }

    .container .contents_body .diseases_lead .hx_basic01+* {
        margin-top: 10px
    }

    .contents_body .diseases_lead+*:not(.hx_basic02) {
        margin-top: 34px
    }

    .hx_basic02 {
        margin-top: 30px;
        padding: 10px 15px
    }

    .page_update_article h3 {
        margin-top: 30px;
        padding: 10px 15px
    }

    .hx_basic03 {
        margin-top: 30px;
        padding: 0 15px 6px
    }

    .hx_basic03.indent01 {
        padding-left: calc(2.6em + 15px)
    }

    .page_update_article h4 {
        margin-top: 30px;
        padding: 0 15px 6px
    }

    .hx_basic04 {
        margin-top: 30px
    }

    .contents_body>.hx_basic04 {
        margin-right: 15px;
        margin-left: 15px
    }

    .page_update_article h5 {
        margin-top: 30px
    }

    .page_update_article .contents_body>h5 {
        margin-right: 15px;
        margin-left: 15px
    }

    .hx_basic05 {
        margin-top: 30px
    }

    .contents_body>.hx_basic05 {
        margin-right: 15px;
        margin-left: 15px
    }

    .page_update_article h6 {
        margin-top: 30px
    }

    .page_update_article .contents_body>h6 {
        margin-right: 15px;
        margin-left: 15px
    }

    .contents_body .bnr_list {
        margin-top: 40px
    }

    .bnr_list {
        gap: 15px 10px;
    }

    .bnr_list li{
        width: calc(50% - 5px);
    }

    .contents_body .bl_faqList dl {
        margin-top: 36px;
        padding-right: 15px;
        padding-left: 15px
    }

    .bl_faqList_question {
        padding: 0 40px 0 40px
    }

    .bl_faqList_question .el_toggleArrow {
        display: block;
        position: absolute;
        top: calc(50% - 10px);
        right: 0;
        width: 20px;
        height: 20px
    }

    .bl_faqList_answer {
        display: none;
        margin-top: 20px;
        padding-left: 40px
    }

    .contents_body .btn_list01.col3 {
        margin-right: 28px;
        margin-left: 28px
    }

    .contents_body .btn_list01.col4 {
        margin-right: 15px;
        margin-left: 15px
    }

    .btn_list01 dt {
        padding: 20px 10px
    }

    .btn_list01.col3 li+li {
        margin-top: 30px
    }

    .btn_list01.col4 {
        display: flex;
        flex-wrap: wrap
    }

    .btn_list01.col4 li {
        width: 49%
    }

    .btn_list01.col4>:not(:nth-child(2n)) {
        margin-right: 2%
    }

    .btn_list01.col4>:nth-child(n+3) {
        margin-top: 30px
    }

    .btn_list01.col4 dd {
        position: relative;
        padding-top: 100%
    }

    .btn_list01.col4 dd img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover;"
    }

    .com_btn01 {
        margin: 30px 40px 0
    }

    .com_btn01 p {
        width: 100%
    }

    .com_btn01 p+p {
        margin-top: 20px
    }

    .com_btn01 a,
    .com_btn01 button {
        width: 100%;
        padding: 19px 20px
    }

    .contents_body .contents_list01 {
        margin: 36px 15px 0
    }

    .contents_list01:not(.linear)>li {
        width: 49%
    }

    .contents_list01:not(.linear)>:not(:nth-child(2n)) {
        margin-right: 2%
    }

    .contents_list01:not(.linear)>:nth-child(n+3) {
        margin-top: 2%
    }

    .contents_list01.linear {
        display: block
    }

    .contents_list01.linear>li+li {
        margin-top: 30px
    }

    .contents_list01.in_contents {
        margin-right: 0;
        margin-left: 0
    }

    .contents_list01.in_contents>li>dl,
    .contents_list01.in_contents>li>ol,
    .contents_list01.in_contents>li>p,
    .contents_list01.in_contents>li>ul,
    .contents_list01.in_contents>li>table {
        margin-right: 15px;
        margin-left: 15px
    }

    .contents_body .contents_list01.home_insta {
        margin-top: 15px
    }

    .contents_body .img_left,
    .contents_body .img_right {
        margin: 40px 15px 0
    }

    .img_left .in_img,
    .img_right .in_img {
        margin-bottom: 1em
    }

    .img_left .hx_basic03,
    .img_right .hx_basic03 {
        margin-right: -15px;
        margin-left: -15px
    }

    .link_list01 {
        margin: 30px 0 0;
        border-top: 1px solid #ddd
    }

    .link_list01.border_type01 {
        border-top: 1px solid rgba(0, 80, 126, .2)
    }

    .link_list01 .txt {
        margin-right: 15px;
        margin-left: 15px
    }

    .link_list01 li {
        padding: 10px 15px;
        border-bottom: 1px solid #ddd
    }

    .link_list01.border_type01 li {
        border-bottom: 1px solid rgba(0, 80, 126, .2)
    }

    .link_list01 a {
        display: block
    }

    .contents_body .marker_list02 {
        margin-top: 4px
    }

    .modal_inner {
        margin: 0 15px;
        padding: 20px 15px 35px
    }

    .pic_article01 {
        margin: 36px 15px 0
    }

    .pic_article01.pic_t {
        display: flex;
        flex-direction: column-reverse
    }

    .pic_article01 .pic {
        margin-top: 20px
    }

    .pic_article01 .pic img {
        display: block;
        margin-right: auto;
        margin-left: auto
    }

    .pic_article01.pic_t .txt {
        margin-top: 20px
    }

    .pic_article01.pic_t .pic {
        margin-top: 0
    }

    .pic_article01 .txt .hx_basic03 {
        margin-right: -15px;
        margin-left: -15px
    }

    .related_link01 {
        margin-right: 15px;
        margin-left: 15px
    }

    .t_style01 {
        width: calc(100% - 30px)
    }

    .t_style01 th {
        padding: 10px
    }

    .t_style01 tbody th.th_sp_w25 {
        width: 25%
    }

    .t_style01 tbody th.th_sp_w30 {
        width: 30%
    }

    .t_style01 tbody th.th_sp_w35 {
        width: 35%
    }

    .t_style01 tbody th.th_sp_w40 {
        width: 40%
    }

    .t_style01 tbody th.th_sp_w45 {
        width: 45%
    }

    .t_style01 tbody th.th_sp_w50 {
        width: 50%
    }

    .t_style01 tbody th.th_sp_w55 {
        width: 55%
    }

    .t_style01 tbody th.th_sp_w60 {
        width: 60%
    }

    .t_style01 tbody th.th_sp_w65 {
        width: 65%
    }

    .t_style01 tbody th.th_sp_w70 {
        width: 70%
    }

    .pic_article01 .t_style01.t_staff tbody th {
        width: 30%
    }

    .t_style01.t_pc_schedule {
        display: none
    }

    .t_style01.t_training_sch {
        width: 100%
    }

    .scroll_t {
        margin: 0 15px;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch
    }

    .scroll_t .scroll_t::-webkit-scrollbar {
        height: 5px
    }

    .scroll_t .scroll_t::-webkit-scrollbar-track {
        background: #f1f1f1
    }

    .scroll_t .scroll_t::-webkit-scrollbar-thumb {
        background: #bcbcbc
    }

    .update_list01 dl {
        margin-top: 0;
        padding: 0 15px 14px
    }

    .update_list01 dl+dl {
        margin-top: 14px
    }

    .update_list01 dt {
        display: flex;
        align-items: center
    }

    .update_list01 dt .icon_file {
        margin-left: auto
    }

    .update_list01 dd {
        margin-top: 8px
    }

    .update_list01 dd .icon_file {
        display: none
    }

    .contents_body .update_list02 {
        margin: 36px 15px 0
    }

    .update_list02>li+li {
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px solid #666
    }

    .update_list02 .thum_ttl {
        width: 60%
    }

    .update_list02 .date {
        margin-top: -0.2em
    }

    .home_mv {
        height: 320px
    }

    .home_mv .catch {
        top: 70px;
        left: 10px
    }

    .home_mv .swiper-wrapper {
        height: 320px
    }

    .home_mv .swiper-wrapper .swiper-slide {
        height: 320px
    }

    .home_mv .swiper-wrapper .pic {
        height: 320px
    }

    .home_mv .swiper-wrapper img {
        width: auto;
        height: 320px
    }

    .swiper-pagination .swiper-pagination-bullet {
        width: 8px;
        height: 8px
    }

    .swiper-pagination .swiper-pagination-bullet+.swiper-pagination-bullet {
        margin-left: 8px
    }

    .page_home .contents_body>:first-child {
        margin-right: 0;
        margin-left: 0;
        padding: 15px;
        background: #f5f5f5
    }

    .home_catch {
        padding: 0 15px
    }

    .page_update_article .mt-image-left,
    .page_update_article .mt-image-center,
    .page_update_article .mt-image-right {
        display: block;
        float: none !important;
        text-align: center;
        margin: 0 auto 10px !important
    }

    .page_update_article br+br {
        display: none
    }

    .pic_staff img {
        max-width: 140px;
    }
}

@media print,
screen and (min-width: 768px)and (max-width: 1150px) {
    header .inner .logo .logo_txt br {
        display: block !important
    }
}

@media print,
screen and (min-width: 768px)and (max-width: 1000px) {
    .gnav [class^=btn_]>a {
        padding: 0 10px
    }

    .gnav_sub {
        width: 150px
    }
}

@media print,
screen and (min-width: 1281px) {
    .totop {
        right: calc(50% - 640px)
    }
}

@media print,
screen and (min-width: 768px)and (max-width: 1070px) {
    .contents_body img:not(.no_adg_img) {
        max-width: 100%;
        width: auto;
        height: auto
    }

    .contents_list01 img {
        max-width: initial;
        width: 100%
    }

    .update_list02 img {
        max-width: initial;
        width: 100%
    }
}

@media print {
    header {
        position: relative;
        box-shadow: none
    }

    header .inner .logo .logo_txt br {
        display: none !important
    }

    .container {
        display: block !important;
        padding-top: 0
    }

    .gnav_wrap,
    .totop,
    .topic_path {
        display: none
    }

    .t_style01 th {
        white-space: normal
    }

    .t_style01.t_training_sch td span {
        writing-mode: inherit
    }
}

/**
 * Swiper 12.1.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 13, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}