@charset "UTF-8";

@font-face {
    font-family: sans-serif;
    src: local(HiraginoSans-W3);
    font-weight: normal
}

@font-face {
    font-family: sans-serif;
    src: local(HiraginoSans-W6);
    font-weight: bold
}

@font-face {
    font-family: 'ヒラギノ角ゴ Pro W3';
    src: local(HiraginoSans-W3);
    font-weight: normal
}

@font-face {
    font-family: 'ヒラギノ角ゴ Pro W3';
    src: local(HiraginoSans-W6);
    font-weight: bold
}

@font-face {
    font-family: 'ヒラギノ角ゴ ProN W3';
    src: local(HiraginoSans-W3);
    font-weight: normal
}

@font-face {
    font-family: 'ヒラギノ角ゴ ProN W3';
    src: local(HiraginoSans-W6);
    font-weight: bold
}

@font-face {
    font-family: 'ＭＳ Ｐゴシック';
    src: local(HiraginoSans-W3);
    font-weight: normal
}

@font-face {
    font-family: 'ＭＳ Ｐゴシック';
    src: local(HiraginoSans-W6);
    font-weight: bold
}

@font-face {
    font-family: 'MS P Gothic';
    src: local(HiraginoSans-W3);
    font-weight: normal
}

@font-face {
    font-family: 'MS P Gothic';
    src: local(HiraginoSans-W6);
    font-weight: bold
}

@font-face {
    font-family: 'MS PGothic';
    src: local(HiraginoSans-W3);
    font-weight: normal
}

@font-face {
    font-family: 'MS PGothic';
    src: local(HiraginoSans-W6);
    font-weight: bold
}

@font-face {
    font-family: 'HiraMaruProW4';
    src: url('../font/HiraMaruPro-W4.otf');
}

@font-face {
    font-family: 'ABTomboBold';
    src: url('../font/ab_tombo_bold.ttf');
}

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

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

body,
html {
    margin: 0;
    -webkit-font-feature-settings: 'palt'1;
    font-feature-settings: 'palt'1
}

html {
    font-family: 'Roboto', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
    font-weight: 300;
    font-size: 14px;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media (max-width:40em) {
    html {
        font-size: 13px
    }
}

body {
    color: #000;
    line-height: 1.86;
    letter-spacing: .1em;
    background: #fff;
    word-break: break-all
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 100;
    letter-spacing: .1em
}

.list li a:not([class]),
p:not([class]) a:not([class]),
td:not([class]) a:not([class]) {
    color: #1c3976;
    text-decoration: underline
}

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

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline
}

ol,
ul {
    list-style: none
}

dt {
    font-weight: bold
}

dd {
    margin: 0
}

img {
    height: auto;
    max-width: 100%;
    color: #fff;
    width: auto;
    vertical-align: middle
}

a {
    color: #000;
    outline: 0;
    -webkit-user-select: none;
    text-decoration: none;
    -webkit-text-decoration-skip: objects;
    text-decoration-skip: objects
}

b,
em,
strong {
    font-weight: bold;
    font-style: normal
}

small {
    font-size: 80%
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0
}

td,
th {
    font-weight: normal;
    padding: 0;
    vertical-align: middle
}

address {
    font-style: normal
}

svg:not(:root) {
    overflow: hidden;
    max-width: 100%
}

input,
select,
textarea {
    font-family: 'Roboto', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
    font-weight: 300;
    outline: none;
    letter-spacing: .05em;
    vertical-align: middle;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input,
select {
    line-height: 1
}

select {
    height: 40px;
    border: 1px solid #e7e8ee;
    background: transparent;
    font-size: 1rem;
    padding: .5em 1em;
    cursor: pointer;
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: ''
}

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

input[type=email],
input[type=tel],
input[type=text],
textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #e7e8ee;
    background: #f3f4f7;
    font-size: 1rem
}

input[type=checkbox],
input[type=radio] {
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: -3%
}

input[type=email],
input[type=tel],
input[type=text],
textarea {
    -webkit-transition: border-color 0.4s;
    transition: border-color 0.4s
}

input[type=email]:focus,
input[type=tel]:focus,
input[type=text]:focus,
textarea:focus {
    border-color: #3873ed
}

textarea {
    line-height: 1.5
}

label {
    cursor: pointer
}

.disabled{
    opacity: 0.3;
    pointer-events: none;
}
@media (max-width:30em) {
    select {
        width: 100%;
        padding: .5em
    }
}

.wrapper {
    position: relative;
    width: 100%;
    height: 100%
}

.flex {
    display: flex;
    flex-direction: column;
}

.globalFooter-sitemap-boxGroup.primary .flex {
    width: 25%;
}

.globalFooter-sitemap-boxGroup.primary .flex .globalFooter-sitemap-box {
    width: 100%;
}

.globalFooter-sitemap-boxGroup.primary .flex .globalFooter-sitemap-box:nth-child(2) {
    padding-top: 0;
}

.siteMain {
    padding-top: 116px
}

table.price-table {
    max-width: 475px;
}

table.price-table td {
    padding: 0.5em 0;
}

@media (max-width:68.75em) {
    .siteMain {
        padding-top: 54px
    }
}

.hamburger {
    display: none;
    position: fixed;
    right: 0;
    z-index: 11;
    width: 54px;
    height: 54px;
    background: #fff;
    text-align: center;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent
}

.hamburger-line {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 22px;
    height: 2px;
    background: #000;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.hamburger-line1 {
    top: 20px
}

.hamburger-line2 {
    top: 27px
}

.hamburger-line3 {
    top: 34px
}

@media (max-width:68.75em) {
    .hamburger {
        top: 0;
        display: block
    }
}

@media (max-width:40em) {
    .hamburger {
        top: 0;
        right: 0
    }

    table.price-table tr {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    table.price-table td {
        padding: 0 0 1.2em;
        width: 50%;
    }

    table.price-table td:first-child {
        padding: 0;
        width: 100%;
    }

}

.globalHeader {
    position: fixed;
    z-index: 11;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
    background: #fff
}

.globalHeader-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #e7e8ee
}

.globalHeader-bottom {
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #e7e8ee
}

.globalHeader-logo {
    line-height: 1;
    z-index: 5
}

.globalHeader-logo a {
    display: block
}

@media (min-width:68.8125em) {
    .globalHeader-logo {
        width: 251px;
        margin: 0 auto 0 20px
    }
}

@media (max-width:68.75em) {
    .globalHeader-bottom {
        height: 54px
    }

    .globalHeader-logo {
        width: 200px;
        margin: 12px auto 12px 20px
    }
}

@media (max-width:40em) {
    .globalHeader-logo {
        width: 180px
    }
}

.globalNav {
    z-index: 5
}

.globalNav > ul > li > a {
    position: relative;
    line-height: 1;
    font-size: 15px;
    font-weight: bold;
    color: #666;
    position: relative;
    display: block;
    text-align: center;
    text-transform: capitalize;
    white-space: nowrap
}

@media (min-width:68.8125em) {
    .globalNav {
        margin: 0 0 0 auto
    }

    .globalNav > ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .globalNav > ul > li > a {
        position: relative;
        padding: 33px 30px;
        -webkit-transition: color 0.4s;
        transition: color 0.4s
    }

    .globalNav > ul > li.current > a,
    .globalNav > ul > li.is-active > a,
    .globalNav > ul > li:hover > a {
        color: #32d5b6
    }

    .globalNav > ul > li > a:after {
        position: absolute;
        display: block;
        content: '';
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
        width: 90%;
        height: 2px;
        background: #32d5b6;
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s
    }

    .globalNav > ul > li.current > a:after,
    .globalNav > ul > li.is-active > a:after,
    .globalNav > ul > li:hover > a:after {
        -webkit-transform: scaleY(1);
        transform: scaleY(1)
    }
}

@media (max-width:68.75em) {
    .globalNav {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 12;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.9);
        pointer-events: none;
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
        -webkit-transition-property: -webkit-transform;
        transition-property: -webkit-transform;
        transition-property: transform;
        transition-property: transform, -webkit-transform;
        -webkit-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        overflow: scroll;
        -webkit-overflow-scrolling: touch
    }

    .globalNav > ul {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        right: 0;
        margin: auto;
        display: block
    }

    .globalNav > ul > li {
        margin: 0;
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
        -webkit-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
        -webkit-transition-property: -webkit-transform opcity;
        transition-property: -webkit-transform opcity;
        transition-property: transform opcity;
        transition-property: transform opcity, -webkit-transform opcity;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .globalNav > ul > li.fb {
        display: none
    }

    .globalNav > ul > li > a {
        padding: 1em 0;
        font-size: 1.4rem;
        color: #9a9eb6
    }

    .globalNav > ul > li > a .en {
        padding: .1em .35em
    }

    .globalNav .ja {
        opacity: 1
    }

    .globalNav > ul > li.sns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .globalNav {
        display: none
    }
}

.globalSubNav {
    position: absolute;
    top: 11px;
    right: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.globalSubNav li {
    line-height: 1;
    margin-right: 40px
}

.globalSubNav li a {
    display: block
}

.globalSubNav li a:hover {
    text-decoration: underline
}

.globalSubNav li a .icon {
    margin-right: .5em;
    margin-top: -2px
}

@media (max-width:68.75em) {
    .globalSubNav {
        display: none
    }
}

.globalFooter-borderLink {
    padding-bottom: 40px
}

.globalFooter-borderLink ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: -9px
}

.globalFooter-borderLink li {
    width: 24%;
    margin-bottom: 9px
}

.globalFooter-borderLink .button {
    display: block;
    padding: 15px 0;
    letter-spacing: 0;
    font-weight: normal
}

@media (max-width:68.75em) {
    .globalFooter-borderLink ul:after {
        content: '';
        display: block;
        width: 32%
    }

    .globalFooter-borderLink li {
        width: 32%
    }
}

@media (max-width:48em) {
    .globalFooter-borderLink ul:after {
        width: 48.5%
    }

    .globalFooter-borderLink li {
        width: 48.5%
    }

    .globalFooter-sitemap-boxGroup.primary .flex {
        width: 100%;
    }
}

@media (max-width:40em) {
    .globalFooter-borderLink li {
        width: 100%
    }
}

.globalFooter-apply-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.globalFooter-apply-heading {
    padding: 15px 0
}

.globalFooter-apply-heading .text {
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    border: 2px solid #000;
    text-align: center;
    width: 240px;
    padding: 14px 0;
    margin: 10px 0
}

.globalFooter-apply-img {
    margin: 0 40px
}

.globalFooter-apply-img img {
    width: 395px
}

.globalFooter-apply-body {
    width: 520px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px 0
}

.globalFooter-apply-button-document,
.globalFooter-apply-button-pamgplet {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-radius: 4px;
    border: 1px solid #e24a61;
    padding: 18px 0;
}

.globalFooter-apply-button-document {
    padding: 7px 0 18px;
}

.globalFooter-apply-button-document .icon,
.globalFooter-apply-button-document .text,
.globalFooter-apply-button-pamgplet .icon,
.globalFooter-apply-button-pamgplet .text {
    display: block;
    text-align: center;
    width: 100%
}

.globalFooter-apply-button-document .text {
    position: relative;
    font-family: 'chuoa-icon' !important;
}

.globalFooter-apply-button-document .text:before {
    content: "\e917";
    position: relative;
    font-size: 30px;
    top: 6px;
    margin-right: 15px;
}

.globalFooter-apply-button-document {
    margin-bottom: 10px;
}

.globalFooter-apply-button-document .icon,
.globalFooter-apply-button-pamgplet .icon {
    font-size: 160%;
    margin-bottom: 10px
}

.globalFooter-apply-btn-gp {
    width: 57.7%;
    max-width: 300px;
}

.globalFooter-apply-button-document {
    /*width: 57.69%;*/
    color: #fff;
    background: #e24a61
}

.globalFooter-apply-button-pamgplet {
    width: 40%;
    color: #e24a61;
    background: #fff
}

@media (min-width:80.0625em) {
    .globalFooter-apply-inner {
        height: 168px
    }
}

@media (max-width:80em) {
    .globalFooter-apply {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .globalFooter-apply-inner {
        display: block;
        text-align: center
    }

    .globalFooter-apply-heading {
        display: inline-block;
        padding-top: 0
    }

    .globalFooter-apply-heading .text {
        width: 100%;
        margin: 0;
        border: 0
    }

    .globalFooter-apply-heading .text .space {
        padding-left: .5em
    }

    .globalFooter-apply-heading .text br:last-of-type {
        display: none
    }

    .globalFooter-apply-img {
        display: none
    }

    .globalFooter-apply-body {
        margin: 0 auto;
        padding: 0
    }
}

@media (min-width:48.0625em) {

    .globalFooter-apply-button-document,
    .globalFooter-apply-button-pamgplet {
        -webkit-transition: opacity .4s;
        transition: opacity .4s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .globalFooter-apply-button-document:hover,
    .globalFooter-apply-button-pamgplet:hover {
        opacity: .6
    }
}

@media (max-width:40em) {
    .globalFooter-apply-heading {
        display: block
    }

    .globalFooter-apply-heading .text {
        width: 100%;
        font-size: 15px
    }

    .globalFooter-apply-heading .space {
        padding-left: .5em
    }

    .globalFooter-apply-body {
        width: auto
    }

    .globalFooter-apply-button-document,
    .globalFooter-apply-button-pamgplet {
        font-size: 1rem;
        padding: 15px 0;
    }

    .globalFooter-apply-button-document {
        padding: 0px 0 15px;
    }
}

.globalFooter-bannerUpper {
    margin-bottom: 40px;
    text-align: center
}

.globalFooter-bannerUpper.has-1col a {
    display: inline-block
}

.globalFooter-bannerUpper.has-1col a + a {
    margin-top: 24px
}

.globalFooter-bannerUpper.has-2col ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.globalFooter-bannerUpper.has-2col li {
    width: 49.3%
}

.globalFooter-bannerUpper.has-2col a {
    display: block
}

@media (max-width:48em) {
    .globalFooter-bannerUpper.has-2col ul {
        display: block
    }

    .globalFooter-bannerUpper.has-2col li {
        width: 100%
    }

    .globalFooter-bannerUpper.has-2col li + li {
        margin-top: 20px
    }
}

.globalFooter-banner {
    margin-top: 50px
}

.globalFooter-banner li + li {
    margin-top: 20px
}

@media (min-width:40.0625em) {
    .globalFooter-banner {
        display: none
    }
}

.globalFooter-visitorLink {
    padding-top: 40px;
    padding-bottom: 40px
}

.globalFooter-visitorLink a {
    display: block
}

.globalFooter-visitorLink a .text .icon {
    font-size: 80%;
    margin-left: .7em
}

@media (min-width:80.0625em) {
    .globalFooter-visitorLink ul:after {
        content: '';
        display: block;
        width: 16.666%
    }

    .globalFooter-visitorLink li {
        width: 16.666%
    }

    .globalFooter-visitorLink li {
        border-left: 1px solid #e7e8ee
    }
}

@media (max-width:80em) {
    .globalFooter-visitorLink ul:after {
        content: '';
        display: block;
        width: 33.333%
    }

    .globalFooter-visitorLink li {
        width: 33.333%
    }

    .globalFooter-visitorLink li:first-child,
    .globalFooter-visitorLink li:nth-child(2),
    .globalFooter-visitorLink li:nth-child(3) {
        border-bottom: 1px solid #e7e8ee
    }
}

@media (min-width:48.0625em) {
    .globalFooter-visitorLink a {
        -webkit-transition: color .4s;
        transition: color .4s
    }

    .globalFooter-visitorLink a:hover {
        color: #32d5b6
    }
}

@media (min-width:40.0625em) {
    .globalFooter-visitorLink ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        border-right: 1px solid #e7e8ee
    }

    .globalFooter-visitorLink li {
        border-left: 1px solid #e7e8ee
    }

    .globalFooter-visitorLink a {
        padding: 30px 0;
        text-align: center
    }

    .globalFooter-visitorLink a > .icon {
        font-size: 250%;
        display: block;
        text-align: center;
        margin-bottom: 20px
    }
}

@media (max-width:40em) {
    .globalFooter-visitorLink ul {
        border-top: 1px solid #e7e8ee
    }

    .globalFooter-visitorLink li {
        width: 100%;
        border-bottom: 1px solid #e7e8ee
    }

    .globalFooter-visitorLink a {
        position: relative;
        padding: 15px 0
    }

    .globalFooter-visitorLink a > .icon {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        font-size: 24px
    }

    .globalFooter-visitorLink a .text {
        display: block;
        padding-left: 40px
    }

    .globalFooter-visitorLink a .text .icon {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 0
    }
}

@media (max-width:20em) {
    .globalFooter-visitorLink .text {
        font-size: 1rem
    }
}

.globalFooter-sitemap {
    padding-top: 40px;
    padding-bottom: 40px
}

.globalFooter-sitemap-boxGroup.secondary {
    width: 22.5%;
    padding-left: 40px;
    border-left: 1px solid #fff
}

.globalFooter-sitemap-box {
    line-height: 1;
    padding-top: 40px;
    padding-bottom: 40px
}

.globalFooter-sitemap-box-heading {
    margin-bottom: 17px
}

.globalFooter-sitemap-box-heading a {
    display: inline-block;
    position: relative;
    padding-bottom: 15px;
    font-size: 16px;
    font-weight: bold
}

.globalFooter-sitemap-box-heading a:before {
    position: absolute;
    display: block;
    content: '';
    left: 0;
    bottom: 0;
    width: 20px;
    height: 2px;
    background: #32d5b6
}

.globalFooter-sitemap-box ul {
    font-size: 13px;
    letter-spacing: .05em
}

.globalFooter-sitemap-box li + li {
    margin-top: 10px
}

.globalFooter-sitemap-box li a {
    line-height: 1.4
}

.globalFooter-sitemap-box li a:hover {
    text-decoration: underline
}

.globalFooter-sitemap-box li.has-blank {
    position: relative
}

.globalFooter-sitemap-box li.hide-in-footer {
    display: none
}

@media (min-width:80.0625em) {
    .globalFooter-sitemap-boxGroup.primary {
        width: 77.5%
    }

    .globalFooter-sitemap-boxGroup.primary .globalFooter-sitemap-box {
        width: 22%
    }
}

@media (max-width:80em) {
    .globalFooter-sitemap-inner {
        display: block
    }

    .globalFooter-sitemap-boxGroup.primary {
        width: 100%
    }

    .globalFooter-sitemap-boxGroup.primary .globalFooter-sitemap-box {
        width: 25%
    }

    .globalFooter-sitemap-boxGroup.secondary {
        display: none
    }
}

@media (min-width:48.0625em) {
    .globalFooter-sitemap-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .globalFooter-sitemap-boxGroup.primary {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .globalFooter-sitemap-box-heading a {
        -webkit-transition: color 0.3s;
        transition: color 0.3s
    }

    .globalFooter-sitemap-box-heading a:hover {
        color: #32d5b6
    }
}

@media (max-width:48em) {
    .globalFooter-sitemap-box {
        padding: 0;
        margin-bottom: 0
    }

    .globalFooter-sitemap-boxGroup.primary .globalFooter-sitemap-box {
        width: 100%
    }

    .globalFooter-sitemap-boxGroup.secondary {
        display: block;
        width: 100%;
        padding-left: 0;
        border-left: 0
    }

    .globalFooter-sitemap-boxGroup.secondary .globalFooter-sitemap-box {
        width: 100%
    }

    .globalFooter-sitemap-box-heading {
        position: relative;
        margin-bottom: 0
    }

    .globalFooter-sitemap-box-heading a {
        padding: 1em 0;
        font-size: 1rem
    }

    .globalFooter-sitemap-box-heading a:before {
        display: none
    }

    .globalFooter-sitemap-box-heading:after {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        z-index: 3;
        right: -1em;
        content: "＋";
        width: 3em;
        height: 3em;
        line-height: 3em;
        text-align: center;
        cursor: pointer
    }

    .globalFooter-sitemap-box-heading.is-active:after {
        content: "－"
    }

    .globalFooter-sitemap-box-body {
        display: none;
        overflow: hidden
    }

    .globalFooter-sitemap-box ul {
        padding: 1em 0 2em
    }
}

.globalFooter-symbol {
    padding-top: 40px;
    padding-bottom: 40px
}

.globalFooter-address {
    text-align: center;
    margin-bottom: 40px
}

.globalFooter-address img {
    width: 240px
}

.globalFooter-address p {
    font-size: 13px;
    margin-top: 10px
}

@media (max-width:40em) {
    .globalFooter-address {
        margin-bottom: 20px
    }

    .globalFooter-address img {
        width: 220px
    }

    .globalFooter-address p {
        font-size: 12px
    }
}

.globalFooter-contact {
    text-align: center;
    margin-bottom: 30px
}

.globalFooter-contact li {
    display: inline-block;
    margin: 0 10px
}

.globalFooter-contact a {
    display: block;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    width: 250px;
    padding: 14px 0;
    border-radius: 3px
}

.globalFooter-contact .phone a {
    border: 1px solid #000
}

.globalFooter-contact .mail a {
    color: #fff;
    background: #e24a61;
    border: 1px solid #e24a61
}

.globalFooter-contact .icon {
    margin-top: -4px;
    margin-right: 6px
}

@media (min-width:48.0625em) {
    .globalFooter-contact a {
        -webkit-transition: color .4s;
        transition: color .4s
    }
}

@media (max-width:40em) {
    .globalFooter-contact li {
        display: block;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        text-align: center
    }

    .globalFooter-contact li + li {
        margin-top: 15px
    }

    .globalFooter-contact a {
        display: inline-block;
        width: 70%
    }
}

@media (max-width:30em) {
    .globalFooter-contact a {
        width: 100%
    }
}

.globalFooter-sns {
    text-align: center
}

.globalFooter-sns-label {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0;
    margin-bottom: 1em;
    text-transform: capitalize
}

.globalFooter-sns li {
    display: inline-block;
    margin: 0 5px
}

.globalFooter-sns a {
    font-size: 1.5rem;
    -webkit-transition: color .4s;
    transition: color .4s
}

.globalFooter-sns a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding-left: 2px;
    border-radius: 50%;
    background: #e7e8ee
}

@media (min-width:48.0625em) {
    .globalFooter-sns a {
        -webkit-transition: background .4s, color .4s;
        transition: background .4s, color .4s
    }

    .globalFooter-sns a:hover {
        color: #fff;
        background: #32d5b6
    }
}

.globalFooter-info {
    padding-top: 40px;
    padding-bottom: 40px;
    background: #000
}

.globalFooter-info,
.globalFooter-info a {
    color: #fff
}

.globalFooter-info-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.globalFooter-info-link {
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.globalFooter-info-link li {
    line-height: 1;
    padding-right: 10px
}

.globalFooter-info-link li + li {
    border-left: 1px solid #fff;
    padding-left: 10px
}

.globalFooter-info-link a {
    font-size: 13px
}

.globalFooter-info-link a:hover {
    text-decoration: underline
}

.globalFooter-copy {
    font-size: 13px;
    letter-spacing: 0;
    margin-left: auto
}

@media (max-width:30em) {
    .globalFooter-info-inner {
        display: block
    }

    .globalFooter-copy {
        margin-top: 20px
    }
}

.pageTop {
    display: block;
    width: 65px;
    text-align: center;
    margin-left: auto;
    margin-right: auto
}

.pageTop .icon {
    font-size: 250%
}

.pageTop .text {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    white-space: nowrap;
    letter-spacing: 0
}

@media (min-width:48.0625em) {
    .pageTop {
        margin-top: 60px;
        margin-bottom: 60px;
        -webkit-transition: background .4s, color .4s;
        transition: background .4s, color .4s
    }

    .pageTop:hover {
        color: #32d5b6
    }
}

@media (max-width:48em) {
    .pageTop {
        padding-top: 15%;
        padding-bottom: 15%
    }
}

.megaMenu {
    position: fixed;
    top: 116px;
    left: 0;
    width: 100%;
    overflow: hidden;
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95), visibility 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95), visibility 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95)
}

.megaMenu-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 40px;
    padding-bottom: 40px;
    max-width: 800px;
    -webkit-transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95)
}

.megaMenu.guide .megaMenu-inner {
    max-width: 1000px
}

.megaMenu-img {
    width: 200px
}

.megaMenu-body {
    width: 560px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.megaMenu.guide .megaMenu-body {
    width: 760px
}

.megaMenu.course .megaMenu-body {
    width: 100%
}

.megaMenu-linkGroup {
    overflow: hidden;
    width: 100%
}

.megaMenu-linkGroup li {
    float: left;
    width: 48%;
    border-top: 1px dotted #e7e8ee
}

.megaMenu.guide .megaMenu-linkGroup li {
    width: 30%;
    margin-right: 3.3%
}

.megaMenu.guide .megaMenu-linkGroup li:nth-last-child(3) {
    border-bottom: 1px dotted #e7e8ee
}

.megaMenu.boshu .megaMenu-linkGroup li:nth-child(2n),
.megaMenu.event .megaMenu-linkGroup li:nth-child(2n) {
    float: right
}

.megaMenu.event .megaMenu-linkGroup .link-event-ao {
    float: right;
    clear: both;
}

.megaMenu .megaMenu-linkGroup li:last-child,
.megaMenu .megaMenu-linkGroup li:nth-last-child(2) {
    border-bottom: 1px dotted #e7e8ee
}

.megaMenu-linkGroup li a:after {
    display: inline-block;
    font-size: 12px;
    content: "\e910";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    font-family: "chuoa-icon" !important;
    line-height: 1
}

.megaMenu-linkGroup-hasThumbnail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.megaMenu.course .megaMenu-linkGroup-hasThumbnail li {
    width: 31.5%
}

.megaMenu-linkGroup-hasThumbnail img {
    width: 100%
}

.megaMenu-linkGroup-hasThumbnail .title {
    margin-top: .6em
}

.megaMenu-title {
    margin-top: 1em;
    text-align: center
}

.megaMenu-title .icon {
    margin-left: .5em
}

.megaMenu a {
    position: relative;
    display: block;
    font-size: 14px;
    line-height: 1;
    padding: 1em 0
}

.megaMenu a .icon {
    font-size: .8em
}

.megaMenuBg {
    position: fixed;
    z-index: 5;
    top: 116px;
    left: 0;
    width: 100%;
    height: auto;
    background: #fff;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: height 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), -webkit-transform 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: height 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), -webkit-transform 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: transform 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), height 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: transform 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), height 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), -webkit-transform 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95)
}

.megaMenuOverlay {
    position: fixed;
    content: '';
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    -webkit-transition: visibility 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: visibility 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95)
}

@media (min-width:48.0625em) {

    .megaMenu-linkGroup-hasThumbnail img,
    .megaMenu a {
        display: block;
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s
    }

    .megaMenu-linkGroup-hasThumbnail a:hover img,
    .megaMenu a:hover {
        opacity: .6
    }
}

.drawerMenu {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 55px 40px;
    background: #fff;
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: opacity 0.4s cubic-bezier(0.52, 0.08, 0.18, 1), -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: opacity 0.4s cubic-bezier(0.52, 0.08, 0.18, 1), -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), opacity 0.4s cubic-bezier(0.52, 0.08, 0.18, 1);
    transition: transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), opacity 0.4s cubic-bezier(0.52, 0.08, 0.18, 1), -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll
}

.drawerMenu-primary {
    margin: 40px 0 0 0
}

.drawerMenu-primary-title {
    font-size: 22px;
    border-bottom: 1px solid #e7e8ee
}

.drawerMenu-primary-box-heading {
    position: relative;
    display: block;
    padding: 1em 0;
    font-size: 1.1rem;
    border-bottom: 1px solid #e7e8ee;
    cursor: pointer
}

.drawerMenu-primary-box-heading .icon {
    margin: -2px .6em 0 0
}

.drawerMenu-primary-box-heading:before {
    display: none
}

.drawerMenu-primary-box-heading:after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 3;
    right: 0;
    content: "＋";
    width: 3em;
    height: 3em;
    line-height: 3em;
    text-align: center;
    cursor: pointer
}

.drawerMenu-primary-box-heading.is-active:after {
    content: "－"
}

.drawerMenu-primary-box-body {
    display: none;
    overflow: hidden;
    font-size: 1rem
}

.drawerMenu-primary-box ul {
    padding: 1em 0 2em
}

.drawerMenu-primary-box ul li a {
    display: block;
    padding: .3em 0;
    color: #666
}

.drawerMenu-primary-box ul li.has-blank a:before {
    content: "－";
    color: #9a9eb6
}

.drawerMenu-primary-box ul li.hide-in-drawer {
    display: none
}

.drawerMenu-secondary {
    margin-top: 40px
}

.drawerMenu-secondary-title {
    font-size: 18px;
    text-align: center
}

.drawerMenu-sns {
    text-align: center;
    padding-top: 20px
}

.drawerMenu-sns li {
    display: inline-block;
    margin: 0 .6em
}

.drawerMenu-sns a {
    font-size: 24px
}

.drawerMenu-sns a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding-left: 2px;
    border-radius: 50%;
    background: #e7e8ee
}

@media (min-width:68.8125em) {
    .drawerMenu {
        display: none
    }
}

@media (max-width:20em) {
    .drawerMenu {
        padding: 55px 30px
    }
}

.visitorMenu {
    position: relative;
    line-height: 1;
    margin: 0 0 0 auto;
    width: 230px
}

.visitorMenu-label {
    position: relative;
    font-weight: bold;
    padding: 11px;
    background: #e7e8ee;
    z-index: 7;
    cursor: pointer;
    border-left: 1px solid #fff
}

.visitorMenu-list {
    position: absolute;
    top: 35px;
    right: 0;
    width: 100%;
    z-index: 6;
    border: solid #fff;
    border-width: 0 0 1px 1px;
    opacity: 0;
    -webkit-transform: translateY(-255px);
    transform: translateY(-255px);
    -webkit-transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, transform .3s;
    transition: opacity .3s, transform .3s, -webkit-transform .3s
}

.visitorMenu-list li {
    border-top: 1px solid #fff
}

.visitorMenu-list a {
    position: relative;
    display: block;
    padding: 11px;
    background: #e7e8ee
}

.visitorMenu-label .icon:first-of-type,
.visitorMenu-list a .icon:first-of-type {
    margin: -2px 10px 0 0
}

.visitorMenu-label .icon-angle-bottom-circle,
.visitorMenu-list .icon-angle-right {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 13px
}

.visitorMenu-label .icon-angle-bottom-circle {
    font-size: 18px
}

.visitorMenu-list .icon-angle-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    padding-left: 2px;
    background: #fff
}

@media (max-width:68.75em) {
    .visitorMenu {
        display: none
    }
}

@media (min-width:48.0625em) {
    .visitorMenu-list a {
        -webkit-transition: color .2s;
        transition: color .2s
    }

    .visitorMenu-list a:hover {
        color: #3873ed
    }
}

@media (max-width:40em) {
    .visitorMenu {
        width: 100%;
        border-left: 0
    }

    .visitorMenu-label,
    .visitorMenu-list a {
        font-size: 12px
    }

    .visitorMenu-label {
        padding: 15px 20px
    }

    .visitorMenu-list {
        top: 42px
    }

    .visitorMenu-list a {
        position: relative;
        padding: 15px 11px
    }

    .visitorMenu-label .icon-angle-bottom-circle {
        font-size: 16px
    }
}

.breadcrumbs {
    z-index: 1
}

.breadcrumbs li {
    display: inline-block;
    line-height: 1.4
}

.breadcrumbs li + li:before {
    margin-right: .5em;
    font-family: 'chuoa-icon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    vertical-align: middle;
    content: "\e910"
}

.breadcrumbs li:before {
    font-size: 70%;
    line-height: 1
}

.breadcrumbs a:hover {
    text-decoration: underline
}

@media (min-width:68.8125em) {
    .breadcrumbs {
        position: absolute;
        top: -215px;
        left: 0
    }
}

@media (max-width:68.75em) {
    .breadcrumbs {
        display: none
    }
}

@media (min-width:40.0625em) {
    .breadcrumbs li {
        margin-right: .5em
    }

    .breadcrumbs .icon {
        margin: -2px 0 0 1em
    }
}

.slick-slider {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block
}

.slick-track:after,
.slick-track:before {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

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

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

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

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

.slick-next:before,
.slick-prev: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-dots {
    position: absolute;
    bottom: 15px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    z-index: 1
}

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

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

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

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

.slick-dots li button:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    background: #dad7cc;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    background: #9d4753
}

@media (max-width:560px) {
    .slick-dots {
        bottom: 5%
    }
}

.extraBox.has-border {
    border: 1px solid #e7e8ee
}

.extraBox-heading {
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    background: #e7e8ee;
    padding: .5em;
    letter-spacing: .1em
}

.extraBox-body ul {
    width: 100%
}

.extraBox-body li + li {
    margin-top: .5em
}

@media (min-width:48.0625em) {
    .extraBoxGroup {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .extraBoxGroup .extraBox {
        width: 48%
    }
}

@media (max-width:48em) {
    .extraBoxGroup .extraBox + .extraBox {
        margin-top: 30px
    }
}

@media (min-width:40.0625em) {
    .extraBox-heading span {
        display: inline-block;
        vertical-align: middle;
        font-size: 1.38rem;
        padding-bottom: 2px
    }

    .extraBox-body {
        padding: 2em
    }
}

@media (max-width:40em) {
    .extraBox-heading span {
        display: inline;
        font-size: 1rem
    }

    .extraBox-body {
        padding: 1.25em
    }
}

.extraBlockList-box {
    border-bottom: 1px dashed #ddd
}

.extraBlockList-link {
    display: block
}

.extraBlockList-box img {
    margin-bottom: 1em
}

@media (min-width:48.0625em) {
    .extraBlockList-link img {
        display: block;
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s
    }

    .extraBlockList-link:hover img {
        opacity: .6
    }
}

@media (min-width:40.0625em) {
    .extraBlockList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: -2.25em
    }

    .extraBlockList-box {
        width: 48.5%;
        padding-bottom: 2.25em;
        margin-bottom: 2.25em
    }

    .extraBlockList-box.not-has-border {
        padding-bottom: 0;
        border-bottom: none
    }
}

@media (max-width:40em) {
    .extraBlockList {
        margin-bottom: 3em
    }

    .extraBlockList-box {
        padding-bottom: 1.5em;
        margin-bottom: 1.5em
    }

    .extraBlockList-box:last-child.not-has-border {
        padding-bottom: 0;
        border-bottom: none
    }
}

.extraComment {
    background: #e7e8ee;
    overflow: hidden
}

.extraComment-heading {
    font-weight: bold;
    margin-bottom: .5rem
}

@media (min-width:40.0625em) {
    .extraComment {
        padding: 25px 28px
    }

    .extraComment-heading {
        font-size: 1.38rem
    }
}

@media (max-width:40em) {
    .extraComment {
        padding: 2rem
    }

    .extraComment-heading {
        font-size: 1.2rem
    }
}

.extraCommentHasImg {
    padding: 30px 20px;
    border: 1px solid #e7e8ee
}

.extraCommentHasImg-heading {
    font-weight: bold;
    margin-bottom: .5rem
}

.extraCommentHasImg-img {
    width: 139px
}

.extraCommentHasImg-img img {
    width: 100%
}

.extraCommentHasImg-body p:not([class]) + p:not([class]) {
    margin-top: 1em
}

@media (min-width:40.0625em) {
    .extraCommentHasImg {
        display: table;
        width: 100%
    }

    .extraCommentHasImg-heading {
        font-size: 1.38rem
    }

    .extraCommentHasImg-body,
    .extraCommentHasImg-img {
        vertical-align: top;
        display: table-cell
    }

    .extraCommentHasImg-img + .extraCommentHasImg-body {
        padding-left: 30px
    }
}

@media (max-width:40em) {
    .extraCommentHasImg-img {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1.25em
    }
}

.extraContact {
    text-align: center;
    border: 1px solid #b1b4c8
}

.extraContact-heading {
    font-weight: bold;
    margin-bottom: 1.5rem
}

.extraContact .button {
    position: relative;
    overflow: hidden;
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    width: 300px;
    max-width: 100%;
    padding: 1.5em 0;
    border-radius: 3px
}

.extraContact .button.button-sm {
    font-size: 1.1rem
}

.extraContact .button .icon {
    position: static;
    font-size: 100%;
    -webkit-transform: none;
    transform: none;
    margin-top: -2px;
    margin-right: 6px
}

.extraContact p {
    text-align: center
}

@media (min-width:48.0625em) {
    .extraContact {
        padding: 30px
    }

    * + .extraContact,
    .extraContact + * {
        margin-top: 60px
    }

    .extraContact-heading {
        font-size: 1.38rem
    }

    .extraContact-buttonGroup {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .extraContact .button {
        margin-left: .8%;
        margin-right: .8%
    }

    .extraContact .button:hover {
        color: #fff;
        background: #000
    }

}

@media (max-width:48em) {
    .extraContact {
        padding: 2em 5%
    }

    * + .extraContact,
    .extraContact + * {
        margin-top: 2rem
    }

    .extraContact-heading {
        font-size: 1.2rem
    }

    .extraContact a {
        width: 100%
    }

    .extraContact p {
        text-align: left
    }

    .extraContact .button {
        margin-bottom: 15px
    }
}

@media (max-width:20em) {
    .extraContact .button {
        font-size: 1rem
    }
}

.extraProfile {
    text-align: right;
    margin-left: auto;
    margin-right: auto;
    max-width: 930px
}

.extraProfile-name {
    font-weight: bold
}

.extraProfile-name span {
    padding-right: .5em
}

.biyou .extraProfile-name span {
    color: #f6438a
}

.kango .extraProfile-name span {
    color: #3873ed
}

.kyosei .extraProfile-name span {
    color: #32d5b6
}

.extraProfile-name .icon {
    margin: -2px .6em 0 0
}

.extraProfile-body {
    background: #fff;
    width: 500px;
    z-index: 1;
    position: relative;
    border: 1px solid;
    margin: -60px 0 0;
    text-align: left
}

.biyou .extraProfile-body {
    border-color: #f6438a
}

.kango .extraProfile-body {
    border-color: #3873ed
}

.kyosei .extraProfile-body {
    border-color: #32d5b6
}

.extraProfile-detail {
    text-align: left
}

.extraProfile dl dt:after {
    content: '：'
}

@media (min-width:68.8125em) {
    .extraProfile-body {
        width: 600px;
        padding: 50px 40px;
        margin-top: -60px
    }
}

@media (max-width:68.75em) {
    .extraProfile-body {
        width: 400px;
        padding: 40px 30px;
        margin-top: -40px
    }
}

@media (min-width:48.0625em) {
    .extraProfile {
        margin-bottom: 40px
    }

    .extraProfile-name {
        font-size: 1.3rem
    }

    .extraProfile dl + dl:before,
    .extraProfile dl dd,
    .extraProfile dl dt,
    .extraProfile dl dt:after {
        display: inline-block;
        vertical-align: middle
    }
}

@media (max-width:48em) {

    .extraProfile {
        margin-bottom: 40px
    }

    .extraProfile img {
        width: 100%
    }

    .extraProfile-body {
        padding: 35px 20px;
        margin-top: -20px;
        margin-left: auto;
        margin-right: auto;
        max-width: 90%;
        background: none
    }

    .extraProfile-name {
        font-size: 1.15rem
    }

    .extraProfile dl {
        margin-top: .7em
    }

    .extraProfile dl dt {
        display: block
    }

}

@media (max-width:30em) {
    .extraProfile-body {
        padding: 30px 15px;
        max-width: 92%
    }

    .extraProfile-name span {
        display: block
    }

    .extraProfile-detail + .extraProfile-detail {
        margin-top: 1em
    }


}

.extraQa dd,
.extraQa dt {
    line-height: 1.6;
    position: relative;
    padding: 11px 0 11px 40px
}

.extraQa dd a,
.extraQa dt a {
    color: #0F7E42;
    text-decoration: underline
}

.extraQa dd div + div {
    margin-top: .8em
}

.extraQa small {
    line-height: 1.4;
    display: block;
    margin-top: .5em
}

.extraQa .answer,
.extraQa .question {
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    padding-left: 1px;
    width: 25px;
    height: 25px;
    border: 1px solid #000;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 500;
    line-height: 23px;
    text-align: center
}

.extraQa .question {
    color: #fff;
    background: #000
}

@media (min-width:48.0625em) {
    .extraQa + .extraQa {
        margin-top: 40px
    }
}

@media (max-width:48em) {
    .extraQa + .extraQa {
        margin-top: 20px
    }
}

.pageContainer {
    position: relative
}

.pageHeader {
    position: relative;
    height: 350px
}

.pageHeader-title {
    position: relative;
    z-index: 1;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    padding: 0 .5em;
    padding-top: 115px
}

.pageHeader-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #e7e8ee;
    background-repeat: no-repeat
}

.pageContents {
    position: relative;
    z-index: 1;
    margin-top: -110px;
    background: #fff
}

.pageBody {
    padding-bottom: 90px;
    background: #e7e8ee
}

.pageAnchor {
    margin-bottom: -.5em
}

.pageAnchor li {
    display: inline-block;
    margin: 0 1em .5em 0
}

.pageAnchor li a {
    color: #4478e9;
    text-decoration: underline;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s
}

.biyou.pageAnchor li a {
    color: #f6438a
}

.kango.pageAnchor li a {
    color: #3873ed
}

.kyosei.pageAnchor li a {
    color: #2dc4a9
}

.pageAnchor li a:hover {
    opacity: .6
}

.pageAnchor li a .icon {
    margin-left: .4em
}

.pageMenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.pageMenu:after {
    content: '';
    display: block;
    width: 30.85%
}

.pageMenu li {
    position: relative
}

.pageMenu li a {
    display: block;
    position: relative;
    overflow: hidden
}

.pageMenu li a:before {
    position: absolute;
    display: block;
    content: '';
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
}

.pageMenu img {
    width: 100%
}

.pageMenu-title {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 3;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-weight: bold;
    color: #fff
}

.pageMenu-title .icon {
    font-size: 80%;
    color: #32d5b6;
    margin: -2px 0 0 .5em
}

@media (min-width:68.8125em) {
    .pageMenu li {
        width: 30.85%;
        margin-bottom: 40px
    }
}

@media (max-width:68.75em) {
    .pageMenu li {
        width: 48.5%;
        margin-bottom: 15px
    }
}

@media (min-width:48.0625em) {
    .pageHeader-title {
        font-size: 26px
    }

    .pageContents {
        padding: 90px 7.2%
    }

    .pageMenu li a {
        overflow: hidden;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .pageMenu li a:after {
        position: absolute;
        display: block;
        content: '';
        z-index: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: #32d5b6;
        -webkit-transform: scalex(0);
        transform: scalex(0);
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    .pageMenu li a:hover:after {
        -webkit-transform: scalex(1);
        transform: scalex(1)
    }
}

@media (max-width:48em) {
    .pageHeader-title {
        font-size: 1.6rem
    }

    .pageContents {
        padding: 15% 5% 20%
    }

    .pageMenu-title {
        font-size: 1rem
    }

}

@media (min-width:40.0625em) {

    .pageHeader-bg.ao {
        background: url('../../assets/img/component/page/header-bg/ao-bg.jpg') 50%;
        background-size: cover;
    }

    .pageHeader-bg {
        background: url(../../assets/img/component/page/header-bg/guide.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.course {
        background: url(../../assets/img/component/page/header-bg/course.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.biyou {
        background: url(../../assets/img/component/page/header-bg/biyou.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.kango {
        background: url(../../assets/img/component/page/header-bg/kango.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.kyosei {
        background: url(../../assets/img/component/page/header-bg/kyosei.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.event {
        background: url(../../assets/img/component/page/header-bg/event.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.aoentry {
        background: url(../../assets/img/component/page/header-bg/aoentry.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.foreign {
        background: url(../../assets/img/component/page/header-bg/foreign.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.future {
        background: url(../../assets/img/component/page/header-bg/future.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.student {
        background: url(../../assets/img/component/page/header-bg/student.jpg) no-repeat;
        background-size: cover
    }

    .pageHeader-bg.graduation-voice {
        background: url(../../assets/img/component/page/header-bg/graduation-voice.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.kaigyou {
        background: url(../../assets/img/component/page/header-bg/kaigyou.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.admission {
        background: url(../../assets/img/component/page/header-bg/admission.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.boshu {
        background: url(../../assets/img/component/page/header-bg/boshu.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.foreign,
    .pageHeader-bg.university {
        background: url(../../assets/img/component/page/header-bg/university.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.contact,
    .pageHeader-bg.entry,
    .pageHeader-bg.request {
        background: url(../../assets/img/component/page/header-bg/form.jpg) 50%;
        background-size: cover
    }

    .pageMenu {
        margin-top: 100px
    }

    .pageMenu-title br,
    .pageMenu .portrait {
        display: none
    }

    .pageHeader-bg.online {
        background: url(../../assets/img/component/page/header-bg/online.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.entrance {
        background: url(../../assets/img/component/page/header-bg/entrance.png) 50%;
        background-size: cover
    }

    .pageHeader-bg.guidance {
        background: url(../../assets/img/component/page/header-bg/guidance.png) 50%;
        background-size: cover
    }

    .pageHeader-bg.gakusetsu {
        background: url(../../assets/img/component/page/header-bg/gakusetsu.png) 50%;
        background-size: cover
    }
}

@media (max-width:40em) {

    .pageHeader-bg.ao {
        background: url(../../assets/img/component/page/header-bg/ao_back_sp.jpg) 50%;
        background-size: cover;
    }

    .pageHeader-bg {
        background: url(../../assets/img/component/page/header-bg/guide-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.course {
        background: url(../../assets/img/component/page/header-bg/course-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.biyou {
        background: url(../../assets/img/component/page/header-bg/biyou-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.kango {
        background: url(../../assets/img/component/page/header-bg/kango-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.kyosei {
        background: url(../../assets/img/component/page/header-bg/kyosei-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.event {
        background: url(../../assets/img/component/page/header-bg/event-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.foreign {
        background: url(../../assets/img/component/page/header-bg/foreign-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.future {
        background: url(../../assets/img/component/page/header-bg/future-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.student {
        background: url(../../assets/img/component/page/header-bg/student-sp.jpg) no-repeat;
        background-size: cover
    }

    .pageHeader-bg.graduation-voice {
        background: url(../../assets/img/component/page/header-bg/graduation-voice-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.kaigyou {
        background: url(../../assets/img/component/page/header-bg/kaigyou-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.admission {
        background: url(../../assets/img/component/page/header-bg/admission-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.boshu {
        background: url(../../assets/img/component/page/header-bg/boshu-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.foreign,
    .pageHeader-bg.university {
        background: url(../../assets/img/component/page/header-bg/university-sp.jpg) 50%;
        background-size: cover
    }

    .pageHeader-bg.contact,
    .pageHeader-bg.entry,
    .pageHeader-bg.request {
        background: url(../../assets/img/component/page/header-bg/form-sp.jpg) 100%;
        background-size: cover
    }

    .pageHeader-bg.aoentry {
        background: url(../../assets/img/component/page/header-bg/aoevent_sp.jpg) 100%;
        background-size: cover
    }

    .pageHeader-bg.online {
        background: url(../../assets/img/component/page/header-bg/online.jpg) 100%;
        background-size: cover
    }

    .pageHeader-bg.entrance {
        background: url(../../assets/img/component/page/header-bg/entrance.png) 100%;
        background-size: cover
    }

    .pageHeader-bg.guidance {
        background: url(../../assets/img/component/page/header-bg/guidance.png) 100%;
        background-size: cover
    }

    .pageHeader-bg.gakusetsu {
        background: url(../../assets/img/component/page/header-bg/gakusetsu.png) 100%;
        background-size: cover
    }



    .pageHeader-title {
        font-size: 1.5rem
    }

    .pageMenu {
        margin-top: 80px
    }

    .pageMenu li {
        margin-bottom: 10px
    }

    .pageMenu-title {
        font-size: .9rem
    }

    .pageMenu .landscape {
        display: none
    }
}

@media (max-width:30em) {
    .pageHeader-title {
        font-size: 1.4rem
    }

    * + .pageAnchor {
        margin-top: 30px
    }
}

@media (max-width:20em) {
    .pageHeader-title {
        font-size: 1.3rem
    }
}

.front .eventInfo {
    display: none
}

.eventInfo-heading {
    margin-bottom: 30px;
    text-align: center;
    font-size: 22px;
    font-weight: bold
}

.eventInfo-body {
    padding: 40px 30px;
    border: 1px solid #000
}

.pageEventList-heading {
    margin-bottom: 30px;
    font-weight: bold;
    text-align: center
}

.eventList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.eventList .link {
    color: #fff
}

.eventList .head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px
}

.eventList .date,
.eventList .next {
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap
}

.eventList .next {
    padding: 3px .6em;
    margin-right: 10px;
    background: #000;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-transform: capitalize
}

.eventList .date {
    display: none;
    color: #000;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0
}

.eventList .date.is-show {
    display: inline-block
}

.eventList .date.is-end {
    font-size: 13px;
    font-weight: bold
}

.eventList .date .day-of-the-week {
    font-size: 15px
}

.eventList .date .day-of-the-week.saturday {
    color: #3873ed
}

.eventList .date .day-of-the-week.sunday {
    color: #f6438a
}

.eventList .body {
    position: relative;
    overflow: hidden;
    height: 195px;
    padding: 20px
}

.eventList .body > * {
    position: relative;
    z-index: 2
}

.front .eventList .body {
    height: 190px
}

.eventList .body:before {
    position: absolute;
    display: block;
    content: '';
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../../assets/img/common/dot-black.png);
    background-repeat: repeat
}

.eventList .body p {
    margin-top: 1em;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5
}

.eventList .body .add-txt {
    margin-top: 5px;
    line-height: 1.3;
}

.eventList .body .add-txt.sp {
    display: none;
}

.eventList .bg {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.eventList .bg.taiken {
    background-image: url(../../assets/img/component/event/taiken.jpg);
    background-size: cover;
    background-position: center
}

.eventList .bg.gakusetsu {
    background-image: url(../../assets/img/component/event/gakusetsu.jpg);
    background-size: cover;
    background-position: center
}

.eventList .bg.guidance {
    background-image: url(../../assets/img/component/event/guidance.jpg);
    background-size: cover;
    background-position: center
}

.eventList .bg.other {
    background-image: url(../../assets/img/component/event/other.jpg);
    background-size: cover;
    background-position: center
}

.eventList .name {
    font-weight: bold;
    white-space: nowrap
}

.eventList .time {
    font-weight: 500
}

.eventList .time .icon {
    margin: -2px .3em 0 0
}

@media (min-width:80.0625em) {
    .eventList .next {
        font-size: 12px
    }

    .front .eventList .next {
        font-size: 12px
    }

    .eventList .date {
        font-size: 25px
    }

    .front .eventList .date {
        font-size: 25px
    }

    .front .eventList .date.is-end {
        font-size: 13px;
        font-weight: bold
    }

    .eventList .name {
        font-size: 18px
    }

    .front .eventList .name {
        font-size: 18px
    }

    .eventList .time {
        font-size: 16px
    }

    .front .eventList .time {
        font-size: 1rem
    }

    .front .eventList .body p {
        font-size: .9rem
    }
}

@media (max-width:80em) {
    .eventList .next {
        font-size: 12px
    }

    .eventList .date {
        font-size: 25px
    }

    .eventList .body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .eventList .body p {
        display: none;
        font-size: 11px;
    }

    .eventList .body .add-txt.sp {
        display: block;
    }

    .eventList .name {
        font-size: 18px
    }

    .eventList .time {
        font-size: 13px
    }
}

@media (min-width:48.0625em) {
    .eventList .bg {
        -webkit-transition: -webkit-transform 1s;
        transition: -webkit-transform 1s;
        transition: transform 1s;
        transition: transform 1s, -webkit-transform 1s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .eventList .link:hover .bg {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@media (min-width:68.8125em) {
    .eventList .box {
        width: 19.19328%
    }
}

@media (max-width:68.75em) {
    .eventList {
        margin-bottom: -50px
    }

    .eventList .box {
        width: 48.5%;
        margin-bottom: 50px
    }
}

@media (min-width:40.0625em) {
    .pageEventList-inner {
        border: 1px solid #000;
        padding: 40px 30px
    }

    .pageEventList-heading {
        font-size: 22px
    }
}

@media (max-width:40em) {
    .pageEventList-heading {
        font-size: 18px
    }

    .eventList {
        margin-bottom: -40px
    }

    .eventList .box {
        width: 100%;
        margin-bottom: 40px
    }

    .front .eventList .box {
        width: 48.5%
    }

    .eventList .body {
        height: 120px
    }

    .front .eventList .body {
        height: 120px;
        padding: 20px 15px
    }

    .front .eventList .next {
        font-size: 11px
    }

    .front .eventList .date {
        font-size: 20px
    }

    .front .eventList .date.is-end {
        font-size: 13px
    }

    .eventList .name {
        font-size: 18px
    }

    .front .eventList .name {
        font-size: 16.5px
    }

    .front .eventList .time {
        font-size: 11px
    }
}

@media (max-width:20em) {
    .front .eventList .box {
        width: 100%
    }
}

@media screen and (min-width: 80em) and (max-width: 91.25em) {
    .front .eventList .body {
        padding: 15px;
    }

    .eventList .body {
        height: 195px;
    }
}

.indexList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.indexList-box-title {
    font-weight: bold;
    border-bottom: 1px solid #afb3c7
}

.indexList-box-title .icon {
    display: none;
    position: absolute;
    top: 8px;
    left: 0;
    color: #32d5b6;
    font-size: 11px
}

.indexList-box .button {
    padding: .7em 0 .6em
}

@media (min-width:80.0625em) {
    .indexList-box {
        width: 46.26168%;
        height: 190px
    }

    .indexList-box-title {
        font-size: 18px
    }

    .indexList-box .button {
        width: calc(60.6% - 20px)
    }
}

@media (max-width:80em) {
    .indexList-box {
        width: 48%;
        height: 255px;
        margin-bottom: -80px
    }

    .indexList-box .button {
        left: 0;
        width: 75%
    }
}

@media (min-width:68.8125em) {
    .indexList-box-img {
        width: 190px
    }

    .indexList-box-body {
        width: auto
    }
}

@media (max-width:68.75em) {
    .indexList-box {
        height: 225px
    }

    .indexList-box-img {
        width: 39.4%
    }

    .indexList-box-body {
        width: 60.6%
    }
}

@media (min-width:48.0625em) {
    * + .indexList {
        margin-top: 70px
    }

    .indexList {
        margin-bottom: -80px
    }

    .indexList-box {
        position: relative;
        margin-bottom: 80px
    }

    .indexList-box a {
        display: table;
        width: 100%
    }

    .indexList-box-body,
    .indexList-box-img {
        display: table-cell;
        vertical-align: top
    }

    .indexList-box-body {
        padding-left: 20px
    }

    .indexList-box-img img {
        display: block;
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s
    }

    .indexList-box a:hover img {
        opacity: .6
    }

    .indexList-box-title {
        padding-bottom: .5em;
        margin-bottom: .5em;
        font-size: 16px
    }

    .indexList-box .button {
        position: absolute;
        right: 0;
        bottom: 0
    }
}

@media (max-width:48em) {
    * + .indexList {
        margin-top: 30px
    }

    .indexList {
        height: auto;
        margin-bottom: -50px
    }

    .indexList-box {
        height: auto;
        margin-bottom: 50px
    }

    .indexList-box-body,
    .indexList-box-img {
        width: 100%
    }

    .indexList-box-title {
        position: relative;
        padding-left: 20px;
        padding-bottom: .7em;
        margin-top: 1em;
        margin-bottom: .7em;
        font-size: 1.1rem
    }

    .indexList-box-title .icon {
        display: block
    }

    .indexList-box .button {
        display: none
    }
}

@media (max-width:20em) {
    .indexList-box-title {
        border-bottom: 0;
        margin-bottom: 0;
        font-size: 1rem
    }
}

.newsList + .newsList {
    border-top: 1px dotted;
    border-color: #cfd0d6
}

.newsList + .newsList a {
    padding-top: 10px
}

.front .newsList + .newsList a {
    padding: 15px 0
}

.newsList a {
    padding-bottom: 10px
}

.newsList a:hover .newsList-title {
    text-decoration: underline
}

.newsList-title {
    font-size: 1.17rem
}

.newsList time {
    padding-top: 2px;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0;
    white-space: nowrap;
    margin-right: 50px
}

@media (max-width:48em) {
    .front .newsList + .newsList {
        border-top: 1px dotted #ccc
    }

    .front .newsList time {
        margin-bottom: .5em;
        color: #333;
        font-weight: bold
    }
}

@media (max-width:40em) {

    .newsList-title,
    .newsList time {
        font-size: 1rem
    }
}

@media (min-width:30.0625em) {
    .newsList a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

@media (max-width:30em) {
    .newsList a {
        display: block
    }
}

.newsDetail .date {
    display: block;
    margin-bottom: 2em;
    font-weight: bold
}

.newsDetail {}

.newsDetail h2 {
    position: relative;
    font-size: 1.3rem;
    font-weight: bold;
    padding-bottom: .5em;
    margin-top: .5em;
    margin-bottom: .5em
}

.newsDetail h3 {
    font-weight: bold
}

.newsDetail h2 + h2 {
    margin-top: 2.5em
}

.newsDetail p + h2 {
    margin-top: 2rem
}

.newsDetail p + h3 {
    margin-top: 1.5em
}

.newsDetail p {
    line-height: 2
}

.newsDetail p a[href]:not([class]) {
    text-decoration: underline
}

.newsDetail img:not([class]),
.newsDetail p img:not([class]) {
    display: block
}

.newsDetail p + div,
.newsDetail p + p {
    margin-top: 1.8em
}

.newsDetail img {
    margin-bottom: 1.5em
}

.newsDetail .video-container {
    position: relative;
    margin-bottom: 2em;
    padding-top: 56%
}

.newsDetail .video-container iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.postNav {
    display: table;
    width: 100%;
    padding-top: 5em
}

.postNav-all,
.postNav-next,
.postNav-prev {
    display: table-cell;
    vertical-align: middle
}

.postNav-all {
    border: 1px solid #9a9eb6;
    border-width: 0 1px;
    text-align: center;
    padding: 0 1em;
    white-space: nowrap
}

.postNav-next {
    text-align: left
}

.postNav-prev {
    text-align: right
}

@media (min-width:48.0625em) {

    .postNav-all,
    .postNav-next,
    .postNav-prev {
        width: 33.3333%
    }

    .postNav a {
        position: relative;
        line-height: 1
    }

    .postNav a:hover {
        text-decoration: underline
    }
}

@media (max-width:48em) {
    .postNav {
        margin-bottom: 20px
    }

    .postNav-next,
    .postNav-prev {
        width: 50%
    }

    .postNav-all {
        display: none
    }
}

@media (max-width:30em) {
    .postNav a {
        font-size: .9rem
    }
}

[class*=" icon-"],
[class^=icon-] {
    font-family: 'chuoa-icon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    vertical-align: middle
}

.icon-leaf-circle-mono:before {
    display: inline-block;
    width: 1.1em;
    content: url("../../assets/img/common/leaf-circle-mono.svg")
}

.icon-cross-circle-mono:before {
    display: inline-block;
    width: 1.1em;
    content: url("../../assets/img/common/cross-circle-mono.svg")
}

.icon-scissors-circle-mono:before {
    display: inline-block;
    width: 1.1em;
    content: url("../../assets/img/common/scissors-circle-mono.svg")
}

.icon-leaf-circle:before {
    display: inline-block;
    width: 1.1em;
    content: url("../../assets/img/common/leaf-circle.svg")
}

.icon-cross-circle:before {
    display: inline-block;
    width: 1.1em;
    content: url("../../assets/img/common/cross-circle.svg")
}

.icon-scissors-circle:before {
    display: inline-block;
    width: 1.1em;
    content: url("../../assets/img/common/scissors-circle.svg")
}

.icon-online:before {
    display: inline-block;
    width: 1.1em;
    content: url("../../assets/img/common/online.svg")
}

.icon-calendar:before {
    content: "\e95a"
}

.icon-instagram:before {
    content: "\e95b"
}

.icon-book-shelf:before {
    content: "\e959"
}

.icon-money-pig:before {
    content: "\e956"
}

.icon-handshake:before {
    content: "\e957"
}

.icon-key:before {
    content: "\e958"
}

.icon-washroom:before {
    content: "\e953"
}

.icon-air-condition:before {
    content: "\e938"
}

.icon-bed:before {
    content: "\e939"
}

.icon-bunkbeds:before {
    content: "\e93a"
}

.icon-chair:before {
    content: "\e93b"
}

.icon-cleaner:before {
    content: "\e93c"
}

.icon-closet:before {
    content: "\e93d"
}

.icon-desk:before {
    content: "\e93e"
}

.icon-cutlery:before {
    content: "\e93f"
}

.icon-elevator:before {
    content: "\e940"
}

.icon-dining-table:before {
    content: "\e941"
}

.icon-Interphone:before {
    content: "\e942"
}

.icon-low-table:before {
    content: "\e943"
}

.icon-kettle:before {
    content: "\e944"
}

.icon-laundry:before {
    content: "\e945"
}

.icon-learning:before {
    content: "\e946"
}

.icon-mail-box:before {
    content: "\e947"
}

.icon-bicycle:before {
    content: "\e948"
}

.icon-light:before {
    content: "\e949"
}

.icon-reception:before {
    content: "\e94a"
}

.icon-refrigerator:before {
    content: "\e94b"
}

.icon-books:before {
    content: "\e94c"
}

.icon-shoes:before {
    content: "\e94d"
}

.icon-shower:before {
    content: "\e94e"
}

.icon-sofa:before {
    content: "\e94f"
}

.icon-toilet:before {
    content: "\e950"
}

.icon-bathroom:before {
    content: "\e951"
}

.icon-can:before {
    content: "\e952"
}

.icon-water-heater:before {
    content: "\e954"
}

.icon-wifi:before {
    content: "\e955"
}

.icon-baloon:before {
    content: "\e932"
}

.icon-blog:before {
    content: "\e933"
}

.icon-dog2:before {
    content: "\e934"
}

.icon-speaker:before {
    content: "\e935"
}

.icon-pencil2:before {
    content: "\e936"
}

.icon-document2:before {
    content: "\e937"
}

.icon-cup:before {
    content: "\e90a"
}

.icon-dog:before {
    content: "\e90b"
}

.icon-hammer:before {
    content: "\e90c"
}

.icon-injection:before {
    content: "\e90d"
}

.icon-scissors2:before {
    content: "\e90e"
}

.icon-shop:before {
    content: "\e90f"
}

.icon-wheelchair:before {
    content: "\e928"
}

.icon-angle-bottom-circle-border:before {
    content: "\e909"
}

.icon-angle-right-circle-border:before {
    content: "\e92f"
}

.icon-angle-top-circle-border:before {
    content: "\e930"
}

.icon-angle-left-circle-border:before {
    content: "\e931"
}

.icon-medal:before {
    content: "\e904"
}

.icon-change:before {
    content: "\e905"
}

.icon-note:before {
    content: "\e906"
}

.icon-tv:before {
    content: "\e907"
}

.icon-building2:before {
    content: "\e908"
}

.icon-pdf:before {
    content: "\e900"
}

.icon-angle-right:before {
    content: "\e910"
}

.icon-angle-bottom:before {
    content: "\e901"
}

.icon-angle-left:before {
    content: "\e902"
}

.icon-angle-top:before {
    content: "\e903"
}

.icon-arrow-left:before {
    content: "\e911"
}

.icon-arrow-right:before {
    content: "\e929"
}

.icon-arrow-top:before {
    content: "\e92a"
}

.icon-arrow-bottom:before {
    content: "\e92b"
}

.icon-book:before {
    content: "\e912"
}

.icon-building:before {
    content: "\e913"
}

.icon-clock:before {
    content: "\e914"
}

.icon-cross:before {
    content: "\e915"
}

.icon-document:before {
    content: "\e916"
}

.icon-envelop:before {
    content: "\e917"
}

.icon-heart:before {
    content: "\e918"
}

.icon-leaf:before {
    content: "\e919"
}

.icon-map-pin:before {
    content: "\e91a"
}

.icon-necktie:before {
    content: "\e91b"
}

.icon-pencil:before {
    content: "\e91c"
}

.icon-phd:before {
    content: "\e91d"
}

.icon-phone:before {
    content: "\e91e"
}

.icon-plane:before {
    content: "\e91f"
}

.icon-scissors:before {
    content: "\e920"
}

.icon-user:before {
    content: "\e921"
}

.icon-pagetop:before {
    content: "\e922"
}

.icon-line:before {
    content: "\e923"
}

.icon-window:before {
    content: "\e924"
}

.icon-balloon:before {
    content: "\e925"
}

.icon-check:before {
    content: "\e926"
}

.icon-angle-bottom-circle:before {
    content: "\e927"
}

.icon-angle-right-circle:before {
    content: "\e92c"
}

.icon-angle-left-circle:before {
    content: "\e92d"
}

.icon-angle-top-circle:before {
    content: "\e92e"
}

.icon-facebook:before {
    content: "\ea90"
}

.icon-twitter:before {
    content: "\ea96"
}

.icon-black {
    color: #000
}

.icon-blue {
    color: #3873ed
}

.icon-blue2 {
    color: #3B90C1
}

.icon-green {
    color: #32d5b6
}

.icon-pink {
    color: #f6438a
}

.icon-white {
    color: #fff
}

.icon-grey {
    color: #9a9eb6
}

.icon-yellow {
    color: #ec950c;
}

.icon-sm {
    font-size: .9em
}

.icon-md {
    font-size: 1em
}

.icon-lg {
    font-size: 1.2em
}

.icon-xl {
    font-size: 1.5em
}

.section-heading {
    font-weight: bold;
    border-bottom: 1px solid;
    border-color: #afb3c7
}

.section-heading span {
    display: inline-block;
    padding-left: .5em
}

.section-heading .icon {
    margin: -2px .5em 0 0;
    font-size: 1em
}

.section-subheading {
    font-weight: bold;
    color: #6f748f;
    margin-bottom: 10px
}

.list + .section-subheading,
.table + .section-subheading,
p:not([class]) + .section-subheading,
table:not([class]) + .section-subheading,
ul:not([class]) + .section-subheading {
    margin-top: 2em
}

.section-hero {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.section-banner a {
    display: block
}

.section-banner img {
    margin-left: auto;
    margin-right: auto
}

@media (min-width:48.0625em) {
    .section-banner img {
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .section-banner a:hover img {
        opacity: .6
    }
}

@media (min-width:40.0625em) {
    .section-copy {
        font-size: 1.57rem;
        margin-bottom: 45px;
        text-align: center
    }

    .section-hero + p {
        margin-top: 60px
    }

    p + .section-hero {
        margin-top: 50px
    }

    .section-heading {
        font-size: 1.38rem;
        margin-bottom: 30px
    }

    section + section > .section-heading {
        margin-top: 100px
    }

    .section-subheading {
        font-size: 1.23rem
    }

    .section-banner a:hover img {
        opacity: .6
    }

    section.anchor {
        padding-top: 58px;
        margin-top: -58px
    }
}

@media (max-width:40em) {
    .section-copy {
        font-size: 1.4rem;
        margin-bottom: 20px
    }

    .section-hero + p {
        margin-top: 2em
    }

    p + .section-hero {
        margin-top: 2em
    }

    .section-heading {
        font-size: 1.25rem;
        margin-bottom: 1em
    }

    section + section > .section-heading {
        margin-top: 60px
    }

    .section-subheading {
        font-size: 1.15rem
    }

    section.anchor {
        padding-top: 27px;
        margin-top: -27px
    }
}

dl:not([class]) + dl:not([class]),
p:not([class]) + .img-center,
p:not([class]) + dl,
p:not([class]) + h4,
p:not([class]) + p:not([class]),
p:not([class]) + p[class^=text-],
p:not([class]) + ul,
p:not([class]) + ul:not([class]),
p[class^=text-] + .list,
p[class^=text-] + dl,
p[class^=text-] + p:not([class]),
p[class^=text-] + p[class^=text-],
p[class^=text-] + table,
p[class^=text-] + ul:not([class]),
ul + h4,
ul + p:not([class]) {
    margin-top: 1.25em
}

dl:not([class]) + table,
p:not([class]) + table,
table + h4,
table + p:not([class]),
table + p[class^=text-] {
    margin-top: 1.5em
}

h4 + p,
h4 + table {
    margin-top: .5em
}

ul + .section-heading {
    margin-top: 2em
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-nowrap {
    white-space: nowrap
}

.text-lowercase {
    text-transform: lowercase
}

.text-uppercase {
    text-transform: uppercase
}

.text-capitalize {
    text-transform: capitalize
}

.text-bold {
    font-weight: bold
}

.text-normal {
    font-weight: normal
}

.text-sm {
    font-size: .9rem
}

.text-md {
    font-size: 1rem
}

.text-lg {
    font-size: 1.2rem
}

.text-xl {
    font-size: 1.5rem
}

.text-caution {
    color: #FF3300
}

.text-pink {
    color: #f6438a
}

.text-blue {
    color: #3873ed
}

.text-green {
    color: #2dc4a9
}

.text-grey {
    color: #6f748f
}

.text-dark-grey {
    color: #737477
}

.text-white {
    color: #fff
}

.text-underline {
    text-decoration: underline
}

.text-w3em {
    display: inline-block;
    width: 3em;
    white-space: nowrap
}

.hankaku {
    display: inline-block;
    padding-left: .5em
}

@media (max-width:30em) {
    .text-left-sp {
        text-align: left
    }

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

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

.list-unstyled > li {
    list-style-type: none
}

.list-disc {
    padding-left: 1.2em
}

.list-disc > li {
    list-style-type: disc
}

.list-disc.is-grey {
    padding-left: 1.2em
}

.list-disc.is-grey > li {
    list-style-type: disc;
    color: #6f748f
}

.list-disc.is-grey > li span {
    color: #000
}

.list-decimal {
    padding-left: 1.4em
}

.list-decimal > li {
    list-style-type: decimal
}

.list-num {
    counter-reset: circle-numbering
}

.list-num > li {
    position: relative;
    line-height: 1.8;
    list-style-type: none;
    padding-left: 35px
}

.list-num > li:before {
    content: counter(circle-numbering, decimal);
    counter-increment: circle-numbering;
    font-size: 16px;
    line-height: 25px;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 2px;
    width: 25px;
    height: 25px;
    padding-left: 1px;
    text-align: center;
    color: #fff;
    background: #000;
    border-radius: 50%
}

.list-num > li + li {
    margin-top: 1.2em
}

.list-num.is-grey > li:before {
    background: #6f748f
}

.list-slash > li {
    display: inline-block
}

.list-slash > li + li:before {
    content: '/';
    padding-right: 5px
}

.list.has-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (min-width:40.0625em) {
    .list.has-col.col3:after {
        content: '';
        width: 31%
    }

    .list.col3 > li {
        width: 31%
    }

    .list.col2 > li {
        width: 48.5%
    }
}

@media (max-width:40em) {
    .list.col3 > li {
        width: 45%
    }
}

@media (max-width:30em) {
    .list.col3 > li {
        width: 100%
    }
}

.button {
    position: relative;
    line-height: 1.4;
    display: inline-block;
    letter-spacing: .08em;
    text-transform: capitalize;
    text-align: center;
    padding: .8em 0;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    color: #000;
    cursor: pointer;
    background: transparent;
    overflow: hidden
}

.button-xl {
    display: block;
    max-width: 540px
}

.button-lg {
    display: block
}

.button-md {
    width: 240px
}

.button-sm {
    font-size: 1rem
}

.button-inline {
    margin-left: 0
}

.button-block {
    display: block
}

.button.has-side-blank {
    padding: .8em 4em
}

.button.has-border {
    border: 1px solid;
    border-color: #000
}

.extraContact .button.has-border.prep-btn {
    color: #fff;
    background: #000;
    opacity: 0.5;
    border: none;
    margin-bottom: 10px;
}

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

.text-caution.calendar {
    margin-top: 0 !important;
    margin-bottom: 20px;
}

.button.has-border.button-blue {
    border-color: #3873ed
}

.button.has-border.button-pink {
    border-color: #f6438a
}

.button.has-border.button-green {
    border-color: #32d5b6
}

.button.has-border.button-red {
    border-color: #e24a61;
    color: #e24a61
}

.button.has-bg {
    color: #fff
}

.button.has-bg.button-blue {
    background-color: #3873ed
}

.button.has-bg.button-pink {
    background-color: #f6438a
}

.button.has-bg.button-green {
    background-color: #32d5b6
}

.button.has-bg.button-red {
    background-color: #e24a61
}

.button.has-hover-bg:hover {
    color: #fff;
    background-color: #000
}

.button.has-hover-bg.button-blue:hover {
    background-color: #3873ed
}

.button.has-hover-bg.button-pink:hover {
    background-color: #f6438a
}

.button.has-hover-bg.button-green:hover {
    background-color: #32d5b6
}

.button span {
    position: relative;
    z-index: 1
}

.button span + .icon {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: .9em
}

.button span .icon {
    margin-right: .5em
}

@media (min-width:48.0625em) {
    .button {
        -webkit-transition: .4s;
        transition: .4s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    .button span + .icon {
        -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
        transition: opacity 0.4s, -webkit-transform 0.4s;
        transition: transform 0.4s, opacity 0.4s;
        transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .button:hover span + .icon {
        -webkit-animation: hover 0.4s 1 forwards;
        animation: hover 0.4s 1 forwards
    }

    .button.invert:hover {
        color: #000
    }

    .button.has-border.button-black:hover {
        border-color: #000
    }

    .button.has-border.button-blue:hover {
        border-color: #3873ed
    }

    .button.has-border.button-pink:hover {
        border-color: #f6438a
    }

    .button.has-border.button-green:hover {
        border-color: #32d5b6
    }
}

@media (min-width:40.0625em) {
    .button-lg {
        display: block;
        max-width: 370px
    }
}

@media (max-width:20em) {
    .button {
        font-size: .9rem
    }
}

@-webkit-keyframes hover {
    0% {
        opacity: 1;
        -webkit-transform: translate(0px, -50%);
        transform: translate(0px, -50%)
    }

    50% {
        opacity: 0;
        -webkit-transform: translate(15px, -50%);
        transform: translate(15px, -50%)
    }

    51% {
        opacity: 0;
        -webkit-transform: translate(-15px, -50%);
        transform: translate(-15px, -50%)
    }

    to {
        opacity: 1;
        -webkit-transform: translate(0px, -50%);
        transform: translate(0px, -50%)
    }
}

@keyframes hover {
    0% {
        opacity: 1;
        -webkit-transform: translate(0px, -50%);
        transform: translate(0px, -50%)
    }

    50% {
        opacity: 0;
        -webkit-transform: translate(15px, -50%);
        transform: translate(15px, -50%)
    }

    51% {
        opacity: 0;
        -webkit-transform: translate(-15px, -50%);
        transform: translate(-15px, -50%)
    }

    to {
        opacity: 1;
        -webkit-transform: translate(0px, -50%);
        transform: translate(0px, -50%)
    }
}

.img-center {
    display: block;
    margin: auto;
    text-align: center
}

.img-wrapper {
    position: relative;
    overflow: hidden
}

@media (min-width:68.8125em) {
    .img-lg {
        max-width: 515px
    }
}

@media (max-width:80em) {
    .img-lg {
        max-width: 50%
    }
}

@media (min-width:48.0625em) {
    .img-left {
        float: left;
        margin: 1.25em 1.25em 0 0
    }

    .img-right {
        float: right;
        margin: 0 0 1.25em 1.25em
    }

    .img-sm {
        max-width: 320px
    }
}

@media (max-width:48em) {

    .img-left,
    .img-right {
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1.5em;
        text-align: center
    }

    .img-lg {
        max-width: 100%
    }
}

table {
    width: 100%
}

table + table {
    margin-top: 2em
}

table caption {
    font-weight: bold;
    text-align: left;
    margin-bottom: .5em
}

.td-grey,
.th-grey {
    background: #e7e8ee
}

.td-dark-grey,
.th-dark-grey {
    background: #afb3c7
}

.td-nowrap,
.th-nowrap {
    white-space: nowrap
}

.td-v-middle,
.th-v-middle {
    vertical-align: middle
}

.table-bordered,
.table-bordered2 {
    border-bottom: 1px solid #afb3c7
}

.table-bordered th {
    font-weight: bold;
    text-align: left
}

@media (min-width:40.0625em) {
    .table-bordered {
        border-collapse: collapse
    }

    table td,
    table th {
        padding: 1.2em 1em
    }

    .table-bordered td,
    .table-bordered th,
    .table-bordered2 td,
    .table-bordered2 th {
        border: 1px solid #afb3c7
    }

    .table-bordered2 {
        text-align: left;
    }

    .table-bordered2 th {
        font-weight: bold;
    }

    .table-bordered th {
        width: 33.64%
    }

    .table-multiple th {
        width: 15.42056%
    }
}

@media (max-width:40em) {

    table td,
    table th {
        padding: 1em 1.25em
    }

    .table-responsive td,
    .table-responsive th {
        display: block
    }

    .table-bordered td,
    .table-bordered th,
    .table-bordered2 td,
    .table-bordered2 th {
        border: solid #afb3c7
    }

    .table-bordered th,
    .table-bordered2 th {
        border-width: 1px
    }

    .table-bordered td,
    .table-bordered2 td {
        border-width: 1px
    }

    .table-bordered.table-responsive td {
        border-width: 0 1px
    }

    .table-responsive2 tr th:first-child {
        width: 22%;
    }

    .table-bordered2 {
        text-align: left;
    }

    .table-bordered2 th {
        font-weight: bold;
    }

}

.inner {
    position: relative;
    margin-right: auto;
    margin-left: auto
}

.inner-default {
    max-width: 1250px
}

.inner-large {
    max-width: 1280px
}

.tb-blank {
    padding-top: 100px;
    padding-bottom: 100px
}

.t-blank {
    padding-top: 100px
}

.b-blank {
    padding-bottom: 100px
}

.inside-blank {
    padding-right: 6.2%;
    padding-left: 6.2%
}

.side-blank {
    margin-right: 6.2%;
    margin-left: 6.2%
}

@media (max-width:40em) {
    .tb-blank {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .t-blank {
        padding-top: 60px
    }

    .b-blank {
        padding-bottom: 60px
    }

    .inside-blank {
        padding-right: 20px;
        padding-left: 20px
    }

    .side-blank {
        margin-right: 20px;
        margin-left: 20px
    }
}

@media (min-width:48.0625em) {
    .break-pc {
        display: block !important
    }

    .break-sp {
        display: none !important
    }
}

@media (max-width:48em) {
    .break-pc {
        display: none !important
    }

    .break-sp {
        display: block !important
    }
}

.bg-grey {
    background: #e7e8ee
}

.clf {
    *zoom: 1
}

.clf:after,
.clf:before {
    line-height: 0;
    display: table;
    content: ''
}

.clf:after {
    clear: both
}

@media (min-width:48.0625em) {
    .has-hover-border-link {
        position: relative;
        display: block;
        overflow: hidden;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .hover-border {
        position: absolute;
        background-color: #32d5b6;
        z-index: 1;
        -webkit-transition: -webkit-transform .4s;
        transition: -webkit-transform .4s;
        transition: transform .4s;
        transition: transform .4s, -webkit-transform .4s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .hover-border-bottom,
    .hover-border-top {
        width: calc(100% - 2vw);
        height: 2px
    }

    .hover-border-left,
    .hover-border-right {
        width: 2px;
        height: calc(100% - 2vw)
    }

    .hover-border-top {
        top: 1vw;
        left: 1vw;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: top right;
        transform-origin: top right
    }

    .hover-border-right {
        bottom: 1vw;
        right: 1vw;
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        -webkit-transform-origin: bottom right;
        transform-origin: bottom right
    }

    .hover-border-bottom {
        right: 1vw;
        bottom: 1vw;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: bottom left;
        transform-origin: bottom left
    }

    .hover-border-left {
        top: 1vw;
        left: 1vw;
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        -webkit-transform-origin: top left;
        transform-origin: top left
    }

    .has-hover-border-link:hover .hover-border-top {
        right: 1vw;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: top left;
        transform-origin: top left
    }

    .has-hover-border-link:hover .hover-border-right {
        bottom: 1vw;
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: top right;
        transform-origin: top right
    }

    .has-hover-border-link:hover .hover-border-bottom {
        left: 1vw;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: bottom right;
        transform-origin: bottom right
    }

    .has-hover-border-link:hover .hover-border-left {
        top: 1vw;
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: bottom left;
        transform-origin: bottom left
    }
}

@media (min-width:48.0625em) {
    .hover-opacity {
        -webkit-transition: opacity 0.4s;
        transition: opacity 0.4s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .hover-opacity:hover {
        opacity: .6
    }
}

@media (min-width:48.0625em) {
    .visible-sp {
        display: none !important
    }
}

@media (max-width:48em) {
    .visible-pc {
        display: none !important
    }
}

.video-container {
    position: relative;
    padding-top: 56.25%
}

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

.mt0 {
    margin-top: 0 !important
}

.mt05em {
    margin-top: .5em !important
}

.mt1em {
    margin-top: 1em !important
}

.mt2em {
    margin-top: 2em !important
}

.mt3em {
    margin-top: 3em !important
}

.mt4em {
    margin-top: 4em !important
}

.mt5em {
    margin-top: 5em !important
}

.mt6em {
    margin-top: 6em !important
}

.mt7em {
    margin-top: 7em !important
}

.mt8em {
    margin-top: 8em !important
}

.mt9em {
    margin-top: 9em !important
}

.mt10em {
    margin-top: 10em !important
}

.mt0 {
    margin-top: 0 !important
}

.mt05rem {
    margin-top: .5rem !important
}

.mt1rem {
    margin-top: 1rem !important
}

.mt2rem {
    margin-top: 2rem !important
}

.mt3rem {
    margin-top: 3rem !important
}

.mt4rem {
    margin-top: 4rem !important
}

.mt5rem {
    margin-top: 5rem !important
}

.mt6rem {
    margin-top: 6rem !important
}

.mt7rem {
    margin-top: 7rem !important
}

.mt8rem {
    margin-top: 8rem !important
}

.mt9rem {
    margin-top: 9rem !important
}

.mt10rem {
    margin-top: 10rem !important
}

.mb0 {
    margin-bottom: 0 !important
}

.mb05em {
    margin-bottom: .5em !important
}

.mb1em {
    margin-bottom: 1em !important
}

.mb2em {
    margin-bottom: 2em !important
}

.mb3em {
    margin-bottom: 3em !important
}

.mb4em {
    margin-bottom: 4em !important
}

.mb5em {
    margin-bottom: 5em !important
}

.mb6em {
    margin-bottom: 6em !important
}

.mb7em {
    margin-bottom: 7em !important
}

.mb8em {
    margin-bottom: 8em !important
}

.mb9em {
    margin-bottom: 9em !important
}

.mb10em {
    margin-bottom: 10em !important
}

.mb0 {
    margin-bottom: 0 !important
}

.mb05em {
    margin-bottom: .5rem !important
}

.mb1rem {
    margin-bottom: 1rem !important
}

.mb2rem {
    margin-bottom: 2rem !important
}

.mb3rem {
    margin-bottom: 3rem !important
}

.mb4rem {
    margin-bottom: 4rem !important
}

.mb5rem {
    margin-bottom: 5rem !important
}

.mb6rem {
    margin-bottom: 6rem !important
}

.mb7rem {
    margin-bottom: 7rem !important
}

.mb8rem {
    margin-bottom: 8rem !important
}

.mb9rem {
    margin-bottom: 9rem !important
}

.mb10rem {
    margin-bottom: 10rem !important
}

.formHeader {
    margin-bottom: 40px
}

.formFlow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    width: 86%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    counter-reset: form-flow-counter
}

.formFlow:after {
    display: block;
    content: '';
    position: absolute;
    top: 18px;
    left: 0;
    right: 0;
    height: 1px;
    width: 67%;
    margin: auto;
    background: #9a9eb6
}

.formFlow li {
    position: relative;
    width: 33.3333%;
    color: #9a9eb6;
    text-align: center;
    white-space: nowrap
}

.formFlow li.current {
    color: #000
}

.formFlow li:before {
    position: relative;
    z-index: 1;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5px;
    width: 30px;
    height: 30px;
    border: 1px solid;
    border-color: #9a9eb6;
    background: #fff;
    content: counter(form-flow-counter);
    counter-increment: form-flow-counter;
    font-size: 17px;
    font-weight: bold;
    line-height: 30px
}

.formFlow li.current:before {
    border-color: #000;
    background: #000;
    color: #fff
}

.form-box + .form-box {
    border-top: 1px solid #e7e8ee
}

.form-box:first-of-type {
    border-top: 1px solid #9a9eb6
}

.form-box:last-of-type {
    border-bottom: 1px solid #9a9eb6
}

.form-box.disabled {
    opacity: 0.4;
    background-color: #fefefe;
}

.form-text {
    white-space: nowrap
}

.form-text .optional,
.form-text .require {
    padding: .5em;
    margin-right: 1em;
    border: 1px solid #000;
    font-size: .9rem
}

.form-text .require {
    background: #000;
    color: #fff
}

.form-text .optional {
    color: #000
}

.form-text .note {
    display: block;
    padding-left: 5em
}

.form-input .grade li {
    margin-top: .5em
}

.form-input .select {
    position: relative;
    display: inline-block
}

.form-input .select .icon {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: -1;
    right: 10px;
    font-size: 13px;
    cursor: pointer
}

.form-input select[name=grade2] {
    margin: 0 .5em
}

.form-input select[name=school_category] {
    width: 150px
}

.form-input input[name=school_name] {
    margin-top: 1em
}

.form-input select[name=companion_type] {
    display: block;
    margin-top: .6em
}

.form-input input[name=companion_number] {
    display: block;
    margin-top: 1em;
    width: 6em
}

.form-input .slash {
    display: inline-block;
    margin: 0 5px
}

.form-block + .form-block {
    margin-top: 1em
}

.form-inline {
    display: inline-block;
    margin-right: 1.5em
}

.form .caution,
.form .error {
    display: block;
    margin-top: .6em;
    color: #FF3300;
    font-size: .9rem
}

.form .button {
    width: 300px;
    max-width: 100%;
    padding: 1em 0;
    margin-top: 50px;
    font-size: 1rem;
    outline: none
}

.form .button input {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.form-back {
    text-align: center;
    margin-top: 2em
}

.form-back a {
    text-decoration: underline
}

.confirm {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto
}

.thanks .message {
    margin-bottom: 50px;
    text-align: center
}

.thanks .message span {
    display: block
}

.thanks .message .en {
    font-size: 3rem;
    font-weight: 500;
    text-transform: uppercase
}

.thanks .message .ja {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: .4em
}

.thanks .tel {
    margin-top: 40px;
    font-size: 1.57rem;
    font-weight: bold;
    text-align: center
}

@media (min-width:68.8125em) {
    .formHeader {
        text-align: center
    }

    .form-box {
        display: table;
        width: 100%;
        padding: 15px 0
    }

    .form-input,
    .form-text {
        display: table-cell;
        vertical-align: middle
    }

    .form-text {
        width: 310px
    }

    .form .button:hover {
        color: #fff;
        background: #000;
        border-color: #000
    }
}

@media (max-width:68.75em) {
    .form-box {
        padding: 20px 0
    }

    .form-text {
        margin-bottom: 1em
    }
}

@media (min-width:40.0625em) {
    .form-input .list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .form-input .list li {
        width: 48.5%
    }
}

@media (min-width:30.0625em) {
    .form-input select[name=birth_year] {
        width: 100px
    }

    .form-input select[name=birth_day],
    .form-input select[name=birth_month] {
        width: 70px
    }

    .form-input input[name=zip] {
        width: 10em
    }

    .form-input select[name=prefecture] {
        width: 150px;
        margin-left: 1em
    }

    .form-input .event-schedule select,
    .form-input select[name=course],
    .form-input select[name=enrollment_category] {
        width: 440px
    }

    #form-gakusetsu .form-input select[name=birth_year] {
        width: 110px;
    }

    .thanks {
        text-align: center
    }
}

@media (max-width:30em) {

    .form-input .select.course,
    .form-input .select.course,
    .form-input .select.event-schedule,
    .form-input .select.grade,
    .form-input .select.prefecture,
    .form-input .select.school_category,
    .form-input .select.enrollment_category {
        display: block;
        width: 100%
    }

    .form-input .select.prefecture {
        margin-top: 1em
    }

    .form-input select[name=birth_year] {
        width: 70px
    }

    .form-input select[name=birth_day],
    .form-input select[name=birth_month] {
        width: 60px
    }

    #form-gakusetsu .form-input select[name=birth_year] {
        width: 95px;
    }

    .form-input input[name=zip],
    .form-input select[name=school_category] {
        width: 100%
    }

    .form-text .optional,
    .form-text .require {
        font-size: .7rem
    }

    .form-text .note {
        display: inline;
        padding-left: 1.0em;
    }

}

input[type=radio] {
    display: none
}

input[type=radio]:checked + .radio-text {
    color: #3873ed
}

input[type=radio]:checked + .radio-text:before {
    border-color: #3873ed
}

input[type=radio]:checked + .radio-text:after {
    opacity: 1
}

.radio-text {
    position: relative;
    padding-left: 25px;
    -webkit-transition: color 0.2s;
    transition: color 0.2s
}

.radio-text:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid;
    border-color: #9a9eb6;
    border-radius: 50%;
    -webkit-transition: border-color 0.2s;
    transition: border-color 0.2s
}

.radio-text:after {
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    width: 11px;
    height: 11px;
    background: #3873ed;
    border-radius: 50%;
    content: "";
    opacity: 0;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s
}

input[type=checkbox] {
    display: none
}

input[type=checkbox]:checked + .checkbox-text {
    color: #3873ed
}

input[type=checkbox]:checked + .checkbox-text:before {
    border-color: #3873ed
}

input[type=checkbox]:checked + .checkbox-text:after {
    opacity: 1
}

.checkbox-text {
    position: relative;
    padding-left: 25px;
    -webkit-transition: color 0.2s;
    transition: color 0.2s
}

.checkbox-text:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid;
    border-color: #9a9eb6;
    border-radius: 3px;
    content: "";
    -webkit-transition: border-color 0.2s;
    transition: border-color 0.2s
}

.checkbox-text:after {
    display: block;
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 9px;
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg);
    border: solid #3873ed;
    border-width: 0 2px 2px 0;
    content: "";
    opacity: 0;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s
}

.front-section-heading {
    line-height: 1;
    text-align: center;
    margin-bottom: 1em
}

.front-section-heading .en {
    display: block;
    font-size: 3.07rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0
}

.front-section-heading .ja {
    position: relative;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: .25em;
    text-indent: .25em;
    vertical-align: middle;
    margin-bottom: 14px
}

.front-section-heading .ja:after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 2px;
    left: 0;
    right: 0;
    bottom: -10px;
    margin: 0 auto
}

.front-section-heading.has-border-blue .ja:after {
    background: #3873ed
}

.front-section-heading.has-border-pink .ja:after {
    background: #f6438a
}

.front-section-heading.has-border-green .ja:after {
    background: #32d5b6
}

.front-section-heading.has-border-yellow .ja:after {
    background: #ec950c
}

@media (min-width:40.0625em) {
    .front-section-heading .en {
        font-size: 3.07rem
    }
}

@media (max-width:40em) {
    .front-section-heading .en {
        font-size: 2.5rem
    }

    .front-section-heading .ja {
        margin-bottom: 18px
    }
}

.mainVisual {
    position: relative;
    height: 100vh;
    overflow: hidden
}

.mainVisual:before {
    position: absolute;
    display: block;
    content: '';
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../../assets/img/common/dot-white.png);
    background-repeat: repeat
}

.national-banner {
    position: absolute;
    top: 10px;
    z-index: 2;
    max-width: 498.5px;
}

.national-banner a {
    display: block;
    width: 100%;

}

.mainVisual-copy {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 2;
    width: 87%;
    max-width: 1250px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    line-height: 1;
    -webkit-transform: translateY(-80%);
    transform: translateY(-80%);
    visibility: hidden
}

.mainVisual-copy-border {
    width: 610px;
    height: 2px;
    background: #32d5b6;
    margin: 10px auto 22px;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.9s;
    transition: -webkit-transform 0.9s;
    transition: transform 0.9s;
    transition: transform 0.9s, -webkit-transform 0.9s;
    -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.mainVisual-copy-text {
    line-height: 1;
    overflow: hidden
}

.mainVisual-copy .en {
    font-size: 64px;
    letter-spacing: .1em;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.8s;
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.mainVisual-copy .ja {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .12em;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s;
    -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.mainVisual-img-items {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%
}

.mainVisual-img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat
}

@media (max-width:68.75em) {
    .mainVisual-copy .en {
        font-size: 44px
    }

    .mainVisual-copy .ja {
        font-size: 12px
    }
}

@media (min-width:48.0625em) {
    .mainVisual-img1 {
        background-image: url(../../assets/img/page/front/main-visual01.jpg)
    }

    .mainVisual-img2 {
        background-image: url(../../assets/img/page/front/main-visual02.jpg)
    }

    .mainVisual-img3 {
        background-image: url(../../assets/img/page/front/main-visual03.jpg)
    }

    .mainVisual-img4 {
        background-image: url(../../assets/img/page/front/main-visual04.jpg)
    }
}

@media (max-width:48em) {
    .mainVisual-img1 {
        background-image: url(../../assets/img/page/front/main-visual01-sp.jpg)
    }

    .mainVisual-img2 {
        background-image: url(../../assets/img/page/front/main-visual02-sp.jpg)
    }

    .mainVisual-img3 {
        background-image: url(../../assets/img/page/front/main-visual03-sp.jpg)
    }

    .mainVisual-img4 {
        background-image: url(../../assets/img/page/front/main-visual04-sp.jpg)
    }

    .mainVisual-copy {
        max-width: 100%
    }

    .mainVisual-copy-border {
        width: 100%
    }

    .mainVisual-copy .en {
        font-size: 8vw
    }

    .mainVisual-copy .ja {
        font-size: .9rem
    }
}

@media (max-width:40em) {
    .mainVisual-copy {
        top: 55%
    }

    .mainVisual-copy-border {
        margin-bottom: 17px
    }
}

.frontAnnouce {
    position: relative;
}

.frontAnnouce-container {
    position: relative;
    z-index: 2;
    background: #fff;
    border: 1px solid #f6438a
}

.frontAnnouce-circleBanner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    z-index: 2;
    top: -218px;
    ;
    right: 5.2%
}

.annouce-square {
    position: absolute;
    z-index: 2;
    top: -170px;
    right: 5.2%;
    width: 500px;
}

/* .frontAnnouce-circleBanner a {
    display: block;
    width: 260px;
    border-radius: 50%;
    background-color: #fff
} */

.frontAnnouce-circleBanner .primary,
.frontAnnouce-circleBanner .secondary,
.frontAnnouce-circleBanner .tertiary {
    width: 200px;
}

.frontAnnouce-circleBanner .primary {
    margin-right: 0px
}

.frontAnnouce-circleBanner .secondary {
    position: relative;
    z-index: 1;
    right: 15px;
}

.frontAnnouce-circleBanner .tertiary {
    position: relative;
    z-index: 2;
    right: 30px;
}

.frontAnnouce-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.frontAnnouce-note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: -1;
    margin-left: -15px;
    background-color: #f6438a;
    border-radius: 50%;
    color: #fff;
    font-weight: bold;
    text-align: center
}

.frontAnnouce-title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
}

.frontAnnouce-title .chuoAnimal-festival {
    display: block;
    padding: 0.8em 0;
}

.frontAnnouce-title .chuoAnimal-festival strong {
    margin-left: 15px;
}

.frontAnnouce-title .chuoAnimal-span {
    display: inline-block;
    vertical-align: middle;
    padding: 0 1rem;
    color: #f6438a;
    font-size: 41px;
    font-weight: normal;
    letter-spacing: .08em;
}

.frontAnnouce-detail {
    font-weight: 500;
    text-align: center
}

.frontAnnouce-detail .icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: .25rem;
    margin-top: -2px
}

.frontAnnouce-detail .date .icon {
    font-size: 1.2em
}

.frontAnnouce-detail .time .icon {
    font-size: .7em
}

.frontAnnouce-detail .sat {
    color: #3873ed
}

.frontAnnouce-detail .sun {
    color: #f6438a
}

@media (min-width:52.5625em) {
    .frontAnnouce {
        padding-bottom: 40px
    }

    .frontAnnouce-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: -80px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .frontAnnouce-img.sp {
        display: none
    }
}

@media (max-width:52.5em) {
    .frontAnnouce {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .frontAnnouce-container {
        margin-top: 0;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .frontAnnouce-img.pc {
        display: none
    }

    .frontAnnouce-img {
        margin-top: 1em
    }

    .frontAnnouce-body {
        text-align: center
    }
}

@media (min-width:48.0625em) {
    .frontAnnouce-circleBanner img {
        -webkit-transition: opacity 0.4s;
        transition: opacity 0.4s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .frontAnnouce-circleBanner a:hover img {
        opacity: .6
    }
}

@media (max-width:52.5625em) {
    .frontAnnouce-circleBanner {
        position: absolute;
        width: 80%;
        bottom: 20px;
        top: inherit;
        left: 50%;
        transform: translateX(-50%);
    }

    .annouce-square {
        top: inherit;
        position: inherit;
        margin: 0 auto;
        margin-top: -163px;
        width: 100%;
        right: inherit;
        text-align: center;
        margin-bottom: 40px;
    }

    .important-notice.pd-40 {
        padding-top: 40px;
    }

    .frontAnnouce-circleBanner .primary,
    .frontAnnouce-circleBanner .secondary,
    .frontAnnouce-circleBanner .tertiary {
        width: 200px;
        margin-bottom: 20px;
    }

    .frontAnnouce-container {
        margin-top: 5%
    }
}

@media (min-width:40.0625em) {
    .frontAnnouce-img img {
        height: 130px
    }

    .frontAnnouce-note {
        width: 110px;
        height: 110px;
        font-size: 18px
    }

    .frontAnnouce-body {
        padding-left: 20px
    }

    .frontAnnouce-detail {
        padding-top: .3em;
        font-size: 18px
    }

    .frontAnnouce-detail p {
        display: inline-block;
        vertical-align: middle;
        margin: 0 .4em
    }
}

@media (max-width:40em) {
    .frontAnnouce-container {
        padding-top: 30px;
        padding-bottom: 30px;
        padding-left: 1em;
        padding-right: 1em
    }

    .frontAnnouce-img img {
        height: 100px
    }

    .frontAnnouce-note {
        width: 80px;
        height: 80px;
        font-size: 14px
    }

    .frontAnnouce-title {
        font-size: 18px;
        line-height: 1.6
    }

    .frontAnnouce-title .chuoAnimal-festival {
        padding: 0;
    }

    .frontAnnouce-title .chuoAnimal-span {
        display: block;
        font-size: 2.2em;
    }

    .frontAnnouce-detail {
        padding-top: 0.6em;
        padding-bottom: 0;
        font-size: 1.1em
    }
}

@media (max-width:30em) {

    .frontAnnouce-circleBanner .primary,
    .frontAnnouce-circleBanner .secondary,
    .frontAnnouce-circleBanner .tertiary {
        width: 160px;
        right: 0;
    }

    /* .frontAnnouce-circleBanner .primary,
    .frontAnnouce-circleBanner .secondary {
        width: calc(50% + 10px)
    } 2020 09 30 edit*/

    .frontAnnouce-circleBanner .primary img,
    .frontAnnouce-circleBanner .secondary img,
    .frontAnnouce-circleBanner .tertiary img {
        width: 100%
    }

    .frontAnnouce-title {
        font-size: 16px
    }

    .frontAnnouce-title .chuoAnimal-festival strong {
        display: block;
        margin-left: 0;
    }

    .frontAnnouce-title .chuoAnimal-span {
        font-size: 2em
    }

    .annouce-square {
        margin-top: 0;
        margin-bottom: 20px;
    }
}

.frontEvent-container {
    position: relative;
    z-index: 2;
    background: #fff
}

.frontEvent-heading {
    margin-bottom: .7em
}

.frontEvent-head .button {
    display: block;
    margin-top: 1.5em;
    max-width: 180px
}

@media (min-width:80.0625em) {
    .frontEvent-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .frontEvent-head {
        width: 20%;
        padding-right: 40px
    }

    .frontEvent-body {
        width: 80%
    }
}

@media (max-width:80em) {
    .frontEvent-head {
        text-align: center;
        margin-bottom: 40px
    }

    .frontEvent .button {
        display: none
    }
}

@media (max-width:68.75em) {
    .frontEvent-container {
        margin-top: 0
    }
}

@media (min-width:52.5625em) {
    .frontEvent-container {
        padding: 40px
    }
}

@media (max-width:52.5em) {
    .frontEvent-container {
        padding: 60px 40px
    }

    .frontEvent-head {
        margin-bottom: 1.5em
    }
}

@media (min-width:48.0625em) {
    .frontEvent {
        background: #e7e8ee
    }
}

@media (max-width:48em) {
    .event-section {
        margin-top: 0px;
    }

    .frontEvent {
        padding-top: 5rem;
        padding-bottom: 5rem;
        background: #fff
    }

    .frontEvent-head {
        margin-bottom: 30px
    }

    .frontEvent-container {
        margin-top: 0;
        padding: 0
    }
}

@media (max-width:40em) {
    .frontEvent {
        padding-top: 15%
    }

    .frontEvent-container {
        padding: 0
    }

    .frontEvent-head {
        text-align: left
    }

    .frontEvent-head p br {
        display: none
    }
}

.frontPublic-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontPublic-banner {
    width: 29.6%
}

.frontPublic-banner img {
    width: 100%
}

@media (max-width:88.125em) {
    .frontPublic-banner {
        width: 38%
    }
}

@media (max-width:68.75em) {
    .frontPublic-banner {
        width: 70%;
        margin-top: 40px 6.2%;
        margin-left: auto;
        margin-right: auto
    }
}

@media (min-width:48.0625em) {
    .frontPublic-inner {
        padding-top: 80px;
        padding-bottom: 80px
    }
}

@media (max-width:48em) {
    .frontPublic-inner {
        padding-top: 5rem;
        padding-bottom: 5rem
    }
}

@media (max-width:40em) {
    .frontPublic-banner {
        width: 100%
    }

    .frontPublic .button {
        display: block;
        max-width: 240px;
        margin: auto
    }
}

.frontNews {
    position: relative;
    width: 70.4%;
    padding-right: 40px
}

.frontNews-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontNews-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 30px
}

.frontNews-heading {
    border-right: 1px solid #3873ed;
    padding-right: 27px;
    margin-right: 27px;
    margin-bottom: 0;
    white-space: nowrap
}

.frontNews-body {
    overflow: hidden
}

.frontNews .button {
    position: absolute;
    top: 0;
    right: 40px;
    width: 160px;
    padding: .7em 0
}

@media (max-width:88.125em) {
    .frontNews {
        width: 60%
    }

    .frontNews .button {
        position: relative;
        width: 250px;
        top: auto;
        right: auto;
        margin-top: 2em;
        padding: .6em 0 .5em;
        margin-left: auto;
        margin-right: auto
    }
}

@media (max-width:68.75em) {
    .frontNews-lead br {
        display: none
    }

    .frontNews {
        width: 100%;
        padding: 5rem 6.2%;
        margin-bottom: 30px;
        background: #fff
    }

    .frontNews-container,
    .frontNews-head {
        display: block
    }

    .frontNews-heading {
        border-right: 0;
        padding-right: 0;
        margin-right: 0;
        margin-bottom: 1em
    }

    .frontNews .button {
        float: right;
        padding: 1em 0
    }
}

@media (max-width:40em) {
    .frontNews {
        padding: 5rem 20px
    }

    .frontNews-body {
        overflow: auto
    }

    .frontNews .button {
        float: none;
        width: 100%
    }
}

.frontCourse-lead {
    margin-bottom: 1.5em;
    text-align: center
}

.frontCourse-boxGroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.frontCourse-box {
    display: flex;
    width: 33.3333%;
    height: 565px;
}

.frontCourse-box-inner {
    width: 100%
}

.frontCourse-link {
    overflow: hidden
}

.frontCourse-img {
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    display: flex;
}

.biyou .frontCourse-img {
    background-image: url(../../assets/img/page/front/course-biyou.jpg)
}

.kango .frontCourse-img {
    background-image: url(../../assets/img/page/front/course-kango.jpg)
}

.kyosei .frontCourse-img {
    background-image: url(../../assets/img/page/front/course-kyosei.jpg)
}

.frontCourse-mask {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    width: 74.5%;
    height: 81%;
    padding: 20% 5%;
    margin: 0 auto;
    transform: translateY(-50%);
    background-image: url(../../assets/img/common/dot-black.png);
    background-repeat: repeat;
}

.biyou .frontCourse-mask {
    background-color: rgba(246, 67, 138, 0.6)
}

.kango .frontCourse-mask {
    background-color: rgba(56, 115, 237, 0.6)
}

.kyosei .frontCourse-mask {
    background-color: rgba(50, 213, 182, 0.6)
}

.frontCourse-body {
    color: #fff;
    margin: 0 auto;
}

.frontCourse-body p {
    color: #fff;
    font-weight: bold
}

.frontCourse-name {
    font-size: 1.69rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px
}

.frontCourse-name .icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
    width: 45px;
    height: 45px;
    font-size: 45px;
    line-height: 1
}

.frontCourse-link {
    position: relative;
    display: block;
    width: 100%;
}

@media (min-width:80.0625em) {
    .frontCourse-name {
        font-size: 1.6rem;
        text-align: center
    }

    .frontCourse-box {
        display: flex;
        width: 33.3333%;
        height: 719px;
    }
}

@media (min-width: 120em) {
    .frontCourse-box {
        height: 80vh;
    }
}

@media (max-width: 80em) {
    .frontCourse-name {
        font-size: 1.43rem;
        margin-bottom: 10px
    }

    .frontCourse-mask {
        width: 80%;
        padding: 8% 5%;
    }

}

@media (max-width:68.75em) {
    .frontCourse-boxGroup {
        display: block
    }

    .frontCourse-box {
        width: 100%
    }

    .frontCourse-mask {
        width: 85%;
        height: 78%;
        display: flex;
        align-items: center;
    }

    .frontCourse-body {
        width: 92%
    }

    .frontCourse-name {
        font-size: 1.25rem;
        margin-bottom: 1rem;
        text-align: center
    }
}

@media (min-width:48.0625em) {
    .frontCourse-img {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: -webkit-transform 1s;
        transition: -webkit-transform 1s;
        transition: transform 1s;
        transition: transform 1s, -webkit-transform 1s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .frontCourse-link:hover .frontCourse-img {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }
}

@media (min-width:40.0625em) {
    .frontCourse-lead {
        font-size: 1.69rem;
        margin-bottom: 1.5em
    }
}

@media (max-width:40em) {
    .frontCourse-lead {
        font-size: 1rem;
        margin-bottom: 1em
    }

    .frontCourse-body {
        padding: 0
    }
}

.frontQua-heading {
    border-bottom: 1px solid #e7e8ee;
    padding-bottom: .3em;
    margin-bottom: 1em;
    font-size: 1.53rem;
    font-weight: bold;
    white-space: nowrap
}

.frontQua-heading .icon {
    font-size: 130%;
    margin-right: 10px;
    margin-top: -4px
}

.frontQua-container {
    position: relative;
    border: 1px solid #e7e8ee
}

.frontQua-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontQua .button {
    margin-left: auto;
    margin-right: auto
}

@media (min-width:80.0625em) {
    .frontQua-list li {
        width: 25%
    }
}

@media (max-width:80em) {
    .frontQua-list li {
        width: 33%
    }
}

@media (min-width:68.8125em) {
    .frontQua-lead {
        margin-bottom: 2em
    }

    .frontQua .button {
        margin-top: 40px;
        width: 240px
    }
}

@media (max-width:68.75em) {
    .frontQua-lead {
        margin-bottom: 1em
    }

    .frontQua-list li {
        width: 48.5%
    }

    .frontQua .button {
        margin-top: 30px;
        width: 190px
    }
}

@media (min-width:48.0625em) {
    .frontQua-container {
        padding: 40px 70px
    }
}

@media (max-width:48em) {
    .frontQua-container {
        padding: 40px 20px
    }
}

.frontSchool-lead {
    text-align: center;
    margin-bottom: 3em
}

.frontSchool-columnGroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontSchool-columnGroup + .frontSchool-columnGroup {
    margin-top: 1.5vw
}

.frontSchool-parentColumn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontSchool-parentColumn.first {
    width: 39.04%
}

.frontSchool-parentColumn.second {
    width: 59.36%
}

.frontSchool-box {
    position: relative;
    background: #fff
}

.frontSchool-box.large {
    width: 100%
}

.frontSchool-box.middle {
    width: 65.76%
}

.frontSchool-box.small {
    width: 31.53%
}

.frontSchool-box.admission {
    width: 100%
}

.frontSchool-box.sp {
    display: none
}

.frontSchool-box-heading {
    position: relative;
    z-index: 1;
    font-size: 1.38rem;
    font-weight: bold
}

.frontSchool-box.small .frontSchool-box-heading {
    text-align: center
}

.frontSchool-box-heading.invert {
    color: #fff
}

.frontSchool-box-heading .icon {
    font-size: 65%;
    color: #32d5b6;
    margin: -2px 0 0 .5em
}

.frontSchool-box-heading + p {
    position: relative;
    z-index: 1;
    margin-top: .8em
}

.feature .frontSchool-box-img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%
}

.overview .frontSchool-box-img,
.teacher .frontSchool-box-img {
    width: 100%;
    height: 100%
}

.access .frontSchool-box-img {
    width: 45%;
    height: 100%
}

.model-dog .frontSchool-box-img {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%
}

.graduate .frontSchool-box-img {
    width: 100%;
    height: 100%
}

.frontSchool-box-body {
    z-index: 1
}

.frontSchool-box.small .frontSchool-box-body {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto
}

.feature .frontSchool-box-body,
.model-dog .frontSchool-box-body {
    padding: 2vw 2.5vw 0 2.5vw
}

.access .frontSchool-box-body {
    width: 55%;
    padding: 1vw 0 0 1vw
}

.frontSchool-box-link {
    display: block;
    height: 100%;
    background: #fff
}

.frontSchool-box.small .frontSchool-box-link {
    position: relative;
    height: 100%
}

.frontSchool-box.middle .frontSchool-box-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontSchool-box.access .frontSchool-box-link {
    padding: 1vw
}

@media (min-width:68.8125em) {
    .frontSchool-box-heading {
        white-space: nowrap
    }

    .frontSchool-box.graduate,
    .frontSchool-box.model-dog {
        margin-top: 1.5vw
    }

    .admission .frontSchool-box-img,
    .facility .frontSchool-box-img {
        width: 47.95%;
        height: 100%
    }

    .admission .frontSchool-box-body,
    .facility .frontSchool-box-body {
        padding: 2vw 2.5vw 0 2.5vw;
        width: 52.05%
    }
}

@media (max-width:68.75em) {
    .frontSchool-box-heading {
        font-size: 1.2rem
    }

    .frontSchool-columnGroup {
        display: block
    }

    .frontSchool-columnGroup + .frontSchool-columnGroup {
        margin-top: 0
    }

    .frontSchool-parentColumn.first {
        width: 100%;
        margin-bottom: 0
    }

    .frontSchool-parentColumn.second {
        width: 100%
    }

    .frontSchool-box.middle .frontSchool-box-link {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .frontSchool-box.admission .frontSchool-box-link:before,
    .frontSchool-box.facility .frontSchool-box-link:before {
        position: absolute;
        display: block;
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5)
    }

    .frontSchool-box {
        position: relative;
        background: #fff;
        margin-top: 20px
    }

    .frontSchool-box.small {
        width: 48.5%
    }

    .frontSchool-box.middle {
        width: 100%
    }

    .frontSchool-box.pc {
        display: none
    }

    .frontSchool-box.sp {
        display: block
    }

    .frontSchool-box.feature {
        margin-top: 0
    }

    .feature .frontSchool-box-img {
        position: static
    }

    .model-dog .frontSchool-box-img {
        position: static;
        margin-top: 1em
    }

    .admission .frontSchool-box-img,
    .facility .frontSchool-box-img {
        width: 100%;
        height: 100%
    }

    .frontSchool-box.small .frontSchool-box-body {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        right: 0;
        margin: auto
    }

    .feature .frontSchool-box-body,
    .model-dog .frontSchool-box-body {
        padding: 6vw 4vw 0 4vw
    }

    .access .frontSchool-box-body {
        padding: 4vw
    }

    .frontSchool-box-body p br {
        display: none
    }
}

@media (max-width:40em) {
    .frontSchool-lead {
        text-align: left;
        margin-bottom: 1.6em
    }

    .frontSchool-box {
        margin-top: 15px
    }

    .frontSchool-box-heading {
        font-size: 1.1rem
    }

    .frontSchool-box-heading .icon {
        margin-top: 0
    }
}

@media (max-width:20em) {

    .feature .frontSchool-box-body p,
    .model-dog .frontSchool-box-body p {
        font-size: .9rem
    }

    .access .frontSchool-box-body p {
        display: none
    }
}

.frontDormitory-select-box-link {
    position: relative;
    display: block;
    height: 100%
}

.frontDormitory-select-box-body {
    width: 100%;
    color: #fff;
    font-weight: bold
}

.frontDormitory-select-box-body:before {
    position: absolute;
    display: block;
    content: '';
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../../assets/img/common/dot-black.png);
    background-repeat: repeat
}

.frontDormitory-select-box-img {
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat
}

.frontDormitory-select-box-img.women {
    background-image: url(../../assets/img/page/front/dormitory-shimo.jpg)
}

.frontDormitory-select-box-img.men {
    background-image: url(../../assets/img/page/front/dormitory-ojiryou.jpg)
}

.frontDormitory-select-box-name {
    padding-bottom: 5px;
    margin-bottom: 1rem;
    font-weight: bold
}

.frontDormitory-select-box-name .icon {
    display: inline-block;
    vertical-align: middle;
    margin: -2px 0 0 1em;
    font-size: .7em
}

.frontDormitory-feature {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontDormitory-feature-box .icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
    background: #e7e8ee;
    border-radius: 50%;
    text-align: center
}

.frontDormitory-feature-box-title {
    margin-bottom: 10px;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center
}

.frontDormitory .button {
    margin-left: auto;
    margin-right: auto;
    max-width: 540px
}

@media (min-width:80.0625em) {
    .frontDormitory-select-box-name {
        border-bottom: 2px solid #fff;
        font-size: 22px
    }

    .frontDormitory-feature {
        margin-top: 50px
    }

    .frontDormitory-feature-box {
        padding: 0 2em
    }

    .frontDormitory-feature-box .icon {
        width: 140px;
        height: 140px;
        font-size: 60px;
        line-height: 140px
    }

    .frontDormitory .button {
        margin-top: 50px
    }
}

@media (max-width:80em) {
    .frontDormitory-select-box-name {
        border-bottom: 1px solid #fff;
        font-size: 1.2rem
    }

    .frontDormitory-feature {
        margin-top: 40px
    }

    .frontDormitory-feature-box {
        padding: 0 1em
    }

    .frontDormitory-feature-box .icon {
        width: 100px;
        height: 100px;
        font-size: 50px;
        line-height: 100px
    }

    .frontDormitory .button {
        margin-top: 40px
    }
}

@media (min-width:68.8125em) {
    .frontDormitory-select {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .frontDormitory-select-box {
        width: 50%
    }
}

@media (min-width:48.0625em) {
    .frontDormitory-select-box-img {
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: -webkit-transform 1s;
        transition: -webkit-transform 1s;
        transition: transform 1s;
        transition: transform 1s, -webkit-transform 1s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .frontDormitory-select-box-link:hover .frontDormitory-select-box-img {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }

    .frontDormitory-select-box-link {
        overflow: hidden
    }

    .frontDormitory-feature-box {
        width: 25%
    }
}

@media (max-width:48em) {
    .frontDormitory-feature {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: -30px
    }

    .frontDormitory-feature-box {
        width: 50%;
        margin-bottom: 30px
    }
}

@media (min-width:40.0625em) {
    .frontDormitory-lead {
        margin-bottom: 40px;
        text-align: center
    }

    .frontDormitory-select {
        margin-top: 50px
    }

    .frontDormitory-select-box-img {
        height: 430px
    }

    .frontDormitory-select-box-body {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        right: 0;
        padding: 40px 10%
    }

    .frontDormitory-select-box-body.women {
        background-color: rgba(246, 67, 138, 0.7)
    }

    .frontDormitory-select-box-body.men {
        background-color: rgba(56, 115, 237, 0.7)
    }

    .frontDormitory-select-box-body li {
        font-size: 1.06rem
    }
}

@media (max-width:40em) {
    .frontDormitory-lead {
        margin-bottom: 20px
    }

    .frontDormitory-select {
        margin-top: 30px
    }

    .frontDormitory-select-box:last-child {
        margin-top: 20px
    }

    .frontDormitory-select-box-img {
        padding-top: 56.49351%
    }

    .frontDormitory-select-box-body {
        padding: 28px 7%
    }

    .frontDormitory-select-box-body.women {
        background-color: rgba(246, 67, 138, 0.86)
    }

    .frontDormitory-select-box-body.men {
        background-color: rgba(56, 115, 237, 0.86)
    }
}

@media (max-width:20em) {
    .frontDormitory-feature-box {
        width: 100%
    }
}

.frontSns .inner {
    border-top: 1px solid #ddd
}

.frontSns-boxGroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frontSns-box {
    width: 31%
}

.frontSns-box.instagram .css-s9tt3p {
    display: none;
}

.frontSns-box.instagram .add-height {
    height: 350px;
    overflow-y: auto;
}

.frontSns-box.instagram .insg article {
    height: 56vw;
    max-height: 805px;
    margin: -20px 5px 0 0;
    overflow: hidden;
}

.frontSns-box.instagram .css-par8nx {
    padding-top: 0 !important;
}

.frontSns-box.blog {
    display: none;
}

.css-1pph18d {
    border-radius: inherit !important;
}

.frontSns-heading {
    font-size: 2.3rem;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: .25em
}

.frontSns-body {
    border: #e7e8ee solid;
    border-width: 1px;
    height: 350px
}

.facebook .frontSns-body {
    border-width: 1px 0
}

.twitter .frontSns-body {
    border-width: 0 1px
}

.blog .frontSns-body {
    overflow: scroll
}

.postList-item + .postList-item {
    border-top: 1px solid #e7e8ee
}

.postList-link {
    position: relative;
    display: block;
    padding: 20px 50px 20px 20px
}

.postList-title {
    font-size: 16px;
    font-weight: bold;
    color: #3873ed
}

.postList-excerpt {
    margin: 1em 0
}

.postList-date {
    display: inline-block;
    margin-right: .5em
}

.postList-category {
    display: inline-block;
    line-height: 1;
    padding: 4px 7px;
    border: 1px solid #e7e8ee;
    border-radius: 4px
}

.postList-icon {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 20px;
    color: #32d5b6
}

@media (min-width:48.0625em) {
    .postList-link {
        -webkit-transition: background .4s;
        transition: background .4s
    }

    .postList-link:hover {
        background: rgba(154, 158, 182, 0.4)
    }

    .postList-link:hover .postList-title {
        text-decoration: underline
    }
}

@media (max-width:48em) {
    .frontSns {
        display: none
    }

    .frontSns-box.facebook,
    .frontSns-box.twitter,
    .frontSns-box.instagram {
        display: none
    }

    .frontSns-box.blog {
        display: block;
    }

    .frontSns-box.blog {
        width: 100%
    }

    .frontSns-body {
        height: auto;
        overflow: auto
    }

    .postList-item:nth-child(4),
    .postList-item:nth-child(5) {
        display: none
    }
}

.animalList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.animalList:before {
    content: "";
    display: block;
    width: 23.1%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

.animalList:after {
    content: "";
    display: block;
    width: 23.1%
}

.animalList-img {
    margin-bottom: .7em
}

.animalList-img img {
    vertical-align: middle;
    border: 1px solid #acb0c5
}

.animalList-name {
    font-weight: bold;
    text-align: center
}

.animalList-sex {
    text-align: center
}

.animalList-sex .male {
    color: #3873ed
}

.animalList-sex .female {
    color: #f6438a
}

.animalList-type {
    text-align: center
}

.mainAnimal {
    position: relative;
    border: 1px solid #acb0c5;
    margin-bottom: 40px
}

.mainAnimal-img img {
    vertical-align: bottom
}

.mainAnimal-body {
    width: 230px;
    text-align: center
}

.mainAnimal-label {
    font-size: 1.23rem;
    font-weight: bold;
    padding: 2px 0;
    background: #e7e8ee;
    max-width: 230px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: .5em
}

.mainAnimal-name {
    font-size: 1.23rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: .5em
}

.mainAnimal-sex {
    display: inline
}

.mainAnimal-sex span[data-sex=男の子] {
    color: #3873ed
}

.mainAnimal-sex span[class=female] {
    color: #f6438a
}

.mainAnimal-type {
    display: inline;
    padding-left: .5em
}

@media (min-width:88.1875em) {
    .mainAnimal-img {
        width: 70%
    }
}

@media (max-width:88.125em) {
    .mainAnimal-img {
        width: 60%
    }
}

@media (min-width:68.8125em) {
    .mainAnimal-body {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 9%
    }
}

@media (max-width:68.75em) {
    .mainAnimal-body {
        margin-top: 3em;
        margin-left: auto;
        margin-right: auto
    }

    .mainAnimal-img {
        width: 100%
    }
}

@media (min-width:40.0625em) {
    .animalList-box {
        width: 22.9%;
        margin-bottom: 60px
    }

    .animalList-name {
        font-size: 1.23rem
    }
}

@media (max-width:40em) {
    .animalList-box {
        width: 48.5%;
        margin-bottom: 30px
    }

    .animalList-name {
        font-size: 1rem
    }
}

.otherFacility {
    margin-bottom: 70px
}

.otherFacility-img > img {
    margin-bottom: 10px;
    width: 100%
}

@media (min-width:52.5625em) {
    .otherFacility {
        margin-bottom: 70px
    }

    .otherFacility-container {
        display: table;
        width: 100%
    }

    .otherFacility-body,
    .otherFacility-img {
        display: table-cell;
        vertical-align: top
    }

    .otherFacility-img {
        width: 37%
    }

    .otherFacility-img.is-large {
        width: 48.13084%
    }

    .otherFacility-body {
        padding-left: 0;
        padding-right: 40px
    }

    .otherFacility-img + .otherFacility-body {
        padding-left: 40px
    }
}

@media (max-width:52.5em) {
    .otherFacility {
        margin-bottom: 40px
    }

    .otherFacility-img {
        width: 100%
    }

    .otherFacility-body {
        margin-bottom: 2em
    }

    .otherFacility-img + .otherFacility-body {
        margin-top: 1em;
        margin-bottom: 0
    }
}

* + .schoolFeature {
    margin-top: 70px
}

.schoolFeature {
    counter-reset: feature-counter
}

.schoolFeature-box {
    position: relative
}

.schoolFeature-box-title {
    font-weight: bold
}

.schoolFeature-box:first-child .schoolFeature-box-title {
    color: #f6438a
}

.schoolFeature-box:nth-child(2) .schoolFeature-box-title {
    color: #3873ed
}

.schoolFeature-box:nth-child(3) .schoolFeature-box-title {
    color: #32d5b6
}

.schoolFeature-box:nth-child(4) .schoolFeature-box-title {
    color: #9a9eb6
}

.schoolFeature-box:nth-child(5) .schoolFeature-box-title {
    color: #f6438a
}

.schoolFeature-box:nth-child(6) .schoolFeature-box-title {
    color: #3873ed
}

.schoolFeature-box:nth-child(7) .schoolFeature-box-title {
    color: #32d5b6
}

.schoolFeature-box:first-child .schoolFeature-box-body:before {
    border-color: #f6438a;
    color: #f6438a
}

.schoolFeature-box:nth-child(2) .schoolFeature-box-body:before {
    border-color: #3873ed;
    color: #3873ed
}

.schoolFeature-box:nth-child(3) .schoolFeature-box-body:before {
    border-color: #32d5b6;
    color: #32d5b6
}

.schoolFeature-box:nth-child(4) .schoolFeature-box-body:before {
    border-color: #9a9eb6;
    color: #9a9eb6
}

.schoolFeature-box:nth-child(5) .schoolFeature-box-body:before {
    border-color: #f6438a;
    color: #f6438a
}

.schoolFeature-box:nth-child(6) .schoolFeature-box-body:before {
    border-color: #3873ed;
    color: #3873ed
}

.schoolFeature-box:nth-child(7) .schoolFeature-box-body:before {
    border-color: #32d5b6;
    color: #32d5b6
}

.schoolFeature-box-body:before {
    position: relative;
    z-index: 1;
    background: #fff;
    border: 1px solid;
    text-align: center;
    content: counter(feature-counter, decimal-leading-zero);
    counter-increment: feature-counter
}

.schoolFeature-box-img img {
    width: 100%
}

.schoolFeature-box .button {
    padding: .7em 0 .6em;
    max-width: 100%;
    width: 240px
}

@media (min-width:80.0625em) {
    .schoolFeature-box-body:before {
        margin-top: -60px;
        width: 90px;
        height: 90px;
        font-size: 54px;
        line-height: 90px
    }
}

@media (max-width:80em) {
    .schoolFeature-box-body:before {
        margin-top: -30px;
        width: 60px;
        height: 60px;
        font-size: 34px;
        line-height: 60px
    }
}

@media (min-width:68.8125em) {

    .schoolFeature-box:first-child,
    .schoolFeature-box:nth-child(2) {
        height: 670px
    }

    .schoolFeature-box:nth-child(3),
    .schoolFeature-box:nth-child(4) {
        height: 630px
    }

    .schoolFeature-box:nth-child(5),
    .schoolFeature-box:nth-child(6) {
        height: 675px
    }

    .schoolFeature-box:nth-child(7) {
        height: 730px
    }
}

@media (max-width:68.75em) {

    .schoolFeature-box:first-child,
    .schoolFeature-box:nth-child(2) {
        height: 690px
    }

    .schoolFeature-box:nth-child(3),
    .schoolFeature-box:nth-child(4) {
        height: 630px
    }

    .schoolFeature-box:nth-child(5),
    .schoolFeature-box:nth-child(6) {
        height: 700px
    }

    .schoolFeature-box:nth-child(7) {
        height: 750px
    }
}

@media (min-width:52.5625em) {
    .schoolFeature {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .schoolFeature-box {
        width: 46.72897%
    }

    .schoolFeature-box-img {
        padding-left: 46px
    }

    .schoolFeature-box-title {
        margin: 30px 0 20px
    }

    .schoolFeature-box .button {
        position: absolute;
        right: 0;
        bottom: 0
    }
}

@media (max-width:52.5em) {

    .schoolFeature-box:first-child,
    .schoolFeature-box:nth-child(2),
    .schoolFeature-box:nth-child(3),
    .schoolFeature-box:nth-child(4),
    .schoolFeature-box:nth-child(5),
    .schoolFeature-box:nth-child(6),
    .schoolFeature-box:nth-child(7) {
        height: auto
    }

    .schoolFeature-box-img {
        padding-left: 20px
    }

    .schoolFeature-box-title {
        margin: 20px 0 15px
    }
}

@media (min-width:30.0625em) {
    .schoolFeature {
        margin-bottom: -80px
    }

    .schoolFeature-box {
        margin-bottom: 80px
    }

    .schoolFeature-box-title {
        font-size: 20px
    }

    .schoolFeature-box .button {
        float: right;
        margin-top: 35px
    }
}

@media (max-width:30em) {
    .schoolFeature {
        margin-bottom: 0
    }

    .schoolFeature-box {
        margin-bottom: 60px
    }

    .schoolFeature-box-title {
        font-size: 1.2rem
    }

    .schoolFeature-box .button {
        margin-top: 25px
    }
}

.greetingLead-copy span {
    display: block;
    text-align: center
}

.greetingLead-copy .ja {
    font-weight: bold
}

.greetingLead-box {
    border: 1px solid #e7e8ee
}

.greetingLead-box-heading {
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    background: #e7e8ee;
    padding: .5em;
    letter-spacing: .1em
}

.greetingLead-box-heading span {
    display: inline-block;
    vertical-align: middle;
    padding-bottom: 2px
}

.greetingLead-box-body ul {
    width: 100%
}

.greetingLead-box-body li {
    font-weight: bold;
    text-align: center
}

.greetingLead-box-body li + li {
    margin-top: .5em
}

@media (min-width:48.0625em) {
    .greetingLead-boxGroup {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .greetingLead-box {
        width: 48%
    }

    .greetingLead-box-body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        height: 200px
    }
}

@media (max-width:48em) {
    .greetingLead-box + .greetingLead-box {
        margin-top: 2em
    }

    .greetingLead-box-body {
        padding: 1.5em
    }
}

@media (min-width:40.0625em) {
    .greetingLead-copy {
        margin-bottom: 3em
    }

    .greetingLead-copy .en {
        font-size: 2.5rem
    }

    .greetingLead-copy .ja {
        font-size: 1.57rem
    }

    .greetingLead-box-heading span {
        font-size: 1.38rem
    }

    .greetingLead-box-body li {
        font-size: 1.38rem
    }
}

@media (max-width:40em) {
    .greetingLead-copy {
        margin-bottom: 1.8em
    }

    .greetingLead-copy .en {
        font-size: 2rem
    }

    .greetingLead-copy .ja {
        font-size: 1rem
    }
}

.greetingMaster-box-img {
    width: 210px
}

.greetingMaster-box-img img {
    width: 100%
}

.greetingMaster-box-heading {
    font-weight: bold;
    margin-bottom: 1em
}

.greetingMaster-name {
    margin-top: 1em
}

.greetingMaster-name span {
    display: block;
    line-height: 1
}

.greetingMaster-box-org {
    padding: 1.25em 2em;
    margin-top: 1.5em;
    background: #e7e8ee
}

@media (min-width:40.0625em) {
    .greetingMaster-box {
        display: table;
        width: 100%
    }

    .greetingMaster-box + .greetingMaster-box {
        margin-top: 100px
    }

    .greetingMaster-box-heading {
        font-size: 1.38rem
    }

    .greetingMaster-box-body,
    .greetingMaster-box-img {
        display: table-cell;
        vertical-align: top
    }

    .greetingMaster-box-body {
        padding-left: 40px
    }

    .greetingMaster-name {
        font-size: 16px
    }

    .greetingMaster-name span {
        font-size: 13px
    }
}

@media (max-width:40em) {
    .greetingMaster-box-heading {
        font-size: 1.15rem;
        margin-bottom: .8em
    }

    .greetingMaster-box + .greetingMaster-box {
        margin-top: 4em
    }

    .greetingMaster-box-img {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2em
    }

    .greetingMaster-name {
        font-size: 14px
    }

    .greetingMaster-name span {
        font-size: 13px;
        line-height: 1.4
    }

    .greetingMaster-sign {
        width: 120px
    }
}

.groupSchool-logo {
    margin-bottom: 1em;
    width: 188px
}

.groupSchool-name {
    font-size: 1.2rem;
    font-weight: bold
}

.groupSchool-main {
    margin-bottom: 70px
}

.groupSchool-main-img img {
    width: 100%
}

.groupSchool-main-overview {
    padding: 1.25em 1.5em;
    margin-top: 1.5em;
    background: #e7e8ee
}

.groupSchool-sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.groupSchool-sub:before {
    content: "";
    display: block;
    width: 23.5%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

.groupSchool-sub-img {
    margin-bottom: .7em
}

.groupSchool-sub-img img {
    width: 100%
}

.groupSchool-sub:after {
    content: "";
    display: block;
    width: 23.5%
}

@media (min-width:68.8125em) {
    .groupSchool-main-img {
        width: 400px
    }

    .groupSchool-sub-box {
        width: 23.5%;
        margin-bottom: 70px
    }
}

@media (max-width:68.75em) {
    .groupSchool-main-img {
        width: 45%
    }

    .groupSchool-sub-box {
        width: 48.5%;
        margin-bottom: 40px
    }
}

@media (min-width:40.0625em) {
    .groupSchool-main {
        margin-bottom: 70px
    }

    .groupSchool-main-container {
        display: table;
        width: 100%
    }

    .groupSchool-main-body,
    .groupSchool-main-img {
        display: table-cell;
        vertical-align: top
    }

    .groupSchool-main-body {
        padding-left: 40px
    }

    .groupSchool-sub-body p {
        font-size: 12px
    }
}

@media (max-width:40em) {
    .groupSchool-main {
        margin-bottom: 40px
    }

    .groupSchool-main-img {
        width: 100%;
        margin-bottom: 1em
    }

    .groupSchool-sub-box {
        width: 100%
    }
}

.groupSchool-history figcaption,
.groupSchool-history figure img {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto
}

.groupSchool-history figcaption {
    margin-top: 8px
}

@media (min-width:40.0625em) {
    .groupSchool-history table th {
        width: 170px;
        white-space: nowrap
    }

    .groupSchool-history .has-img .inner {
        display: table;
        width: 100%
    }

    .groupSchool-history .has-img .text,
    .groupSchool-history figure {
        display: table-cell;
        vertical-align: middle
    }

    .groupSchool-history .has-img .text {
        width: 70%
    }

    .groupSchool-history figure {
        width: 240px;
        margin-top: 5px;
        margin-left: auto
    }
}

@media (max-width:40em) {
    .groupSchool-history figure {
        display: none
    }
}

.animalSystem li {
    text-align: left
}

.animalSystem li + li {
    margin-top: 1em
}

.animalSystem li span {
    display: inline-block;
    font-weight: bold;
    margin-right: 1em
}

@media (min-width:68.8125em) {
    .animalSystem li span {
        text-align: right;
        width: 33%
    }
}

@media (max-width:68.75em) {
    .animalSystem li span {
        display: block
    }
}

@media (min-width:40.0625em) {
    .animalSystem {
        margin: 60px 0 70px
    }

    .animalSystem li span {
        font-size: 1.38rem
    }
}

@media (max-width:40em) {
    .animalSystem {
        margin: 15% 0
    }

    .animalSystem li span {
        font-size: 1.2rem
    }
}

.teacher-body .button {
    padding: 1em 0
}

@media (min-width:68.8125em) {
    .teacher {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .teacher-img {
        width: 40.186%
    }

    .teacher-body {
        width: 59.814%;
        padding-left: 40px;
        overflow: hidden
    }

    .teacher-body .button {
        width: 340px;
        margin-top: 3em;
        float: right
    }
}

@media (max-width:68.75em) {
    .teacher-img {
        margin-bottom: 1.5em
    }

    .teacher-img img {
        width: 100%
    }

    .teacher-body .button {
        width: 100%;
        margin-top: 2em
    }
}

.accessMain-body .button {
    margin-top: 2em
}

.accessMain-img a,
.accessSub-img a {
    position: relative;
    display: block
}

.accessMain-img a:before,
.accessSub-img a:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: #32d5b6;
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.accessMain-img a:hover:before,
.accessSub-img a:hover:before {
    opacity: .4
}

.accessTime {
    margin-top: 1em
}

.accessTime li {
    position: relative;
    padding-left: 5.8em
}

.accessTime li + li {
    margin-top: .8em
}

.accessTime .station {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: #000;
    width: 5em;
    padding: 5px 0;
    margin-right: .5em
}

.accessTime .time {
    font-weight: bold
}

.accessTime .route {
    font-size: .9rem
}

@media (min-width:68.8125em) {

    .accessMain,
    .accessSub {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .accessMain-img {
        width: 58.878%
    }

    .accessMain-body {
        width: 41.122%;
        padding-left: 70px
    }

    .accessSub-img {
        width: 50.186%
    }

    .accessSub-body {
        width: 49.813%;
        padding-left: 40px
    }
}

@media (max-width:68.75em) {
    .accessMain {
        padding-top: 5%
    }

    .accessMain-img,
    .accessSub-img {
        margin-bottom: 1.5em
    }

    .accessMain-img img,
    .accessSub-img img {
        width: 100%
    }
}

@media print {

    .print .accessMain-body .button,
    .print .accessMain-img p,
    .print .accessSub-img .video-container,
    .print .accessSub-img p,
    .print .megaMenuBg,
    .print .megaMenuOverlay,
    .print .pageMenu,
    .print .pageTop,
    .print .railway,
    .print .section-copy,
    .print footer,
    .print header {
        display: none
    }

    .print .t-blank {
        padding-top: 2em
    }

    .print .b-blank {
        padding: 0
    }
}

.facilityMenu-box-link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff
}

.facilityMenu-box.main .facilityMenu-box-link {
    background-image: url(../../assets/img/page/guide/facility/main/menu-main.jpg);
    background-position: center;
    background-repeat: repeat
}

.facilityMenu-box.other .facilityMenu-box-link {
    background-image: url(../../assets/img/page/guide/facility/main/menu-other.jpg);
    background-position: center;
    background-repeat: repeat
}

.facilityMenu-box-link:before {
    position: absolute;
    display: block;
    content: '';
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
    transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
}

.facilityMenu-box-link > * {
    position: relative;
    z-index: 1
}

.facilityMenu-box-title {
    font-weight: bold;
    line-height: 1;
    text-align: center
}

.facilityMenu-box-title .icon {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.mainFacility-heading {
    line-height: 1;
    margin-bottom: 20px
}

.facilityGallery-item {
    display: none
}

.facilityGallery-item.current {
    display: none
}

.facilityGallery .slick-dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    bottom: auto
}

.facilityGallery .slick-dots li {
    display: block;
    height: auto;
    margin: 0 0 10px
}

.facilityGallery .caption {
    padding: .6em 1.5em;
    max-width: 760px;
    background: #000;
    color: #fff
}

@media (min-width:48.0625em) {
    .facilityMenu {
        margin-top: 70px
    }

    .facilityMenu-box-link {
        height: 220px
    }

    .facilityMenu-box-link:after {
        position: absolute;
        display: block;
        content: '';
        z-index: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: #32d5b6;
        -webkit-transform: scalex(0);
        transform: scalex(0);
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    .facilityMenu a:hover:after {
        -webkit-transform: scalex(1);
        transform: scalex(1)
    }

    .mainFacility-heading {
        font-size: 48px
    }

    .facilityMenu-box-title {
        font-size: 26px;
        -webkit-transition: opacity 0.4s;
        transition: opacity 0.4s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    section + section > .mainFacility {
        margin-top: 110px
    }
}

@media (max-width:48em) {
    .facilityMenu {
        margin-top: 30px
    }

    .facilityMenu-box-link {
        height: 180px
    }

    .mainFacility-heading {
        font-size: 32px
    }

    .facilityMenu-box-title {
        font-size: 16px
    }

    section + section > .mainFacility {
        margin-top: 60px
    }
}

@media (min-width:30.0625em) {
    .facilityMenu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .facilityMenu-box-title .icon {
        margin-top: 20px;
        font-size: 23px
    }

    .facilityMenu-box {
        width: 48.13084%
    }

    .mainFacility-head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 30px
    }

    .mainFacility-head-img {
        width: 297px;
        margin-left: auto
    }

    .mainFacility-head-text {
        padding-right: 1em;
        max-width: 760px;
        width: 71.02804%
    }

    .facilityGallery .slick-list {
        max-width: 760px;
        width: 71.02804%
    }

    .facilityGallery .slick-dots {
        position: absolute;
        top: 0;
        right: 0;
        width: 27.1028%
    }

    .facilityGallery .slick-dots li {
        width: 48%
    }
}

@media (max-width:30em) {
    .facilityMenu-box {
        width: 100%
    }

    .facilityMenu-box + .facilityMenu-box {
        margin-top: 1em
    }

    .facilityMenu-box-title .icon {
        margin-top: 10px;
        font-size: 18px
    }

    .facilityMenu-box-link {
        height: 120px
    }

    .mainFacility-head {
        margin-bottom: 20px
    }

    .mainFacility-head-text {
        margin-bottom: 20px
    }

    .mainFacility-head-img {
        margin-right: auto;
        text-align: center
    }

    .mainFacility-head-img img {
        width: 90%
    }

    .facilityGallery .slick-dots {
        position: static;
        width: 100%;
        margin-top: 15px
    }

    .facilityGallery .slick-dots li {
        width: 32%
    }

    .facilityGallery .slick-dots:after {
        content: '';
        display: block;
        width: 32%
    }
}

@media (min-width:30.0625em) {
    .spendSimulation .extraBox-body {
        padding: 2em 31.25px
    }
}

.dormitoryFacility {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: -15px
}

.dormitoryFacility li {
    margin-bottom: 15px
}

.dormitoryFacility li + li {
    margin-top: 0
}

.dormitoryFacility .iconBox {
    position: relative;
    display: block;
    padding-top: 100%;
    background: #9a9eb6;
    border-radius: 5px;
    text-align: center
}

.dormitoryFacility .icon {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
    color: #fff
}

.dormitoryFacility .name {
    display: block;
    margin-top: 10px;
    line-height: 1.4;
    text-align: center
}

@media (min-width:68.8125em) {
    .dormitoryFacility li {
        width: 18%
    }

    .dormitoryFacility .icon {
        font-size: 45px
    }
}

@media (max-width:68.75em) {
    .dormitoryFacility li {
        width: 22%
    }

    .dormitoryFacility .icon {
        font-size: 32px
    }
}

@media (max-width:52.5em) {
    .dormitoryFacility li {
        width: 30%
    }
}

@media (max-width:48em) {
    .dormitoryFacility li {
        width: 18%
    }

    .dormitoryFacility .icon {
        font-size: 7vw
    }
}

@media (min-width:30.0625em) {
    .dormitoryFacility .name {
        font-size: 12px
    }
}

@media (max-width:30em) {
    .dormitoryFacility li {
        width: 22%
    }

    .dormitoryFacility .name {
        font-size: 10px
    }
}

@media (max-width:20em) {
    .dormitoryFacility li {
        width: 30%
    }
}

.courseLead-box {
    position: relative;
    border: 1px solid
}

.courseLead.biyou .courseLead-box {
    border-color: #f6438a
}

.courseLead.kango .courseLead-box {
    border-color: #3873ed
}

.courseLead.kyosei .courseLead-box {
    border-color: #32d5b6
}

.courseLead-box-heading {
    color: #fff;
    font-weight: bold
}

.courseLead.biyou .courseLead-box-heading {
    background: #f6438a
}

.courseLead.kango .courseLead-box-heading {
    background: #3873ed
}

.courseLead.kango .courseLead-box-heading span {
    font-size: 13px;
    display: block;
    line-height: 1.5;
}

.courseLead.kyosei .courseLead-box-heading {
    background: #32d5b6
}

.courseLead-box-body {
    padding: 1.5em 1.5em 3em
}

.courseLead-box .button {
    position: absolute;
    bottom: -24px;
    width: 190px
}

.courseLead-box .button .icon {
    margin-left: .5em
}

@media (min-width:80.0625em) {
    .courseLead-box-heading {
        font-size: 22px
    }
}

@media (max-width:80em) {
    .courseLead-box-heading {
        font-size: 1.3rem
    }
}

@media (min-width:52.5625em) {
    .courseLead {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .courseLead-box {
        width: 48.41121%
    }
}

@media (max-width:52.5em) {
    .courseLead-box {
        margin-bottom: 60px
    }
}

@media (min-width:48.0625em) {
    .courseLead-box-heading {
        padding: .5em 1em
    }

    .courseLead-box-heading .icon {
        width: 30px;
        height: 30px;
        margin-top: -6px;
        margin-right: .5em;
        font-size: 30px
    }

    .courseLead-box-img {
        position: relative;
        overflow: hidden
    }

    .courseLead-box-img:before {
        display: block;
        position: absolute;
        display: block;
        content: '';
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    .courseLead.biyou .courseLead-box-img:before {
        background: rgba(246, 67, 138, 0.4)
    }

    .courseLead.kango .courseLead-box-img:before {
        background: rgba(56, 115, 237, 0.4)
    }

    .courseLead.kyosei .courseLead-box-img:before {
        background: rgba(50, 213, 182, 0.4)
    }

    .courseLead-box-link:hover .courseLead-box-img:before {
        opacity: 1
    }

    .courseLead-box-img img {
        width: 100%;
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: -webkit-transform 1s;
        transition: -webkit-transform 1s;
        transition: transform 1s;
        transition: transform 1s, -webkit-transform 1s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .courseLead-box-link:hover .courseLead-box-img img {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }

    .courseLead-box .button {
        right: 20px
    }
}

@media (max-width:48em) {
    .courseLead-box-heading {
        padding: .5em
    }

    .courseLead-box-heading .icon {
        width: 25px;
        height: 25px;
        margin-top: -6px;
        margin-right: .5em;
        font-size: 25px
    }

    .courseLead-box .button {
        right: 0;
        left: 0;
        bottom: -17px;
        width: 70%;
        margin-left: auto;
        margin-right: auto
    }
}

.coursePoint {
    margin-top: 40px;
    counter-reset: feature-counter
}

.coursePoint-box {
    display: table;
    width: 100%
}

.coursePoint-box + .coursePoint-box {
    margin-top: 40px
}

.coursePoint-box-body,
.coursePoint-box-img {
    display: table-cell;
    vertical-align: top
}

.coursePoint-box-img {
    position: relative
}

.coursePoint-box-img:before {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    background: #fff;
    border: 1px solid;
    text-align: center;
    content: counter(feature-counter, decimal-leading-zero);
    counter-increment: feature-counter
}

.coursePoint.biyou .coursePoint-box-img:before {
    color: #f6438a
}

.coursePoint.kango .coursePoint-box-img:before {
    color: #3873ed
}

.coursePoint.kyosei .coursePoint-box-img:before {
    color: #2dc4a9
}

.coursePoint-box-heading {
    margin-bottom: 10px
}

.coursePoint.biyou .coursePoint-box-heading {
    color: #f6438a
}

.coursePoint.kango .coursePoint-box-heading {
    color: #3873ed
}

.coursePoint.kyosei .coursePoint-box-heading {
    color: #2dc4a9
}

@media (min-width:68.8125em) {
    .coursePoint-box-img {
        width: 370px
    }

    .coursePoint-box-img:before {
        width: 90px;
        height: 90px;
        font-size: 43px;
        line-height: 90px
    }
}

@media (max-width:68.75em) {
    .coursePoint-box-img {
        width: 40%
    }

    .coursePoint-box-img:before {
        width: 60px;
        height: 60px;
        font-size: 28px;
        line-height: 60px
    }
}

@media (min-width:48.0625em) {
    .coursePoint-box-img {
        padding: 22px 22px 0 0
    }

    .coursePoint-box-body {
        padding-left: 40px
    }

    .coursePoint-box-heading {
        font-size: 22px
    }
}

@media (max-width:48em) {

    .coursePoint-box,
    .coursePoint-box-body,
    .coursePoint-box-img {
        display: block
    }

    .coursePoint-box-img {
        padding: 0 0 0 30px;
        width: 100%
    }

    .coursePoint-box-img:before {
        top: auto;
        left: 0;
        bottom: -30px
    }

    .coursePoint-box-body {
        padding-top: 50px
    }

    .coursePoint-box-heading {
        font-size: 1.4rem
    }
}

@media (max-width:30em) {
    .coursePoint-box-heading {
        font-size: 1.2rem
    }

    .coursePoint-box-img:before {
        width: 50px;
        height: 50px;
        font-size: 25px;
        line-height: 50px
    }
}

.curriculumList td ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (min-width:68.8125em) {
    .curriculumList td ul:after {
        content: '';
        width: 33%
    }

    .curriculumList td ul li {
        width: 33%
    }
}

@media (max-width:68.75em) {
    .curriculumList td ul li {
        width: 45%
    }
}

@media (min-width:48.0625em) {
    .curriculumList th {
        width: 140px
    }
}

@media (max-width:30em) {
    .curriculumList td ul li {
        width: 100%
    }
}

.quaList td ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (min-width:68.8125em) {
    .quaList td ul:after {
        content: '';
        width: 31.5%
    }

    .quaList td ul li {
        width: 31.5%;
        letter-spacing: 0.4px;
    }
}

@media (max-width:68.75em) {
    .quaList td ul li {
        width: 45%
    }
}

@media (min-width:48.0625em) {
    .quaList th {
        width: 100px
    }
}

@media (max-width:30em) {
    .quaList td ul li {
        width: 100%
    }
}

.timeTable {
    margin-top: .7em;
    table-layout: fixed;
    text-align: center
}

.timeTable td,
.timeTable th {
    padding: 1em
}

.timeTable th {
    width: auto
}

.timeTable tr th:first-child {
    width: 227px
}

.timeTable tbody tr td:first-child {
    position: relative;
    padding-left: 80px
}

.timeTable thead tr th:first-child {
    border-right: 1px solid #fff;
    border-left: 1px solid #afb3c7
}

.timeTable thead tr th:nth-child(2),
.timeTable thead tr th:nth-child(3),
.timeTable thead tr th:nth-child(4),
.timeTable thead tr th:nth-child(5) {
    border-right: 1px solid #fff;
    border-left: 1px solid #fff
}

.timeTable thead tr th {
    border-top: 1px solid #afb3c7;
    border-right: 1px solid #afb3c7;
    border-bottom: 1px solid #afb3c7;
    color: #fff;
    font-weight: bold
}

.timeTable tbody tr td {
    border: 1px solid #afb3c7
}

.timeTable .period {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 100%;
    background: #c3c6d5;
    color: #fff;
    font-weight: bold;
    text-align: center
}

.courseDetail-box-year-inner {
    color: #fff;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0;
    white-space: nowrap
}

.courseDetail.biyou .courseDetail-box-year-inner {
    background: #f6438a
}

.courseDetail.kango .courseDetail-box-year-inner {
    background: #3873ed
}

.courseDetail.kyosei .courseDetail-box-year-inner {
    background: #32d5b6
}

.courseDetail-box-heading {
    font-weight: bold
}

@media (min-width:48.0625em) {
    .courseDetail-box + .courseDetail-box {
        margin-top: 130px
    }

    .courseDetail-box-head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 40px
    }

    .courseDetail-box-heading {
        padding-left: 40px;
        font-size: 18px
    }

    .courseDetail-box-year-inner {
        padding: 0 15px;
        font-size: 24px;
        height: 100px;
        line-height: 100px
    }

    .courseDetail-box-year-inner span {
        font-size: 40px
    }
}

@media (max-width:48em) {
    .courseDetail-box + .courseDetail-box {
        margin-top: 50px
    }

    .courseDetail-box-head {
        margin-bottom: 20px
    }

    .courseDetail-box-heading {
        font-size: 16px
    }

    .courseDetail-box-year-inner {
        margin-bottom: 15px;
        width: 7em;
        font-size: 14px
    }

    .courseDetail-box-year-inner span {
        font-size: 20px
    }
}

.trainingDetail-box-img {
    margin-bottom: 1.5em;
    width: 100%
}

.trainingDetail + .button {
    max-width: 517px
}

@media (min-width:40.0625em) {
    .trainingDetail {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .trainingDetail-box {
        width: 48.13084%
    }
}

@media (min-width:30.0625em) {
    * + .trainingDetail {
        margin-top: 70px
    }

    .trainingDetail-box {
        margin-bottom: 80px
    }
}

@media (max-width:30em) {
    * + .trainingDetail {
        margin-top: 30px
    }

    .trainingDetail-box {
        margin-bottom: 60px
    }
}

.courseIntro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.courseIntro-box-heading {
    padding: .5em 1em;
    margin-bottom: 1em;
    background: #e7e8ee;
    font-weight: bold;
    text-align: center
}

.courseIntro-box-heading .icon {
    font-size: 1.5rem;
    margin-right: .25em;
    vertical-align: -15%
}

@media (min-width:68.8125em) {
    .courseIntro {
        margin-top: 60px
    }

    .courseIntro-box {
        width: 18.50467%
    }
}

@media (max-width:68.75em) {
    .courseIntro {
        margin-top: 40px;
        margin-bottom: -40px
    }

    .courseIntro:after {
        content: '';
        width: 31%
    }

    .courseIntro-box {
        width: 31%;
        margin-bottom: 40px
    }
}

@media (max-width:30em) {
    .courseIntro {
        margin-top: 30px;
        margin-bottom: -30px
    }

    .courseIntro:after {
        content: '';
        width: 48.5%
    }

    .courseIntro-box {
        width: 48.5%;
        margin-bottom: 30px
    }
}

.courseList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 60px
}

.courseList-box-link {
    display: block
}

.courseList-box-heading {
    padding: 20px 0;
    color: #fff;
    font-weight: bold;
    text-align: center
}

.courseList-box.biyou .courseList-box-heading {
    background: #f6438a
}

.courseList-box.kango .courseList-box-heading {
    background: #3873ed
}

.courseList-box.kyosei .courseList-box-heading {
    background: #32d5b6
}

.aside .courseList-box-heading {
    padding: 17px 0
}

.courseList-box-heading span {
    display: block;
    font-size: 22px;
    line-height: 1.6
}

.aside .courseList-box-heading span {
    font-size: 18px
}

.courseList-box-heading .icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
    width: 45px;
    height: 45px;
    font-size: 45px;
    line-height: 1
}

.courseList-box-img {
    position: relative;
    overflow: hidden
}

.courseList-box-img img {
    width: 100%
}

.courseList-box-catch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 130px;
    font-size: 18px;
    font-weight: bold;
    text-align: center
}

.courseList-box.biyou .courseList-box-catch {
    color: #f6438a
}

.courseList-box.kango .courseList-box-catch {
    color: #3873ed
}

.courseList-box.kyosei .courseList-box-catch {
    color: #32d5b6
}

.aside .courseList-box-catch {
    font-size: 16px
}

.courseList-box-job dt {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border: 1px solid;
    border-width: 0 0 1px
}

.courseList-box.biyou .courseList-box-job dt {
    border-color: #f6438a
}

.courseList-box.kango .courseList-box-job dt {
    border-color: #3873ed
}

.courseList-box.kyosei .courseList-box-job dt {
    border-color: #32d5b6
}

.courseList-box .button {
    position: relative;
    z-index: 1;
    padding: 14px 18px;
    margin: -20px auto 0;
    width: 240px;
    font-size: 1.1rem;
    line-height: 1
}

.courseList-box .button .icon {
    margin-left: .5em
}

@media (min-width:88.1875em) {
    .courseList {
        margin-top: 60px
    }

    .courseList-box {
        padding: 1px;
        width: 32.05607%
    }

    .courseList-box.biyou {
        background: #f6438a
    }

    .courseList-box.kango {
        background: #3873ed
    }

    .courseList-box.kyosei {
        background: #32d5b6
    }

    .courseList-box-img .landscape {
        display: none
    }

    .aside .courseList-box-img .landscape {
        display: block
    }

    .courseList-box-job {
        padding: 30px 17px;
        background: #e7e8ee
    }

    .courseList-box .button {
        display: none
    }

    .video {
        margin: 60px auto 0;
        max-width: 820px;
        height: 464px;
    }

}

@media (max-width:88.125em) {
    .courseList {
        margin-bottom: -60px
    }

    .courseList-box {
        width: 48.5%;
        margin-bottom: 60px
    }

    .courseList-box-body {
        position: relative;
        z-index: 1;
        width: 90%;
        padding: 2rem 2em 3em;
        margin: -20px auto 0;
        background: #fff;
        border: 1px solid;
        border-width: 1px
    }

    .courseList-box.biyou .courseList-box-body {
        border-color: #f6438a
    }

    .courseList-box.kango .courseList-box-body {
        border-color: #3873ed
    }

    .courseList-box.kyosei .courseList-box-body {
        border-color: #32d5b6
    }

    .aside .courseList-box-body {
        padding: 2rem 2em 2.8em
    }

    .courseList-box-heading .icon {
        width: 35px;
        height: 35px;
        font-size: 35px
    }

    .courseList-box-heading span br {
        display: inline-block;
        margin-left: .5em
    }

    .courseList-box-catch {
        display: block;
        height: auto;
        padding: 0;
        margin-bottom: .8em;
        text-align: left
    }

    .aside .courseList-box-catch {
        margin-bottom: 0
    }

    .courseList-box-catch br {
        display: none
    }

    .courseList-box-img .portrait {
        display: none
    }

    .video {
        margin: 60px auto 0;
        max-width: 820px;
        width: 86%;
    }

    .video iframe {
        height: calc(300px + (464 - 300) * ((100vw - 769px) / (1410 - 769)));
    }
}

@media (min-width: 1411px) {
    .video iframe {
        height: 464px;
    }
}

@media (max-width:68.75em) {
    .courseList-box-heading span {
        font-size: 18px;
        line-height: 1.5
    }

    .video iframe {
        height: calc(142px + (340 - 142) * ((100vw - 320px) / (769 - 320)));
    }
}

@media (min-width:48.0625em) {
    .aside .courseList-box-heading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: left
    }

    .aside .courseList-box-heading .icon {
        margin: 0 15px 0 0
    }

    .courseList-box-catch {
        background: #fff
    }

    .courseList-box-img:before {
        display: block;
        position: absolute;
        display: block;
        content: '';
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    .courseList-box.biyou .courseList-box-img:before {
        background-color: rgba(246, 67, 138, 0.4)
    }

    .courseList-box.kango .courseList-box-img:before {
        background-color: rgba(56, 115, 237, 0.4)
    }

    .courseList-box.kyosei .courseList-box-img:before {
        background-color: rgba(50, 213, 182, 0.4)
    }

    .courseList-box-link:hover .courseList-box-img:before {
        opacity: 1
    }

    .courseList-box-img img {
        width: 100%;
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: -webkit-transform 1s;
        transition: -webkit-transform 1s;
        transition: transform 1s;
        transition: transform 1s, -webkit-transform 1s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .courseList-box-link:hover .courseList-box-img img {
        -webkit-transform: scale(1.08);
        transform: scale(1.08)
    }
}

@media (max-width:48em) {
    .courseList-box {
        width: 100%
    }

    .courseList-box-heading {
        padding: 20px 0
    }

    .aside .courseList-box-heading .icon {
        width: 35px;
        height: 35px;
        font-size: 35px;
        margin-bottom: 10px
    }

    .courseList-box-body {
        padding-top: 3em;
        padding-bottom: 4em;
        background: none
    }

    .aside .courseList-box-body {
        padding: 3rem 2em 3em
    }

    .courseList-box-catch {
        font-size: 16px;
        background: none
    }

    .courseList-box .button {
        width: 70%
    }

    .video {
        width: 100%;
    }
}

.chuoFeature {
    position: relative;
    border: 1px solid #9a9eb6
}

.chuoFeature-bg {
    background-repeat: no-repeat;
    background-size: cover
}

.chuoFeature-body {
    position: relative;
    z-index: 1
}

.chuoFeature-body .list {
    margin-top: 30px
}

.chuoFeature-heading {
    max-width: 500px;
    font-weight: bold;
    margin-bottom: 1rem;
    border-bottom: 1px solid #9a9eb6
}

@media (min-width:88.1875em) {
    .chuoFeature-bg {
        width: 663px
    }
}

@media (max-width:88.125em) {
    .chuoFeature-bg {
        width: 70%
    }
}

@media (min-width:48.0625em) {
    .chuoFeature {
        padding: 40px;
        margin-top: 70px
    }

    .chuoFeature-bg {
        position: absolute;
        top: 0;
        right: 0;
        max-width: 100%;
        height: 100%;
        background-image: url(../../assets/img/page/course/index/feature.jpg);
        background-position: 0
    }

    .chuoFeature-heading {
        font-size: 20px
    }
}

@media (max-width:48em) {
    .chuoFeature {
        padding: 0;
        margin-top: 40px
    }

    .chuoFeature-bg {
        width: 100%;
        max-width: 100%;
        padding-top: 67.1875%;
        background-image: url(../../assets/img/page/course/index/feature-sp.jpg);
        background-position: center
    }

    .chuoFeature-heading {
        font-size: 18px
    }

    .chuoFeature-body {
        padding: 30px 20px
    }
}

.quaTable {
    table-layout: fixed;
    width: 100%;
    font-size: 13px
}

.quaTable td,
.quaTable th {
    width: auto;
    padding: 1.2em 1em;
    letter-spacing: .05em;
    text-align: center
}

.quaTable tr td:first-child,
.quaTable tr th:first-child {
    text-align: left
}

@media (min-width:48.0625em) {

    .quaTable tr td:first-child,
    .quaTable tr th:first-child {
        width: 250px
    }
}

@media (max-width:48em) {
    .quaTableWrapper {
        overflow: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch
    }

    .quaTableWrapper::-webkit-scrollbar {
        height: 5px
    }

    .quaTableWrapper::-webkit-scrollbar-track {
        background: #F1F1F1
    }

    .quaTableWrapper::-webkit-scrollbar-thumb {
        background: #BCBCBC
    }

    .quaTable {
        width: 690px
    }

    .quaTable tr td:first-child,
    .quaTable tr th:first-child {
        width: 160px
    }

    .eventSchedule .itemWrapper {
        width: 100% !important;
    }
}

.eventTime {
    margin-bottom: 40px
}

.eventTime.eventTime-chg {
    margin-bottom: 20px
}

.eventTime span {
    font-size: 1.54rem;
    font-weight: bold;
    padding-right: .5em
}

.event-note {
    margin-bottom: 2em;
    font-weight: bold;
    color: #FF0000;
}

.eventSchedule {
    margin-top: 1.5em;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.eventSchedule:first-of-type {
    margin-bottom: 2em
}

.eventSchedule a.link-event:hover {
    opacity: 0.7
}

.eventSchedule .itemWrapper {
    position: relative;
    /* float: left; */
    padding: 8px 0;
    margin-bottom: 30px;
    text-align: center;
    white-space: nowrap
}

.eventSchedule .item {
    border: 1px solid #9a9eb6;
}

.eventSchedule .item:after,
.eventSchedule .item:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.eventSchedule .heading {
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 70%;
    z-index: 3;
    padding: .4em 0;
    font-weight: bold;
    text-align: center;
    line-height: 1
}

.eventSchedule .new-grade,
.eventSchedule .special {
    background: #e7e8ee
}

.eventSchedule .special .heading {
    color: #fff;
    background: #000;
    text-transform: uppercase
}

.eventSchedule .new-grade .heading {
    background: #b0b4c8
}

.eventSchedule .is-end {
    border-color: #e7e8ee
}

.eventSchedule .is-end:before {
    z-index: 3;
    background: rgba(255, 255, 255, 0.8)
}

.eventSchedule .is-end:after {
    top: 50%;
    left: auto;
    content: '終了';
    font-weight: bold;
    color: #FF3300;
    border: 1px solid #FF3300;
    border-radius: 50%;
    z-index: 4;
    background: transparent;
    -webkit-transform: translateY(-50%) rotate(18deg);
    transform: translateY(-50%) rotate(18deg)
}

.eventSchedule .is-gray:before {
    z-index: 3;
    background: rgba(255, 255, 255, 0.8)
}

.eventSchedule .new-grade.is-end .heading,
.eventSchedule .special.is-end .heading {
    color: #fff;
    background: #a1a1a1
}

.eventSchedule .cancel {
    border-color: #e7e8ee
}

.eventSchedule .cancel:before {
    z-index: 3;
    background: rgba(255, 255, 255, 0.8)
}

.eventSchedule .cancel:after {
    top: 50%;
    left: auto;
    content: '中止' !important;
    font-weight: bold;
    color: #FF3300;
    border: 1px solid #FF3300;
    border-radius: 50%;
    z-index: 4;
    background: transparent;
    -webkit-transform: translateY(-50%) rotate(18deg);
    transform: translateY(-50%) rotate(18deg)
}


.eventSchedule .date {
    position: relative;
    z-index: 1
}

.eventSchedule .day,
.eventSchedule .month {
    font-weight: 400;
    color: #333
}

.eventSchedule .day-of-the-week.saturday {
    color: #3873ed
}

.eventSchedule .day-of-the-week.sunday {
    color: #f6438a
}

@media (min-width:68.8125em) {
    .eventSchedule {
        margin-right: -2%
    }

    .eventSchedule .itemWrapper {
        width: 18%;
        margin-right: 2%
    }
}

@media (max-width:68.75em) {
    .eventSchedule {
        margin-right: -3.3%
    }

    .eventSchedule .itemWrapper {
        width: 30%;
        margin-right: 3.3%
    }

    .eventSchedule .item.add-margin {
        margin-right: 3%;
    }
}

@media (max-width:48em) {
    .eventTime {
        margin-bottom: 2em
    }

    .eventSchedule > * {
        margin-right: 3%;
        display: inline-block;
        width: 48.5%;
    }

    .eventSchedule > *:nth-of-type(2n) {
        margin-right: 0 !important;
    }

    .eventSchedule:first-of-type {
        margin-bottom: 1em
    }
}

@media (min-width:40.0625em) {

    .eventSchedule .day,
    .eventSchedule .month {
        font-size: 2rem
    }

    .eventSchedule .day .label,
    .eventSchedule .month .label {
        font-size: 1rem
    }

    .eventSchedule .is-end:after {
        right: 9px;
        width: 54px;
        height: 54px;
        line-height: 54px
    }

    .eventSchedule .cancel:after {
        right: 9px;
        width: 54px;
        height: 54px;
        line-height: 54px
    }
}

@media (max-width:40em) {
    .eventSchedule {
        margin-right: 0
    }

    .eventSchedule .itemWrapper {
        width: 48.5% !important;
        /*width: 100%;*/
        /* margin-right: 0; */
        margin-right: 3%;
        margin-bottom: 1.0em
    }

    .eventSchedule .item {
        padding: 1em 0
    }

    .eventSchedule .item:nth-of-type(2n) {
        float: right
    }

    .eventSchedule .heading {
        top: -14px
    }

    .eventSchedule .heading span {
        font-size: .9em
    }

    .eventSchedule .day,
    .eventSchedule .month {
        font-size: 1.7rem
    }

    .eventSchedule .day .label,
    .eventSchedule .month .label {
        font-size: 1.2rem
    }

    .eventSchedule .is-end:after {
        right: 0;
        left: 0;
        margin-left: auto;
        margin-right: auto;
        width: 40px;
        height: 40px;
        line-height: 40px
    }

    .eventSchedule .cancel:after {
        right: 0;
        left: 0;
        margin-left: auto;
        margin-right: auto;
        width: 40px;
        height: 40px;
        line-height: 40px
    }
}

.eventPoint-heading {
    line-height: 1;
    text-align: center;
    margin-bottom: 1em
}

.eventPoint-heading .en {
    display: block;
    font-size: 3.07rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0
}

.eventPoint-heading .ja {
    position: relative;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: .25em;
    text-indent: .25em;
    vertical-align: middle;
    margin-bottom: 14px
}

.eventPoint-heading .ja:after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 2px;
    left: 0;
    right: 0;
    bottom: -10px;
    margin: 0 auto
}

.eventPoint-heading.has-border-blue .ja:after {
    background: #3873ed
}

.eventPoint-heading.has-border-blue2 .ja:after {
    background: #3B90C1
}

.eventPoint-heading.has-border-pink .ja:after {
    background: #f6438a
}

.eventPoint-heading.has-border-green .ja:after {
    background: #32d5b6
}

.eventPoint-heading.has-border-yellow .ja:after {
    background: #ec950c
}

.eventPoint-heading.has-border-grey .ja:after {
    background: #9a9eb6
}

@media (min-width:40.0625em) {
    .eventPoint-heading .en {
        font-size: 3.07rem
    }
}

@media (max-width:40em) {
    .eventPoint-heading .en {
        font-size: 2.5rem
    }

    .eventPoint-heading .ja {
        margin-bottom: 18px
    }
}

.eventPoint-box + .eventPoint-box {
    margin-top: 40px
}

.eventPoint-box-heading {
    font-weight: bold;
    margin-bottom: .8em
}

.eventPoint-box-heading .icon {
    margin: -2px .5em 0 0
}

.eventPoint-box-img img {
    width: 100%
}

@media (min-width:68.8125em) {
    .eventPoint-box-body {
        padding-right: 2.5em
    }

    .eventPoint-box-img {
        width: 320px
    }
}

@media (max-width:68.75em) {
    .eventPoint-box-body {
        padding-right: 2.5em
    }

    .eventPoint-box-img {
        width: 40%
    }
}

@media (min-width:40.0625em) {
    .eventPoint-box-heading {
        font-size: 1.38rem
    }

    .eventPoint-box {
        display: table;
        width: 100%
    }

    .eventPoint-box-body,
    .eventPoint-box-img {
        display: table-cell;
        vertical-align: top
    }
}

@media (max-width:40em) {
    .eventPoint-box-heading {
        font-size: 1.1rem
    }

    .eventPoint-box-body {
        padding-right: 0
    }

    .eventPoint-box-img {
        width: 100%;
        margin-top: 1em
    }
}

.certificate {
    position: relative
}

.certificate img {
    position: absolute;
    bottom: 0;
    right: 30px
}

@media (min-width:68.8125em) {
    .certificate {
        padding-right: 250px
    }
}

@media (max-width:68.75em) {
    .certificate img {
        display: none
    }
}

.participantsCommment li {
    position: relative;
    padding-left: 2.2em
}

.participantsCommment li + li {
    margin-top: 1.5em
}

.participantsCommment li .icon {
    position: absolute;
    top: .2em;
    left: 0;
    font-size: 145%
}

.relatedEvent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.relatedEvent-box {
    position: relative
}

.relatedEvent-img {
    width: 100%
}

.relatedEvent-head {
    position: relative;
    overflow: hidden
}

.relatedEvent-name {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto;
    text-shadow: 0 0 8px #000;
    color: #fff;
    text-align: center
}

.relatedEvent-body time {
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 5px
}

.relatedEvent-body time .icon {
    margin: -4px .5em 0 0
}

.relatedEventWrapper.is-gakusetsu .relatedEvent-box.gakusetsu,
.relatedEventWrapper.is-guidance .relatedEvent-box.guidance,
.relatedEventWrapper.is-other .relatedEvent-box.other,
.relatedEventWrapper.is-taiken .relatedEvent-box.taiken {
    display: none
}

@media (min-width:88.1875em) {
    .relatedEvent-name {
        font-size: 26px
    }
}

@media (max-width:88.125em) {
    .relatedEvent-name {
        font-size: 20px
    }
}

@media (min-width:52.5625em) {
    .relatedEvent-box {
        width: 31.5%;
        padding-top: 16px
    }

    .relatedEvent-body {
        padding-top: .7em
    }
}

@media (max-width:52.5em) {
    .relatedEvent-box {
        width: 48.5%;
        margin-bottom: 30px
    }

    .relatedEvent-body {
        padding-top: 1em
    }
}

@media (min-width:48.0625em) {
    .relatedEvent-img {
        -webkit-transition: -webkit-transform 1.5s;
        transition: -webkit-transform 1.5s;
        transition: transform 1.5s;
        transition: transform 1.5s, -webkit-transform 1.5s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .relatedEvent-link:hover .relatedEvent-img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@media (max-width:40em) {
    .relatedEvent-name {
        font-size: 16px
    }
}

@media (max-width:20em) {
    .relatedEvent-box {
        width: 100%
    }
}

@media (min-width:48.0625em) {

    .eventEntry.halftaiken .button:before,
    .eventEntry.taiken .button:before {
        background: #3873ed
    }

    .eventEntry.halftaiken .button:hover,
    .eventEntry.taiken .button:hover {
        border-color: #3873ed
    }

    .eventEntry.gakusetsu .button:before {
        background: #f6438a
    }

    .eventEntry.gakusetsu .button:hover {
        border-color: #f6438a
    }

    .eventEntry.guidance .button:before {
        background: #32d5b6
    }

    .eventEntry.guidance .button:hover {
        border-color: #32d5b6
    }
}

@media (min-width:40.0625em) {

    * + .eventEntry,
    .eventEntry + * {
        margin-top: 60px
    }
}

@media (max-width:40em) {

    * + .eventEntry,
    .eventEntry + * {
        margin-top: 2rem
    }
}

.eventOther-box:last-child {
    padding-top: 40px;
    border-top: 1px dashed #ddd
}

.eventOther-box-heading {
    font-size: 1.4rem;
    margin-bottom: 10px
}

.eventOther-box-heading .icon {
    margin: -2px .4em 0 0
}

.eventOther-img {
    display: block;
    margin-bottom: 30px
}

.eventOther-box .eventSchedule .itemWrapper {
    width: 196px
}

.eventOther-box .eventSchedule .item:nth-child(2n) {
    margin-right: 0;
    margin-left: auto
}

@media (min-width:40.0625em) {
    .eventOther {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 70px;
        margin-bottom: -60px
    }

    .eventOther-box {
        /* width: 48.5%;*/
        width: 100%;
        ;
        margin-bottom: 60px
    }

    .eventOther-box .anchor {
        margin-top: -150px;
        padding-top: 150px
    }
}

@media (max-width:40em) {
    .eventOther {
        margin-top: 40px
    }

    .eventOther-box {
        margin-bottom: 40px
    }

    .eventOther-box + .eventOther-box {
        padding-top: 40px;
        border-top: 1px dashed #ddd
    }

    .eventOther-box .anchor {
        margin-top: -80px;
        padding-top: 80px
    }

    .eventOther-box .eventSchedule .item {
        width: 100%
    }
}

.eventIntro-box + .eventIntro-box {
    margin-top: 40px
}

.eventIntro-box.halftaiken {
    background-color: #3873ed
}

.eventIntro-box.taiken {
    background-color: #3873ed
}

.eventIntro-box.gakusetsu {
    background-color: #f6438a
}

.eventIntro-box.guidance {
    background-color: #32d5b6
}

.eventIntro-box.other {
    background-color: #9a9eb6
}

.eventIntro-box.kobetsusoudan {
    background-color: #ec950c
}

.eventIntro-box.ao {
    background-color: #3a90c1;
}

.eventIntro-box-link {
    width: 100%;
    color: #fff;
    overflow: hidden
}

.eventIntro-box-img {
    height: 160px
}

.eventIntro-box.halftaiken .eventIntro-box-img {
    background: url(../../assets/img/page/event/index/halftaiken.jpg) 100%;
    background-size: cover
}

.eventIntro-box.taiken .eventIntro-box-img {
    background: url(../../assets/img/page/event/index/taiken.jpg) 100%;
    background-size: cover
}

.eventIntro-box.gakusetsu .eventIntro-box-img {
    background: url(../../assets/img/page/event/index/gakusetsu.jpg);
    background-size: cover
}

.eventIntro-box.guidance .eventIntro-box-img {
    background: url(../../assets/img/page/event/index/guidance.jpg) 100%;
    background-size: cover
}

.eventIntro-box.other .eventIntro-box-img {
    background: url(../../assets/img/page/event/index/other.jpg);
    background-size: cover
}

.eventIntro-box.kobetsusoudan .eventIntro-box-img {
    background: url(../../assets/img/page/event/index/kobetsusoudan.png);
    background-size: cover
}

.eventIntro-box.ao .eventIntro-box-img {
    background: url(../../assets/img/page/event/index/ao.png);
    background-size: cover
}

.eventIntro-box-heading {
    margin-bottom: 5px
}

.eventIntro-box-heading .icon {
    font-size: 14px;
    margin: -2px 0 0 .5em
}

.eventIntro-box-body {
    padding: 0 20px
}

@media (min-width:80.0625em) {
    .eventIntro-box-img {
        width: 50%
    }

    .eventIntro-box-heading {
        font-size: 27px
    }
}

@media (max-width:80em) {
    .eventIntro-box-img {
        width: 45%
    }

    .eventIntro-box-heading {
        font-size: 24px
    }
}

@media (max-width:52.5em) {
    .eventIntro-box-heading {
        font-size: 20px
    }
}

@media (min-width:48.0625em) {
    * + .eventIntro {
        margin-top: 70px
    }

    .eventIntro-box-link {
        position: relative
    }

    .eventIntro-box-link:before {
        position: absolute;
        display: block;
        content: '';
        z-index: 1;
        top: 0;
        left: 0;
        width: 50%;
        height: 100%;
        opacity: 0;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    .eventIntro-box.halftaiken .eventIntro-box-link:before {
        background-color: rgba(56, 115, 237, 0.4)
    }

    .eventIntro-box.taiken .eventIntro-box-link:before {
        background-color: rgba(56, 115, 237, 0.4)
    }

    .eventIntro-box.gakusetsu .eventIntro-box-link:before {
        background-color: rgba(246, 67, 138, 0.4)
    }

    .eventIntro-box.guidance .eventIntro-box-link:before {
        background-color: rgba(50, 213, 182, 0.4)
    }

    .eventIntro-box.other .eventIntro-box-link:before {
        background-color: rgba(154, 158, 182, 0.4)
    }

    .eventIntro-box.kobetsusoudan .eventIntro-box-link:before {
        background-color: rgba(236, 149, 12, 0.4);
    }

    .eventIntro-box.ao .eventIntro-box-link:before {
        background-color: rgba(58, 144, 193, 0.4);
    }

    .eventIntro-box-link:hover:before {
        opacity: 1
    }

}

@media (max-width:48em) {
    * + .eventIntro {
        margin-top: 40px
    }
}

@media (min-width:40.0625em) {
    .eventIntro-box-link {
        display: table;
        width: 100%;
        color: #fff;
        overflow: hidden
    }

    .eventIntro-box-body,
    .eventIntro-box-img {
        display: table-cell;
        vertical-align: middle
    }
}

@media (max-width:40em) {
    .eventIntro-box-link {
        display: block
    }

    .eventIntro-box-img {
        width: 100%
    }

    .eventIntro-box-heading {
        font-size: 18px;
        letter-spacing: 3px !important;
    }

    .eventIntro-box-body {
        padding: 1.5em
    }
}

.eventCalendar {
    border-bottom: 0
}

.eventCalendar .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #e7e8ee
}

.eventCalendar .box + .box {
    border-top: 1px solid #9a9eb6
}

.eventCalendar .month {
    border-left: 0;
    border-right: 0;
    font-size: 24px;
    font-weight: 300;
    text-align: center;
    white-space: nowrap
}

.eventCalendar .month span {
    font-size: 35px
}

.eventCalendar .body {
    overflow: hidden;
    background: #fff
}

.eventCalendar .itemWrapper {
    position: relative;
    float: left;
    margin-top: 10px;
    max-width: 100%;
}

.eventCalendar .item {
    border: 1px solid
}

.eventCalendar .item.taiken {
    border-color: #3873ed;
    background-color: #3873ed
}

.eventCalendar .item.halftaiken {
    border-color: #3873ed;
    background-color: #3873ed
}

.eventCalendar .item.gakusetsu {
    border-color: #f6438a;
    background-color: #f6438a
}

.eventCalendar .item.guidance {
    border-color: #32d5b6;
    background-color: #32d5b6
}

.eventCalendar .item.other {
    border-color: #9a9eb6;
    background-color: #9a9eb6
}

.eventCalendar .item.sogo {
    border-color: #3A90C1;
    background-color: #3A90C1
}

.eventCalendar .item.aoevent {
    border-color: #3a90c1;
    background-color: #3a90c1;
}

.eventCalendar .item.is-end:after {
    display: block;
    position: absolute;
    top: -1px;
    left: -1px;
    content: '';
    z-index: 4;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    background: rgba(255, 255, 255, 0.8)
}

.eventCalendar .item.cancel:after {
    display: block;
    position: absolute;
    top: -1px;
    left: -1px;
    content: '';
    z-index: 4;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    background: rgba(255, 255, 255, 0.8)
}

.eventCalendar .itemWrapper .note {
    clear: both;
    text-align: center;
}

.eventCalendar .link {
    display: table;
    width: 100%
}

.eventCalendar .date,
.eventCalendar .heading {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.3;
    white-space: nowrap
}

.eventCalendar .heading {
    width: 100px;
    color: #fff;
    text-align: center
}

.eventCalendar .heading span {
    display: block;
    padding: 4.5px 0;
    margin: 0 7px 8px;
    background: #000;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .025em
}

.eventCalendar .date {
    width: 140px;
    height: 100%;
    background: #fff;
    text-align: center
}

.eventCalendar .ao-event-item {
    display: flex;
    flex-direction: column;
}

.eventCalendar .ao-event-item > div {
    display: flex;
}

@media (min-width:68.8125em) {
    .eventCalendar .month {
        width: 17.75701%;
        font-size: 24px
    }

    .eventCalendar .month span {
        font-size: 35px
    }

    .eventCalendar .body {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;

        padding: 40px 0 40px 30px;
        width: 82.24299%
    }

    .eventCalendar .itemWrapper {
        margin-right: 20px;
        width: 240px
    }

    .eventCalendar .date,
    .eventCalendar .heading {
        height: 60px
    }

    .eventCalendar .heading {
        font-size: 15px
    }

    .eventCalendar .day {
        font-size: 31px
    }

    .eventCalendar .day-of-the-week,
    .eventCalendar .day .label {
        font-size: 18px
    }
}

@media (max-width:68.75em) {
    .eventCalendar .month {
        width: 4em;
        font-size: 18px
    }

    .eventCalendar .month span {
        font-size: 25px
    }

    .eventCalendar .body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 30px 0 30px 20px;
        width: 100%
    }

    .eventCalendar .itemWrapper {
        margin-top: 0;
        margin-top: 10px;
        width: 48.5%
    }

    .eventCalendar .item:first-child,
    .eventCalendar .item:nth-child(2) {
        margin-top: 0
    }

    .eventCalendar .ao-event-item > div + div {
        margin-top: 10px;
    }

    .eventCalendar .ao-event-item > div {
        justify-content: space-between;
    }

    .eventCalendar .date,
    .eventCalendar .heading {
        height: 55px
    }

    .eventCalendar .heading {
        font-size: 13px
    }

    .eventCalendar .day {
        font-size: 23px
    }

    .eventCalendar .day-of-the-week,
    .eventCalendar .day .label {
        font-size: 13px
    }
}

@media (min-width:48.0625em) {
    .eventCalendar .link {
        -webkit-transition: 0.3s opacity;
        transition: 0.3s opacity;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .eventCalendar .link:hover {
        opacity: .7
    }
}

@media (max-width:40em) {
    .eventCalendar .month {
        font-size: 13px
    }

    .eventCalendar .month span {
        font-size: 20px
    }

    .eventCalendar .date {
        width: 120px
    }

    .eventCalendar .itemWrapper {
        margin-top: 0;
        margin-top: 10px;
        width: 100%
    }

    .eventCalendar .itemWrapper + .itemWrapper {
        margin-top: 10px
    }

    .eventCalendar .ao-event-item > div {
        flex-direction: column;
    }
}

@media (max-width:20em) {
    .eventCalendar .month {
        font-size: 11px
    }

    .eventCalendar .heading {
        width: 50%
    }

    .eventCalendar .date {
        width: 50%
    }
}

.jobList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.jobList-box .icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
    color: #6f748f;
    text-align: center
}

.jobList-box-name {
    margin-bottom: .5em;
    width: 100%;
    color: #6f748f;
    font-size: 17px;
    font-weight: bold;
    text-align: center
}

@media (min-width:48.0625em) {
    .jobList:after {
        content: '';
        display: block;
        width: calc(100% / 3)
    }

    .jobList-box {
        padding: 40px 4.8%;
        margin-bottom: 40px;
        width: calc(100% / 3)
    }

    .jobList-box + .jobList-box,
    .jobList-box:first-child {
        border-left: 1px solid #e7e8ee
    }

    .jobList-box .icon {
        font-size: 80px
    }

    .jobList-box-name {
        margin-top: 40px
    }
}

@media (max-width:48em) {
    .jobList-box {
        width: 50%;
        padding: 20px 1.5em;
        margin-bottom: 30px
    }

    .jobList-box-name {
        margin-top: 20px
    }

    .jobList-box .icon {
        font-size: 60px
    }
}

@media (min-width:30.0625em) {
    .jobList-box:nth-child(2n) {
        border-left: 1px solid #e7e8ee
    }
}

@media (max-width:30em) {
    .jobList-box {
        padding: 30px 1em 0;
        margin-bottom: 0;
        width: 100%
    }

    .jobList-box + .jobList-box {
        border-top: 1px solid #e7e8ee;
        margin-top: 30px
    }

    .jobList-box .icon {
        font-size: 50px
    }
}

.campusCalendar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.campusCalendar-box-heading {
    line-height: 1.4;
    border-bottom: 1px solid #9a9eb6;
    margin-bottom: 20px
}

.campusCalendar-box img {
    display: block;
    margin-bottom: 1em
}

@media (min-width:48.0625em) {
    .campusCalendar {
        margin-bottom: -100px
    }

    .campusCalendar:after {
        content: '';
        display: block;
        width: 31.7757%
    }

    .campusCalendar-box {
        width: 31.7757%;
        margin-bottom: 100px
    }

    .campusCalendar-box-heading {
        font-size: 24px
    }

    .campusCalendar-box-heading span {
        font-size: 56px
    }
}

@media (max-width:48em) {
    .campusCalendar {
        margin-bottom: -40px
    }

    .campusCalendar-box {
        width: 48%;
        margin-bottom: 40px
    }

    .campusCalendar-box-heading span {
        font-size: 30px
    }
}

.renunionSchedule {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: solid #e7e8ee;
    border-width: 1px 0 0 1px
}

.renunionSchedule li {
    width: 25%;
    padding: 1.8em 1.8em 2.2em;
    border: solid #e7e8ee;
    border-width: 0 1px 1px 0
}

.renunionSchedule .month {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: .4em;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #e7e8ee));
    background: linear-gradient(transparent 60%, #e7e8ee 60%)
}

.renunionSchedule .text {
    display: block
}

@media (max-width:48em) {
    .renunionSchedule li {
        width: 33.3333%
    }
}

@media (max-width:40em) {
    .renunionSchedule li {
        width: 50%;
        padding: 1.5em
    }
}

.employmentSituation {
    max-width: 514px
}

.employmentSituation img {
    width: 372px
}

.internSystem img {
    width: 410px
}

.internInterview-img {
    width: 220px
}

.internInterview-heading {
    font-size: 1.2rem;
    font-weight: bold
}

.internInterview-profile {
    margin: 1em 0 1em;
    border: 1px solid
}

.biyou .internInterview-profile {
    border-color: #e7e8ee
}

.kango .internInterview-profile {
    border-color: #e7e8ee
}

.kyosei .internInterview-profile {
    border-color: #e7e8ee
}

.internInterview-profile span {
    font-weight: bold;
    padding-right: .4em
}

.biyou .internInterview-profile span {
    color: #f6438a
}

.kango .internInterview-profile span {
    color: #3873ed
}

.kyosei .internInterview-profile span {
    color: #32d5b6
}

.internInterview-profile .icon {
    display: inline-block;
    vertical-align: middle;
    margin: -2px .3em 0 0
}

@media (min-width:48.0625em) {
    .internInterview {
        display: table;
        width: 100%
    }

    .internInterview + .internInterview {
        margin-top: 20px
    }

    .internInterview-body,
    .internInterview-img {
        display: table-cell;
        vertical-align: top
    }

    .internInterview-body {
        padding-left: 30px
    }

    .internInterview-profile {
        padding: .6em 1em .5em;
        width: 455px
    }
}

@media (max-width:48em) {
    .internInterview + .internInterview {
        margin-top: 40px
    }

    .internInterview-img {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px
    }

    .internInterview-profile {
        padding: 1em 1em
    }
}

.gradVoiceList2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 40px
}

.gradVoiceList-box2 {
    position: relative;
    border: 1px solid
}

.gradVoiceList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 40px
}

.gradVoiceList img {
    width: 100%
}

.gradVoiceList:after {
    display: block;
    content: ''
}



.gradVoiceList-box {
    position: relative;
    border: 1px solid
}

.gradVoiceList-box.biyou {
    border-color: #f6438a
}

.gradVoiceList-box.kango {
    border-color: #3873ed
}

.gradVoiceList-box.kyosei {
    border-color: #32d5b6
}

.gradVoiceList-box-label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    padding: .5em 0;
    width: 150px;
    color: #fff;
    font-weight: bold;
    text-align: center
}

.gradVoiceList-box.biyou .gradVoiceList-box-label {
    background: #f6438a
}

.gradVoiceList-box.kango .gradVoiceList-box-label {
    background: #3873ed
}

.gradVoiceList-box.kyosei .gradVoiceList-box-label {
    background: #32d5b6
}

.gradVoiceList-box-label .icon {
    margin: -2px .5em 0 0
}

.gradVoiceList-box-title {
    font-size: 1.2rem;
    font-weight: bold
}

.gradVoiceList-box.biyou .gradVoiceList-box-title {
    color: #f6438a
}

.gradVoiceList-box.kango .gradVoiceList-box-title {
    color: #3873ed
}

.gradVoiceList-box.kyosei .gradVoiceList-box-title {
    color: #32d5b6
}

.gradVoiceList-box-body {
    padding: 1em
}

@media (min-width:48.0625em) {
    .gradVoiceList:after {
        display: block;
        content: '';
        width: 32%
    }

    .gradVoiceList-box {
        width: 32%
    }

    .gradVoiceList-box-img {
        position: relative
    }

    .gradVoiceList-box-img:before {
        display: block;
        position: absolute;
        display: block;
        content: '';
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        -webkit-transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1);
        transition-timing-function: cubic-bezier(0.52, 0.08, 0.18, 1)
    }

    .gradVoiceList-box.biyou .gradVoiceList-box-img:before {
        background: rgba(246, 67, 138, 0.4)
    }

    .gradVoiceList-box.kango .gradVoiceList-box-img:before {
        background: rgba(56, 115, 237, 0.4)
    }

    .gradVoiceList-box.kyosei .gradVoiceList-box-img:before {
        background: rgba(50, 213, 182, 0.4)
    }

    .gradVoiceList-box-link:hover .gradVoiceList-box-img:before {
        opacity: 1
    }
}

@media (max-width:48em) {
    .gradVoiceList:after {
        display: block;
        content: '';
        width: 48.5%
    }

    .gradVoiceList-box {
        width: 48.5%;
        margin-bottom: 40px
    }
}

@media (max-width:40em) {
    .gradVoiceList:after {
        display: block;
        content: none
    }

    .gradVoiceList-box {
        width: 4100%
    }
}

.gradVoiceProfile {
    max-width: 100%
}

.gradVoiceProfile .extraProfile-body {
    width: 600px;
    max-width: 92%;
    margin-left: auto;
    margin-right: auto
}

.grad-student-name {
    padding-right: 1em
}

.officeInfo {
    padding: 30px 20px;
    background: #e7e8ee
}

.officeInfo-heading {
    padding-bottom: 5px;
    margin-bottom: .8rem;
    border-bottom: 1px solid #9a9eb6;
    font-weight: bold
}

.officeInfo-img img {
    width: 100%
}

.officeInfo-body p:not([class]) + p:not([class]) {
    margin-top: 1em
}

.officeInfo-detail {
    overflow: hidden
}

.officeInfo-detail dt {
    float: left;
    clear: left;
    width: 6em
}

.officeInfo-detail dd {
    float: left
}

.officeInfo-detail dd a {
    text-decoration: underline
}

@media (min-width:40.0625em) {
    .officeInfo {
        display: table;
        width: 100%
    }

    .officeInfo-heading {
        font-size: 1.2rem
    }

    .officeInfo-body,
    .officeInfo-img {
        vertical-align: top;
        display: table-cell
    }

    .officeInfo-img {
        width: 36%
    }

    .officeInfo-body {
        padding-left: 30px
    }
}

@media (max-width:40em) {
    .officeInfo-img {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1.25em
    }
}

.kaigyouCase {
    margin-bottom: 70px
}

.kaigyouCase-img > img {
    width: 100%;
    margin-bottom: 10px
}

@media (min-width:48.0625em) {
    .kaigyouCase {
        margin-bottom: 70px
    }

    .kaigyouCase-container {
        display: table;
        width: 100%
    }

    .kaigyouCase-body,
    .kaigyouCase-img {
        display: table-cell;
        vertical-align: top
    }

    .kaigyouCase-img {
        width: 31.2%
    }

    .kaigyouCase-body {
        padding-left: 40px
    }
}

@media (max-width:48em) {
    .kaigyouCase {
        margin-bottom: 40px
    }

    .kaigyouCase-img {
        width: 100%;
        margin-bottom: 1em
    }
}

.sitemap:after {
    display: block;
    content: ''
}

.sitemap ul > li > a:not([class]) {
    color: #000;
    text-decoration: none
}

.sitemap-box-heading {
    margin-bottom: 20px;
    border-bottom: 1px solid #9a9eb6;
    font-weight: bold;
    line-height: 2
}

.sitemap-box-heading .icon {
    margin: -2px 0 0 .5em;
    color: #9a9eb6;
    font-size: 13px
}

.sitemap-box ul li.has-blank {
    list-style-type: none
}

.sitemap-box ul li.has-blank a:before {
    content: "－";
    color: #9a9eb6
}

.sitemap-box .hide-in-sitemap {
    display: none
}

@media (min-width:48.0625em) {
    .sitemap:after {
        width: 30%
    }

    .sitemap-box {
        width: 30%;
        margin-bottom: 100px
    }

    .sitemap-box-heading a {
        -webkit-transition: color 0.3s;
        transition: color 0.3s
    }

    .sitemap-box-heading a:hover {
        color: #32d5b6
    }

    .sitemap ul > li > a:not([class]):hover {
        text-decoration: underline
    }
}

@media (max-width:48em) {
    .sitemap:after {
        width: 48.5%
    }

    .sitemap-box {
        width: 48.5%;
        margin-bottom: 60px
    }
}

@media (min-width:30.0625em) {
    .sitemap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .sitemap-box-heading {
        font-size: 18px
    }
}

@media (max-width:30em) {
    .sitemap:after {
        width: 100%
    }

    .sitemap-box {
        width: 100%;
        margin-bottom: 40px
    }

    .sitemap-box:last-child {
        margin-bottom: 0
    }

    .sitemap-box-heading {
        font-size: 1.2rem
    }
}

.preload * {
    -webkit-transition: none !important;
    transition: none !important
}

.js-loading-done .mainVisual-copy {
    visibility: visible
}

.js-loading-done .mainVisual-copy-border {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.js-loading-done .mainVisual-copy .en,
.js-loading-done .mainVisual-copy .ja {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 1s;
    transition-delay: 1s
}

.js-loading-done .globalNav li.current a:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition-delay: 2s;
    transition-delay: 2s
}

.js-menu-open .hamburger {
    z-index: 13
}

.js-menu-open .hamburger-line1 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 28px
}

.js-menu-open .hamburger-line2 {
    opacity: 0
}

.js-menu-open .hamburger-line3 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 28px
}

.js-menu-open .drawerMenu {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.js-open-visitor-menu .visitorMenu-list {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.is-active .megaMenu {
    opacity: 1;
    pointer-events: auto;
    -webkit-transition: opacity 0.25s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s, visibility 0.25s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s;
    transition: opacity 0.25s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s, visibility 0.25s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s
}

.js-open-megamenu .megaMenuBg {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.js-open-megamenu .megaMenuOverlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

@media (max-width:52.5625em) {
    .drawerMenu-sns li:last-child {
        margin-right: 0;
    }

    .annouce-section {
        padding-top: 0;
        padding-bottom: 0;
        /*margin-top: 74px;*/
    }

    .national-banner-sp {
        padding-top: 40px;
    }

    .frontAnnouce-circleBanner .primary {
        margin-bottom: 0px;
        /* margin-bottom: 20px; */
    }
}

/* @media (max-width: 30em) {
    .annouce-section{
       margin-top: -14%;
      margin-top: 0;
    }
    .frontAnnouce-circleBanner {
        margin-top: 0;
    }
} */
.footer_new_banner a,
.footer-no-link {
    width: 50%;
    display: inline-block;
    margin-bottom: 40px;
}

.footer_new_banner a:first-child,
.footer-no-link {
    padding-right: 8px;
}

.footer_new_banner a:last-child {
    padding-left: 8px;
}

.sec-online-event {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
}

.sec-online-event .online-txt-gp {
    width: 49%;
}

.sec-online-event .online-img {
    width: 50%;
    max-width: 515px;
    margin-top: 7px;
}

.sec-online-event .online-txt-gp p {
    letter-spacing: 1px;
    margin-top: 25px;
}

.online-ttl {
    font-size: 20px;
    color: #0b356f;
    font-weight: 700;
    letter-spacing: 5.5px;
    margin-top: 50px;
}

.online-ttl .sp {
    display: none;
}

.online-ttl .pc {
    display: inline-block;
}

.sec-online-demand {
    background-color: #e7e8ee;
    padding: 40px 45px;
    margin-bottom: 75px;
    border-radius: 10px;
}

.sec-online-demand.kobetsusoudan {
    margin-bottom: 0px;
}

.sec-online-demand .online-ttl {
    text-align: center;
    margin-top: 0;
    letter-spacing: 7px;
}

.sec-online-demand ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 27px;
}

.sec-online-demand ul li {
    width: 33%;
    text-align: center;
}

.sec-online-demand ul li h3 {
    font-size: 16px;
    font-weight: 700;
}

.sec-online-demand ul li .circle-img {
    max-width: 168px;
    width: 56%;
    margin: 10px auto 15px;
}

.sec-online-demand.kobetsusoudan ul li p {
    white-space: nowrap;
}

.sec-online-demand .online-demand-des {
    text-align: center;
    margin-top: 40px;
}

.sec-online-demand .online-demand-des span {
    font-weight: bold;
}

.sec-online-banner ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sec-online-banner ul li {
    width: 49%;
    text-align: right;
    margin-bottom: 35px;
    height: 167px;
}

.sec-online-banner ul li:hover {
    opacity: 0.6;
}

.sec-online-banner ul li a {
    width: 100%;
    color: #fff;
    display: table;
    padding: 0 20px 0 10px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sec-online-banner ul li a + p {
    display: none;
}

.sec-online-banner ul li:first-child {
    background: url(../img/page/online/banner01.png) no-repeat center/100% 100%;
}

.sec-online-banner ul li:nth-child(2) {
    background: url(../img/page/online/banner02.png) no-repeat center/100% 100%;
}

.sec-online-banner ul li:nth-child(3) {
    background: url(../img/page/online/banner03.png) no-repeat center/100% 100%;
}

.sec-online-banner ul li:nth-child(4) {
    background: url(../img/page/online/banner04.png) no-repeat center/100% 100%;
}

.sec-online-banner .eventIntro-box-heading span {
    font-size: 17px;
    letter-spacing: 1px;
}

.sec-online-banner .eventIntro-box-heading {
    letter-spacing: 4px;
    font-weight: 700;
}

.sec-online-banner .pc {
    display: block;
}

.sec-online-banner .sp {
    display: none;
}

/* .sec-online {
    text-align: center;
} */
.sec-entrance .pink-ttl {
    color: #f6438a;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 25px;
    letter-spacing: 6px;
    text-align: center;
}

.sec-entrance .entrance-brief-img {
    margin: 20px 0 30px;
}

.sec-online .sec-online-demand ul li {
    position: relative;
}

.sec-online .sec-online-demand ul li::after {
    position: absolute;
    content: '';
    max-width: 30px;
    width: 12%;
    height: 36px;
    background: url(../../assets/img/page/online/blue_arr_ico.png) no-repeat center/contain;
    top: 35%;
    right: -10px;
}

.sec-online .sec-online-demand ul li:last-child::after {
    content: none;
}

.sec-online p {
    letter-spacing: 1px;
}

.sec-online .sec-online-demand .pc {
    display: none;
}

.sec-online .sec-online-demand ul li {
    width: 33% !important;
    margin-bottom: 0;
}

.sec-online .sec-online-demand .online-ttl .sp {
    display: none;
}

.sec-guidance.sec-online .sec-online-demand ul li {
    width: 19% !important;
}

.sec-guidance .green-ttl {
    color: #15c2a3;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 25px;
    letter-spacing: 6px;
    text-align: center;
}

.sec-guidance .sec-online-demand p.text-right {
    text-align: right;
    margin-top: 30px;
}

.sec-guidance .sec-online-demand {
    padding: 40px 30px;
    margin-top: 40px;
}

.sec-guidance .sec-online-demand ul li .circle-img {
    width: 73%;
}

.sec-guidance.sec-online .sec-online-demand ul li::after {
    top: 30%;
}

.sec-gakusetsu .blue-ttl {
    color: #3873ed;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 25px;
    letter-spacing: 6px;
    text-align: center;
}

.sec-guidance .guidance-brief-img,
.sec-gakusetsu .gakusetsu-brief-img {
    margin: 30px 0 40px;
}

.sec-gakusetsu .gakusetsu-brief-img .pc,
.sec-entrance .entrance-brief-img .pc,
.sec-guidance .guidance-brief-img .pc {
    display: block;
}

.sec-gakusetsu .gakusetsu-brief-img .sp,
.sec-entrance .entrance-brief-img .sp,
.sec-guidance .guidance-brief-img .sp {
    display: none;
}

.sec-guidance .sec-online-demand ul li h3 {
    letter-spacing: 0;
}

.kobetsusoudan.sec-online-demand {
    margin-top: 120px;
}

.kobetsusoudan.sec-online-demand ul li {
    width: 25%;
    position: relative;
}

.kobetsusoudan.sec-online-demand ul li:last-child {
    margin-top: 28px;
}

.kobetsusoudan.sec-online-demand ul li::after {
    position: absolute;
    content: '';
    max-width: 30px;
    width: 12%;
    height: 36px;
    background: url(../../assets/img/page/online/blue_arr_ico.png) no-repeat center/contain;
    top: 35%;
    right: -10px;
}

.kobetsusoudan.sec-online-demand ul li:last-child::after {
    content: none;
}

@media (max-width:68.75em) {
    .sec-online-demand ul li {
        width: 50%;
        margin-bottom: 20px;
    }

    .sec-online-demand ul li:last-child {
        margin-bottom: 0;
    }

    .sec-online-event {
        flex-wrap: wrap;
    }

    .online-ttl {
        margin-top: 0;
    }

    .sec-online-event .online-txt-gp,
    .sec-online-event .online-img {
        width: 100%;
    }

    .sec-online-event .online-img {
        margin: 20px auto 0;
    }

    .sec-online-banner ul li {
        width: 100%;
    }

    .sec-online-banner ul li:first-child {
        background: url(../img/page/online/banner01.png) no-repeat left/cover;
    }

    .sec-online-banner ul li:nth-child(2) {
        background: url(../img/page/online/banner02.png) no-repeat left/cover;
    }

    .sec-online-banner ul li:nth-child(3) {
        background: url(../img/page/online/banner03.png) no-repeat left/cover;
    }

    .sec-online-banner ul li:nth-child(4) {
        background: url(../img/page/online/banner04.png) no-repeat left/cover;
    }

    .sec-online .sec-online-demand .pc {
        display: block;
    }

    .sec-guidance .sec-online-demand ul li .circle-img {
        margin: 40px auto 15px;
    }

    .sec-entrance .sec-online-demand ul li:last-child .circle-img,
    .sec-guidance .sec-online-demand ul li:nth-child(2) .circle-img,
    .sec-guidance .sec-online-demand ul li:nth-child(1) .circle-img {
        margin: 10px auto 15px;
    }

    .sec-online-demand .online-ttl {
        letter-spacing: 4px;
    }

    .sec-online-demand.kobetsusoudan,
    .sec-guidance .sec-online-demand {
        padding: 40px 15px;
    }

    .kobetsusoudan.sec-online-demand {
        margin-top: 50px;
    }

    .sec-guidance.sec-online p {
        letter-spacing: 0;
    }

    .sec-online-demand.kobetsusoudan ul li p {
        white-space: inherit;
    }

    .kobetsusoudan.sec-online-demand ul li::after {
        top: 27%;
    }

}

@media all and (max-width: 768px) {

    .national-banner-sp,
    .important-notice.pd-40 {
        padding-top: 20px;
    }

    .footer_new_banner a,
    .footer-no-link {
        display: block;
        width: 100%;
    }

    .footer_new_banner a:first-child,
    .footer-no-link {
        padding-right: 0;
        margin-bottom: 20px;
        margin-top: -20px;
    }

    .footer_new_banner a:first-child img,
    .footer-no-link {
        width: 100%;
    }

    .footer_new_banner a:last-child {
        padding-left: 0;
    }

    .sec-online .sec-online-demand ul li,
    .sec-guidance.sec-online .sec-online-demand ul li,
    .kobetsusoudan.sec-online-demand ul li {
        width: 100% !important;
        margin-bottom: 45px;
    }

    .sec-online .sec-online-demand ul li:last-child,
    .kobetsusoudan.sec-online-demand ul li:last-child {
        margin-bottom: 0;
    }

    .kobetsusoudan.sec-online-demand ul li:last-child {
        margin-top: 0;
    }

    .sec-online .sec-online-demand ul li .circle-img,
    .kobetsusoudan.sec-online-demand ul li .circle-img {
        margin: 10px auto 15px;
    }

    .sec-online .sec-online-demand ul li::after,
    .sec-guidance.sec-online .sec-online-demand ul li::after,
    .kobetsusoudan.sec-online-demand ul li::after {
        top: unset;
        bottom: -35px;
        left: 0;
        right: 0;
        margin: 0 auto;
        transform: rotate(90deg);
    }

    .sec-online .sec-online-demand .pc {
        display: none;
    }

    .sec-guidance .green-ttl,
    .sec-gakusetsu .blue-ttl,
    .sec-entrance .pink-ttl {
        text-align: left;
    }

    .sec-gakusetsu .gakusetsu-brief-img .pc,
    .sec-entrance .entrance-brief-img .pc,
    .sec-guidance .guidance-brief-img .pc {
        display: none;
    }

    .sec-gakusetsu .gakusetsu-brief-img .sp,
    .sec-entrance .entrance-brief-img .sp,
    .sec-guidance .guidance-brief-img .sp {
        display: block;
    }
}

.notice-container {
    margin: 0 auto;
    text-align: center;
    padding: 23px 20px;
}

.important-notice {
    padding-bottom: 40px;
}

.important-notice.pd-40 {
    padding-top: 40px;
}

.important-notice .inner-large {
    border: 4px solid #eb4a4e;
}

.important-notice h2 {
    padding-bottom: 5px;
    font-size: 17px;
    color: #eb4a4e;
    font-weight: bold;
}

.bg-white {
    background: #fff;
}

.online-blk .inner {
    text-align: center;
}

.online-blk .inner-large {
    border: none !important;
    margin: 0 auto;
}

.online-blk a {
    display: block;
}

.online-blk a:hover img {
    opacity: .6;
}

.important-notice .online-reserve {
    max-width: 1239px;
    width: 100%;
}

.globalFooter-apply-button-document .text:before {
    top: 7px;
}

/* tab */
.sec-event-detail .section-heading {
    margin: 53px 0 38px;
}

.sec-event-detail .buttonWrapper {
    display: flex;
    margin-bottom: 36px;
}

.sec-event-detail .buttonWrapper button {
    width: 100%;
    display: block;
    cursor: pointer;
    background: transparent;
    padding: 21px 0;
    transition: 0.5s;
    letter-spacing: 2px;
    border: 1px solid #afb3c7;
}

.sec-event-detail .buttonWrapper .border-title span {
    width: 100%;
    height: 100%;
    color: #333333;
    border-bottom: none;
    opacity: 0.25;
    font-size: 18px;
}

.sec-event-detail .buttonWrapper .border-title.active {
    background: #f6428a;
}

.sec-event-detail .buttonWrapper .border-title:hover {
    opacity: 0.5;
}

.sec-event-detail .buttonWrapper .border-title:hover span {
    color: #fff;
    opacity: 1;
}

.sec-event-detail .buttonWrapper .border-title.active {
    opacity: 1;
}

.sec-event-detail .buttonWrapper .border-title:nth-child(1):hover {
    background: #f6428a;
}

.sec-event-detail .buttonWrapper .border-title:nth-child(2):hover {
    background: #3772eb;
}

.sec-event-detail .buttonWrapper .border-title:nth-child(3):hover {
    background: #31d5b6;
}

.sec-event-detail .buttonWrapper .border-title:nth-child(2).active {
    background: #3772eb;
}

.sec-event-detail .buttonWrapper .border-title:nth-child(3).active {
    background: #31d5b6;
}

.sec-event-detail .buttonWrapper .border-title.active span {
    color: #fff;
    opacity: 1;
}

.sec-event-detail .content,
.sec-event-detail .content02 {
    display: none;
}

.sec-event-detail .content.active,
.sec-event-detail .content02.active {
    display: block;
}

/* sec-event-detail */

.sec-event-detail .flex {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0 10px;
}

.sec-event-detail .contentWrapper li {
    width: 32%;
    padding: 5px 13px 30px 13px;
    margin: 58px 2% 0 0;
}

.sec-event-detail .contentWrapper li:nth-child(1),
.sec-event-detail .contentWrapper li:nth-child(2),
.sec-event-detail .contentWrapper li:nth-child(3) {
    margin-top: 0 !important;
}

.sec-event-detail .contentWrapper li:nth-child(3n) {
    margin-right: 0;
}

.sec-event-detail .contentWrapper li:hover {
    box-shadow: 5px 6px 11px 2px rgba(0, 0, 0, 0.1);
}

.sec-event-detail .contentWrapper li.close {
    opacity: 0.2
}

.sec-event-detail .contentWrapper li.close a {
    cursor: default;
    pointer-events: none;
}

.sec-event-detail .contentWrapper li.close:hover {
    box-shadow: none;
}

.sec-event-detail .contentWrapper ul li a {
    color: #333333;
}

.sec-event-detail .contentWrapper .date {
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid #afb3c7;
    letter-spacing: 4.3px;
}

.sec-event-detail .contentWrapper .post-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 3px;
}

.sec-event-detail .contentWrapper li img {
    margin: 10px 0 8px;
}

.sec-event-detail .contentWrapper li p {
    letter-spacing: 2.7px;
    line-height: 1.7;
}

.sec-event-detail.guidance {
    padding-bottom: 45px;
}

/* .sec-event-detail.event,
.sec-event-detail.d-none {
    display: none;
} */
.sec-event-detail.event .section-heading {
    margin: 100px 0 30px;
}

.sec-event-detail.guidance.event {
    padding-bottom: 20px;
}

@media screen and (max-width: 840px) {
    .sec-event-detail .contentWrapper li {
        width: 48.4%;
        margin-right: 3.2%;
        margin-top: 30px;
    }

    .sec-event-detail .contentWrapper li:nth-child(3n) {
        margin-right: 3.2%;
        margin-top: 30px !important;
    }

    .sec-event-detail .contentWrapper li:nth-child(2n) {
        margin-right: 0%;
        margin-top: 30px;
    }

    .sec-event-detail .contentWrapper .date {
        font-size: 16px;
        letter-spacing: 3px;
    }

    .sec-event-detail .contentWrapper .post-title {
        font-size: 14px;
        letter-spacing: 2px;
    }

    .sec-event-detail .buttonWrapper button {
        padding: 15px 0;
        letter-spacing: 1px;
    }

    .sec-event-detail .buttonWrapper .border-title span {
        font-size: 16px;
    }

    .sec-event-detail .section-heading {
        margin: 30px 0 20px;
    }

    .sec-event-detail .contentWrapper li {
        padding: 10px 10px 20px;
    }

    .sec-event-detail .contentWrapper .post-title br {
        display: none;
    }

    .sec-event-detail.guidance {
        padding-bottom: 25px;
    }

    .sec-event-detail.guidance.event {
        padding-bottom: 0;
    }
}

@media screen and (max-width:480px) {
    .sec-event-detail .buttonWrapper {
        margin-bottom: 20px;
    }

    .sec-event-detail .section-heading {
        margin: 23px 0 20px;
        letter-spacing: 0px;
    }

    .sec-event-detail.event .section-heading {
        margin: 30px 0 20px;
    }

    .sec-event-detail .buttonWrapper .border-title span {
        font-size: 11px;
    }

    .sec-event-detail .buttonWrapper button {
        padding: 10px 0;
    }

    .sec-event-detail .flex {
        padding: 0;
    }

    .sec-event-detail .contentWrapper .date {
        font-size: 1.1rem;
        letter-spacing: 2.6px;
        line-height: 1.5;
    }

    .sec-event-detail .contentWrapper li {
        width: 100%;
        margin-top: 30px !important;
        margin-right: 0;
        padding: 5px 10px 15px;
    }

    .sec-event-detail .contentWrapper li:nth-child(2),
    .sec-event-detail .contentWrapper li:nth-child(3) {
        margin-top: 30px !important;
    }

    .sec-event-detail .contentWrapper .post-title {
        font-size: 1.1rem;
        letter-spacing: 1.9px;
        line-height: 1.6;
    }

    .sec-event-detail .contentWrapper li p {
        letter-spacing: 1.9px;
        line-height: 1.4;
        margin-top: 5px;
    }

    .sec-event-detail .contentWrapper li img {
        margin: 6px 0 5px;
    }

    .sec-event-detail .contentWrapper li:hover {
        box-shadow: 0px 4px 5px 2px rgba(0, 0, 0, 0.1);
    }

}

@media (max-width:560px) {
    .sec-online-demand ul li {
        width: 100%;
    }
}

@media (max-width:30em) {
    .sec-online-banner .sp {
        display: block;
    }

    .sec-online-banner .pc {
        display: none;
    }

    .online-ttl .sp {
        display: block;
    }

    .online-ttl .pc {
        display: none;
    }

    .sec-online-banner ul li:first-child {
        background: url(../img/page/online/banner01.png) no-repeat left/auto 100%;
    }

    .sec-online-banner ul li:nth-child(2) {
        background: url(../img/page/online/banner02.png) no-repeat left/auto 100%;
    }

    .sec-online-banner ul li:nth-child(3) {
        background: url(../img/page/online/banner03.png) no-repeat left/auto 100%;
    }

    .sec-online-banner ul li:nth-child(4) {
        background: url(../img/page/online/banner04.png) no-repeat left/auto 100%;
    }

    .sec-online .sec-online-demand .online-ttl .sp {
        display: block;
    }

    .sec-guidance .green-ttl,
    .sec-gakusetsu .blue-ttl {
        font-size: 18px;
    }

    .sec-online-banner ul li p {
        letter-spacing: 0;
    }

}

@media (max-width:40em) {
    .online-ttl {
        font-size: 18px;
    }

    .sec-online-demand ul li h3 {
        font-size: 15px;
    }

    .sec-online-demand {
        padding: 40px 20px;
    }

    .sec-online-demand .online-ttl {
        letter-spacing: 5px;
        font-size: 16px;
    }

    .sec-online-demand ul {
        margin-top: 20px;
    }

    .sec-online-demand ul li .circle-img {
        max-width: 125px;
    }

    .sec-online .sec-online-demand ul li::after,
    .kobetsusoudan.sec-online-demand ul li::after {
        width: 5%;
        height: 25px;
    }

    .sec-guidance .sec-online-demand .online-ttl {
        letter-spacing: 4px;
    }

    .sec-gakusetsu .sec-online-demand {
        padding: 40px 11px;
    }

    .sec-gakusetsu .sec-online-demand .online-ttl {
        letter-spacing: 2.1px;
    }

    .sec-guidance .guidance-brief-img,
    .sec-gakusetsu .gakusetsu-brief-img {
        margin: 20px 0 30px;
    }

    .kobetsusoudan.sec-online-demand ul li h3 {
        font-size: 16px;
    }
}

@media all and (max-width: 450px) {
    .globalFooter-apply-button-document {
        padding-top: 8px;
    }

    .globalFooter-apply-button-document .text {
        position: relative;
        font-family: 'chuoa-icon' !important;
    }

    .globalFooter-apply-button-document .text:before {
        font-size: 160%;
        top: 2px;
    }
}

@media all and (max-width: 395px) {
    .globalFooter-apply-button-document {
        font-size: 0.8rem;
    }

    .globalFooter-apply-button-document .text:before {
        font-size: 130%;
        margin-right: 10px;
    }

    .globalFooter-apply-button-document,
    .globalFooter-apply-button-pamgplet {
        padding: 8px 0 13px;
    }

}

.css-s9tt3p {
    display: none !important;
}

/* AO */
/* .pageHeader-bg.ao {
    background: url('../../assets/img/component/page/header-bg/ao-bg.jpg') 50%;
    background-size: cover;
} */
.sec-ao .section-copy {
    color: #333;
}

.sec-ao .ao-logo {
    max-width: 342px;
    width: 36%;
    margin: 33px auto 16px;
}

.ao-steps span {
    font-weight: 700;
}

.ao-policy-list {
    margin-top: 0;
}

/* .ao-advantage-txt {
    color: #6f748f;
} */

/* .ao-entry .mt1em {
    font-size: 1.2rem;
} */

.ao-entry .extraContact .button {
    width: 338px;
}

.ao-event-blk {
    padding: 35px 20px 37px;
    background-color: #e7e8ed;
    border-radius: 10px;
    margin-bottom: 27px;
}

.ao-event-blk .ao-event-ttl {
    font-weight: 700;
    color: #0a356f;
    font-size: 14px;
    padding-bottom: 20px;
}

.ao-event-blk .ao-event-badge {
    width: 107px;
}

.ao-event-blk .ao-event-badge span {
    display: inline-block;
    width: 100%;
    text-align: center;
    padding: 5px 10px;
    border: 1px solid #000;
    line-height: 1;
}

.ao-event-blk .ao-event-desc {
    display: flex;
}

.ao-event-blk .ao-event-desc .ao-event-list {
    display: flex;
    align-items: baseline;
    width: 90%;
    margin-left: -7px;
}

.ao-event-blk .ao-event-desc .ao-event-list > div:not(.ao-event-symbol) {
    display: flex;
    flex-direction: column;
    width: 24.5%;
    margin: 0 10px;
}

.ao-event-blk .ao-event-desc .ao-event-list > div:not(.ao-event-symbol):first-child {
    margin-left: 0;
}

.ao-event-blk .ao-event-desc .ao-event-list > div:not(.ao-event-symbol):last-child {
    margin-right: 0;
}

.ao-event-blk .ao-event-desc .ao-event-list p {
    letter-spacing: 0.8px;
    text-align: center;
}

.ao-event-blk .ao-event-desc .ao-event-circle {
    max-width: 168px;
    margin: 0 auto 18px;
}

.ao-event-blk .ao-event-desc .ao-event-symbol {
    max-width: 43px;
    width: 5%;
}

.ao-brief-desc + .ao-brief-desc {
    margin-top: 35px;
}

.ao-brief-desc span {
    display: block;
}

@media (max-width:48em) {


    /* sec-ao */

    .sec-ao .ao-logo {
        max-width: 342px;
        width: 70%;
        margin: 40px auto 15px;
    }

    .sec-ao .section-heading {
        padding-top: 60px;
    }

    .ao-event-blk .ao-event-desc {
        flex-direction: column;
    }

    .ao-event-blk .ao-event-desc .ao-event-list {
        margin-top: 20px;
        width: 100%;
        flex-direction: column;
        align-items: center;
    }

    .ao-event-blk .ao-event-desc .ao-event-list > div:not(.ao-event-symbol) {
        width: 100%;
        align-items: center;
        margin: 0;
    }

    .ao-event-blk .ao-event-desc .ao-event-symbol {
        margin: 15px 0;
        max-width: 25px;
        width: 100%;
    }

    .ao-event-blk .ao-event-desc .ao-event-circle {
        max-width: 125px;
        width: 100%;
        margin: 0;
    }

    .ao-event-blk .ao-event-desc .ao-event-list p {
        margin-top: 18px;
    }

    .ao-event-blk .ao-event-desc .ao-event-symbol.equal img {
        transform: rotate(90deg);
    }
}

/* event-ao */
#event-ao {
    background: url('../img/page/event/ao/event_ao_bg.jpg')repeat-y;
    background-size: 100%;
    font-family: 'HiraMaruProW4';
    font-size: 15px;
}

#event-ao .flex-content {
    display: flex;
    justify-content: space-between;
}

#event-ao .flex-content .ao-content {
    width: 48%;
}

#event-ao .ttl-txt {
    text-align: center;
}

#event-ao .event-ao-ttl {
    display: inline-block;
    padding: 0 21px 0 75px;
    position: relative;
    font-size: 30px;
    color: #349bcf;
    background-color: #fff;
    z-index: 1;
}

#event-ao .event-ao-ttl::before {
    content: '';
    position: absolute;
    background: url('../img/page/event/ao/ico_paw.png') no-repeat center/contain;
    width: 38px;
    height: 36px;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
}

#event-ao .ao-content-ttl {
    font-size: 24px;
    color: #349bcf;
    text-align: center;
}

#event-ao .event-ao-ttl .small-txt {
    font-size: 24px;
}

#event-ao.inner-default {
    max-width: 1300px;
}

#event-ao .sec-event-ao-mv {
    position: relative;
}

#event-ao .sec-event-ao-mv .breadcrumbs {
    top: 20px;
    left: 85px;
}

#event-ao .sec-event-ao-mv div img {
    width: 100%;
}

#event-ao .sec-event-ao-01 {
    margin: 105px 0;
}

#event-ao .sec-event-ao-01 .inner-default {
    max-width: 821px;
}

#event-ao .sec-event-ao-01 .ao-admission {
    position: relative;
    text-align: center;
}

#event-ao .sec-event-ao-01 .ao-admission::before,
#event-ao .sec-event-ao-01 .ao-admission::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: #eb6ca5;
    left: 0;
    right: 0;
}

#event-ao .sec-event-ao-01 .ao-admission::before {
    top: 30px;
}

#event-ao .sec-event-ao-01 .ao-admission::after {
    bottom: 0;
}

#event-ao .sec-event-ao-01 .admission-txt {
    text-align: center;
    padding: 32px 0 62px;
}

#event-ao .sec-event-ao-01 .admission-txt::before {
    content: '';
    background: url('../img/page/event/ao/img_admission01.png')no-repeat center/contain;
    width: 55px;
    height: 60px;
    position: absolute;
    left: 8px;
    bottom: 25px;
}

#event-ao .sec-event-ao-01 .admission-txt::after {
    content: '';
    background: url('../img/page/event/ao/img_admission02.png')no-repeat center/contain;
    width: 56px;
    height: 63px;
    position: absolute;
    right: 8px;
    bottom: 25px;
}

#event-ao .sec-event-ao-02 .ttl-txt {
    margin-bottom: 50px;
}

#event-ao .container {
    width: 1143px;
    margin: 0 auto;
    max-width: 95%;
}

#event-ao .ao-content-bg {
    background-color: #d1e2f2;
    padding: 57px 43px;
    border-radius: 10px;
}

#event-ao .sec-event-ao-06 .ao-content-bg,
#event-ao .sec-event-ao-07 .ao-content-bg {
    border-radius: 0;
}

#event-ao .ao-content {
    background-color: #fff;
    border-radius: 10px;
}

#event-ao .sec-event-ao-02 .ao-content {
    position: relative;
    padding: 40px 40px 112px;
}

#event-ao .sec-event-ao-02 .ao-content::after {
    content: '';
    position: absolute;
    background: url('../img/page/event/ao/img_dog01.png')no-repeat center/cover;
    width: 199px;
    height: 187px;
    right: 6%;
    bottom: 15px;
}

#event-ao .sec-event-ao-02 .ao-content p:last-child {
    margin-top: 1.25em;
}

#event-ao .sec-event-ao-02 .ao-content ul {
    margin-top: 0.25em;
}

#event-ao .sec-event-ao-03 {
    background-color: #d1e2f2;
    margin: 178px 0 163px;
    padding: 102px 20px;
}

#event-ao .sec-event-ao-03 .event-ao-ttl .sparkle {
    position: relative;
    font-size: 33px;
}

#event-ao .sec-event-ao-03 .event-ao-ttl .sparkle::before {
    content: '';
    position: absolute;
    background: url('../img/page/event/ao/ico_sparkle.png')no-repeat center/contain;
    width: 17px;
    height: 16px;
    top: -10px;
    right: -3px;
}

#event-ao .sec-event-ao-03 .ttl-txt {
    padding-bottom: 57px;
}

#event-ao .sec-event-ao-03 .ao-content {
    padding: 65px 80px 90px;
}

#event-ao .sec-event-ao-03 .ao-adv-blk li {
    border: 3px solid #eb6ca5;
    border-radius: 10px;
    position: relative;
    margin-top: 87px;
    padding: 65px 35px 20px;
}

#event-ao .sec-event-ao-03 .ao-adv-blk li:first-child {
    margin-top: 0;
}

#event-ao .sec-event-ao-03 .ao-adv-blk li::after {
    content: '';
    position: absolute;
}

#event-ao .sec-event-ao-03 .ao-adv-blk .adv-01::after {
    background: url('../img/page/event/ao/img_dog02.png')no-repeat center/contain;
    width: 185px;
    height: 142px;
    top: 50%;
    transform: translateY(-50%);
    right: 14.5%;
}

#event-ao .sec-event-ao-03 .ao-adv-blk .adv-02::after {
    background: url('../img/page/event/ao/img_dog03.png')no-repeat center/contain;
    width: 172px;
    height: 143px;
    top: -43px;
    right: 4%;
}

#event-ao .sec-event-ao-03 .ao-adv-blk .adv-03::after {
    background: url('../img/page/event/ao/img_dog04.png')no-repeat center/contain;
    width: 143px;
    height: 122px;
    top: -38px;
    right: 16.7%;
}

#event-ao .sec-event-ao-03 .ao-adv-blk .adv-img {
    max-width: 112px;
    position: absolute;
    top: -58px;
    left: 33px;
}

#event-ao .sec-event-ao-03 .ao-adv-blk .adv-ttl {
    font-size: 21px;
    color: #349bcf;
}

#event-ao .sec-event-ao-04 .ttl-txt {
    margin-bottom: 42px;
}

#event-ao .sec-event-ao-04 .ao-content {
    padding: 35px 0 45px;
}

#event-ao .sec-event-ao-04 .ao-condition-list {
    padding: 17px 40px 17px 55px;
    text-indent: -16px;
}

#event-ao .sec-event-ao-04 .ao-condition-list li {
    letter-spacing: 2.7px;
}

#event-ao .sec-event-ao-04 .ao-condition-list li .condition-sub-list {
    display: inline-block;
    text-indent: 0;
}

#event-ao .sec-event-ao-04 .ao-condition-list li + li {
    margin-top: 22px;
}

#event-ao .sec-event-ao-04 .ao-image,
#event-ao .sec-event-ao-07 .ao-image {
    max-width: 368px;
    margin: 65px auto;
    padding: 0 20px;
}

#event-ao .sec-event-ao-04 .ao-content .ao-students {
    max-width: 176px;
    margin: 50px 57px 0 auto;
}

#event-ao .sec-event-ao-05 {
    margin: 165px 0;
}

#event-ao .sec-event-ao-05 .ao-content {
    padding: 35px 0 40px;
    position: relative;
}

#event-ao .sec-event-ao-05 .student-admission::after,
#event-ao .sec-event-ao-05 .student-scholar::after {
    content: '';
    position: absolute;
    bottom: 44px;
}

#event-ao .sec-event-ao-05 .student-admission::after {
    background: url('../img/page/event/ao/img_step_student01.png')no-repeat center/contain;
    width: 163px;
    height: 271px;
    right: 20px;
}

#event-ao .sec-event-ao-05 .student-scholar::after {
    background: url('../img/page/event/ao/img_step_student02.png')no-repeat center/contain;
    width: 114px;
    height: 286px;
    right: 50px;
}

#event-ao .sec-event-ao-05 .ttl-txt {
    margin-bottom: 37px;
}

#event-ao .sec-event-ao-05 .ao-step-list {
    padding: 25px 40px 5px;
}

#event-ao .sec-event-ao-05 .ao-step-list li {
    display: flex;
    padding-bottom: 57px;
    position: relative;
}

#event-ao .sec-event-ao-05 .ao-step-list li::after {
    content: '';
    position: absolute;
    width: 9px;
    height: 40px;
    background: url('../img/page/event/ao/img_step_arrow.png')no-repeat center/contain;
    left: 42px;
    top: 37px;
}

#event-ao .sec-event-ao-05 .ao-step-list .step-number {
    max-width: 103px;
    margin-right: 20px;
}

#event-ao .sec-event-ao-05 .step-success {
    display: inline-block;
    position: relative;
    padding: 0 37px 0 84px;
    letter-spacing: 3px;
}

#event-ao .sec-event-ao-05 .step-success::before,
#event-ao .sec-event-ao-05 .step-success::after {
    content: '';
    position: absolute;
    background: url('../img/page/event/ao/ico_party_popper.png')no-repeat center/contain;
    width: 40px;
    height: 38px;
    top: -7px;
}

#event-ao .sec-event-ao-05 .step-success::before {
    left: 40px;
}

#event-ao .sec-event-ao-05 .step-success::after {
    right: 0;
    transform: rotate(270deg);
}

#event-ao .sec-event-ao-06 .ttl-txt {
    margin-bottom: 40px;
}

#event-ao .sec-event-ao-06 .ao-content {
    padding: 65px 0 50px;
    position: relative;
}

#event-ao .sec-event-ao-06 .ao-content::before {
    position: absolute;
    content: '';
    background: url('../img/page/event/ao/img_dog03.png')no-repeat center/contain;
    width: 129px;
    height: 108px;
    right: 43px;
    top: 66px;
}

#event-ao .sec-event-ao-06 .ao-content::after {
    position: absolute;
    content: '';
    background: url('../img/page/event/ao/img_dog01.png')no-repeat center/contain;
    width: 112px;
    height: 105px;
    left: 45px;
    bottom: 28px;
    transform: scaleX(-1);
}

#event-ao .sec-event-ao-06 .ao-step1-ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
}

#event-ao .sec-event-ao-06 .ao-step1-ttl .img-step1 {
    max-width: 187px;
    margin-right: 25px;
}

#event-ao .sec-event-ao-06 .ao-step1-ttl .ao-step-ttl {
    font-size: 24px;
    color: #349bcf;
}

#event-ao .sec-event-ao-06 .entry-txt {
    position: relative;
    display: inline-block;
    font-family: 'ABTomboBold';
    font-size: 18px;
    padding: 0 5px;
    z-index: 1;
}

#event-ao .sec-event-ao-06 .entry-txt::after {
    content: '';
    position: absolute;
    width: 107px;
    height: 7px;
    background-color: #eb6ea6;
    border-radius: 10px;
    bottom: 5px;
    left: 0;
    z-index: -1;
}

#event-ao .sec-event-ao-06 .ao-step1-content {
    width: 86%;
    margin: 0 auto;
}

#event-ao .sec-event-ao-06 .ao-step1-content + .ao-step1-content {
    border-top: 1px solid #d1e2f2;
}

#event-ao .sec-event-ao-06 .ao-step1-content .content-txt {
    width: 80%;
    margin-left: 111px;
    color: #eb6ca5;
}

#event-ao .sec-event-ao-06 .ao-step1-blk {
    display: flex;
    align-items: baseline;
    padding: 30px 0 45px;
}


#event-ao .sec-event-ao-06 .ao-step1-blk > div:not(.ao-step-symbol) {
    width: 31%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 10px;
    text-align: center;
}

#event-ao .sec-event-ao-06 .ao-step1-blk > div:not(.ao-step-symbol):first-child {
    margin-left: 0;
}

#event-ao .sec-event-ao-06 .ao-step1-blk > div:not(.ao-step-symbol):last-child {
    margin-right: 0;
}

#event-ao .sec-event-ao-06 .ao-step1-blk .ao-step-circle {
    max-width: 213px;
    margin-bottom: 33px;
}

#event-ao .sec-event-ao-06 .ao-step1-blk .ao-step-symbol {
    max-width: 41px;
    width: 5%;
}

#event-ao .sec-event-ao-06 .entry-event-txt {
    font-size: 18px;
    color: #349bcf;
    padding: 50px 0 10px 5px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk {
    padding: 55px 22px 28px 45px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list {
    display: flex;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list .blue-step-num {
    max-width: 137px;
    margin-right: 7%;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list .blue-txt-blk {
    width: calc(100% - 150px);
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list .step-main-txt {
    font-size: 20px;
    color: #349bcf;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .ao-date-ttl {
    font-size: 18px;
    color: #eb6ca5;
    padding: 38px 0 10px;
    display: inline-block;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step2-list {
    letter-spacing: 2.8px;
    line-height: 1.8;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step2-list li span {
    padding-left: 4px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step2-list li + li {
    padding-top: 24px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step2-list li .content-txt {
    color: #eb6ca5;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list {
    position: relative;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list::before {
    width: 6px;
    content: '';
    position: absolute;
    background-color: #349bcf;
    left: 61px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list::after {
    content: '';
    position: absolute;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid #349bcf;
    left: 56px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step2::before,
#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step2::after {
    content: none;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list .blue-step-desc {
    padding-top: 5px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step3 {
    padding-bottom: 55px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step3::before {
    top: 53px;
    height: 48px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step3::after {
    top: 100px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step4 {
    padding-bottom: 73px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step4::before {
    top: 61px;
    height: 50px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step4::after {
    top: 107px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step5 {
    padding-bottom: 10px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step5::before {
    top: 60px;
    height: 45px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step5::after {
    top: 104px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step6 {
    padding-bottom: 22px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step6::before {
    top: 53px;
    height: 140px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step6::after {
    top: 193px;
}

#event-ao .sec-event-ao-07 .blue-steps-blk .blue-step6 .blue-step-desc:first-of-type {
    padding-top: 0;
}

#event-ao .ao-entry-bnr-blk {
    background-color: #fff;
    padding: 103px 0 120px;
}

#event-ao .ao-entry-bnr {
    display: block;
    padding: 15px 0;
    border: 3px solid #349bcf;
    background-color: #fff;
    background-image: url(../img/page/event/ao/ao_entry_bnr_bg.jpg), url(../img/page/event/ao/ao_entry_bnr_bg.jpg);
    background-size: auto;
    background-position: center left 40px, center right 20px;
    background-repeat: no-repeat;
    border-radius: 10px;
}

#event-ao .ao-entry-bnr .ao-entry-in {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    width: 465px;
    margin: 0 auto;
    padding: 0 120px;
    box-sizing: content-box;
}

#event-ao .ao-entry-bnr .ao-entry-in::before,
#event-ao .ao-entry-bnr .ao-entry-in::after {
    position: absolute;
    top: 27px;
    left: 0;
    width: 89px;
    height: 90%;
    background: url(../img/page/event/ao/ao_entry_bnr_img01.png) no-repeat center/100%;
    content: "";
}

#event-ao .ao-entry-bnr .ao-entry-in::after {
    right: 0;
    left: auto;
    width: 83px;
    background: url(../img/page/event/ao/ao_entry_bnr_img02.png) no-repeat center/100%;
}

#event-ao .ao-entry-bnr .ao-entry-img {
    width: 236px;
    max-width: 100%;
}

#event-ao .ao-entry-bnr .ao-entry-txt {
    width: 100%;
    margin: 10px 0;
    padding: 0 10px;
    background-color: #eb6ca5;
    color: #fff;
    font-size: 24px;
    text-align: center;
    border-radius: 30px;
}

#event-ao .sec-event-ao-08 {
    background-color: #fff;
}

#event-ao .sec-event-ao-08 .inner {
    margin-top: 37px;
    padding: 60px 0;
    background-color: #d1e2f2;
}

#event-ao .sec-event-ao-08 .inner .container {
    display: flex;
    justify-content: space-between;
    padding: 60px 43px 30px;
    background-color: #fff;
    border-radius: 10px;
}

#event-ao .sec-event-ao-08 .ao-evcol-rgt,
#event-ao .sec-event-ao-08 .ao-evcol-lft {
    width: 500px;
    max-width: 48%;
}

#event-ao .sec-event-ao-08 .ao-evcol {
    padding: 0 35px;
    border: 3px solid #eb6ca5;
    border-radius: 10px;
}

#event-ao .sec-event-ao-08 .ao-evcol-ttl {
    display: table;
    margin: -18px auto 0;
    padding: 0 15px;
    background: #fff;
    color: #349bcf;
    font-size: 18px;
    letter-spacing: 3px;
}

#event-ao .sec-event-ao-08 .ao-evcol-sub {
    position: relative;
    color: #349bcf;
    font-size: 16px;
}

#event-ao .sec-event-ao-08 .ao-evcol-sub span {
    position: relative;
    z-index: 1;
    padding-right: 25px;
    background-color: #fff;
}

#event-ao .sec-event-ao-08 .ao-evcol-sub::after {
    position: absolute;
    top: 12px;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    border-bottom: 2px dashed #349bcf;
}

#event-ao .sec-event-ao-08 .ao-ev-sdul {
    margin-bottom: 25px;
}

#event-ao .sec-event-ao-08 .ao-ev-sdul dl {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 20px;
}

#event-ao .sec-event-ao-08 .ao-ev-sdul dl dt {
    width: 120px;
    line-height: 1.6;
    background-color: #349bcf;
    color: #fff;
    font-size: 16px;
    text-align: center;
    border-radius: 20px;
}

#event-ao .sec-event-ao-08 .ao-ev-sdul dl dd {
    width: calc(100% - 145px);
}

#event-ao .sec-event-ao-08 .ao-evcol-img {
    width: 310px;
    margin: 48px auto 0;
    max-width: 65%;
}

#event-ao .sec-event-ao-09 {
    margin-top: 165px;
    padding-bottom: 76px;
    border-bottom: 1px solid #f3f4f6;
}

#event-ao .sec-event-ao-09 .container {
    margin-top: 35px;
    padding: 60px 80px;
    background-color: #d1e2f2;
    border-radius: 10px;
}

#event-ao .sec-event-ao-09 .qa-list {
    padding: 50px 100px;
    background-color: #fff;
    border-radius: 10px;
}

#event-ao .sec-event-ao-09 .qa-item {
    margin-bottom: 30px;
}

#event-ao .sec-event-ao-09 .qa-item:last-child {
    margin: 0;
}

#event-ao .sec-event-ao-09 .ans-up:not(.first) {
    display: none;
}

#event-ao .sec-event-ao-09 .question,
#event-ao .sec-event-ao-09 .answer {
    display: flex;
    padding: 15px 25px;
}

#event-ao .sec-event-ao-09 .question {
    position: relative;
    padding-right: 65px;
    background-color: #d1e2f2;
    border-radius: 10px;
    cursor: pointer;
}

#event-ao .sec-event-ao-09 .question::before,
#event-ao .sec-event-ao-09 .question::after {
    position: absolute;
    top: 50%;
    right: 3rem;
    z-index: 1;
    width: 20px;
    height: 2px;
    background-color: #eb6ca5;
    content: " ";
    transform: translateY(-50%);
    transition: all .8s ease-out;
    opacity: 1;
}

#event-ao .sec-event-ao-09 .question::after {
    margin-top: -1px;
    transform: rotate(90deg);
}

#event-ao .sec-event-ao-09 .question.active::after {
    transform: rotate(0deg);
    transition: all .5s ease-in;
    opacity: 0;
}

#event-ao .sec-event-ao-09 .answer {
    padding-bottom: 0;
}

#event-ao .sec-event-ao-09 .qa-txt {
    padding-left: 10px;
}

@media (max-width:68.75em) {
    #event-ao .sec-event-ao-01 .inner-default {
        padding: 0 20px;
    }

    #event-ao .sec-event-ao-02 .ao-content::after {
        width: 18.091vw;
        height: 17vw;
        bottom: 1.364vw;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-01::after {
        width: 16.818vw;
        height: 12.909vw;
        right: 1.364vw;
        top: 0;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-02::after {
        width: 15.636vw;
        height: 13vw;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-03::after {
        width: 13vw;
        height: 11.091vw;
    }

    #event-ao .sec-event-ao-05 .ao-content {
        padding: 3.182vw 0 20.082vw;
    }

    #event-ao .sec-event-ao-05 .student-admission::after,
    #event-ao .sec-event-ao-05 .student-scholar::after {
        bottom: 2vw;
    }

    #event-ao .sec-event-ao-05 .student-admission::after {
        width: 10.818vw;
        height: 18.636vw;
        right: 1.818vw;
    }

    #event-ao .sec-event-ao-05 .student-scholar::after {
        width: 7.364vw;
        height: 18vw;
        right: 2.545vw;
    }

    #event-ao .sec-event-ao-06 .ao-content::before {
        top: -4.545vw;
    }
}

@media (max-width:48em) {
    #event-ao {
        font-size: 13px;
        background-size: 200%;
    }

    #event-ao .event-ao-ttl {
        font-size: 20px;
        padding: 0 0 0 38px;
    }

    #event-ao .event-ao-ttl .small-txt {
        font-size: 14px;
    }

    #event-ao .event-ao-ttl::before {
        width: 28px;
        height: 26px;
        left: 5px;
    }

    #event-ao .sec-event-ao-01 .admission-txt {
        padding: 32px 0 90px;
    }

    #event-ao .sec-event-ao-01 .ao-admission::before {
        top: 22px;
    }

    #event-ao .sec-event-ao-01 .admission-txt::before,
    #event-ao .sec-event-ao-01 .admission-txt::after {
        bottom: 15px;
    }

    #event-ao .sec-event-ao-01 .inner-default {
        padding: 0 10px;
    }

    #event-ao .ao-content-bg {
        padding: 25px 15px;
    }

    #event-ao .ao-entry-bnr {
        background-position: top 10px left 40px, bottom 10px right 20px;
    }

    #event-ao .sec-event-ao-02 .ao-content {
        padding: 25px 25px 80px;
    }

    #event-ao .sec-event-ao-02 .ttl-txt,
    #event-ao .sec-event-ao-04 .ttl-txt,
    #event-ao .sec-event-ao-05 .ttl-txt,
    #event-ao .sec-event-ao-06 .ttl-txt {
        margin-bottom: 25px;
    }

    #event-ao .sec-event-ao-03 {
        margin: 120px 0;
        padding: 40px 5px;
    }

    #event-ao .sec-event-ao-03 .ao-content {
        padding: 45px 15px;
    }

    #event-ao .sec-event-ao-03 .event-ao-ttl .sparkle {
        font-size: 20px;
    }

    #event-ao .sec-event-ao-03 .event-ao-ttl .sparkle::before {
        width: 13px;
        height: 14px;
        right: -2px;
    }

    #event-ao .sec-event-ao-03 .ttl-txt {
        padding-bottom: 70px;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-img {
        max-width: 80px;
        top: -46px;
        left: 15px;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-01::after {
        width: 116px;
        height: 77px;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk li {
        padding: 45px 18px 20px;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-ttl {
        font-size: 18px;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-02::after {
        width: 103px;
        height: 73px;
        top: -10%;
    }

    #event-ao .sec-event-ao-03 .ao-adv-blk .adv-03::after {
        width: 84px;
        height: 65px;
        top: -14%;
        right: 6%;
    }

    #event-ao .flex-content {
        flex-direction: column;
    }

    #event-ao .flex-content .ao-content {
        width: 100%;
    }

    #event-ao .flex-content .ao-content + .ao-content {
        margin-top: 30px;
    }

    #event-ao .ao-content-ttl {
        font-size: 18px;
    }

    #event-ao .sec-event-ao-04 .ao-condition-list {
        padding: 17px 20px 17px 40px;
    }

    #event-ao .sec-event-ao-04 .ao-image {
        max-width: 295px;
        margin: 30px auto;
    }

    #event-ao .sec-event-ao-07 .ao-image {
        display: none;
    }

    #event-ao .sec-event-ao-04 .ao-content .ao-students {
        margin: 30px auto 0;
    }

    #event-ao .sec-event-ao-05 {
        margin: 120px 0;
    }

    #event-ao .sec-event-ao-05 .ao-step-list {
        padding: 25px 10px 5px;
    }

    #event-ao .sec-event-ao-05 .student-admission::after {
        width: 17.818vw;
        height: 31.636vw;
    }

    #event-ao .sec-event-ao-05 .student-scholar::after {
        width: 12.364vw;
        height: 31vw;
    }

    #event-ao .sec-event-ao-05 .ao-step-list .step-number {
        max-width: 95px;
    }

    #event-ao .sec-event-ao-05 .step-success {
        padding: 0 37px 0 45px;
    }

    #event-ao .sec-event-ao-05 .step-success::before {
        left: 5px;
    }

    #event-ao .sec-event-ao-05 .step-success::before,
    #event-ao .sec-event-ao-05 .step-success::after {
        width: 35px;
        height: 30px;
    }

    #event-ao .sec-event-ao-06 .ao-content {
        padding: 115px 0 135px;
    }

    #event-ao .sec-event-ao-06 .ao-content::before {
        width: 112px;
        height: 84px;
        top: 3.455vw;
        right: 20px
    }

    #event-ao .sec-event-ao-06 .ao-content::after {
        width: 103px;
        height: 90px;
        left: 18px;
        bottom: 12px;
    }

    #event-ao .sec-event-ao-06 .ao-step1-content .content-txt {
        width: 100%;
        margin: 0 auto;
    }

    #event-ao .sec-event-ao-06 .ao-step1-ttl {
        flex-direction: column;
        align-items: flex-start;
        padding-left: 38px;
    }

    #event-ao .sec-event-ao-06 .ao-step1-ttl .img-step1 {
        max-width: 108px;
        margin: 0 0 20px;
    }

    #event-ao .sec-event-ao-06 .ao-step1-ttl .ao-step-ttl {
        font-size: 16px;
    }

    #event-ao .sec-event-ao-06 .entry-event-txt {
        font-size: 16px;
        padding: 30px 20px 10px 5px;
    }

    #event-ao .sec-event-ao-06 .entry-txt {
        font-size: 15px;
        padding: 0 10px;
    }

    #event-ao .sec-event-ao-06 .entry-txt::after {
        width: 101px;
    }

    #event-ao .sec-event-ao-06 .ao-step1-blk {
        flex-direction: column;
        align-items: center;
        padding: 30px 0;
    }

    #event-ao .sec-event-ao-06 .ao-step1-blk > div:not(.ao-step-symbol) {
        width: 100%;
        margin: 0;
    }

    #event-ao .sec-event-ao-06 .ao-step1-blk .ao-step-circle {
        max-width: 125px;
        margin-bottom: 0;
    }

    #event-ao .sec-event-ao-06 .ao-step1-blk .ao-step-symbol {
        max-width: 25px;
        width: 100%;
        margin: 15px 0;
    }

    #event-ao .sec-event-ao-06 .ao-step1-blk .ao-step-symbol.equal {
        transform: rotate(90deg);
    }

    #event-ao .sec-event-ao-06 .ao-step1-blk p {
        margin-top: 25px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk {
        padding: 30px 15px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list .blue-step-num {
        max-width: 108px;
        margin-right: 20px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list .step-main-txt {
        font-size: 15px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .ao-date-ttl {
        font-size: 14px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list::before {
        left: 50px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step-list::after {
        left: 45px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step3::before {
        height: 40px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step3::after {
        top: 91px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step6::before {
        height: 105px;
    }

    #event-ao .sec-event-ao-07 .blue-steps-blk .blue-step6::after {
        top: 155px;
    }

    #event-ao .ao-entry-bnr .ao-entry-in {
        width: 450px;
        padding: 100px 0;
        max-width: 90%;
    }

    #event-ao .ao-entry-bnr .ao-entry-in::before,
    #event-ao .ao-entry-bnr .ao-entry-in::after {
        top: 0;
        height: 100px;
    }

    #event-ao .ao-entry-bnr .ao-entry-in::after {
        top: auto;
        bottom: 0;
    }

    #event-ao .ao-entry-bnr .ao-entry-txt {
        font-size: 16px;
        margin: 25px 0 10px;
    }

    #event-ao .sec-event-ao-08 {
        margin: 0;
    }

    #event-ao .sec-event-ao-08 .inner {
        margin-top: 20px;
        padding: 30px 0;
    }

    #event-ao .sec-event-ao-08 .inner .container {
        flex-direction: column;
        padding: 30px 15px;
    }

    #event-ao .sec-event-ao-08 .ao-evcol-ttl {
        margin-top: -15px;
        font-size: 15px;
        letter-spacing: 1px;
    }

    #event-ao .sec-event-ao-08 .ao-evcol {
        padding: 0 15px;
    }

    #event-ao .sec-event-ao-08 .ao-evcol-sub {
        font-size: 14px;
    }

    #event-ao .sec-event-ao-08 .ao-evcol-sub span {
        padding-right: 10px;
    }

    #event-ao .sec-event-ao-08 .ao-evcol-rgt,
    #event-ao .sec-event-ao-08 .ao-evcol-lft {
        width: 100%;
        max-width: 100%;
    }

    #event-ao .sec-event-ao-08 .ao-evcol-rgt {
        margin-bottom: 50px;
    }

    #event-ao .sec-event-ao-08 .ao-ev-sdul dl dt {
        width: 80px;
    }

    #event-ao .sec-event-ao-08 .ao-ev-sdul dl dd {
        width: calc(100% - 100px);
    }

    #event-ao .sec-event-ao-08 .ao-evcol-img {
        margin: 30px auto 0;
    }

    #event-ao .sec-event-ao-09 {
        margin-top: 60px;
    }

    #event-ao .sec-event-ao-09 .container {
        margin-top: 20px;
        padding: 15px 20px;
    }

    #event-ao .sec-event-ao-09 .qa-list {
        padding: 20px;
    }

    #event-ao .sec-event-ao-09 .question,
    #event-ao .sec-event-ao-09 .answer {
        padding: 15px;
    }

    #event-ao .sec-event-ao-09 .question {
        padding-right: 30px;
    }

    #event-ao .sec-event-ao-09 .question::before,
    #event-ao .sec-event-ao-09 .question::after {
        right: 1rem;
        width: 15px;
    }
}

@media (max-width:30em) {
    #event-ao .sec-event-ao-02 .ao-content::after {
        width: 22.391vw;
        height: 21vw;
        bottom: 3.364vw;
    }

    #event-ao .sec-event-ao-05 .student-admission::after {
        width: 21.818vw;
        height: 37.636vw;
    }

    #event-ao .sec-event-ao-05 .student-scholar::after {
        width: 15.364vw;
        height: 38vw;
    }

    #event-ao .sec-event-ao-05 .student-admission::after,
    #event-ao .sec-event-ao-05 .student-scholar::after {
        bottom: 30vw;
    }
}
