@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: 'jsc-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: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'ヒラギノ角ゴ 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: .08em;
    background: #fff;
    word-break: break-all;
    overflow-x: hidden
}

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

.pageContainer li:not([class]) a.popup,
.pageContainer li:not([class]) a:not([class]),
.pageContainer p:not([class]) a.popup,
.pageContainer p:not([class]) a:not([class]),
.pageContainer td:not([class]) a.popup,
.pageContainer td:not([class]) a:not([class]) {
    color: #00bca3;
    text-decoration: underline
}

.pageContainer.ca li:not([class]) a.popup,
.pageContainer.ca li:not([class]) a:not([class]),
.pageContainer.ca p:not([class]) a.popup,
.pageContainer.ca p:not([class]) a:not([class]),
.pageContainer.ca td:not([class]) a.popup,
.pageContainer.ca td:not([class]) a:not([class]) {
    color: #875fa9
}

.pageContainer.shikaku li:not([class]) a.popup,
.pageContainer.shikaku li:not([class]) a:not([class]),
.pageContainer.shikaku p:not([class]) a.popup,
.pageContainer.shikaku p:not([class]) a:not([class]),
.pageContainer.shikaku td:not([class]) a.popup,
.pageContainer.shikaku td:not([class]) a:not([class]) {
    color: #e29d3a
}

.pageContainer.learn li:not([class]) a.popup,
.pageContainer.learn li:not([class]) a:not([class]),
.pageContainer.learn p:not([class]) a.popup,
.pageContainer.learn p:not([class]) a:not([class]),
.pageContainer.learn td:not([class]) a.popup,
.pageContainer.learn td:not([class]) a:not([class]) {
    color: #e9547e
}

.pageContainer.business li:not([class]) a.popup,
.pageContainer.business li:not([class]) a:not([class]),
.pageContainer.business p:not([class]) a.popup,
.pageContainer.business p:not([class]) a:not([class]),
.pageContainer.business td:not([class]) a.popup,
.pageContainer.business td:not([class]) a:not([class]) {
    color: #0b75e1
}

.pageContainer.member li:not([class]) a.popup,
.pageContainer.member li:not([class]) a:not([class]),
.pageContainer.member p:not([class]) a.popup,
.pageContainer.member p:not([class]) a:not([class]),
.pageContainer.member td:not([class]) a.popup,
.pageContainer.member td:not([class]) a:not([class]) {
    color: #00b4d5
}

.list li a:not([class]):hover {
    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: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'ヒラギノ角ゴ 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: #0b75e1
}

textarea {
    line-height: 1.5
}

label {
    cursor: pointer
}

@media (max-width:30em) {
    select {
        width: 100%;
        padding: .5em
    }
}

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

.siteMain {
    position: relative;
    z-index: 0;
    opacity: 1;
    -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
    transition: opacity 0.2s, -webkit-transform 0.2s;
    transition: transform 0.2s, opacity 0.2s;
    transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s
}

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

.hamburger {
    display: none;
    position: fixed;
    right: 0;
    z-index: 11;
    width: 64px;
    height: 64px;
    border-left: 1px solid #e3e3e3;
    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: 24px;
    height: 3px;
    background: #00bca3;
    background: -webkit-gradient(linear, left top, right top, from(#00bca3), to(#79AF71));
    background: linear-gradient(to right, #00bca3, #79AF71);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.hamburger-line1 {
    top: 23px
}

.hamburger-line2 {
    top: 30px
}

.hamburger-line3 {
    top: 37px
}

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

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

.globalHeader {
    position: relative;
    z-index: 1;
    width: 100%
}

.globalHeader-logo {
    line-height: 1;
    z-index: 5;
    margin-right: auto;
    width: 400px;
    white-space: nowrap
}

.globalHeader-logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.globalHeader-logo-text span,
.globalHeader-logo img {
    display: block
}

.globalHeader-logo-text .site-name {
    letter-spacing: .03em
}

.globalHeader-logo-text .catch-copy {
    font-size: 15px;
    letter-spacing: .06em
}

.globalHeader-link {
    margin-left: auto;
    white-space: nowrap
}

.globalHeader-link-primary,
.globalHeader-link-secondary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.globalHeader-link-primary li + li {
    margin-left: 35px
}

.globalHeader-link-primary a {
    display: block;
    font-size: 15px;
    font-weight: bold;
    line-height: 1
}

.globalHeader-link-primary .icon,
.globalHeader-link-primary .icon:after {
    border-radius: 50%;
    font-weight: normal
}

.globalHeader-link-primary .icon {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding-left: 2px;
    margin-right: 10px;
    width: 38px;
    height: 38px;
    background-color: #00bca3;
    color: #fff;
    font-size: 18px;
    text-align: center;
    line-height: 38px
}

.globalHeader-link-primary .icon-envelop {
    font-size: 14px
}

.globalHeader-link-primary-tel > span {
    display: inline-block;
    vertical-align: middle
}

.globalHeader-link-primary-tel .number,
.globalHeader-link-primary-tel .time {
    display: block
}

.globalHeader-link-primary-tel .number {
    font-size: 20px
}

.globalHeader-link-primary-tel .time {
    margin-top: 4px;
    font-size: 10px;
    font-weight: normal
}

.globalHeader-link-primary .icon:before {
    position: relative;
    z-index: 1;
    -webkit-transition: color 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: color 0.4s cubic-bezier(0.164, 0.84, 0.34, 1)
}

.globalHeader-link-primary .icon:after {
    position: absolute;
    display: block;
    content: '';
    top: 1px;
    left: 1px;
    width: 36px;
    height: 36px;
    background-color: #fff;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: transform 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: transform 0.3s cubic-bezier(0.164, 0.84, 0.34, 1), -webkit-transform 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
}

.globalHeader-link-primary a:hover .icon:before {
    color: #00bca3
}

.globalHeader-link-primary a:hover .icon:after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.globalHeader-link-primary-tel {
    pointer-events: none
}

.globalHeader-link-secondary {
    margin-bottom: 18px
}

.globalHeader-link-secondary li {
    margin-left: auto
}

.globalHeader-link-secondary li + li {
    margin-left: 30px
}

.globalHeader-link-secondary a {
    font-size: 13px;
    line-height: 1
}

.globalHeader-link-secondary .icon {
    color: #00bca3
}

.globalHeader-link-secondary a {
    -webkit-transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
}

.globalHeader-link-secondary a:before {
    margin-top: -4px;
    margin-right: .5em;
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #00bca3;
    font-size: 1rem;
    content: "\e904"
}

.globalHeader-link-secondary a:hover {
    opacity: .4
}

@media (min-width:68.8125em) {
    .globalHeader-top {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 80px;
        padding-right: 80px
    }

    .globalHeader-logo img {
        width: 93.5px
    }

    .globalHeader-logo-text {
        margin-left: 40px
    }

    .globalHeader-logo-text .catch-copy {
        font-size: 15px
    }

    .globalHeader-logo-text .site-name {
        font-size: 11px;
        margin-top: 8px
    }

}

@media (max-width:68.75em) {
    .globalHeader {
        position: fixed;
        z-index: 10;
        top: 0;
        left: 0;
        width: 100%;
        height: 65px;
        background-color: #fff;
        border-bottom: 1px solid #e3e3e3
    }

    .globalHeader-logo {
        margin-left: 20px;
        width: 280px;
        padding: 10px 0;
        text-align: center
    }

    .globalHeader-logo img {
        width: 60px
    }

    .globalHeader-logo-text .catch-copy {
        font-size: 11px;
        margin-left: 1em
    }

    .globalHeader-link,
    .globalHeader-logo-text .site-name {
        display: none
    }
}

@media (max-width:30em) {
    .globalHeader-logo-text .catch-copy {
        font-size: .7rem
    }
}

@media (max-width:20em) {
    .globalHeader-logo-text .catch-copy {
        font-size: .6rem
    }
}

.subNav .hide-in-subNav {
    display: none;
    visibility: hidden
}

@media (min-width:87.5625em) {
    .globalNav > ul > li > a {
        font-size: 15px
    }

    .globalNav .text {
        padding: 0 60px
    }
}

@media (max-width:87.5em) {
    .globalNav > ul > li {
        width: 16.6666%
    }

    .ie .globalNav > ul > li > a {
        font-size: 14px
    }

    .no-ie .globalNav > ul > li > a {
        font-size: 15px
    }

    .globalNav .text {
        padding: 0 0
    }
}

@media (min-width:68.8125em) {
    .globalNav {
        z-index: 5;
        background-color: #000
    }

    .globalNav > ul > li {
        position: relative
    }

    .globalNav > ul > li > a {
        display: block;
        position: relative;
        line-height: 1;
        color: #fff;
        text-align: center;
        white-space: nowrap
    }

    .globalNav .text > span {
        display: block
    }

    .globalNav > ul > li > a .text span span {
        display: block;
        position: relative
    }

    .globalNav .text:after {
        font-weight: bold
    }

    .globalNav {
        padding: 0 43px
    }

    .globalNav > ul {
        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;
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto
    }

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

    .no-ie .globalNav > ul > li > a {
        overflow: hidden
    }

    .globalNav .text {
        position: relative
    }

    .no-ie .globalNav .text {
        overflow-y: hidden
    }

    .globalNav .text:after,
    .globalNav .text span {
        -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
        transition: opacity 0.2s, -webkit-transform 0.2s;
        transition: transform 0.2s, opacity 0.2s;
        transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s
    }

    .globalNav .text span {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        font-weight: bold;
        opacity: 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }

    .globalNav .text:after {
        display: block;
        content: attr(data-text);
        font-size: 1em;
        font-weight: normal;
        text-align: center;
        color: #fff;
        opacity: 1;
        -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
        transition: opacity 0.2s, -webkit-transform 0.2s;
        transition: transform 0.2s, opacity 0.2s;
        transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s
    }

    .globalNav .current .text span,
    .globalNav > ul > li:hover .text span {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    .globalNav .current .text:after,
    .globalNav > ul > li:hover .text:after {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    .globalNav > ul > li > a:before {
        position: absolute;
        display: block;
        content: '';
        z-index: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 8px 8px 8px;
        border-color: transparent transparent #00bca3 transparent;
        opacity: 0;
        -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
        transition: opacity 0.2s, -webkit-transform 0.2s;
        transition: opacity 0.2s, transform 0.2s;
        transition: opacity 0.2s, transform 0.2s, -webkit-transform 0.2s
    }

    .no-ie .globalNav > ul > li > a:before {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
        -webkit-transform-origin: center;
        transform-origin: center
    }

    .globalNav > ul > li:nth-child(2) > a:before {
        border-color: transparent transparent #875fa9 transparent
    }

    .globalNav > ul > li:nth-child(3) > a:before {
        border-color: transparent transparent #e29d3a transparent
    }

    .globalNav > ul > li:nth-child(4) > a:before {
        border-color: transparent transparent #0b75e1 transparent
    }

    .globalNav > ul > li:nth-child(5) > a:before {
        border-color: transparent transparent #00b4d5 transparent
    }

    .globalNav > ul > li:nth-child(6) > a:before {
        border-color: transparent transparent #e9547e transparent
    }

    .globalNav .current > a:before,
    .globalNav > ul > li:hover > a:before {
        z-index: 1;
        opacity: 1
    }

    .no-ie .globalNav .current > a:before,
    .no-ie .globalNav > ul > li:hover > a:before {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    .subNav {
        position: absolute;
        z-index: -1;
        padding: 1em 0 1.25em;
        top: 100%;
        background-color: #00bca3;
        opacity: 0;
        -webkit-transition: opacity 0.2s, visibility 0.2s, -webkit-transform 0.2s;
        transition: opacity 0.2s, visibility 0.2s, -webkit-transform 0.2s;
        transition: transform 0.2s, opacity 0.2s, visibility 0.2s;
        transition: transform 0.2s, opacity 0.2s, visibility 0.2s, -webkit-transform 0.2s;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
        pointer-events: none;
        visibility: hidden
    }

    .ie .subNav {
        right: 0;
        left: 0;
        white-space: nowrap;
        margin-left: auto;
        margin-right: auto;
        min-width: 280px
    }

    .no-ie .subNav {
        width: 250px;
        left: calc(calc(100% - 250px) / 2)
    }

    .globalNav > ul > li:hover .subNav {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        pointer-events: auto;
        visibility: visible
    }

    .subNav:hover a {
        position: relative;
        opacity: .4
    }

    .globalNav > ul > li:nth-child(2) .subNav {
        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;
        left: calc(calc(100% - 490px) / 2);
        width: 490px;
        background-color: #875fa9
    }

    .globalNav > ul > li:nth-child(3) .subNav {
        background-color: #e29d3a
    }

    .globalNav > ul > li:nth-child(4) .subNav {
        background-color: #0b75e1
    }

    .globalNav > ul > li:nth-child(5) .subNav {
        background-color: #00b4d5
    }

    .globalNav > ul > li:nth-child(6) .subNav {
        background-color: #e9547e
    }

    .globalNav > ul > li:nth-child(2) .subNav > li {
        width: 50%
    }

    .subNav > li a {
        position: relative;
        display: block;
        font-weight: bold;
        letter-spacing: .01em;
        -webkit-transition: opacity 0.2s, color 0.2s;
        transition: opacity 0.2s, color 0.2s
    }

    .subNav > li a:hover {
        opacity: 1
    }

    .subNav > li a:before {
        position: absolute;
        display: block;
        content: '';
        z-index: 1;
        top: 15px;
        left: 12px;
        width: 6px;
        height: 2px;
        background-color: #fff;
        opacity: 0;
        -webkit-transition: opacity 0.2s;
        transition: opacity 0.2s
    }

    .subNav a:hover:before {
        opacity: 1
    }

    .subNav a {
        display: block;
        padding: 0 2.2em;
        color: #fff;
        font-size: 13px;
        overflow: hidden
    }

    .subNav a span {
        display: block;
        padding: .25em 0;
        opacity: 0;
        -webkit-transition: opacity 0s, -webkit-transform 0s;
        transition: opacity 0s, -webkit-transform 0s;
        transition: transform 0s, opacity 0s;
        transition: transform 0s, opacity 0s, -webkit-transform 0s;
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }

    .globalNav > ul > li:hover .subNav a span {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transition: opacity 0.2s 0.05s, -webkit-transform 0.2s 0.05s;
        transition: opacity 0.2s 0.05s, -webkit-transform 0.2s 0.05s;
        transition: transform 0.2s 0.05s, opacity 0.2s 0.05s;
        transition: transform 0.2s 0.05s, opacity 0.2s 0.05s, -webkit-transform 0.2s 0.05s
    }
}

@media (max-width:68.75em) {
    .globalNav {
        display: none;
        visibility: hidden
    }
}

.globalFooter {
    position: relative
}

.globalFooter .hide-in-footer {
    display: none;
    visibility: hidden
}

.globalFooter-contact {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../../assets/img/component/footer/bg-contact.jpg)
}

.globalFooter-contact-heading {
    color: #fff;
    font-weight: bold;
    text-align: center
}

.globalFooter-contact-buttonGroup {
    margin-top: 20px
}

.globalFooter-contact-button {
    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;
    height: 70px;
    border: 1px solid #00bca3;
    color: #00bca3;
    background-color: #fff;
    text-align: center
}

.globalFooter-contact-button span {
    display: block;
    color: #000;
    font-weight: bold;
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

.globalFooter-contact-button .icon {
    margin: -2px .5em 0 0;
    color: #00bca3;
    font-weight: normal;
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

.globalFooter-contact-button .number {
    font-size: 18px
}

.globalFooter-contact-button .number .icon {
    margin: -2px .2em 0 0
}

.globalFooter-contact-button .time {
    font-weight: normal
}

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

    .globalFooter-contact-button {
        width: 31.25%
    }
}

@media (max-width:68.75em) {
    .globalFooter-contact-heading span {
        display: none
    }

    .globalFooter-contact-buttonGroup {
        max-width: 70%;
        margin-left: auto;
        margin-right: auto
    }

    .globalFooter-contact-button {
        width: 100%
    }

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

@media (min-width:48.0625em) {

    .globalFooter-contact-button:hover .icon,
    .globalFooter-contact-button:hover span {
        color: #fff
    }

    .globalFooter-contact-button.tel {
        pointer-events: none
    }
}

@media (min-width:30.0625em) {
    .globalFooter-contact-heading {
        font-size: 22px;
        text-align: center
    }

    .globalFooter-contact-button .time {
        font-size: 12px
    }
}

@media (max-width:30em) {
    .globalFooter-contact-heading {
        font-size: 1.2rem
    }

    .globalFooter-contact-buttonGroup {
        max-width: 90%
    }

    .globalFooter-contact-button .time {
        font-size: 11px
    }
}

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

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

.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-box {
    border-top: 1px solid
}

.globalFooter-sitemap-box.about {
    border-top-color: #00bca3
}

.globalFooter-sitemap-box.ca {
    border-top-color: #875fa9
}

.globalFooter-sitemap-box.shikaku {
    border-top-color: #e29d3a
}

.globalFooter-sitemap-box.learn {
    border-top-color: #e9547e
}

.globalFooter-sitemap-box.business {
    border-top-color: #0b75e1
}

.globalFooter-sitemap-box.member {
    border-top-color: #00b4d5
}

.globalFooter-sitemap-box-heading {
    padding-top: 30px;
    padding-bottom: 5px
}

.globalFooter-sitemap-box-heading a {
    font-size: 15px;
    font-weight: bold
}

.globalFooter-sitemap-box-heading.about a {
    color: #00bca3
}

.globalFooter-sitemap-box-heading.ca a {
    color: #875fa9
}

.globalFooter-sitemap-box-heading.shikaku a {
    color: #e29d3a
}

.globalFooter-sitemap-box-heading.learn a {
    color: #e9547e
}

.globalFooter-sitemap-box-heading.business a {
    color: #0b75e1
}

.globalFooter-sitemap-box-heading.member a {
    color: #00b4d5
}

.globalFooter-sitemap-box-body a {
    font-size: 13px;
    line-height: 2;
    letter-spacing: 0
}

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

@media (min-width:87.5625em) {
    .globalFooter-sitemap-box {
        padding: 0 2%
    }
}

@media (max-width:87.5em) {
    .globalFooter-sitemap .inner {
        padding: 0 20px
    }

    .globalFooter-sitemap-box {
        padding: 0 10px
    }
}

@media (min-width:68.8125em) {
    .globalFooter-sitemap-box {
        width: 16.6666%
    }
}

@media (max-width:68.75em) {
    .globalFooter-sitemap-box {
        margin-bottom: 40px;
        width: 32%
    }
}

@media (max-width:48em) {
    .globalFooter-sitemap {
        display: none
    }
}

.globalFooter-info-pr {
    padding: 30px 0;
    border: solid #e3e3e3;
    border-width: 1px 0;
}

.info-pr-inner {
    display: flex;
    max-width: 820px;
    width: 100%;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
}

.globalFooter-info-pr a {
    /*display: block;*/
    /*text-align: center;*/
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

.coach-search {
    display: flex;
    align-items: center;
    width: calc(100% - 350px);
}

.media-bnr {
    max-width: 310px;
    width: 100%;
}

.globalFooter-info-pr a * {
    display: inline-block
}

.globalFooter-info-pr .logo {
    margin-right: 15px;
    /*padding: 0 9px;*/
    width: 180px;
    /*height: 50px;*/
    text-align: center;
    /*border: 1px solid #e3e3e3;*/
    /*line-height: 50px*/
}

.globalFooter-info-pr .logo img {
    display: block;
    width: 100%;
}

.globalFooter-info-pr .coach-search p {
    text-align: left;
    width: calc(100% - 215px);
    font-weight: 700;
    color: #666666;
    line-height: 1.3;
    letter-spacing: 1.3px;
}

.globalFooter-info-main {
    padding: 30px 0
}

.globalFooter-info-main .logo {
    width: 65px
}

.globalFooter-info-main .site-name {
    margin-bottom: 10px;
    font-weight: bold;
    line-height: 1
}

.globalFooter-info-main .link,
.globalFooter-info-main .link li {
    display: inline-block;
    vertical-align: middle;
    line-height: 1
}

.globalFooter-info-main .link li a {
    font-size: .9rem
}

.globalFooter-copy {
    font-size: .8rem;
    line-height: 1
}

@media (min-width:68.8125em) {
    .globalFooter-copy {
        position: absolute;
        right: 0;
        bottom: 4px
    }

    .globalFooter-info-main .link li a {
        padding-right: 1.5em
    }

    .globalFooter-info-main .link li + li a {
        padding-left: 1.5em
    }
}

@media (max-width:68.75em) {
    .globalFooter-copy {
        margin-top: 1em
    }

    .globalFooter-info-main .link li a {
        padding-right: 1em
    }

    .globalFooter-info-main .link li + li a {
        padding-left: 1em
    }

    .globalFooter-info-pr {
        padding: 30px 20px;
    }

    .info-pr-inner {
        text-align: center;
        display: block;
    }

    .coach-search {
        max-width: 472px;
        width: 100%;
        margin: 0 auto;
    }

    .globalFooter-info-pr a.media-bnr {
        display: block;
        margin: 20px auto 0;
        max-width: 310px;
        width: 100%;

    }


}

@media (min-width:48.0625em) {
    .globalFooter-info-pr a:hover {
        opacity: .6
    }

    .globalFooter-info-main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .globalFooter-info-main .body {
        position: relative;
        padding-left: 30px;
        width: calc(100% - 65px)
    }

    .globalFooter-info-main .link li + li {
        border-left: 1px solid #9ea2a2
    }

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

@media (max-width:48em) {
    .globalFooter-info-main {
        padding: 60px 0
    }

    .globalFooter-info-main .site-name,
    .globalFooter-info-pr {
        display: none
    }

    .globalFooter-info-main .body {
        padding-top: 20px;
        text-align: center
    }

    .globalFooter-info-main .logo {
        margin-left: auto;
        margin-right: auto
    }

    .globalFooter-info-main .link {
        margin-left: auto;
        margin-right: auto;
        max-width: 300px
    }

    .globalFooter-info-main .link li a {
        padding-right: 1em;
        line-height: 2.5
    }

    .globalFooter-info-main .link li a:before {
        margin-top: -4px;
        margin-right: .5em;
        display: inline-block;
        vertical-align: middle;
        font-family: 'jsc-icon' !important;
        speak: none;
        font-style: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #00bca3;
        font-size: 1rem;
        content: "\e904"
    }

    .globalFooter-info-main .link li + li a {
        padding-left: 1em
    }

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

    .globalFooter-info-main .media-bnr-sp {
        display: inline-block;
        max-width: 385px;
        width: 100%;
        margin: 30px auto 0;
    }
}

.pageTop {
    position: fixed;
    z-index: 1;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: opacity 0.4s, -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: opacity 0.4s, -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), opacity 0.4s;
    transition: transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), opacity 0.4s, -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1)
}

.pageTop.is-show {
    opacity: 1
}

.pageTop a {
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../../assets/img/component/footer/page-top.svg)
}

@media (min-width:68.8125em) {
    .pageTop.is-static {
        top: 290px
    }
}

@media (max-width:68.75em) {
    .pageTop.is-static {
        top: 420px
    }
}

@media (min-width:48.0625em) {
    .pageTop {
        width: 96px;
        height: 105px;
        padding: 24.5px 0
    }

    .pageTop.is-static {
        position: absolute
    }

    .pageTop a {
        width: 56px;
        height: 56px
    }
}

@media (max-width:48em) {
    .pageTop {
        width: 86px;
        height: 80px;
        padding: 17px 0
    }

    .pageTop.is-static {
        top: auto
    }

    .pageTop a {
        width: 46px;
        height: 46px
    }
}

.drawerMenu {
    position: fixed;
    z-index: 9;
    top: 1px;
    right: 0;
    height: 100%;
    background: #fff;
    overflow: hidden;
    visibility: hidden;
    -webkit-transition: visibility 0.4s, -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: visibility 0.4s, -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), visibility 0.4s;
    transition: transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), visibility 0.4s, -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll
}

.drawerMenu-inner {
    width: 100%
}

.drawerMenu-box {
    width: 100%
}

.drawerMenu-box:last-child {
    margin-bottom: 120px
}

.drawerMenu-box:last-child ul {
    border-bottom: 0
}

.drawerMenu-box-heading {
    position: relative;
    display: block;
    padding: .75em 0;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer
}

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

.drawerMenu-box-heading:after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 3;
    right: -17px;
    content: "＋";
    width: 3em;
    height: 3em;
    color: #00bca3;
    font-size: 1.1rem;
    font-weight: normal;
    line-height: 3em;
    text-align: center;
    cursor: pointer
}

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

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

.drawerMenu-box ul {
    padding: 0 0 1.5em;
    margin-bottom: 1.5em;
    border-bottom: 1px solid #e3e3e3
}

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

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

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

.drawerMenu-contact {
    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;
    margin-top: 8px
}

.drawerMenu-contact-button {
    position: relative;
    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;
    width: 48.5%;
    color: #fff;
    background: #00bca3;
    background: -webkit-gradient(linear, left top, right top, from(#00bca3), to(#79AF71));
    background: linear-gradient(to right, #00bca3, #79AF71);
    text-align: center
}

.drawerMenu-contact-button:before {
    position: absolute;
    display: block;
    content: '';
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    border: 1px solid #fff;
    background: #00bca3;
    background: -webkit-gradient(linear, left top, right top, from(#00bca3), to(#79AF71));
    background: linear-gradient(to right, #00bca3, #79AF71)
}

.drawerMenu-contact-button span {
    position: relative;
    z-index: 1;
    display: block;
    font-weight: bold
}

.drawerMenu-contact-button .icon {
    margin: -2px .5em 0 0;
    font-weight: normal;
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

.drawerMenu-sublink {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 15px
}

.drawerMenu-sublink li {
    width: 48.5%;
    padding-left: 2px
}

.drawerMenu-sublink a {
    font-size: 13px;
    line-height: 1
}

.drawerMenu-sublink .icon {
    color: #00bca3
}

.drawerMenu-sublink a:before {
    margin-top: -4px;
    margin-right: .5em;
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #00bca3;
    font-size: 1rem;
    content: "\e904"
}

.drawerMenuOverlay {
    position: fixed;
    z-index: 8;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(13, 136, 119, 0.6);
    opacity: 0;
    overflow: hidden;
    -webkit-transition: opacity 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), visibility 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: opacity 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), visibility 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
    pointer-events: none;
    visibility: hidden
}

@media (min-width:48.0625em) {
    .drawerMenu-contact-button:hover {
        opacity: .6
    }

    .drawerMenu-contact-button {
        -webkit-transition: opacity 0.2s;
        transition: opacity 0.2s
    }
}

@media (min-width:30.0625em) {
    .drawerMenu-contact-heading {
        font-size: 22px;
        text-align: center
    }

    .drawerMenu-contact-button {
        height: 60px
    }
}

@media (max-width:30em) {
    .drawerMenu-contact-heading {
        font-size: 1.2rem
    }

    .drawerMenu-contact-buttonGroup {
        max-width: 90%
    }

    .drawerMenu-contact-button {
        height: 48px
    }
}

@media (min-width:68.8125em) {

    .drawerMenu,
    .drawerMenuOverlay {
        display: none;
        opacity: 0
    }
}

@media (max-width:68.75em) {
    .drawerMenu {
        width: 400px
    }
}

@media (min-width:48.0625em) {
    .drawerMenu {
        padding: 100px 0
    }

    .drawerMenu-inner {
        padding: 0 30px
    }

    .drawerMenu-sublink a {
        -webkit-transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .drawerMenu-sublink a:hover {
        opacity: .4
    }
}

@media (max-width:48em) {
    .drawerMenu {
        padding: 75px 0;
        width: 70%
    }

    .drawerMenu-inner {
        padding: 0 20px
    }
}

@media (max-width:30em) {
    .drawerMenu {
        width: 74%
    }

    .drawerMenu-box ul li a {
        font-size: .9rem
    }
}

@media (max-width:30em) {

    .drawerMenu-box ul li a,
    .drawerMenu-contact-button,
    .drawerMenu-sublink a {
        font-size: .9rem
    }
}

@media (max-width:20em) {
    .drawerMenu {
        width: 85%
    }
}

.breadcrumbs {
    z-index: 1;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e3e3;
    background-color: #fff
}

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

.breadcrumbs-item + .breadcrumbs-item:before {
    margin: -3.5px .5em 0 .2em;
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1rem;
    content: "\e904"
}

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

.breadcrumbs-item a {
    font-size: 12px;
    color: #000
}

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

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

@media (min-width:40.0625em) {
    .breadcrumbs-item {
        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;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: -40px
    }

    .extraBoxGroup .extraBox {
        width: 47%;
        margin-bottom: 40px
    }
}

@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-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
    }
}

.extraBorderBox {
    clear: both;
    border: 1px solid;
    border-color: #e3e3e3
}

.pageContainer.about .extraBorderBox {
    border-color: #00bca3
}

.pageContainer.ca .extraBorderBox {
    border-color: #875fa9
}

.pageContainer.shikaku .extraBorderBox {
    border-color: #e29d3a
}

.pageContainer.learn .extraBorderBox {
    border-color: #e9547e
}

.pageContainer.business .extraBorderBox {
    border-color: #0b75e1
}

.pageContainer.member .extraBorderBox {
    border-color: #00b4d5
}

@media (min-width:40.0625em) {
    .extraBorderBox {
        padding: 3em 5em
    }
}

@media (max-width:40em) {
    .extraBorderBox {
        padding: 2.5em 1.5em
    }
}

.pageHeader {
    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;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url(../../assets/img/component/page/header-bg/other.jpg)
}

.pageHeader.about {
    background-image: url(../../assets/img/component/page/header-bg/about.jpg)
}

.pageHeader.ca {
    background-image: url(../../assets/img/component/page/header-bg/ca.jpg)
}

.pageHeader.shikaku {
    background-image: url(../../assets/img/component/page/header-bg/shikaku.jpg)
}

.pageHeader.learn {
    background-image: url(../../assets/img/component/page/header-bg/learn.jpg)
}

.pageHeader.business {
    background-image: url(../../assets/img/component/page/header-bg/business.jpg)
}

.pageHeader.member {
    background-image: url(../../assets/img/component/page/header-bg/member.jpg)
}

.pageHeader.pickup {
    background-image: url(../../assets/img/component/page/header-bg/pickup.jpg)
}

.pageHeader-title {
    position: relative;
    z-index: 1;
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    text-align: center
}

.pageBody,
.pageLead {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: opacity 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s, -webkit-transform 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s;
    transition: opacity 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s, -webkit-transform 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s;
    transition: transform 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s, opacity 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s;
    transition: transform 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s, opacity 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s, -webkit-transform 0.6s cubic-bezier(0.164, 0.84, 0.34, 1) 0.2s
}

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

@media (max-width:80em) {
    .pageHeader-title {
        font-size: 25px
    }
}

@media (min-width:48.0625em) {
    .pageHeader {
        height: 140px
    }

    .pageBody {
        padding-bottom: 160px
    }

    .pageLead {
        padding-top: 70px
    }
}

@media (max-width:48em) {
    .pageHeader {
        height: 140px
    }

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

    .pageLead {
        padding-top: 55px
    }

    .pageBody {
        padding-bottom: 60px
    }
}

@media (max-width:30em) {
    .pageHeader {
        height: 100px
    }

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

    .pageBody {
        padding-bottom: 100px
    }
}

.wp-pagenavi {
    position: relative;
    z-index: 3;
    text-align: center
}

.wp-pagenavi .current,
.wp-pagenavi a {
    font-size: 1.2em;
    display: inline-block;
    width: 38px;
    height: 38px;
    line-height: 36px;
    margin: 0 .3em;
    border: 1px solid;
    border-radius: 50%;
    -webkit-transition: 0.2s;
    transition: 0.2s
}

.wp-pagenavi a {
    border-color: #000;
    color: #000
}

.wp-pagenavi .current,
.wp-pagenavi a:hover {
    color: #fff;
    background: #000;
    border-color: #000
}

.wp-pagenavi .icon {
    vertical-align: -2%;
    font-size: .9rem
}

@media (min-width:30.0625em) {
    .wp-pagenavi {
        margin-top: 20px
    }
}

@media (max-width:30em) {
    .wp-pagenavi {
        margin-top: 50px
    }
}

@media (max-width:20em) {

    .wp-pagenavi .current,
    .wp-pagenavi a {
        width: 30px;
        height: 30px;
        line-height: 27px
    }
}

.section-subheading + .indexList {
    margin-top: -1em
}

.indexList + .section-subheading {
    margin-top: 3em
}

.indexList-box {
    border-bottom: 1px dotted #e3e3e3
}

.indexList-box-title a:before {
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: bold;
    content: "\e90a"
}

.indexList-box-title {
    font-weight: bold
}

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

.indexList-box-title + .list li a:before {
    margin: -3.5px .5em 0 0;
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1rem;
    content: "\e904"
}

.indexList-box-title + .list {
    line-height: 2;
    margin-top: 10px;
    margin-left: 2.2rem
}

.indexList-box-title + .list li:not([class]) a:not([class]) {
    color: #000;
    text-decoration: none
}

.pageContainer.about .indexList-box-title + .list li a:before,
.pageContainer.about .indexList-box-title a:before {
    color: #00bca3
}

.pageContainer.ca .indexList-box-title + .list li a:before,
.pageContainer.ca .indexList-box-title a:before {
    color: #875fa9
}

.pageContainer.shikaku .indexList-box-title + .list li a:before,
.pageContainer.shikaku .indexList-box-title a:before {
    color: #e29d3a
}

.pageContainer.learn .indexList-box-title + .list li a:before,
.pageContainer.learn .indexList-box-title a:before {
    color: #e9547e
}

.pageContainer.business .indexList-box-title + .list li a:before,
.pageContainer.business .indexList-box-title a:before {
    color: #0b75e1
}

.pageContainer.member .indexList-box-title + .list li a:before,
.pageContainer.member .indexList-box-title a:before {
    color: #00b4d5
}

.pickup .student-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pickup .student-list .student-box {
    width: 49%;
    background-color: #edf4f4;
    margin-bottom: 30px;
}

.pickup .student-list .student-box a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.pickup .student-list .student-box-thumb {
    position: relative;
    width: 190px;
    height: 170px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.pickup .student-list .stu-thumb01 {
    background-image: url(../../assets/img/page/pickup/img_stu_thumb01.jpg);
}

.pickup .student-list .stu-thumb02 {
    background-image: url(../../assets/img/page/pickup/img_stu_thumb02.jpg);
}

.pickup .student-list .student-box-thumb::before {
    z-index: 1;
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: -webkit-gradient(linear, left top, right top, from(#79AF71), to(#00bca3));
    background: linear-gradient(to right, #79AF71, #00bca3);
    opacity: 0;
    -webkit-transition: opacity 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
    transition: opacity 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
}

.pickup .student-list .hover-border:hover .student-box-thumb::before {
    opacity: 0.4;
}

.pickup .student-list .student-box-body {
    flex: 1;
    padding: 20px 25px;
}

.pickup .student-list .student-box-ttl {
    font-size: 17px;
    font-weight: bold;
    color: #00bca3;
    line-height: 1.4;
}

.pickup .student-list .student-box-txt {
    margin-top: 10px;
    font-size: 14px;
    color: #000000;
    line-height: 1.3;
}

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

.alumama-blk {
    background-color: #edf4f4;
    padding: 40px;
    margin-top: 70px;
}

.alumama-blk .alumama-ttl {
    font-size: 18px;
    padding-bottom: 20px;
    font-weight: bold;
}

.alumama-blk .alumama-ttl,
.alumama-blk .alumama-link {
    color: #00bca3;
}

.pickup .pickup-content {
    margin-top: 2em;
}

.pickup .list-blk {
    padding-top: 110px;
}

@media (min-width:80em) {
    .pickup .student-list {
        display: flex !important;
    }

    .pickup .student-list .student-box {
        width: 49% !important;
    }

    .pickup .student-list .student-box-body {
        flex: 1 !important;
    }
}

@media (min-width:48.0625em) {
    .indexList-column {
        width: 43.33333%
    }

    .indexList-box-title a {
        -webkit-transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .pageContainer.about .indexList-box-title a:hover {
        color: #00bca3
    }

    .pageContainer.ca .indexList-box-title a:hover {
        color: #875fa9
    }

    .pageContainer.shikaku .indexList-box-title a:hover {
        color: #e29d3a
    }

    .pageContainer.learn .indexList-box-title a:hover {
        color: #e9547e
    }

    .pageContainer.business .indexList-box-title a:hover {
        color: #0b75e1
    }

    .pageContainer.member .indexList-box-title a:hover {
        color: #00b4d5
    }

    .indexList-box-title + .list li a {
        -webkit-transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .indexList-box-title + .list li a:hover {
        opacity: .4
    }
}

@media (min-width:30.0625em) {
    .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.not-has-column {
        display: block
    }

    .indexList-column {
        width: 48%
    }

    .indexList.not-has-column .indexList-column {
        width: 100%
    }

    .indexList-box {
        padding: 18px 0
    }

    .indexList-box.not-has-border {
        border-bottom: 0
    }

    .indexList-box-title a {
        padding-left: 0
    }

    .indexList-box-title a:before {
        margin: -2px .5em 0 .2em;
        font-size: 1.2rem
    }
}

@media (max-width:48em) {

    .pickup .student-list .student-box-thumb {
        width: 40%;
        height: 29vw;
    }

    .pickup .student-list .student-box {
        width: 100%;
    }

    .pickup .indexList-box-title {
        font-size: 15px;
    }

    .pickup .student-list .student-box-thumb::before {
        content: none;
    }

    .pickup .student-list .hover-border:hover .student-box-thumb::before {
        opacity: 0;
    }

    .alumama-blk {
        padding: 25px;
        margin-top: 50px;
    }

    .alumama-blk .alumama-ttl {
        font-size: 14px;
        padding-bottom: 10px;
    }

    .pickup .list-blk {
        padding-top: 50px;
    }
}

@media (max-width:30em) {
    .indexList-box {
        padding: 12px 0
    }

    .indexList-box.not-has-border {
        border-bottom: 1px dotted #e3e3e3
    }

    .indexList-column:last-child .indexList-box.not-has-border:last-child {
        border-bottom: 0
    }

    .indexList-box-title a:before {
        margin: -2px .7em 0 .2em;
        font-size: 1.1rem
    }

    .pickup .student-list {
        display: block;
    }

    .pickup .student-list .student-box {
        width: 100%;
        margin-bottom: 20px;
    }

    .pickup .student-list .student-box-body {
        padding: 20px;
    }

    .pickup .student-list .student-box-ttl {
        font-size: 15px;
    }

    .pickup .student-list .student-box-txt {
        font-size: 12px;
    }
}

.scheduleList-box + .scheduleList-box {
    border-top: 1px dotted;
    border-color: #e3e3e3
}

.scheduleList-box + .scheduleList-box a {
    padding-top: 25px
}

.scheduleList-box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    padding-bottom: 25px
}

.scheduleList-box-status {
    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;
    width: 66px;
    height: 66px;
    text-align: center;
    border-radius: 50%;
    color: #fff;
    font-weight: bold;
    line-height: 1.25;
    background-color: #00bca3
}

.scheduleList-box-status.early-discount {
    background-color: #e9547e
}

.scheduleList-box-status.close {
    background-color: #909090
}

.scheduleList-box-status.accepting {
    background-color: #00bca3
}

.scheduleList-box-status.suspend {
    background-color: #875fa9
}

.scheduleList-box-status.ready {
    background-color: #00b4d5
}

.scheduleList-box-status.full {
    background-color: #e29d3a
}

.scheduleList-box-status.close-soon {
    background-color: #875fa9
}

.scheduleList-box-status.few {
    background-color: #e9547e
}

.scheduleList-box-title {
    font-size: 1.28rem;
    font-weight: bold
}

.scheduleList-box-title + p {
    font-size: 1rem
}

.scheduleList-box-body {
    margin-left: auto;
    width: calc(100% - 80px)
}

.scheduleList.not-has-button .button {
    display: none
}

@media (min-width:48.0625em) {
    .scheduleList-box a {
        padding-right: 180px
    }

    .scheduleList-box a:hover .scheduleList-box-title {
        text-decoration: underline
    }

    .scheduleList-box .button {
        position: absolute;
        right: 0;
        bottom: 20px
    }
}

@media (max-width:48em) {
    .scheduleList-box .button {
        display: none
    }
}

@media (max-width:30em) {
    .scheduleList-box-title {
        font-size: 1rem
    }
}

.postList-box + .postList-box {
    border-top: 1px dotted;
    border-color: #e3e3e3
}

.postList-box + .postList-box a {
    padding-top: 25px
}

.postList-box a {
    display: block;
    padding-bottom: 25px;
    overflow: hidden
}

.frontTopics-news .postList-box-category {
    display: none;
}

.postList-box-category {
    display: inline-block;
    padding: 0 1.4em;
    background-color: #000;
    color: #fff
}

.postList-box-title {
    margin-top: .75em;
    font-size: 1rem
}

.postList.not-has-button .button {
    display: none
}

@media (min-width:68.8125em) {
    .postList-box .button {
        margin-top: 20px;
        float: right
    }
}

@media (max-width:68.75em) {
    .postList-box .button {
        display: none
    }
}

@media (min-width:48.0625em) {
    .postList-box a:hover .postList-box-title {
        text-decoration: underline
    }
}

@media (max-width:30em) {
    .postList-box-category {
        padding: 2px 1.4em;
        font-size: .9rem
    }

    .postList-box-title {
        font-size: 1rem
    }
}

.postDetail-header-category {
    display: inline-block;
    margin-bottom: .8em;
    padding: 5px 1.25em 6px;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    background-color: #000
}

.postDetail-header-meta {
    font-size: 12px
}

.postDetail-header-tag .icon,
.postDetail-header-tag ul,
.postDetail-header-tag ul li {
    display: inline-block;
    vertical-align: middle
}

.postDetail-header-date {
    letter-spacing: 0;
    line-height: 1
}

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

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

.postDetail img {
    margin-bottom: 1.5em
}

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

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

.postDetail .arrow-link,
.postDetail .arrow-link.popup {
    display: inline-block;
    color: #00bca3;
    font-weight: bold;
    line-height: 2.5;
    text-decoration: underline
}

.postDetail .arrow-link .icon,
.postDetail .arrow-link.popup .icon {
    margin: -2px .5em 0 0
}

.postDetail .arrow-link.popup:hover,
.postDetail .arrow-link:hover {
    text-decoration: none
}

.postDetail .arrow-link:first-of-type {
    margin-top: 1em
}

@media (min-width:48.0625em) {
    .postDetail-header-category {
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s
    }

    .postDetail-header-category:hover {
        opacity: .6
    }
}

@media (min-width:30.0625em) {
    .postDetail-header-meta {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .postDetail-header-title {
        font-size: 22px
    }

    .postDetail-header-date {
        letter-spacing: 0;
        line-height: 1
    }
}

@media (max-width:30em) {
    .postDetail-header-category {
        padding-top: 6px;
        font-size: .8rem;
        text-align: center
    }

    .postDetail-header-date {
        margin-bottom: 1em;
        display: block
    }
}

@media (max-width:20em) {
    .postDetail-header-category {
        width: 50%
    }
}

.postSns {
    margin-top: 50px;
    padding: 50px 0;
    border-top: 1px solid #e3e3e3;
    text-align: center
}

.postSns-heading {
    margin-bottom: 1.5em
}

.postSns-heading span {
    line-height: 1
}

.postSns-heading span:first-child {
    display: inline-block;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 2px solid #000;
    font-weight: 700;
    text-transform: capitalize
}

.postSns-heading span:last-child {
    display: block;
    letter-spacing: .1em
}

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

.postSns-item {
    display: inline-block;
    margin: 0 .5em
}

.postSns a {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    font-size: 24px
}

.postSns a .icon {
    position: relative;
    z-index: 1;
    color: #000
}

@media (min-width:48.0625em) {
    .postSns-heading span:first-child {
        font-size: 24px
    }

    .postSns-heading span:last-child {
        font-size: 12px
    }

    .postSns a .icon {
        -webkit-transition: color 0.4s;
        transition: color 0.4s
    }

    .postSns a:before {
        display: block;
        content: '';
        position: absolute;
        z-index: 0;
        top: -1px;
        left: -3px;
        right: 0;
        width: 45px;
        height: 45px;
        margin-left: auto;
        margin-right: auto;
        border-radius: 50%;
        background-color: #e3e3e3;
        opacity: 0;
        -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
        transition: opacity 0.3s, -webkit-transform 0.3s;
        transition: opacity 0.3s, transform 0.3s;
        transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
        -webkit-transform: scale(0);
        transform: scale(0);
        -webkit-transform-origin: center;
        transform-origin: center
    }

    .postSns a:hover:before {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    .postSns a:hover .icon {
        color: #000
    }
}

@media (max-width:48em) {
    .postSns-heading span:first-child {
        font-size: 1.5rem
    }

    .postSns-heading span:last-child {
        font-size: 11px
    }
}

.postNav {
    border-top: 1px solid #e3e3e3;
    overflow: hidden
}

.postNav a {
    display: block;
    padding-top: 50px
}

.postNav-heading,
.postNav-title {
    position: relative;
    z-index: 1
}

.postNav-heading {
    font-weight: bold;
    line-height: 1
}

.postNav-heading span {
    padding-bottom: 2px;
    white-space: nowrap;
    position: relative;
    overflow: hidden
}

.postNav-title {
    margin-top: 1em;
    color: #888;
    line-height: 1.8
}

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

.postNav-next {
    float: right
}

.postNav-prev {
    float: left
}

.postNav-next a {
    padding-left: 8%;
    text-align: right
}

.postNav-prev a {
    padding-right: 8%;
    text-align: left
}

.postNav .icon {
    color: #000;
    font-weight: bold
}

.postNav-next .icon {
    margin-left: .75em
}

.postNav-prev .icon {
    margin-right: .75em
}

@media (min-width:30.0625em) {

    .postNav-heading,
    .postNav-title {
        -webkit-transition: color 0.4s;
        transition: color 0.4s
    }

    .postNav a:hover .postNav-heading {
        color: #000
    }

    .postNav a:hover .postNav-title {
        color: #000
    }
}

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

    .postNav-title {
        font-size: .88rem
    }
}

.pageContainer .usersVoice:after,
.pageContainer .usersVoice:before {
    display: block;
    content: ''
}

.pageContainer .usersVoice:before {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

.usersVoice-box {
    background-color: #fff
}

.usersVoice-box a {
    display: block;
    height: 100%
}

.usersVoice-box-body {
    padding: 20px
}

.usersVoice-box-title {
    font-weight: bold;
    line-height: 1.6
}

.usersVoice-box-title {
    font-size: 1.14rem
}

.usersVoice-box-name {
    margin-top: .25em;
    font-size: 1rem
}

.usersVoice-box-more {
    margin-top: .75em;
    color: #00bca3;
    text-align: right
}

.usersVoice-box-more:before {
    margin: -3.5px .5em 0 .2em;
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1.1rem;
    content: "\e904"
}

@media (min-width:68.8125em) {

    .pageContainer .usersVoice:after,
    .pageContainer .usersVoice:before {
        width: 23.26389%
    }

    .usersVoice-box {
        width: 23.26389%
    }
}

@media (max-width:68.75em) {

    .pageContainer .usersVoice:after,
    .pageContainer .usersVoice:before {
        width: 32%
    }

    .usersVoice-box {
        width: 32%
    }

    .usersVoice-box:last-child {
        display: none
    }

    .usersVoice-box-title span {
        font-size: 1rem
    }
}

@media (min-width:48.0625em) {
    .usersVoice {
        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
    }

    .pageContainer .usersVoice-box {
        margin-bottom: 20px
    }

    .usersVoice-box-thumb {
        position: relative;
        -webkit-transition: -webkit-filter 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: -webkit-filter 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: filter 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: filter 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), -webkit-filter 0.4s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .usersVoice-box a:hover .usersVoice-box-thumb {
        -webkit-filter: brightness(120%);
        filter: brightness(120%)
    }

    .usersVoice-box-thumb:before {
        z-index: 1;
        position: absolute;
        display: block;
        content: '';
        bottom: 0;
        right: 0;
        width: 100%;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .usersVoice-box-thumb:before {
        height: 100%;
        background: -webkit-gradient(linear, left top, right top, from(#79AF71), to(#00bca3));
        background: linear-gradient(to right, #79AF71, #00bca3);
        opacity: 0;
        -webkit-transition: opacity 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: opacity 0.4s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .usersVoice-box a:hover .usersVoice-box-thumb:before {
        opacity: .4
    }

    .pageContainer .usersVoice-box-body {
        padding: 20px 0
    }
}

@media (max-width:48em) {
    .usersVoice-box {
        width: 100%
    }

    .usersVoice-box + .usersVoice-box {
        margin-top: 20px
    }

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

    .usersVoice-box-body,
    .usersVoice-box-thumb {
        display: table-cell;
        vertical-align: middle
    }

    .usersVoice-box-thumb {
        width: 40%
    }

    .usersVoice-box-body {
        padding: 1.25rem
    }

    .pageContainer .usersVoice-box-body {
        padding: 0 1.25rem
    }

    .usersVoice-box-more {
        display: none
    }
}

@media (max-width:20em) {

    .usersVoice-box-body,
    .usersVoice-box-thumb {
        display: block
    }

    .usersVoice-box-thumb {
        width: 100%
    }
}

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

.icon-gear:before {
    content: "\e902"
}

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

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

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

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

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

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

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

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

.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-pdf:before {
    content: "\e900"
}

.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-map-pin:before {
    content: "\e91a"
}

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

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

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

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

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

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

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

.icon-black {
    color: #000
}

.icon-blue {
    color: #0b75e1
}

.icon-green {
    color: #00bca3
}

.icon-pink {
    color: #e9547e
}

.icon-white {
    color: #fff
}

.icon-grey {
    color: #e3e3e3
}

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

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

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

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

.section-heading,
.section-title {
    position: relative;
    padding-top: 2px;
    padding-left: 27px;
    border-left: solid #000
}

.section-title + * {
    margin-top: 30px
}

.section-heading:before,
.section-title:before {
    position: absolute;
    display: block;
    content: '';
    z-index: 1;
    top: 0;
    height: 6px;
    background-color: #00bca3
}

.section-subttl {
    padding-left: 0;
    border-left: none;
}

.section-subttl::before {
    content: none;
}

.pageContainer.ca .section-heading:before,
.pageContainer.ca .section-title:before {
    background-color: #875fa9
}

.pageContainer.shikaku .section-heading:before,
.pageContainer.shikaku .section-title:before {
    background-color: #e29d3a
}

.pageContainer.learn .section-heading:before,
.pageContainer.learn .section-title:before {
    background-color: #e9547e
}

.pageContainer.business .section-heading:before,
.pageContainer.business .section-title:before {
    background-color: #0b75e1
}

.pageContainer.member .section-heading:before,
.pageContainer.member .section-title:before {
    background-color: #00b4d5
}

.section-title span {
    display: block
}

.section-title .en {
    font-family: 'Pathway Gothic One', sans-serif;
    line-height: 1;
    letter-spacing: .15em;
    text-transform: uppercase
}

.section-title .ja {
    margin-top: .75em;
    line-height: 1.6
}

.section-heading {
    font-weight: bold
}

.section-heading {
    font-size: .7em;
    padding-left: 1em
}

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

.section-heading span {
    font-size: .7em
}

.section-subheading {
    font-weight: bold;
    padding-bottom: 5px;
    margin-bottom: 1em;
    border-bottom: 1px dotted
}

.list-blk .section-subheading {
    border: none;
}

.section-subheading.border-none {
    margin-top: 1.5em !important;
    padding-bottom: 0px;
    border-bottom: none;
}

.section-subheading.border-none.mt0 {
    margin-top: 0 !important;
}

.section-subheading.border-none:before {
    content: none;
}

.pageContainer.about .section-subheading {
    border-color: #00bca3;
    color: #00bca3
}

.pageContainer.ca .section-subheading {
    border-color: #875fa9;
    color: #875fa9
}

.pageContainer.shikaku .section-subheading {
    border-color: #e29d3a;
    color: #e29d3a
}

.pageContainer.learn .section-subheading {
    border-color: #e9547e;
    color: #e9547e
}

.pageContainer.business .section-subheading {
    border-color: #0b75e1;
    color: #0b75e1
}

.pageContainer.member .section-subheading {
    border-color: #00b4d5;
    color: #00b4d5
}

.pickup .section-subheading {
    border-color: #8f8f8f;
    color: #8f8f8f
}

.section-subheading:before {
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e902";
    font-weight: normal
}

.list-blk .section-subheading:before {
    content: none;
}

.pageContainer.about .section-subheading,
.pageContainer.about .section-subheading:before {
    color: #00bca3
}

.pageContainer.ca .section-subheading,
.pageContainer.ca .section-subheading:before {
    color: #875fa9
}

.pageContainer.shikaku .section-subheading,
.pageContainer.shikaku .section-subheading:before {
    color: #e29d3a
}

.pageContainer.learn .section-subheading,
.pageContainer.learn .section-subheading:before {
    color: #e9547e
}

.pageContainer.business .section-subheading,
.pageContainer.business .section-subheading:before {
    color: #0b75e1
}

.pageContainer.member .section-subheading,
.pageContainer.member .section-subheading:before {
    color: #00b4d5
}

.pickup .section-subheading,
.pickup .section-subheading:before {
    color: #724250
}

.pickup .list-blk .section-subheading {
    color: #00bca3;
}

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

.table + .section-subheading,
table:not([class]) + .section-subheading {
    margin-top: 3em
}

@media (min-width:48.0625em) {

    .section-heading,
    .section-title {
        padding-left: 24px;
        border-left-width: 4px
    }

    .section-heading:before,
    .section-title:before {
        left: -4px;
        width: 4px
    }

    .section-title .en {
        font-size: 44px
    }

    .section-title .ja {
        font-size: 1rem
    }

    .section-heading span {
        display: inline-block;
        vertical-align: middle;
        margin-top: -2px;
        padding-left: 1em
    }
}

@media (max-width:48em) {

    .section-heading,
    .section-title {
        padding-left: 15px;
        border-left-width: 3px
    }

    .section-heading:before,
    .section-title:before {
        left: -3px;
        width: 3px
    }

    .section-subttl {
        padding-left: 0;
    }

    .section-title .en {
        font-size: 34px
    }

    .section-title .ja {
        font-size: .9rem
    }

    .section-heading span {
        display: block
    }
}

@media (min-width:30.0625em) {
    .section-heading {
        font-size: 28px;
        margin-bottom: 30px
    }

    .section-subttl {
        font-size: 20px;
        border-left: none;
        padding-left: 0;
    }

    .section-subttl::before {
        content: none;
    }

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

    .section-subheading {
        font-size: 20px
    }

    .section-subheading:before {
        margin: -3.5px .4em 0 .0;
        font-size: 1.4rem
    }
}

@media (max-width:30em) {
    .section-heading {
        font-size: 1.25rem;
        margin-bottom: 1em
    }

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

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

    .section-subheading:before {
        margin: -2px .5em 0 0;
        font-size: 1.4rem
    }
}

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: #ea1f23
}

.text-green {
    color: #2dc4a9
}

.text-grey {
    color: #6f748f
}

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

.text-red {
    color: #ea1f23
}

.text-white {
    color: #fff
}

.text-underline {
    text-decoration: underline !important
}

.text-underline:hover {
    opacity: .4
}

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

.sans-serif {
    font-family: 'Pathway Gothic One', sans-serif
}

.inline-block {
    display: inline-block
}

.status {
    display: inline-block;
    font-size: .9rem;
    padding: 0 .6em;
    color: #fff;
    line-height: 1.7
}

.status.close {
    background-color: #909090
}

.status.accepting {
    background-color: #00bca3
}

.status.suspend {
    background-color: #875fa9
}

.status.ready {
    background-color: #00b4d5
}

.status.full {
    background-color: #e29d3a
}

.status.ofsl {
    background-color: #e7577f
}

.status.close-soon {
    background-color: #875fa9
}

.status.few {
    background-color: #0b75e1
}

@media (min-width:80.0625em) {
    .text-left-pc {
        text-align: left
    }

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

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

@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.5em
}

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

.pageContainer.about .list-disc > li {
    color: #00bca3
}

.pageContainer.ca .list-disc > li {
    color: #875fa9
}

.pageContainer.shikaku .list-disc > li {
    color: #e29d3a
}

.pageContainer.learn .list-disc > li {
    color: #e9547e
}

.pageContainer.business .list-disc > li {
    color: #0b75e1
}

.pageContainer.member .list-disc > li {
    color: #00b4d5
}

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

.training-list {
    padding-left: 0;
}

.training-list li {
    list-style: none;
    margin-bottom: 20px;
    line-height: 2.5;
}

.training-list .list-cat span {
    font-weight: 400;
    font-size: 16px;
    color: #875fa8;
    border: 1px solid #875fa8;
    padding: 4px 33px;
    border-radius: 14px;
    margin-right: 8px;
    display: inline-block;
    line-height: 1.3;
}

.pageContainer.business .list-disc.reset > li a,
.pageContainer.ca .list-disc.reset > li a,
.pageContainer.learn .list-disc.reset > li a,
.pageContainer .list-disc.reset > li a,
.pageContainer.member .list-disc.reset > li a,
.pageContainer.shikaku .list-disc.reset > li a {
    color: #000;
    text-decoration: none
}

.pageContainer.business .list-disc.reset > li a:hover,
.pageContainer.ca .list-disc.reset > li a:hover,
.pageContainer.learn .list-disc.reset > li a:hover,
.pageContainer .list-disc.reset > li a:hover,
.pageContainer.member .list-disc.reset > li a:hover,
.pageContainer.shikaku .list-disc.reset > li a:hover {
    text-decoration: underline
}

.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-slash > li {
    display: inline-block
}

.list-slash > li:after {
    content: '/';
    padding: 0 5px
}

.list-slash > li:last-child:after {
    content: none
}

.button {
    position: relative;
    display: inline-block;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #00bca3;
    color: #00bca3;
    cursor: pointer;
    text-align: center;
    border-radius: 30px;
    background-color: #fff
}

.pageContainer .button {
    width: 350px
}

.pageContainer.ca .button {
    color: #875fa9;
    border-color: #875fa9
}

.pageContainer.shikaku .button {
    color: #e29d3a;
    border-color: #e29d3a
}

.pageContainer.learn .button {
    color: #e9547e;
    border-color: #e9547e
}

.pageContainer.business .button {
    color: #0b75e1;
    border-color: #0b75e1
}

.pageContainer.member .button {
    color: #00b4d5;
    border-color: #00b4d5
}

.button span:not([class]) {
    display: block;
    position: relative;
    z-index: 1
}

.button .icon {
    display: inline-block;
    vertical-align: middle;
    margin: -2px .5em 0 0
}

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

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

.button-md {
    font-size: 1.1rem
}

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

.buttonGroup {
    text-align: center
}

.anch {
    display: block;
    height: 0;
    margin-top: 0;
    visibility: hidden;
}

@media (max-width:68.75em) {
    .buttonGroup .button + .button {
        margin-top: .5em
    }

    .anch {
        height: 30px;
        margin-top: -30px;
    }
}

@media (min-width:48.0625em) {
    .button {
        -webkit-transition: color 0.2s, background-color 0.2s;
        transition: color 0.2s, background-color 0.2s
    }

    .button:hover {
        color: #fff;
        background-color: #00bca3
    }

    .pageContainer.ca .button:hover {
        color: #fff;
        background-color: #875fa9
    }

    .pageContainer.shikaku .button:hover {
        color: #fff;
        background-color: #e29d3a
    }

    .pageContainer.learn .button:hover {
        color: #fff;
        background-color: #e9547e
    }

    .pageContainer.business .button:hover {
        color: #fff;
        background-color: #0b75e1
    }

    .pageContainer.member .button:hover {
        color: #fff;
        background-color: #00b4d5
    }

    .buttonGroup .button {
        margin-left: .75em;
        margin-right: .75em
    }
}

@media (min-width:30.0625em) {
    .button {
        padding: .8em 3em
    }

    .pageContainer .button {
        padding: .8em 1em
    }

    .button-sm {
        padding: .3em 3em
    }

    .pageContainer .button-sm {
        padding: .3em 1em
    }
}

@media (max-width:30em) {
    .button {
        display: block;
        padding: .75em 0;
        width: 90%
    }

    .button-sm {
        padding: .3em 0
    }

    .buttonGroup .button + .button {
        margin-top: 15px
    }
}

@media (min-width:20.0625em) {
    .pageContainer .button {
        max-width: 90%
    }
}

@media (max-width:20em) {
    .pageContainer .button {
        max-width: 100%
    }
}

.has-hover-grad span:not([class]) {
    display: block;
    position: relative;
    z-index: 1
}

@media (min-width:48.0625em) {
    .has-hover-grad {
        position: relative;
        -webkit-transition: color 0.3s;
        transition: color 0.3s
    }

    .has-hover-grad:hover,
    a:hover .has-hover-grad {
        color: #fff
    }

    .has-hover-grad:before {
        position: absolute;
        display: block;
        content: '';
        z-index: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #00bca3;
        background: -webkit-gradient(linear, left top, right top, from(#79AF71), to(#00bca3));
        background: linear-gradient(to right, #79AF71, #00bca3);
        opacity: 0;
        -webkit-transition: opacity 0.2s;
        transition: opacity 0.2s
    }

    .has-hover-grad:hover:before,
    a:hover .has-hover-grad:before {
        opacity: 1
    }
}

@media (min-width:48.0625em) {
    .hover-border {
        position: relative
    }

    .hover-border:before {
        z-index: 1;
        position: absolute;
        display: block;
        content: '';
        bottom: 0;
        right: 0;
        width: 100%;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        height: 3px;
        background: #00bca3;
        background: -webkit-gradient(linear, left top, right top, from(#79AF71), to(#00bca3));
        background: linear-gradient(to right, #79AF71, #00bca3);
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: right;
        transform-origin: right;
        -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1), -webkit-transform 0.4s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .hover-border:hover:before {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

.img-center {
    display: block;
    margin: auto;
    text-align: center
}

.img-wrapper {
    position: relative;
    overflow: hidden
}

@media (min-width:80.0625em) {
    .img-w400 {
        width: 400px
    }

    .img-w500 {
        width: 500px
    }
}

@media (max-width:80em) {
    .img-w400 {
        width: 40%
    }

    .img-w500 {
        width: 50%
    }
}

@media (min-width:48.0625em) {
    .img-left {
        float: left;
        margin: 0 2.5em 2em 0
    }

    .pickup .clf .subheading-img {
        margin-bottom: 35px;
    }

    .img-right {
        float: right;
        margin: 0 0 2.5em 2em
    }

    .msg-img-right {
        float: unset;
        margin: 2.5em 0 2.5em auto;
    }

    .img-honka-kouza {
        margin: 2.5em 0 0 2em;
    }
}

@media (max-width:48em) {

    .img-left,
    .img-right {
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2em;
        text-align: center
    }

    .msg-img-right {
        margin-top: 2em;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2em;
    }

    .img-w400,
    .img-w500 {
        width: 100%
    }

}

table {
    width: 100%
}

table + table {
    margin-top: 4em
}

table caption {
    font-weight: bold;
    text-align: left;
    margin-bottom: .5em
}

.td-grey,
.th-grey {
    background: #e7e8ee
}

.td-green,
.th-green {
    background: #00bca3
}

.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 {
    border-top: 3px solid;
    border-top-color: #00bca3
}

.pageContainer.ca .table-bordered {
    border-top-color: #875fa9
}

.pageContainer.shikaku .table-bordered {
    border-top-color: #e29d3a
}

.pageContainer.learn .table-bordered {
    border-top-color: #e9547e
}

.pageContainer.business .table-bordered {
    border-top-color: #0b75e1
}

.pageContainer.member .table-bordered {
    border-top-color: #00b4d5
}

.table-bordered td,
.table-bordered th {
    border: 1px solid #ccc
}

.table-bordered th {
    font-weight: bold;
    text-align: left;
    min-width: 7em;
    background-color: #ebebeb
}

@media (min-width:40.0625em) {
    .table-bordered {
        border-collapse: collapse
    }

    table td,
    table th {
        padding: 1.2em 2em
    }

    .table-bordered th {
        width: 30%
    }

    .table-bordered td {
        width: 70%
    }

    .table-multiple td,
    .table-multiple th {
        width: 50%
    }

    .table-multiple.column3 td,
    .table-multiple.column3 th {
        width: auto
    }
}

@media (max-width:40em) {
    table th {
        padding: 1em 1.25em
    }

    table td {
        padding: 1.4em 1.25em
    }

    .table-responsive td,
    .table-responsive th {
        display: block
    }

    .table-bordered th {
        border-width: 1px
    }

    .table-bordered td {
        border-width: 1px
    }

    .table-bordered.table-responsive td {
        border-width: 0 1px
    }

    .table-bordered.table-responsive {
        border-bottom: 1px solid #ccc
    }

    .table-multiple td,
    .table-multiple th {
        width: 50%
    }
}

.inner {
    position: relative;
    margin-left: auto;
    margin-right: auto
}

.inner-default {
    max-width: 1440px
}

.inner-lg {
    max-width: 1600px
}

.inner-sm {
    max-width: 1280px
}

.inner-xs {
    max-width: 1120px
}

.inner-xxs {
    max-width: 960px
}

@media (min-width:40.0625em) {
    .tb-blank {
        padding-top: 80px;
        padding-bottom: 80px
    }

    .t-blank {
        padding-top: 80px
    }

    .b-blank {
        padding-bottom: 80px
    }

    .left-blank {
        padding-left: 80px
    }

    .right-blank {
        padding-right: 80px
    }

    .inside-blank {
        padding-right: 80px;
        padding-left: 80px
    }

    .side-blank {
        margin-right: 80px;
        margin-left: 80px
    }
}

@media (max-width:40em) {
    .tb-blank {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .t-blank {
        padding-top: 60px
    }

    .b-blank {
        padding-bottom: 60px
    }

    .left-blank {
        padding-left: 20px
    }

    .right-blank {
        padding-right: 20px
    }

    .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-white {
    background-color: #fff
}

.bg-grey {
    background-color: #e3e3e3
}

.bg-green {
    background-color: #00bca3
}

.bg-light-green {
    background-color: #edf4f4
}

.clf {
    *zoom: 1
}

.clf:after,
.clf:before {
    line-height: 0;
    display: table;
    content: ''
}

.clf:after {
    clear: both
}

@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
}

.mainVisual {
    position: relative;
    width: 100%;
    height: 400px;
    border-bottom: 1px solid #e3e3e3;
    overflow: hidden
}

.mainVisual-img-items {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%
}

.mainVisual-img {
    height: 300px;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 400px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

.mainVisual-text {
    position: relative;
    z-index: 1;
    font-weight: bold
}

.mainVisual-text span {
    display: block
}

.mainVisual-text .catch-copy {
    line-height: 1.3
}

.mainVisual-text .site-name {
    margin-top: 1em;
    line-height: 1
}

.mainVisual-text .anniversary {
    line-height: 1;
    color: #888;
    margin-bottom: 0.5em;
}

.mainVisual-text .anniversary span {
    display: inline !important;
}

.mainVisual-button {
    display: inline-block;
    position: relative;
    z-index: 1;
    height: 40px;
    background-color: #00bca3;
    color: #fff;
    font-weight: bold;
    line-height: 40px;
    overflow: hidden
}

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

.mainVisual-button .icon {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 18px
}

@media (min-width:48.0625em) {
    .mainVisual {
        padding: 43px 0 0 160px
    }

    .mainVisual-img {
        background-position: center
    }

    .mainVisual-img1 {
        background-position: top right;
        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)
    }

    .mainVisual-text {
        padding-bottom: 40px
    }

    .mainVisual-text .catch-copy {
        font-size: 54px
    }

    .mainVisual-text .site-name {
        font-size: 20px
    }

    .mainVisual-text .anniversary {
        font-size: 22px;
    }

    .mainVisual-text .anniversary span {
        font-size: 30px;
    }

    .mainVisual-button {
        width: 224px;
        padding-left: 28px;
        -webkit-transition: color 0.3s;
        transition: color 0.3s
    }

    .mainVisual-button + .mainVisual-button {
        margin-left: 20px
    }
}

@media screen and (max-width:55.6em) and (min-width:48em) {
    .pickup .student-list {
        flex-direction: column;
    }

    .pickup .student-list .student-box {
        width: 100%;
    }
}

@media (max-width:48em) {
    .mainVisual {
        padding: 70px 6% 70px
    }

    .mainVisual-img {
        background-position: right
    }

    .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-text {
        padding-bottom: 30px
    }

    .mainVisual-text .catch-copy {
        font-size: 44px
    }

    .mainVisual-text .site-name {
        font-size: 1rem
    }

    .mainVisual-text .anniversary {
        font-size: 1.2rem;
        text-shadow: 1px 1px 0px #ffffff, -1px 1px 0px #ffffff, 1px -1px 0px #ffffff, -1px -1px 0px #ffffff, 1px 0px 0px #ffffff, 0px 1px 0px #ffffff, -1px 0px 0px #ffffff, 0px -1px 0px #ffffff;
    }

    .mainVisual-text .anniversary span {
        font-size: 1.9rem;
    }

    .mainVisual-button {
        display: block;
        padding-left: 1em;
        width: 48.5%;
        float: left
    }

    .mainVisual-button:last-of-type {
        float: right
    }

    .mainVisual-button .icon {
        font-size: .8rem;
        margin-top: 1px;
        right: .6em
    }
}

@media (max-width:30em) {
    .mainVisual-text .catch-copy {
        font-size: 30px
    }

    .mainVisual-button {
        float: none;
        width: 14em
    }

    .mainVisual-button:last-of-type {
        float: none
    }

    .mainVisual-button + .mainVisual-button {
        margin-top: 10px
    }
}

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

    .frontTopics-schedule {
        padding-right: 5.55556%;
        width: 66.66667%
    }

    .frontTopics-news {
        padding-left: 5.55556%;
        width: 44.44444%
    }
}

.frontGuide {
    padding-top: 60px;
    padding-bottom: 60px
}

.frontGuide-box {
    background-color: #fff
}

.frontGuide-box img {
    display: block;
    width: 100%
}

.frontGuide-box a {
    display: block;
    padding: 1em 0 1.6em 0
}

.frontGuide-box-title {
    margin-top: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center
}

.frontGuide-box-title span {
    display: block
}

@media (min-width:68.8125em) {
    .frontGuide-box {
        width: 31.25%
    }

    .frontGuide-box-title {
        font-size: 24px
    }

    .frontGuide-box-title span {
        font-size: 16px
    }
}

@media (max-width:68.75em) {
    .frontGuide-box {
        width: 32%
    }

    .frontGuide-box-title {
        font-size: 1.3rem
    }

    .frontGuide-box-title span {
        font-size: 1rem
    }
}

@media (max-width:52.5em) {
    .frontGuide-box-title {
        font-size: 1.1rem
    }

    .frontGuide-box-title span {
        font-size: .9rem
    }
}

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

@media (max-width:48em) {
    .frontGuide-box {
        width: 100%
    }

    .frontGuide-box + .frontGuide-box {
        margin-top: 10px
    }
}

.frontProgram {
    margin-bottom: -30px
}

.frontProgram-box {
    margin-bottom: 30px;
    border: 1px solid #adadad
}

.frontProgram-box a {
    width: 100%
}

.frontProgram-box-thumb {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left
}

.frontProgram-box-thumb.honka {
    background-image: url(../../assets/img/page/front/program-honka.jpg)
}

.frontProgram-box-thumb.senka {
    background-image: url(../../assets/img/page/front/program-senka.jpg)
}

.frontProgram-box-thumb.tanka {
    background-image: url(../../assets/img/page/front/program-tanka.jpg)
}

.frontProgram-box-thumb.koukaikouza {
    background-image: url(../../assets/img/page/front/program-koukaikouza.jpg)
}

.frontProgram-box-body {
    position: relative;
    height: 100%;
    padding: 0 2rem 0 74px;
    width: calc(100% - 200px)
}

.frontProgram-box-icon {
    position: absolute;
    z-index: 1;
    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: center;
    border-radius: 50%;
    color: #fff;
    font-weight: bold;
    line-height: 1.25
}

.frontProgram-box-icon.green {
    background-color: #00bca3
}

.frontProgram-box-icon.purple {
    background-color: #8c54bb
}

.frontProgram-box-title {
    font-weight: bold;
    line-height: 1.6
}

.frontProgram-box-title span {
    display: block
}

.frontProgram-box-title + p {
    margin-top: .6em
}

@media (min-width:87.5625em) {
    .frontProgram-box-body {
        padding: 0 1.5rem 0 74px
    }

    .frontProgram-box-icon {
        left: -55px;
        font-size: 20px;
        width: 110px;
        height: 110px
    }

    .frontProgram-box-title {
        font-size: 30px
    }

    .frontProgram-box-title span {
        font-size: 18px
    }
}

@media (max-width:87.5em) {
    .frontProgram-box-body {
        padding: 0 40px 0 50px
    }

    .frontProgram-box-icon {
        left: -35px;
        font-size: 1rem;
        width: 70px;
        height: 70px
    }

    .frontProgram-box-title {
        font-size: 24px
    }

    .frontProgram-box-title span {
        font-size: 1rem
    }
}

@media (min-width:80.0625em) {
    .frontProgram-box {
        width: 48.88889%
    }

    .frontProgram-box-icon {
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .frontProgram-box a {
        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
    }

    .frontProgram-box-thumb {
        width: 200px;
        height: 218px
    }
}

@media (max-width:80em) {
    .frontProgram-box {
        width: 23%
    }

    .frontProgram-box-thumb {
        width: 100%;
        padding-top: 100%
    }

    .frontProgram-box-body {
        padding: 50px 1.5rem 40px;
        width: 100%
    }

    .frontProgram-box-icon {
        top: -35px;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto
    }

    .frontProgram-box-title {
        font-size: 1.3rem
    }

    .frontProgram-box-title span {
        font-size: .9rem
    }
}

@media (max-width:68.75em) {
    .frontProgram-box {
        width: 48.5%
    }

    .frontProgram-box-thumb {
        padding-top: 60%
    }

    .frontProgram-box-body {
        padding: 45px 1.5rem 30px
    }
}

@media (min-width:48.0625em) {
    .frontProgram-box-thumb {
        position: relative;
        -webkit-transition: -webkit-filter 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: -webkit-filter 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: filter 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: filter 0.3s cubic-bezier(0.164, 0.84, 0.34, 1), -webkit-filter 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .frontProgram-box a:hover .frontProgram-box-thumb {
        -webkit-filter: brightness(115%);
        filter: brightness(115%)
    }

    .frontProgram-box-thumb:before {
        z-index: 1;
        position: absolute;
        display: block;
        content: '';
        bottom: 0;
        right: 0;
        width: 100%;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .frontProgram-box-thumb:before {
        height: 100%;
        background: -webkit-gradient(linear, left top, right top, from(#79AF71), to(#00bca3));
        background: linear-gradient(to right, #79AF71, #00bca3);
        opacity: 0;
        -webkit-transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .frontProgram-box a:hover .frontProgram-box-thumb:before {
        opacity: .3
    }

    .frontProgram-box-title {
        -webkit-transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .frontProgram-box a:hover .frontProgram-box-title {
        color: #00bca3
    }
}

@media (min-width:30.0625em) {
    .frontProgram {
        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 (max-width:30em) {
    .frontProgram-box {
        width: 100%
    }

    .frontProgram-box-thumb {
        padding-top: 50%
    }
}

@media (max-width:48em) {
    .frontAbout img {
        width: 80%
    }
}

.teacherList-box {
    position: relative
}

.teacherList-box-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.teacherList-box-head-img {
    width: 119px
}

.teacherList-box-head-text {
    padding-left: 1em;
    width: calc(100% - 119px)
}

.teacherList-box-head-text .name {
    margin-bottom: .25em;
    color: #e9547e;
    font-size: 1.3rem;
    font-weight: bold
}

.teacherList-box-body {
    padding-top: 1em
}

.teacherList-box .button {
    width: 250px;
    padding: .8em 0
}

@media (min-width:68.8125em) {
    .teacherList-box {
        width: 31%;
        height: 310px
    }

    .teacherList-box .button {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto
    }
}

@media (max-width:68.75em) {
    .teacherList-box {
        width: 48.5%;
        height: auto
    }

    .teacherList-box .button {
        margin: 1.5em auto 0;
        display: block
    }
}

@media (min-width:30.0625em) {
    .teacherList {
        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
    }

    .teacherList-box {
        margin-bottom: 70px
    }

    .teacherList-box .button {
        font-size: .9rem
    }
}

@media (max-width:30em) {
    .teacherList-box {
        width: 100%
    }

    .teacherList-box + .teacherList-box {
        margin-top: 50px
    }
}

@media (min-width:68.8125em) {
    .voiceProfile-img {
        width: 400px
    }

    .voiceProfile-body {
        width: calc(100% - 400px)
    }
}

@media (max-width:68.75em) {
    .voiceProfile-img {
        width: 40%
    }

    .voiceProfile-body {
        width: 60%
    }
}

@media (min-width:48.0625em) {
    .voiceProfile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .voiceProfile-body {
        padding-left: 2em
    }
}

@media (max-width:48em) {

    .voiceProfile-body,
    .voiceProfile-img {
        width: 100%
    }

    .voiceProfile-body {
        padding-top: 2em
    }
}

.faqList + .faqList {
    border-top: 1px dotted #e3e3e3
}

.faqList dd div,
.faqList dt {
    line-height: 1.6;
    position: relative
}

.faqList dt {
    cursor: pointer;
    padding: 25px 0 25px 40px
}

.faqList dd {
    display: none
}

.faqList dd div {
    padding: 0 0 25px 40px
}

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

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

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

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

.faqList .question {
    top: 24px;
    color: #fff;
    background: #00bca3;
    border-color: #00bca3
}

.faqList .answer {
    top: 0;
    border-color: #000
}

.sitemap .hide-in-sitemap {
    display: none;
    visibility: hidden
}

.section-subheading + .sitemap {
    margin-top: -1em
}

.sitemap + .section-subheading {
    margin-top: 3em
}

.sitemap-box-title a:before {
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: bold;
    content: "\e90a"
}

.sitemap-box-title a {
    display: block
}

.sitemap-box-title + ul li a:before {
    margin: -3.5px .5em 0 0;
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1rem;
    content: "\e904"
}

.sitemap-box-title + ul {
    line-height: 2;
    margin-top: 10px;
    margin-left: 2.2rem
}

.sitemap-box-title + ul li:not([class]) a:not([class]) {
    color: #000;
    text-decoration: none
}

.sitemap-box-title + ul li a:before,
.sitemap-box-title a:before {
    color: #00bca3
}

.sitemap-box-title + .sitemap-box-title,
ul + .sitemap-box-title {
    margin-top: 30px
}

@media (min-width:52.5625em) {

    .sitemap-box,
    .sitemap:after {
        width: 30%
    }
}

@media (max-width:52.5em) {

    .sitemap-box,
    .sitemap:after {
        width: 48.5%
    }
}

@media (min-width:48.0625em) {
    .sitemap-box-title a {
        -webkit-transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .sitemap-box-title a:hover {
        color: #00bca3
    }

    .sitemap-box-title + ul li a {
        -webkit-transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: opacity 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .sitemap-box-title + ul li a:hover {
        opacity: .4
    }
}

@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:after {
        content: '';
        display: block
    }

    .sitemap-box {
        padding: 18px 0
    }

    .sitemap-box.not-has-border {
        border-bottom: 0
    }

    .sitemap-box-title a {
        padding-left: 0
    }

    .sitemap-box-title a:before {
        margin: -2px .5em 0 .2em;
        font-size: 1.2rem
    }
}

@media (max-width:30em) {

    .sitemap-box,
    .sitemap:after {
        width: 100%
    }

    .sitemap-box {
        padding: 12px 0
    }

    .sitemap-box.not-has-border:last-child {
        border-bottom: inherit
    }

    .sitemap-box-title a:before {
        margin: -2px .7em 0 .2em;
        font-size: 1.1rem
    }
}

.topicsIdex-box {
    border: 1px solid #e3e3e3
}

.topicsIdex-box a {
    display: block
}

.topicsIdex-box-title {
    display: block;
    font-family: 'Pathway Gothic One', sans-serif;
    line-height: 1;
    letter-spacing: .15em;
    text-transform: uppercase
}

.topicsIdex-box-title:before {
    display: inline-block;
    vertical-align: middle;
    font-family: 'jsc-icon' !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #00bca3;
    font-weight: bold;
    content: "\e90a"
}

.topicsIdex-box-title + p {
    margin-top: .75em
}

@media (min-width:68.8125em) {
    .topicsIdex-box {
        text-align: center
    }
}

@media (min-width:52.5625em) {
    .topicsIdex {
        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
    }

    .topicsIdex-box {
        width: 48.5%
    }

    .topicsIdex-box a {
        padding: 100px 2em
    }

    .topicsIdex-box-title {
        font-size: 44px
    }
}

@media (max-width:52.5em) {
    .topicsIdex-box + .topicsIdex-box {
        margin-top: 20px
    }

    .topicsIdex-box a {
        padding: 40px 2em
    }

    .topicsIdex-box-title {
        font-size: 34px
    }
}

@media (min-width:48.0625em) {
    .topicsIdex-box-title {
        -webkit-transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1);
        transition: color 0.3s cubic-bezier(0.164, 0.84, 0.34, 1)
    }

    .topicsIdex-box a:hover .topicsIdex-box-title {
        color: #00bca3
    }
}

@media (min-width:30.0625em) {
    .topicsIdex-box {
        padding: 18px 0
    }

    .topicsIdex-box-title:before {
        margin: -2px .5em 0 .2em;
        font-size: 1.2rem
    }

    .training-list .list-cat span {
        font-size: 14px;
    }
}

@media (max-width:30em) {
    .topicsIdex-box {
        padding: 12px 0
    }

    .topicsIdex-box-title:before {
        margin: -2px .7em 0 .2em;
        font-size: 1.1rem
    }

    .training-list .list-cat span {
        font-size: 14px;
    }
}

.ca .ca__coating .ca__coatingTxt {
    margin-bottom: 20px
}

.ca .ca__coating .indexList-column {
    width: 100%;
    margin-bottom: 90px
}

.ca .ca__coating .indexList-column .indexList-box {
    border-bottom: 1px solid #000;
    cursor: pointer
}

.ca .ca__coating .indexList-column .indexList-box:hover a {
    color: #875fa9
}

.ca .ca__coating .indexList-column .ca__coatingPageContainer {
    display: none
}

.ca .ca__coating .indexList-column .ca__coatingPageContainer .ca__coatingTeams {
    padding: 30px 20px 20px;
    max-width: 1080px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.ca .ca__coating .indexList-column .ca__coatingPageContainer .ca__coatingTeams .ca__coatingTeam {
    width: 48.14815%;
    max-width: 520px;
    margin-right: 3.7037%;
    margin-bottom: 20px
}

.ca .ca__coating .indexList-column .ca__coatingPageContainer .ca__coatingTeams .ca__coatingTeam:nth-child(2n) {
    margin-right: 0
}

@media screen and (max-width:480px) {
    .ca .ca__coating .indexList-column .ca__coatingPageContainer .ca__coatingTeams .ca__coatingTeam {
        width: 100%;
        margin-right: 0;
        margin-bottom: 0
    }
}

.ca .ca__coating .indexList-column .ca__coatingPageContainer .ca__coatingTeams .ca__coatingTeam a {
    color: #875fa9;
    -webkit-transition: .5s;
    transition: .5s
}

.ca .ca__coating .indexList-column .ca__coatingPageContainer .ca__coatingTeams .ca__coatingTeam a:hover {
    color: #333;
    -webkit-transition: .5s;
    transition: .5s
}

.ca .ca__coating .indexList-column .ca__coatingPageContainer .ca__coatingTeams .ca__coatingTeam a .icon {
    vertical-align: initial
}

.ca .ca__coating .indexList-column .ca__coatingContentsActive .indexList-box-title .indexList-box-arrow:before {
    -webkit-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
    -webkit-transition: all .15s linear;
    transition: all .15s linear
}

.ca .ca__coating .ca__coatingQa {
    margin-bottom: 90px
}

.ca .ca__coating .ca__coatingQa:last-of-type {
    margin-bottom: 0px
}

.ca .ca__coating .ca__coatingQa .ca__coatingQaTit {
    display: table;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #875fa9;
    margin-bottom: 30px;
    width: 100%
}

.ca .ca__coating .ca__coatingQa .ca__coatingQaNum {
    font-size: 24px;
    font-weight: bold;
    border-top: 1px solid #875fa9;
    border-left: 1px solid #875fa9;
    border-bottom: 1px solid #875fa9;
    padding: 0 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #875fa9;
    background-color: #fff;
    display: table-cell;
    vertical-align: middle;
    width: 2.46429%;
    text-align: center;
    min-width: 66px;
}

@media screen and (max-width:960px) {
    .ca .ca__coating .ca__coatingQa .ca__coatingQaNum {
        width: 5.46429%
    }
}

@media screen and (max-width:640px) {
    .ca .ca__coating .ca__coatingQa .ca__coatingQaNum {
        width: 4.46429%;
    }
}


.ca .ca__coating .ca__coatingQa .ca__coatingQaTxt {
    font-size: 14px;
    font-weight: bold;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: table-cell;
    vertical-align: middle;
    width: 50.46429%
}

@media (-ms-high-contrast:none) {
    .ca .ca__coating .ca__coatingQa .ca__coatingQaTxt {
        width: 32.46429%
    }
}

@media screen and (max-width:640px) {
    .ca .ca__coating .ca__coatingQa .ca__coatingQaTxt {
        width: 32.46429%
    }
}

.ca .ca__coating .ca__coatingQa .ca__coatingAnswerBold {
    font-weight: bold
}

.preload *,
.preload :after,
.preload :before {
    -webkit-transition: none !important;
    transition: none !important
}

.js-loading-done .siteMain {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.js-loading-done .pageBody,
.js-loading-done .pageLead {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.js-menu-open .hamburger-line1 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 30px
}

.js-menu-open .hamburger-line2 {
    opacity: 0
}

.js-menu-open .hamburger-line3 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 30px
}

.js-menu-open .drawerMenu {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible
}

.js-menu-open .drawerMenuOverlay {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
    visibility: visible
}

.studymeeting-report {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2em;
}

.studymeeting-report p {
    width: 80%;
}

.studymeeting-report-img {
    width: 18%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}

.studymeeting-report-img img {
    height: auto;
    display: block;
    margin-bottom: 1em;
}

.studymeeting-report-img img:last-child {
    margin-bottom: 0;
}

@media (max-width:40em) {

    .studymeeting-report {
        display: block;
    }

    .studymeeting-report p {
        width: 100%;
    }

    .studymeeting-report-img {
        width: 100%;
        display: block;
        align-items: flex-start;
        flex-wrap: nowrap;
        margin-top: 2em;
    }
}

/* 20240426追加 */

.strong-big {
    font-size: 1.25rem;
}

@media (max-width:30em) {
    .strong-big {
        font-size: 1.1rem;
    }
}

/* 20240513追加 */

h4 span.h4-bold {
    font-size: 1.2rem;
    font-weight: bold;
}

@media (max-width:30em) {
    h4 span.h4-bold {
        font-size: 1.1rem;
    }
}

/*20240930追加*/

.top-lead {
    text-align: center;
    margin: 80px 80px 0;
    border: 1px solid #00bca3;
    padding: 30px;
}

.top-lead-title {
    text-align: center;
    margin-bottom: 1.25em;
    background: #00bca3;
    color: #fff;
    font-size: 16px;
    display: inline-block;
    padding: 0 10px;
    font-weight: bold;
}


@media (max-width:1400px) {
    .top-lead {
        text-align: left;
    }
}


@media (max-width:40em) {
    .top-lead {
        text-align: left;
        margin: 20px 20px 0;
        border: 1px solid #00bca3;
        padding: 20px;
    }
}

/*20241008追加*/

.section-heading span.subtitle {
    padding-left: 0;
}

/*20241008追加*/

.index-lead-contenter {
    margin-top: 30px;
}

.index-lead-box {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin: 30px 0;
}

.index-lead-box .lead-block {
    padding: 15px;
    border: 1px solid #ccc;
    width: 48.5%;
}

.lead-block-title {
    color: #00bca3;
    font-weight: bold;
    font-size: 1.5rem;
}

@media (max-width:30em) {
    .index-lead-box {
        display: block;
    }

    .index-lead-box .lead-block {
        padding: 15px;
        border: 1px solid #ccc;
        width: 100%;
        margin-top: 15px;
    }

}

/*20250305追加*/

.kouza-table {
    width: 40%;
}

.kouza-table td,
.kouza-table-float td {
    padding: 0.7rem;
    border: 1px solid #ccc;
}

.kouza-table-float {
    float: right;
    width: 40%;
    margin: 0 0 2.5em 2em;
}

@media (max-width:48em) {

    .kouza-table,
    .kouza-table-float {
        float: none;
        width: 100%;
        margin: 0 0 0 0;
    }

    .kouza-table td,
    .kouza-table-float td {
        width: 100%;
    }

}
