/*!
 * ress.css v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
@import"https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,700&display=swap";
@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap";
@import"../js/slick/slick.css";

html {
    box-sizing: border-box;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%
}

*,
:after,
:before {
    background-repeat: no-repeat;
    box-sizing: inherit
}

:after,
:before {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    padding: 0;
    margin: 0
}

audio:not([controls]) {
    display: none;
    height: 0
}

hr {
    overflow: visible
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden],
template {
    display: none
}

abbr[title] {
    border-bottom: 1px dotted;
    text-decoration: none
}

a {
    background-color: rgba(0, 0, 0, 0);
    -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
    outline-width: 0
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace
}

b,
strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

input {
    border-radius: 0
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
    cursor: pointer
}

[disabled] {
    cursor: default
}

[type=number] {
    width: auto
}

[type=search] {
    -webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

textarea {
    overflow: auto;
    resize: vertical
}

button,
input,
optgroup,
select,
textarea {
    font: inherit
}

optgroup {
    font-weight: 700
}

button {
    overflow: visible
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: 0;
    padding: 0
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

button,
select {
    text-transform: none
}

button,
input,
select,
textarea {
    background-color: rgba(0, 0, 0, 0);
    border-style: none;
    color: inherit
}

select {
    -moz-appearance: none;
    -webkit-appearance: none
}

select::-ms-expand {
    display: none
}

select::-ms-value {
    color: currentColor
}

legend {
    border: 0;
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

img {
    border-style: none
}

progress {
    vertical-align: baseline
}

svg:not(:root) {
    overflow: hidden
}

audio,
canvas,
progress,
video {
    display: inline-block
}

@media screen {
    [hidden ~ =screen] {
        display: inherit
    }

    [hidden ~ =screen]:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important
    }
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled] {
    cursor: default
}

::-moz-selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

::selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

.loader {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 9999;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center
}

body {
    line-height: 1.6;
    color: #333;
    font-size: min(4.2672vw, 18px);
    font-family: "Noto Sans JP", "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif
}

a {
    color: #00a3e9
}

p {
    margin-top: 1em
}

p:first-child {
    margin-top: 0
}

.section {
    margin-top: min(13.335vw, 100px)
}

.none {
    display: none
}

.flex {
    display: flex
}

.flex.flex-center {
    justify-content: center
}

.flex.btw {
    justify-content: space-between
}

.flex .flex-item {
    box-sizing: border-box
}

.flex.bdr .flex-item {
    border: 2px solid #00a3e9
}

.flex-rvs,
.flex-rvrs {
    flex-direction: row-reverse
}

.icn-flex {
    display: flex;
    align-items: center;
    justify-content: flex-start
}

.icn-flex.align-center,
.icn-flex.flex-center {
    justify-content: center
}

.block {
    display: block
}

.ib {
    display: inline-block
}

.inline {
    display: inline
}

.align-left {
    text-align: left !important
}

.align-center {
    text-align: center !important
}

.align-right {
    text-align: right !important
}

.font-bold {
    font-weight: bold !important
}

.font-normal {
    font-weight: normal !important
}

.font-mincho {
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif !important
}

.font-gothic {
    font-family: "Noto Sans JP", "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif !important
}

.font-blue {
    color: #00a3e9 !important
}

.font-red {
    color: #d80001 !important
}

.font-white {
    color: #fff !important
}

.font-txt {
    color: #333 !important
}

.clr-mirai {
    color: #00a3e9 !important
}

.clr-tsunagaru {
    color: #8ec21f !important
}

.font-palt {
    font-feature-settings: "palt" !important
}

.ls-normal {
    letter-spacing: normal !important
}

.list-none {
    list-style: none
}

.list-disc {
    list-style: disc
}

.list-disc > li {
    margin-left: 1.5em
}

.list-square {
    list-style: none
}

.list-square li::before {
    content: "";
    display: inline-block;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2017.14%2017.14%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M0%2C2.21L2.21%2C0h14.93v14.93l-2.21%2C2.21H0V2.21ZM13.39%2C3.7H1.87v11.62h11.52V3.7Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    vertical-align: middle
}

.list-square li:not(:first-child) {
    margin-top: .5em
}

.list-dot {
    list-style: none
}

.list-dot li {
    display: flex
}

.list-dot li::before {
    content: "●";
    display: inline-block;
    color: inherit
}

.list-num {
    list-style: decimal;
    margin-left: 1.5em
}

.item-img,
.img-wrapper {
    line-height: 1
}

.item-img img,
.img-wrapper img {
    width: 100%;
    height: auto;
    vertical-align: top
}

.clearfix::after {
    content: "";
    clear: both;
    display: block;
    height: 0;
    visibility: hidden
}

.bg-aqua {
    background: #e5f6fd;
    color: #333
}

.bg-aqua.section-inner {
    padding: min(10.668vw, 80px) min(4.0005vw, 45px)
}

.bg-aqua .hdr-section {
    color: #00a3e9
}

.bg-blue {
    background: #00a3e9;
    color: #fff
}

.bg-white {
    background: #fff;
    color: #333
}

.bg-trans {
    background: rgba(0, 0, 0, 0)
}

.mt-0 {
    margin-top: 0
}

.mt-0 {
    margin-top: min(0vw, 0px) !important
}

.mr-0 {
    margin-right: min(0vw, 0px) !important
}

.mb-0 {
    margin-bottom: min(0vw, 0px) !important
}

.ml-0 {
    margin-left: min(0vw, 0px) !important
}

.pt-0 {
    padding-top: min(0vw, 0px) !important
}

.pr-0 {
    padding-right: min(0vw, 0px) !important
}

.pb-0 {
    padding-bottom: min(0vw, 0px) !important
}

.pl-0 {
    padding-left: min(0vw, 0px) !important
}

.mt-5 {
    margin-top: min(.66675vw, 5px) !important
}

.mr-5 {
    margin-right: min(.66675vw, 5px) !important
}

.mb-5 {
    margin-bottom: min(.66675vw, 5px) !important
}

.ml-5 {
    margin-left: min(.66675vw, 5px) !important
}

.pt-5 {
    padding-top: min(.66675vw, 5px) !important
}

.pr-5 {
    padding-right: min(.66675vw, 5px) !important
}

.pb-5 {
    padding-bottom: min(.66675vw, 5px) !important
}

.pl-5 {
    padding-left: min(.66675vw, 5px) !important
}

.mt-10 {
    margin-top: min(1.3335vw, 10px) !important
}

.mr-10 {
    margin-right: min(1.3335vw, 10px) !important
}

.mb-10 {
    margin-bottom: min(1.3335vw, 10px) !important
}

.ml-10 {
    margin-left: min(1.3335vw, 10px) !important
}

.pt-10 {
    padding-top: min(1.3335vw, 10px) !important
}

.pr-10 {
    padding-right: min(1.3335vw, 10px) !important
}

.pb-10 {
    padding-bottom: min(1.3335vw, 10px) !important
}

.pl-10 {
    padding-left: min(1.3335vw, 10px) !important
}

.mt-15 {
    margin-top: min(2.00025vw, 15px) !important
}

.mr-15 {
    margin-right: min(2.00025vw, 15px) !important
}

.mb-15 {
    margin-bottom: min(2.00025vw, 15px) !important
}

.ml-15 {
    margin-left: min(2.00025vw, 15px) !important
}

.pt-15 {
    padding-top: min(2.00025vw, 15px) !important
}

.pr-15 {
    padding-right: min(2.00025vw, 15px) !important
}

.pb-15 {
    padding-bottom: min(2.00025vw, 15px) !important
}

.pl-15 {
    padding-left: min(2.00025vw, 15px) !important
}

.mt-20 {
    margin-top: min(2.667vw, 20px) !important
}

.mr-20 {
    margin-right: min(2.667vw, 20px) !important
}

.mb-20 {
    margin-bottom: min(2.667vw, 20px) !important
}

.ml-20 {
    margin-left: min(2.667vw, 20px) !important
}

.pt-20 {
    padding-top: min(2.667vw, 20px) !important
}

.pr-20 {
    padding-right: min(2.667vw, 20px) !important
}

.pb-20 {
    padding-bottom: min(2.667vw, 20px) !important
}

.pl-20 {
    padding-left: min(2.667vw, 20px) !important
}

.mt-25 {
    margin-top: min(3.33375vw, 25px) !important
}

.mr-25 {
    margin-right: min(3.33375vw, 25px) !important
}

.mb-25 {
    margin-bottom: min(3.33375vw, 25px) !important
}

.ml-25 {
    margin-left: min(3.33375vw, 25px) !important
}

.pt-25 {
    padding-top: min(3.33375vw, 25px) !important
}

.pr-25 {
    padding-right: min(3.33375vw, 25px) !important
}

.pb-25 {
    padding-bottom: min(3.33375vw, 25px) !important
}

.pl-25 {
    padding-left: min(3.33375vw, 25px) !important
}

.mt-30 {
    margin-top: min(4.0005vw, 30px) !important
}

.mr-30 {
    margin-right: min(4.0005vw, 30px) !important
}

.mb-30 {
    margin-bottom: min(4.0005vw, 30px) !important
}

.ml-30 {
    margin-left: min(4.0005vw, 30px) !important
}

.pt-30 {
    padding-top: min(4.0005vw, 30px) !important
}

.pr-30 {
    padding-right: min(4.0005vw, 30px) !important
}

.pb-30 {
    padding-bottom: min(4.0005vw, 30px) !important
}

.pl-30 {
    padding-left: min(4.0005vw, 30px) !important
}

.mt-35 {
    margin-top: min(4.66725vw, 35px) !important
}

.mr-35 {
    margin-right: min(4.66725vw, 35px) !important
}

.mb-35 {
    margin-bottom: min(4.66725vw, 35px) !important
}

.ml-35 {
    margin-left: min(4.66725vw, 35px) !important
}

.pt-35 {
    padding-top: min(4.66725vw, 35px) !important
}

.pr-35 {
    padding-right: min(4.66725vw, 35px) !important
}

.pb-35 {
    padding-bottom: min(4.66725vw, 35px) !important
}

.pl-35 {
    padding-left: min(4.66725vw, 35px) !important
}

.mt-40 {
    margin-top: min(5.334vw, 40px) !important
}

.mr-40 {
    margin-right: min(5.334vw, 40px) !important
}

.mb-40 {
    margin-bottom: min(5.334vw, 40px) !important
}

.ml-40 {
    margin-left: min(5.334vw, 40px) !important
}

.pt-40 {
    padding-top: min(5.334vw, 40px) !important
}

.pr-40 {
    padding-right: min(5.334vw, 40px) !important
}

.pb-40 {
    padding-bottom: min(5.334vw, 40px) !important
}

.pl-40 {
    padding-left: min(5.334vw, 40px) !important
}

.mt-45 {
    margin-top: min(6.00075vw, 45px) !important
}

.mr-45 {
    margin-right: min(6.00075vw, 45px) !important
}

.mb-45 {
    margin-bottom: min(6.00075vw, 45px) !important
}

.ml-45 {
    margin-left: min(6.00075vw, 45px) !important
}

.pt-45 {
    padding-top: min(6.00075vw, 45px) !important
}

.pr-45 {
    padding-right: min(6.00075vw, 45px) !important
}

.pb-45 {
    padding-bottom: min(6.00075vw, 45px) !important
}

.pl-45 {
    padding-left: min(6.00075vw, 45px) !important
}

.mt-50 {
    margin-top: min(6.6675vw, 50px) !important
}

.mr-50 {
    margin-right: min(6.6675vw, 50px) !important
}

.mb-50 {
    margin-bottom: min(6.6675vw, 50px) !important
}

.ml-50 {
    margin-left: min(6.6675vw, 50px) !important
}

.pt-50 {
    padding-top: min(6.6675vw, 50px) !important
}

.pr-50 {
    padding-right: min(6.6675vw, 50px) !important
}

.pb-50 {
    padding-bottom: min(6.6675vw, 50px) !important
}

.pl-50 {
    padding-left: min(6.6675vw, 50px) !important
}

.mt-55 {
    margin-top: min(7.33425vw, 55px) !important
}

.mr-55 {
    margin-right: min(7.33425vw, 55px) !important
}

.mb-55 {
    margin-bottom: min(7.33425vw, 55px) !important
}

.ml-55 {
    margin-left: min(7.33425vw, 55px) !important
}

.pt-55 {
    padding-top: min(7.33425vw, 55px) !important
}

.pr-55 {
    padding-right: min(7.33425vw, 55px) !important
}

.pb-55 {
    padding-bottom: min(7.33425vw, 55px) !important
}

.pl-55 {
    padding-left: min(7.33425vw, 55px) !important
}

.mt-60 {
    margin-top: min(8.001vw, 60px) !important
}

.mr-60 {
    margin-right: min(8.001vw, 60px) !important
}

.mb-60 {
    margin-bottom: min(8.001vw, 60px) !important
}

.ml-60 {
    margin-left: min(8.001vw, 60px) !important
}

.pt-60 {
    padding-top: min(8.001vw, 60px) !important
}

.pr-60 {
    padding-right: min(8.001vw, 60px) !important
}

.pb-60 {
    padding-bottom: min(8.001vw, 60px) !important
}

.pl-60 {
    padding-left: min(8.001vw, 60px) !important
}

.mt-65 {
    margin-top: min(8.66775vw, 65px) !important
}

.mr-65 {
    margin-right: min(8.66775vw, 65px) !important
}

.mb-65 {
    margin-bottom: min(8.66775vw, 65px) !important
}

.ml-65 {
    margin-left: min(8.66775vw, 65px) !important
}

.pt-65 {
    padding-top: min(8.66775vw, 65px) !important
}

.pr-65 {
    padding-right: min(8.66775vw, 65px) !important
}

.pb-65 {
    padding-bottom: min(8.66775vw, 65px) !important
}

.pl-65 {
    padding-left: min(8.66775vw, 65px) !important
}

.mt-70 {
    margin-top: min(9.3345vw, 70px) !important
}

.mr-70 {
    margin-right: min(9.3345vw, 70px) !important
}

.mb-70 {
    margin-bottom: min(9.3345vw, 70px) !important
}

.ml-70 {
    margin-left: min(9.3345vw, 70px) !important
}

.pt-70 {
    padding-top: min(9.3345vw, 70px) !important
}

.pr-70 {
    padding-right: min(9.3345vw, 70px) !important
}

.pb-70 {
    padding-bottom: min(9.3345vw, 70px) !important
}

.pl-70 {
    padding-left: min(9.3345vw, 70px) !important
}

.mt-75 {
    margin-top: min(10.00125vw, 75px) !important
}

.mr-75 {
    margin-right: min(10.00125vw, 75px) !important
}

.mb-75 {
    margin-bottom: min(10.00125vw, 75px) !important
}

.ml-75 {
    margin-left: min(10.00125vw, 75px) !important
}

.pt-75 {
    padding-top: min(10.00125vw, 75px) !important
}

.pr-75 {
    padding-right: min(10.00125vw, 75px) !important
}

.pb-75 {
    padding-bottom: min(10.00125vw, 75px) !important
}

.pl-75 {
    padding-left: min(10.00125vw, 75px) !important
}

.mt-80 {
    margin-top: min(10.668vw, 80px) !important
}

.mr-80 {
    margin-right: min(10.668vw, 80px) !important
}

.mb-80 {
    margin-bottom: min(10.668vw, 80px) !important
}

.ml-80 {
    margin-left: min(10.668vw, 80px) !important
}

.pt-80 {
    padding-top: min(10.668vw, 80px) !important
}

.pr-80 {
    padding-right: min(10.668vw, 80px) !important
}

.pb-80 {
    padding-bottom: min(10.668vw, 80px) !important
}

.pl-80 {
    padding-left: min(10.668vw, 80px) !important
}

.mt-85 {
    margin-top: min(11.33475vw, 85px) !important
}

.mr-85 {
    margin-right: min(11.33475vw, 85px) !important
}

.mb-85 {
    margin-bottom: min(11.33475vw, 85px) !important
}

.ml-85 {
    margin-left: min(11.33475vw, 85px) !important
}

.pt-85 {
    padding-top: min(11.33475vw, 85px) !important
}

.pr-85 {
    padding-right: min(11.33475vw, 85px) !important
}

.pb-85 {
    padding-bottom: min(11.33475vw, 85px) !important
}

.pl-85 {
    padding-left: min(11.33475vw, 85px) !important
}

.mt-90 {
    margin-top: min(12.0015vw, 90px) !important
}

.mr-90 {
    margin-right: min(12.0015vw, 90px) !important
}

.mb-90 {
    margin-bottom: min(12.0015vw, 90px) !important
}

.ml-90 {
    margin-left: min(12.0015vw, 90px) !important
}

.pt-90 {
    padding-top: min(12.0015vw, 90px) !important
}

.pr-90 {
    padding-right: min(12.0015vw, 90px) !important
}

.pb-90 {
    padding-bottom: min(12.0015vw, 90px) !important
}

.pl-90 {
    padding-left: min(12.0015vw, 90px) !important
}

.mt-95 {
    margin-top: min(12.66825vw, 95px) !important
}

.mr-95 {
    margin-right: min(12.66825vw, 95px) !important
}

.mb-95 {
    margin-bottom: min(12.66825vw, 95px) !important
}

.ml-95 {
    margin-left: min(12.66825vw, 95px) !important
}

.pt-95 {
    padding-top: min(12.66825vw, 95px) !important
}

.pr-95 {
    padding-right: min(12.66825vw, 95px) !important
}

.pb-95 {
    padding-bottom: min(12.66825vw, 95px) !important
}

.pl-95 {
    padding-left: min(12.66825vw, 95px) !important
}

.mt-100 {
    margin-top: min(13.335vw, 100px) !important
}

.mr-100 {
    margin-right: min(13.335vw, 100px) !important
}

.mb-100 {
    margin-bottom: min(13.335vw, 100px) !important
}

.ml-100 {
    margin-left: min(13.335vw, 100px) !important
}

.pt-100 {
    padding-top: min(13.335vw, 100px) !important
}

.pr-100 {
    padding-right: min(13.335vw, 100px) !important
}

.pb-100 {
    padding-bottom: min(13.335vw, 100px) !important
}

.pl-100 {
    padding-left: min(13.335vw, 100px) !important
}

.mt-1em {
    margin-top: 1em
}

.next-mt-90 + * {
    margin-top: min(12.0015vw, 90px) !important
}

.icn-tri-right,
.icn-tri-right-blue {
    display: inline-block;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23ffffff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center
}

.icn-tri-right-blue {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center
}

.btn-counseling,
.btn-red,
.btn-opencampus,
.btn-green,
.btn-shiryo,
.btn-sorablue{
    line-height: 1;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
    font-size: min(3.7338vw, 21px)
}

.btn-counseling.align-center,
.btn-red.align-center,
.btn-opencampus.align-center,
.btn-green.align-center,
.btn-shiryo.align-center,
.btn-sorablue.align-center{
    margin-right: auto;
    margin-left: auto
}

.btn-counseling a,
.btn-red a,
.btn-opencampus a,
.btn-green a,
.btn-shiryo a,
.btn-sorablue a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    text-align: center;
    letter-spacing: .1em
}

.btn-counseling a,
.btn-red a {
    background: #d80001
}

.btn-opencampus a,
.btn-green a {
    background: #090
}

.btn-shiryo a,
.btn-sorablue a {
    background: #00a3e9
}


.btn-blue {
    width: min(100%, 400px);
    line-height: 1;
    font-family: "Noto Sans JP", "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif
}

.btn-blue a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: min(18.669vw, 70px);
    background: #00a3e9;
    color: #fff;
    text-decoration: none
}

.btn-blue.align-center {
    margin-right: auto;
    margin-left: auto
}

.btn-blue.btn-small {
    width: min(53.34vw, 250px)
}

.btn-blue.btn-small a {
    height: min(11.7348vw, 40px)
}

.btn-bdr-blue,
.btn-frame-blue-small {
    width: min(100%, 500px);
    line-height: 1;
    margin-top: min(9.3345vw, 80px);
    font-size: min(4.8006vw, 22px);
    border: 2px solid #00a3e9
}

.btn-bdr-blue a,
.btn-bdr-blue input[type=submit],
.btn-frame-blue-small a,
.btn-frame-blue-small input[type=submit] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: min(18.669vw, 90px);
    color: #00a3e9;
    text-decoration: none
}

.btn-bdr-blue a::before,
.btn-frame-blue-small a::before {
    content: "";
    width: 6px;
    height: 11px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 4px;
    vertical-align: middle
}

.btn-bdr-blue a[target=_blank]::before,
.btn-frame-blue-small a[target=_blank]::before {
    width: 17px;
    height: 15px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2033%2030%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D.cls-2%7Bfill%3A%2300a3e9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Crect%20class%3D%22cls-1%22%20x%3D%227.5%22%20y%3D%221.5%22%20width%3D%2224%22%20height%3D%2221%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M30%2C3V21H9V3H30m3-3H6V24H33V0Z%22%2F%3E%3Crect%20class%3D%22cls-2%22%20x%3D%226%22%20width%3D%2227%22%20height%3D%226%22%2F%3E%3Crect%20class%3D%22cls-2%22%20y%3D%2212%22%20width%3D%223%22%20height%3D%2218%22%2F%3E%3Crect%20class%3D%22cls-2%22%20x%3D%227.5%22%20y%3D%2219.5%22%20width%3D%223%22%20height%3D%2218%22%20transform%3D%22translate%2837.5%2019.5%29%20rotate%2890%29%22%2F%3E%3C%2Fsvg%3E")
}

.btn-bdr-blue.btn-small,
.btn-frame-blue-small.btn-small {
    width: min(100%, 400px)
}

.btn-frame-blue-small {
    width: min(100%, 360px);
    border: 2px solid #00a3e9;
    font-size: min(4.0005vw, 18px)
}

.btn-frame-blue-small.align-center {
    margin-right: auto;
    margin-left: auto
}

*[class^=btn-] a {
    transition: all .5s ease
}

*[class^=btn-] a:hover {
    opacity: .7
}

.btns {
    display: flex;
    align-items: center;
    justify-content: center
}

.cv a,
.btns-frame a {
    text-decoration: none
}

.mod-cv .cv,
.mod-cv .btns-frame,
.mod-btns-frame .cv,
.mod-btns-frame .btns-frame {
    border: 2px solid #00a3e9;
    text-align: center
}

.mod-cv .cv p,
.mod-cv .btns-frame p,
.mod-btns-frame .cv p,
.mod-btns-frame .btns-frame p {
    font-size: min(4.2672vw, 22px)
}

.mod-cv ul.btns,
.mod-btns-frame ul.btns {
    list-style: none
}

.mod-cv {
    margin-top: min(13.335vw, 100px)
}

.mod-btns-frame .btns-frame {
    background: #e5f6fd
}

.mod-btns-frame .btns-frame.bg-white {
    background: #fff
}

.hdr-section {
    color: #00a3e9;
    text-align: center;
    font-size: min(5.6007vw, 30px);
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
    font-weight: 500
}

.bg-aqua .hdr-section {
    color: #00a3e9
}

.bg-blue .hdr-section {
    color: #fff
}

.bg-white .hdr-section {
    color: #00a3e9
}

.box .hdr-section {
    color: #00a3e9
}

.hdr-section + * {
    margin-top: min(10.668vw, 80px)
}

.frame-blue .hdr-section + * {
    margin-top: min(8.001vw, 60px)
}

.hdr-section-sub,
.hdr-movie {
    margin-top: min(9.3345vw, 75px);
    color: #333;
    font-size: min(4.8006vw, 26px);
    font-weight: normal;
    text-align: center
}

.hdr-section-sub:first-child,
.hdr-movie:first-child {
    margin-top: 0
}

.hdr-section-sub + *,
.hdr-movie + * {
    margin-top: min(4.8006vw, 40px)
}

.hdr-sideline {
    font-weight: 500;
    text-align: left
}

.hdr-blue {
    color: #00a3e9;
    font-size: min(4.8006vw, 22px);
    font-weight: normal
}

.hdr-blue + * {
    margin-top: min(4.0005vw, 30px)
}

.icn-num-wrapper {
    padding-left: min(6.1341vw, 36px)
}

.icn-num-wrapper .icn-num {
    display: inline-block;
    width: min(4.8006vw, 26px);
    height: min(4.8006vw, 26px);
    line-height: min(4.8006vw, 26px);
    margin-left: max(-6.1341vw, -31px);
    background: #00a3e9;
    border-radius: 50%;
    color: #fff;
    font-size: min(4.0005vw, 20px);
    text-align: center
}

.movie-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%
}

.movie-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.movie-wrapper + .movie-wrapper {
    margin-top: min(5.334vw, 50px)
}

.courses > * {
    position: relative
}

.courses .item-txt {
    margin-top: min(4.0005vw, 20px)
}

.courses .item-class {
    display: flex;
    align-items: center;
    line-height: 1;
    font-size: min(5.334vw, 22px)
}

.courses *[class^=icn-] {
    display: inline-block;
    margin-left: 5px;
    padding: 0;
    color: #fff;
    font-size: min(3.4671vw, 16px);
    font-style: normal
}

.courses .clr-mirai + *[class^=icn-] {
    background: #00a3e9;
    border: solid 3px #00a3e9
}

.courses .clr-tsunagaru + *[class^=icn-] {
    background: #8ec21f;
    border: solid 3px #8ec21f
}

.courses *[class^=btn-bdr-] {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%)
}

.class-large > div {
    margin-top: min(10.668vw, 50px)
}

.class-large > div:first-of-type {
    margin-top: 0
}

.class-large > div .item-img {
    flex: 0 0 min(100%, 590px)
}

.class-large .hdr {
    color: #00a3e9
}

.class-large .hdr + * {
    margin-top: min(4.0005vw, 30px)
}

.class-large + .class-small {
    margin-top: min(10.668vw, 50px)
}

.class-small .hdr {
    color: #00a3e9
}

.steps {
    margin-top: min(10.668vw, 40px)
}

.steps .step:not(:last-child):after {
    display: block;
    content: ""
}

.steps .step .img-wrapper + * {
    margin-top: min(5.334vw, 40px)
}

.steps .step .hdr {
    height: min(8.001vw, 35px);
    line-height: min(8.001vw, 35px);
    margin-top: min(5.334vw, 40px);
    background: #00a3e9;
    color: #fff;
    text-align: center
}

.steps .step .list-none {
    margin-top: min(2.667vw, 15px);
    color: #00a3e9
}

.steps .step .list-none li::before {
    content: "●";
    display: inline-block
}

.forperson .flex-item {
    font-size: min(3.2004vw, 15px)
}

.forperson .hdr {
    color: #00a3e9;
    font-size: min(4.2672vw, 22px);
    font-weight: normal;
    text-align: center
}

.forperson .btn-blue {
    position: absolute
}

.forperson .btn-blue a {
    height: min(11.7348vw, 40px)
}

.frame-blue {
    padding: min(5.334vw, 48px);
    border: 4px solid #00a3e9
}

.widget-yakushima {
    padding: min(12.0015vw, 70px) min(5.0673vw, 55px)
}

.widget-yakushima .hdr-underline {
    border-bottom: 1px solid #00a3e9;
    color: #00a3e9;
    font-size: min(5.6007vw, 24px)
}

.widget-yakushima .hdr-underline + * {
    margin-top: min(8.001vw, 60px)
}

.widget-yakushima .btns {
    margin-top: min(10.668vw, 60px)
}

.widget-yakushima .btns .btn-bdr-blue {
    width: min(100%, 400px);
    line-height: 1;
    border-style: none;
    font-size: min(4.2672vw, 22px)
}

.widget-yakushima .btns .btn-bdr-blue a {
    border: 2px solid #00a3e9
}

.widget-yakushima .btns .btn-bdr-blue a::before {
    display: none
}

.widget-yakushima .btns .btn-blue {
    font-size: min(4.2672vw, 22px)
}

.widget-yakushima .btns .btn-blue a {
    height: min(18.669vw, 90px)
}

.widget-yakushima .btns .icn-tri-right,
.widget-yakushima .btns .icn-tri-right-blue {
    width: 9px;
    height: 12px
}

.widget-yakushima .hdr-blue {
    font-size: min(4.2672vw, 18px)
}

#header {
    background: rgba(255, 255, 255, .8)
}

#header ul {
    list-style: none
}

#header .flex {
    align-items: center;
    justify-content: space-between
}

#header .btn-counseling,
#header .btn-opencampus,
#header .btn-shiryo{
    font-size: min(3.7338vw, 18px)
}

#logo a {
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    aspect-ratio: 178/39;
    background: url(../img/common/sitelogo.svg) no-repeat left center;
    background-size: contain
}

#mainvisual {
    line-height: 1
}

#mainvisual .hdr-mainvisual {
    line-height: 1.6;
    color: #fff;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
    font-size: min(5.6007vw, 42px);
    font-weight: normal;
    text-align: center;
    letter-spacing: .1em
}

#mainvisual .slide-item p {
    line-height: 1.5;
    color: #fff;
    font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif;
    font-size: min(5.334vw, 42px);
    text-align: center
}

body:not(#toppage) #mainvisual {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden
}

body:not(#toppage) #mainvisual .mv-inner {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%
}

body:not(#toppage) #mainvisual .hdr-lv1,
body:not(#toppage) #mainvisual .hdr-mainvisual {
    font-size: min(6.4008vw, 42px)
}

body:not(#toppage) #mainvisual .hdr-small {
    display: block;
    background-color: rgba(255, 255, 255, .8);
    color: #000;
    text-align: center
}

body:not(#toppage) #mainvisual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#areaname {
    margin-top: 0;
    background: #e5f6fd
}

#areaname .section-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: min(9.6012vw, 50px)
}

#areaname .hdr-section {
    color: #00a3e9;
    font-size: min(5.6007vw, 30px)
}

#campus-opencampus {
    background: #e5f6fd
}

#campus-opencampus .hdr-section {
    font-size: min(5.6007vw, 30px)
}

#campus-opencampus .list-opencampus {
    list-style: none
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] {
    border: 2px solid #00a3e9;
    background: #fff
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-date {
    color: #00a3e9;
    font-size: min(4.0005vw, 14px)
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat {
    font-size: min(2.667vw, 12px)
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat span[class^=item-cat-] {
    display: inline-block;
    min-width: min(29.337vw, 96px);
    margin-left: min(2.667vw, 10px);
    border-radius: 4px;
    color: #fff;
    text-align: center
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat-briefing {
    background: #00a3e9
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat-trial {
    background: #4900ef
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat-web-counseling {
    background: #ef4900
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat-online {
    background: #ef00a6
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat-web-briefing {
    background: #ba9101
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat-web-trial {
    background: #00ab34
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-title {
    border-bottom: 1px solid #00a3e9;
    color: #00a3e9;
    font-weight: bold;
    font-size: min(4.8006vw, 18px);
    word-wrap: break-word
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img {
    aspect-ratio: 328/246;
    background: url("../img/common/no_image.png") no-repeat center top;
    background-size: contain
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img.item-cat-img-briefing {
    background: url("../img/common/bg_briefing.png") no-repeat center top;
    background-size: contain
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img.item-cat-img-trial {
    background: url("../img/common/bg_trial.png") no-repeat center top;
    background-size: contain
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img.item-cat-img-web-counseling {
    background: url("../img/common/bg_web_counseling.png") no-repeat center top;
    background-size: contain
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img.item-cat-img-online {
    background: url("../img/common/bg_online.png") no-repeat center top;
    background-size: contain
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img.item-cat-img-web-briefing {
    background: url("../img/common/bg_web_briefing.png") no-repeat center top;
    background-size: contain
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img.item-cat-img-web-trial {
    background: url("../img/common/bg_web_trial.png") no-repeat center top;
    background-size: contain
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .item-txt {
    color: #444;
    font-size: min(3.4671vw, 15px);
    word-wrap: break-word
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .btn-submit-wrapper {
    position: relative;
    transition: all .5s ease;
    margin-top: min(8.001vw, 50px)
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .btn-submit-wrapper:hover {
    opacity: .7
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .btn-submit-wrapper .btn-frame-blue-small {
    margin-top: 0
}

#campus-opencampus .list-opencampus li[data-opencampus="1"] .btn-submit-wrapper::after {
    position: absolute;
    display: inline-block;
    content: "";
    width: 7px;
    height: 10px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center;
    vertical-align: middle
}

#campus-info {
    background: #e5f6fd
}

#campus-info .bdr {
    border: 2px solid #00a3e9;
    background: #fff
}

#campus-info .campus-list-map .list-area dt label {
    display: flex
}

#campus-info .campus-list-map .list-area dt label::before {
    content: "";
    display: inline-block;
    border-left: solid 5px #00a3e9
}

#campus-info .campus-list-map .list-area .hdr-sideline {
    font-size: min(5.334vw, 26px);
    font-family: "Noto Sans JP", "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif
}

#campus-info .campus-list-map .list-area .hdr-sideline.area-tohoku label::before {
    border-left-color: #036eb8
}

#campus-info .campus-list-map .list-area .hdr-sideline.area-kanto label::before {
    border-left-color: #8cb4d7
}

#campus-info .campus-list-map .list-area .hdr-sideline.area-tokai label::before {
    border-left-color: #6ecbf3
}

#campus-info .campus-list-map .list-area .hdr-sideline.area-kinki label::before {
    border-left-color: #f9af56
}

#campus-info .campus-list-map .list-area .hdr-sideline.area-chugoku label::before {
    border-left-color: #afd200
}

#campus-info .campus-list-map .list-area .hdr-sideline.area-kyushu label::before {
    border-left-color: #22ac38
}

#campus-info .campus-list-map .list-campus {
    list-style: none
}

#campus-info .campus-list-map .list-campus li {
    transition: all .4s
}

#campus-info .campus-list-map .list-campus li .item-pref,
#campus-info .campus-list-map .list-campus li .item-name,
#campus-info .campus-list-map .list-campus li .item-address,
#campus-info .campus-list-map .list-campus li .item-btn {
    line-height: 0
}

#campus-info .campus-list-map .list-campus li .item-pref span {
    display: inline-block;
    color: #fff;
    text-align: center;
    font-size: min(2.9337vw, 13px)
}

#campus-info .campus-list-map .list-campus li .item-pref span.area-tohoku {
    background-color: #036eb8
}

#campus-info .campus-list-map .list-campus li .item-pref span.area-kanto {
    background-color: #8cb4d7
}

#campus-info .campus-list-map .list-campus li .item-pref span.area-tokai {
    background-color: #6ecbf3
}

#campus-info .campus-list-map .list-campus li .item-pref span.area-kinki {
    background-color: #f9af56
}

#campus-info .campus-list-map .list-campus li .item-pref span.area-chugoku {
    background-color: #afd200
}

#campus-info .campus-list-map .list-campus li .item-pref span.area-kyushu {
    background-color: #22ac38
}

#campus-info .campus-list-map .list-campus li .item-name {
    color: #00a3e9;
    font-weight: 500;
    font-size: min(5.6007vw, 19px)
}

#campus-info .campus-list-map .details-body {
    position: relative;
    border-top: 2px solid #000
}

#campus-info .campus-list-map .details-body label {
    content: "";
    position: absolute;
    display: block;
    padding-top: 0;
    padding-bottom: 0;
    border-radius: 50% 50%;
    background: #00a3e9 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    transform: scale(1, -1);
    transform-origin: center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .details-body .list-campus {
    position: relative
}

#campus-info .campus-list-map .details-body .list-campus::before {
    content: "";
    position: absolute;
    display: block;
    border-radius: 50% 50%;
    background: #00a3e9 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    transform: scale(1, -1);
    transform-origin: center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .details-body input[type=checkbox] {
    display: none
}

#campus-info .campus-list-map .details-body input[type=checkbox] ~ .list-campus li {
    line-height: 0;
    opacity: 0;
    visibility: hidden
}

#campus-info .campus-list-map .details-body input[type=checkbox] ~ .list-campus li .item-pref {
    height: 0
}

#campus-info .campus-list-map .details-body input[type=checkbox] ~ .list-campus li .item-pref span {
    height: 0;
    line-height: 0
}

#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li {
    line-height: 1.2;
    margin-top: 0;
    padding-top: 0;
    opacity: 1;
    visibility: visible
}

#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-pref,
#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-name,
#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-address,
#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-access,
#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-btn {
    display: block
}

#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-pref {
    height: auto
}

#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-address {
    line-height: 1.6;
    font-size: min(4.0005vw, 15px)
}

#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-access {
    color: #666;
    font-size: min(3.4671vw, 14px)
}

#campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 2px solid #00a3e9;
    text-decoration: none
}

#campus-info .campus-list-map .area-tohoku + .details-body {
    border-top-color: #036eb8
}

#campus-info .campus-list-map .area-tohoku + .details-body label {
    background: #036eb8 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .area-kanto + .details-body {
    border-top-color: #8cb4d7
}

#campus-info .campus-list-map .area-kanto + .details-body label {
    background: #8cb4d7 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .area-tokai + .details-body {
    border-top-color: #6ecbf3
}

#campus-info .campus-list-map .area-tokai + .details-body label {
    background: #6ecbf3 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .area-kinki + .details-body {
    border-top-color: #f9af56
}

#campus-info .campus-list-map .area-kinki + .details-body label {
    background: #f9af56 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .area-chugoku + .details-body {
    border-top-color: #afd200
}

#campus-info .campus-list-map .area-chugoku + .details-body label {
    background: #afd200 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .area-kyushu + .details-body {
    border-top-color: #22ac38
}

#campus-info .campus-list-map .area-kyushu + .details-body label {
    background: #22ac38 url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.52%2019.1%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.52%2C14.32L19.68%2C4.77h0L14.76%2C0h0l-4.92%2C4.77h0L0%2C14.32l4.92%2C4.77L14.76%2C9.55l9.84%2C9.55%2C4.92-4.77Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: auto 12px
}

#campus-info .campus-list-map .area-tohoku + .details-body input[type=checkbox]:checked ~ label,
#campus-info .campus-list-map .area-kanto + .details-body input[type=checkbox]:checked ~ label,
#campus-info .campus-list-map .area-tokai + .details-body input[type=checkbox]:checked ~ label,
#campus-info .campus-list-map .area-kinki + .details-body input[type=checkbox]:checked ~ label,
#campus-info .campus-list-map .area-chugoku + .details-body input[type=checkbox]:checked ~ label,
#campus-info .campus-list-map .area-kyushu + .details-body input[type=checkbox]:checked ~ label {
    transform-origin: center center;
    transform: scale(1, 1)
}

.zeals .img-wrapper img {
    width: auto;
    max-width: 100%
}

#footer {
    font-size: min(3.2004vw, 14px)
}

#footer a {
    white-space: nowrap;
    color: #333;
    text-decoration: none
}

.slides {
    width: 100%
}

.slides .slide-item {
    position: relative
}

.slides .slide-item p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin-top: 0;
    padding-top: min(18.669vw, 50px);
    padding-right: min(2.667vw, 30px);
    padding-left: min(2.667vw, 30px);
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    z-index: 1
}

.hdr-jh-point {
    filter: url(#txt-outline)
}

.slick-loading .slick-list {
    background: #fff url("./ajax-loader.gif") center center no-repeat
}

@font-face {
    font-family: "slick";
    font-weight: normal;
    font-style: normal;
    src: url("./fonts/slick.eot");
    src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg")
}

.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    outline: none;
    background: transparent
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25
}

.slick-prev:before,
.slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir=rtl] .slick-prev {
    right: -25px;
    left: auto
}

.slick-prev:before {
    content: "←"
}

[dir=rtl] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: -25px
}

[dir=rtl] .slick-next {
    right: auto;
    left: -25px
}

.slick-next:before {
    content: "→"
}

[dir=rtl] .slick-next:before {
    content: "←"
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1
}

.slick-dots li button:before {
    font-family: "slick";
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: "•";
    text-align: center;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    opacity: .75;
    color: black
}

#jh .points {
    margin-top: min(10.668vw, 80px)
}

#jh .point {
    margin-top: min(10.668vw, 40px)
}

#jh3rd .timeschedule > *:not(:first-child) {
    margin-top: min(10.668vw, 50px)
}

#jh3rd .hdr-time {
    display: flex;
    gap: 15px;
    gap: .7em;
    line-height: 1.55;
    color: #00a3e9;
    font-size: min(5.0673vw, 22px);
    font-weight: normal
}

#jh3rd .icn-time {
    display: inline-block;
    width: 1.55em;
    height: 1.55em
}

#jh3rd .icn-0800 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60A30%2C30%2C0%2C1%2C1%2C60%2C30%2C30%2C30%2C0%2C0%2C1%2C30%2C60ZM30%2C4A26%2C26%2C0%2C1%2C0%2C56%2C30%2C26.06%2C26.06%2C0%2C0%2C0%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32a2%2C2%2C0%2C0%2C1-2-2V10.39a2%2C2%2C0%2C1%2C1%2C4%2C0V30A2%2C2%2C0%2C0%2C1%2C30%2C32Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M13%2C41.79a2%2C2%2C0%2C0%2C1-1-3.7l17-9.81a2%2C2%2C0%2C0%2C1%2C2%2C3.44l-17%2C9.8A2%2C2%2C0%2C0%2C1%2C13%2C41.79Z%22%2F%3E%3C%2Fsvg%3E");
    background-size: contain
}

#jh3rd .icn-0900 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60A30%2C30%2C0%2C1%2C1%2C60%2C30%2C30%2C30%2C0%2C0%2C1%2C30%2C60ZM30%2C4A26%2C26%2C0%2C1%2C0%2C56%2C30%2C26.06%2C26.06%2C0%2C0%2C0%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32a2%2C2%2C0%2C0%2C1-2-2V10.39a2%2C2%2C0%2C1%2C1%2C4%2C0V30A2%2C2%2C0%2C0%2C1%2C30%2C32Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32H10.39a2%2C2%2C0%2C1%2C1%2C0-4H30a2%2C2%2C0%2C1%2C1%2C0%2C4Z%22%2F%3E%3C%2Fsvg%3E")
}

#jh3rd .icn-0920 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60A30%2C30%2C0%2C1%2C1%2C60%2C30%2C30%2C30%2C0%2C0%2C1%2C30%2C60ZM30%2C4A26%2C26%2C0%2C1%2C0%2C56%2C30%2C26.06%2C26.06%2C0%2C0%2C0%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32H10.39a2%2C2%2C0%2C1%2C1%2C0-4H30a2%2C2%2C0%2C1%2C1%2C0%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M47%2C41.79a2%2C2%2C0%2C0%2C1-1-.27l-17-9.8a2%2C2%2C0%2C0%2C1%2C2-3.44l17%2C9.81a2%2C2%2C0%2C0%2C1-1%2C3.7Z%22%2F%3E%3C%2Fsvg%3E")
}

#jh3rd .icn-1020 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60A30%2C30%2C0%2C1%2C1%2C60%2C30%2C30%2C30%2C0%2C0%2C1%2C30%2C60ZM30%2C4A26%2C26%2C0%2C1%2C0%2C56%2C30%2C26.06%2C26.06%2C0%2C0%2C0%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32a2%2C2%2C0%2C0%2C1-1-.27L12%2C21.91a2%2C2%2C0%2C0%2C1%2C2-3.43l17%2C9.8A2%2C2%2C0%2C0%2C1%2C30%2C32Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M47%2C41.79a2%2C2%2C0%2C0%2C1-1-.27l-17-9.8a2%2C2%2C0%2C0%2C1%2C2-3.44l17%2C9.81a2%2C2%2C0%2C0%2C1-1%2C3.7Z%22%2F%3E%3C%2Fsvg%3E")
}

#jh3rd .icn-1120 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60A30%2C30%2C0%2C1%2C1%2C60%2C30%2C30%2C30%2C0%2C0%2C1%2C30%2C60ZM30%2C4A26%2C26%2C0%2C1%2C0%2C56%2C30%2C26.06%2C26.06%2C0%2C0%2C0%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32a2%2C2%2C0%2C0%2C1-1.72-1l-9.8-17a2%2C2%2C0%2C1%2C1%2C3.43-2l9.81%2C17A2%2C2%2C0%2C0%2C1%2C30%2C32Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M47%2C41.79a1.87%2C1.87%2C0%2C0%2C1-1-.27l-17-9.8a2%2C2%2C0%2C0%2C1%2C2-3.44l17%2C9.81a2%2C2%2C0%2C0%2C1-1%2C3.7Z%22%2F%3E%3C%2Fsvg%3E")
}

#jh3rd .icn-1210 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60A30%2C30%2C0%2C1%2C1%2C60%2C30%2C30%2C30%2C0%2C0%2C1%2C30%2C60ZM30%2C4A26%2C26%2C0%2C1%2C0%2C56%2C30%2C26.06%2C26.06%2C0%2C0%2C0%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32a2%2C2%2C0%2C0%2C1-2-2V10.39a2%2C2%2C0%2C1%2C1%2C4%2C0V30A2%2C2%2C0%2C0%2C1%2C30%2C32Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C32a2%2C2%2C0%2C0%2C1-1-3.71l17-9.8a2%2C2%2C0%2C1%2C1%2C2%2C3.43L31%2C31.72A2%2C2%2C0%2C0%2C1%2C30%2C32Z%22%2F%3E%3C%2Fsvg%3E")
}

#jh3rd .icn-1250 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60A30%2C30%2C0%2C1%2C1%2C60%2C30%2C30%2C30%2C0%2C0%2C1%2C30%2C60ZM30%2C4A26%2C26%2C0%2C1%2C0%2C56%2C30%2C26.06%2C26.06%2C0%2C0%2C0%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29%2C31.72A2%2C2%2C0%2C0%2C1%2C28.28%2C29l9.81-17a2%2C2%2C0%2C0%2C1%2C3.43%2C2l-9.8%2C17A2%2C2%2C0%2C0%2C1%2C29%2C31.72Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M32%2C30a2%2C2%2C0%2C0%2C1-3%2C1.72L12%2C21.91a2%2C2%2C0%2C0%2C1%2C2-3.43l17%2C9.8A2%2C2%2C0%2C0%2C1%2C32%2C30Z%22%2F%3E%3C%2Fsvg%3E")
}

#jh3rd .icn-1430 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60C13.4%2C60%2C0%2C46.6%2C0%2C30S13.4%2C0%2C30%2C0s30%2C13.4%2C30%2C30-13.4%2C30-30%2C30ZM30%2C4C15.6%2C4%2C4%2C15.6%2C4%2C30s11.6%2C26%2C26%2C26%2C26-11.6%2C26-26S44.3%2C4%2C30%2C4Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M28.1%2C52.4c-.2-.3-.3-.7-.3-1l.3-19.6c.1-1.1%2C1.1-1.9%2C2.2-1.7.9.1%2C1.7.9%2C1.8%2C1.8l-.3%2C19.6c0%2C1.1-1%2C2-2.1%2C1.9-.7%2C0-1.3-.4-1.6-1Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M48%2C21.9l-17%2C9.8c-.9.6-2.1.5-2.8-.4-.6-.9-.5-2.1.4-2.8.1%2C0%2C.2-.1.4-.2l17-9.8c.9-.7%2C2.1-.5%2C2.8.4s.5%2C2.1-.4%2C2.8c-.1%2C0-.3.2-.4.2Z%22%2F%3E%3C%2Fsvg%3E")
}

#jh3rd .icn-1620 {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M30%2C60C13.43%2C60%2C0%2C46.57%2C0%2C30S13.43%2C0%2C30%2C0s30%2C13.43%2C30%2C30-13.43%2C30-30%2C30ZM30%2C4C15.64%2C4%2C4%2C15.64%2C4%2C30s11.64%2C26%2C26%2C26%2C26-11.64%2C26-26c-.03-14.35-11.65-25.97-26-26Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M44.27%2C44.45c-.35-.05-.68-.19-.95-.42l-15.27-12.32c-.78-.78-.78-2.05%2C0-2.83.67-.67%2C1.72-.78%2C2.51-.26l15.27%2C12.33c.84.72.93%2C1.98.21%2C2.82-.44.51-1.11.77-1.78.68Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M47.14%2C41.03l-17.27-9.33c-1.02-.42-1.51-1.59-1.09-2.61.42-1.02%2C1.59-1.51%2C2.61-1.09.13.05.25.12.36.19l17.26%2C9.34c1.03.4%2C1.54%2C1.56%2C1.14%2C2.59-.4%2C1.03-1.56%2C1.54-2.59%2C1.14-.15-.06-.29-.14-.43-.23Z%22%2F%3E%3C%2Fsvg%3E")
}

#hs .highschool section {
    margin-top: min(9.3345vw, 50px)
}

#hs .highschool section:first-of-type {
    margin-top: 0
}

#family .support .hdr-blue {
    margin-top: min(5.334vw, 35px)
}

#event .frame-blue {
    padding: min(5.334vw, 35px) min(5.334vw, 100px)
}

#event .frame-blue .hdr-section {
    font-size: min(4.8006vw, 26px)
}

@media only screen and (orientation: portrait) {
    .section {
        margin-top: 10.668vw
    }

    .section-inner {
        margin: 0 2.667%
    }

    .wide-container {
        margin-left: -2.667%;
        margin-right: -2.667%
    }

    .s-none {
        display: none
    }

    .s-flex {
        display: flex
    }

    .s-flex.flex-center {
        justify-content: center
    }

    .s-flex.flex-vcenter {
        align-items: center
    }

    .s-flex.btw {
        justify-content: space-between
    }

    .s-flex .s-gap-15 {
        gap: 4.0005vw
    }

    .flex.s-col-2,
    .s-flex.s-col-2 {
        flex-wrap: wrap;
        gap: 4.0005vw
    }

    .flex.s-col-2 > .flex-item,
    .s-flex.s-col-2 > .flex-item {
        flex: 0 0 calc((100% - 4.0005vw - .1px)/2)
    }

    .s-flex-rvs,
    .s-flex-rvrs {
        flex-direction: row-reverse
    }

    .s-block {
        display: block
    }

    .s-ib {
        display: inline-block
    }

    .s-inline {
        display: inline
    }

    .s-align-left {
        text-align: left
    }

    .s-align-center {
        text-align: center
    }

    .s-align-right {
        text-align: right
    }

    .s-font-micho {
        font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif
    }

    .s-font-gothic {
        font-family: "Noto Sans JP", "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif
    }

    .s-font-palt {
        font-feature-settings: "palt"
    }

    .s-font-10 {
        font-size: 2.667vw !important
    }

    .s-font-20 {
        font-size: 5.334vw !important
    }

    .list-square li {
        padding-left: 5.0673vw;
        text-indent: -5.0673vw
    }

    .list-square li::before {
        width: 3.7338vw;
        height: 3.7338vw;
        margin-right: 1.3335vw
    }

    .icn-tri-right,
    .icn-tri-right-blue {
        width: 1.6002vw;
        height: 2.4003vw;
        margin-right: 1.8669vw
    }

    .btn-counseling,
    .btn-opencampus,
    .btn-shiryo {
        width: 41.3385vw
    }

    .btn-counseling a,
    .btn-opencampus a,
    .btn-shiryo a{
        height: 11.7348vw
    }

    .btn-blue {
        font-size: 3.7338vw
    }

    .btn-blue.s-align-center {
        margin-right: auto;
        margin-left: auto
    }

    .btn-frame-blue-small {
        margin: 8.001vw auto auto auto;
        font-size: 4.0005vw
    }

    .btn-frame-blue-small a,
    .btn-frame-blue-small input[type=submit] {
        height: 16.002vw;
        line-height: 16.002vw;
        font-weight: 500
    }

    .btns {
        gap: 4.0005vw
    }

    .btns .btn-counseling,
    .btns .btn-opencampus,
    .btns .btn-shiryo{
        width: auto;
        flex: 1 0 auto
    }

    .btns .btn-counseling:first-child:last-child,
    .btns .btn-opencampus:first-child:last-child,
    .btns .btn-shiryo:first-child:last-child{
        max-width: 50%
    }

    .btns + p {
        margin-top: 4.0005vw
    }

    .btns + p .icn-tri-right {
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center
    }

    .mod-cv,
    .mod-btns-frame {
        margin-top: 10.668vw
    }

    .mod-cv .cv,
    .mod-cv .btns-frame,
    .mod-btns-frame .cv,
    .mod-btns-frame .btns-frame {
        padding: 6.4008vw 3.7338vw
    }

    .mod-btns-frame .btns-frame .btns {
        margin-top: 4.0005vw
    }

    .mod-btns-frame .btns-frame .btns:first-child {
        margin-top: 0
    }

    .mod-btns-frame .btns-frame .schedule {
        margin-top: 4.0005vw
    }

    .mod-btns-frame .btns-frame .schedule.flex {
        gap: 2.667vw
    }

    .mod-btns-frame .btns-frame .schedule .hdr {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 16.002vw;
        background: #00a3e9;
        color: #fff;
        font-size: 3.2004vw;
        text-align: center
    }

    .mod-btns-frame .btns-frame .schedule ul {
        text-align: left
    }

    .hdr-lv2 {
        font-size: 5.6007vw
    }

    .hdr-lv2 + * {
        margin-top: 8.001vw
    }

    .hdr-lv3 {
        font-size: 4.2672vw
    }

    .hdr-lv3 + * {
        margin-top: 5.334vw
    }

    .hdr-sideline {
        line-height: 1.3;
        margin: 5.334vw 0 9.3345vw 0
    }

    .hdr-section {
        line-height: 1.4;
        letter-spacing: .075em
    }

    .hdr-section.s-thin {
        letter-spacing: -2px
    }

    .lead {
        line-height: 1.5
    }

    .courses li {
        margin-top: 9.3345vw
    }

    .courses li:first-child {
        margin-top: 0
    }

    .courses .item-class {
        font-size: 5.334vw
    }

    .courses *[class^=icn-] {
        font-size: 3.4671vw
    }

    #header {
        position: fixed;
        width: 100%;
        z-index: 10;
        box-sizing: border-box;
        height: 18.669vw;
        padding: 2.667vw 0
    }

    #header .btns {
        gap: 2.667vw
    }

    #header .btn-counseling,
    #header .btn-opencampus,
    #header .btn-shiryo{
        width: 20.0025vw
    }

    #header .btn-counseling a,
    #header .btn-opencampus a,
    #header .btn-shiryo a{
        box-sizing: border-box;
        height: 13.335vw;
        padding: 1.3335vw
    }

    #header .btn-counseling .icn-tri-right,
    #header .btn-opencampus .icn-tri-right,
    #header .btn-shiryo .icn-tri-right{
        display: none
    }

    #logo a {
        height: 10.4013vw
    }

    body:not(#toppage) #mainvisual {
        height: calc(100vh - 9.6012vw)
    }

    body:not(#toppage) #mainvisual .hdr-mainvisual.s-ls-normal {
        letter-spacing: normal
    }

    body:not(#toppage) #mainvisual .hdr-small {
        display: inline-block;
        margin-top: 3.4671vw;
        padding: 1.0668vw 4.0005vw;
        font-size: 3.2004vw;
        letter-spacing: .17em
    }

    #areaname {
        height: 9.6012vw;
        line-height: 9.6012vw;
        font-family: "Noto Sans JP", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
        font-size: 5.6007vw
    }

    #areaname + .hdr-lv2 {
        margin-top: 8.001vw
    }

    #jump_to_pagetop {
        display: none
    }

    #footer .section-inner {
        margin: 0
    }

    #footer .section-inner ul {
        padding: 0 2.667vw
    }

    #footer .section-inner ul li {
        padding-right: 2.667vw
    }

    #footer .section-inner ul a {
        display: flex;
        align-items: center;
        height: 11.7348vw
    }

    #copyright {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 8.001vw;
        margin-top: 0;
        border-top: 1px solid #ddd;
        font-size: 2.667vw;
        text-align: center
    }

    #campus-opencampus {
        padding: 9.3345vw 0 10.668vw 0
    }

    #campus-opencampus .list-opencampus {
        margin-top: 8.001vw;
        font-family: "Noto Sans JP", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif
    }

    #campus-opencampus .list-opencampus li {
        padding: 7.4676vw 0;
        font-weight: 500
    }

    #campus-opencampus .list-opencampus li > *:first-child {
        margin-top: 0
    }

    #campus-opencampus .list-opencampus li .opencampus-title {
        color: #00a3e9
    }

    #campus-opencampus .list-opencampus li .btn-blue {
        margin-top: 6.6675vw;
        font-size: 4.0005vw
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] {
        margin-top: 5.334vw;
        padding: 4.5339vw
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"]:first-child {
        margin-top: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] p:not(.btn-frame-blue-small) {
        margin: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat {
        margin-bottom: 1.3335vw;
        text-align: right;
        font-size: 2.667vw
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat span[class^=item-cat-] {
        margin-bottom: 1.3335vw;
        white-space: nowrap
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat span[class^=item-cat-]:first-child {
        margin-left: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-title {
        padding: 1.3335vw 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-title + * {
        margin-top: 4.5339vw
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img {
        width: 69.8754vw;
        margin: 0 auto
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img + .item-txt {
        margin-top: 3.125vw
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .btn-submit-wrapper::after {
        position: absolute;
        bottom: calc(50% - 1.6002vw);
        left: 16.002vw;
        width: 1.6002vw;
        height: 2.4003vw;
        margin-right: 1.8669vw;
        margin-bottom: 0;
        vertical-align: baseline
    }

    #campus-info {
        padding: 9.3345vw 0 10.668vw 0
    }

    #campus-info .bdr {
        padding: 8.001vw 3.7338vw 13.335vw
    }

    #campus-info #campus-list-map-image {
        margin-bottom: 5.334vw;
        padding-bottom: 13.335vw;
        border-bottom: solid 1px #ddd
    }

    #campus-info .campus-list-map {
        font-family: "Noto Sans JP", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif
    }

    #campus-info .campus-list-map .list-area dt label {
        padding-top: 5.334vw;
        padding-bottom: 5.334vw
    }

    #campus-info .campus-list-map .list-area dt label::before {
        margin-right: 3.2004vw
    }

    #campus-info .campus-list-map .list-area .lmt-hdr-sideline {
        margin: 0
    }

    #campus-info .campus-list-map .list-campus li {
        margin-left: 0
    }

    #campus-info .campus-list-map .list-campus li:first-child {
        margin-top: 0;
        border-width: 0
    }

    #campus-info .campus-list-map .list-campus .item-pref span {
        width: 16.002vw;
        text-align: center
    }

    #campus-info .campus-list-map .list-campus .item-name {
        margin-top: 0
    }

    #campus-info .campus-list-map .list-campus .item-address {
        margin-top: 0
    }

    #campus-info .campus-list-map .list-campus .item-access {
        display: block;
        color: #666
    }

    #campus-info .campus-list-map .details-body input[type=checkbox] ~ label {
        top: -13.335vw;
        right: 0;
        width: 8.001vw;
        height: 8.001vw;
        background-size: 4.0005vw auto;
        background-position: center calc(50% - 1px)
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus {
        padding-bottom: 10.668vw
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li {
        margin-top: 12.0015vw;
        padding-top: 12.0015vw;
        border-top: solid 1px #ddd
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li:first-child {
        margin-top: 0;
        border-width: 0
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-pref span {
        height: 5.6007vw;
        line-height: 5.6007vw
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-name {
        margin-top: 5.8674vw
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-address {
        margin-top: 5.8674vw
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-btn {
        margin-top: 8.001vw
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-btn a {
        height: 13.335vw;
        font-size: 3.7338vw
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-btn a::before {
        content: "";
        display: inline-block;
        width: 2.667vw;
        height: 2.667vw;
        margin-right: 3.4671vw;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2033.9%2020%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22layer_2%22%20data-name%3D%22layer%202%22%3E%3Cg%20id%3D%22layer_1-2%22%20data-name%3D%22layer%201%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M33.9%2C16.28%2C16.9%2C0%2C0%2C16.28%2C3.74%2C20%2C16.9%2C7.39%2C30.06%2C20Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
        transform: rotate(90deg)
    }

    .s-mt-0 {
        margin-top: 0
    }

    .s-mt-0 {
        margin-top: min(0vw, 0px) !important
    }

    .s-mr-0 {
        margin-right: min(0vw, 0px) !important
    }

    .s-mb-0 {
        margin-bottom: min(0vw, 0px) !important
    }

    .s-ml-0 {
        margin-left: min(0vw, 0px) !important
    }

    .s-pt-0 {
        padding-top: min(0vw, 0px) !important
    }

    .s-pr-0 {
        padding-right: min(0vw, 0px) !important
    }

    .s-pb-0 {
        padding-bottom: min(0vw, 0px) !important
    }

    .s-pl-0 {
        padding-left: min(0vw, 0px) !important
    }

    .s-mt-5 {
        margin-top: min(1.3335vw, 5px) !important
    }

    .s-mr-5 {
        margin-right: min(1.3335vw, 5px) !important
    }

    .s-mb-5 {
        margin-bottom: min(1.3335vw, 5px) !important
    }

    .s-ml-5 {
        margin-left: min(1.3335vw, 5px) !important
    }

    .s-pt-5 {
        padding-top: min(1.3335vw, 5px) !important
    }

    .s-pr-5 {
        padding-right: min(1.3335vw, 5px) !important
    }

    .s-pb-5 {
        padding-bottom: min(1.3335vw, 5px) !important
    }

    .s-pl-5 {
        padding-left: min(1.3335vw, 5px) !important
    }

    .s-mt-10 {
        margin-top: min(2.667vw, 10px) !important
    }

    .s-mr-10 {
        margin-right: min(2.667vw, 10px) !important
    }

    .s-mb-10 {
        margin-bottom: min(2.667vw, 10px) !important
    }

    .s-ml-10 {
        margin-left: min(2.667vw, 10px) !important
    }

    .s-pt-10 {
        padding-top: min(2.667vw, 10px) !important
    }

    .s-pr-10 {
        padding-right: min(2.667vw, 10px) !important
    }

    .s-pb-10 {
        padding-bottom: min(2.667vw, 10px) !important
    }

    .s-pl-10 {
        padding-left: min(2.667vw, 10px) !important
    }

    .s-mt-15 {
        margin-top: min(4.0005vw, 15px) !important
    }

    .s-mr-15 {
        margin-right: min(4.0005vw, 15px) !important
    }

    .s-mb-15 {
        margin-bottom: min(4.0005vw, 15px) !important
    }

    .s-ml-15 {
        margin-left: min(4.0005vw, 15px) !important
    }

    .s-pt-15 {
        padding-top: min(4.0005vw, 15px) !important
    }

    .s-pr-15 {
        padding-right: min(4.0005vw, 15px) !important
    }

    .s-pb-15 {
        padding-bottom: min(4.0005vw, 15px) !important
    }

    .s-pl-15 {
        padding-left: min(4.0005vw, 15px) !important
    }

    .s-mt-20 {
        margin-top: min(5.334vw, 20px) !important
    }

    .s-mr-20 {
        margin-right: min(5.334vw, 20px) !important
    }

    .s-mb-20 {
        margin-bottom: min(5.334vw, 20px) !important
    }

    .s-ml-20 {
        margin-left: min(5.334vw, 20px) !important
    }

    .s-pt-20 {
        padding-top: min(5.334vw, 20px) !important
    }

    .s-pr-20 {
        padding-right: min(5.334vw, 20px) !important
    }

    .s-pb-20 {
        padding-bottom: min(5.334vw, 20px) !important
    }

    .s-pl-20 {
        padding-left: min(5.334vw, 20px) !important
    }

    .s-mt-25 {
        margin-top: min(6.6675vw, 25px) !important
    }

    .s-mr-25 {
        margin-right: min(6.6675vw, 25px) !important
    }

    .s-mb-25 {
        margin-bottom: min(6.6675vw, 25px) !important
    }

    .s-ml-25 {
        margin-left: min(6.6675vw, 25px) !important
    }

    .s-pt-25 {
        padding-top: min(6.6675vw, 25px) !important
    }

    .s-pr-25 {
        padding-right: min(6.6675vw, 25px) !important
    }

    .s-pb-25 {
        padding-bottom: min(6.6675vw, 25px) !important
    }

    .s-pl-25 {
        padding-left: min(6.6675vw, 25px) !important
    }

    .s-mt-30 {
        margin-top: min(8.001vw, 30px) !important
    }

    .s-mr-30 {
        margin-right: min(8.001vw, 30px) !important
    }

    .s-mb-30 {
        margin-bottom: min(8.001vw, 30px) !important
    }

    .s-ml-30 {
        margin-left: min(8.001vw, 30px) !important
    }

    .s-pt-30 {
        padding-top: min(8.001vw, 30px) !important
    }

    .s-pr-30 {
        padding-right: min(8.001vw, 30px) !important
    }

    .s-pb-30 {
        padding-bottom: min(8.001vw, 30px) !important
    }

    .s-pl-30 {
        padding-left: min(8.001vw, 30px) !important
    }

    .s-mt-35 {
        margin-top: min(9.3345vw, 35px) !important
    }

    .s-mr-35 {
        margin-right: min(9.3345vw, 35px) !important
    }

    .s-mb-35 {
        margin-bottom: min(9.3345vw, 35px) !important
    }

    .s-ml-35 {
        margin-left: min(9.3345vw, 35px) !important
    }

    .s-pt-35 {
        padding-top: min(9.3345vw, 35px) !important
    }

    .s-pr-35 {
        padding-right: min(9.3345vw, 35px) !important
    }

    .s-pb-35 {
        padding-bottom: min(9.3345vw, 35px) !important
    }

    .s-pl-35 {
        padding-left: min(9.3345vw, 35px) !important
    }

    .s-mt-40 {
        margin-top: min(10.668vw, 40px) !important
    }

    .s-mr-40 {
        margin-right: min(10.668vw, 40px) !important
    }

    .s-mb-40 {
        margin-bottom: min(10.668vw, 40px) !important
    }

    .s-ml-40 {
        margin-left: min(10.668vw, 40px) !important
    }

    .s-pt-40 {
        padding-top: min(10.668vw, 40px) !important
    }

    .s-pr-40 {
        padding-right: min(10.668vw, 40px) !important
    }

    .s-pb-40 {
        padding-bottom: min(10.668vw, 40px) !important
    }

    .s-pl-40 {
        padding-left: min(10.668vw, 40px) !important
    }

    .s-mt-45 {
        margin-top: min(12.0015vw, 45px) !important
    }

    .s-mr-45 {
        margin-right: min(12.0015vw, 45px) !important
    }

    .s-mb-45 {
        margin-bottom: min(12.0015vw, 45px) !important
    }

    .s-ml-45 {
        margin-left: min(12.0015vw, 45px) !important
    }

    .s-pt-45 {
        padding-top: min(12.0015vw, 45px) !important
    }

    .s-pr-45 {
        padding-right: min(12.0015vw, 45px) !important
    }

    .s-pb-45 {
        padding-bottom: min(12.0015vw, 45px) !important
    }

    .s-pl-45 {
        padding-left: min(12.0015vw, 45px) !important
    }

    .s-mt-50 {
        margin-top: min(13.335vw, 50px) !important
    }

    .s-mr-50 {
        margin-right: min(13.335vw, 50px) !important
    }

    .s-mb-50 {
        margin-bottom: min(13.335vw, 50px) !important
    }

    .s-ml-50 {
        margin-left: min(13.335vw, 50px) !important
    }

    .s-pt-50 {
        padding-top: min(13.335vw, 50px) !important
    }

    .s-pr-50 {
        padding-right: min(13.335vw, 50px) !important
    }

    .s-pb-50 {
        padding-bottom: min(13.335vw, 50px) !important
    }

    .s-pl-50 {
        padding-left: min(13.335vw, 50px) !important
    }

    .s-mt-55 {
        margin-top: min(14.6685vw, 55px) !important
    }

    .s-mr-55 {
        margin-right: min(14.6685vw, 55px) !important
    }

    .s-mb-55 {
        margin-bottom: min(14.6685vw, 55px) !important
    }

    .s-ml-55 {
        margin-left: min(14.6685vw, 55px) !important
    }

    .s-pt-55 {
        padding-top: min(14.6685vw, 55px) !important
    }

    .s-pr-55 {
        padding-right: min(14.6685vw, 55px) !important
    }

    .s-pb-55 {
        padding-bottom: min(14.6685vw, 55px) !important
    }

    .s-pl-55 {
        padding-left: min(14.6685vw, 55px) !important
    }

    .s-mt-60 {
        margin-top: min(16.002vw, 60px) !important
    }

    .s-mr-60 {
        margin-right: min(16.002vw, 60px) !important
    }

    .s-mb-60 {
        margin-bottom: min(16.002vw, 60px) !important
    }

    .s-ml-60 {
        margin-left: min(16.002vw, 60px) !important
    }

    .s-pt-60 {
        padding-top: min(16.002vw, 60px) !important
    }

    .s-pr-60 {
        padding-right: min(16.002vw, 60px) !important
    }

    .s-pb-60 {
        padding-bottom: min(16.002vw, 60px) !important
    }

    .s-pl-60 {
        padding-left: min(16.002vw, 60px) !important
    }

    .s-mt-65 {
        margin-top: min(17.3355vw, 65px) !important
    }

    .s-mr-65 {
        margin-right: min(17.3355vw, 65px) !important
    }

    .s-mb-65 {
        margin-bottom: min(17.3355vw, 65px) !important
    }

    .s-ml-65 {
        margin-left: min(17.3355vw, 65px) !important
    }

    .s-pt-65 {
        padding-top: min(17.3355vw, 65px) !important
    }

    .s-pr-65 {
        padding-right: min(17.3355vw, 65px) !important
    }

    .s-pb-65 {
        padding-bottom: min(17.3355vw, 65px) !important
    }

    .s-pl-65 {
        padding-left: min(17.3355vw, 65px) !important
    }

    .s-mt-70 {
        margin-top: min(18.669vw, 70px) !important
    }

    .s-mr-70 {
        margin-right: min(18.669vw, 70px) !important
    }

    .s-mb-70 {
        margin-bottom: min(18.669vw, 70px) !important
    }

    .s-ml-70 {
        margin-left: min(18.669vw, 70px) !important
    }

    .s-pt-70 {
        padding-top: min(18.669vw, 70px) !important
    }

    .s-pr-70 {
        padding-right: min(18.669vw, 70px) !important
    }

    .s-pb-70 {
        padding-bottom: min(18.669vw, 70px) !important
    }

    .s-pl-70 {
        padding-left: min(18.669vw, 70px) !important
    }

    .s-mt-75 {
        margin-top: min(20.0025vw, 75px) !important
    }

    .s-mr-75 {
        margin-right: min(20.0025vw, 75px) !important
    }

    .s-mb-75 {
        margin-bottom: min(20.0025vw, 75px) !important
    }

    .s-ml-75 {
        margin-left: min(20.0025vw, 75px) !important
    }

    .s-pt-75 {
        padding-top: min(20.0025vw, 75px) !important
    }

    .s-pr-75 {
        padding-right: min(20.0025vw, 75px) !important
    }

    .s-pb-75 {
        padding-bottom: min(20.0025vw, 75px) !important
    }

    .s-pl-75 {
        padding-left: min(20.0025vw, 75px) !important
    }

    .s-mt-80 {
        margin-top: min(21.336vw, 80px) !important
    }

    .s-mr-80 {
        margin-right: min(21.336vw, 80px) !important
    }

    .s-mb-80 {
        margin-bottom: min(21.336vw, 80px) !important
    }

    .s-ml-80 {
        margin-left: min(21.336vw, 80px) !important
    }

    .s-pt-80 {
        padding-top: min(21.336vw, 80px) !important
    }

    .s-pr-80 {
        padding-right: min(21.336vw, 80px) !important
    }

    .s-pb-80 {
        padding-bottom: min(21.336vw, 80px) !important
    }

    .s-pl-80 {
        padding-left: min(21.336vw, 80px) !important
    }

    .s-mt-85 {
        margin-top: min(22.6695vw, 85px) !important
    }

    .s-mr-85 {
        margin-right: min(22.6695vw, 85px) !important
    }

    .s-mb-85 {
        margin-bottom: min(22.6695vw, 85px) !important
    }

    .s-ml-85 {
        margin-left: min(22.6695vw, 85px) !important
    }

    .s-pt-85 {
        padding-top: min(22.6695vw, 85px) !important
    }

    .s-pr-85 {
        padding-right: min(22.6695vw, 85px) !important
    }

    .s-pb-85 {
        padding-bottom: min(22.6695vw, 85px) !important
    }

    .s-pl-85 {
        padding-left: min(22.6695vw, 85px) !important
    }

    .s-mt-90 {
        margin-top: min(24.003vw, 90px) !important
    }

    .s-mr-90 {
        margin-right: min(24.003vw, 90px) !important
    }

    .s-mb-90 {
        margin-bottom: min(24.003vw, 90px) !important
    }

    .s-ml-90 {
        margin-left: min(24.003vw, 90px) !important
    }

    .s-pt-90 {
        padding-top: min(24.003vw, 90px) !important
    }

    .s-pr-90 {
        padding-right: min(24.003vw, 90px) !important
    }

    .s-pb-90 {
        padding-bottom: min(24.003vw, 90px) !important
    }

    .s-pl-90 {
        padding-left: min(24.003vw, 90px) !important
    }

    .s-mt-95 {
        margin-top: min(25.3365vw, 95px) !important
    }

    .s-mr-95 {
        margin-right: min(25.3365vw, 95px) !important
    }

    .s-mb-95 {
        margin-bottom: min(25.3365vw, 95px) !important
    }

    .s-ml-95 {
        margin-left: min(25.3365vw, 95px) !important
    }

    .s-pt-95 {
        padding-top: min(25.3365vw, 95px) !important
    }

    .s-pr-95 {
        padding-right: min(25.3365vw, 95px) !important
    }

    .s-pb-95 {
        padding-bottom: min(25.3365vw, 95px) !important
    }

    .s-pl-95 {
        padding-left: min(25.3365vw, 95px) !important
    }

    .s-mt-100 {
        margin-top: min(26.67vw, 100px) !important
    }

    .s-mr-100 {
        margin-right: min(26.67vw, 100px) !important
    }

    .s-mb-100 {
        margin-bottom: min(26.67vw, 100px) !important
    }

    .s-ml-100 {
        margin-left: min(26.67vw, 100px) !important
    }

    .s-pt-100 {
        padding-top: min(26.67vw, 100px) !important
    }

    .s-pr-100 {
        padding-right: min(26.67vw, 100px) !important
    }

    .s-pb-100 {
        padding-bottom: min(26.67vw, 100px) !important
    }

    .s-pl-100 {
        padding-left: min(26.67vw, 100px) !important
    }

    #toppage #mainvisual {
        max-height: calc(100vh - 9.6012vw);
        overflow-y: hidden
    }

    #toppage #mainvisual .slide-item {
        height: calc(100vh - 9.6012vw);
        overflow: hidden
    }

    #toppage #mainvisual .slide-item img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    #toppage .class-large .item-txt {
        margin-top: 5.334vw
    }

    #toppage .class-small .s-flex {
        margin-top: 10.668vw
    }

    #toppage .class-small .s-flex:first-of-type {
        margin-top: 0
    }

    #toppage .class-small .s-flex > .flex-item {
        flex: 1
    }

    #toppage .class-small .hdr {
        padding: 4.0005vw 2.667vw 4.0005vw 4.0005vw
    }

    #toppage .steps .step {
        position: relative;
        padding-bottom: 16.002vw
    }

    #toppage .steps .step::after {
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center;
        transform: translateX(-50%) rotate(90deg);
        position: absolute;
        bottom: 4.0005vw;
        left: 50%;
        width: 5.334vw;
        height: 8.001vw
    }

    #toppage .steps .step:last-child {
        padding-bottom: 0
    }

    #toppage .steps .step:last-child::after {
        display: none
    }

    #toppage .steps .step-1 .step-program {
        padding-bottom: 16.002vw;
        background: url(../img/toppage/step1_bg.png) no-repeat right bottom;
        background-size: 47.8% auto
    }

    #toppage .steps .step-2 .step-program {
        padding-bottom: 25.3365vw;
        background: url(../img/toppage/step2_bg.png) no-repeat right bottom;
        background-size: 47.8% auto
    }

    #toppage .steps .step-3 .step-program {
        background: url(../img/toppage/step3_bg.png) no-repeat right bottom;
        background-size: 47.8% auto
    }

    #toppage .steps .step-3 ul {
        padding-bottom: 17.3355vw
    }

    #toppage .forperson {
        flex-wrap: wrap;
        gap: 4.0005vw
    }

    #toppage .forperson .flex-item {
        position: relative;
        box-sizing: border-box
    }

    #toppage .forperson .item-txt {
        padding: 4.0005vw 4.0005vw 21.0693vw
    }

    #toppage .forperson .btn-blue {
        bottom: 4.0005vw;
        width: calc(100% - 8.001vw)
    }

    #jh .point .item-txt {
        margin-top: 4.0005vw
    }

    #hs .highschool section .item-txt {
        margin-top: 5.334vw
    }

    #family .support section {
        margin-top: 9.3345vw
    }

    #family .support section:first-of-type {
        margin-top: 0
    }
}

@media only screen and (orientation: landscape)and (min-width: 821px),
print {
    body {
        --p-flex-gap: 20px
    }

    label:hover {
        cursor: pointer
    }

    .section-inner {
        max-width: 1000px;
        margin-right: auto;
        margin-left: auto
    }

    .wide-container {
        margin-left: -22px;
        margin-right: -22px
    }

    .p-none {
        display: none !important
    }

    .p-block {
        display: block
    }

    .p-grid {
        display: grid
    }

    .p-flex {
        display: flex
    }

    .p-ib {
        display: inline-block
    }

    .p-inline {
        display: inline
    }

    .p-flex-rvs,
    .p-flex-rvrs,
    .p-flex-rsrv {
        flex-direction: row-reverse
    }

    .flex.flex-center,
    .flex.p-flex-center,
    .p-flex.flex-center,
    .p-flex.p-flex-center {
        justify-content: center
    }

    .flex.flex-vcenter,
    .flex.p-flex-vcenter,
    .p-flex.flex-vcenter,
    .p-flex.p-flex-vcenter {
        align-items: center
    }

    .flex.btw,
    .flex.p-btw,
    .p-flex.btw,
    .p-flex.p-btw {
        justify-content: space-between
    }

    .flex.flex-column,
    .flex.p-flex-column,
    .p-flex.flex-column,
    .p-flex.p-flex-column {
        flex-direction: column
    }

    .flex.p-flex-reverse,
    .p-flex.p-flex-reverse {
        flex-direction: row-reverse
    }

    .flex.flex-evenly > .flex-item,
    .flex.p-flex-evenly > .flex-item,
    .p-flex.flex-evenly > .flex-item,
    .p-flex.p-flex-evenly > .flex-item {
        flex: 1
    }

    .flex.p-gap-30,
    .p-flex.p-gap-30 {
        --p-flex-gap: 30px;
        gap: var(--p-flex-gap)
    }

    .flex.p-gap-35,
    .p-flex.p-gap-35 {
        --p-flex-gap: 35px;
        gap: var(--p-flex-gap)
    }

    .flex.p-gap-40,
    .p-flex.p-gap-40 {
        --p-flex-gap: 40px;
        gap: var(--p-flex-gap)
    }

    .flex.p-gap-70-40,
    .p-flex.p-gap-70-40 {
        --p-flex-gap: 40px;
        --p-flex-row-gap: 70px;
        --p-flex-column-gap: var(--p-flex-gap);
        gap: var(--p-flex-row-gap) var(--p-flex-column-gap)
    }

    .flex.p-gap-50,
    .p-flex.p-gap-50 {
        --p-flex-gap: 50px;
        gap: var(--p-flex-gap)
    }

    .flex.p-gap-60,
    .p-flex.p-gap-60 {
        --p-flex-gap: 60px;
        gap: var(--p-flex-gap)
    }

    .flex.p-col-2,
    .p-flex.p-col-2 {
        flex-wrap: wrap
    }

    .flex.p-col-2 > .flex-item,
    .p-flex.p-col-2 > .flex-item {
        flex: 0 1 calc((100% - var(--p-flex-gap))/2)
    }

    .flex.p-col-3,
    .p-flex.p-col-3 {
        flex-wrap: wrap
    }

    .flex.p-col-3 > .flex-item,
    .p-flex.p-col-3 > .flex-item {
        flex: 0 1 calc((100% - var(--p-flex-gap)*2)/3)
    }

    .flex.p-col-4,
    .p-flex.p-col-4 {
        flex-wrap: wrap
    }

    .flex.p-col-4 > .flex-item,
    .p-flex.p-col-4 > .flex-item {
        flex: 0 0 calc((100% - var(--p-flex-gap)*3)/4)
    }

    .p-float-l {
        float: left
    }

    .p-float-r {
        float: right
    }

    .p-align-left {
        text-align: left
    }

    .p-align-center {
        text-align: center
    }

    .p-align-right {
        text-align: right
    }

    .p-font-mincho {
        font-family: "a-otf-ryumin-pr6n", "Noto Serif JP", serif
    }

    .p-font-gothic {
        font-family: "Noto Sans JP", "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", Arial, Roboto, "Droid Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif
    }

    .p-font-palt {
        font-feature-settings: "palt"
    }

    .p-font-15 {
        font-size: 15px !important
    }

    .p-font-18 {
        font-size: 18px !important
    }

    .p-font-24 {
        font-size: 24px !important
    }

    .list-square li {
        line-height: 28px;
        padding-left: 28px;
        text-indent: -28px
    }

    .list-square li::before {
        width: 28px;
        height: 28px;
        margin-right: 10px
    }

    .list-square li:not(:first-child) {
        margin-top: 1em
    }

    .icn-tri-right,
    .icn-tri-right-blue {
        width: 7px;
        height: 10px;
        margin-right: 8px
    }

    .btn-counseling a,
    .btn-opencampus a,
    .btn-shiryo a{
        width: 230px;
        height: 48px
    }

    .btn-blue.p-align-center {
        margin-right: auto;
        margin-left: auto
    }

    .btn-bdr-blue.align-center,
    .btn-frame-blue-small.align-center {
        margin-right: auto;
        margin-left: auto
    }

    .btn-frame-blue-small input[type=submit] {
        width: 100%;
        height: 48px
    }

    .btns {
        gap: 16px;
        font-size: 2.1rem
    }

    .btns .btn-counseling,
    .btns .btn-opencampus,
    .btns .btn-shiryo{
        width: auto;
        flex: 0 1 360px
    }

    .btns .btn-counseling a,
    .btns .btn-opencampus a,
    .btns .btn-shiryo a{
        width: auto;
        height: 70px
    }

    .btns + p {
        margin-top: 25px
    }

    .btns + p a:hover {
        text-decoration: underline
    }

    .btns + p .icn-tri-right {
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center
    }

    .mod-cv .cv,
    .mod-cv .btns-frame,
    .mod-btns-frame .cv,
    .mod-btns-frame .btns-frame {
        padding: 48px
    }

    .mod-cv .cv .btns,
    .mod-cv .btns-frame .btns,
    .mod-btns-frame .cv .btns,
    .mod-btns-frame .btns-frame .btns {
        max-width: 740px;
        margin-right: auto;
        margin-left: auto
    }

    .mod-cv .cv .btns + p,
    .mod-cv .btns-frame .btns + p,
    .mod-btns-frame .cv .btns + p,
    .mod-btns-frame .btns-frame .btns + p {
        letter-spacing: .1em
    }

    .mod-btns-frame {
        margin-top: 20px
    }

    .mod-btns-frame:first-child {
        margin-top: 0
    }

    .mod-btns-frame .btns-frame .btns {
        margin-top: 25px
    }

    .mod-btns-frame .btns-frame .btns:first-child {
        margin-top: 0
    }

    .mod-btns-frame .btns-frame .schedule {
        margin-top: 30px
    }

    .mod-btns-frame .btns-frame .schedule.flex {
        gap: 20px
    }

    .mod-btns-frame .btns-frame .schedule .hdr {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 90px;
        background: #00a3e9;
        color: #fff;
        font-size: 1.5rem;
        text-align: center
    }

    .mod-btns-frame .btns-frame .schedule ul {
        text-align: left
    }

    .hdr-lv2 {
        font-size: 3rem
    }

    .hdr-lv2 + * {
        margin-top: 60px
    }

    .hdr-lv3 {
        font-size: 2.4rem
    }

    .hdr-lv3 + * {
        margin-top: 40px
    }

    .hdr-main {
        font-size: 3rem
    }

    .hdr-sideline {
        line-height: 1.153
    }

    .hdr-sideline + * {
        margin-top: 0
    }

    .hdr-section {
        line-height: 1.2;
        letter-spacing: .1em
    }

    .hdr-movie {
        line-height: 1.2
    }

    .hdr-movie::before,
    .hdr-movie::after {
        display: inline;
        content: "～"
    }

    .lead {
        line-height: 2
    }

    .courses .item-class {
        font-size: min(5.334vw, 22px)
    }

    .courses *[class^=icn-] {
        font-size: min(3.4671vw, 16px)
    }

    #header {
        position: fixed;
        width: 100%;
        height: 80px;
        z-index: 10
    }

    #header .section-inner {
        width: auto;
        max-width: 1080px;
        padding: 0 20px
    }

    #header .flex {
        align-items: flex-end;
        height: 80px;
        padding-bottom: 20px
    }

    #header .btns {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        font-size: 1.8rem
    }

    #header .btn-counseling a,
    #header .btn-opencampus a,
    #header .btn-shiryo a{
        width: 160px;
        height: 40px
    }

    #logo a {
        height: 40px
    }

    body:not(#toppage) #mainvisual {
        height: calc(100vh - 50px);
        aspect-ratio: 1280/720
    }

    body:not(#toppage) #mainvisual .hdr-small,
    body:not(#toppage) #mainvisual .hdr-mainvisual-sub {
        line-height: 1.3;
        margin-top: 20px;
        padding: 10px 30px;
        font-size: 2.4rem
    }

    #areaname {
        height: 50px
    }

    #jump_to_pagetop {
        position: fixed;
        bottom: 36px;
        right: calc(50% - 520px);
        visibility: hidden;
        opacity: 0;
        transition: all .5s
    }

    #jump_to_pagetop a {
        overflow: hidden;
        text-indent: 100%;
        white-space: nowrap;
        display: block;
        width: 60px;
        height: 60px;
        margin-left: auto;
        border: 2px solid #fff;
        border-radius: 50% 50%;
        background: #00a3e9 url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2033.9%2020%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22layer_2%22%20data-name%3D%22layer%202%22%3E%3Cg%20id%3D%22layer_1-2%22%20data-name%3D%22layer%201%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M33.9%2C16.28%2C16.9%2C0%2C0%2C16.28%2C3.74%2C20%2C16.9%2C7.39%2C30.06%2C20Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
        background-size: auto 22px;
        transition: all .5s ease
    }

    #jump_to_pagetop a:hover {
        background: #4cbeef url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2033.9%2020%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22layer_2%22%20data-name%3D%22layer%202%22%3E%3Cg%20id%3D%22layer_1-2%22%20data-name%3D%22layer%201%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M33.9%2C16.28%2C16.9%2C0%2C0%2C16.28%2C3.74%2C20%2C16.9%2C7.39%2C30.06%2C20Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center;
        background-size: auto 22px
    }

    #jump_to_pagetop.show {
        opacity: 1;
        visibility: visible
    }

    #footer .p-flex {
        align-items: center;
        height: 52px
    }

    #footer .p-flex ul {
        font-size: 14px
    }

    #footer .p-flex ul li {
        padding-right: 1em
    }

    #footer .p-flex ul a:hover {
        text-decoration: underline
    }

    #copyright {
        margin-top: 0
    }

    #campus-opencampus {
        padding: 70px 0 80px 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] {
        margin-top: 20px;
        padding: 22px 28px 38px 28px
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"]:first-child {
        margin-top: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] p:not(.btn-frame-blue-small) {
        margin: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] > .p-flex {
        margin-top: 20px
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] > .p-flex:first-child {
        align-items: center;
        flex-direction: row-reverse;
        justify-content: space-between;
        margin-top: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] > .flex {
        margin-top: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat {
        margin-left: 20px;
        white-space: nowrap
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat span[class^=item-cat-] {
        height: 24px;
        line-height: 24px
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-cat span[class^=item-cat-]:first-child {
        margin-left: 0
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-title {
        line-height: 1.8;
        margin-top: 10px
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .item-img {
        flex-basis: 235px;
        flex-shrink: 0;
        margin-right: 20px
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .btn-submit-wrapper::after {
        bottom: calc(50% - 6px);
        left: 70px
    }

    #campus-opencampus .list-opencampus li[data-opencampus="1"] .btn-frame-blue-small input[type=submit] {
        padding-left: 10px
    }

    #campus-info {
        padding: 70px 0 80px 0
    }

    #campus-info .bdr {
        padding: 60px 28px
    }

    #campus-info #campus-list-map-image {
        width: 680px;
        margin-right: auto;
        margin-left: auto
    }

    #campus-info #campus-list-map-image + * {
        margin-top: 100px
    }

    #campus-info .list-area-wrapper {
        margin-top: 0
    }

    #campus-info .campus-list-map {
        font-family: "Noto Sans JP", "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif
    }

    #campus-info .campus-list-map .list-area dt label {
        padding-top: 30px;
        padding-bottom: 30px
    }

    #campus-info .campus-list-map .list-area dt label::before {
        margin-right: 20px
    }

    #campus-info .campus-list-map .list-area .lmt-hdr-sideline {
        margin-bottom: 0
    }

    #campus-info .campus-list-map .list-campus {
        margin-top: 0
    }

    #campus-info .campus-list-map .list-campus li {
        display: flex;
        margin-left: 0;
        padding-right: 20px;
        padding-left: 20px
    }

    #campus-info .campus-list-map .list-campus li:first-child {
        margin-top: 0;
        padding-top: 0;
        border-top-style: none
    }

    #campus-info .campus-list-map .list-campus li .item-pref {
        flex-basis: 70px;
        height: 0;
        margin-right: 15px
    }

    #campus-info .campus-list-map .list-campus li .item-pref span {
        width: 70px;
        height: 0;
        line-height: 0
    }

    #campus-info .campus-list-map .list-campus li .item-name {
        flex-basis: 185px;
        margin-right: 25px
    }

    #campus-info .campus-list-map .list-campus li .item-address {
        flex-basis: 400px;
        margin-right: 25px
    }

    #campus-info .campus-list-map .list-campus li .item-access {
        margin-top: 10px
    }

    #campus-info .campus-list-map .list-campus li .item-btn {
        flex-basis: 180px
    }

    #campus-info .campus-list-map .details-body {
        border-top-width: 3px
    }

    #campus-info .campus-list-map .details-body input[type=checkbox] ~ label {
        top: -61px;
        right: 0;
        width: 32px;
        height: 32px;
        background-position: 50.7% calc(50% - 1px)
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li {
        padding-top: 45px;
        padding-bottom: 45px;
        border-top: solid 1px #ddd
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li:first-child {
        border-top-style: none
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-pref span {
        height: 24px;
        line-height: 24px
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-name {
        line-height: 24px
    }

    #campus-info .campus-list-map .details-body input[type=checkbox]:checked ~ .list-campus li .item-btn a {
        width: 180px;
        height: 46px
    }

    .p-mt-0 {
        margin-top: 0
    }

    .p-mt-0 {
        margin-top: min(0vw, 0px) !important
    }

    .p-mr-0 {
        margin-right: min(0vw, 0px) !important
    }

    .p-mb-0 {
        margin-bottom: min(0vw, 0px) !important
    }

    .p-ml-0 {
        margin-left: min(0vw, 0px) !important
    }

    .p-pt-0 {
        padding-top: min(0vw, 0px) !important
    }

    .p-pr-0 {
        padding-right: min(0vw, 0px) !important
    }

    .p-pb-0 {
        padding-bottom: min(0vw, 0px) !important
    }

    .p-pl-0 {
        padding-left: min(0vw, 0px) !important
    }

    .p-mt-5 {
        margin-top: min(1.3335vw, 5px) !important
    }

    .p-mr-5 {
        margin-right: min(1.3335vw, 5px) !important
    }

    .p-mb-5 {
        margin-bottom: min(1.3335vw, 5px) !important
    }

    .p-ml-5 {
        margin-left: min(1.3335vw, 5px) !important
    }

    .p-pt-5 {
        padding-top: min(1.3335vw, 5px) !important
    }

    .p-pr-5 {
        padding-right: min(1.3335vw, 5px) !important
    }

    .p-pb-5 {
        padding-bottom: min(1.3335vw, 5px) !important
    }

    .p-pl-5 {
        padding-left: min(1.3335vw, 5px) !important
    }

    .p-mt-10 {
        margin-top: min(2.667vw, 10px) !important
    }

    .p-mr-10 {
        margin-right: min(2.667vw, 10px) !important
    }

    .p-mb-10 {
        margin-bottom: min(2.667vw, 10px) !important
    }

    .p-ml-10 {
        margin-left: min(2.667vw, 10px) !important
    }

    .p-pt-10 {
        padding-top: min(2.667vw, 10px) !important
    }

    .p-pr-10 {
        padding-right: min(2.667vw, 10px) !important
    }

    .p-pb-10 {
        padding-bottom: min(2.667vw, 10px) !important
    }

    .p-pl-10 {
        padding-left: min(2.667vw, 10px) !important
    }

    .p-mt-15 {
        margin-top: min(4.0005vw, 15px) !important
    }

    .p-mr-15 {
        margin-right: min(4.0005vw, 15px) !important
    }

    .p-mb-15 {
        margin-bottom: min(4.0005vw, 15px) !important
    }

    .p-ml-15 {
        margin-left: min(4.0005vw, 15px) !important
    }

    .p-pt-15 {
        padding-top: min(4.0005vw, 15px) !important
    }

    .p-pr-15 {
        padding-right: min(4.0005vw, 15px) !important
    }

    .p-pb-15 {
        padding-bottom: min(4.0005vw, 15px) !important
    }

    .p-pl-15 {
        padding-left: min(4.0005vw, 15px) !important
    }

    .p-mt-20 {
        margin-top: min(5.334vw, 20px) !important
    }

    .p-mr-20 {
        margin-right: min(5.334vw, 20px) !important
    }

    .p-mb-20 {
        margin-bottom: min(5.334vw, 20px) !important
    }

    .p-ml-20 {
        margin-left: min(5.334vw, 20px) !important
    }

    .p-pt-20 {
        padding-top: min(5.334vw, 20px) !important
    }

    .p-pr-20 {
        padding-right: min(5.334vw, 20px) !important
    }

    .p-pb-20 {
        padding-bottom: min(5.334vw, 20px) !important
    }

    .p-pl-20 {
        padding-left: min(5.334vw, 20px) !important
    }

    .p-mt-25 {
        margin-top: min(6.6675vw, 25px) !important
    }

    .p-mr-25 {
        margin-right: min(6.6675vw, 25px) !important
    }

    .p-mb-25 {
        margin-bottom: min(6.6675vw, 25px) !important
    }

    .p-ml-25 {
        margin-left: min(6.6675vw, 25px) !important
    }

    .p-pt-25 {
        padding-top: min(6.6675vw, 25px) !important
    }

    .p-pr-25 {
        padding-right: min(6.6675vw, 25px) !important
    }

    .p-pb-25 {
        padding-bottom: min(6.6675vw, 25px) !important
    }

    .p-pl-25 {
        padding-left: min(6.6675vw, 25px) !important
    }

    .p-mt-30 {
        margin-top: min(8.001vw, 30px) !important
    }

    .p-mr-30 {
        margin-right: min(8.001vw, 30px) !important
    }

    .p-mb-30 {
        margin-bottom: min(8.001vw, 30px) !important
    }

    .p-ml-30 {
        margin-left: min(8.001vw, 30px) !important
    }

    .p-pt-30 {
        padding-top: min(8.001vw, 30px) !important
    }

    .p-pr-30 {
        padding-right: min(8.001vw, 30px) !important
    }

    .p-pb-30 {
        padding-bottom: min(8.001vw, 30px) !important
    }

    .p-pl-30 {
        padding-left: min(8.001vw, 30px) !important
    }

    .p-mt-35 {
        margin-top: min(9.3345vw, 35px) !important
    }

    .p-mr-35 {
        margin-right: min(9.3345vw, 35px) !important
    }

    .p-mb-35 {
        margin-bottom: min(9.3345vw, 35px) !important
    }

    .p-ml-35 {
        margin-left: min(9.3345vw, 35px) !important
    }

    .p-pt-35 {
        padding-top: min(9.3345vw, 35px) !important
    }

    .p-pr-35 {
        padding-right: min(9.3345vw, 35px) !important
    }

    .p-pb-35 {
        padding-bottom: min(9.3345vw, 35px) !important
    }

    .p-pl-35 {
        padding-left: min(9.3345vw, 35px) !important
    }

    .p-mt-40 {
        margin-top: min(10.668vw, 40px) !important
    }

    .p-mr-40 {
        margin-right: min(10.668vw, 40px) !important
    }

    .p-mb-40 {
        margin-bottom: min(10.668vw, 40px) !important
    }

    .p-ml-40 {
        margin-left: min(10.668vw, 40px) !important
    }

    .p-pt-40 {
        padding-top: min(10.668vw, 40px) !important
    }

    .p-pr-40 {
        padding-right: min(10.668vw, 40px) !important
    }

    .p-pb-40 {
        padding-bottom: min(10.668vw, 40px) !important
    }

    .p-pl-40 {
        padding-left: min(10.668vw, 40px) !important
    }

    .p-mt-45 {
        margin-top: min(12.0015vw, 45px) !important
    }

    .p-mr-45 {
        margin-right: min(12.0015vw, 45px) !important
    }

    .p-mb-45 {
        margin-bottom: min(12.0015vw, 45px) !important
    }

    .p-ml-45 {
        margin-left: min(12.0015vw, 45px) !important
    }

    .p-pt-45 {
        padding-top: min(12.0015vw, 45px) !important
    }

    .p-pr-45 {
        padding-right: min(12.0015vw, 45px) !important
    }

    .p-pb-45 {
        padding-bottom: min(12.0015vw, 45px) !important
    }

    .p-pl-45 {
        padding-left: min(12.0015vw, 45px) !important
    }

    .p-mt-50 {
        margin-top: min(13.335vw, 50px) !important
    }

    .p-mr-50 {
        margin-right: min(13.335vw, 50px) !important
    }

    .p-mb-50 {
        margin-bottom: min(13.335vw, 50px) !important
    }

    .p-ml-50 {
        margin-left: min(13.335vw, 50px) !important
    }

    .p-pt-50 {
        padding-top: min(13.335vw, 50px) !important
    }

    .p-pr-50 {
        padding-right: min(13.335vw, 50px) !important
    }

    .p-pb-50 {
        padding-bottom: min(13.335vw, 50px) !important
    }

    .p-pl-50 {
        padding-left: min(13.335vw, 50px) !important
    }

    .p-mt-55 {
        margin-top: min(14.6685vw, 55px) !important
    }

    .p-mr-55 {
        margin-right: min(14.6685vw, 55px) !important
    }

    .p-mb-55 {
        margin-bottom: min(14.6685vw, 55px) !important
    }

    .p-ml-55 {
        margin-left: min(14.6685vw, 55px) !important
    }

    .p-pt-55 {
        padding-top: min(14.6685vw, 55px) !important
    }

    .p-pr-55 {
        padding-right: min(14.6685vw, 55px) !important
    }

    .p-pb-55 {
        padding-bottom: min(14.6685vw, 55px) !important
    }

    .p-pl-55 {
        padding-left: min(14.6685vw, 55px) !important
    }

    .p-mt-60 {
        margin-top: min(16.002vw, 60px) !important
    }

    .p-mr-60 {
        margin-right: min(16.002vw, 60px) !important
    }

    .p-mb-60 {
        margin-bottom: min(16.002vw, 60px) !important
    }

    .p-ml-60 {
        margin-left: min(16.002vw, 60px) !important
    }

    .p-pt-60 {
        padding-top: min(16.002vw, 60px) !important
    }

    .p-pr-60 {
        padding-right: min(16.002vw, 60px) !important
    }

    .p-pb-60 {
        padding-bottom: min(16.002vw, 60px) !important
    }

    .p-pl-60 {
        padding-left: min(16.002vw, 60px) !important
    }

    .p-mt-65 {
        margin-top: min(17.3355vw, 65px) !important
    }

    .p-mr-65 {
        margin-right: min(17.3355vw, 65px) !important
    }

    .p-mb-65 {
        margin-bottom: min(17.3355vw, 65px) !important
    }

    .p-ml-65 {
        margin-left: min(17.3355vw, 65px) !important
    }

    .p-pt-65 {
        padding-top: min(17.3355vw, 65px) !important
    }

    .p-pr-65 {
        padding-right: min(17.3355vw, 65px) !important
    }

    .p-pb-65 {
        padding-bottom: min(17.3355vw, 65px) !important
    }

    .p-pl-65 {
        padding-left: min(17.3355vw, 65px) !important
    }

    .p-mt-70 {
        margin-top: min(18.669vw, 70px) !important
    }

    .p-mr-70 {
        margin-right: min(18.669vw, 70px) !important
    }

    .p-mb-70 {
        margin-bottom: min(18.669vw, 70px) !important
    }

    .p-ml-70 {
        margin-left: min(18.669vw, 70px) !important
    }

    .p-pt-70 {
        padding-top: min(18.669vw, 70px) !important
    }

    .p-pr-70 {
        padding-right: min(18.669vw, 70px) !important
    }

    .p-pb-70 {
        padding-bottom: min(18.669vw, 70px) !important
    }

    .p-pl-70 {
        padding-left: min(18.669vw, 70px) !important
    }

    .p-mt-75 {
        margin-top: min(20.0025vw, 75px) !important
    }

    .p-mr-75 {
        margin-right: min(20.0025vw, 75px) !important
    }

    .p-mb-75 {
        margin-bottom: min(20.0025vw, 75px) !important
    }

    .p-ml-75 {
        margin-left: min(20.0025vw, 75px) !important
    }

    .p-pt-75 {
        padding-top: min(20.0025vw, 75px) !important
    }

    .p-pr-75 {
        padding-right: min(20.0025vw, 75px) !important
    }

    .p-pb-75 {
        padding-bottom: min(20.0025vw, 75px) !important
    }

    .p-pl-75 {
        padding-left: min(20.0025vw, 75px) !important
    }

    .p-mt-80 {
        margin-top: min(21.336vw, 80px) !important
    }

    .p-mr-80 {
        margin-right: min(21.336vw, 80px) !important
    }

    .p-mb-80 {
        margin-bottom: min(21.336vw, 80px) !important
    }

    .p-ml-80 {
        margin-left: min(21.336vw, 80px) !important
    }

    .p-pt-80 {
        padding-top: min(21.336vw, 80px) !important
    }

    .p-pr-80 {
        padding-right: min(21.336vw, 80px) !important
    }

    .p-pb-80 {
        padding-bottom: min(21.336vw, 80px) !important
    }

    .p-pl-80 {
        padding-left: min(21.336vw, 80px) !important
    }

    .p-mt-85 {
        margin-top: min(22.6695vw, 85px) !important
    }

    .p-mr-85 {
        margin-right: min(22.6695vw, 85px) !important
    }

    .p-mb-85 {
        margin-bottom: min(22.6695vw, 85px) !important
    }

    .p-ml-85 {
        margin-left: min(22.6695vw, 85px) !important
    }

    .p-pt-85 {
        padding-top: min(22.6695vw, 85px) !important
    }

    .p-pr-85 {
        padding-right: min(22.6695vw, 85px) !important
    }

    .p-pb-85 {
        padding-bottom: min(22.6695vw, 85px) !important
    }

    .p-pl-85 {
        padding-left: min(22.6695vw, 85px) !important
    }

    .p-mt-90 {
        margin-top: min(24.003vw, 90px) !important
    }

    .p-mr-90 {
        margin-right: min(24.003vw, 90px) !important
    }

    .p-mb-90 {
        margin-bottom: min(24.003vw, 90px) !important
    }

    .p-ml-90 {
        margin-left: min(24.003vw, 90px) !important
    }

    .p-pt-90 {
        padding-top: min(24.003vw, 90px) !important
    }

    .p-pr-90 {
        padding-right: min(24.003vw, 90px) !important
    }

    .p-pb-90 {
        padding-bottom: min(24.003vw, 90px) !important
    }

    .p-pl-90 {
        padding-left: min(24.003vw, 90px) !important
    }

    .p-mt-95 {
        margin-top: min(25.3365vw, 95px) !important
    }

    .p-mr-95 {
        margin-right: min(25.3365vw, 95px) !important
    }

    .p-mb-95 {
        margin-bottom: min(25.3365vw, 95px) !important
    }

    .p-ml-95 {
        margin-left: min(25.3365vw, 95px) !important
    }

    .p-pt-95 {
        padding-top: min(25.3365vw, 95px) !important
    }

    .p-pr-95 {
        padding-right: min(25.3365vw, 95px) !important
    }

    .p-pb-95 {
        padding-bottom: min(25.3365vw, 95px) !important
    }

    .p-pl-95 {
        padding-left: min(25.3365vw, 95px) !important
    }

    .p-mt-100 {
        margin-top: min(26.67vw, 100px) !important
    }

    .p-mr-100 {
        margin-right: min(26.67vw, 100px) !important
    }

    .p-mb-100 {
        margin-bottom: min(26.67vw, 100px) !important
    }

    .p-ml-100 {
        margin-left: min(26.67vw, 100px) !important
    }

    .p-pt-100 {
        padding-top: min(26.67vw, 100px) !important
    }

    .p-pr-100 {
        padding-right: min(26.67vw, 100px) !important
    }

    .p-pb-100 {
        padding-bottom: min(26.67vw, 100px) !important
    }

    .p-pl-100 {
        padding-left: min(26.67vw, 100px) !important
    }

    #toppage #mainvisual {
        display: flex;
        align-items: center;
        justify-content: center;
        height: calc(100vh - 50px);
        overflow-y: hidden
    }

    #toppage #mainvisual img {
        width: 100%;
        height: calc(100vh - 50px);
        min-height: 625px;
        -o-object-fit: cover;
        object-fit: cover
    }

    #toppage .class-large .flex-item.item-txt {
        flex: 1
    }

    #toppage .class-small .p-flex > .flex-item {
        flex: 1
    }

    #toppage .class-small .item-txt {
        margin-top: 10px
    }

    #toppage .steps {
        margin-top: min(16.002vw, 40px)
    }

    #toppage .steps .step {
        position: relative
    }

    #toppage .steps .step::after {
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_layer_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.1%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2300A3E9%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_layer_1-2%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.02%2C9.99h-.02S0%2C0%2C0%2C0L7.1%2C4.98%2C.02%2C9.99Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat left center;
        position: absolute;
        top: 157px;
        right: -35px;
        width: 20px;
        height: 30px
    }

    #toppage .steps .step .step-program {
        padding-bottom: 93%
    }

    #toppage .steps .step-1 .step-program {
        background: url(../img/toppage/step1_bg.png) no-repeat center bottom;
        background-size: contain
    }

    #toppage .steps .step-2 .step-program {
        background: url(../img/toppage/step2_bg.png) no-repeat center bottom;
        background-size: contain
    }

    #toppage .steps .step-3 .step-program {
        background: url(../img/toppage/step3_bg.png) no-repeat center bottom;
        background-size: contain
    }

    #toppage .forperson {
        margin-top: 80px
    }

    #toppage .forperson .flex-item {
        position: relative;
        box-sizing: border-box
    }

    #toppage .forperson .item-txt {
        padding: 20px 8.5% 80px
    }

    #toppage .forperson .btn-blue {
        bottom: 20px;
        width: 180px;
        width: 83%;
        margin-top: 20px
    }

    #jh3rd .timeschedule .p-col-2 {
        --item-img-width: 480px
    }

    #jh3rd .timeschedule .p-col-2 .flex-item.item-img {
        flex-basis: var(--item-img-width)
    }

    #jh3rd .timeschedule .p-col-2 .flex-item:not(.item-img) {
        flex-basis: calc(100% - var(--item-img-width) - var(--p-flex-gap))
    }

    #hs .highschool .p-flex.p-col-2 .flex-item {
        --img-size: 590px
    }

    #hs .highschool .p-flex.p-col-2 .flex-item.item-img {
        flex-basis: var(--img-size)
    }

    #hs .highschool .p-flex.p-col-2 .flex-item.item-txt {
        flex: 1 1 0
    }
}
