@charset "UTF-8";

*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert
}

*,
*:before,
*:after {
    box-sizing: border-box
}

a,
button {
    cursor: revert
}

ol,
ul,
menu {
    list-style: none
}

img {
    max-inline-size: 100%;
    max-block-size: 100%
}

table {
    border-collapse: collapse
}

input,
textarea {
    -webkit-user-select: auto
}

textarea {
    white-space: revert
}

meter {
    -webkit-appearance: revert;
    appearance: revert
}

:where(pre) {
    all: revert
}

:-ms-input-placeholder {
    color: unset
}

::placeholder {
    color: unset
}

::marker {
    content: initial
}

:where([hidden]) {
    display: none
}

:where([contenteditable]:not([contenteditable=false])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto
}

:where([draggable=true]) {
    -webkit-user-drag: element
}

:where(dialog:modal) {
    all: revert
}

html {
    color: #000;
    font-size: 12px;
    line-height: 1.9;
    font-weight: 500;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%
}

*,
*:before,
*:after {
    background-repeat: no-repeat;
    cursor: revert;
    transition-property: none;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(.075, .82, .165, 1)
}

body {
    --em: var(--rem);
    background-color: #fff;
    display: -ms-grid;
    display: grid;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", Yu Gothic, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word
}

.font-Jost,
.font-Jost_B:before,
.font-Jost_A:after {
    font-family: Jost, sans-serif;
    font-style: italic
}

label,
button {
    cursor: pointer
}

a {
    color: inherit;
    pointer-events: auto;
    transition: all .3s
}

a:hover {
    opacity: .6
}

img,
svg {
    height: auto;
    vertical-align: middle;
    width: 100%
}

svg {
    fill: currentColor
}

input,
textarea {
    -webkit-appearance: revert;
    appearance: revert
}

select {
    -ms-flex-align: center;
    align-items: center;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='m0 0 4 8 4-8Z'/%3E%3C/svg%3E");
    background-position: right calc(24em/var(--em)) center;
    background-size: calc(8em/var(--em));
    padding-right: calc(56em/var(--em));
    color: #ccccd5
}

.ui-datepicker select {
    padding-right: 0;
    background-image: none
}

select:valid {
    color: #000
}

select :focus-visible {
    outline: revert
}

[hidden] {
    display: none
}

.st-Width,
.st-WidthSP {
    padding-right: 15px;
    padding-left: 15px
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(2rem)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.st-FadeIn {
    opacity: 0
}

.st-FadeIn.Inview,
.Inview .st-FadeIn {
    opacity: 1;
    animation: fadeIn 1s
}

.st-Wide {
    margin-right: calc(var(--pd)*-1);
    margin-left: calc(var(--pd)*-1)
}

.st-Container {
    grid-area: 1/1;
    background-color: #fff;
    transition-property: opacity, visibility;
    transition-timing-function: linear;
    overflow: hidden
}

.st-Fix .st-Container {
    opacity: 0;
    position: fixed;
    right: 0;
    left: 0;
    top: 0;
    visibility: hidden
}

.st-Header {
    line-height: 1.5;
    grid-area: 1/1
}

.st-Header_Inner:before {
    background-color: #fff;
    content: "";
    opacity: 0;
    position: absolute;
    inset: 0;
    transition-property: opacity;
    z-index: -1
}

.parent-pageid-50 .st-Header_Inner:before {
    opacity: 1
}

.Scroll .st-Header_Inner:before {
    opacity: 1
}

.st-Header_Logo {
    color: #fff;
    transition-property: color;
    transition-timing-function: linear
}

.Scroll .st-Header_Logo,
.st-Fix .st-Header_Logo {
    color: #000
}

.st-Header_Hamburger {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    height: 60px;
    width: 51px;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: default
}

.st-Header_Hamburger label {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    width: 22px;
    height: 18px
}

.st-Header_Hamburger label:before,
.st-Header_Hamburger label:after {
    background-color: #fff;
    content: "";
    grid-area: 1/1;
    height: 2px;
    -ms-transform: translateY(-8px);
    transform: translateY(-8px);
    transition-property: background-color, transform
}

.Scroll .st-Header_Hamburger label:before,
.Scroll .st-Header_Hamburger label:after {
    background-color: #000
}

.st-Fix .st-Header_Hamburger label:before,
.st-Fix .st-Header_Hamburger label:after {
    background-color: #000;
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.st-Header_Hamburger label:after {
    -ms-transform: translateY(8px);
    transform: translateY(8px)
}

.st-Fix .st-Header_Hamburger label:after {
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.st-Header_Hamburger span {
    background-color: #fff;
    height: 2px;
    grid-area: 1/1;
    transition-property: background-color, opacity
}

.Scroll .st-Header_Hamburger span {
    background-color: #000
}

.st-Fix .st-Header_Hamburger span {
    opacity: 0
}

.page-id-60 .st-Header_Contact,
.page-id-62 .st-Header_Contact,
.page-id-73 .st-Header_Contact,
.page-id-75 .st-Header_Contact,
.page-id-50 .st-Header_Contact,
.page-id-52 .st-Header_Contact,
.page-id-57 .st-Header_Contact {
    display: none
}

.st-Header_Contact {
    color: #fff;
    display: -ms-grid;
    display: grid;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 100;
    transition: all .4s ease-out
}

.st-Header_Lesson {
    font-size: 16px;
    -ms-flex-align: center;
    align-items: center;
    background-color: #e7441e;
    display: -ms-grid;
    display: grid;
    font-weight: 700;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    transition-property: opacity;
    z-index: 1
}

.st-Header_Lesson:hover {
    opacity: .7
}

.st-Header_Lesson svg {
    width: calc(15.47em/var(--em))
}

.st-Header_Tel,
.st-Header_Line {
    display: -ms-grid;
    display: grid;
    height: calc(60em/var(--em));
    place-items: center;
    position: relative;
    transition-property: opacity;
    z-index: 1
}

.st-Header_Tel:hover,
.st-Header_Line:hover {
    opacity: .7
}

.st-Header_Tel svg,
.st-Header_Line svg {
    width: calc(20.74em/var(--em))
}

.st-Header_Tel {
    background-color: #000
}

.st-Header_Line {
    background-color: #4cc764
}

.st-Header_Line svg {
    width: calc(29.88em/var(--em))
}

.st-Gnav_List {
    font-weight: 700
}

.st-Gnav_Btn {
    display: none
}

.st-Gnav_Child {
    padding-left: 35px;
    font-size: 13px;
    padding-bottom: 8px
}

.st-Gnav_Child li {
    margin-bottom: 12px
}

.st-Footer {
    background-color: #000;
    color: #fff
}

.st-Footer_List {
    font-size: 13px
}

.st-Footer_List>li {
    position: relative;
    border-top: 1px solid #555
}

.st-Footer_List>li>a,
.st-Footer_List>li>span {
    display: block;
    padding: 17px 10px
}

.st-Footer_List>li>span {
    position: relative
}

.st-Footer_List>li>span:before,
.st-Footer_List>li>span:after {
    content: "";
    width: 13px;
    background-color: #fff;
    height: 1px;
    display: block;
    position: absolute;
    right: 10px;
    transition: all .3s;
    top: 50%
}

.st-Footer_List>li>span:before {
    -ms-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
}

.st-Footer_List>li>span:after {
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.st-Footer_List>li>span.Open:before {
    -ms-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg)
}

.st-Footer_List .st-Footer_List_min {
    display: none
}

.st-Footer_List02 {
    margin-top: 40px;
    text-align: center
}

.st-Footer_List02 li {
    margin: 8px 0
}

.st-Footer_Child {
    display: -ms-grid;
    display: grid;
    overflow: hidden;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    transition: all .3s;
    font-size: 12px;
    max-height: 0;
    box-sizing: content-box
}

.Open+.st-Footer_Child {
    border-top: 1px dashed #555;
    padding: 10px 0
}

.st-Footer_Child li a {
    padding: 5px 10px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: calc(15em/var(--em)) auto;
    grid-template-columns: calc(15em/var(--em)) auto;
    -ms-flex-pack: start;
    justify-content: start
}

li.st-Footer_Child_heading {
    font-size: 13px;
    grid-column: 1/3;
    padding-top: 4px
}

li.st-Footer_Child_heading a {
    display: block
}

li.st-Footer_Child_heading a:before {
    display: none !important
}

.st-Footer_Child a:before {
    background-color: #40e0d0;
    border-radius: 50%;
    content: "";
    height: calc(5em/var(--em));
    place-self: center;
    width: calc(5em/var(--em))
}

.st-Footer_Logo {
    display: -ms-grid;
    display: grid;
    gap: calc(10em/var(--em));
    margin-top: calc(37em/var(--em))
}

.st-Footer_Logo span {
    --lh: 17;
    font-weight: 700
}

.st-Footer_Logo svg {
    width: calc(183.74em/var(--em))
}

.st-Footer_Sns {
    display: -ms-grid;
    display: grid;
    gap: calc(30em/var(--em));
    -ms-grid-columns: calc(15.81em/var(--em)) calc(16.81em / var(--em)) calc(18.29em / var(--em)) calc(18.38em / var(--em));
    grid-template-columns: calc(15.81em/var(--em)) calc(16.81em / var(--em)) calc(18.29em / var(--em)) calc(18.38em / var(--em));
    margin-top: calc(26.4em/var(--em))
}

.st-Footer_Sns [alt=x] {
    width: 13px
}

.st-Footer_Copyright {
    display: block;
    text-align: center;
    font-size: 10px;
    margin-top: 40px
}

.st-Footer_inner a:hover {
    opacity: .8
}

.st-Footer_txt {
    display: none
}

.st-Application {
    background-color: #e04219;
    margin-top: calc(-1em/var(--em));
    padding-top: calc(34em/var(--em));
    padding-bottom: calc(40em/var(--em));
    position: relative;
    z-index: 1
}

.st-Application.st-Application__02 {
    padding-bottom: 0
}

.st-Application.st-Application__02 #breadcrumbs {
    margin-top: 30px;
    font-size: 10px;
    padding-left: 0
}

.st-Application:before {
    background-image: url(assets/img/form-bg.png);
    background-size: 100% auto;
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    z-index: -1;
    -ms-transform: translateY(-99%);
    transform: translateY(-99%);
    aspect-ratio: 375/60
}

.st-Application_Title {
    font-size: 24px;
    color: #fff;
    font-weight: 700;
    text-align: center
}

.st-Application_Text {
    line-height: 1.9;
    color: #fff;
    font-size: 13px;
    text-align: center
}

.st-Application_Inner {
    background-color: #fff;
    margin-top: 36px;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 25px;
    padding-left: 20px
}

.swiper-pagination-bullet {
    cursor: pointer
}

.swiper-button-prev:not(.swiper-button-disabled),
.swiper-button-next:not(.swiper-button-disabled) {
    cursor: pointer
}

.swiper-button-prev:not(.swiper-button-disabled):hover,
.swiper-button-next:not(.swiper-button-disabled):hover {
    opacity: .6 !important
}

.home-Hero {
    height: 648px;
    display: block;
    position: relative;
    background-image: url(assets/img/hero@2x.jpg);
    background-size: cover;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    color: #fff
}

.home-Hero_message {
    position: relative
}

.home-Hero_message_img {
    width: 104px;
    position: absolute;
    left: -50px;
    top: -88px
}

.home-Hero_message_txt01 {
    font-size: 16px;
    margin-bottom: 12px
}

.home-Hero_message_txt02 {
    font-size: 44px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 20px
}

.home-Hero_Lesson {
    background-color: #e3441e;
    width: 245px;
    margin: 0 auto;
    border-radius: 10px;
    position: relative
}

.Hero_Lesson_top {
    border-radius: 10px 10px 0 0;
    background-color: #fff;
    color: #e3441e;
    font-size: 10px;
    padding: 8.5px 0;
    position: relative;
    font-weight: 700
}

.Hero_Lesson_top:before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 5px 0;
    border-color: #fff transparent transparent
}

.home-Hero_Img {
    width: 71px;
    position: absolute;
    left: -38px;
    bottom: -30px
}

.home-Hero_Lesson_bottom {
    padding: 14px 22.5px 15px;
    font-size: 22px;
    display: block
}

.home-Hero_Lesson_bottom span {
    margin-top: 5px;
    font-size: 11px;
    display: block;
    position: relative;
    border: 1px solid #fff;
    padding: 7.5px 0;
    border-radius: 18px
}

.home-Hero_Lesson_bottom span:before {
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 50%;
    position: absolute;
    right: 10px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #fff
}

.home-Hero_Lesson_bottom span:after {
    content: "";
    right: 14px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #e3441e
}

.home-Hero_scroll {
    position: absolute;
    bottom: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 64px;
    font-family: Jost, sans-serif;
    font-size: 12px
}

.home-Hero_scroll span {
    display: block;
    margin: 5px auto 0;
    background-color: #fff;
    width: 1px;
    height: 40px;
    animation: home_span 3s infinite ease-out
}

@keyframes home_span {
    0% {
        height: 0
    }

    100% {
        height: 40px
    }
}

.home-Bnr {
    overflow-x: auto;
    padding-top: 15px;
    padding-bottom: 8px;
    position: relative
}

.home-Bnr.swiper-initialized {
    overflow: hidden
}

.home-Bnr.swiper-initialized .swiper-button-prev,
.home-Bnr.swiper-initialized .swiper-button-next {
    opacity: 1;
    visibility: visible
}

.home-Bnr .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    transition-property: transform;
    max-width: 600px
}

.home-Bnr .swiper-slide {
    padding-right: 15px;
    width: 280px
}

.home-Bnr .swiper-slide img {
    width: 100%
}

.swiper-programButton-next,
.swiper-programButton-prev,
.home-Bnr .swiper-button-prev,
.home-Bnr .swiper-button-next {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    height: calc(124em/var(--em));
    position: absolute;
    left: 0;
    top: 0;
    transition-property: opacity;
    visibility: hidden;
    width: calc(27em/var(--em));
    cursor: pointer
}

.swiper-programButton-next:before,
.swiper-programButton-prev:before,
.home-Bnr .swiper-button-prev:before,
.home-Bnr .swiper-button-next:before {
    border: solid transparent;
    border-width: calc(9em/var(--em)) calc(15em / var(--em)) calc(9em / var(--em)) 0;
    border-right-color: currentColor;
    content: "";
    height: calc(18em/var(--em));
    width: calc(15em/var(--em))
}

.swiper-programButton-next,
.swiper-programButton-prev {
    height: 100%
}

.swiper-programButton-next.swiper-button-disabled,
.swiper-programButton-prev.swiper-button-disabled {
    display: none
}

.swiper-programButton-next,
.home-Bnr .swiper-button-next {
    right: 0;
    left: auto
}

.home-Bnr .swiper-button-next:before {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.home-BnrList {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1166px;
    margin: 0 auto;
    gap: 45px
}

.home-BnrList li {
    -ms-flex: 1;
    flex: 1
}

.home-Section_Title {
    text-align: center;
    font-size: 10px;
    line-height: 1.4
}

.home-Section_Title.home-Section_Title__pt0 {
    padding-top: 0
}

.home-Section_Title__mb {
    margin-bottom: 30px
}

.home-Section_Title:before {
    display: block;
    font-size: 40px;
    content: attr(data-en);
    font-weight: 500
}

.home-Center_Title {
    text-align: center;
    font-size: 10px;
    line-height: 1.4
}

.home-Center_Title:before {
    display: block;
    font-size: 40px;
    content: attr(data-en);
    font-weight: 500
}

.home-Section_Text {
    --lh: 22;
    margin-top: calc(-2.5em/var(--em));
    margin-bottom: calc(-2.5em/var(--em));
    text-align: center
}

.page-Section_Text {
    font-size: 13px;
    text-align: center;
    line-height: 1.87
}

.home-Section_Text strong {
    border: 1px solid #7f7f7f;
    margin-right: .4em;
    font-size: 12px;
    vertical-align: middle;
    margin-left: .4em;
    padding: .2em .2em .2em .3em
}

.home-Section_Btn {
    --let: .15em;
    background-image: linear-gradient(to right, #40e0d0 50%, #fff 50%);
    background-size: 200% 100%;
    background-position: 100% 0;
    border-radius: 10em;
    box-shadow: 0 0 0 1px currentColor inset;
    display: -ms-grid;
    display: grid;
    font-weight: 700;
    -ms-grid-columns: calc(16.44em/var(--em)) auto calc(16.44em / var(--em));
    grid-template-columns: calc(16.44em/var(--em)) auto calc(16.44em / var(--em));
    height: 52px;
    padding-right: calc(22.7em/var(--em));
    padding-left: calc(22.7em/var(--em));
    place-items: center;
    transition: all 0s;
    width: 240px;
    font-size: 13px
}

.home-Section_Btn.home-currculum_Btn {
    width: 280px
}

.home-Section_Btn__primaryschool {
    margin-top: 20px;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    margin-top: 50px
}

.home-Section_Btn:hover {
    background-position: 0 0;
    opacity: 1
}

.home-Concept {
    padding-top: calc(40em/var(--em));
    padding-bottom: calc(30em/var(--em))
}

.home-Concept_Copy {
    font-size: 18px;
    font-weight: 700;
    margin-top: 23px;
    line-height: 1.66
}

.home-Concept_Text {
    font-size: 13px;
    line-height: 2;
    text-align: left
}

.home-Concept_Btn {
    margin-top: 50px;
    font-size: 13px;
    transition: all 0s
}

.home-Concept_Img {
    margin-top: 0;
    margin-bottom: 20px
}

.home-Course {
    padding-top: calc(30em/var(--em));
    padding-bottom: calc(62em/var(--em))
}

.home-txt {
    font-size: 13px;
    margin-top: 22px;
    line-height: 1.92
}

.home-Course_Container {
    display: -ms-grid;
    display: grid;
    margin-top: 22vw
}

.home-Course_Unit {
    display: -ms-grid;
    display: grid;
    -ms-grid-column-align: center;
    justify-items: center;
    position: relative
}

.home-Course_Img {
    grid-area: 1/1;
    position: relative;
    z-index: 1;
    margin-bottom: 2px
}

.home-Course_Img:before {
    background-image: url(assets/img/course-elementary-bg.png);
    background-size: contain;
    aspect-ratio: 341/296;
    content: "";
    margin-right: auto;
    margin-left: auto;
    position: absolute;
    right: -10em;
    left: calc(-10em + -22em/var(--em));
    bottom: calc(13em/var(--em));
    -ms-transform: scale(0);
    transform: scale(0);
    -ms-transform-origin: center bottom;
    transform-origin: center bottom;
    transition-property: transform;
    width: 110%;
    z-index: -1
}

.Inview .home-Course_Img:before {
    -ms-transform: scale(1);
    transform: scale(1)
}

.Alt .home-Course_Img:before {
    background-image: url(assets/img/course-middle-bg.png);
    right: calc(-10em + -30em/var(--em));
    left: -10em;
    bottom: calc(20em/var(--em));
    width: 110%;
    aspect-ratio: 354/309
}

.home-Course_Title {
    font-size: 18px;
    font-weight: 600;
    text-align: center
}

.home-Course_Text {
    text-align: center;
    font-size: 13px;
    margin-top: 5px;
    line-height: 1.9;
    margin-bottom: 20px;
    padding: 0 25px
}

.home-Course_More {
    font-size: 13px;
    font-weight: 700
}

.home-Course_More img {
    margin-right: 8px;
    width: 16px;
    height: 16px
}

.home-Contact {
    display: -ms-grid;
    display: grid;
    position: relative
}

.home-Contact_Bg {
    grid-area: 1/1
}

.home-Contact_Btn {
    -ms-transform: translateY(-12vw);
    transform: translateY(-12vw);
    position: relative;
    background-color: #fff;
    border-radius: 10em;
    font-size: 14px;
    box-shadow: 3.54px 3.54px 13px rgba(21, 13, 11, .42);
    color: #da441e;
    display: -ms-grid;
    display: grid;
    font-weight: 700;
    grid-area: 1/1;
    height: 60px;
    place-items: center;
    place-self: end center;
    transition-property: opacity;
    width: 260px;
    z-index: 2
}

.home-Contact_Btn:hover {
    opacity: 1;
    color: #fff;
    background-color: #000
}

.home-Contact_Btn:before {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0
}

.home-Contact_Btn img {
    bottom: 0;
    right: 0;
    position: absolute;
    width: 33px
}

.page-Graph {
    margin-top: calc(-30em/var(--em));
    padding-top: calc(30em/var(--em));
    padding-bottom: calc(42em/var(--em));
    position: relative;
    z-index: 1
}

.page-Graph.page-Graph__lesson {
    margin-top: 60px;
    padding-top: 20px;
    padding-bottom: 0
}

.page-Graph.page-Graph__lesson02 {
    margin-top: 60px;
    padding-top: 20px;
    padding-bottom: 0
}

.page-Graph.page-Graph_currculum {
    margin-top: 60px
}

.page-id-50 .page_whiteBack {
    border: none;
    background-color: transparent
}

.page-id-50 .page_whiteBack_box {
    padding: 0
}

.page-id-50 .page_sideImg_heading {
    text-align: center
}

.page-id-50 .page_sideImg_heading br {
    display: block
}

.page-id-50 .page-Graph {
    margin-top: 0
}

.page-id-50 .page-Graph:before,
.page-id-50 .page-Graph:after {
    display: none
}

.page-Graph:before,
.page-Graph:after {
    background-image: linear-gradient(to bottom, #e7441e 1px, transparent 1px);
    background-repeat: repeat-y;
    background-size: 100% calc(20em/var(--em));
    content: "";
    opacity: .15;
    position: absolute;
    inset: 0;
    z-index: -1
}

.page-Graph:after {
    background-image: linear-gradient(to right, #e7441e 1px, transparent 1px);
    background-repeat: repeat-x;
    background-size: calc(20em/var(--em)) 100%
}

.page-Graph_Title {
    font-size: 40px;
    display: -ms-grid;
    display: grid;
    gap: 19px;
    font-weight: 900;
    -ms-grid-column-align: center;
    justify-items: center;
    text-align: center;
    line-height: 1.2
}

.page-Graph_Title.page-Graph_Title__02 {
    gap: 10px;
    font-size: 26px
}

.page-Graph_Title.page-Graph_Title__02>.page-Graph_Title__sub {
    font-size: 13px;
    margin-top: 10px
}

.page-Graph_Title.page-Graph_Title__entxt {
    gap: 10px
}

.page-Graph_Title.page-Graph_Title__entxt:before {
    font-weight: 600;
    font-style: normal;
    content: attr(data-en);
    font-size: 12px
}

.page-Graph_Title .page-Graph_Title_reason {
    width: 301px
}

.page-Graph_Title .page-Graph_Title_features {
    width: 229px;
    margin-bottom: 12px
}

.page-Graph_Title .page-Graph_Title_voice {
    width: 166px
}

.page-Graph_Title img {
    width: 36px
}

.page-Graph_Title b {
    color: #fff;
    -webkit-text-stroke: 1px #000
}

@keyframes mask {
    0% {
        -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
        clip-path: polygon(0 0, 0 0, 0 100%, 0 100%)
    }

    to {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }
}

.home-Reason {
    padding-bottom: calc(32em/var(--em))
}

.home-Reason_List {
    -ms-flex-align: start;
    align-items: start;
    display: -ms-grid;
    display: grid;
    margin-top: calc(23em/var(--em))
}

.home-Reason_List>:where(li) {
    -ms-flex-align: start;
    align-items: start;
    display: -ms-grid;
    display: grid
}

.home-Reason_List1 .home-Reason_Bubble strong {
    margin-top: calc(-.5em/var(--em));
    padding-bottom: calc(3em/var(--em))
}

.home-Reason_List1 .home-Reason_Bubble strong:before {
    background-image: url(assets/img/reason-marker01.png);
    height: calc(54em/var(--em));
    left: calc(-1.1em/var(--em));
    top: calc(15em/var(--em));
    width: calc(152em/var(--em))
}

.home-Reason_List1 .home-Reason_User {
    margin-top: 16.8vw;
    margin-left: calc(-42em/var(--em));
    width: 45vw;
    margin-right: -4vw;
    z-index: 1
}

.home-Reason_List2 .home-Reason_Bubble strong {
    margin-bottom: 8px;
    padding-top: calc(3em/var(--em))
}

.home-Reason_List2 .home-Reason_Bubble strong:before {
    background-image: url(assets/img/reason-marker02.png);
    height: calc(42em/var(--em));
    left: calc(-2.1em/var(--em));
    top: calc(15em/var(--em));
    width: calc(169em/var(--em))
}

.home-Reason_List2 .home-Reason_User {
    margin-top: 4vw;
    width: 29.7vw;
    max-width: 180px;
    margin-left: 3vw;
    z-index: 1
}

.home-Reason_List3 .home-Reason_Bubble strong {
    margin-top: calc(-.5em/var(--em));
    margin-bottom: 5px
}

.home-Reason_List3 .home-Reason_Bubble strong:before {
    background-image: url(assets/img/reason-marker03.png);
    height: calc(43em/var(--em));
    left: calc(-14em/var(--em));
    top: calc(11em/var(--em));
    width: calc(155em/var(--em))
}

.home-Reason_List3 .home-Reason_User {
    margin-top: 1vw;
    margin-right: -3vw;
    width: 33.6vw;
    z-index: 1;
    max-width: 196px
}

.home-Reason_Bubble {
    -ms-flex-line-pack: center;
    align-content: center;
    background-color: #fff;
    border-radius: 50%;
    display: -ms-grid;
    display: grid;
    font-weight: 700;
    width: 53.4vw;
    aspect-ratio: 1/1;
    position: relative;
    text-align: center;
    z-index: 1
}

.home-Reason_Bubble span {
    font-size: 3.3vw
}

.home-Reason_Bubble strong {
    --em: 18;
    --lh: 28;
    font-size: 5vw;
    display: inline-block;
    position: relative;
    z-index: 1
}

.home-Reason_Bubble strong:before {
    background-size: contain;
    content: "";
    position: absolute;
    z-index: -1
}

.home-Reason_ListItem .home-Reason_Bubble strong {
    line-height: 1.5
}

.page-Feature {
    position: relative;
    z-index: 1
}

.page-Feature_MajoreText {
    margin-top: 5px
}

.page-Feature_Container {
    display: -ms-grid;
    display: grid;
    margin-top: calc(47em/var(--em))
}

.page-Feature_Unit {
    display: -ms-grid;
    display: grid
}

.page-Feature_Unit__02 {
    margin-top: 50px
}

.page-Feature_Unit.page-Feature_Unit__point02:before {
    background-image: url(assets/img/feature-point2.svg)
}

.page-Feature_Unit:last-child {
    margin-bottom: 20px
}

.page-Feature_Unit:not(:last-child) {
    margin-bottom: 50px
}

.page-Feature_Unit:nth-child(2):before {
    background-image: url(assets/img/feature-point2.svg)
}

.page-Feature_Unit:nth-child(3):before {
    background-image: url(assets/img/feature-point3.svg)
}

.page-Feature_Unit:nth-child(4):before {
    background-image: url(assets/img/feature-point4.svg)
}

.page-Feature_Unit.page-Feature_Unit__primaryschool {
    margin-bottom: 80px
}

.page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Title {
    display: -ms-flexbox;
    display: flex;
    padding-top: 10px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Title:before {
    width: 100%
}

.page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Title span:first-line {
    font-size: inherit;
    line-height: 1
}

.page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Img {
    width: 100%;
    margin-top: 25px
}

.page-Feature_Unit.page-Feature_Unit__primaryschool02 {
    margin-top: -25px
}

.page-Feature_Unit.page-Feature_Unit__primaryschool02 .page-Feature_Title:before {
    width: 100%
}

.page-Feature_Unit.page-Feature_Unit__primaryschool02 .page-Feature_Title span:first-line {
    font-size: inherit
}

.page-Feature_Unit:before {
    background-image: url(assets/img/feature-point1.svg);
    background-size: contain;
    content: "";
    grid-area: 1/1;
    height: calc(72.25em/var(--em));
    margin-top: calc(-28em/var(--em));
    width: calc(77.07em/var(--em))
}

.page-Feature_Inner {
    grid-area: 1/1;
    z-index: 1;
    margin-left: 30px;
    margin-top: 10px;
    padding-top: 12px
}

.page-Feature_Title {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    font-weight: 700;
    position: relative;
    box-shadow: 4px 4px transparent
}

.page-Feature_Title span {
    font-size: 20px;
    width: 100%;
    padding: 0 24px;
    line-height: 1.2
}

.page-Feature_Title span:first-line {
    font-size: 13px
}

.page-Feature_Title b {
    --em: 20;
    --lh: 27;
    padding-top: calc(1em/var(--em));
    padding-bottom: calc(1em/var(--em))
}

.page-Feature_Copy {
    --em: 18;
    --lh: 26;
    font-weight: 700;
    margin-top: calc(16em/var(--em));
    margin-bottom: calc(-5em/var(--em));
    white-space: nowrap
}

.page-Feature_Copy span {
    margin-right: -.5em
}

.page-Feature_Text {
    font-size: 13px;
    line-height: 1.92;
    margin-top: 20px;
    letter-spacing: 1px
}

.page-Feature_Text strong {
    font-weight: 700
}

.page-Feature_Text.page-Feature_Text__02 {
    margin-top: 30px;
    margin-bottom: 50px
}

.page-Feature_Text.page-Feature_Text__03 {
    margin-top: 45px
}

.page-Feature_Text b {
    background: linear-gradient(to bottom, rgba(227, 68, 30, 0) 0, rgba(227, 68, 30, 0) 40%, rgba(227, 68, 30, .38) 41%, rgba(227, 68, 30, .38) 100%);
    font-weight: 700
}

.page-Feature_TextHeader {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px
}

.page-Feature_Feature {
    --lh: 17;
    display: -ms-grid;
    display: grid;
    font-weight: 700;
    gap: calc(4em/var(--em));
    -ms-grid-column-align: end;
    justify-items: end;
    margin-top: calc(1em/var(--em));
    padding-right: calc(4em/var(--em));
    position: relative;
    z-index: 1
}

.page-Feature_Feature:before {
    background-image: url(assets/img/feature-marker01.png);
    background-size: contain;
    content: "";
    height: calc(55em/var(--em));
    position: absolute;
    right: 0;
    top: calc(3.3em/var(--em));
    width: calc(178em/var(--em));
    z-index: -1
}

.page-Feature_Img {
    width: 206px;
    margin-top: 23px
}

.home-Review {
    padding-top: calc(38em/var(--em));
    padding-bottom: calc(24em/var(--em))
}

.home-Review_MajoreText {
    margin-top: calc(28em/var(--em))
}

.home-Review_Container {
    margin-top: 20px;
    padding-bottom: 0;
    position: relative
}

.home-Review_Container.home-Voice_Slide.swiper-initialized {
    overflow: visible
}

.swiper-initialized .swiper-programButton-next,
.swiper-initialized .swiper-programButton-prev,
.home-Review_Container.swiper-initialized~.swiper-button-prev,
.home-Review_Container.swiper-initialized~.swiper-button-next {
    opacity: 1;
    visibility: visible
}

.home-Review_Container.swiper-initialized~.swiper-button-disabled {
    opacity: 0
}

.swiper-outer {
    position: relative
}

.home-Review .swiper-pagination {
    display: -ms-grid;
    display: grid;
    gap: calc(10em/var(--em));
    grid-auto-flow: column;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 20px
}

.home-Review .swiper-pagination-bullet {
    background-color: #e6e6e6;
    border-radius: 50%;
    height: calc(7em/var(--em));
    transition-property: background-color;
    width: calc(7em/var(--em))
}

.home-Review .swiper-pagination-bullet-active {
    background-color: #000
}

.home-Review .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    transition-property: transform
}

.home-Review .swiper-slide {
    margin: 0 7.5px;
    width: 315px
}

.swiper-programButton-next,
.swiper-programButton-prev,
.home-Review div.swiper-button-prev,
.home-Review div.swiper-button-next {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    opacity: 0;
    position: absolute;
    left: -15px;
    top: 0;
    z-index: 1;
    bottom: 0;
    transition-property: opacity;
    visibility: hidden;
    width: 32px
}

.swiper-programButton-next,
.home-Review div.swiper-button-next {
    right: -15px;
    left: auto
}

.swiper-programButton-next:before,
.swiper-programButton-prev:before,
.home-Review .swiper-button-prev:before,
.home-Review .swiper-button-next:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11.5px 20px 11.5px 0;
    border-color: transparent #000 transparent transparent;
    border-right-color: currentColor;
    content: ""
}

.swiper-programButton-next,
.home-Review .swiper-button-next {
    right: -15px;
    left: auto
}

.swiper-programButton-next:before,
.home-Review .swiper-button-next:before {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.home-Review_Unit {
    position: relative;
    transition-property: opacity;
    z-index: 1;
    background-color: #fff;
    box-shadow: var(--baseShadow);
    margin-bottom: 12px;
    overflow: hidden
}

.home-Review_Unit img {
    transition: all .3s
}

.home-Review_Unit:has(a:hover) .home-Review_Img img,
.home-Review_Unit:has(a:hover) .page-reviewItem_imgWrapper img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.page-review_Unit .page-reviewItem:hover .page-reviewItem_imgWrapper img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.home-Review_Img {
    height: 217px;
    overflow: hidden
}

.home-Review_Img img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.home-Review_Link:hover {
    opacity: 1
}

.home-Review_Link:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1
}

.home-Review_Name {
    --em: 15;
    --lh: 35;
    margin-left: calc(5em/var(--em))
}

.home-Review_Side {
    padding: 15px;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.4;
    gap: 13px;
    -ms-flex-align: start;
    align-items: start
}

.home-Review_Side_Img {
    width: 74px;
    height: 74px
}

.home-Review_Side_Img+div {
    -ms-flex: 1;
    flex: 1
}

.home-Review_Side_Img img {
    width: 100%;
    height: 100%;
    overflow: cover
}

.home-Review_Name b {
    font-size: 18px
}

.home-Review_Name span {
    font-size: 10px;
    margin-left: 4px
}

.home-Review_Duration>div {
    margin-top: 5px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.home-Review_Duration>div dt {
    margin-right: 10px;
    font-size: 10px;
    width: 62px;
    font-weight: 600;
    line-height: 19px;
    text-align: center;
    background-color: #e4e4e4;
    border-radius: 15px
}

.home-Review_Btn {
    margin-top: calc(16em/var(--em))
}

.home-Review_Title {
    font-size: 16px;
    font-weight: 600;
    padding: 14px 15px 0;
    overflow: hidden;
    display: -webkit-box;
    min-height: calc(3.8em + 14px);
    -webkit-box-orient: vertical;
    /*! autoprefixer: on */
    -webkit-line-clamp: 2
}

.home-Teacher_Btn {
    margin-top: 35px
}

.home-Creator {
    padding-top: calc(24em/var(--em));
    padding-bottom: calc(60em/var(--em))
}

.home-Creator_Text {
    margin-top: calc(38em/var(--em))
}

.home-Creator_Container {
    margin-top: calc(22em/var(--em));
    position: relative
}

.home-Creator_Container.swiper-initialized~.swiper-button-prev,
.home-Creator_Container.swiper-initialized~.swiper-button-next {
    opacity: 1;
    visibility: visible
}

.home-Creator_Container.swiper-initialized~.swiper-button-disabled {
    opacity: 0
}

.home-Creator .swiper-pagination {
    display: -ms-grid;
    display: grid;
    gap: calc(10em/var(--em));
    grid-auto-flow: column;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: calc(21em/var(--em))
}

.home-Creator .swiper-pagination-bullet {
    background-color: #e6e6e6;
    border-radius: 50%;
    height: calc(7em/var(--em));
    transition-property: background-color;
    width: calc(7em/var(--em))
}

.home-Creator .swiper-pagination-bullet-active {
    background-color: #000
}

.home-Creator .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    transition-property: transform
}

.home-Creator .swiper-slide {
    padding-right: 10px;
    padding-left: 10px;
    width: 260px
}

.home-Creator .swiper-button-prev,
.home-Creator .swiper-button-next {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    -ms-flex-pack: end;
    justify-content: end;
    opacity: 0;
    padding-right: calc(10em/var(--em));
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    transition-property: opacity;
    visibility: hidden;
    width: 62px
}

.home-Creator .swiper-button-prev:before,
.home-Creator .swiper-button-next:before {
    border: solid transparent;
    margin-top: -88px;
    border-width: 11.5px 20px 11.5px 0;
    border-right-color: currentColor;
    content: ""
}

.home-Creator .swiper-button-next {
    -ms-flex-pack: start;
    justify-content: start;
    padding-right: 0;
    padding-left: calc(10em/var(--em));
    right: 0;
    left: auto
}

.home-Creator .swiper-button-next:before {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.home-Creator_Unit {
    display: -ms-grid;
    display: grid;
    position: relative;
    transition-property: opacity;
    z-index: 1
}

.home-Creator_Unit .home-Creator_Img img {
    transition: all .3s
}

.home-Creator_Unit:has(a:hover) .home-Creator_Img img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.home-Creator_Name {
    --em: 16;
    --lh: 24;
    font-weight: 700;
    grid-area: 1/1;
    place-self: center;
    aspect-ratio: 1/1;
    width: 46.5%;
    z-index: 2
}

.home-Creator_Name img {
    border-radius: 50%
}

.home-Creator_Link {
    display: -ms-grid;
    display: grid;
    gap: calc(3em/var(--em));
    -ms-grid-column-align: center;
    justify-items: center
}

.home-Creator_Link span {
    visibility: hidden
}

.home-Creator_Link:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1
}

.home-Creator_Img {
    grid-area: 1/1;
    position: relative;
    z-index: 1;
    overflow: hidden;
    aspect-ratio: 240/318;
    box-shadow: var(--baseShadow)
}

.home-Creator_Img img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.home-Creator_Img:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1
}

.home-Creator_Img img {
    height: 100%;
    width: 100%;
    object-fit: cover
}

.home-Creator_Activity {
    --lh: 17;
    display: -ms-grid;
    display: grid;
    font-weight: 700;
    -ms-grid-column-align: center;
    justify-items: center;
    margin-top: calc(15em/var(--em))
}

.home-Creator_Activity dt {
    font-size: 14px
}

.home-Creator_Activity dd {
    font-size: 16px
}

.home-Creator_Activity dd {
    --em: 16;
    --lh: 24
}

.home-Creator_Btn {
    margin-top: calc(32em/var(--em))
}

.home-FAQ {
    background-color: #e5e5e5;
    padding-top: calc(23em/var(--em));
    padding-bottom: 12vw;
    position: relative;
    z-index: 1
}

.home-FAQ:before {
    background-color: #e5e5e5;
    content: "";
    width: 100%;
    aspect-ratio: 1253/140;
    -webkit-mask-image: url(assets/img/contact-bottom.png);
    mask-image: url(assets/img/contact-bottom.png);
    -webkit-mask-size: 100% auto;
    mask-size: 100% auto;
    position: absolute;
    right: 0;
    left: 0;
    top: 1px;
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.home-FAQ_List {
    margin-top: 30px;
    margin-bottom: 35px;
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
}

.home-FAQ_List>div {
    background-color: #fff;
    border: 1px solid #007582;
    margin-bottom: 10px;
    padding: 19px 15px
}

.home-FAQ_List__page {
    margin-bottom: 18px
}

.home-FAQ_Q {
    position: relative;
    z-index: 1;
    padding-left: 40px;
    padding-right: 35px;
    cursor: pointer;
    font-size: 13px
}

.home-FAQ_Q.Open+.home-FAQ_A {
    padding-top: 18px;
    border-top: 1px dashed #c6c6c6;
    margin-top: 15px;
    min-height: 2.7em
}

.home-FAQ_Q.Open .home-FAQ_switch:after {
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.home-FAQ_Q:before {
    position: absolute;
    left: 0;
    top: -20px;
    color: #72d9cc;
    content: "Q";
    font-size: 36px;
    font-weight: 500
}

.home-FAQ_Q:after {
    position: absolute;
    content: "";
    display: block;
    top: -18px;
    left: -15px;
    height: calc(100% + 36px);
    width: calc(100% + 30px)
}

.home-FAQ_A {
    padding-left: 40px;
    max-height: 0;
    transition: all .3s;
    overflow: hidden;
    position: relative;
    z-index: 1;
    box-sizing: content-box
}

.home-FAQ_A:before {
    left: 0;
    position: absolute;
    top: 5px;
    color: #d9d9d9;
    content: "A";
    font-size: 36px;
    font-weight: 500
}

.home-FAQ_switch {
    width: 15px;
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 15px
}

.home-FAQ_switch:before,
.home-FAQ_switch:after {
    content: "";
    height: 1px;
    background-color: #007582;
    width: 100%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: all .3s
}

.home-FAQ_switch:before {
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.home-FAQ_switch:after {
    -ms-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg)
}

.home-News {
    background-color: #e5e5e5;
    padding-top: 6px;
    padding-bottom: calc(31em/var(--em))
}

.home-trial {
    background-color: #e5e5e5;
    padding-top: 20px;
    padding-bottom: 100px
}

.home-trial .page_whiteBack {
    margin-top: 30px
}

.home-News_Inner {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
}

.home-News_Pick {
    --let: .06em;
    background-color: #fff;
    display: -ms-grid;
    display: grid;
    padding-right: calc(24em/var(--em));
    padding-bottom: calc(26em/var(--em));
    padding-left: calc(24em/var(--em));
    position: relative;
    transition-property: opacity
}

.home-News_Pick:has(a:hover) {
    opacity: .7
}

.home-News_Pick:after {
    box-shadow: 0 0 0 1px #007582 inset;
    content: "";
    pointer-events: none;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0
}

.home-News_Pick .home-News_Category {
    margin-top: calc(22em/var(--em))
}

.home-News_Pick .home-News_Title {
    margin-top: calc(16em/var(--em))
}

.home-News_Pick .home-News_Date {
    justify-self: end;
    margin-top: calc(21em/var(--em));
    margin-right: calc(-7em/var(--em))
}

.home-News_Img {
    margin-right: calc(-24em/var(--em));
    margin-left: calc(-24em/var(--em))
}

.home-News_Img img {
    height: calc(193em/var(--em));
    object-fit: cover
}

.home-News_Category {
    font-size: 11px;
    color: #007582;
    font-weight: 700
}

.home-News_Title {
    font-weight: 700;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /*! autoprefixer: on */
    -webkit-line-clamp: 2
}

.home-News_Link {
    font-size: 13px
}

.home-News_Link:hover {
    text-decoration: underline
}

.home-News_Link:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1
}

.home-News_Text {
    --lh: 20;
    display: -webkit-box;
    font-weight: 700;
    margin-top: calc(8.5em/var(--em));
    margin-bottom: calc(-1.5em/var(--em));
    overflow: hidden;
    -webkit-box-orient: vertical;
    /*! autoprefixer: on */
    -webkit-line-clamp: 3
}

.home-News_Date {
    --em: 12;
    --lh: 18;
    font-size: 10px
}

.home-News_Container {
    display: -ms-grid;
    display: grid;
    margin-top: calc(31em/var(--em))
}

.home-News_Unit {
    --let: .06em;
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    gap: 0 calc(20em/var(--em));
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    padding-top: calc(18em/var(--em));
    padding-bottom: calc(15em/var(--em));
    position: relative
}

.home-News_Unit:before,
.home-News_Unit:after {
    background-color: #007582;
    content: "";
    -ms-grid-column: span 2;
    grid-column: span 2;
    height: 1px;
    position: absolute;
    right: 0;
    left: 0;
    top: 0
}

.home-News_Unit:after {
    top: auto;
    bottom: 0
}

.home-News_Unit+.home-News_Unit {
    margin-top: -1px
}

.home-News_Btn {
    margin-top: calc(32em/var(--em));
    position: relative;
    z-index: 2
}

.home-Blog {
    background-color: #e5e5e5;
    padding-top: calc(31em/var(--em));
    padding-bottom: calc(115em/var(--em))
}

.home-Blog__single {
    background-color: transparent;
    padding-bottom: 0
}

.home-Blog.home-Blog__article {
    background-color: transparent;
    padding: 0
}

.home-Blog.home-Blog__article .home-Blog_Container.swiper-initialized {
    overflow: visible
}

.home-Blog_Container {
    margin-top: calc(38em/var(--em));
    padding-bottom: calc(20em/var(--em));
    position: relative
}

.home-Blog_Container .swiper-slide {
    box-shadow: var(--baseShadow);
    background-color: #fff
}

.home-Blog_Container .swiper-slide .home-Blog_Unit:before {
    box-shadow: none
}

.home-Blog_Unit {
    background-color: #fff;
    display: -ms-grid;
    display: grid;
    position: relative;
    transition-property: opacity;
    z-index: 1
}

.home-Blog_Unit:has(a:hover) .home-Blog_Img img,
a.home-Blog_Unit:hover .home-Blog_Img img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.home-Blog_Unit:before {
    box-shadow: var(--baseShadow);
    content: "";
    position: absolute;
    height: 100%;
    inset: 0;
    z-index: -1
}

.home-Blog_Img {
    overflow: hidden;
    aspect-ratio: 316/237
}

.home-Blog_Img img {
    transition: all .3s;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.home-Blog_Category {
    --em: 10;
    --lh: 15;
    color: #007582;
    font-weight: 700
}

.home-Blog_meta {
    width: 100%;
    padding: 25px;
    overflow: hidden
}

.home-Blog_Title {
    font-size: 18px;
    font-weight: 700;
    margin-top: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 18px
}

.home-Blog_Link:hover {
    opacity: 1
}

.home-Blog_Link:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1
}

.home-Blog_Text {
    font-weight: 700
}

.home-Blog_Text P {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /*! autoprefixer: on */
    -webkit-line-clamp: 2
}

.home-Blog_bottom {
    display: -ms-flexbox;
    display: flex;
    margin-top: 12px;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center
}

.home-Blog_Author {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-grid;
    display: grid;
    gap: 10px;
    -ms-grid-columns: 46px auto;
    grid-template-columns: 46px auto;
    -ms-flex-pack: start;
    justify-content: start;
    justify-self: start
}

.home-Blog_Author img {
    border-radius: 50%;
    object-fit: cover
}

.home-Blog_Date {
    font-size: 11px;
    justify-self: end
}

.home-Blog_Btn {
    margin-top: calc(21em/var(--em))
}

.page-mainImg_Container.swiper-initialized .swiper-button-prev,
.page-mainImg_Container.swiper-initialized .swiper-button-next,
.swiper-initialized .thumbnail-button-prev,
.swiper-initialized .thumbnail-button-next {
    opacity: 1;
    visibility: visible
}

.page-mainImg_Container.swiper-initialized .swiper-button-disabled {
    opacity: 0
}

.page-mainImg_Container .swiper-wrapper,
.page-profFront_imgMain_thumbnail .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    margin: 0 auto;
    transition-property: transform
}

.page-mainImg_Container .swiper-button-prev,
.page-mainImg_Container .swiper-button-next,
.thumbnail-button-prev,
.thumbnail-button-next {
    display: -ms-grid;
    display: grid;
    opacity: 0;
    place-items: center;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    transition-property: opacity;
    visibility: hidden;
    width: 30px;
    z-index: 1
}

.page-mainImg_Container .swiper-button-prev,
.thumbnail-button-prev {
    left: -15px
}

.page-mainImg_Container .swiper-button-prev:before,
.page-mainImg_Container .swiper-button-next:before,
.thumbnail-button-prev:before,
.thumbnail-button-next:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11.5px 20px 11.5px 0;
    border-color: transparent #000 transparent transparent
}

.page-mainImg_Container .swiper-button-next,
.thumbnail-button-next {
    right: -15px;
    left: auto
}

.page-mainImg_Container .swiper-button-next:before,
.thumbnail-button-next:before {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.page-mainImg_Container .swiper-slide {
    aspect-ratio: 345/258
}

.page-mainImg_Container .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page-creator_Container.swiper-initialized .swiper-button-prev,
.page-creator_Container.swiper-initialized .swiper-button-next {
    opacity: 1;
    visibility: visible
}

.page-creator_Container.swiper-initialized .swiper-button-disabled {
    opacity: 0
}

.page-creator_Container .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    margin: 0 auto;
    transition-property: transform
}

.page-creator_Container .swiper-button-prev,
.page-creator_Container .swiper-button-next {
    display: -ms-grid;
    display: grid;
    opacity: 0;
    place-items: center;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    transition-property: opacity;
    visibility: hidden;
    width: 30px;
    z-index: 1
}

.page-creator_Container .swiper-button-prev {
    left: -18px
}

.page-creator_Container .swiper-button-prev:before,
.page-creator_Container .swiper-button-next:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11.5px 20px 11.5px 0;
    border-color: transparent #000 transparent transparent
}

.page-creator_Container .swiper-button-prev:before,
.page-creator_Container .swiper-button-next:before {
    margin-top: -120px
}

.page-creator_Container .swiper-button-next {
    right: -18px;
    left: auto
}

.page-creator_Container .swiper-button-next:before {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

:root {
    --rem: 12;
    --pd: calc(14.5rem/var(--rem));
    --w: 3.75;
    --let: .1em;
    --baseShadow: 0 4px 10px 0 rgba(0, 0, 0, .3);
    --baseShadow2: 0 4px 10px 0 rgba(0, 0, 0, .15)
}

.st-Target {
    position: relative;
    top: calc(var(--pt, 0)*-1/var(--em) + 1px)
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

body:not(.home) {
    padding-top: 60px
}

body:not(.home) .st-Header_Logo {
    color: #000
}

body:not(.home) .st-Header_Hamburger label:before,
body:not(.home) .st-Header_Hamburger label:after {
    background-color: #000
}

body:not(.home) .st-Header_Hamburger span {
    background-color: #000
}

.page_lyout {
    margin-bottom: 90px
}

.bl_svgWrapper {
    display: none
}

.btn01 {
    display: block;
    margin: 0 auto;
    padding: 17px 10px;
    width: fit-content;
    width: 100%;
    border-radius: 30px;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    transition: all 0s
}

.btn01.btn01__orange {
    padding: 16px 10px;
    border: 1px solid #e3441e;
    background-color: #e3441e;
    color: #fff
}

.btn01.btn01__orange:hover {
    border-color: #d62c04;
    background-color: #fff;
    color: #d62c04;
    opacity: 1
}

.btn01__white {
    background-color: #fff;
    color: #e3441e
}

.btn01__white:hover {
    background-color: #000;
    color: #fff;
    opacity: 1;
    transition: all 0s
}

.page_header01 {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    padding-bottom: 30px;
    background-image: url(assets/img/header/page_header_sp.png);
    background-size: cover;
    text-align: center;
    -ms-flex-align: center;
    align-items: center;
    aspect-ratio: 75/36;
    -ms-flex-pack: center;
    justify-content: center
}

.page_header01.page_header01__company,
.page_header01.page_header01__contact {
    margin-bottom: 0;
    background-image: url(assets/img/header/page_header_sp_company.png)
}

.page_header01 h1 {
    font-weight: 700;
    font-size: 30px
}

.page_header01 h1:after {
    display: block;
    color: #007582;
    content: attr(data-en);
    font-weight: 500;
    font-style: italic;
    font-size: 12px;
    font-family: Jost, sans-serif
}

.page_header02 {
    margin-bottom: 30px;
    background-image: url(assets/img/header/page_header_primaryschool_sp@2x.png);
    background-size: cover;
    aspect-ratio: 750/690
}

.page_header02 .page_pageHeader02_heading {
    color: #fff;
    text-shadow: 0 0 10px rgba(64, 223, 207, .7)
}

.page_header02 .page_pageHeader02_txt {
    color: #fff;
    text-shadow: 0 0 26px #40dfcf
}

.page_header02 .home-Hero_Lesson {
    width: 54.8vw
}

.page_header02 .page_pageHeader02_txt {
    display: none
}

.page_header04 {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    background-image: url(assets/img/header/page_header_juniorschool_sp@2x.png);
    background-size: cover;
    width: 100%;
    -ms-flex-align: end;
    align-items: flex-end;
    aspect-ratio: 750/930;
    -ms-flex-pack: center;
    justify-content: center
}

.page_header04 .page_pageHeader02_badge {
    display: block;
    width: fit-content
}

.page_header04 .page_pageHeader02_txt {
    margin-bottom: 20px;
    padding: 0 5px;
    color: #007582;
    line-height: 1.2
}

.page_header04 .page_pageHeader02_heading {
    margin-bottom: 5px;
    width: 92vw;
    background-color: #fff;
    color: #007582;
    text-align: center
}

.page_header04 .home-Hero_Lesson {
    width: 60vw
}

.page_header04 .page_header02__inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 38px;
    -ms-flex-align: center;
    align-items: center
}

.page_header04 .home-Hero_Lesson {
    margin-right: 0;
    width: 68vw
}

.page_header04 .page_pageHeader02_txt {
    background-color: #fff
}

.page_header02,
.page_header04 {
    padding: 18px 15px 0
}

.page_header02 .home-Hero_Lesson,
.page_header04 .home-Hero_Lesson {
    margin-left: 0;
    line-height: 1.5
}

.page_header02 .Hero_Lesson_top,
.page_header04 .Hero_Lesson_top {
    padding: 5px 0;
    text-align: center;
    font-size: 10px
}

.page_header02 .home-Hero_Lesson_bottom,
.page_header04 .home-Hero_Lesson_bottom {
    padding: 13.5px 17.5px;
    color: #fff;
    text-align: center;
    font-weight: 600;
    font-size: 20px
}

.page_header02 .home-Hero_Lesson_bottom span,
.page_header04 .home-Hero_Lesson_bottom span {
    padding: 5.5px 0;
    text-align: center;
    font-size: 10px
}

.page_pageHeader02_badge {
    display: inline-block;
    padding: 4px 24px;
    border-radius: 20px;
    background-color: #007582;
    color: #fff;
    font-weight: 600;
    font-size: 3.2vw
}

.page_pageHeader02_heading {
    margin: 10px 0 15px;
    font-weight: 600;
    font-size: 7.5vw;
    line-height: 1.21
}

.page_pageHeader02_txt {
    font-weight: 600;
    font-size: 13px
}

.page_header03 {
    margin-bottom: 40px;
    padding-top: 40px;
    text-align: center;
    font-weight: 600;
    font-size: 24px
}

.page_header03 h1:after {
    display: block;
    color: #007582;
    content: attr(data-en);
    font-style: italic;
    font-size: 12px;
    font-family: Jost, sans-serif
}

#breadcrumbs {
    overflow: auto;
    padding: 15px;
    white-space: nowrap;
    font-weight: 700;
    font-size: 10px
}

#breadcrumbs a {
    color: #adadad;
    text-decoration: underline
}

.page_item {
    padding: 0 15px
}

.page_item__school01 {
    position: relative
}

.page_item__base {
    margin-top: 50px
}

.page_item__base_bottom {
    margin-bottom: 50px
}

.page_item__event {
    overflow: hidden;
    margin-top: 50px;
    padding-right: 0;
    padding-left: 0
}

.page_item__teacher {
    padding-top: 15px
}

.page_item__faq {
    padding-right: 0;
    padding-left: 0
}

.page_item__faq:not(:first-child) {
    margin-top: 40px
}

.page_item__lesson {
    position: relative
}

.page_item__lesson:after {
    position: absolute;
    top: -10px;
    right: 50px;
    display: block;
    width: 43px;
    height: 48px;
    background-image: url(assets/img/character/chara01.png);
    background-size: cover;
    content: ""
}

.page_item__event {
    padding-bottom: 35px;
    background-position: 2.5% 0 !important;
    background-size: 9.1% auto !important
}

.page_item__event {
    background-position: 2.5% 0 !important;
    background-size: 9.1% auto !important
}

.page_item__dot {
    padding-top: 30px
}

.page_item__01 {
    margin-bottom: 20px;
    padding-bottom: 84%;
    background-image: url(assets/img/concept/img01.png);
    background-position: right bottom;
    background-size: 135% auto
}

.page_item__02 {
    padding-top: 18px
}

.page_item__03 {
    margin-bottom: 60px;
    padding-top: 40px;
    padding-bottom: 120%;
    background-image: url(assets/img/concept/img02.png);
    background-position: right bottom;
    background-size: 160% auto
}

.page_item__04 {
    margin-bottom: 20px;
    padding-bottom: 104%;
    background-image: url(assets/img/concept/img03.png);
    background-position: right bottom;
    background-size: 155% auto
}

.page_item__05 {
    margin-bottom: 20px;
    padding-bottom: 115%;
    background-image: url(assets/img/concept/img04.png);
    background-position: right bottom;
    background-size: 170% auto
}

.page_item__mesh {
    padding-top: 20px;
    padding-bottom: 1px;
    background-image: url(assets/img/parts/mesh_sp.png);
    background-position: 2.55% 0;
    background-size: 11.2% auto;
    background-repeat: repeat
}

.page_item__orange_mesh {
    background-image: url(assets/img/parts/mesh_orange_sp.png);
    background-position: 2% 0;
    background-size: 9.08% auto;
    background-repeat: repeat
}

.page_item__dot {
    padding-top: 20px;
    padding-bottom: 1px;
    background-image: url(assets/img/parts/dot_sp.png);
    background-position: 2% 30%;
    background-size: 4.15% auto;
    background-repeat: repeat
}

.page_item__contact {
    padding-bottom: 60px
}

.page_item__Creator {
    position: relative
}

.page_item__Creator:after,
.page_item__Creator:before {
    position: absolute;
    top: 0;
    z-index: 1;
    width: calc(50vw - 520px);
    height: 100%;
    content: ""
}

.page_item__Creator:after {
    left: 0;
    background: linear-gradient(to right, #fff 0, rgba(255, 255, 255, 0) 100%)
}

.page_item__Creator:before {
    right: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, #fff 100%)
}

.page.page-id-11 .page_item__event {
    background-position: 2.5% 0 !important;
    background-size: 9.08% auto !important
}

.page_item01_Title {
    margin-top: 30px;
    margin-bottom: 20px;
    text-align: center;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.41
}

.page_item01_Title span {
    color: #e3441e
}

.page_item01_txt01 {
    margin-bottom: 15px;
    text-align: center;
    font-weight: 600;
    font-size: 18px
}

.page_item01_txt02 {
    margin-bottom: 15px;
    font-size: 13px
}

.page_item01_txt02:last-child {
    margin-bottom: 0
}

.page_whiteBack {
    margin-top: 40px;
    border: 1px solid #d5d5d5;
    border-bottom: none;
    background-color: #fff
}

.page_whiteBack_box {
    padding: 25px
}

.page_whiteBack_box:not(:last-child) {
    border-bottom: 1px solid #d5d5d5
}

.page_sideImg_heading {
    color: #007582;
    font-size: 18px
}

.page_sideImg_heading br {
    display: none
}

.page_sideImg_img img {
    display: block;
    margin: 20px auto;
    width: 195px
}

.page_sideImg_txt {
    margin-bottom: 30px;
    font-size: 13px
}

.page_circle_list {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
    gap: 6px
}

.page_circle_list li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 50%;
    background-color: #72d9cc;
    font-weight: 600;
    font-size: 10px;
    -ms-flex-align: center;
    align-items: center;
    aspect-ratio: 1/1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-pack: center;
    justify-content: center
}

.page_circle_list li b {
    display: block;
    font-size: 16px
}

.page_circle_list li b span {
    font-size: 20px
}

.page_whiteBack_heading {
    margin-bottom: 18px;
    text-align: center;
    font-weight: 600;
    font-size: 18px
}

.page_halfUnit {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 30px
}

.page_halfUnit_heading {
    margin-bottom: 15px;
    padding: 3px 0;
    border-radius: 15px;
    background-color: #000;
    color: #fff;
    text-align: center;
    font-size: 13px
}

.page_halfUnit_txt {
    margin-bottom: 15px;
    text-align: center;
    font-size: 13px
}

.page_halfUnit_img {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.page_halfUnit_img__01 img {
    width: 207px
}

.page_halfUnit_img__02 {
    text-align: center;
    font-size: 16px
}

.page_halfUnit_img__02 img {
    margin-right: 23px;
    width: 70px
}

.page_halfUnit_img__02 b {
    color: #e6441e
}

.page_squareList {
    display: -ms-grid;
    display: grid;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 15px;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.page_squareList_imgWrapper {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1/1
}

.page_squareList_imgWrapper img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    margin-bottom: 15px;
    width: 130%;
    height: 130%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-block-size: inherit;
    max-inline-size: inherit
}

.page_squareList_title {
    font-size: 16px
}

.page_squareList_name {
    color: #b1b1b1
}

.page_ctaBox {
    padding: 25px 25px 35px;
    background-color: #e3441e;
    color: #fff;
    text-align: center
}

.page-id-50 .page_ctaBox {
    box-shadow: var(--baseShadow2)
}

.page_ctaBox_heading {
    position: relative;
    margin-bottom: 25px;
    font-size: 16px
}

.page_ctaBox_heading:before {
    right: 20px;
    bottom: -5px;
    -ms-transform: rotate(25deg);
    transform: rotate(25deg)
}

.page_ctaBox_heading:after {
    bottom: -5px;
    left: 20px;
    -ms-transform: rotate(-25deg);
    transform: rotate(-25deg)
}

.page_ctaBox_heading:before,
.page_ctaBox_heading:after {
    position: absolute;
    display: block;
    width: 2px;
    height: 35px;
    background-color: #fff;
    content: ""
}

.home-Section_Btn__back img {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.page-centerBox {
    text-align: center;
    font-size: 13px;
    line-height: 1.8
}

.page-centerBox .home-Section_Btn {
    margin: 50px auto 0
}

.page-centerBox .home-Section_Btn img {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.page-centerBox .page-centerBox_character {
    margin-bottom: 45px;
    width: 81px
}

.page-centerBox .page-centerBox_heading {
    margin-bottom: 30px;
    color: #007582;
    font-weight: 700;
    font-size: 20px
}

.school_clum2Txt {
    margin-bottom: 100px;
    line-height: 1.5
}

.school_clum2Txt>div:first-child {
    margin-bottom: 18px;
    text-align: center;
    font-weight: 700;
    font-size: 24px
}

.school_clum2Txt>div:first-child strong {
    color: #e2441e
}

.school_clum2Txt>div:last-child {
    font-size: 13px;
    line-height: 1.76
}

.school_clum2Txt>div:last-child b {
    background: linear-gradient(to bottom, rgba(64, 223, 207, 0) 0, rgba(64, 223, 207, 0) 40%, rgba(64, 223, 207, .4) 41%, rgba(64, 223, 207, .4) 100%)
}

.page_lessonBox {
    position: relative;
    margin-top: 50px;
    margin-bottom: 80px;
    padding-bottom: 15px;
    background-color: #fff;
    box-shadow: var(--baseShadow2)
}

.page_lessonBox:after,
.page_lessonBox:before {
    position: absolute;
    z-index: 2;
    display: block;
    background-size: cover
}

.page_lessonBox__02:after {
    top: -82px;
    left: -14px;
    width: 48px;
    height: 55px;
    background-image: url(assets/img/character/chara02.png);
    content: ""
}

.page_lessonBox__03:after {
    right: 20px;
    bottom: -90px;
    width: 46px;
    height: 55px;
    background-image: url(assets/img/character/chara04.png);
    content: ""
}

.page_lessonBox__03:before {
    top: -50px;
    right: -20px;
    display: none;
    width: 75px;
    height: 75px;
    background-image: url(assets/img/character/chara03.png);
    content: ""
}

.page_lessonItem {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 50px 0
}

.page_lessonItem>li {
    position: relative;
    padding-top: 8px;
    width: 50%
}

.page_lessonItem>li:after {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 3px;
    height: 20px;
    background-color: #dd441e;
    content: "";
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.page_lessonItem>li:last-child {
    padding-right: 25px
}

.page_lessonItem>li:last-child:after {
    display: none;
    content: ""
}

.page_lessonItem_header {
    position: absolute;
    top: -45px;
    left: 50%;
    font-style: italic;
    font-size: 30px;
    font-family: Jost, sans-serif;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.page_lessonItem_header:after {
    content: "ヶ月";
    font-size: 16px
}

.page_lessonItem_img {
    position: relative;
    z-index: 1;
    margin: 0 auto
}

.page_lessonItem_img img {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="4" /><feOffset dx="3" dy="3" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,.4)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, .4))
}

.page_lessonItem_img__badge {
    position: relative
}

.page_lessonItem_img__badge:after {
    position: absolute;
    bottom: -10px;
    left: -10px;
    display: block;
    width: 72px;
    height: 72px;
    background-image: url(assets/img/school/lesson_badge_sp.png);
    background-size: cover;
    content: ""
}

.page_lessonItem_img__type01 {
    width: 66.5%
}

.page_lessonItem_img__type02 {
    width: 91%
}

.page_lessonItem_img__type06 {
    width: 91%
}

.page_lessonItem_img__type03 {
    padding-top: 8px;
    width: 77%
}

.page_lessonItem_img__type04 {
    width: 93.5%
}

.page_lessonItem_img__type05 {
    padding-top: 8px;
    width: 71%
}

.page_lessonItem_img__type07 {
    padding-top: 8px;
    width: 77%
}

.page_lessonItem_name {
    color: #e6441e;
    font-weight: 600;
    font-size: 24px
}

.page_lessonItem_name:after {
    content: "さん";
    font-size: 13px
}

.page_lessonItem_grade {
    margin-bottom: 10px;
    color: #e6441e
}

.page_contactBox {
    position: relative;
    background-size: cover
}

.page_contactBox__01 {
    background-image: url(assets/img/school/experience01_sp.png);
    aspect-ratio: 750/559
}

.page_contactBox.page_contactBox__02 {
    background-image: url(assets/img/school/experience02_sp.png);
    aspect-ratio: 750/553
}

.page_contactBox__03 {
    background-image: url(assets/img/school/experience03_sp.png);
    aspect-ratio: 375/278
}

.page_contactBox.page_contactBox__04 {
    background-image: url(assets/img/school/experience04_sp.png);
    aspect-ratio: 749/479
}

.page_contactBox.page_contactBox__05 {
    background-image: url(assets/img/school/experience05_sp.png);
    aspect-ratio: 749/479
}

.page_contactBox__06 {
    background-image: url(assets/img/school/experience06_sp.png);
    aspect-ratio: 750/480
}

.page_contactBox a {
    position: absolute;
    right: 3.5vw;
    bottom: 10vw;
    z-index: 2;
    padding: 9px 0;
    width: 48%;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, .4);
    color: #e3441e;
    text-align: center;
    font-weight: 600;
    transition: all 0s
}

.page_contactBox a:hover {
    color: #fff;
    background-color: #000;
    opacity: 1
}

.page_contactBox a:after {
    position: absolute;
    right: 0;
    bottom: -5px;
    z-index: 2;
    display: block;
    width: 19px;
    height: 20px;
    background-image: url(assets/img/contact-cursor.svg);
    background-size: cover;
    content: ""
}

.charaImg {
    position: absolute
}

.charaImg__05 {
    top: 39.5%;
    left: -5px;
    width: 41px
}

.charaImg__06 {
    top: -25px;
    right: 40px;
    width: 54px
}

.charaImg__07 {
    right: 0;
    bottom: -30px;
    width: 48px
}

.charaImg__08 {
    display: none
}

.page-imgheader {
    margin-bottom: 25px;
    text-align: center
}

.page-imgheader__target img {
    width: 295px
}

.page-imgheader__teacher img {
    margin-top: 35px;
    width: 217px
}

.page-imgheader__point img {
    width: 206px
}

.page-imgheader__curriculum img {
    width: 248px
}

.page-imgheader__curriculum02 img {
    margin-top: 35px;
    width: 252px
}

.page_targetList {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 50px;
    line-height: 1.5;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center
}

.page_targetList li {
    padding: 8.5px;
    width: 172px
}

.page_targetList li img {
    position: relative;
    display: block
}

.page_targetList li:nth-child(1) img {
    margin: -30px auto 0;
    width: 89px
}

.page_targetList li:nth-child(2) img {
    margin: -35px auto 0;
    width: 100px
}

.page_targetList li:nth-child(3) img {
    margin: -60px auto 0;
    width: 111px
}

.page_targetList li:nth-child(4) img {
    margin: -48px auto 0;
    width: 128px
}

.page_targetList__primaryschool li .page_targetList_heading {
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 5px;
    width: 140px;
    height: 140px
}

.page_targetList__primaryschool li img {
    max-inline-size: inherit
}

.page_targetList__primaryschool li:nth-child(1) img {
    margin-top: -40px;
    width: 174px
}

.page_targetList__primaryschool li:nth-child(2) img {
    margin-top: -40px;
    margin-right: -5px;
    width: 130px
}

.page_targetList__primaryschool li:nth-child(3) img {
    margin-top: -40px;
    width: 107px
}

.page_targetList__primaryschool li:nth-child(4) img {
    margin-top: -30px;
    width: 95px;
    -ms-transform: translateX(5px);
    transform: translateX(5px)
}

.page_targetList_heading {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    width: 156px;
    height: 156px;
    border: 1px solid #000;
    border-radius: 50%;
    background-color: #fff;
    text-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.page_targetList_heading:after {
    position: absolute;
    bottom: -2px;
    left: 50%;
    display: block;
    width: 110px;
    height: 18px;
    background-color: #fff;
    content: "";
    -ms-transform: translateX(-51%) rotate(-4deg);
    transform: translateX(-51%) rotate(-4deg)
}

.page-pointUnit {
    display: -ms-grid;
    display: grid;
    margin-bottom: 50px;
    gap: 15px
}

.page-pointUnit__primaryschool .page-pointItem:before {
    color: #007582
}

.page-pointItem {
    padding: 20px 30px 25px;
    border: 2px solid #25423e;
    background-color: #fff;
    counter-increment: point
}

.page-pointItem:before {
    display: block;
    margin-bottom: 10px;
    color: #e3441e;
    content: counter(point);
    text-align: center;
    font-weight: 700;
    font-size: 26px;
    font-family: Jost, sans-serif;
    line-height: 1.5
}

.page-pointItem_heading {
    margin-bottom: 10px;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5
}

.page-pointItem_txt {
    font-size: 13px;
    line-height: 1.76
}

.page-pointItem_txt b {
    background: linear-gradient(to bottom, rgba(227, 68, 30, 0) 0, rgba(227, 68, 30, 0) 40%, rgba(227, 68, 30, .38) 41%, rgba(227, 68, 30, .38) 100%);
    font-weight: 700
}

.page_sideImg02 {
    margin-bottom: 30px
}

.page_squareBadge {
    padding: .5px 5px;
    min-width: 112px;
    width: fit-content;
    background-color: rgba(64, 223, 207, .4);
    text-align: center;
    font-weight: 600;
    font-size: 16px
}

.page_sideImg02_img {
    margin-top: 15px;
    margin-bottom: 18px;
    aspect-ratio: 870/489;
    grid-column: 2/3;
    grid-row: 1/3
}

.page_sideImg02_img img {
    margin: 0;
    width: 100%
}

.page_sideImg02_img img,
.page_sideImg02_img iframe {
    border: none;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page_sideImg02_img figcaption {
    display: block;
    margin-top: 10px
}

.page_sideImg02_txt {
    font-size: 13px;
    line-height: 1.92
}

.page_sideImg02_txt a {
    display: block;
    width: fit-content;
    color: #007582;
    text-decoration: underline
}

.page_sideImg02_txt p {
    margin-bottom: 15px
}

.page_sideImg02_txt p:last-child {
    margin-bottom: 0
}

.page_sideImg02_txt__ninja {
    padding-bottom: 10px;
    background-image: url(assets/img/school/ninja.png);
    background-position: right bottom;
    background-size: 85px 93px
}

.page-pointLayout01 {
    margin-bottom: 25px;
    font-size: 13px
}

.page-pointLayout01:last-child {
    margin-bottom: 60px
}

.page-pointLayout01_img {
    margin: 15px 0 20px;
    box-shadow: var(--baseShadow2)
}

.page-pointLayout01_list {
    display: -ms-flexbox;
    display: flex;
    margin: 15px 0 20px;
    background-color: #fff;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.page-pointLayout01_list li {
    width: 31.4%;
    box-shadow: var(--baseShadow2);
    aspect-ratio: 108/153
}

.page-pointLayout01_list img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page-cardUnit {
    margin-top: 30px
}

.page-cardItem {
    display: block;
    box-shadow: var(--baseShadow)
}

.page-cardItem:hover {
    opacity: 1
}

.page-cardItem:hover .page-cardItem_imgWrapper img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.page-cardItem:not(:last-child) {
    margin-bottom: 30px
}

.page-cardItem_imgWrapper {
    overflow: hidden;
    aspect-ratio: 345/223
}

.page-cardItem_imgWrapper img {
    transition: all .3s;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page-cardItem_meta {
    padding: 25px 25px 40px
}

.page-cardItem_name {
    margin-bottom: 5px;
    color: #e6441e;
    font-weight: 600;
    font-size: 18px
}

.page-cardItem_activity {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px;
    -ms-flex-align: center;
    align-items: center;
    gap: 17px
}

.page-cardItem_activity dd {
    padding: 3px 9px;
    border: 1px solid #d5d5d5
}

.page-planUnit {
    position: relative;
    margin-top: 30px
}

.page-planUnit .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    transition-property: transform;
    grid-auto-flow: column
}

.page-cardItem_txt {
    font-size: 13px;
    line-height: 1.92
}

.page-planItem_catch figcaption {
    display: block;
    margin: 15px 0 8px
}

.page-planItem_catch figcaption span {
    font-size: 10px
}

.page-planItem_heading {
    margin-bottom: 5px;
    letter-spacing: -2px;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.2
}

.page-planItem {
    margin: 0 10px;
    padding: 30px 39px 25px;
    width: 280px;
    border-radius: 11px;
    box-shadow: var(--baseShadow);
    text-align: center
}

.page-planItem__01 {
    background-color: #fbeedd
}

.page-planItem__01 .page-planItem_catch img {
    width: 117px
}

.page-planItem__01 .page-planItem_list02 li {
    border: 2px solid #e3441e
}

.page-planItem__02 {
    background-color: #ebf6f7
}

.page-planItem__02 .page-planItem_catch img {
    width: 52px
}

.page-planItem__02 .page-planItem_list02 li {
    border: 2px solid #40dccc
}

.page-planItem__03 {
    background-color: #fbe3e8
}

.page-planItem__03 .page-planItem_catch img {
    width: 94px
}

.page-planItem__03 .page-planItem_list02 li {
    border: 2px solid #d50048
}

.page-planItem_list01 {
    font-size: 10px;
    line-height: 1.8
}

.page-planItem_list01 li:before {
    content: "・"
}

.page-planItem_list02 {
    display: -ms-flexbox;
    display: flex;
    margin: 20px 0 5px;
    gap: 10px
}

.page-planItem_list02 li {
    padding: 0 13px;
    border-radius: 15px
}

.page-planItem_list02 li:last-child {
    -ms-flex: 1;
    flex: 1
}

.page-planItem_table {
    width: 100%;
    font-size: 14px;
    line-height: 1.4
}

.page-planItem_table th,
.page-planItem_table td {
    padding: 4px 0
}

.page-planItem_table th {
    width: 40%
}

.page-planItem_table th b {
    font-weight: 700;
    font-size: 18px
}

.page-planItem_table td b {
    font-weight: 700;
    font-size: 22px
}

.page-planItem_table tr:not(:last-child) {
    border-bottom: 1px solid #000
}

.page-money {
    margin-top: 40px;
    padding: 25px;
    box-shadow: var(--baseShadow2);
    text-align: center
}

.page-money_heading {
    display: inline-block;
    margin-bottom: 12px;
    padding: 2px;
    width: 110px;
    border-radius: 15px;
    background-color: #000;
    color: #fff
}

.page-money_split {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 25px;
    padding-bottom: 8px;
    border-bottom: 1px solid #000
}

.page-money_split_item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 50%;
    font-size: 18px;
    font-family: Jost, sans-serif;
    line-height: 1.2;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.page-money_split_item b {
    font-weight: 500
}

.page-money_split_item:first-child {
    border-right: 1px dashed #000
}

.page-money_split_item b {
    font-size: 26px
}

.page-money_split_item small {
    display: block;
    font-size: 10px
}

.page-money_list {
    position: relative;
    line-height: 1.3
}

.page-money_list:after {
    position: absolute;
    top: -35px;
    right: -15px;
    display: block;
    width: 95px;
    height: 95px;
    background-image: url(assets/img/school/campaign_badge.svg);
    background-size: cover;
    content: ""
}

.page-money_list>div {
    margin-bottom: 15px
}

.page-money_list dd {
    font-size: 14px
}

.page-money_list dd b {
    font-size: 24px;
    font-family: Jost, sans-serif
}

.page-money_txt {
    font-size: 14px
}

.page-money_method {
    margin-top: 10px;
    padding: 15px 10px;
    background-color: #d7d7d7;
    font-size: 13px
}

.page-money_method small {
    display: block;
    margin-top: 5px;
    font-size: 10px
}

.page-title_Text {
    margin-top: 20px;
    text-align: center;
    font-size: 13px
}

.page-timetableBox {
    margin-top: 18px;
    margin-bottom: 60px;
    padding: 25px;
    box-shadow: var(--baseShadow2)
}

.page-timetable_time {
    display: -ms-flexbox;
    display: flex;
    margin: 0 -25px 20px;
    text-align: center
}

.page-timetable_time>div {
    width: 50%
}

.page-timetable_time>div:first-child {
    border-right: 1px solid #000
}

.page-timetable_list li {
    margin: 8px 0;
    font-size: 18px;
    font-family: Jost, sans-serif
}

.page-timetable_heading {
    margin: 0 auto 20px;
    padding: 2px 0;
    width: 80px;
    border-radius: 12px;
    background-color: #40dccc;
    text-align: center;
    font-size: 12px
}

.page-timetable_heading01 {
    margin-bottom: 12px;
    font-weight: 600;
    font-size: 18px
}

.page-timetable_txt {
    margin-bottom: 4px;
    font-size: 13px
}

.page-currculumbox {
    margin-bottom: 50px;
    padding-top: 40px
}

.page-currculumbox .home-Center_Title:before {
    line-height: 1.2
}

.page-small-txt {
    font-size: 10px
}

.page-card02 {
    display: block;
    margin-top: 30px;
    margin-bottom: 35px;
    background-color: #fff;
    box-shadow: var(--baseShadow)
}

.page-card02:hover {
    opacity: 1
}

.page-card02:hover .page-card02_imgWrapper img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.page-card02_imgWrapper {
    overflow: hidden
}

.page-card02_imgWrapper img {
    transition: all .3s
}

.page-card02_meta {
    padding: 23px 25px 25px;
    font-size: 13px
}

.page-card02_cat {
    margin-bottom: 4px;
    color: #007582;
    font-size: 11px
}

.page-card02_heading {
    margin-bottom: 8px;
    font-size: 16px
}

.page-card02_txt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    /*! autoprefixer: on */
    -webkit-line-clamp: 2
}

.page-card02_bottom {
    display: -ms-flexbox;
    display: flex;
    margin-top: 10px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.page-card02_prof {
    -ms-flex-align: center;
    align-items: center
}

.page-card02_prof img {
    margin-right: 2px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover
}

.page-card02_time {
    font-style: italic;
    font-family: Jost, sans-serif
}

.home-Bnr__event {
    margin-top: 30px;
    padding: 0 15px
}

.page-border_table {
    margin-top: 20px;
    width: 100%
}

.page-border_table th {
    margin-right: 14px;
    width: 100px;
    border-bottom: 1px solid #007582;
    color: #007582;
    font-weight: 600;
    font-size: 14px
}

.page-border_table td {
    border-bottom: 1px solid #d5d5d5;
    font-size: 13px;
    -ms-flex: 1;
    flex: 1
}

.page-border_table th,
.page-border_table td {
    display: block;
    padding-top: 18px;
    padding-bottom: 15px
}

.page-border_table tr {
    display: -ms-flexbox;
    display: flex
}

.page_termsList {
    margin-top: 30px;
    font-size: 13px
}

.page_termsList>div {
    margin-bottom: 30px;
    counter-increment: termsList01
}

.page_termsList dt {
    margin-bottom: 5px;
    color: #007582;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2
}

.page_termsList dd {
    line-height: 1.87;
    letter-spacing: 1px
}

.page_termsList dd>ul {
    line-height: 1.6
}

.page_termsList dd>ul>li {
    padding-left: 1.6em;
    counter-increment: termsList02;
    text-indent: -1.6em
}

.page_termsList dd>ul>li:before {
    margin-right: 5px;
    color: #007582;
    content: counter(termsList02) ".";
    font-style: italic;
    font-size: 18px;
    font-family: Jost, sans-serif
}

.page_termsList dd>ul ul.page-ulDot li {
    padding-left: .8em;
    text-indent: -.8em
}

.page_termsList dd>ul ul.page-ulDot li:before {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #007582;
    content: "";
    vertical-align: middle
}

.page_termsList dd>ul ul li {
    padding-left: 1.7em;
    counter-increment: termsList03;
    text-indent: -1.7em
}

.page_termsList dd>ul ul li:before {
    margin-right: 5px;
    content: counter(termsList03) ".";
    font-style: italic;
    font-size: 18px;
    font-family: Jost, sans-serif
}

.page_termsList p {
    margin-bottom: 15px
}

.page_termsList p:last-child {
    margin-bottom: 0
}

.page_termsList a {
    color: #007582
}

.page_termsList__number dt:before {
    margin-right: 15px;
    content: counter(termsList01);
    font-style: italic;
    font-weight: 500;
    font-size: 20px;
    font-family: Jost, sans-serif
}

.page_termsList__privacy>div {
    counter-increment: termsList04
}

.page_termsList__privacy dt span {
    font-style: italic;
    font-size: 20px;
    font-family: Jost, sans-serif
}

.page_termsList__privacy dt span:before {
    content: counter(termsList04)
}

.page-rightTxt {
    text-align: right;
    line-height: 1.9
}

.page-privacyTxt {
    font-size: 13px;
    line-height: 1.9
}

.page_dataLIst {
    margin-bottom: 50px;
    line-height: 1.8
}

.page_dataLIst a {
    color: #007582
}

.page_dataLIst dt,
.page_dataLIst dd {
    display: inline-block
}

.page_dataLIst dt:after {
    content: ":"
}

.page-Normal_Title {
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 20px
}

.page-txt01 {
    margin-bottom: 15px;
    line-height: 1.85
}

.page-txt01 a {
    color: #007582;
    text-decoration: underline
}

.page-id-19 .page-txt01 {
    line-height: 1.87
}

.page-sideMessage {
    margin-top: 25px;
    padding-bottom: 60px;
    text-align: center;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.66
}

.page-sideMessage>p {
    margin-bottom: 15px
}

.page-sideMessage img {
    width: 184px
}

.page-company_txt01 {
    margin-top: 45px;
    margin-bottom: 30px;
    color: #007582;
    text-align: center;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.66
}

.page-border_txt02 {
    margin-bottom: 50px;
    padding-bottom: 50px;
    background: #d5d5d5;
    background: linear-gradient(to bottom, #d5d5d5 0, #d5d5d5 2%, #fff 3%, #fff 100%);
    background-size: auto 45px;
    font-size: 13px;
    line-height: 45px
}

.page-border_txt02 p {
    margin-bottom: 45px
}

.page-clum2Block {
    padding: 0 15px
}

.page-clum2Block_side {
    margin-bottom: 38px;
    border-top: 1px solid #007582;
    border-right: 1px solid #007582;
    border-left: 1px solid #007582
}

.page-clum2Block_side .page-clum2Block_side_inner>section {
    padding: 0 15px;
    border-bottom: 1px solid #007582
}

.page-clum2Block_side__02 {
    padding: 0;
    border: none
}

.page-clum2Block_side__02 section {
    border: none
}

.page-clum2Block_side__03 .page-ac_heading.Open {
    border-bottom: 1px dashed #c6c6c6
}

.page-ac_body {
    overflow: hidden;
    max-height: 0;
    transition: all .3s
}

.page-ac_heading {
    position: relative;
    padding: 15px 0;
    font-weight: 600;
    font-size: 14px
}

.page-ac_heading.js-Acc {
    cursor: pointer
}

.page-ac_heading.Open {
    margin-bottom: 5px;
    padding: 15px 0;
    border-bottom: 1px dashed #c6c6c6
}

.page-ac_heading.Open:after {
    -ms-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg)
}

.page-ac_heading.Open+.page-ac_body {
    margin-top: 20px;
    margin-bottom: 10px
}

.page-ac_heading:before {
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.page-ac_heading:after {
    -ms-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
}

.page-ac_heading:after,
.page-ac_heading:before {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 15px;
    height: 1px;
    background-color: #007582;
    content: "";
    transition: all .3s
}

.page-arrowList dt {
    margin-top: 15px;
    margin-bottom: 8px;
    width: 100%;
    font-size: 13px
}

.page-arrowList dd {
    padding: 0 15px;
    width: 50%
}

.page-arrowList dd:before {
    display: inline-block;
    margin-right: 5px;
    width: 0;
    height: 0;
    border-width: 5px 0 5px 6px;
    border-style: solid;
    border-color: transparent transparent transparent #000;
    content: ""
}

.page-arrowList svg {
    margin-right: 5px;
    width: 15px;
    vertical-align: middle
}

.page-arrowList>div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center
}

.page-arrowList02 {
    display: -ms-flexbox;
    display: flex;
    font-size: 13px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.page-arrowList02 li {
    margin-bottom: 8px;
    width: 50%
}

.page-arrowList02 li img {
    margin-right: 5px;
    width: 15px;
    height: 15px;
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
}

.page-arrowList03 {
    font-weight: 700
}

.page-arrowList03>.cat-item {
    font-size: 0
}

.page-arrowList03>.cat-item>a {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    padding-left: 24px;
    font-size: 13px
}

.page-arrowList03>.cat-item>a:before,
.page-arrowList03>.cat-item>a:after {
    position: absolute;
    display: block
}

.page-arrowList03>.cat-item>a:before {
    left: 0;
    top: 4px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #000;
    content: ""
}

.page-arrowList03>.cat-item>a:after {
    left: 6px;
    width: 0;
    top: 8px;
    height: 0;
    border-width: 3px 0 3px 5px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    content: ""
}

.page-arrowList03 .children {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px;
    font-size: 12px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.page-arrowList03 .children li {
    margin-bottom: 8px;
    padding-left: 25px
}

.page-arrowList03 .children li a {
    position: relative;
    padding-left: 18px
}

.page-arrowList03 .children li a:before {
    position: absolute;
    top: 50%;
    left: 6px;
    display: block;
    width: 0;
    height: 0;
    border-width: 4px 0 4px 6px;
    border-style: solid;
    border-color: transparent transparent transparent #000;
    content: "";
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.page-keywordList {
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    font-size: 13px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 12px 25px
}

.page-keywordList li a:before {
    content: "#"
}

.page-reviewItem {
    display: block;
    margin-bottom: 30px;
    box-shadow: var(--baseShadow)
}

.page-reviewItem:hover {
    opacity: 1
}

.page-reviewItem_heading {
    padding: 15px;
    border-bottom: 1px solid #d5d5d5;
    font-weight: 600;
    font-size: 16px
}

.page-reviewItem_prof {
    display: -ms-flexbox;
    display: flex;
    padding: 15px
}

.page-reviewItem_userImg {
    margin-right: 18px;
    width: 74px;
    height: 74px
}

.page-reviewItem_userImg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page-reviewItem_name span {
    font-size: 10px
}

.page-reviewItem_name b {
    font-weight: 600;
    font-size: 18px
}

.page-reviewItem_list>div {
    display: -ms-flexbox;
    display: flex;
    margin-top: 5px;
    -ms-flex-align: center;
    align-items: center
}

.page-reviewItem_list>div dt {
    margin-right: 5px;
    padding: 2px 0;
    width: 62px;
    border-radius: 100px;
    background-color: #e4e4e4;
    text-align: center;
    font-weight: 600;
    font-size: 10px
}

.page-reviewItem_list>div dd {
    min-width: 4em
}

.page-reviewItem_imgWrapper {
    overflow: hidden;
    aspect-ratio: 329/226
}

.page-reviewItem_imgWrapper img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    transition: all .3s
}

.page-weekSearch {
    margin-bottom: 50px;
    text-align: center
}

.page-weekSearch dt {
    margin-bottom: 12px;
    font-weight: 600;
    font-size: 14px
}

.page-weekList {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
    -ms-flex-pack: center;
    justify-content: center
}

.page-weekList .is-active .page-weekList_item {
    background-color: #000;
    color: #fff
}

.page-weekList .page-weekList_item {
    display: -ms-flexbox;
    display: flex;
    margin: 0 2.5px;
    width: 50px;
    height: 50px;
    border: 1px solid #d5d5d5;
    border-radius: 50%;
    color: #c7c7c7;
    font-weight: 600;
    font-size: 14px;
    transition: all .3s;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.page-weekList label .page-weekList_item:not(.is-active):hover {
    background-color: #000;
    color: #fff;
    opacity: 1
}

.page-weekList input {
    display: none
}

.page-weekList input:checked+.page-weekList_item {
    background-color: #000;
    color: #fff
}

.page-weekList_clear {
    padding: 5px 20px;
    border: 1px solid #000;
    border-radius: 50px;
    font-size: 13px
}

.page-creatorUnit {
    display: -ms-grid;
    display: grid;
    gap: 25px 6%;
    -ms-grid-columns: (47%)[2];
    grid-template-columns: repeat(2, 47%)
}

.page-creatorItem_imgWrapper {
    margin-bottom: 20px;
    box-shadow: var(--baseShadow)
}

.page-creatorItem_name {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.4
}

.page-creatorItem_nameEn {
    margin-bottom: 10px;
    color: #b1b1b1;
    font-size: 10px
}

.page-creatorItem {
    display: block
}

.page-creatorItem .page-weekList {
    margin-bottom: 15px
}

.page-creatorItem .page-weekList .page-weekList_item {
    margin: 0 1px;
    width: 25px;
    height: 25px;
    font-size: 10px;
    cursor: default;
    pointer-events: none
}

a.page-creatorItem:hover {
    opacity: 1
}

a.page-creatorItem:hover img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

a.page-creatorItem .page-creatorItem_imgWrapper {
    overflow: hidden
}

a.page-creatorItem .page-creatorItem_imgWrapper img {
    transition: all .3s
}

.page_link {
    display: block;
    margin-left: auto;
    width: fit-content
}

.page_link img {
    width: 12px;
    height: 12px;
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.page-Normal_Title02 {
    margin-bottom: 30px;
    text-align: center;
    font-weight: 600;
    font-size: 22px
}

.page-Normal_Title03 {
    margin-bottom: 20px;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.55
}

.page-blogWrapper {
    padding: 15px;
    background-size: auto 325px;
    background-repeat: repeat-x
}

.page-blogWrapper .page-clum2Block {
    padding-right: 0;
    padding-left: 0;
    max-width: 1166px
}

.single .page-blogWrapper {
    background-image: url(assets/img/parts/mesh_single_sp.svg)
}

.single.single-interview .page-blogWrapper {
    padding-right: 0;
    padding-left: 0;
    background-image: url(assets/img/parts/mesh_orange_sp.png);
    background-size: 34px auto;
    background-repeat: repeat
}

.single.single-customer .page-blogWrapper {
    padding-right: 0;
    padding-left: 0;
    background: none
}

.page-blogHeader {
    margin-right: auto;
    margin-bottom: 30px;
    margin-left: auto;
    max-width: 1166px;
    background-color: #fff;
    box-shadow: var(--baseShadow2)
}

.page-blogHeader>div {
    padding: 23px 25px 20px
}

.page-blogHeader_bottom {
    border-top: 1px solid #d5d5d5
}

.page-blogHeader_cat {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
    -ms-flex-align: center;
    align-items: center
}

.page-blogHeader_cat dd {
    margin-right: 10px;
    font-weight: 600;
    font-size: 10px
}

.page-blogHeader_cat dt {
    margin-right: 12px;
    padding-right: 30px;
    color: #007582;
    font-weight: 600
}

.page-blogHeader_cat dt:not(:last-child) {
    border-right: 1px solid #d5d5d5
}

.page-blogHeader_heading {
    font-weight: 600;
    font-size: 18px
}

.page-blogHeader_tags {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 18px;
    font-size: 10px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 5px 20px
}

.page-blogHeader_tags li:before {
    content: "#"
}

.page-blogHeader_time {
    display: block;
    margin-top: 10px;
    font-style: normal;
    font-size: 10px
}

.page-blogUnitWrapper01 {
    display: -ms-flexbox;
    display: flex;
    margin-top: 30px;
    margin-bottom: 50px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.page-blogUnitWrapper01 .home-Blog_Unit {
    margin-bottom: 17px
}

.page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Category {
    font-weight: 600;
    font-size: 11px
}

.page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Title {
    margin-bottom: 13px;
    font-size: 16px
}

.page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Text {
    font-size: 13px;
    line-height: 1.76
}

.page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Author {
    font-size: 13px;
    -ms-grid-columns: 50px auto;
    grid-template-columns: 50px auto
}

.page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Author img {
    width: 50px;
    height: 50px
}

.page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Date {
    font-style: normal;
    font-size: 12px
}

.page-blogUnitWrapper01 .home-Blog_Unit .home-Blog_Author {
    font-weight: 600
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) {
    width: 47.8%
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Text {
    display: none
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Img {
    width: 100%;
    position: relative
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_meta {
    padding: 13px 8px 6px 13px
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Category {
    font-size: 10px
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Title {
    margin-bottom: 6px;
    font-size: 13px
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Author {
    font-size: 10px;
    -ms-grid-columns: 32px auto;
    grid-template-columns: 32px auto
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Author img {
    width: 32px;
    height: 32px
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Date {
    display: block;
    margin-left: auto;
    text-align: right;
    font-style: normal;
    font-size: 10px
}

.page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_bottom {
    display: block;
    margin-top: 0
}

.page-blogUnitWrapper02 {
    margin-top: 30px
}

.page-blogUnitWrapper02 a {
    transition-timing-function: cubic-bezier(.075, .82, .165, 1);
    transition-duration: .5s
}

.page-blogUnitWrapper02 a:hover {
    opacity: 1
}

.page-blogUnitWrapper02 .home-BLOG_Btn {
    transition-duration: 0s
}

.page-blogUnitWrapper02 .home-Blog_Unit {
    margin-bottom: 30px
}

.page-blogUnitWrapper02 .home-Blog_Img {
    min-height: 253px
}

.page-blogUnitWrapper02 .home-Blog_Img img {
    height: 100%
}

.page-blogUnitWrapper02 .home-Blog_Category {
    font-size: 11px
}

.page-blogUnitWrapper02 .home-Blog_Title {
    margin-bottom: 5px;
    width: 100%;
    font-size: 16px
}

.page-blogUnitWrapper02 .home-Blog_Text {
    font-size: 13px;
    line-height: 1.76
}

.page-blogUnitWrapper02 .home-Blog_Author {
    font-size: 13px;
    -ms-grid-columns: 50px auto;
    grid-template-columns: 50px auto
}

.page-blogUnitWrapper02 .home-Blog_Author img {
    width: 50px;
    height: 50px
}

.page-blogUnitWrapper02 .home-Blog_Date {
    font-size: 12px
}

.page_addressBox {
    margin-top: 20px;
    border: 1px solid #d5d5d5;
    text-align: center
}

.page_addressBox>div {
    padding: 30px 20px;
    background-color: #fff
}

.page_addressBox>div:not(:last-child) {
    border-bottom: 1px solid #d5d5d5
}

.page_addressBox .page-Line_Btn {
    display: -ms-flexbox;
    display: flex;
    background-image: linear-gradient(to right, #87e2d9 50%, #5ac263 50%);
    color: #fff;
    text-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

.page_addressBox .page-Line_Btn img {
    display: block;
    width: 16px;
    height: 16px;
    color: #000;
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.page_addressBox .page-Line_Btn:hover {
    background-color: #000;
    background-image: none
}

.page_addressBox .page-tel_Btn {
    background-color: #000;
    background-image: none;
    color: #fff
}

.page_addressBox_tel {
    display: inline-block;
    margin-bottom: 5px;
    font-size: 32px;
    font-family: Jost, sans-serif;
    line-height: 1
}

.page_addressBox_heading {
    margin-bottom: 14px;
    color: #007582;
    font-weight: 600;
    font-size: 18px
}

.page_addressBox_list {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px;
    gap: 15px;
    -ms-flex-pack: center;
    justify-content: center
}

.page_addressBox_list>div {
    display: -ms-flexbox;
    display: flex;
    font-size: 13px
}

.page_addressBox_list dd {
    font-family: Jost, sans-serif
}

.page-contactboxUnit {
    margin-bottom: 50px
}

.page-contactItem {
    margin-bottom: 20px;
    padding: 30px 25px;
    border: 1px solid #007582
}

.page-contactItem_heading {
    margin-bottom: 20px;
    color: #007582;
    text-align: center;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.2
}

.page-contactTxt {
    margin-bottom: 45px;
    font-size: 13px;
    line-height: 1.92
}

.page-formWrapper {
    margin-bottom: 35px;
    padding: 20px;
    border: 1px solid #d5d5d5
}

.page-formWrapper .error {
    color: #e3441e;
    font-weight: 600;
    font-size: 10px
}

.page-formWrapper .error:before {
    content: "※"
}

.page-formWrapper__recruit {
    margin-top: 55px
}

.page-formList>div {
    margin-bottom: 18px;
    border-bottom: 1px solid #d5d5d5
}

.page-formList dt {
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 14px
}

.page-formList dt.u-require:after,
.page-formList dt.u-require:before,
.page-formList dt.u-any:after,
.page-formList dt.u-any:before {
    display: inline-block;
    margin-top: -1px;
    margin-left: 10px;
    padding: 1px 0;
    width: 44px;
    border-radius: 10px;
    vertical-align: middle;
    text-align: center;
    font-weight: 600;
    font-size: 10px
}

.page-formList dt.u-require:after {
    border: 1px solid #e3441e;
    color: #e3441e;
    content: "必須"
}

.page-formList dt.u-any:after {
    border: 1px solid #c7c7c7;
    color: #c7c7c7;
    content: "任意"
}

.page-formList dd {
    padding-bottom: 15px
}

.page-formList [type=text],
.page-formList [type=email],
.page-formList select {
    margin-bottom: 5px;
    padding: 12px 15px;
    max-width: 100%;
    border: 1px solid #d5d5d5;
    border-radius: 5px;
    background-color: #f8f8f8;
    font-size: 16px
}

.page-formList [type=text]:-ms-input-placeholder,
.page-formList [type=email]:-ms-input-placeholder,
.page-formList select:-ms-input-placeholder {
    color: #c7c7c7
}

.page-formList [type=text]::placeholder,
.page-formList [type=email]::placeholder,
.page-formList select::placeholder {
    color: #c7c7c7
}

.page-formList select {
    width: 180px;
    background-position: 95% center
}

.page-formList textarea {
    padding: 15px;
    width: 100%;
    height: 160px;
    border: 1px solid #d5d5d5;
    border-radius: 5px;
    background-color: #f8f8f8
}

.form_consent {
    text-align: center
}

.form_consent input {
    margin-top: -2px;
    width: 18px;
    height: 18px;
    border: 1px solid #d5d5d5;
    vertical-align: middle
}

.form_consent .mwform-checkbox-field-text {
    display: none
}

[type=submit] {
    position: relative;
    margin-top: 20px;
    width: 100%;
    height: 70px;
    border: 1px solid #e3441e;
    border-radius: 35px;
    background-color: #e3441e;
    color: #fff;
    text-align: center;
    font-weight: 600;
    font-size: 14px
}

[type=submit]:hover {
    background-color: #fff;
    color: #e3441e;
    opacity: 1;
    transition: all 0s
}

[type=submit]:before {
    position: absolute;
    top: 50%;
    display: block;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

[type=submit]:before {
    left: 26px;
    width: 20px;
    height: 20px;
    background-image: url(assets/img/parts/icon-arrow.svg);
    background-size: contain;
    content: ""
}

.page-formSmall {
    display: block;
    margin: 15px auto;
    max-width: 80%;
    text-align: center;
    font-size: 10px
}

.form_horizontal_heading {
    margin-bottom: 5px;
    width: 100%;
    font-weight: 600
}

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

.form_horizontal:not(:last-child) {
    margin-bottom: 10px
}

.form_horizontal>div:not(:first-child) {
    width: 100%
}

.page-profFront_imgMain {
    position: relative;
    margin-bottom: 10px
}

.page-profFront_imgMain img {
    box-shadow: var(--baseShadow)
}

.page-profFront_imgMain .swiper-slide {
    opacity: 0;
    transition: all .3s
}

.page-profFront_imgMain .swiper-slide.swiper-slide-active {
    opacity: 1
}

.page-profFront_imgMain__customer img {
    box-shadow: none
}

.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-prev,
.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-next {
    top: -16vw;
    visibility: visible;
    opacity: 1;
    cursor: pointer
}

.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-prev.swiper-button-disabled,
.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-next.swiper-button-disabled {
    display: none
}

.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-prev:before,
.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-prev:after,
.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-next:before,
.swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-next:after {
    border-width: 8px 12px 8px 0
}

.thumbnail-button-wrapper {
    position: relative;
    height: 0
}

.page-profFront_imgMain_thumbnail {
    position: relative;
    overflow: hidden;
    padding-bottom: 1px
}

.page-profFront_imgMain_thumbnail .swiper-wrapper {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr)
}

.page-profFront_imgMain_thumbnail li {
    cursor: pointer
}

.page-profFront_imgMain_thumbnail .swiper-slide img {
    display: block;
    width: 100%
}

.page-profFront_imgMain_thumbnail .swiper-slide-thumb-active {
    position: relative
}

.page-profFront_imgMain_thumbnail .swiper-slide-thumb-active:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    content: ""
}

.page-profFront_data {
    margin-top: 24px
}

.page-profFront_heading {
    margin-bottom: 20px;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2
}

.page-profFront_heading:after {
    display: block;
    color: #b1b1b1;
    content: attr(data-en);
    font-size: 14px;
    font-family: Jost, sans-serif
}

.page-profFront_dlList {
    font-weight: 600
}

.page-profFront_dlList dt {
    margin-bottom: 5px;
    color: #b1b1b1;
    font-size: 14px
}

.page-profFront_dlList dd {
    font-size: 13px;
    line-height: 1.76
}

.page-profFront_dlList>div {
    margin-bottom: 12px
}

.page-profFront_boxList {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 22px;
    font-size: 12px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 5px
}

.page-profFront_boxList li {
    padding: 2px 6px;
    border: 1px solid #d5d5d5;
    background-color: #fff;
    font-weight: 400
}

.page-profFront_snsList {
    display: -ms-flexbox;
    display: flex;
    gap: 20px
}

.page-qaBoxUnit {
    margin-top: 29px
}

.page-qaBox {
    margin-bottom: 25px;
    padding: 25px;
    background-color: #fff;
    box-shadow: var(--baseShadow2)
}

.page-qaBox_heading {
    display: inline;
    background-color: rgba(64, 223, 207, .6);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.75
}

.page-qaBox_txt {
    margin-top: 15px;
    font-size: 13px;
    line-height: 1.92
}

.page-qaBox_txt strong {
    font-weight: 700
}

.page-creator_Container {
    position: relative
}

.page-creator_Container .swiper-slide {
    margin: 0 5.5px
}

.page-profFront_customerData {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start
}

.page-profFront_customerData_img {
    position: relative;
    margin-right: 4%;
    width: 48.2%;
    border: 1px solid #d5d5d5
}

.page-profFront_customerData_switch {
    position: absolute;
    right: 6px;
    bottom: 6px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #fff;
    background-image: url(assets/img/parts/search.svg);
    background-position: center center;
    background-size: 11px 11px;
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, .4)
}

.page-profFront_data_list {
    margin-bottom: 10%
}

.page-profFront_data_list>div {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 5px;
    -ms-flex-align: center;
    align-items: center
}

.page-profFront_data_list dt {
    margin-right: 6px;
    padding: 2px 0;
    width: 64px;
    border-radius: 100px;
    background-color: #e4e4e4;
    text-align: center
}

.page-blog-transition {
    display: -ms-flexbox;
    display: flex;
    margin-top: 30px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.page-blog-transition .page-blog-link {
    width: 50%;
    font-size: 13px
}

.page-blog-transition .page-blog-link.is-none {
    visibility: hidden
}

.page-blog-transition .page-blog-link img {
    margin-top: -1px;
    width: 17px;
    height: 17px;
    vertical-align: middle
}

.page-blog-transition .page-blog-link-prev img {
    margin-right: 12px;
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.page-blog-transition .page-blog-link-next {
    text-align: right
}

.page-blog-transition .page-blog-link-next img {
    margin-left: 12px
}

.page-blog-transition .home-Section_Btn {
    margin-top: 30px;
    width: 200px
}

.page-blog-transition .home-Section_Btn img {
    width: 16px;
    height: 16px
}

.page-grayLayer {
    position: fixed;
    top: 0;
    left: -100%;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    transition: all .3s
}

.is-modal {
    overflow: hidden
}

.is-modal .page-grayLayer {
    left: 0
}

.is-modal .page-imgModal {
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.page-modalClose {
    position: relative;
    margin-bottom: 15px;
    margin-left: auto;
    width: 50px;
    height: 50px;
    border: 1px solid #fff;
    border-radius: 50%;
    cursor: pointer
}

.page-modalClose:after,
.page-modalClose:before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 16px;
    height: 1.5px;
    background-color: #fff;
    content: ""
}

.page-modalClose:after {
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.page-modalClose:before {
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.page-imgModal {
    position: fixed;
    top: 65px;
    left: -100%;
    z-index: 1001;
    width: calc(100% - 30px);
    height: 100%;
    transition: all .3s;
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.page-naviWrapper {
    text-align: center;
    font-size: 16px
}

.page-naviWrapper .page,
.page-naviWrapper .current {
    display: inline-block;
    margin: 0 12px
}

.page-naviWrapper .wp-pagenavi {
    position: relative;
    margin-bottom: 35px;
    padding-right: 30px;
    padding-left: 30px
}

.page-naviWrapper .wp-pagenavi .current {
    color: #adadad
}

.page-naviWrapper .previouspostslink,
.page-naviWrapper .nextpostslink {
    position: absolute;
    top: 50%;
    width: 24px;
    height: 24px;
    font-size: 0;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.page-naviWrapper .previouspostslink:before,
.page-naviWrapper .nextpostslink:before {
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #000;
    content: "";
    vertical-align: middle;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.page-naviWrapper .previouspostslink:after,
.page-naviWrapper .nextpostslink:after {
    position: absolute;
    top: 50%;
    display: block;
    width: 0;
    height: 0;
    border-width: 5px 0 5px 8px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    content: "";
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.page-naviWrapper .previouspostslink {
    left: 0
}

.page-naviWrapper .previouspostslink:before {
    left: 0
}

.page-naviWrapper .previouspostslink:after {
    left: 6.2px;
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg)
}

.page-naviWrapper .nextpostslink {
    right: 0
}

.page-naviWrapper .nextpostslink:after {
    right: 6.2px;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.page-naviWrapper .nextpostslink:before {
    right: 0
}

.blog-iCatch {
    margin-bottom: 20px
}

.blog-body {
    font-size: 13px;
    line-height: 1.92
}

.blog-body .ez-toc-title-toggle {
    position: absolute;
    right: 20px;
    top: 20px
}

.blog-body #ez-toc-container {
    margin-top: 60px !important;
    margin-bottom: 50px !important;
    padding: 22px 25px;
    width: 100%;
    border: none;
    background-color: #f2f2f2;
    box-shadow: none;
    position: relative
}

.blog-body #ez-toc-container.toc_close .ez-toc-pull-right label:before {
    -ms-transform: rotate(0deg);
    transform: rotate(0deg)
}

.blog-body #ez-toc-container.toc_close .ez-toc-pull-right label:after {
    content: "非表示"
}

.blog-body #ez-toc-container.toc_close .ez-toc-title-container {
    margin-bottom: 0
}

.blog-body #ez-toc-container .ez-toc-pull-right label {
    width: auto;
    border: none
}

.blog-body #ez-toc-container .ez-toc-pull-right label:after {
    content: "表示";
    font-size: 12px
}

.blog-body #ez-toc-container .ez-toc-pull-right label:before {
    display: inline-block;
    margin-right: 5px;
    width: 0;
    height: 0;
    border-width: 0 4px 6px;
    border-style: solid;
    border-color: transparent transparent #000;
    content: "";
    vertical-align: middle;
    transition: all .3s;
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.blog-body #ez-toc-container .ez-toc-pull-right label span {
    display: none
}

.blog-body #ez-toc-container .ez-toc-title-container {
    margin-bottom: 0;
    padding-left: 0;
    text-align: center
}

.blog-body #ez-toc-container .ez-toc-title-container p {
    color: #000;
    font-weight: 600;
    font-size: 18px
}

.blog-body #ez-toc-container .ez-toc-list-level-1>li>ul {
    margin-top: 15px;
    margin-left: 2em
}

.blog-body #ez-toc-container .ez-toc-list-level-1>li>ul>li {
    margin: 8px 0
}

.blog-body #ez-toc-container .ez-toc-list-level-1>li>ul>li ul {
    margin-top: 5px;
    margin-left: 3em
}

.blog-body #ez-toc-container .ez-toc-list-level-1 .ez-toc-page-1 {
    font-size: 13px
}

.blog-body #ez-toc-container .ez-toc-list-level-1 .ez-toc-page-1 .ez-toc-link:before {
    margin-right: 10px;
    font-size: 1.25em
}

.blog-body #ez-toc-container .ez-toc-list-level-1 .ez-toc-page-1:not(:last-child) {
    margin-bottom: 30px
}

.blog-body #ez-toc-container .ez-toc-list-level-1 .ez-toc-page-1 ul .ez-toc-link:before {
    font-size: 1.15em
}

.blog-body #ez-toc-container .ez-toc-link {
    color: #007582;
    text-decoration: underline
}

.blog-body #ez-toc-container .ez-toc-link:before {
    color: #000;
    font-family: Jost, sans-serif
}

.blog-body p {
    margin-bottom: 15px
}

.blog-body h2 {
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 13px 18px;
    border-left: 3px solid #72d9cc;
    font-weight: 600;
    font-size: 18px
}

.blog-body h3 {
    margin-top: 40px;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 1px solid #d5d5d5;
    font-weight: 600;
    font-size: 16px
}

.blog-body img {
    margin-bottom: 10px
}

.blog-body strong {
    background: linear-gradient(to bottom, rgba(64, 223, 207, 0) 0, rgba(64, 223, 207, 0) 50%, rgba(64, 223, 207, .4) 51%, rgba(64, 223, 207, .4) 100%);
    background-repeat: repeat-x
}

.blog-body mark {
    display: inline-block;
    padding-bottom: 6px;
    line-height: .2
}

.blog-body ul:not([class^=ez-toc-list]) {
    margin-bottom: 15px
}

.blog-body ul:not([class^=ez-toc-list]) li {
    position: relative;
    padding: 0 10px
}

.blog-body ul:not([class^=ez-toc-list]) li:after {
    position: absolute;
    top: .85em;
    left: 0;
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #007582;
    content: "";
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.blog-body ol {
    margin-bottom: 15px
}

.blog-body ol li {
    position: relative;
    padding: 0 18px;
    counter-increment: blogOl
}

.blog-body ol li:before {
    position: absolute;
    top: .7em;
    left: 0;
    color: #007582;
    content: counter(blogOl) ".";
    font-style: italic;
    font-size: 16px;
    font-family: Jost, sans-serif;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.blog-body table {
    margin: 10px 0;
    border-bottom: 1px solid #d5d5d5
}

.blog-body table td {
    display: block;
    border-color: #d5d5d5;
    border-bottom: none
}

.blog-body table td:last-child {
    padding: 22px 20px 12px
}

.blog-body table td:first-child {
    padding: 7.5px 20px;
    background-color: #f2f2f2;
    font-weight: 600
}

.blog-body a {
    display: inline-block;
    color: #007582;
    text-decoration: underline
}

.blog-body a[target=_blank] {
    padding-right: 15px;
    background-image: url(assets/img/parts/link.svg);
    background-position: right center;
    background-size: 10px 10px
}

.blog-body .wp-block-buttons {
    margin: 30px 0;
    -ms-flex-pack: center;
    justify-content: center
}

.blog-body .wp-block-buttons .wp-block-button__link {
    background-image: linear-gradient(to right, #40e0d0 50%, #fff 50%);
    background-size: 200% 100%;
    background-position: 100% 0;
    transition: all .3s;
    position: relative;
    padding-top: 11px;
    padding-bottom: 11px;
    min-width: 240px;
    border: 1px solid #000;
    background-color: #fff;
    color: #000;
    text-decoration: none
}

.blog-body .wp-block-buttons .wp-block-button__link:hover {
    background-position: 0 0;
    opacity: 1
}

.blog-body .wp-block-buttons .wp-block-button__link:after {
    position: absolute;
    top: 50%;
    left: 20px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #000;
    content: "";
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.blog-body .wp-block-buttons .wp-block-button__link:before {
    position: absolute;
    top: 50%;
    left: 26px;
    z-index: 1;
    width: 0;
    height: 0;
    border-width: 3px 0 3px 6px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    content: "";
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.blog-body .wp-block-image a {
    margin-bottom: 10px;
    background-image: none;
    padding-right: 0;
    display: block;
    width: fit-content;
    overflow: hidden
}

.blog-body .wp-block-image a img {
    margin-bottom: 0;
    transition: .3s
}

.blog-body .wp-block-image a:hover {
    opacity: 1
}

.blog-body .wp-block-image a:hover img {
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.blog-body .is-provider-vimeo iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 500/281
}

@media(min-width:48em) {
    html {
        line-height: 1.5;
        font-size: 16px
    }

    .st-WidthPC {
        padding-right: 20px;
        padding-left: 20px
    }

    .st-WidthSP {
        padding-right: 0;
        padding-left: 0
    }

    .st-Container__2clumPage {
        overflow: visible
    }

    .st-Header_Contact {
        display: none
    }

    .st-Footer_ListWrapper {
        display: -ms-flexbox;
        display: flex
    }

    .st-Footer_List {
        font-size: 16px;
        font-weight: 700
    }

    .st-Footer_List__contact {
        padding-bottom: 0 !important
    }

    .st-Footer_List>li {
        border-top: none
    }

    .st-Footer_List>li:last-child {
        border-bottom: none
    }

    .st-Footer_List>li>a,
    .st-Footer_List>li>span {
        padding: 11px 10px
    }

    .st-Footer_List>li>span {
        padding-bottom: 0
    }

    .st-Footer_List>li>span:before,
    .st-Footer_List>li>span:after {
        display: none
    }

    .st-Footer_List .st-Footer_List_min {
        display: block;
        margin-top: 5px;
        font-size: 12px
    }

    .st-Footer_List .st-Footer_List_min>a {
        font-weight: 400;
        padding-top: 5px;
        padding-bottom: 5px
    }

    .st-Footer_List02 {
        display: none
    }

    .st-Footer_Child {
        display: block;
        max-height: inherit !important;
        font-size: 14px
    }

    .Open+.st-Footer_Child {
        border-top: none;
        padding: 0
    }

    li.st-Footer_Child_heading {
        display: none
    }

    .st-Footer_inner {
        display: -ms-flexbox;
        display: flex;
        max-width: 1165px;
        margin: 0 auto;
        gap: 10px;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-top: 65px;
        padding-bottom: 65px
    }

    .st-Footer_List:not(:last-child) {
        border-right: 1px solid rgba(214, 214, 214, .2);
        padding-right: min(.5vw, 33px);
        margin-right: min(.5vw, 33px)
    }

    .st-Footer_Child {
        --em: 14;
        --lh: 20;
        gap: calc(10em/var(--em));
        margin-left: 10px;
        margin-top: 5px
    }

    .st-Footer_Child a {
        -ms-grid-columns: calc(21em/var(--em)) auto;
        grid-template-columns: calc(21em/var(--em)) auto
    }

    .st-Footer_Logo {
        gap: calc(17em/var(--em));
        margin-top: 20px
    }

    .st-Footer_Logo span {
        --em: 14;
        --lh: 20
    }

    .st-Footer_Logo svg {
        width: calc(245.41em/var(--em))
    }

    .st-Footer_Sns {
        -ms-grid-columns: calc(19.89em/var(--em)) calc(20.89em / var(--em)) calc(21.04em / var(--em)) calc(23em / var(--em));
        grid-template-columns: calc(19.89em/var(--em)) calc(20.89em / var(--em)) calc(21.04em / var(--em)) calc(23em / var(--em));
        margin-top: calc(46.3em/var(--em));
        margin-left: calc(3em/var(--em))
    }

    .st-Footer_Copyright {
        text-align: left
    }

    .st-Footer_txt {
        display: block;
        font-weight: 700;
        font-size: 14px
    }

    .st-Application.st-Application__02 #breadcrumbs {
        padding-left: 20px;
        font-size: 12px;
        margin-top: 60px
    }

    .st-Application {
        padding-top: 45px;
        padding-bottom: calc(120em/var(--em))
    }

    .st-Application:before {
        background-image: url(assets/img/form-bg-pc.png);
        aspect-ratio: 1366/152
    }

    .st-Application_Title {
        font-size: 40px
    }

    .st-Application_Text {
        font-size: 16px;
        margin-top: 30px
    }

    .st-Application_Inner {
        max-width: 1020px;
        margin: 70px auto 0;
        padding: 50px 20px
    }

    .st-Application_Inner>div {
        max-width: 900px;
        margin: 0 auto
    }

    .home-Hero {
        height: 768px;
        background-image: url(assets/img/hero-pc@2x.jpg)
    }

    .home-Hero_message_img {
        width: 12.9vw;
        max-width: 176px;
        left: -118px
    }

    .home-Hero_message_txt01 {
        font-size: min(26px, 2.5vw);
        font-weight: 700
    }

    .home-Hero_message_txt02 {
        font-size: min(70px, 6vw);
        margin-bottom: 60px;
        text-shadow: 0 0 26px #fff
    }

    .home-Hero_Lesson {
        width: 350px
    }

    .Hero_Lesson_top {
        font-size: 15px
    }

    .Hero_Lesson_top:before {
        bottom: -12px;
        border-width: 12px 8px 0;
        border-color: #fff transparent transparent
    }

    .home-Hero_Img {
        width: 115px;
        left: -78px;
        bottom: -24px
    }

    .home-Hero_Lesson_bottom {
        font-weight: 700;
        padding-top: 20px;
        padding-bottom: 25px;
        font-size: 32px
    }

    .home-Hero_Lesson_bottom span {
        padding: 7px 0;
        font-size: 15px;
        letter-spacing: 4px;
        width: 260px;
        margin: 10px auto 0
    }

    .home-Hero_Lesson_bottom span:before {
        width: 15px;
        height: 15px
    }

    .home-Hero_Lesson_bottom span:after {
        border-width: 4px 0 4px 5px
    }

    .home-Hero_scroll {
        font-size: 18px;
        height: 103px
    }

    .home-Hero_scroll span {
        height: 70px
    }

    @keyframes home_span {
        0% {
            height: 0
        }

        100% {
            height: 70px
        }
    }

    .home-Hero {
        -ms-grid-columns: (auto)[2];
        grid-template-columns: repeat(2, auto);
        -ms-grid-rows: auto 1fr;
        grid-template-rows: auto 1fr
    }

    .home-Bnr .swiper-wrapper {
        -ms-flex-pack: center;
        justify-content: center;
        max-width: inherit
    }

    .home-Bnr .swiper-slide {
        max-width: 350x
    }

    .home .home-Bnr .swiper-slide {
        max-width: 314px
    }

    .home-Bnr .swiper-wrapper {
        gap: 40px
    }

    .home-Bnr {
        max-width: 1186px;
        margin: 0 auto;
        padding-top: calc(50em/var(--em));
        padding-bottom: calc(50em/var(--em))
    }

    .home-Bnr.swiper-initialized .swiper-button-disabled {
        display: none
    }

    .home-Bnr .swiper-slide {
        padding: 0;
        width: 100%
    }

    .home-Bnr .swiper-slide img {
        height: auto
    }

    .home-Bnr .swiper-button-prev,
    .home-Bnr .swiper-button-next {
        height: calc(220em/var(--em));
        -ms-grid-column-align: end;
        justify-items: end;
        padding-right: calc(9em/var(--em));
        transition-property: color, opacity;
        width: 60px
    }

    .home-Bnr .swiper-button-prev:before,
    .home-Bnr .swiper-button-next:before {
        border-width: calc(11.5em/var(--em)) calc(12em / var(--em)) calc(11.5em / var(--em)) 0;
        height: calc(23em/var(--em));
        width: calc(12em/var(--em))
    }

    .home-Bnr .swiper-button-next {
        -ms-grid-column-align: start;
        justify-items: start;
        padding-right: 0;
        padding-left: calc(9em/var(--em))
    }

    .home-Section_Title {
        text-align: left;
        font-size: 18px;
        font-weight: 600
    }

    .home-Section_Title[data-en=Course] {
        padding-top: 96px
    }

    .home-Section_Title[data-en=Review] {
        padding-top: 65px
    }

    .home .home-Section_Title[data-en=Review] {
        padding-top: 75px
    }

    .home .home-Section_Title[data-en=Creator] {
        padding-top: 75px
    }

    .home-Section_Title:before {
        font-size: 60px;
        display: inline-block;
        margin-right: 10px
    }

    .home-Center_Title {
        font-size: 18px;
        font-weight: 600
    }

    .home-Center_Title:before {
        font-size: 60px
    }

    .page-Section_Text {
        font-size: 16px;
        margin-bottom: 42px
    }

    .home-Section_Text strong {
        font-size: 16px;
        font-weight: 700
    }

    .home-Section_Btn svg {
        width: 102%
    }

    .home-Section_Btn {
        font-size: 16px
    }

    .home-Section_Btn.home-currculum_Btn {
        width: 340px;
        margin: 0 auto
    }

    .home-Section_Title {
        --em: 17;
        --lh: 25;
        gap: calc(18em/var(--em));
        grid-auto-flow: column;
        -ms-flex-pack: start;
        justify-content: start;
        padding-top: calc(74em/var(--em))
    }

    .home-Section_Title:before {
        --em: 88;
        --let: 0;
        --lh: 127;
        margin-top: calc(-74em/var(--em))
    }

    .home-Section_Text {
        --em: 17;
        --let: .05em;
        --lh: 33;
        margin-top: calc(-4em/var(--em));
        margin-bottom: calc(-4em/var(--em))
    }

    .home-Section_Btn {
        -ms-grid-columns: calc(19.5em/var(--em)) auto;
        grid-template-columns: calc(19.5em/var(--em)) auto;
        height: calc(60em/var(--em));
        padding-right: calc(25em/var(--em));
        padding-left: calc(24.5em/var(--em));
        width: calc(300em/var(--em))
    }

    .home-maxContent01 {
        max-width: 1166px;
        margin: 0 auto
    }

    .page-maxContent02 {
        max-width: 1020px;
        margin: 0 auto
    }

    .home-Concept_Img {
        display: none
    }

    .home-Course {
        padding-top: calc(45em/var(--em));
        padding-bottom: 85px
    }

    .home-Course_Container {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        margin-top: min(100px, 15vw)
    }

    .home-Course_Unit {
        -ms-flex-line-pack: start;
        align-content: start;
        padding-left: calc(61.2em/var(--em))
    }

    .home-Course_Unit.Alt {
        padding-left: calc(33.6em/var(--em));
        padding-right: 0
    }

    .home-Course_Img {
        margin-right: auto;
        margin-left: auto;
        width: 94.8%
    }

    .home-Course_Img:before {
        background-image: url(assets/img/course-elementary-bg-pc.png);
        width: 129%;
        aspect-ratio: 549/400;
        max-width: 549px
    }

    .Alt .home-Course_Img {
        margin-top: max(-4.4vw, -41.5px);
        margin-right: auto;
        margin-left: auto;
        width: 86.2%
    }

    .Alt .home-Course_Img:before {
        background-image: url(assets/img/course-middle-bg-pc.png);
        background-position: right 0;
        background-size: contain;
        width: 126%;
        aspect-ratio: 498/570;
        left: -160px;
        top: -102px
    }

    .home-Course_Title {
        margin-top: 5px
    }

    .home-Course_Text {
        margin-top: 15px;
        margin-bottom: 40px
    }

    .home-Contact__type01 {
        margin-bottom: 14px
    }

    .home-Contact_Btn {
        width: 420px;
        font-size: 24px;
        height: 94px
    }

    .home-Contact_Btn img {
        width: 69px;
        bottom: -42px;
        right: -20px;
        max-block-size: none
    }

    .page-Graph.page-Graph__lesson {
        padding-top: 35px
    }

    .page-Graph.page-Graph__lesson02 {
        padding-top: 35px;
        margin-top: 130px
    }

    .page-id-50 .page_sideImg_heading {
        text-align: left
    }

    .page-id-50 .page-Graph {
        margin-top: 0
    }

    .page-Graph_Title.page-Graph_Title__02 {
        font-size: 48px;
        padding-top: 65px;
        gap: 25px
    }

    .page-Graph_Title.page-Graph_Title__02>.page-Graph_Title__sub {
        font-size: 20px;
        font-weight: 700
    }

    .page-Graph_Title.page-Graph_Title__entxt {
        gap: 10px;
        padding-top: 0
    }

    .page-Graph_Title.page-Graph_Title__entxt:before {
        font-size: 18px
    }

    .page-Graph_Title .page-Graph_Title_reason {
        width: 607px
    }

    .page-Graph_Title .page-Graph_Title_features {
        width: 358px;
        margin-bottom: 20px
    }

    .page-Graph_Title .page-Graph_Title_voice {
        width: 237px;
        margin-bottom: 28px
    }

    .page-Graph {
        margin-top: calc(-138em/var(--em));
        padding-top: calc(106em/var(--em))
    }

    .home .page-Graph {
        padding-bottom: 65px
    }

    .page-Graph:before,
    .page-Graph:after {
        background-size: 100% calc(26em/var(--em))
    }

    .page-Graph:after {
        background-size: calc(26em/var(--em)) 100%
    }

    .page-Graph_Title {
        --em: 82;
        --lh: 119;
        font-size: 60px;
        gap: 22px;
        padding-top: 88px
    }

    .page-Graph_Title img {
        width: 56px
    }

    .home-Reason_Bubble span {
        font-size: 16px
    }

    .home-Reason_Bubble strong {
        font-size: 24px
    }

    .home-Reason {
        padding-bottom: 30px
    }

    .home-Reason_List {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        max-width: 945px
    }

    .home-Reason_List>:where(li) {
        -ms-grid-column-align: start;
        justify-items: start
    }

    .home-Reason_List1 .home-Reason_Bubble:after {
        background-image: url(assets/img/reason-line01.svg)
    }

    .home-Reason_List2 .home-Reason_Bubble:after {
        background-image: url(assets/img/reason-line02.svg)
    }

    .home-Reason_List1 .home-Reason_Bubble:after,
    .home-Reason_List2 .home-Reason_Bubble:after {
        background-size: contain;
        content: "";
        pointer-events: none;
        position: absolute;
        right: calc(-1.5em/var(--em));
        left: calc(-1.5em/var(--em));
        top: calc(-1.5em/var(--em));
        bottom: calc(-1.5em/var(--em))
    }

    .home-Reason_List1 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker01-pc.png);
        height: calc(61.14em/var(--em));
        top: calc(10em/var(--em));
        width: calc(210.51em/var(--em))
    }

    .home-Reason_List1 .home-Reason_User {
        margin-top: -20px;
        margin-left: 80px;
        max-width: 280px;
        width: 20.5vw
    }

    .home-Reason_List {
        margin: 68px auto 0
    }

    .home-Reason_List li {
        width: 260px
    }

    .home-Reason_List2 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker02-pc.png);
        height: calc(62em/var(--em));
        left: calc(-4em/var(--em));
        width: calc(232em/var(--em))
    }

    .home-Reason_List2 .home-Reason_User {
        margin-top: -54px;
        margin-left: 110px;
        width: 13.2vw
    }

    .home-Reason_List3 .home-Reason_Bubble:after {
        background-image: url(assets/img/reason-line03.svg);
        background-size: contain;
        content: "";
        pointer-events: none;
        position: absolute;
        right: calc(-1.5em/var(--em));
        left: calc(-1.5em/var(--em));
        top: calc(-1.5em/var(--em));
        bottom: calc(-1.5em/var(--em))
    }

    .home-Reason_List3 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker03-pc.png);
        height: calc(64em/var(--em));
        width: calc(192em/var(--em));
        left: calc(-8em/var(--em))
    }

    .home-Reason_List3 .home-Reason_User {
        margin-top: -54px;
        margin-left: 0;
        width: 14.4vw
    }

    .home-Reason_Bubble {
        --em: 19;
        --lh: 33;
        --let: 0;
        -ms-grid-column-align: center;
        justify-items: center;
        max-width: 260px;
        width: 19.1vw;
        min-width: 235px
    }

    .home-Reason_Bubble strong {
        --em: 25;
        --lh: 33
    }

    .page-Feature_Unit__02 {
        display: block;
        position: relative
    }

    .page-Feature_Unit__02:before {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        content: "";
        width: 118px;
        height: 98px
    }

    .page-Feature_Unit.page-Feature_Unit__point02:before {
        background-image: url(assets/img/feature-point2_pc.svg)
    }

    .page-Feature_Unit:not(:last-child) {
        margin-bottom: 60px
    }

    .page-Feature_Unit:nth-child(2):before {
        background-image: url(assets/img/feature-point2_pc.svg)
    }

    .page-Feature_Unit:nth-child(3):before {
        background-image: url(assets/img/feature-point3_pc.svg)
    }

    .page-Feature_Unit:nth-child(4):before {
        left: -8px;
        background-image: url(assets/img/feature-point4_pc.svg)
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool {
        margin-bottom: 80px;
        -ms-grid-columns: auto 38.7%;
        grid-template-columns: auto 38.7%
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Img {
        margin-top: -20px
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Title {
        padding-top: 0;
        display: -ms-flexbox;
        display: flex
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Title span {
        padding-top: 16px
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Title:before {
        width: calc(100% - 60px)
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool .page-Feature_Text {
        margin-top: 30px
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool02:before {
        top: 34px
    }

    .page-Feature_Unit.page-Feature_Unit__primaryschool02 .page-Feature_Title:before {
        width: calc(100% - 114px)
    }

    .page-Feature_Unit:before {
        background-image: url(assets/img/feature-point1_pc.svg)
    }

    .page-Feature_Inner {
        margin-left: 90px
    }

    .page-Feature_Inner__front03 {
        margin-top: 5px
    }

    .page-Feature_Title span {
        padding: 28px 24px 0;
        font-size: min(32px, 2.8vw);
        line-height: 1.2
    }

    .page-Feature_Title span:first-line {
        font-size: 16px
    }

    .page-Feature_Text.page-Feature_Text__02 {
        max-width: 100%
    }

    .page-Feature_Text.page-Feature_Text__03 {
        max-width: 100%
    }

    .page-Feature_TextHeader {
        font-size: 24px;
        margin-bottom: 5px;
        font-weight: 700
    }

    .page-Feature_Img {
        margin-top: 0
    }

    .page-Feature_Unit.page-Feature_Unit__02 {
        padding-right: 0;
        max-width: 1020px
    }

    .page-Feature_Unit.page-Feature_Unit__02 .page-Feature_Title {
        min-width: 600px;
        margin-top: 20px;
        width: 64%
    }

    .page-Feature_Unit.page-Feature_Unit__02 .page-Feature_Title:before {
        max-width: 497px
    }

    .page-Feature_Unit.page-Feature_Unit__02 .page-Feature_Title span {
        padding-top: 15px;
        line-height: 1.5
    }

    .page-Feature_Unit.page-Feature_Unit__02 .page-Feature_Text__02,
    .page-Feature_Unit.page-Feature_Unit__02 .page-Feature_Text__03 {
        padding-left: 73px
    }

    .page-Feature_Unit.page-Feature_Unit__02 .page-Feature_Inner {
        margin-left: 73px
    }

    .page-Feature_Unit.page-Feature_Unit__02 .page-Feature_Inner span {
        padding-left: 0
    }

    .page-Feature {
        padding-bottom: 60px
    }

    .page-Feature:before {
        background-image: url(assets/img/feature-bg-pc.png);
        top: 0
    }

    .page-Feature .page-Graph_Title {
        gap: 30px
    }

    .page-Feature_MajoreText {
        font-weight: 500;
        margin-top: 15px
    }

    .page-Feature_Container {
        margin-top: 64px
    }

    .page-Feature_Container__home .page-Feature_Unit:nth-child(1) .page-Feature_Img {
        margin-top: -25px;
        -ms-transform: translateX(-15px);
        transform: translateX(-15px)
    }

    .page-Feature_Container__home .page-Feature_Unit:nth-child(2) .page-Feature_Img {
        margin-top: -25px;
        max-width: 353px;
        -ms-transform: translate(12px, 0);
        transform: translate(12px, 0)
    }

    .page-Feature_Container__home .page-Feature_Unit:nth-child(3) .page-Feature_Img {
        -ms-transform: translate(0, -20px);
        transform: translate(0, -20px)
    }

    .page-Feature_Container__home .page-Feature_Unit:not(:first-child) {
        margin-top: 38px
    }

    .page-Feature_Container__home .page-Feature_Unit:not(:last-child) .page-Feature_Img {
        min-height: 338px
    }

    .page-Feature_Container__primaryschool .page-Feature_Text {
        padding-left: 73px
    }

    .page-Feature_Container__primaryschool .page-Feature_Inner {
        margin-left: 48px
    }

    .page-Feature_Container__primaryschool .page-Feature_Unit__primaryschool:before {
        margin-left: -8px
    }

    .page-Feature_Unit {
        max-width: 1015px;
        padding-right: 10px;
        width: 100%;
        margin: 0 auto 45px;
        -ms-grid-columns: auto 36.3%;
        grid-template-columns: auto 36.3%;
        -ms-grid-rows: auto 1fr;
        grid-template-rows: auto 1fr
    }

    .page-Feature_Img {
        width: 100%
    }

    .page-Feature_Unit:before {
        width: 118px;
        height: 98px
    }

    .page-Feature_Title b {
        --em: 37;
        --lh: 49
    }

    .page-Feature_Title b.Alt {
        --let: -.1em
    }

    .page-Feature_Title b.Alt span {
        --let: 0
    }

    .page-Feature_Copy {
        --em: 31;
        --lh: 45;
        margin-top: calc(13em/var(--em));
        margin-bottom: calc(-5em/var(--em))
    }

    .page-Feature_Text {
        line-height: 2;
        margin-top: 22px;
        font-size: 16px;
        max-width: 585px;
        padding-left: 115px;
        margin-bottom: 0
    }

    .page-Feature_Text span {
        --let: 0
    }

    .Alt .page-Feature_Text:before {
        background-image: url(assets/img/feature-marker02-pc.png);
        height: calc(84em/var(--em));
        left: calc(52em/var(--em));
        top: calc(7.1em/var(--em));
        width: calc(398.07em/var(--em))
    }

    .Alt2 .page-Feature_Text:before {
        background-image: url(assets/img/feature-marker03-pc.png);
        height: calc(84.08em/var(--em));
        left: calc(-5em/var(--em));
        top: calc(40.8em/var(--em));
        width: calc(346.03em/var(--em))
    }

    .Alt2 .page-Feature_Text span {
        --let: .12em
    }

    .page-Feature_Feature {
        --em: 17;
        --lh: 25;
        gap: calc(2em/var(--em));
        margin-top: calc(5em/var(--em));
        margin-right: calc(40em/var(--em));
        padding-right: calc(10em/var(--em))
    }

    .page-Feature_Feature:before {
        background-image: url(assets/img/feature-marker01-pc.png);
        content: "";
        height: calc(75.18em/var(--em));
        width: calc(243.28em/var(--em))
    }

    .page-Feature_Img {
        grid-row: 1/3
    }

    .home-Review_Container.home-Voice_Slide.swiper-initialized {
        overflow: hidden;
        padding-left: 16px;
        margin-left: -16px;
        margin-right: -16px;
        padding-right: 16px
    }

    .home-Review_Container.home-Voice_Slide.swiper-initialized .home-Review_Unit:before {
        box-shadow: none
    }

    .home-Review_Container.home-Voice_Slide.swiper-initialized .home-Review_Unit {
        box-shadow: none
    }

    .home-Review_Container.home-Voice_Slide.swiper-initialized .swiper-slide-active .home-Review_Unit,
    .home-Review_Container.home-Voice_Slide.swiper-initialized .swiper-slide-next .home-Review_Unit,
    .home-Review_Container.home-Voice_Slide.swiper-initialized .swiper-slide-next+.swiper-slide .home-Review_Unit {
        box-shadow: var(--baseShadow)
    }

    .swiper-outer {
        padding-left: 53px;
        padding-right: 53px;
        max-width: 1125px;
        margin-left: auto;
        margin-right: auto
    }

    .home-Review .swiper-pagination {
        margin-bottom: 30px
    }

    .swiper-programButton-next,
    .swiper-programButton-prev,
    .home-Review div.swiper-button-prev,
    .home-Review div.swiper-button-next {
        padding-right: 0;
        padding-left: 0;
        left: 0
    }

    .home-Review div.swiper-button-next {
        right: 0;
        left: auto
    }

    .swiper-programButton-next,
    .home-Review .swiper-button-next {
        right: 50%;
        margin-left: 270px
    }

    .swiper-programButton-next {
        margin-left: 0;
        right: -18px;
        position: absolute;
        left: auto
    }

    .swiper-programButton-prev {
        left: -18px;
        position: absolute
    }

    .home-Review_Img {
        height: auto;
        width: 100%;
        aspect-ratio: 395/295
    }

    .home-Review_Img img {
        height: 100%;
        width: 100%;
        object-fit: cover
    }

    .home-Review_Side {
        padding: 25px 17px 35px
    }

    .home-Review_Side_Img {
        width: min(56px, 30%);
        height: auto;
        aspect-ratio: 56/58
    }

    .home-Review_Side_Img img {
        width: 100%;
        height: 100%
    }

    .home-Review_Duration {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 9px
    }

    .home-Review_Duration>div dt {
        width: 55px;
        line-height: 19px;
        font-size: 9px
    }

    .home-Review_Duration>div dd {
        font-size: 8px
    }

    .home-Review_Title {
        font-size: 18px;
        min-height: calc(3em + 12px);
        padding: 12px 24px 0
    }

    .home-Review {
        padding-top: 60px;
        padding-bottom: calc(62em/var(--em))
    }

    .home-Review__schooll {
        padding-top: 100px
    }

    .home-Review_MajoreText {
        margin-top: calc(-12em/var(--em));
        text-align: left
    }

    .home-Review_Container {
        margin-top: 55px
    }

    .home-Review .swiper-button-prev,
    .home-Review .swiper-button-next {
        -ms-grid-column-align: end;
        justify-items: end;
        padding-right: calc(30em/var(--em));
        width: calc(233em/var(--em))
    }

    .home-Review .swiper-button-prev:before,
    .home-Review .swiper-button-next:before {
        border-width: calc(17em/var(--em)) calc(30em / var(--em)) calc(17em / var(--em)) 0;
        height: calc(34em/var(--em));
        width: calc(30em/var(--em))
    }

    .swiper-programButton-next:before,
    .swiper-programButton-prev:before {
        border-width: calc(17em/var(--em)) calc(30em / var(--em)) calc(17em / var(--em)) 0
    }

    .home-Review .swiper-button-next {
        -ms-grid-column-align: start;
        justify-items: start;
        padding-right: 0;
        padding-left: calc(30em/var(--em))
    }

    .home-Review_Unit {
        display: block
    }

    .home-Review_Name {
        font-weight: 600;
        font-size: 12px;
        margin-bottom: 4px;
        margin-left: 0
    }

    .home-Review_Name b {
        font-size: 20px
    }

    .home-Review_Name span {
        font-size: 8px
    }

    .home-Review_Btn {
        margin-top: 40px;
        margin-right: auto;
        margin-left: auto
    }

    .home-Teacher_Btn {
        margin-top: 50px;
        margin-right: auto;
        margin-left: auto
    }

    .home-Creator_Container.swiper-initialized {
        overflow: hidden
    }

    .home-Creator .swiper-button-prev:before,
    .home-Creator .swiper-button-next:before {
        margin-top: -42px
    }

    .home-Creator {
        padding-top: 0;
        padding-bottom: 35px
    }

    .home-Creator_Text {
        margin-top: calc(-6em/var(--em));
        text-align: left
    }

    .home-Creator_Container {
        margin-top: 55px;
        position: relative
    }

    .home-Creator_Container.swiper-initialized {
        padding-left: 16px;
        margin-left: -16px;
        margin-right: -16px;
        padding-right: 16px
    }

    .home-Creator .swiper-pagination {
        margin-bottom: calc(38em/var(--em));
        z-index: 1
    }

    .home-Creator .swiper-slide {
        padding-right: 0;
        padding-left: 0;
        width: auto
    }

    .home-Creator .swiper-button-prev {
        left: 0
    }

    .home-Creator .swiper-button-next {
        right: 0
    }

    .home-Creator .swiper-button-prev,
    .home-Creator .swiper-button-next {
        padding-right: 0;
        width: 32px;
        z-index: 1
    }

    .home-Creator .swiper-button-prev:before,
    .home-Creator .swiper-button-next:before {
        border-width: calc(17em/var(--em)) calc(30em / var(--em)) calc(17em / var(--em)) 0;
        height: calc(34em/var(--em));
        width: calc(30em/var(--em))
    }

    .home-Creator .swiper-button-next {
        padding-right: 0;
        padding-left: 0
    }

    .home-Creator_Link {
        gap: calc(4em/var(--em))
    }

    .home-Creator_Img img {
        height: calc(417em/var(--em))
    }

    .home-Creator_Activity {
        --em: 17;
        --lh: 25;
        gap: calc(0em/var(--em));
        margin-top: calc(25em/var(--em))
    }

    .home-Creator_Activity dt {
        font-size: 16px;
        padding-bottom: 10px
    }

    .home-Creator_Activity dd {
        font-size: 20px
    }

    .home-Creator_Btn {
        margin-top: 60px;
        margin-right: auto;
        margin-left: auto
    }

    .home-FAQ {
        padding-top: 20px;
        padding-bottom: 22px
    }

    .page-id-11 .home-FAQ,
    .page-id-95 .home-FAQ {
        padding-top: 0
    }

    .page-id-95 .home-FAQ {
        padding-top: 40px
    }

    .page-id-95 .home-FAQ:before {
        display: none
    }

    .home-FAQ:before {
        aspect-ratio: 1366/147;
        top: 1px;
        -webkit-mask-image: url(assets/img/contact-bottom-pc.png);
        mask-image: url(assets/img/contact-bottom-pc.png)
    }

    .home-FAQ_List {
        margin-top: 55px;
        margin-bottom: 50px
    }

    .home-FAQ_List>div {
        padding: 20px;
        margin-bottom: 20px;
        position: relative;
        overflow: hidden
    }

    .home-FAQ_Q.Open+.home-FAQ_A {
        margin-top: 5px;
        min-height: 2em;
        padding-top: 30px
    }

    .home-FAQ_Q {
        font-size: 20px;
        font-weight: 700;
        padding-left: 68px;
        padding-top: 16.5px;
        padding-right: 55px;
        padding-bottom: 16.5px
    }

    .home-FAQ_Q:before {
        font-size: 50px;
        left: 5px;
        top: -6px
    }

    .home-FAQ_A {
        padding-left: 68px;
        font-size: 16px;
        font-weight: 700
    }

    .home-FAQ_A:before {
        font-size: 50px;
        left: 5px;
        top: 8px
    }

    .home-FAQ_switch {
        width: 22px;
        height: 22px;
        right: 10px
    }

    .home-FAQ_Btn,
    .home-BLOG_Btn {
        margin-right: auto;
        margin-left: auto
    }

    .home-News {
        padding-top: calc(28em/var(--em))
    }

    .home-trial {
        padding-top: 102px;
        padding-bottom: 260px
    }

    .home-trial .page_whiteBack {
        margin-top: 60px
    }

    .home-News_Title {
        text-overflow: ellipsis;
        white-space: nowrap;
        display: block
    }

    .home-News_Link {
        font-size: 18px
    }

    .home-News {
        padding-top: calc(67em/var(--em));
        padding-bottom: 25px
    }

    .home-News .home-Section_Title {
        gap: 0;
        grid-auto-flow: revert;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-grid-column-align: center;
        justify-items: center;
        padding-top: 0
    }

    .home-News .home-Section_Title:before {
        margin-top: 0;
        margin-bottom: calc(-11em/var(--em))
    }

    .home-News_Inner {
        margin-top: 55px
    }

    .home-News_Pick {
        --let: 0;
        gap: 0 calc(37em/var(--em));
        grid-auto-flow: column;
        -ms-grid-columns: calc(513em/var(--em)) 1fr;
        grid-template-columns: calc(513em/var(--em)) 1fr;
        -ms-grid-rows: (auto)[3] 1fr;
        grid-template-rows: repeat(3, auto) 1fr;
        margin-right: calc(175em/var(--em) - var(--pd));
        margin-left: calc(175em/var(--em) - var(--pd));
        padding-right: calc(64em/var(--em));
        padding-bottom: 0;
        padding-left: 0
    }

    .home-News_Pick .home-News_Category {
        margin-top: calc(55em/var(--em))
    }

    .home-News_Pick .home-News_Title {
        margin-top: calc(10em/var(--em))
    }

    .home-News_Pick .home-News_Date {
        --em: 16;
        --lh: 23;
        margin-top: calc(24em/var(--em));
        margin-right: calc(-34em/var(--em));
        margin-bottom: calc(22em/var(--em))
    }

    .home-News_Img {
        -ms-grid-row: span 4;
        grid-row: span 4;
        margin-right: 0;
        margin-left: 0
    }

    .home-News_Img img {
        height: calc(289em/var(--em));
        object-fit: cover
    }

    .home-News_Category {
        font-size: 14px
    }

    .home-News_Title {
        --em: 24;
        --let: 0;
        --lh: 35
    }

    .home-News_Text {
        --em: 17;
        --let: 0;
        --lh: 30;
        display: -webkit-box;
        font-weight: 700;
        margin-top: calc(7.5em/var(--em));
        margin-bottom: calc(-2.5em/var(--em));
        overflow: hidden;
        -webkit-box-orient: vertical;
        /*! autoprefixer: on */
        -webkit-line-clamp: 3
    }

    .home-News_Date {
        font-size: 12px
    }

    .home-News_Container {
        margin-top: 0
    }

    .home-News_Unit {
        --let: 0;
        -ms-grid-columns: auto 110px 1fr;
        grid-template-columns: auto 110px 1fr;
        padding: 33px 10px
    }

    .home-News_Btn {
        margin-top: 60px;
        margin-right: auto;
        margin-left: auto
    }

    .home-Blog_Category {
        font-size: 12px
    }

    .home-Blog_Text {
        font-size: 14px
    }

    .home-Blog_Author {
        font-size: 14px
    }

    .home-Blog_Author img {
        width: 40px;
        height: 40px
    }

    .page-mainImg_Container .swiper-slide {
        aspect-ratio: 610/456
    }

    .home-Blog {
        padding-top: calc(68em/var(--em));
        padding-bottom: 255px
    }

    .home-Blog__single {
        padding-bottom: 0
    }

    .home-Blog .home-Blog_Unit {
        width: 316px
    }

    .home-Blog .home-Blog_Unit__single {
        width: 362px
    }

    .home-Blog .st-Wide {
        margin: 0
    }

    .home-Blog .home-Section_Title {
        gap: 0;
        grid-auto-flow: revert;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-grid-column-align: center;
        justify-items: center;
        padding-top: 0
    }

    .home-Blog .home-Section_Title:before {
        margin-top: 0;
        margin-bottom: calc(-11em/var(--em))
    }

    .home-Blog_Container {
        margin-top: 60px
    }

    .home-Blog .swiper-wrapper {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 36px;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-transform: none !important;
        transform: none !important
    }

    .single-interview .home-Blog .swiper-wrapper {
        -ms-flex-pack: start;
        justify-content: flex-start;
        gap: 0
    }

    .single-interview .home-Blog .home-Blog_Unit {
        width: auto
    }

    .single-interview .home-Blog .swiper-slide {
        width: 31%
    }

    .single-interview .home-Blog .swiper-slide:not(:last-child) {
        margin-right: 3.5%
    }

    .home-Blog_Btn {
        margin-top: 40px;
        margin-right: auto;
        margin-left: auto
    }

    :root {
        --baseShadow2: 0 4px 10px 0 rgba(0, 0, 0, .3)
    }

    :root {
        --rem: 16;
        --pd: calc(112rem/var(--rem));
        --w: 13.66
    }

    .st-Target {
        margin-top: calc(-96em/var(--em));
        padding-top: calc(96em/var(--em))
    }

    .st-SP.st-SP {
        display: none
    }

    .st-PC.st-PC {
        display: block !important
    }

    .st-PCI.st-PCI {
        display: inline
    }

    .st-PCIB.st-PCIB {
        display: inline-block
    }

    .st-PCF.st-PCF {
        display: -ms-flexbox;
        display: flex
    }

    .st-PCG.st-PCG {
        display: -ms-grid;
        display: grid
    }

    body:not(.home) {
        padding-top: 0
    }

    .btn01.btn01__orange {
        padding: 29px 80px
    }

    .btn01 {
        padding: 30px 80px;
        width: fit-content;
        border-radius: 45px;
        font-size: 20px
    }

    .page_header01.page_header01__company,
    .page_header01.page_header01__contact {
        background-image: url(assets/img/header/page_header_pc_company.png)
    }

    .page_header01 {
        margin-bottom: 40px;
        padding-bottom: 10px;
        width: 100%;
        height: 405px;
        background-image: url(assets/img/header/page_header_pc.png);
        background-position: center bottom;
        aspect-ratio: unset
    }

    .page_header01 h1 {
        font-size: 55px
    }

    .page_header01 h1:after {
        font-size: 18px
    }

    .page_header02 {
        margin-bottom: 60px;
        background-image: url(assets/img/header/page_header_primaryschool_pc@2x.png);
        aspect-ratio: 2732/1360
    }

    .page_header02 .page_pageHeader02_heading {
        text-shadow: 0 0 26px #40dfcf
    }

    .page_header02 .home-Hero_Lesson {
        width: 30.4%
    }

    .page_header02 .page_pageHeader02_txt {
        display: block
    }

    .page_header04 {
        background-position: right -70px top 0
    }

    .page_header04 {
        display: block;
        margin-bottom: 80px;
        background-image: url(assets/img/header/page_header_juniorschool_pc@2x.png);
        aspect-ratio: 1366/664
    }

    .page_header04 .page_header02__inner {
        -ms-flex-align: start;
        align-items: flex-start
    }

    .page_header04 .page_pageHeader02_heading {
        margin-bottom: 2px;
        width: auto;
        background-color: transparent
    }

    .page_header04 .page_pageHeader02_txt {
        margin-bottom: 45px;
        background-color: transparent
    }

    .page_header04 .home-Hero_Lesson {
        width: 30.4%
    }

    .page_header02,
    .page_header04 {
        min-height: 500px
    }

    .page_header02 .home-Hero_Lesson,
    .page_header04 .home-Hero_Lesson {
        padding-bottom: 5px;
        min-width: 260px
    }

    .page_header02 .Hero_Lesson_top,
    .page_header04 .Hero_Lesson_top {
        padding: 8.5px 0;
        font-size: 13px
    }

    .page_header02 .Hero_Lesson_top br,
    .page_header04 .Hero_Lesson_top br {
        display: none
    }

    .page_header02 .home-Hero_Lesson_bottom,
    .page_header04 .home-Hero_Lesson_bottom {
        font-size: 2.1vw
    }

    .page_header02 .home-Hero_Lesson_bottom span,
    .page_header04 .home-Hero_Lesson_bottom span {
        padding: 5.5px 20px;
        max-width: 100%;
        width: 230px;
        font-size: 14px
    }

    .page_header02__inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 0 auto;
        max-width: 76.4%;
        height: 100%;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-pack: center;
        justify-content: center
    }

    .page_pageHeader02_badge {
        padding: 7px 30px;
        border-radius: 2vw;
        font-size: 1.35vw
    }

    .page_pageHeader02_heading {
        margin: 16px 0 8px;
        font-size: 4.4vw
    }

    .page_pageHeader02_heading br {
        display: none
    }

    .page_pageHeader02_txt {
        display: block;
        margin-bottom: 3vw;
        font-size: 2.1vw;
        line-height: 1.5
    }

    .page_header03 {
        margin-bottom: 60px;
        padding-top: 160px;
        font-size: 44px
    }

    .page_header03 h1:after {
        margin-top: 5px;
        font-size: 16px
    }

    #breadcrumbs {
        padding: 30px;
        white-space: wrap;
        font-size: 12px
    }

    .page-id-11 .page_item.page_item__program {
        margin-top: 105px
    }

    .page_item__event {
        margin-top: 100px
    }

    .page_item.page_item__program {
        margin-top: 45px
    }

    .page_item.page_item__timetable {
        margin-top: 140px
    }

    .page_item__teacher {
        padding-top: 40px
    }

    .page_item__faq {
        padding-bottom: 40px
    }

    .page_item__base {
        margin-top: 100px
    }

    .page_item__base_bottom {
        margin-bottom: 100px
    }

    .page_item__lesson:after {
        top: 290px;
        left: 85%;
        width: 54px;
        height: 60px
    }

    .page_item__event {
        background-position: 1.78% 0 !important;
        background-size: 3.515% auto !important;
        padding-bottom: 0
    }

    .page_item__event {
        background-position: 1.78% 0 !important;
        background-size: 3.515% auto !important;
        padding-bottom: 0
    }

    .page_item__01 {
        margin-bottom: 0;
        padding-bottom: 35px;
        background-position: right center;
        background-size: min(827.5px, 70vw) auto
    }

    .page_item__01 .page_item01_txt02 {
        max-width: 530px
    }

    .page_item__03 {
        margin-top: 32px;
        margin-bottom: 0;
        padding-bottom: 35px;
        background-position: right top;
        background-size: min(1026px, 80vw) auto
    }

    .page_item__03 .page_item01_txt02 {
        max-width: 900px
    }

    .page_item__03 .page_item01_Title {
        margin-top: 10px
    }

    .page_item__04 {
        margin-bottom: 0;
        padding-top: 56px;
        padding-bottom: 35px;
        background-position: right top;
        background-size: min(1026px, 90vw) auto
    }

    .page_item__04 .page_item01_txt02 {
        max-width: 95 0
    }

    .page_item__04 .page_item01_Title {
        margin-top: 10px;
        margin-bottom: 35px
    }

    .page_item__05 {
        margin-bottom: 0;
        padding-top: 56px;
        padding-bottom: 35px;
        background-position: right top;
        background-size: min(988px, 90vw) auto
    }

    .page_item__05 .page_item01_txt02 {
        max-width: 95 0
    }

    .page_item__05 .page_item01_Title {
        margin-top: 10px;
        margin-bottom: 35px
    }

    .page_item__mesh {
        padding-top: 0;
        background-image: url(assets/img/parts/mesh_pc.png);
        background-position: 1.22% 0;
        background-size: 3.643% auto
    }

    .page_item__orange_mesh {
        padding-top: 0;
        background-image: url(assets/img/parts/mesh_orange_pc.png);
        background-position: .79% 2.5vw;
        background-size: 3.514% auto
    }

    .page_item__dot {
        padding-top: 0;
        background-image: url(assets/img/parts/dot_pc.png);
        background-position: 2.75% 50%;
        background-size: 2.126% auto
    }

    .page_item__company,
    .page_item__contact {
        background-position: 3.1% 0;
        background-size: max(46px, 3.52%) auto
    }

    .page.page-id-11 .page_item__event {
        background-position: .8% 0 !important;
        background-size: 3.542% auto !important;
        padding-bottom: 0
    }

    .page_item01_Title {
        margin-top: 84px;
        margin-bottom: 52px;
        text-align: left;
        font-size: 44px
    }

    .page_item01_txt01 {
        margin-bottom: 25px;
        text-align: left;
        font-size: 30px
    }

    .page_item01_txt02 {
        margin-bottom: 20px;
        font-size: 16px;
        line-height: 1.87
    }

    .page_whiteBack {
        margin-top: 45px
    }

    .page_whiteBack_box {
        padding: 58px 60px
    }

    .page_whiteBack_box__type01 {
        padding-bottom: 15px
    }

    .page_sideImg_heading {
        font-weight: 700;
        font-size: 25px
    }

    .page_sideImg_heading br {
        display: block
    }

    .page_sideImg_txt {
        margin-bottom: 0;
        max-width: 450px;
        font-weight: 700;
        font-size: 16px;
        line-height: 2
    }

    .page_circle_list {
        margin-top: 10px;
        margin-bottom: 0;
        max-width: 450px;
        gap: 8px
    }

    .page_circle_list li {
        font-size: 14px
    }

    .page_circle_list li b {
        font-size: 24px
    }

    .page_circle_list li b span {
        font-size: 24px
    }

    .page_whiteBack_heading {
        margin-bottom: 45px;
        font-size: 26px
    }

    .page_sideImg {
        display: -ms-grid;
        display: grid;
        margin-bottom: 40px;
        gap: 10px 23px;
        -ms-grid-columns: 1fr 44.6%;
        grid-template-columns: 1fr 44.6%;
        -ms-grid-rows: auto auto auto;
        grid-template-rows: auto auto auto
    }

    .page_sideImg__contact {
        -ms-grid-columns: 1fr 41.2%;
        grid-template-columns: 1fr 41.2%
    }

    .page_sideImg__contact .page_sideImg_txt {
        margin-bottom: 25px;
        max-width: 530px
    }

    .page_sideImg__contact .page_circle_list {
        max-width: 530px
    }

    .page_sideImg__contact .page_circle_list li {
        font-size: 16px
    }

    .page_sideImg__contact .page_circle_list li b {
        font-size: 28px
    }

    .page_sideImg_img {
        grid-column: 2/3;
        grid-row: 1/5
    }

    .page_sideImg_img img {
        margin: 0;
        width: 100%
    }

    .page_halfUnit {
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 40px;
        -ms-flex-pack: center;
        justify-content: center
    }

    .page_halfUnit>div {
        width: 50%
    }

    .page_halfUnit_heading {
        margin-bottom: 25px;
        padding: 7.5px 0;
        border-radius: 20px;
        font-size: 18px
    }

    .page_halfUnit_txt {
        font-size: 16px
    }

    .page_halfUnit_img__01 img {
        width: 294px
    }

    .page_halfUnit_img__02 {
        padding-top: 10px;
        font-size: 24px
    }

    .page_halfUnit_img__02 img {
        width: 102px
    }

    .page_squareList {
        gap: 40px;
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr)
    }

    .page_squareList_title {
        font-weight: 700;
        font-size: 20px
    }

    .page_squareList_name {
        font-size: 12px
    }

    .page_ctaBox {
        padding-top: 65px;
        padding-bottom: 70px
    }

    .page_ctaBox_heading:before,
    .page_ctaBox_heading:after {
        height: 40px
    }

    .page_ctaBox_heading {
        margin: 0 auto 40px;
        padding: 0 50px;
        width: fit-content;
        font-weight: 700;
        font-size: 26px
    }

    .page_ctaBox_heading br {
        display: none
    }

    .page-centerBox {
        font-size: 16px
    }

    .page-centerBox .page-centerBox_heading {
        font-size: 36px
    }

    .school_clum2Txt {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 70px
    }

    .school_clum2Txt>div:first-child {
        margin-right: 1%;
        text-align: left;
        font-size: min(48px, 5vw);
        line-height: 1.25
    }

    .school_clum2Txt>div:last-child {
        font-size: 16px;
        width: 59.3%;
        line-height: 1.87
    }

    .school_clum2Txt>div:last-child b {
        font-weight: 700
    }

    .page_lessonBox__02:after {
        top: -50px;
        left: 5%;
        width: 58px;
        height: 68px
    }

    .page_lessonBox__03:after {
        bottom: -55px;
        left: 24px;
        width: 58px;
        height: 68px
    }

    .page_lessonBox__03:before {
        display: block
    }

    .page_lessonBox__03.page_lessonBox__03 {
        margin-bottom: 85px
    }

    .page_lessonBox {
        margin-top: 130px;
        margin-bottom: 150px;
        padding-bottom: 80px
    }

    .page_lessonItem>li:after {
        height: 35px
    }

    .page_lessonItem>li:last-child {
        position: absolute;
        bottom: 25px;
        max-width: 620px;
        width: 68%
    }

    .page_lessonItem {
        margin: 0 auto;
        padding: 0 10px;
        max-width: 978px
    }

    .page_lessonItem li {
        padding-top: 18px;
        width: 33.33%
    }

    .page_lessonItem_header {
        top: -70px;
        font-size: 48px
    }

    .page_lessonItem_header:after {
        font-size: 22px
    }

    .page_lessonItem_img__badge:after {
        right: -40px;
        bottom: -25px;
        left: auto;
        width: 137px;
        height: 137px;
        background-image: url(assets/img/school/lesson_badge_pc.png)
    }

    .page_lessonItem_img__type01 {
        width: 76.3%
    }

    .page_lessonItem_img__type02 {
        width: 100%
    }

    .page_lessonItem_img__type06 {
        padding-top: 10px;
        width: 100%
    }

    .page_lessonItem_img__type03 {
        width: 89.5%
    }

    .page_lessonItem_img__type04 {
        width: 96.3%
    }

    .page_lessonItem_img__type05 {
        width: 76.3%
    }

    .page_lessonItem_img__type07 {
        width: 80.5%
    }

    .page_lessonItem_name {
        display: inline-block;
        font-size: 42px
    }

    .page_lessonItem_name:after {
        font-size: 20px
    }

    .page_lessonItem_grade {
        display: inline-block
    }

    .page_lessonItem_txt {
        margin-top: 10px
    }

    .page_contactBox__01 {
        background-image: url(assets/img/school/experience01_pc.png);
        aspect-ratio: 2732/1203
    }

    .page_contactBox.page_contactBox__02 {
        background-image: url(assets/img/school/experience02_pc.png);
        aspect-ratio: 1366/551
    }

    .page_contactBox.page_contactBox__02 a {
        right: 12.5vw;
        bottom: 7.3vw
    }

    .page_contactBox__03 {
        margin-bottom: 10px;
        background-image: url(assets/img/school/experience03_pc.png);
        aspect-ratio: 1366/547
    }

    .page_contactBox.page_contactBox__04 {
        background-image: url(assets/img/school/experience04_pc.png);
        aspect-ratio: 1366/547
    }

    .page_contactBox.page_contactBox__04 a {
        bottom: 11vw
    }

    .page_contactBox.page_contactBox__05 {
        background-image: url(assets/img/school/experience05_pc.png);
        aspect-ratio: 2732/1129
    }

    .page_contactBox.page_contactBox__05 a {
        right: 12.5vw;
        bottom: 11vw
    }

    .page_contactBox__06 {
        background-image: url(assets/img/school/experience06_pc.png);
        aspect-ratio: 2000/808
    }

    .page_contactBox a {
        right: 12.5vw;
        bottom: 10vw;
        padding: 29px 0;
        width: 30.8%;
        border-radius: 50px;
        box-shadow: 7px 7px 5px 0 rgba(0, 0, 0, .4);
        font-size: 24px
    }

    .page_contactBox a:after {
        right: -15px;
        bottom: -40px;
        width: 69px;
        height: 73px
    }

    .charaImg__05 {
        top: 45%;
        left: 50%;
        width: 56px;
        -ms-transform: translateX(-400px);
        transform: translateX(-400px)
    }

    .charaImg__06 {
        top: 80px;
        right: 50%;
        width: 73px;
        -ms-transform: translateX(600px);
        transform: translateX(600px)
    }

    .charaImg__07 {
        top: 52.5%;
        right: 51%;
        width: 65px;
        -ms-transform: translateX(480px);
        transform: translateX(480px)
    }

    .charaImg__08 {
        bottom: -50px;
        left: 50%;
        display: block;
        width: 65px;
        -ms-transform: translateX(-670px);
        transform: translateX(-670px)
    }

    .page-imgheader__target {
        margin-bottom: 78px;
        padding-top: 14px
    }

    .page-imgheader__target img {
        width: 582px
    }

    .page-imgheader__teacher img {
        width: 420px
    }

    .page-imgheader__point {
        margin-bottom: 60px
    }

    .page-imgheader__point img {
        width: 405px
    }

    .page-imgheader__curriculum img {
        width: 462px
    }

    .page-imgheader__curriculum02 img {
        margin-top: 40px;
        width: 437px
    }

    .page_targetList {
        margin-bottom: 144px
    }

    .page_targetList li {
        padding: 8.5px 12px;
        width: auto
    }

    .page_targetList li:nth-child(odd) {
        margin-top: -40px
    }

    .page_targetList li:nth-child(1) img {
        margin: -50px auto 0;
        width: 160px
    }

    .page_targetList li:nth-child(2) img {
        margin: -55px auto 0;
        width: 180px;
        -ms-transform: translateX(10px);
        transform: translateX(10px)
    }

    .page_targetList li:nth-child(3) img {
        margin: -100px auto 0;
        width: 195px
    }

    .page_targetList li:nth-child(4) img {
        margin: -65px auto 0;
        width: 221px;
        -ms-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    .page_targetList__primaryschool {
        margin-bottom: 112px
    }

    .page_targetList__primaryschool li {
        margin-bottom: 30px
    }

    .page_targetList__primaryschool li .page_targetList_heading {
        padding-bottom: 10px;
        width: 210px;
        height: 210px;
        font-size: 18px
    }

    .page_targetList__primaryschool li:nth-child(1) img {
        margin-top: -65px;
        width: 271px
    }

    .page_targetList__primaryschool li:nth-child(2) img {
        margin-top: -65px;
        width: 197px
    }

    .page_targetList__primaryschool li:nth-child(3) img {
        margin-top: -55px;
        width: 183px
    }

    .page_targetList__primaryschool li:nth-child(4) img {
        margin-top: -45px;
        width: 159px
    }

    .page_targetList_heading {
        width: 230px;
        height: 230px;
        border: none;
        background-color: transparent;
        background-image: url(assets/img/school/target-heading_back.svg);
        background-position: 0 0;
        background-size: contain;
        font-weight: 700
    }

    .page_targetList_heading:after {
        display: none
    }

    .page-pointUnit {
        margin-bottom: 125px;
        text-align: center;
        gap: 40px;
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr)
    }

    .page-pointItem {
        padding: 20px 15px 38px
    }

    .page-pointItem:before {
        margin-bottom: 5px;
        font-size: 46px
    }

    .page-pointItem_heading {
        font-size: 30px;
        line-height: 1.4
    }

    .page-pointItem_txt {
        font-size: 16px
    }

    .page_sideImg02 {
        margin-bottom: 500px;
        max-width: calc(100vw - 55px)
    }

    body .page_sideImg02:not(:first-child) {
        margin-top: 55px
    }

    .page_squareBadge {
        padding: 0 5px;
        min-width: 107px;
        font-size: 28px;
        line-height: 34px
    }

    .page_sideImg02_img {
        margin: 0
    }

    .page_sideImg02_txt p:nth-child(2) {
        font-weight: 700
    }

    .page_sideImg02_txt {
        font-size: 16px
    }

    .page_sideImg02_txt__ninja {
        padding-bottom: 15px;
        background-position: right 15px bottom;
        background-size: 111px 121px
    }

    .page_sideImg02_txt__ninja p:not(:first-child) {
        padding-right: 120px
    }

    .page_sideImg02 {
        display: -ms-grid;
        display: grid;
        margin-top: 66px;
        margin-bottom: 0;
        padding-left: 73px;
        gap: 25px 42px;
        -ms-grid-columns: 1fr 45.9%;
        grid-template-columns: 1fr 45.9%;
        -ms-grid-rows: auto 1fr;
        grid-template-rows: auto 1fr
    }

    .page-pointLayout01 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 50px;
        padding-left: 73px;
        font-size: 16px
    }

    .page-pointLayout01:last-child {
        margin-bottom: 95px
    }

    .page-pointLayout01_txt {
        margin-top: 25px;
        -ms-flex-order: 2;
        order: 2
    }

    .page-pointLayout01_img,
    .page-pointLayout01_list {
        -ms-flex-order: 3;
        order: 3
    }

    .page-pointLayout01_img {
        margin-top: 25px
    }

    .page-pointLayout01_list {
        margin-top: 30px
    }

    .page-cardUnit {
        margin-top: 50px
    }

    .page-cardItem {
        display: -ms-flexbox;
        display: flex
    }

    .page-cardItem:not(:last-child) {
        margin-bottom: 50px
    }

    .page-cardItem_imgWrapper {
        width: 50%;
        aspect-ratio: 510/383
    }

    .page-cardItem_meta {
        padding: 48px 58px 25px;
        -ms-flex: 1;
        flex: 1;
        -ms-flex-pack: center;
        justify-content: center
    }

    .page-cardItem_name {
        margin-bottom: 20px;
        font-size: 28px
    }

    .page-cardItem_activity dd {
        padding: 3.5px 9px;
        font-size: 14px
    }

    .page-cardItem_activity dt {
        color: #b1b1b1;
        font-weight: 700
    }

    .page-planUnit {
        margin-top: 60px;
        margin-right: auto;
        margin-left: auto;
        max-width: 920px
    }

    .page-cardItem_txt {
        min-height: 122px;
        font-size: 16px
    }

    .page-planItem_catch {
        min-height: 195px
    }

    .page-planItem_heading {
        font-size: 28px
    }

    .page-planItem {
        margin: 0 20px;
        width: 420px
    }

    .page-planItem {
        padding: 30px 30px 22px
    }

    .page-planItem__01 .page-planItem_catch img {
        width: 164px
    }

    .page-planItem__02 .page-planItem_catch img {
        width: 71px
    }

    .page-planItem__03 .page-planItem_catch img {
        width: 132px
    }

    .page-planItem figcaption {
        display: block;
        font-weight: 700;
        font-size: 18px
    }

    .page-planItem figcaption span {
        display: block;
        font-weight: 400;
        font-size: 12px
    }

    .page-planItem_list01 {
        margin: 0 -20px;
        font-size: 14px
    }

    .page-planItem_list02 {
        margin-right: auto;
        margin-left: auto;
        max-width: 260px;
        font-size: 14px
    }

    .page-planItem_list02 li {
        padding: 3px 18px
    }

    .page-planItem_table {
        margin-right: auto;
        margin-left: auto;
        max-width: 260px;
        font-size: 17px
    }

    .page-planItem_table td b,
    .page-planItem_table th b {
        margin: 0 5px;
        font-size: 28px
    }

    .page-money {
        margin-top: 80px;
        margin-right: auto;
        margin-left: auto;
        padding: 40px 25px;
        max-width: 900px
    }

    .page-money_inner {
        margin: 0 auto;
        max-width: 740px
    }

    .page-money_heading {
        margin-bottom: 22px;
        padding: 5px 0;
        width: 160px;
        border-radius: 17px;
        font-size: 16px
    }

    .page-money_split {
        margin-bottom: 40px
    }

    .page-money_split_item {
        font-weight: 700;
        font-size: 24px;
        line-height: 1.3
    }

    .page-money_split_item b {
        font-size: 44px
    }

    .page-money_split_item small {
        font-weight: 400;
        font-size: 16px
    }

    .page-money_list:after {
        top: -50px;
        right: -30px;
        width: 171px;
        height: 171px
    }

    .page-money_list {
        position: relative;
        margin-bottom: 40px;
        line-height: 1
    }

    .page-money_list>div {
        display: -ms-flexbox;
        display: flex;
        margin: 0 auto;
        margin-bottom: 10px;
        width: fit-content;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .page-money_list>div dd {
        width: 160px;
        text-align: right;
        font-size: 19px
    }

    .page-money_list>div dd b {
        font-size: 34px
    }

    .page-money_list>div dt {
        width: 6.5em;
        text-align: right;
        font-weight: 700;
        font-size: 20px
    }

    .page-money_txt {
        font-size: 16px
    }

    .page-money_method {
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px;
        padding: 13px 10px;
        font-size: 20px;
        -ms-flex-align: center;
        align-items: center;
        gap: 13px;
        -ms-flex-pack: center;
        justify-content: center
    }

    .page-money_method small {
        font-size: 12px
    }

    .page-title_Text {
        margin-top: 30px;
        font-size: 16px
    }

    .page-timetableBox {
        display: -ms-flexbox;
        display: flex;
        margin-top: 35px;
        margin-bottom: 130px;
        padding: 60px 20px 60px 60px;
        -ms-flex-align: center;
        align-items: center
    }

    .page-timetable_time {
        margin-bottom: 0;
        width: 50%
    }

    .page-timetable_time>div:first-child {
        border-right: 2px solid #181818
    }

    .page-timetable_meta {
        margin: 0 auto;
        max-width: 45%;
        width: 325px
    }

    .page-timetable_list li {
        font-size: 24px
    }

    .page-timetable_heading {
        padding: 5px 0;
        width: 120px;
        border-radius: 20px;
        font-size: 16px
    }

    .page-timetable_heading01 {
        margin-bottom: 20px;
        font-size: 28px
    }

    .page-timetable_txt {
        font-size: 16px;
        line-height: 1.85
    }

    .page-currculumbox {
        margin-bottom: 100px;
        padding-top: 80px
    }

    .page-small-txt {
        font-size: 12px
    }

    .page-card02 {
        display: -ms-flexbox;
        display: flex;
        margin-top: 60px;
        margin-bottom: 60px
    }

    .page-card02_imgWrapper {
        width: 39.3%;
        aspect-ratio: 400/300
    }

    .page-card02_imgWrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .page-card02_meta {
        padding: 40px 50px 10px;
        -ms-flex: 1;
        flex: 1
    }

    .page-card02_cat {
        font-size: 14px
    }

    .page-card02_heading {
        margin-top: 18px;
        font-weight: 700;
        font-size: 24px
    }

    .page-card02_txt {
        margin-bottom: 25px;
        min-height: 3em;
        font-size: 16px
    }

    .page-card02_prof {
        font-weight: 700;
        font-size: 16px
    }

    .page-card02_prof img {
        width: 54px;
        height: 54px
    }

    .page-card02_time {
        margin-right: 20px
    }

    .page-card02_front {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center
    }

    .home-Bnr__event {
        margin-right: -30px;
        padding-right: 0;
        padding-bottom: 100px;
        padding-left: 0
    }

    .home-Bnr__event img {
        box-shadow: var(--baseShadow)
    }

    .home-Bnr__event .swiper-wrapper {
        margin-right: auto;
        margin-left: auto;
        max-width: 100vw;
        gap: 0
    }

    .home-Bnr__event .swiper-slide {
        padding-right: 30px
    }

    .page-border_table.page-border_table__02 th {
        padding-left: 5px;
        font-weight: 700;
        font-size: 18px
    }

    .page-border_table.page-border_table__02 td {
        font-size: 16px
    }

    .page-border_table.page-border_table__02 th,
    .page-border_table.page-border_table__02 td {
        padding-top: 25px;
        padding-bottom: 25px
    }

    .page-border_table th {
        margin-right: 40px;
        width: 240px
    }

    .page-border_table th,
    .page-border_table td {
        padding-top: 18px;
        padding-bottom: 20px
    }

    .page_termsList dt {
        font-size: 24px
    }

    .page_termsList dd>ul>li {
        padding-left: 1.8em;
        text-indent: -1.8em
    }

    .page_termsList dd>ul ul.page-ulDot {
        margin: 5px 0 0
    }

    .page_termsList {
        font-size: 16px
    }

    .page_termsList>div {
        margin-bottom: 45px
    }

    .page_termsList dd>ul li {
        padding-left: 1.8em;
        text-indent: -1.8em
    }

    .page_termsList dd>ul li ul li:before {
        font-size: 22px
    }

    .page_termsList dd>ul li:before {
        margin-right: 12px;
        font-size: 22px
    }

    .page_termsList__number dt:before {
        font-size: 44px
    }

    .page_termsList__privacy dt span {
        margin: 0 10px;
        font-size: 44px
    }

    .page-privacyTxt {
        margin-bottom: 60px;
        font-size: 16px
    }

    .page_dataLIst {
        margin-bottom: 80px
    }

    .page-Normal_Title {
        margin-bottom: 30px;
        font-size: 30px
    }

    .page-sideMessage {
        display: -ms-flexbox;
        display: flex;
        margin-top: -95px;
        margin-left: 20px;
        -ms-flex-align: center;
        align-items: center
    }

    .page-sideMessage>p {
        padding-top: 104px;
        width: 53%;
        text-align: left;
        font-size: 34px
    }

    .page-sideMessage>div {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex: 1;
        flex: 1;
        -ms-flex-pack: center;
        justify-content: center
    }

    .page-sideMessage>div img {
        width: 349px
    }

    .page-company_txt01 {
        margin-top: 90px;
        text-align: left;
        font-size: 32px
    }

    .page-border_txt02 {
        margin-bottom: 70px
    }

    .page-border_txt02 {
        padding-bottom: 5px;
        background-size: auto 51px;
        font-size: 16px;
        line-height: 51px
    }

    .page-border_txt02 p {
        margin-bottom: 51px
    }

    .page-border_txt02 p:last-child {
        margin-bottom: 0
    }

    .page-clum2Block {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        margin: 0 auto;
        max-width: 1196px
    }

    .page-clum2Block__pickup {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .page-clum2Block__pickup .page-clum2Block_top {
        width: 100%;
        -ms-flex-order: 1;
        order: 1
    }

    .page-clum2Block__pickup .page-clum2Block_main {
        -ms-flex-order: 3;
        order: 3
    }

    .page-clum2Block__pickup .page-clum2Block_side {
        -ms-flex-order: 2;
        order: 2
    }

    .page-clum2Block_side .page-clum2Block_side_inner>section {
        margin-bottom: 44px;
        padding: 0;
        border-bottom: none
    }

    .page-clum2Block_side {
        position: relative;
        padding: 0;
        width: 260px;
        border: none
    }

    .page-clum2Block_side .page-clum2Block_side_inner {
        position: sticky;
        top: 100px;
        left: 0
    }

    .page-clum2Block_side__03 .page-ac_heading.Open {
        border-bottom: 1px solid #c6c6c6
    }

    .page-clum2Block_main {
        margin-right: 7%;
        width: 1px;
        -ms-flex: 1;
        flex: 1
    }

    .page-ac_body {
        max-height: inherit
    }

    .page-ac_heading.js-Acc {
        cursor: default
    }

    .page-ac_heading.Open+.page-ac_body {
        margin-top: 30px
    }

    .page-ac_heading {
        margin-bottom: 10px;
        padding: 0 0 12px;
        border-bottom: 1px solid #c6c6c6;
        font-weight: 700;
        font-size: 20px
    }

    .page-ac_heading.Open {
        margin-bottom: 10px;
        padding: 0 0 12px;
        border-bottom: 1px solid #c6c6c6
    }

    .page-ac_heading:before,
    .page-ac_heading:after {
        display: none
    }

    .page-ac_heading:after,
    .page-ac_heading:before {
        display: none
    }

    .page-arrowList dt {
        margin-bottom: 10px;
        font-weight: 700;
        font-size: 16px
    }

    .page-arrowList dd {
        padding: 0 0 0 30px;
        width: 100%
    }

    .page-arrowList dd:not(:last-child) {
        margin-bottom: 20px
    }

    .page-arrowList dd {
        width: 100%;
        font-size: 14px
    }

    .page-arrowList svg {
        width: 16px
    }

    .page-arrowList02 {
        display: block;
        margin-top: 30px;
        font-weight: 700;
        font-size: 16px
    }

    .page-arrowList02 li {
        margin: 18px 0;
        width: 100%
    }

    .page-arrowList02 li img {
        width: 16px;
        height: 16px
    }

    .page-arrowList03 {
        margin-top: 30px
    }

    .page-arrowList03>.cat-item>a {
        font-size: 16px
    }

    .page-arrowList03>.cat-item>a:before {
        width: 16px;
        height: 16px
    }

    .page-arrowList03>.cat-item>a:after {
        border-width: 4px 0 4px 6px
    }

    .page-arrowList03 .children {
        display: block;
        margin-bottom: 25px;
        font-size: 14px
    }

    .page-keywordList {
        margin-top: 30px;
        font-size: 12px;
        gap: 15px 25px
    }

    .page-review_Unit {
        display: -ms-grid;
        display: grid;
        padding-bottom: 60px;
        gap: 36px 4%;
        -ms-grid-columns: (minmax(280px, 100%))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(280px, 100%))
    }

    .page-review_Unit+.page-naviWrapper .wp-pagenavi {
        margin-bottom: 0
    }

    .page-reviewItem {
        margin-bottom: 0
    }

    .page-reviewItem_heading {
        padding: 15px 20px;
        font-size: 18px
    }

    .page-reviewItem_prof {
        padding: 20px
    }

    .page-reviewItem_userImg {
        width: 60px;
        height: 60px
    }

    .page-reviewItem_name {
        font-size: 14px
    }

    .page-reviewItem_name b {
        font-size: 20px
    }

    .page-reviewItem_name span {
        font-size: 12px
    }

    .page-reviewItem_meta {
        max-width: 260px;
        -ms-flex: 1;
        flex: 1
    }

    .page-reviewItem_list>div {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .page-reviewItem_list>div:not(:last-child) {
        margin-right: 5px
    }

    .page-reviewItem_list>div dd {
        font-weight: 700;
        font-size: 13px
    }

    .page-reviewItem_list {
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .page-reviewItem_imgWrapper {
        aspect-ratio: 395/295
    }

    .page-weekSearch {
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 60px;
        -ms-flex-align: center;
        align-items: center
    }

    .page-weekSearch dt {
        margin-right: min(35px, 2vw);
        margin-bottom: 0;
        padding: 8px 40px 8px 0;
        border-right: 1px solid #d5d5d5;
        font-size: 16px
    }

    .page-weekSearch dd {
        display: -ms-flexbox;
        display: flex
    }

    .page-weekList {
        margin-bottom: 0
    }

    .page-weekList .page-weekList_item {
        margin: 0 9px;
        width: 54px;
        height: 54px;
        font-size: 16px
    }

    .page-weekList_clear {
        margin-left: 9px;
        font-size: 16px
    }

    .page-creatorUnit {
        gap: 60px 3.5%;
        -ms-grid-columns: (minmax(200px, 228px))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(200px, 228px))
    }

    .page-creatorItem_imgWrapper {
        margin-bottom: 30px
    }

    .page-creatorItem_name {
        font-size: 22px
    }

    .page-creatorItem_nameEn {
        font-size: 12px
    }

    .page-creatorItem .page-weekList li:first-child .page-weekList_item {
        margin-left: 0
    }

    .page-creatorItem .page-weekList li:last-child .page-weekList_item {
        margin-right: 0
    }

    .page-creatorItem .page-weekList .page-weekList_item {
        margin: 0 3px;
        width: 33px;
        height: 33px
    }

    .page-creatorItem_educational {
        font-size: 12px
    }

    .page-Normal_Title02 {
        text-align: left;
        font-size: 30px;
        margin-bottom: 45px
    }

    .page-Normal_Title03 {
        margin-bottom: 30px;
        font-size: 32px
    }

    .single .page-blogWrapper {
        padding-top: 160px;
        background-size: auto 447px;
        background-image: url(assets/img/parts/mesh_single_pc.svg)
    }

    .single.single-interview .page-blogWrapper {
        margin-bottom: 60px;
        padding-top: 120px;
        background-image: url(assets/img/parts/mesh_orange_pc.png);
        background-size: 48px auto
    }

    .single.single-customer .page-blogWrapper {
        padding-top: 150px
    }

    .page-blogHeader {
        margin-bottom: 65px
    }

    .page-blogHeader>div {
        padding: 50px 50px 35px
    }

    .page-blogHeader>.page-blogHeader_bottom {
        padding: 15px 50px
    }

    .page-blogHeader_cat {
        margin-bottom: 30px
    }

    .page-blogHeader_cat dt {
        margin-right: 20px
    }

    .page-blogHeader_cat dd {
        font-size: 14px
    }

    .page-blogHeader_heading {
        font-size: 36px
    }

    .page-blogHeader_tags {
        margin: 10px 0;
        font-weight: 700;
        font-size: 14px
    }

    .page-blogHeader_time {
        display: -ms-flexbox;
        display: flex;
        margin-top: 0;
        margin-left: 34px;
        padding-left: 34px;
        min-height: 40px;
        border-left: 1px solid #d5d5d5;
        font-size: 14px;
        -ms-flex-align: center;
        align-items: center
    }

    .page-blogHeader_bottom {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .page-blogHeader_bottom_last {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center
    }

    .page-blogHeader_bottom_last .home-Blog_Author {
        font-weight: 700;
        font-size: 16px;
        -ms-flex: 1;
        flex: 1;
        -ms-grid-columns: 58px auto;
        grid-template-columns: 58px auto
    }

    .page-blogHeader_bottom_last .home-Blog_Author img {
        width: 58px;
        height: 58px
    }

    .page-blogUnitWrapper01 {
        display: -ms-grid;
        display: grid;
        margin-bottom: 70px;
        gap: 5.5% 3.2%;
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr)
    }

    .page-blogUnitWrapper01 .home-Blog_Unit {
        margin-bottom: 0
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child {
        grid-column: 1/3;
        grid-row: 1/3
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Img {
        aspect-ratio: 564/423
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Category {
        font-size: 16px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Title {
        font-size: 26px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Text {
        min-height: 4.5em;
        font-size: 16px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Author {
        font-size: 16px;
        -ms-grid-columns: 60px auto;
        grid-template-columns: 60px auto
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Author img {
        width: 60px;
        height: 60px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_Date {
        font-size: 13px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:first-child .home-Blog_meta {
        padding: 7.1%
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) {
        width: 100%
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Img {
        aspect-ratio: 263/197
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Img img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Category {
        font-size: 12px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Title {
        margin-top: 5px;
        margin-bottom: 15px;
        font-size: 16px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Author {
        margin-right: 5px;
        font-size: 14px;
        -ms-grid-columns: 40px auto;
        grid-template-columns: 40px auto
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_Author img {
        width: 40px;
        height: 40px
    }

    .page-blogUnitWrapper01 .home-Blog_Unit:not(:first-child) .home-Blog_bottom {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .page-blogUnitWrapper02 {
        margin-bottom: 60px
    }

    .page-blogUnitWrapper02 .home-Blog_Unit {
        display: -ms-flexbox;
        display: flex
    }

    .page-blogUnitWrapper02 .home-Blog_meta {
        position: relative;
        padding: 33px 33px 28px;
        -ms-flex: 1;
        flex: 1
    }

    .page-blogUnitWrapper02 .home-Blog_Img {
        min-height: 240px;
        width: 38.9%
    }

    .page-blogUnitWrapper02 .home-Blog_Img img {
        height: 100%
    }

    .page-blogUnitWrapper02 .home-Blog_Category {
        padding-left: 6.5em;
        font-size: 12px
    }

    .page-blogUnitWrapper02 .home-Blog_Date {
        position: absolute;
        top: 33px;
        left: 33px
    }

    .page-blogUnitWrapper02 .home-Blog_Title {
        margin-bottom: 12px;
        font-size: 20px
    }

    .page-blogUnitWrapper02 .home-Blog_Text {
        min-height: 4em;
        font-size: 14px
    }

    .page-blogUnitWrapper02 .home-Blog_Author {
        font-size: 12px;
        -ms-grid-columns: 40px auto;
        grid-template-columns: 40px auto
    }

    .page-blogUnitWrapper02 .home-Blog_Author img {
        width: 40px;
        height: 40px
    }

    .page_addressBox {
        border: none
    }

    .page_addressBox .page-Line_Btn img {
        width: 18px;
        height: 18px
    }

    .page_addressBox .page-Line_Btn {
        margin: 20px auto 0;
        max-width: 100%;
        width: 329px;
        height: 70px;
        font-size: 16px
    }

    .page_addressBox {
        display: -ms-flexbox;
        display: flex;
        margin-top: 0;
        padding-bottom: 50px;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .page_addressBox>div {
        margin-top: 40px;
        padding: 50px 20px 58px;
        width: 49%;
        box-shadow: var(--baseShadow)
    }

    .page_addressBox>div:not(:last-child) {
        border-bottom: none
    }

    .page_addressBox_tel {
        font-size: 46px
    }

    .page_addressBox_heading {
        font-size: 28px
    }

    .page_addressBox_list {
        margin-bottom: 0
    }

    .page_addressBox_list>div {
        margin-top: 5px;
        font-size: 16px
    }

    .page-contactboxUnit {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .page-contactItem {
        margin-bottom: 29px;
        padding: 50px 40px;
        width: 48.5%
    }

    .page-contactItem .home-Section_Btn {
        margin-right: auto;
        margin-left: auto
    }

    .page-contactItem:last-child {
        width: 100%
    }

    .page-contactItem_heading {
        font-size: 24px;
        line-height: 1.8
    }

    .page-contactTxt {
        font-weight: 700;
        font-size: 16px
    }

    .page-formWrapper .error {
        font-size: 12px
    }

    .page-formWrapper {
        padding: 60px
    }

    .page-formList>div {
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 30px;
        padding-bottom: 25px
    }

    .page-formList>div dt {
        padding-top: 22px;
        padding-right: 10px;
        width: 280px;
        font-size: 16px
    }

    .page-formList>div dd {
        padding-bottom: 0;
        -ms-flex: 1;
        flex: 1
    }

    .page-formList [type=text],
    .page-formList [type=email],
    .page-formList select {
        padding: 17px 18px;
        width: 100%
    }

    .page-formList select {
        width: 240px
    }

    .page-formList textarea {
        height: 240px
    }

    .form_consent {
        font-weight: 700
    }

    [type=submit] {
        display: block;
        margin: 40px auto 0;
        width: 380px;
        height: 90px;
        border-radius: 45px;
        font-size: 20px
    }

    [type=submit]:before {
        width: 24px;
        height: 24px
    }

    .page-formSmall {
        margin-top: 20px;
        font-size: 12px
    }

    .form_horizontal_heading {
        width: 70px
    }

    .form_horizontal {
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        gap: 0 15px;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .form_horizontal>div:nth-child(2) {
        width: 32.5%
    }

    .form_horizontal>div:last-child {
        width: 39%
    }

    .page-profFront {
        display: -ms-flexbox;
        display: flex
    }

    .page-profFront_slideWrapper {
        overflow: hidden;
        margin-left: -8px;
        padding-right: 8px;
        padding-left: 8px;
        width: calc(59.85% + 16px)
    }

    .page-profFront_imgMain {
        margin-bottom: 20px
    }

    .page-profFront_imgMain__customer {
        width: 68.3%
    }

    .swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-prev,
    .swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-next {
        top: max(-110px, -10vw)
    }

    .swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-prev:before,
    .swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-prev:after,
    .swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-next:before,
    .swiper-initialized+.thumbnail-button-wrapper .thumbnail-button-next:after {
        border-width: 10px 14px 10px 0
    }

    .page-profFront_imgMain__customer+.page-profFront_data {
        margin-left: 5%
    }

    .page-profFront_data {
        margin-top: 0;
        margin-left: calc(7% - 8px);
        -ms-flex: 1;
        flex: 1
    }

    .page-profFront_heading {
        margin-bottom: 30px;
        font-size: 32px
    }

    .page-profFront_dlList dd {
        font-size: 18px
    }

    .page-profFront_dlList>div {
        margin-bottom: 20px
    }

    .page-profFront_boxList {
        margin-bottom: 50px;
        font-size: 14px
    }

    .page-profFront_snsList svg {
        width: 21px
    }

    .page-qaBoxUnit {
        margin-top: 85px
    }

    .page-qaBox {
        margin-bottom: 30px;
        padding: 50px
    }

    .page-qaBox_heading {
        padding-right: 5px;
        padding-left: 5px;
        font-size: 22px
    }

    .page-qaBox_txt {
        font-size: 16px
    }

    .page-creator_Container .swiper-slide {
        margin: 0 36px 0 0
    }

    .page-profFront_customerData {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .page-profFront_customerData_img {
        margin-right: 0;
        width: 100%
    }

    .page-profFront_customerData_switch {
        right: 10px;
        bottom: 10px;
        width: 60px;
        height: 60px;
        background-size: 19px 19px
    }

    .page-profFront_data_list>div {
        margin-bottom: 13px
    }

    .page-profFront_data_list dt {
        margin-right: 15px;
        padding: 4.5px 0;
        width: 90px;
        font-size: 14px
    }

    .page-blog-transition {
        margin-top: 70px;
        -ms-flex-align: center;
        align-items: center
    }

    .page-blog-transition .page-blog-link {
        width: auto
    }

    .page-blog-transition .page-blog-link svg {
        width: 20px;
        height: 20px
    }

    .page-blog-transition .home-Section_Btn {
        margin-top: 0;
        width: 260px;
        -ms-flex-order: 2;
        order: 2
    }

    .page-blog-transition .home-Section_Btn svg {
        width: 20px;
        height: 20px
    }

    .page-blog-transition .page-blog-link-prev {
        -ms-flex-order: 1;
        order: 1
    }

    .page-blog-transition .page-blog-link-next {
        -ms-flex-order: 3;
        order: 3
    }

    .page-modalClose {
        margin-bottom: 5px;
        width: 60px;
        height: 60px
    }

    .page-modalClose:after,
    .page-modalClose:before {
        width: 22px
    }

    .page-imgModal {
        top: 95px;
        max-width: 96%;
        width: 782px
    }

    .page-imgModal .page-modalBody {
        text-align: center
    }

    .page-imgModal .page-modalBody img {
        max-width: 100%;
        width: 640px
    }

    .page-naviWrapper .page,
    .page-naviWrapper .current {
        margin: 0 20px;
        font-size: 20px
    }

    .page-naviWrapper .wp-pagenavi {
        margin-bottom: 110px;
        padding-right: 135px;
        padding-left: 135px
    }

    .page-naviWrapper .previouspostslink,
    .page-naviWrapper .nextpostslink {
        width: auto;
        height: 20px;
        font-size: 16px;
        line-height: 1.2
    }

    .page-naviWrapper .previouspostslink:before,
    .page-naviWrapper .nextpostslink:before {
        width: 20px;
        height: 20px
    }

    .page-naviWrapper .previouspostslink:after,
    .page-naviWrapper .nextpostslink:after {
        border-width: 4px 0 4px 6px
    }

    .page-naviWrapper .previouspostslink {
        padding-left: 30px
    }

    .page-naviWrapper .nextpostslink {
        padding-right: 30px
    }

    .blog-iCatch {
        margin-bottom: 35px
    }

    .blog-body .ez-toc-title-toggle {
        right: 40px;
        top: 40px
    }

    .blog-body {
        margin-bottom: 50px
    }

    .blog-body #ez-toc-container li a {
        margin-top: 2px;
        margin-bottom: 2px
    }

    .blog-body #ez-toc-container .ez-toc-pull-right label:after {
        font-size: 16px
    }

    .blog-body #ez-toc-container .ez-toc-pull-right label:before {
        border-width: 0 6px 8px
    }

    .blog-body #ez-toc-container .ez-toc-list-level-1>li>ul {
        margin-top: 0
    }

    .blog-body #ez-toc-container .ez-toc-list-level-1 .ez-toc-page-1 {
        font-size: 16px
    }

    .blog-body #ez-toc-container .ez-toc-list-level-1 .ez-toc-page-1:not(:last-child) {
        margin-bottom: 0
    }

    .blog-body #ez-toc-container .ez-toc-list-level-1 .ez-toc-page-1 ul .ez-toc-link {
        font-size: 16px
    }

    .blog-body ul:not([class^=ez-toc-list]) {
        margin-bottom: 20px
    }

    .blog-body ul:not([class^=ez-toc-list]) li:after {
        top: .9em
    }

    .blog-body ol {
        margin-bottom: 20px
    }

    .blog-body ol li {
        padding-left: 25px
    }

    .blog-body ol li:before {
        font-size: 22px
    }

    .blog-body table td {
        display: table-cell
    }

    .blog-body table td:first-child {
        width: 32.2%
    }

    .blog-body table td:last-child,
    .blog-body table td:first-child {
        padding: 19.5px 25px
    }

    .blog-body .wp-block-buttons {
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .blog-body .wp-block-buttons .wp-block-button__link {
        min-width: 300px
    }

    .blog-body .wp-block-buttons .wp-block-button__link:after {
        width: 20px;
        height: 20px
    }

    .blog-body .wp-block-buttons .wp-block-button__link:before {
        left: 28px;
        border-width: 4px 0 4px 7px
    }

    .blog-body {
        font-size: 16px
    }

    .blog-body #ez-toc-container {
        margin-top: 100px !important;
        margin-bottom: 80px !important;
        padding: 36px
    }

    .blog-body #ez-toc-container .ez-toc-title-container .ez-toc-title {
        font-size: 24px
    }

    .blog-body h2 {
        margin-top: 85px;
        margin-bottom: 30px;
        padding: 11.5px 0 11.5px 28px;
        border-width: 5px;
        font-size: 30px
    }

    .blog-body h3 {
        margin-bottom: 30px;
        font-size: 28px
    }

    .blog-body img {
        margin-bottom: 25px
    }

    .blog-body strong,
    .blog-body mark {
        font-weight: 700;
        font-size: 20px
    }
}

@media(hover) {
    a[href^="tel:"] {
        pointer-events: none
    }
}

@media print {
    .st-FadeIn {
        animation-name: none;
        opacity: 1
    }

    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    pre {
        white-space: pre-wrap !important
    }

    pre,
    blockquote {
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr,
    img {
        page-break-inside: avoid
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        page-break-after: avoid
    }
}

@media(min-width:1080px) {
    .st-Fix .st-Container {
        opacity: 1;
        position: static;
        visibility: visible
    }

    .st-Header {
        padding: 20px 30px;
        transition: transform .3s
    }

    .st-Header .st-Header_Menu {
        -ms-flex: 1;
        flex: 1
    }

    .st-Header_Logo {
        color: #000;
        width: 197px
    }

    .st-Header_Hamburger {
        display: none
    }

    .st-Header {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        -ms-flex-pack: justify;
        justify-content: space-between;
        position: fixed;
        z-index: 1000
    }

    .home .st-Header {
        position: absolute
    }

    .home .st-Header .st-Gnav_Btn {
        display: none
    }

    .home .st-Header.Scroll {
        position: fixed
    }

    .home .st-Header.Scroll .st-Gnav_Btn {
        display: block
    }

    .st-Header_Lesson {
        --em: 15;
        --lh: 18;
        -ms-flex-line-pack: center;
        align-content: center;
        border-radius: calc(10em/var(--em)) 0 0 calc(10em / var(--em));
        height: calc(179em/var(--em));
        margin-top: calc(9em/var(--em));
        padding-right: calc(17em/var(--em));
        padding-left: calc(20em/var(--em));
        width: calc(53em/var(--em))
    }

    .st-Header_Lesson svg {
        margin-top: calc(10em/var(--em));
        -ms-flex-order: 1;
        order: 1;
        width: calc(16em/var(--em))
    }

    .st-Header_Tel {
        border-radius: calc(10em/var(--em)) 0 0 calc(10em / var(--em));
        height: calc(53em/var(--em));
        margin-top: calc(10em/var(--em));
        padding-bottom: calc(1.4em/var(--em));
        padding-left: calc(2.8em/var(--em));
        width: calc(53em/var(--em))
    }

    .st-Header_Tel svg {
        width: calc(24em/var(--em))
    }

    .st-Gnav_List {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-align: center;
        align-items: center
    }

    .st-Gnav_List .st-Gnav_Child {
        display: none;
        position: absolute;
        bottom: -12px;
        border-radius: 10px;
        padding-left: 0;
        padding-bottom: 0;
        box-shadow: 0 4px 10px rgba(0, 0, 0, .3);
        left: 50%;
        -ms-transform: translate(-50%, 100%);
        transform: translate(-50%, 100%);
        background-color: #fff;
        width: 180px
    }

    .st-Gnav_List .st-Gnav_Child li {
        margin-bottom: 0
    }

    .st-Gnav_List .st-Gnav_Child li:not(:last-child) {
        border-bottom: 1px solid #d5d5d5
    }

    .st-Gnav_List .st-Gnav_Child li img {
        width: 19px;
        position: absolute;
        right: 19px;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .st-Gnav_List .st-Gnav_Child li a {
        position: relative;
        padding: 23px 19px;
        display: block;
        font-size: 16px;
        font-weight: 700
    }

    .st-Gnav_List>li {
        position: relative;
        margin: 0 1.4%
    }

    .st-Gnav_List>li>a:hover {
        text-decoration: underline
    }

    .st-Gnav_List>li>span {
        position: relative;
        padding-right: 15px;
        display: block
    }

    .st-Gnav_List>li>span:after {
        position: absolute;
        right: 0;
        transition: all .3s;
        top: 50%;
        -ms-transform: translateY(-60%) rotate(45deg);
        transform: translateY(-60%) rotate(45deg);
        content: "";
        width: 8px;
        height: 8px;
        border-bottom: 2px solid #000;
        border-right: 2px solid #000;
        display: block
    }

    .st-Gnav_List>li:hover>span:after {
        -ms-transform: translateY(-60%) rotate(-135deg);
        transform: translateY(-60%) rotate(-135deg)
    }

    .st-Gnav_List>li:hover>span:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        display: block;
        width: 100%;
        height: 50px
    }

    .st-Gnav_List>li:hover .st-Gnav_Child {
        display: block
    }

    .st-Gnav_List .st-Gnav_Btn {
        display: block;
        margin-right: 0
    }

    .st-Gnav_List .st-Gnav_Btn a {
        width: 13.65vw;
        min-width: 164px;
        max-width: 180px;
        display: inline-block;
        text-align: center;
        padding: 11px 0;
        color: #fff;
        border-radius: 25px;
        transition: all 0s;
        border: 1px solid #e3441e;
        background: linear-gradient(to right, #e3441e 0, #e3441e 50%, #fff 50%, #fff 100%);
        background-size: 200% 100%
    }

    .st-Gnav_List .st-Gnav_Btn a:hover {
        opacity: 1;
        text-decoration: none;
        background-position: -100% 0;
        color: #e3441e
    }

    .Scroll .st-Gnav_List {
        color: #000
    }
}

@media not screen and (min-width:1080px) {
    .st-Header_Inner {
        -ms-flex-align: center;
        align-items: center;
        display: -ms-grid;
        display: grid;
        grid-auto-flow: column;
        -ms-flex-pack: justify;
        justify-content: space-between;
        position: fixed;
        right: 0;
        left: 0;
        top: 0;
        z-index: 100
    }

    .st-Header_Logo {
        -ms-flex-align: center;
        align-items: center;
        display: -ms-grid;
        display: grid;
        height: 60px;
        padding-right: 15px;
        padding-left: 15px
    }

    .st-Header_Logo svg {
        width: 130px
    }

    .st-Header_Contact {
        -ms-grid-columns: auto calc(60em/var(--em)) calc(60em / var(--em));
        grid-template-columns: auto calc(60em/var(--em)) calc(60em / var(--em));
        left: 0
    }

    .st-Header_Lesson {
        gap: calc(8.7em/var(--em));
        grid-auto-flow: column
    }

    .st-Gnav {
        padding: 90px 15px 0;
        height: 100vh;
        opacity: 0;
        visibility: hidden
    }

    .st-Header_Menu {
        display: none
    }

    body.st-Fix {
        padding-top: 0
    }

    body.st-Fix .st-Header_Menu {
        display: block
    }

    body.st-Fix .st-Gnav {
        opacity: 1;
        visibility: visible
    }

    body.st-Fix .st-Footer {
        display: none
    }

    .st-Gnav_List {
        margin-bottom: 30px;
        border-bottom: 1px solid #d5d5d5;
        -ms-grid-column-align: center;
        justify-items: center
    }

    .st-Gnav_List>li {
        border-top: 1px solid #d5d5d5;
        width: 100%
    }

    .st-Gnav_List>li>a,
    .st-Gnav_List>li>span {
        font-size: 15px;
        padding: 16.5px 32px;
        display: block;
        text-align: left;
        position: relative
    }

    .st-Gnav_List>li>a:after,
    .st-Gnav_List>li>span:after {
        content: "";
        position: absolute;
        pointer-events: none;
        top: 50%;
        left: 5px;
        display: block;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 17px;
        border-radius: 50%;
        height: 17px;
        background-color: #000
    }

    .st-Gnav_List>li>a:before,
    .st-Gnav_List>li>span:before {
        pointer-events: none;
        content: "";
        z-index: 1;
        position: absolute;
        top: 50%;
        left: 12px;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 0;
        display: block;
        height: 0;
        border-style: solid;
        border-width: 3px 0 4px 5px;
        border-color: transparent transparent transparent #fff
    }

    .st-Gnav_Child img {
        display: none
    }

    .st-Gnav_Sns {
        display: -ms-grid;
        display: grid;
        gap: calc(28em/var(--em));
        -ms-grid-columns: calc(18.82em/var(--em)) calc(19.58em / var(--em)) calc(19.91em / var(--em)) calc(21.76em / var(--em));
        grid-template-columns: calc(18.82em/var(--em)) calc(19.58em / var(--em)) calc(19.91em / var(--em)) calc(21.76em / var(--em));
        -ms-flex-pack: center;
        justify-content: center
    }

    .st-Gnav_Sns img {
        width: 16px
    }
}

@media not (min-width:48em) {
    .st-Footer_ListWrapper {
        border-bottom: 1px solid #555
    }

    .page-formList [name=hope01_date],
    .page-formList [name=hope01_time],
    .page-formList [name=hope02_date],
    .page-formList [name=hope02_time] {
        width: 100%;
        font-size: 13px
    }
}

@media screen and (min-width:48em) {
    .st-Footer_Sns [alt=x] {
        width: 20px
    }

    .home-Concept {
        background-image: url(assets/img/concept-img-pc@2x.jpg);
        background-size: contain;
        background-position: right bottom;
        padding-bottom: calc(85em/var(--em))
    }

    .home-Concept_Copy {
        font-size: 30px;
        line-height: 1.6;
        margin-top: 30px;
        margin-bottom: 22px
    }

    .home-Concept_Text {
        font-size: 16px;
        line-height: 1.87
    }

    .home-Concept_Btn {
        margin-top: 37px;
        font-size: 16px;
        width: 260px
    }

    .home-txt {
        font-size: 16px;
        margin-top: 30px;
        line-height: 1.87
    }

    .home-Course_Title {
        font-size: 26px
    }

    .home-Course_Text {
        font-size: 16px
    }

    .home-Course_More {
        font-size: 16px
    }

    .home-Course_More img {
        width: 20px;
        height: 20px
    }

    .home-Creator_Activity {
        margin-top: calc(23em/var(--em))
    }

    .page-creator_Container .swiper-button-prev:before,
    .page-creator_Container .swiper-button-next:before {
        margin-top: -170px
    }
}

@media not screen and (min-width:48em) {
    .st-Footer {
        padding-bottom: 100px;
        padding-top: 30px
    }

    .st-Footer_Child a {
        gap: calc(2em/var(--em))
    }

    .st-Footer_Logo {
        -ms-grid-column-align: center;
        justify-items: center
    }

    .st-Footer_Sns {
        -ms-flex-pack: center;
        justify-content: center
    }

    .st-Footer_Copyright {
        text-align: center
    }

    .st-Application_Title {
        margin-bottom: 15px;
        margin-top: -13px
    }

    .home-Bnr.swiper-initialized .swiper-button-disabled {
        opacity: 0
    }

    .home-Bnr .swiper-button-prev,
    .home-Bnr .swiper-button-next {
        -ms-grid-column-align: center;
        justify-items: center
    }

    .home-Bnr .swiper-pagination {
        display: -ms-grid;
        display: grid;
        gap: calc(10em/var(--em));
        grid-auto-flow: column;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: calc(15em/var(--em))
    }

    .home-Bnr .swiper-pagination-bullet {
        background-color: #e6e6e6;
        border-radius: 50%;
        height: calc(7em/var(--em));
        transition-property: background-color;
        width: calc(7em/var(--em))
    }

    .home-Bnr .swiper-pagination-bullet-active {
        background-color: #000
    }

    .home-Section_Title {
        -ms-grid-column-align: center;
        justify-items: center
    }

    .home-Section_Btn {
        margin-right: auto;
        margin-left: auto
    }

    .home-Concept_Copy {
        margin-bottom: calc(-3em/var(--em));
        text-align: center
    }

    .home-Course {
        padding-bottom: calc(45em/var(--em))
    }

    .home-Course_Img {
        width: 90%
    }

    .home-Course_Img img {
        width: 90%;
        -ms-transform: translateX(18px);
        transform: translateX(18px)
    }

    .home-Course_Container {
        gap: calc(120em/var(--em))
    }

    .page-Graph_Title {
        padding-bottom: calc(2.5em/var(--em))
    }

    .home-Reason {
        padding-top: calc(20em/var(--em))
    }

    .home-Reason_ListItem {
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 28px
    }

    .home-Reason_ListItem:nth-child(2n-1) {
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .home-Reason_Bubble {
        box-shadow: 0 0 0 calc(2em/var(--em)) #25423e inset
    }

    .page-Feature_Title {
        -ms-grid-column-align: center;
        justify-items: center
    }

    .page-Feature_Img {
        justify-self: center
    }

    .swiper-programButton-next,
    .swiper-programButton-prev,
    .home-Review .swiper-button-prev,
    .home-Review .swiper-button-next {
        -ms-grid-column-align: center;
        justify-items: center
    }

    .home-Creator_Activity {
        gap: calc(0em/var(--em))
    }

    .home-News_Unit .home-News_Date {
        --em: 10;
        --lh: 15
    }

    .home-News_Unit .home-News_Title {
        --em: 14;
        --lh: 20;
        -ms-grid-column: span 2;
        grid-column: span 2;
        margin-top: calc(12em/var(--em))
    }

    .home-Blog__min {
        padding-top: calc(15em/var(--em))
    }

    .home-Blog_Container.swiper-initialized .swiper-button-prev,
    .home-Blog_Container.swiper-initialized .swiper-button-next,
    .page-creator_Container.swiper-initialized .swiper-button-prev,
    .page-creator_Container.swiper-initialized .swiper-button-next {
        opacity: 1;
        visibility: visible
    }

    .home-Blog_Container.swiper-initialized .swiper-button-disabled,
    .page-creator_Container.swiper-initialized .swiper-button-disabled {
        opacity: 0
    }

    .page-creator_Container .swiper-wrapper,
    .home-Blog .swiper-wrapper {
        display: -ms-grid;
        display: grid;
        grid-auto-flow: column;
        margin: 0 auto;
        transition-property: transform
    }

    .home-Blog .swiper-slide {
        width: 315px;
        margin: 0 7.5px
    }

    .home-Blog__min .home-Blog_Container {
        margin-left: 25px
    }

    .home-Blog__min .swiper-slide {
        width: 255px
    }

    .home-Blog__min .swiper-slide .home-Blog_meta {
        padding: 17px 20px
    }

    .home-Blog__min .swiper-slide .home-Blog_Category {
        font-size: 10px
    }

    .home-Blog__min .swiper-slide .home-Blog_Title {
        font-size: 14px
    }

    .home-Blog__min .swiper-slide .home-Blog_Text {
        font-size: 10px
    }

    .home-Blog__min .swiper-slide .home-Blog_Author img {
        width: 36px;
        height: auto
    }

    .home-Blog__min .swiper-slide .home-Blog_Date {
        font-size: 10px
    }

    .home-Blog .swiper-button-prev,
    .home-Blog .swiper-button-next,
    .page-creator_Container .swiper-button-prev,
    .page-creator_Container .swiper-button-next {
        display: -ms-grid;
        display: grid;
        opacity: 0;
        place-items: center;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        transition-property: opacity;
        visibility: hidden;
        width: 30px;
        z-index: 1
    }

    .page-creator_Container .swiper-button-prev {
        left: -18px
    }

    .home-Blog .swiper-button-prev:before,
    .home-Blog .swiper-button-next:before,
    .page-creator_Container .swiper-button-prev:before,
    .page-creator_Container .swiper-button-next:before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 11.5px 20px 11.5px 0;
        border-color: transparent #000 transparent transparent
    }

    .page-creator_Container .swiper-button-prev:before,
    .page-creator_Container .swiper-button-next:before {
        margin-top: -120px
    }

    .home-Blog .swiper-button-next {
        right: 0;
        left: auto
    }

    .home-Blog__min .swiper-button-next {
        right: 55px;
        left: auto
    }

    .page-creator_Container .swiper-button-next {
        right: -18px;
        left: auto
    }

    .home-Blog .swiper-button-next:before,
    .page-creator_Container .swiper-button-next:before {
        -ms-transform: rotate(180deg);
        transform: rotate(180deg)
    }

    [class*=st-PC] {
        display: none !important
    }
}

@media(min-width:48em) and (min-width:940px) {
    .st-Footer_List:not(:last-child) {
        padding-right: 33px;
        margin-right: 33px
    }
}

@media(min-resolution:2dppx) {
    .st-Application:before {
        background-image: url(assets/img/form-bg@2x.png)
    }

    .home-Course_Img:before {
        background-image: url(assets/img/course-elementary-bg@2x.png)
    }

    .Alt .home-Course_Img:before {
        background-image: url(assets/img/course-middle-bg@2x.png)
    }

    .home-Reason_List1 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker01@2x.png)
    }

    .home-Reason_List2 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker02@2x.png)
    }

    .home-Reason_List3 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker03@2x.png)
    }

    .page-Feature_Feature:before {
        background-image: url(assets/img/feature-marker01@2x.png)
    }
}

@media(min-width:48em) and (min-resolution:2dppx) {
    .st-Application:before {
        background-image: url(assets/img/form-bg-pc@2x.png)
    }

    .home-Course_Img:before {
        background-image: url(assets/img/course-elementary-bg-pc@2x.png)
    }

    .Alt .home-Course_Img:before {
        background-image: url(assets/img/course-middle-bg-pc@2x.png)
    }

    .home-Reason_List1 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker01-pc@2x.png)
    }

    .home-Reason_List2 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker02-pc@2x.png)
    }

    .home-Reason_List3 .home-Reason_Bubble strong:before {
        background-image: url(assets/img/reason-marker03-pc@2x.png)
    }

    .page-Feature:before {
        background-image: url(assets/img/feature-bg-pc@2x.png)
    }

    .Alt .page-Feature_Text:before {
        background-image: url(assets/img/feature-marker02-pc@2x.png)
    }

    .Alt2 .page-Feature_Text:before {
        background-image: url(assets/img/feature-marker03-pc@2x.png)
    }

    .page-Feature_Feature:before {
        background-image: url(assets/img/feature-marker01@2x.png)
    }
}

@media(min-width:48em) and (min-width:48em) {
    .home-Review .swiper-slide {
        margin-right: 0;
        margin-left: 0
    }

    .page-clum2Block__pickup .page-clum2Block_side {
        padding-top: 150px
    }
}

@media(min-width:58em) {
    .page_header04 {
        background-position: 0 0
    }
}

@media(min-width:61em) {
    .page_lessonBox {
        padding-bottom: 40px
    }
}

@media(min-width:955px) {
    .page-review_Unit {
        -ms-grid-columns: (minmax(280px, 48%))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(280px, 48%))
    }
}
/* school 2024.06.10 */
.page-schoolTtl{
    font-size: min(30px, 5.5vw);
    font-weight: bold;
    padding: 80px 0 10px;
    border-bottom: 3px solid #e3441e;
}
.page-schoolUnit {
    display: -ms-grid;
    display: grid;
    gap: 25px 6%;
    padding: 50px 0;
}
.page-schoolItem {
    display: grid;
    grid-row: span 5;
    grid-template-rows: subgrid;
    align-items: start;
    gap: 10px;
}
.page-schoolItem_name {
    font-weight: 600;
    font-size: 16px;
    line-height: 2;
}
.page-schoolItem_outline {
    font-weight: bold;
}
.page-prefList {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    align-items: center;
    justify-items: center;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}
.page-prefList li{
    width: 100%;
}
.page-prefList_item{
    display: block;
    font-weight: bold;
    text-align: center;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    width: 100%;
    height: 60px;
    line-height: 60px;
}
.page-prefList_item::before{
    content:"▶";
    display: inline;
}
.page-prefList input {
    display: none;
}
.page-schoolItem_btn{
    width: 100%;
    font-weight: bold;
    display: inline-block;
    text-align: center;
    padding: 11px 0;
    color: #fff;
    border-radius: 25px;
    transition: all 0s;
    border: 1px solid #e3441e;
    background: linear-gradient(to right, #e3441e 0, #e3441e 50%, #fff 50%, #fff 100%);
    background-size: 200% 100%
}
.page-schoolItem_sns{
    text-align: center;
    border-top: 1px solid #000;
}
.page-schoolItem_sns a{
    width: 35px;
    height: 35px;
    display: inline-block;
    padding: 7px;
    vertical-align: middle;
}
.page-schoolItem_sns a.off{
    opacity: .2;
    pointer-events: none;
}
.page-schoolfooter{
    background-color: #40dece;
    background-image: url(/wp-content/themes/atam/assets/img/school/people02.png), url(/wp-content/themes/atam/assets/img/school/people_primary03.png), radial-gradient(#00000022 10%, transparent 10%);
    background-size:  100px auto, 100px auto, 20px 20px;
    background-repeat: no-repeat, no-repeat, repeat;
    background-position: right calc(50% + 400px) bottom, left calc(50% + 400px) bottom,left top;
    font-weight: bold;
    text-align: center;
    padding: 40px 20px;
    margin-top: 100px;
}
.page-schoolfooter_btn a{
    width: 250px;
    background-color: #fff;
    display: inline-block;
    text-align: center;
    padding: 11px 0;
    margin: 0 10px;
    color: #e3441e;
    border-radius: 25px;
    transition: all 0s;
}
.page-schoolfooter_btn a::before{
    content: "▶";
    display: inline;
    vertical-align: middle;
    font-size: 8px;
    color: #fff;
    background: #e3441e;
    margin-right: 10px;
    border-radius: 100%;
    padding: 4px;
}
.page-schoolfooter p{
    color: #fff;
    margin-top: 10px;
}



.page_header_school{
    margin-bottom: 30px;
    background-image: url(assets/img/header/page_header_school_sp@2x.png);
    background-position: center bottom;
    background-size: cover;
    aspect-ratio: 750 / 690;
    position: relative;
}
.page_header_school:after{
    content: "";
    display: block;
    width: 50px;
    height: 60px;
    background-image: url(assets/img/school/lightbulb.png);
    background-size: contain;
    position: absolute;
    bottom: -100px;
    left: 80%;
}
.page_header_school__inner{
    width: 90vw;
    margin: 0 auto;
    padding-top: 40px;
}
.page_pageHeader_school_heading{
    color: #fff;
    margin: 10px 0 25px;
    font-weight: 600;
    font-size: 8.5vw;
    line-height: 1.4;
    text-shadow: 0 0 10px rgba(60, 60, 60, .7);
}
.home-Hero_Lesson_school{
    width: 330px;
    background-image: url(assets/img/header/home-Hero_Lesson_schoolcta.png);
    background-position: center center;
    background-size: contain;
    padding: 170px 0 40px;
    text-align: center;
}
.home-Hero_Lesson_schooltop{
    color: #e7441e;
    font-weight: 600;
    font-size: 18px;
}
.home-Hero_Lesson_schoolbottom{
    color: #e7441e;
    text-align: center;
    font-weight: 600;
    font-size: 27px;
    display: block;
    margin: 0 auto;
    width: 230px;
    line-height: 1;

}
.home-Hero_Lesson_schoolbottom span{
    display: block;
    position: relative;
    border: 1px solid #e7441e;
    border-radius: 18px;
    padding: 6.5px 0;
    margin: 5px auto;
    text-align: center;
    font-size: 11px;
    color: #fff;
    background: #e7441e;
}
.home-Hero_Lesson_schoolbottom span:before {
    content: "";
    left: 14px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #fff
}
.school_Ttl {
    margin: 55px 0 20px;
    text-align: left;
    font-weight: 700;
    font-size: max(20px, 6.5vw)
}
.school_Ttl2{
    margin: 35px 0 10px;
    text-align: left;
    font-weight: 700;
    font-size: max(16px, 4.6vw)
}
.school_Ttl b{
    background: url(assets/img/school/marker.png) center bottom no-repeat;
    background-size: contain;
}
.school_Txt b,
.page_sideImg02_txt b,
.sch-voiceBox-text b{
    font-weight: normal;
    background: #ffb700;
}
.school_ranking{
    margin: 35px 0 10px;
}
.page-school_Ttl{
    text-align: center;
    font-size: min(30px, 4.5vw);
    font-weight: 700;
    margin: 25px;
}
.page_feature{
    position: relative;
}
.page_feature:before{
    content: "";
    display: block;
    width: 65px;
    height: 60px;
    background-image: url(assets/img/school/mortarboard.png);
    background-size: contain;
    position: absolute;
    top: 200px;
    right: 5%;
}
.page_recommendList {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 50px;
    line-height: 1.5;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center
}
.page_recommendList li {
    padding: 9.5px;
    width: 240px;
    height: auto;
}
.page_recommendList li img {
    position: relative;
    width: auto;
    height: 260px;
    display: block
}
.page_recommendList_heading {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    width: 240px;
    font-size: 13px;
    font-weight: normal;
    margin: 25px 0;
    background-color: #fff;
    text-align: left;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.page-header__feature{
    width: min(550px, 70vw);
    margin: 90px auto;
}
.page-schFeature_Title{
    display: -ms-flexbox;
    display: flex;
    padding-top: 10px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}
.page-schFeature_Title span {
    font-size: min(20px, 4.8vw);
    width: 100%;
    padding: 0 0 18px;
    text-align: center;
    line-height: 1.2
}
.page-schFeature_Unit{
    padding: 50px 25px 25px;
    font-weight: bold;
    background: #fff;
    border: 3px solid #000;
    width: 90vw;
    margin: 50px auto;
    border-radius: 60px 0 0 0;
    position: relative;
}
.page-schFeature_Unit:before {
    content: "";
    background-image: url(assets/img/school/feature-point1.svg);
    background-size: contain;
    display: block;
    width: min(130px, 16vw);
    height: min(130px, 16vw);
    position: absolute;
    top: -25px;
    left: calc(50% - 30px);
}
.page-schFeature_Unit:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    border:20px solid transparent;
    border-right-color: #000;
    border-bottom-color: #000;
}
.page-schFeature_Unit:nth-child(3):before {
    background-image: url(assets/img/school/feature-point2.svg)
}
.page-schFeature_Unit:nth-child(4):before {
    background-image: url(assets/img/school/feature-point3.svg)
}
.page-schFeature_Unit:nth-child(5):before {
    background-image: url(assets/img/school/feature-point4.svg)
}
.page-schFeature_Text{
    font-size: 13px;
}
.sch_curriculum .page_sideImg02_img{
    aspect-ratio: 870 / 580;
}
.sch_footprint{
    position: relative;
    margin: 100px 0
}
.sch_footprint-block{
    text-align: center;
    background: url(assets/img/school/bg-footprint.png) left bottom 50px no-repeat;
    background-size: max(75vw, calc(50% +  350px)) auto;
    margin-top: 40px;
}
.sch_footprint-block *{
    text-align: left;
}
.sch_footprint-blockTitle{
    font-weight: bold;
    font-size: 13px;
    line-height: 1.6;
}
.sch_footprint-blockTitle .name{
    font-size: 18px;
    margin-right: 10px;
}
.sch_footprint-blockTitle .name b{
    font-size: 33px;
}
.sch_footprint-block img{
    width: min(1020px, 95vw);
    margin: 20px auto;
}

.sch_voice{
    padding-top: 60px;
}
.voice1{
    background: url(assets/img/school/sch-voice1.png) right top no-repeat;
    background-size: 155px auto;
}
.voice2{
    background: url(assets/img/school/sch-voice2.png) right 10px top no-repeat;
    background-size: 135px auto;
}
.sch_voice .school_Ttl{
    margin-top: 0;
}

.sch-voiceBox{
    background-color: #fff;
    border: 2px solid #000;
    padding: 20px;
    margin: 20px auto;
    width: 90vw;
    clip-path: polygon(0 0, calc(100% - 50px) 0, 100% 50px, 100% 100%, 0 100%);
    position: relative;
    display: inline-block;
    vertical-align: top;
}
.sch-voiceBox:nth-child(even){
    margin-right: 30px;
}
.sch-voiceBox::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    display: block;
    background: #000;
}
.sch-voiceBox-header{
    font-weight: bold;
    border-bottom: 2px solid #000;
    background: url(assets/img/school/silhouette.svg) left 10px bottom no-repeat;
    font-size: 24px;
    padding: 0 0 0 75px;
}
.sch-voiceBox-header span{
    font-size: 12px;
    display: block;
}
.sch-voiceBox-text{
    font-size: 13px;
    line-height: 1.8;
    margin-top: 20px;
}
.sch_detail{
    background-color: #e5e5e5;
}
.sch_detailTtl{
    font-size: min(30px, 5vw);
    font-weight: bold;
    line-height: 1.25;
    border-bottom: 2px solid #000;
    padding: 100px 0 10px;
    margin-bottom: 30px;
}
.sch-detail_wrap{
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    position: relative;
}
.sch-detail_wrap iframe{
    width: 100%;
    height: 260px;
    margin-bottom: 20px;
}
.page-schoolItem_outline .page-schoolItem_sns{
    border-top: none;
    text-align: left;
    padding-top: 30px;
}
.page-schoolItem_outline2 dl{
    background-color: #fff;
    border: 1px solid #000;
    border-bottom: none;
    display: flex;
    flex-direction: row;
    font-size: 13px;
    font-weight: bold;
    padding: 8px 20px;
}
.page-schoolItem_outline2 dl:last-child{
    border-bottom: 1px solid #000;
}
.page-schoolItem_outline2 dt{
    width: 150px;
}
.page-schoolItem_outline2 dd{
    width: calc(100% - 150px);
}
.page-schoolItem_outline2 dl:last-child dd{
    width: 100%;
}
.sch_detail .page-schoolItem_btn{
    margin: 40px auto;
}
/*
|
|
|
|
|
|
|
|
|
|
*/




@media(min-width:48em) {
    .page-schoolUnit {
        gap: 60px 3.5%;
        -ms-grid-columns: (minmax(240px, 316px))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(240px, 316px))
    }
    .page-schoolItem_name {
        font-size: 22px
    }
    .page-schoolItem_outline {
        font-size: 13px;
        padding-bottom: 50px;
    }
    .page-schoolItem_btn:hover {
        opacity: 1;
        text-decoration: none;
        background-position: -100% 0;
        color: #e3441e
    }
    .page-schoolfooter_btn a:hover{
        opacity: 1;
        background-color: #e3441e;
        color: #fff;
    }

    .page_header_school {
        margin-bottom: 60px;
        background-image: url(assets/img/header/page_header_school_pc@2x.png?11);
        aspect-ratio: 2732 / 1360;
    }
    .page_header_school__inner{
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        max-width: 76.4%;
        height: 100%;
        padding-top: 0;
        -ms-flex-align: start;
        align-items: center;
        -ms-flex-pack: space-between;
        justify-content: space-between;
    }
    .page_pageHeader_school_heading{
        margin: 16px 0 8px;
        font-size: 4vw;
        text-shadow: 0 0 26px rgba(60, 60, 60, .7);
        word-break: keep-all;
    }
    .home-Hero_Lesson_schoolbottom span{
        padding: 5.5px 20px;
        max-width: 100%;
        width: 230px;
        font-size: 14px;
    }
    .home-Hero_Lesson_schoolbottom:hover span{
        color: #e7441e;
        background: #fff;
    }
    .home-Hero_Lesson_schoolbottom:hover span:before {
        border-left-color: #e7441e
    }
    .page_header_school:after{
        left: 50%;
    }
    .school_Ttl{
        margin: 100px 1% 20px 0;
        text-align: left;
        font-size: min(35px, 4vw);
        line-height: 1.25
    }
    .school_Ttl2{
        font-size: min(22px, 3.5vw);
    }
    .school_Txt{
        font-size: 14px;
        line-height: 1.87;
    }
    .school_ranking{
        float: right;
        width: min(400px, 25vw);
        margin-left: 10px;
    }

    .page_feature:before{
        width: 80px;
        height: 70px;
        top: 65px;
        right: 10%;
    }
    .page_feature:after{
        content: "";
        display: block;
        width: 70px;
        height: 75px;
        background-image: url(assets/img/school/graph.png);
        background-size: contain;
        position: absolute;
        bottom: -150px;
        left: calc(50% - 500px);
    }
    .sch_curriculum .page_sideImg02 {
        padding-left: 0;
    }
    .sch_footprint:after{
        content: "";
        display: block;
        width: 75px;
        height: 80px;
        background-image: url(assets/img/school/atam2.png);
        background-size: contain;
        position: absolute;
        top: 0px;
        left: 85%;
    }
    .sch_footprint-block{
        font-size: 14px;
        line-height: 1.87;
        margin-top: 70px;
    }
    .sch_footprint-blockTitle{
        width: 150px;
        border-right: 2px solid #000;
        display: inline-block;
    }
    .sch_footprint-blockTitle .name{
        display: block;
    }
    .sch_footprint-blockText{
        display: inline-block;
        margin-left: 20px;
        width: 400px;
    }
    .sch_footprint-block img{
        margin: -10px auto 20px;
        padding-left: 150px;
    }
    .sch-voiceBox{
        padding: 20px 40px;
        width: min(475px, 45vw);
        height: 300px;
        margin: 30px 0 50px;
    }
    .page_recommendList li {
        width: 240px;
        font-weight: 700;
        padding: 8.5px 15px;
        width: auto
    }
    .sch-detail_wrap{
        flex-direction: row;
    }
    .sch-detail_wrap iframe{
        width: 320px;
        margin: 0 30px 0 0;
        
    }
    .page-schFeature_Unit{
        padding: 25px 0 25px 150px;
        width: 800px;
    }
    .page-schFeature_Title span{
        text-align: left;
    }
    .page-schFeature_Unit:before {
        left: 40px;
    }
    .page-schoolItem_outline .page-schoolItem_sns{
        bottom: 0;
        position: absolute;
    }
}

@media(min-width:1080px) {
    .page-schFeature_Unit{
        padding: 25px 0 25px 200px;
    }
    .page-schFeature_Unit:nth-child(odd){
        transform: translateX(40px);
    }
    .page-schFeature_Unit:nth-child(even){
        transform: translateX(-40px);
    }
    .sch_footprint-block img{
        margin: -100px auto 20px;
    }
}