@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans|Noto+Sans+JP:300,400,500,700|Roboto+Condensed:400,400i,700,700i&display=swap&subset=japanese);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP|Sawarabi+Mincho&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Lato&display=swap);
*, :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}
html {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: 0 0;
    font-size: 62.5%;
    width: 100%;
    height: 100%;
    font-family: sans-serif
}
body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: #000;
    line-height: 1.5;
    vertical-align: baseline;
    letter-spacing: .1em;
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    background-color: transparent;
    font-size: 1.4rem;
    height: 100%;
    font-feature-settings: "palt"
}
abbr, address, article, aside, audio, b, blockquote, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
    font-weight: 400
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, textarea {
    display: block
}
ul {
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding: 0
}
ul li {
    margin: 0;
    padding: 0;
    list-style: none
}
ol {
    list-style: decimal;
    list-style-position: inside
}
ol li {
    margin-bottom: 5px
}
li img {
    vertical-align: bottom
}
div img {
    vertical-align: bottom
}
caption, th {
    text-align: left
}
q:after, q:before {
    content: ""
}
:link img, :visited img, a img {
    border: none
}
blockquote, q {
    quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
    content: "";
    content: none
}
strong {
    font-weight: 700
}
del {
    text-decoration: line-through
}
input, select {
    vertical-align: middle
}
abbr[title], dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
ins {
    background-color: #dfdfdf;
    color: #000;
    text-decoration: none
}
mark {
    background-color: #dfdfdf;
    color: #000;
    font-style: italic;
    font-weight: 700
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #dfdfdf;
    margin: 1em 0;
    padding: 0
}
input::-webkit-input-placeholder {
    color: #666;
    font-size: 14px;
    font-size: 1.4rem
}
input:-moz-placeholder {
    color: #666;
    font-size: 14px;
    font-size: 1.4rem
}
img {
    margin: 0;
    padding: 0
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
    cursor: pointer;
    outline: 0;
    text-decoration: none
}
a:link {
    text-decoration: none;
    color: #363636
}
a:visited {
    text-decoration: underline;
    color: #363636
}
a:active, a:focus {
    opacity: .7;
    outline: 0
}
a:hover {
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    opacity: .7
}
body {
    width: 100%;
    height: 100%;
    background: #fff
}
.clear {
    clear: both
}
.hide-content {
    display: none
}
.mb-object {
    display: none !important
}
.mb-object_fl {
    display: none !important
}
.pc-object {
    display: block !important
}
.pc-object_fl {
    display: flex !important
}
@media screen and (max-width:768px) {
    .mb-object {
        display: block !important
    }
    .mb-object_fl {
        display: flex !important
    }
    .pc-object {
        display: none !important
    }
    .pc-object_fl {
        display: none !important
    }
}
h3.section-title {
    margin: 0 0 2vw
}
h3.section-title span {
    display: inline-block;
    position: relative;
    font-size: 2rem;
    font-weight: 500;
    padding: 0 30px
}
h3.section-title span::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    background: #b9575e;
    width: 20px;
    height: 100%;
    border-radius: 8px 0 0 8px;
    transform: translateY(-50%)
}
h3.section-title span::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 0;
    background: #007d85;
    width: 20px;
    height: 100%;
    border-radius: 0 8px 8px 0;
    transform: translateY(-50%)
}
h3.section-title.pink span::after {
    background: #b9575e
}
h3.section-title.blue span::before {
    background: #007d85
}
h4.bar-title {
    color: #b98c57;
    position: relative;
    padding-left: 20px;
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 1.5vh
}
h4.bar-title::before {
    position: absolute;
    width: 10px;
    height: 100%;
    top: 0;
    left: 0;
    content: "";
    background: #b98c57
}
h4.bar-title.pink {
    color: #b9575e
}
h4.bar-title.pink::before {
    background: #b9575e
}
h4.bar-title.blue {
    color: #007d85
}
h4.bar-title.blue::before {
    background: #007d85
}
h1.column-title {
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: .2em;
    line-height: 1.5em;
    padding: .8em 0;
    border-top: solid 3px #b9575e;
    border-bottom: solid 3px #007d85;
    margin-bottom: 3vw
}
.paragraph {
    display: block;
    margin-bottom: 3vh;
    font-size: 1.5rem;
    line-height: 1.9
}
.paragraph.small-text {
    font-size: 1.3rem;
    line-height: 1.7
}
.paragraph.align-right {
    text-align: right
}
.paragraph.align-center {
    text-align: center
}
.paragraph a {
    font-weight: 500;
    color: #b98c57;
    text-decoration: underline
}
span.text_bold {
    font-weight: 600;
    display: inline
}
.video-content-wrap {
    width: 100%;
    padding: 4% 12%;
    background: #222;
    margin: 0 auto 5vh
}
.video-content-wrap video {
    width: 100%
}
table.table_std {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 3vh
}
table.table_std td, table.table_std th {
    border-bottom: 3px solid #fff;
    padding: 10px;
    font-size: 1.5rem;
    text-align: left;
    vertical-align: middle;
    border-right: 3px solid #fff
}
table.table_std td.al_left, table.table_std th.al_left {
    text-align: left
}
table.table_std td.al_center, table.table_std th.al_center {
    text-align: center
}
table.table_std td.al_right, table.table_std th.al_right {
    text-align: right
}
table.table_std td:last-child, table.table_std th:last-child {
    border-right: none
}
table.table_std td.r-border, table.table_std th.r-border {
    border-right: 4px solid #fff
}
table.table_std td>:last-child, table.table_std th>:last-child {
    margin-bottom: 0
}
table.table_std th {
    color: #fff;
    text-align: center;
    background: #b98c57;
    font-weight: 500
}
table.table_std td {
    color: #000;
    text-align: left;
    background: rgba(185, 140, 87, .4)
}
table.table_std td.center {
    text-align: center
}
table.table_std.pink th {
    background: #b9575e
}
table.table_std.pink td {
    background: rgba(185, 87, 94, .4)
}
table.table_std.blue th {
    background: #007d85
}
table.table_std.blue td {
    background: rgba(0, 125, 133, .4)
}
.table_res {
    width: auto
}
a.link_btn {
    display: flex;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    width: 100%;
    min-height: 60px;
    padding: 15px 60px 15px 20px;
    margin: 2vh 0 3vh;
    border: 2px solid #b98c57;
    position: relative;
    color: #b98c57;
    font-size: 1.6rem;
    background: #fff;
    font-weight: 500
}
a.link_btn.pink {
    border: 2px solid #b9575e;
    color: #b9575e
}
a.link_btn.pink::before {
    background: #b9575e
}
a.link_btn.blue {
    border: 2px solid #007d85;
    color: #007d85
}
a.link_btn.blue::before {
    background: #007d85
}
a.link_btn::before {
    content: "";
    width: 50px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: #b98c57
}
a.link_btn::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff
}
a.link_btn.center {
    -webkit-justify-content: center;
    justify-content: center
}
a.link_btn.half {
    width: 48%
}
a[target=_blank].link_btn::after {
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    background: url(../images/common/btn-blank.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 13px;
    transform: unset;
    transform: translateY(-50%);
    border-top: none;
    border-right: none
}
a[href$=".pdf"].link_btn::after {
    content: "PDF";
    display: block;
    width: 50px;
    text-align: center;
    height: auto;
    position: absolute;
    font-size: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    font-family: Lato, sans-serif;
    color: #fff;
    background: unset;
    background-size: unset;
    border-top: none;
    border-right: none
}
.anchor-link {
    margin-top: -6vw;
    padding-top: 6vw;
    font-size: 0;
    line-height: 0;
    pointer-events: none
}
@media screen and (max-width:768px) {
    h3.section-title {
        margin: 0 0 20px
    }
    h3.section-title span {
        font-size: 1.8rem;
        line-height: 1.4;
        padding: 0 25px
    }
    h3.section-title span::before {
        width: 15px;
        border-radius: 6px 0 0 6px
    }
    h3.section-title span::after {
        width: 15px;
        border-radius: 0 6px 6px 0
    }
    h4.bar-title {
        padding-left: 15px;
        font-size: 1.5rem;
        line-height: 1.4;
        margin-bottom: 15px
    }
    h4.bar-title::before {
        width: 7px
    }
    table.table_std.mb-flex-content tr {
        display: flex;
        flex-direction: column
    }
    table.table_std.mb-flex-content tr td, table.table_std.mb-flex-content tr th {
        width: 100%;
        font-size: 1.3rem;
        border-right: 0;
        border-bottom: 0
    }
    table.table_std.mb-flex-content tr td {
        border-bottom: 3px solid #fff
    }
    .table_res {
        width: 100%;
        overflow-x: auto
    }
    .table_res table {
        width: 1000px
    }
    a.link_btn {
        margin: 10px 0 15px;
        font-size: 1.5rem
    }
    .anchor-link {
        margin-top: -80px;
        padding-top: 80px;
        font-size: 0;
        line-height: 0;
        pointer-events: none
    }
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: .1em
}
.content-wrap {
    width: 100%;
    min-height: 100vh;
    background: #fff;
    padding: 0 0 5vh
}
.content-section {
    width: 100%;
    margin: 0 auto 12vh
}
.content-section.mb0 {
    margin-bottom: 0;
    position: relative;
    z-index: -1
}
.content-inner {
    width: 80%;
    margin: 0 auto 8vh
}
.content-inner.wd100 {
    padding: 0 0 6vh
}
.content-inner.bg-gray {
    background: #eaeaea
}
html {
    margin-top: 0 !important
}
header {
    position: fixed;
    width: 100%;
    z-index: 999;
    height: 6vw;
    background: #fff;
    box-shadow: 0 0 15px -5px #777
}
header .header-content {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 0 2vw;
    background: #fff
}
header .header-content .header-logo {
    height: 100%;
    width: 25vw;
    position: relative
}
header .header-content .header-logo a {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}
header .header-content .header-logo a img {
    width: 100%
}
header .header-content .subnavi-wrap {
    display: flex;
    align-items: end;
    flex-direction: column;
    justify-content: center
}
header .header-content .subnavi-wrap .targetnavi-list {
    display: flex
}
header .header-content .subnavi-wrap .targetnavi-list li {
    width: fit-content;
    position: relative
}
header .header-content .subnavi-wrap .targetnavi-list li::before {
    position: absolute;
    content: "";
    height: 60%;
    width: 1px;
    background: #000;
    top: 50%;
    transform: translateY(-50%);
    right: 0
}
header .header-content .subnavi-wrap .targetnavi-list li a {
    display: block;
    width: 100%;
    font-size: clamp(1rem, 1.2vw, 1.6rem);
    font-weight: 500;
    padding: 0 1vw
}
header .header-content .subnavi-wrap .targetnavi-list li:last-child a {
    padding-right: 0
}
header .header-content .subnavi-wrap .targetnavi-list li:last-child::before {
    display: none
}
header .header-content .subnavi-wrap .subnavi-list {
    display: flex;
    border: 1px solid #000
}
header .header-content .subnavi-wrap .subnavi-list li {
    width: fit-content
}
header .header-content .subnavi-wrap .subnavi-list li a {
    font-size: clamp(.8rem, 1vw, 1.4rem);
    padding: 0 .5em;
    display: block;
    width: 100%;
    border-right: 1px solid #000;
    position: relative;
    line-height: 1.8
}
header .header-content .subnavi-wrap .subnavi-list li:last-child a {
    border-right: none
}
header .header-content .header-btn {
    position: relative;
    cursor: pointer;
    width: 4vw;
    height: 6vw
}
header .header-content .header-btn span {
    background: #424e54;
    display: inline-block;
    transition: all .4s;
    position: absolute;
    right: 0;
    height: 2px
}
header .header-content .header-btn span:nth-of-type(1) {
    top: 2vw;
    width: 100%
}
header .header-content .header-btn span:nth-of-type(2) {
    top: 3vw;
    width: 70%
}
header .header-content .header-btn span:nth-of-type(3) {
    top: 4vw;
    width: 40%
}
header .header-content .header-btn.is-show span:nth-of-type(1) {
    top: 33px;
    left: 12px;
    transform: translateY(6px) rotate(-135deg);
    width: 80%
}
header .header-content .header-btn.is-show span:nth-of-type(2) {
    opacity: 0
}
header .header-content .header-btn.is-show span:nth-of-type(3) {
    top: 45px;
    left: 12px;
    transform: translateY(-6px) rotate(135deg);
    width: 80%
}
header .header-link-box {
    position: fixed;
    z-index: 1;
    top: -120%;
    left: 0;
    transition: all .6s;
    background: #fff;
    width: 100%;
    padding: 3vw 8vw
}
header .header-link-box .header-main-link {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}
header .header-link-box .header-main-link>li {
    width: 30%;
    margin-bottom: 4.5vh
}
header .header-link-box .header-main-link>li p {
    font-size: clamp(1.5rem, 1.6vw, 3rem);
    color: #b98c57;
    margin-bottom: 1vh;
    font-weight: 700;
    padding-bottom: 1vh;
    border-bottom: 1px solid #b98c57;
    display: flex;
    align-items: end;
    height: 6vh;
    line-height: 1.2
}
header .header-link-box .header-main-link>li p.blue {
    border-bottom: 1px solid #007d85;
    color: #007d85
}
header .header-link-box .header-main-link>li p.pink {
    border-bottom: 1px solid #b9575e;
    color: #b9575e
}
header .header-link-box .header-main-link>li .main-link-list>li a {
    width: 100%;
    display: block;
    font-size: clamp(1.1rem, 1.1vw, 1.6rem);
    color: #424e54;
    line-height: 1.8
}
header .header-link-box .header-main-link>li.subnavi-wrap-res {
    display: none
}
header .header-link-box .header-sub-link {
    display: flex;
    flex-wrap: wrap;
    width: 70%
}
header .header-link-box .header-sub-link li {
    padding-right: 2vw;
    padding-bottom: 2vh
}
header .header-link-box .header-sub-link li a {
    color: #007d85;
    font-size: 1.4rem;
    font-weight: 600
}
header .header-link-box .header-sns-link {
    position: absolute;
    top: 6vh;
    right: 2vw
}
header .header-link-box .header-sns-link li {
    width: 50%;
    margin: 0 auto;
    padding-bottom: 2vh
}
header .header-link-box .header-sns-link li a img {
    width: 100%
}
header .header-link-box.is-show {
    position: fixed;
    top: 6vw;
    width: 100vw;
    height: calc(100vh - 6vw);
    overflow: auto
}
header .top-fixed-navi {
    position: fixed;
    top: 16vh;
    z-index: 0;
    right: 0
}
header .top-fixed-navi li {
    animation-name: fadeRightAnime;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    opacity: 0;
    animation-delay: 1s
}
header .top-fixed-navi li a {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px 0 0 10px;
    box-shadow: 0 0 16px -7px #777;
    height: 200px;
    width: 55px;
    padding: 1.2em .6em;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.5;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}
header .top-fixed-navi li:nth-of-type(1) {
    margin-bottom: 1vh
}
header .top-fixed-navi li:nth-of-type(1) a {
    background: #b98c57
}
header .top-fixed-navi li:nth-of-type(2) {
    margin-bottom: 1vh
}
header .top-fixed-navi li:nth-of-type(2) a {
    height: 130px;
    background: #007d85
}
header .top-fixed-navi li:nth-of-type(3) a {
    height: 130px;
    background: #b9575e
}
header .top-fixed-navi.oc {
    top: 13vh
}
header .top-fixed-navi.oc li a {
    padding: .6em 1.6em;
    height: auto;
    -ms-writing-mode: unset;
    writing-mode: unset;
    border-radius: 10px 0 0 10px;
    background: #b98c57
}
header .top-fixed-btn {
    position: fixed;
    bottom: 0;
    z-index: 0;
    left: 0
}
header .top-fixed-btn li {
    animation-name: fadeLeftAnime;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    opacity: 0;
    animation-delay: 1s
}
header .top-fixed-btn li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 190px;
    padding: 1em 1.2em;
    border-radius: 0 10px 0 0;
    box-shadow: 0 0 16px -7px #777;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    font-weight: 700;
    background: url(../images/mainvisual/mainvisual_about03.jpg) no-repeat center center;
    background-size: cover;
    z-index: 0;
    position: relative
}
header .top-fixed-btn li a::before {
    background: #b98c57;
    position: absolute;
    border-radius: 0 10px 0 0;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    z-index: -1
}
.page-head {
    width: 100%;
    padding: 6vw 0 0;
    margin-bottom: 8vh
}
.page-head .mainvisual {
    background: grey;
    width: calc(100% - 5px);
    height: 30vw;
    margin: 0 0 0 auto;
    position: relative
}
.about .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about01.jpg) no-repeat center center;
    background-size: cover
}
.about.disclosure .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about07_2026.jpg) no-repeat center center;
    background-size: cover
}
.about.access .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about08.jpg) no-repeat center center;
    background-size: cover
}
.about.alumni .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about09_2026.jpg) no-repeat center center;
    background-size: cover
}
.about.faq .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about10_2026.jpg) no-repeat center center;
    background-size: cover
}
.news .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about01.jpg) no-repeat center center;
    background-size: cover
}
.about.reason .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about03_2026.jpg) no-repeat center center;
    background-size: cover
}
.about.future .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about05_2026.jpg) no-repeat center center;
    background-size: cover
}
.about.relation .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about11.jpg) no-repeat center center;
    background-size: cover
}
.physical-therapy .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_physical-therapy01_2026.jpg) no-repeat center center;
    background-size: cover
}
.physical-therapy.pt-curriculum .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_physical-therapy02_2026.jpg) no-repeat center center;
    background-size: cover
}
.physical-therapy.pt-results .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_physical-therapy03_2026.jpg) no-repeat center center;
    background-size: cover
}
.physical-therapy.pt-expenses .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_physical-therapy04_2026.jpg) no-repeat center center;
    background-size: cover
}
.physical-therapy.pt-exam .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_physical-therapy05_2026.jpg) no-repeat center center;
    background-size: cover
}
.nurse .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_nurse01.jpg) no-repeat center center;
    background-size: cover
}
.nurse.nr-about .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_nurse02_2026.jpg) no-repeat center center;
    background-size: cover
}
.nurse.nr-curriculum .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_nurse03_2026.jpg) no-repeat center center;
    background-size: cover
}
.nurse.nr-results .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_nurse04_2026.jpg) no-repeat center center;
    background-size: cover
}
.nurse.nr-expenses .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_nurse05_2026.jpg) no-repeat center center;
    background-size: cover
}
.nurse.nr-exam .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_nurse06_2026.jpg) no-repeat center center;
    background-size: cover
}
.admission .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_admission01.jpg) no-repeat center center;
    background-size: cover
}
.support .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_support01_2026.jpg) no-repeat center center;
    background-size: cover
}
.support.national-exam .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_support02_2026.jpg) no-repeat center center;
    background-size: cover
}
.support.employment .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_support03_2026.jpg) no-repeat center center;
    background-size: cover
}
.support.tuition .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_support04_2026.jpg) no-repeat center center;
    background-size: cover
}
.support.facilities .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_support06_2026.jpg) no-repeat center center;
    background-size: cover
}
.open-campus .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_oc01.jpg) no-repeat center center;
    background-size: cover
}
.student .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_about01.jpg) no-repeat center center;
    background-size: cover
}
.information .page-head .mainvisual {
    background: url(../images/mainvisual/mainvisual_information.jpg) no-repeat center center;
    background-size: cover
}
.page-head .mainvisual h1.page-title {
    position: absolute;
    bottom: 4vw;
    left: 4vw
}
.page-head .mainvisual h1.page-title .catname {
    font-family: "Josefin Sans", sans-serif;
    color: #fff;
    font-size: clamp(1.8rem, 1.8vw, 3rem);
    text-transform: uppercase;
    padding-bottom: .3em;
    margin-bottom: .3em;
    position: relative
}
.page-head .mainvisual h1.page-title .catname::before {
    position: absolute;
    content: "";
    width: 3vw;
    height: 1px;
    background: #fff;
    bottom: 0;
    left: 0
}
.page-head .mainvisual h1.page-title .pagetitle {
    color: #fff;
    font-size: clamp(2rem, 2vw, 4rem);
    font-weight: 500
}
.page-head .mainvisual::before {
    position: absolute;
    content: "";
    width: 60vw;
    height: 20vw;
    bottom: 2vw;
    left: 2vw;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff
}
.page-head .mainvisual::after {
    position: absolute;
    content: "";
    width: 50vw;
    height: 20vw;
    top: 2vw;
    right: 2vw;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff
}
.page-head .mainvisual .left-border {
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%
}
.page-head .mainvisual .left-border::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    top: 0;
    left: -5px;
    background: #b9575e
}
.page-head .mainvisual .left-border::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    bottom: 0;
    left: -5px;
    background: #007d85
}
.page-head .mainvisual .left-border.pink::before {
    background: #b9575e;
    height: 100%
}
.page-head .mainvisual .left-border.pink::after {
    display: none
}
.page-head .mainvisual .left-border.blue::before {
    background: #007d85;
    height: 100%
}
.page-head .mainvisual .left-border.blue::after {
    display: none
}
.page-head .breadcrumb {
    display: flex;
    padding: 1vw 2vw;
    -webkit-align-items: center;
    align-items: center;
    border-bottom: 1px solid
}
.page-head .breadcrumb li {
    font-size: 1.4rem
}
.page-head .breadcrumb li a {
    position: relative;
    padding: 0 2em;
    display: block
}
.page-head .breadcrumb li a::after {
    content: "＞";
    position: absolute;
    right: .2em;
    top: 50%;
    line-height: 1;
    font-size: 1.2em;
    transform: translateY(-50%) scaleX(.6)
}
.page-head .breadcrumb li.current {
    color: #424e54
}
.page-head .page-lead {
    padding: 4vw 0;
    background: #b98c57
}
.page-head .page-lead.pink {
    background: #b9575e
}
.page-head .page-lead.blue {
    background: #007d85
}
.page-head .page-lead p {
    width: 80%;
    margin: 0 auto;
    color: #fff
}
.page-head .page-lead p.lead-text {
    font-weight: 500;
    margin-bottom: 1.5vh;
    text-align: center;
    letter-spacing: .2em;
    font-size: 3rem
}
.oc-link-content {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 6vh 0 10vh
}
.oc-link-content a {
    width: 40vw;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2vh 2vw;
    background: #007d85
}
.oc-link-content a figure {
    width: 20%
}
.oc-link-content a figure img {
    width: 100%
}
.oc-link-content a .oc-linkbtn-box {
    width: 70%
}
.oc-link-content a .oc-linkbtn-box .oc-linkbtn-title {
    font-size: 3rem;
    font-weight: 600;
    padding-bottom: 5px;
    color: #fff
}
.oc-link-content a .oc-linkbtn-box .oc-linkbtn-text {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .5em;
    position: relative;
    color: #fff
}
.oc-link-content a .oc-linkbtn-box .oc-linkbtn-text::before {
    content: "";
    position: absolute;
    background: url(../images/top/top-arrow03.png) no-repeat center center;
    background-size: cover;
    width: 60px;
    height: 10px;
    top: 50%;
    right: 1vw;
    transform: translateY(-50%)
}
footer .footer-content {
    background: linear-gradient(90deg, #007d85 0, #007d85 50%, #b9575e 50%, #b9575e 100%);
    padding: 6vh 0
}
footer .footer-content .footer-sns-link {
    width: 20%;
    margin: 0 auto;
    padding-bottom: 3vh;
    display: flex;
    justify-content: space-between
}
footer .footer-content .footer-sns-link li {
    width: 20%
}
footer .footer-content .footer-sns-link li a {
    display: block
}
footer .footer-content .footer-sns-link li a img {
    width: 100%
}
footer .footer-content .footer-link-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-bottom: 2vh
}
footer .footer-content .footer-link-list li {
    padding: 0 2vw;
    border-right: solid 2px #fff;
    line-height: 1
}
footer .footer-content .footer-link-list li a {
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: .2em;
    font-weight: 500
}
footer .footer-content .footer-link-list li:first-child {
    border-left: solid 2px #fff
}
footer .footer-content .footer-copyright {
    text-align: center;
    font-size: 1.6rem;
    padding: 2vh 0;
    font-weight: 500;
    color: #fff
}
.page-top {
    display: block;
    width: 50px;
    margin: 0 auto
}
.page-top img {
    width: 100%
}
@keyframes fadeLeftAnime {
    from {
        opacity: 0;
        transform: translateX(-100%)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}
@keyframes fadeRightAnime {
    from {
        opacity: 0;
        transform: translateX(100%)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}
.slide-up {
    opacity: 0
}
.is-show .slide-up {
    animation: section_fade_in .8s ease-in-out both
}
@keyframes section_fade_in {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }
    100% {
        opacity: 1;
        transform: translateY(0)
    }
}
.slide-up02 {
    opacity: 0
}
.is-show .slide-up02 {
    animation: section_fade_in .3s ease-in-out both;
    transition-delay: .2s
}
@keyframes section_fade_in {
    0% {
        opacity: .8;
        transform: translateY(100px)
    }
    100% {
        opacity: 1;
        transform: translateY(0)
    }
}
.page-main-visual {
    width: 100%;
    height: calc(100vh - 80px);
    background: #999;
    margin-top: 80px
}
.survey .page-main-visual {
    background: url(../images/mainvisual/mainvisual-img01.jpg) no-repeat center center;
    background-size: cover
}
.network .page-main-visual {
    background: url(../images/mainvisual/mainvisual-img02.jpg) no-repeat center center;
    background-size: cover
}
h4.bg-title {
    width: 100%;
    display: block;
    padding: 10px 15px;
    border-radius: 5px;
    background: #b98c57;
    color: #fff;
    font-size: 2rem;
    margin-bottom: 20px
}
h4.bg-title.pt {
    background: #007d85
}
h4.bg-title.nr {
    background: #b9575e
}
.top-news-list li a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2vh
}
.top-news-list li a .news-img {
    width: 30%
}
.top-news-list li a .news-img img {
    width: 100%
}
.top-news-list li a .news-text {
    width: 67%
}
.top-news-list li a .news-text.w100 {
    width: 100%
}
.top-news-list li a .news-text .category {
    margin-bottom: 1vh
}
.top-news-list li a .news-text .category .new {
    background: #000;
    color: #fff;
    font-size: 1.1rem;
    padding: .3em .5em 0;
    margin-right: .5em;
    display: inline-block;
    line-height: 1.8;
    font-family: "Josefin Sans", sans-serif
}
.top-news-list li a .news-text .category .category-text {
    background: #424e54;
    color: #fff;
    font-size: 1.3rem;
    padding: 0 .8em;
    border-radius: 20px;
    display: inline-block;
    line-height: 1.8
}
.top-news-list li a .news-text .category .category-text.pt {
    background: #007d85
}
.top-news-list li a .news-text .category .category-text.nr {
    background: #b9575e
}
.top-news-list li a .news-text .date {
    font-size: 1.6rem;
    color: #424e54
}
.top-news-list li a .news-text .text {
    font-size: 1.5rem;
    color: #424e54
}
.news_panel {
    display: none;
    width: 90%;
    margin: 0 auto 5vh
}
.news_panel.active {
    display: block
}
.news_panel .top-news-list li a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2vh
}
.news_panel .top-news-list li a .news-img {
    width: 30%
}
.news_panel .top-news-list li a .news-img img {
    width: 100%
}
.news_panel .top-news-list li a .news-text {
    width: 67%
}
.news_panel .top-news-list li a .news-text .category {
    margin-bottom: 1vh
}
.news_panel .top-news-list li a .news-text .category .new {
    background: #000;
    color: #fff;
    font-size: 1.1rem;
    padding: .3em .5em 0;
    margin-right: .5em;
    display: inline-block;
    line-height: 1.8;
    font-family: "Josefin Sans", sans-serif
}
.news_panel .top-news-list li a .news-text .category .category-text {
    background: #424e54;
    color: #fff;
    font-size: 1.3rem;
    padding: 0 .8em;
    border-radius: 20px;
    display: inline-block;
    line-height: 1.8
}
.news_panel .top-news-list li a .news-text .category .category-text.pt {
    background: #007d85
}
.news_panel .top-news-list li a .news-text .category .category-text.nr {
    background: #b9575e
}
.news_panel .top-news-list li a .news-text .date {
    font-size: 1.6rem;
    color: #424e54
}
.news_panel .top-news-list li a .news-text .text {
    font-size: 1.5rem;
    color: #424e54
}
.post-password-form {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}
.post-password-form p {
    display: block;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 30px
}
.post-password-form p input {
    height: 40px
}
.post-password-form p:nth-of-type(1) {
    position: relative
}
.post-password-form p:nth-of-type(1)::after {
    content: "";
    position: absolute;
    top: -7vw;
    left: 50%;
    transform: translateX(-50%);
    width: 29vw;
    height: 5vw;
    background: url(../images/common/logo-img.png) no-repeat center center;
    background-size: cover
}
@media screen and (max-width:768px) {
    .content-wrap {
        padding: 0
    }
    .content-inner {
        width: 90%;
        margin: 0 auto 40px
    }
    .content-inner.wd100 {
        padding: 0 0 30px
    }
    header {
        height: 80px
    }
    header .header-content .header-logo {
        width: calc(98vw - 80px)
    }
    header .header-content .subnavi-wrap {
        display: none
    }
    header .header-content .header-btn {
        width: 40px;
        height: 60px;
        margin: 10px 10px 0 0
    }
    header .header-content .header-btn span:nth-of-type(1) {
        top: 20px
    }
    header .header-content .header-btn span:nth-of-type(2) {
        top: 30px
    }
    header .header-content .header-btn span:nth-of-type(3) {
        top: 40px
    }
    header .header-content .header-btn.is-show span:nth-of-type(1) {
        top: 20px
    }
    header .header-content .header-btn.is-show span:nth-of-type(3) {
        top: 32px
    }
    header .header-link-box {
        top: 80px;
        left: 120vw;
        opacity: 0;
        padding: 0
    }
    header .header-link-box .header-main-link>li {
        width: 100%;
        margin-bottom: 0
    }
    header .header-link-box .header-main-link>li p {
        cursor: pointer;
        font-size: 1.8rem;
        color: #fff;
        margin-bottom: 0;
        padding: 15px 5vw;
        border-bottom: 1px solid #fff;
        background: #b98c57;
        height: unset;
        position: relative
    }
    header .header-link-box .header-main-link>li p.blue {
        background: #007d85;
        border-bottom: 1px solid #fff;
        color: #fff
    }
    header .header-link-box .header-main-link>li p.pink {
        background: #b9575e;
        border-bottom: 1px solid #fff;
        color: #fff
    }
    header .header-link-box .header-main-link>li p::after, header .header-link-box .header-main-link>li p::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 5vw;
        width: 12px;
        height: 2px;
        background: #fff;
        transition: all .3s ease-in-out
    }
    header .header-link-box .header-main-link>li p::before {
        transform: rotate(90deg)
    }
    header .header-link-box .header-main-link>li p.is-show::before {
        transform: unset
    }
    header .header-link-box .header-main-link>li .main-link-list {
        display: none
    }
    header .header-link-box .header-main-link>li .main-link-list>li a {
        padding: 10px 5vw;
        font-size: 1.5rem;
        border-bottom: 1px solid rgba(66, 78, 84, .5)
    }
    header .header-link-box .header-main-link>li.subnavi-wrap-res {
        display: block
    }
    header .header-link-box .header-main-link>li.subnavi-wrap-res .subnavi-wrap-res-list {
        display: flex;
        flex-wrap: wrap;
        background: rgba(66, 78, 84, .1)
    }
    header .header-link-box .header-main-link>li.subnavi-wrap-res .subnavi-wrap-res-list>li {
        width: 50%;
        border-right: 1px solid rgba(66, 78, 84, .5)
    }
    header .header-link-box .header-main-link>li.subnavi-wrap-res .subnavi-wrap-res-list>li:nth-of-type(2n) {
        border-right: 0
    }
    header .header-link-box .header-main-link>li.subnavi-wrap-res .subnavi-wrap-res-list>li a {
        width: 100%;
        padding: 10px 5vw;
        display: block;
        font-size: 1.5rem;
        color: #424e54;
        line-height: 1.8;
        border-bottom: 1px solid rgba(66, 78, 84, .5)
    }
    header .header-link-box.is-show {
        top: 80px;
        left: 0;
        height: calc(100vh - 80px);
        opacity: 1
    }
    header .top-fixed-navi {
        position: relative;
        top: unset;
        right: unset;
        width: 100vw
    }
    header .top-fixed-navi li {
        position: fixed;
        width: 50vw;
        animation-name: fadeUpAnimeTop
    }
    header .top-fixed-navi li a {
        border-radius: 0;
        width: 100%;
        height: 40px;
        padding: 0;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb
    }
    header .top-fixed-navi li:nth-of-type(1) {
        right: 0;
        bottom: 40px;
        margin-bottom: 0
    }
    header .top-fixed-navi li:nth-of-type(2) {
        left: 0;
        bottom: 0;
        margin-bottom: 0;
        animation-name: fadeUpAnimeBottom
    }
    header .top-fixed-navi li:nth-of-type(2) a {
        height: 40px
    }
    header .top-fixed-navi li:nth-of-type(3) {
        right: 0;
        bottom: 0;
        animation-name: fadeUpAnimeBottom
    }
    header .top-fixed-navi li:nth-of-type(3) a {
        height: 40px
    }
    header .top-fixed-btn {
        position: relative;
        bottom: unset;
        left: unset
    }
    header .top-fixed-btn li {
        position: fixed;
        bottom: 40px;
        left: 0;
        animation-name: fadeUpAnimeTop
    }
    header .top-fixed-btn li a {
        width: 50vw;
        height: 40px;
        padding: 0;
        border-radius: 0;
        font-size: 1.3rem
    }
    header .top-fixed-btn li a::before {
        border-radius: 0
    }
    .page-head {
        padding: 80px 0 0;
        margin-bottom: 50px
    }
    .page-head .mainvisual {
        height: 30vh;
        position: relative
    }
    .page-head .mainvisual h1.page-title .pagetitle {
        font-size: 1.7rem
    }
    .page-head .breadcrumb {
        padding: 5px 5vw
    }
    .page-head .breadcrumb li {
        font-size: 1.4rem
    }
    .page-head .breadcrumb li a {
        position: relative;
        padding: 0 2em;
        display: block
    }
    .page-head .breadcrumb li a::after {
        content: "＞";
        position: absolute;
        right: .2em;
        top: 50%;
        line-height: 1;
        font-size: 1.2em;
        transform: translateY(-50%) scaleX(.6)
    }
    .page-head .breadcrumb li.breadcrumb-top a {
        padding: 0 2em 0 0
    }
    .page-head .breadcrumb li.current {
        color: #424e54
    }
    .page-head .page-lead {
        padding: 20px 0
    }
    .page-head .page-lead p {
        width: 90%
    }
    .page-head .page-lead p.lead-text {
        margin-bottom: 20px;
        letter-spacing: .1em;
        font-size: 1.8rem
    }
    footer .footer-content {
        padding: 20px 0 100px
    }
    footer .footer-content .footer-sns-link {
        width: 50%;
        max-width: 300px;
        padding-bottom: 20px
    }
    footer .footer-content .footer-sns-link li {
        width: 40px
    }
    footer .footer-content .footer-link-list {
        padding-bottom: 20px
    }
    footer .footer-content .footer-link-list li {
        margin: 10px 0;
        padding: 0 10px;
        line-height: 1.2
    }
    footer .footer-content .footer-link-list li a {
        font-size: 1.3rem;
        letter-spacing: .1em
    }
    footer .footer-content .footer-copyright {
        font-size: 1.4rem;
        padding: 10px 0
    }
    @keyframes fadeUpAnime {
        from {
            opacity: 0;
            transform: translateY(100%)
        }
        to {
            opacity: 1;
            transform: translateY(0)
        }
    }
    @keyframes fadeUpAnimeTop {
        from {
            opacity: 0;
            bottom: -40px
        }
        to {
            opacity: 1;
            bottom: 40px
        }
    }
    @keyframes fadeUpAnimeBottom {
        from {
            opacity: 0;
            bottom: -80px
        }
        to {
            opacity: 1;
            bottom: 0
        }
    }
    .page-main-visual {
        height: 40vw
    }
    .news_panel {
        width: 100%;
        margin: 0 0 30px
    }
    .news_panel .top-news-list li a {
        flex-direction: column;
        align-items: unset;
        justify-content: unset;
        margin-bottom: 20px
    }
    .news_panel .top-news-list li a .news-img {
        width: 100%;
        margin-bottom: 10px
    }
    .news_panel .top-news-list li a .news-text {
        width: 100%
    }
}

/***2025.2.14追加***/


.for_sp01{display:none;}

@media screen and (max-width:480px) {
.for_pc01{display:none;}	
.for_sp01{display:block;}	
}


.fac_h2{font-size:1.8em;font-weight:bold;text-align:center;margin-bottom:60px;}

.fac_h2 span{padding: 0.8rem 0;
    margin-bottom: 0.2rem;
	background-image: linear-gradient(
      90deg, 
      #007d85 0 50%, 
      #b9575e 50%
    );
    background-repeat: no-repeat;
    background-size: 100% 10%;
    background-position: bottom;}



.dom_box01{
    padding: 4vw 0;
    background: #b98c57;
	margin-bottom:40px;}

.dom_box01 p {
    width: 80%;
    margin: 0 auto;
    color: #fff;
}

.emp_flex{display:flex;
	align-items:stretch;
	flex-wrap:wrap;}

.emp_box01{width:31%;margin:0 1% 15px 1%;}

@media screen and (max-width:480px) {
	
.emp_box01{width:98%;}	
}
