@charset "UTF-8";

.school-anker-link-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    margin: 30px 0 50px
}

.school-anker-link-box li {
    background: #fff;
    border: 3px solid #004f9f;
    border-radius: .6rem;
    height: 78px;
    text-align: center;
    width: 23.5%
}

.school-anker-link-box li a {
    color: #004f9f;
    display: block;
    font-weight: 700;
    height: 100%;
    line-height: 60px;
    position: relative;
    text-decoration: none;
    width: 100%
}

.school-anker-link-box li a:after {
    background-image: url(/assets/img/share/arrow-anker-link.png);
    background-size: contain;
    bottom: 1rem;
    content: "";
    display: inline-block;
    height: 20px;
    left: calc(50% - .5em);
    position: absolute;
    vertical-align: middle;
    width: 20px
}

.school-basicInfo {
    border-radius: 5px;
    border-top: 0;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15)
}

.school-basicInfo__title {
    background: #004f9f;
    border-radius: 5px 5px 0 0;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
    padding: 15px 20px
}

.school-basicInfo__content {
    grid-column-gap: 93px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    padding: 30px 40px 0
}

.school-basicInfo__main {
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
    margin-right: 30px
}

.school-basicInfo__sub {
    -webkit-box-flex: 1.4;
    -ms-flex: 1.4;
    flex: 1.4;
    max-width: 365px
}

.school-basicInfo__title2nd {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 13px
}

.school-basicInfo__course {
    border-bottom: 1px solid #e0e0e0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.3rem;
    font-weight: 700;
    gap: 10px 5px;
    line-height: 1.2;
    margin-bottom: 20px;
    padding-bottom: 20px
}

.school-basicInfo__courseItem a {
    background: #eff6fd;
    border-radius: 3px;
    display: inline-block;
    padding: 3px 6px;
    text-decoration: none
}

.school-basicInfo__courseItem.-low a {
    background-color: #3fbf48;
    color: #fff
}

.school-basicInfo__courseItem.-middle a {
    background-color: #fdc53b;
    color: #2e2e2e
}

.school-basicInfo__courseItem.-high a {
    background-color: #004f9f;
    color: #fff
}

.school-basicInfo__going {
    padding-bottom: 5px
}

.school-basicInfo__goingTitle {
    color: #004f9f;
    font-weight: 700;
    margin-bottom: 10px
}

.school-basicInfo__goingTitle2nd {
    color: #004f9f;
    font-weight: 700;
    margin-bottom: 5px
}

.school-basicInfo__goingText {
    margin-bottom: 15px
}

.school-basicInfo__info {
    padding-bottom: 20px
}

.school-basicInfo__infoItem {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.6;
    margin-bottom: 20px
}

.school-basicInfo__infoItem:last-child {
    margin-bottom: 0
}

.school-basicInfo__infoTitle {
    background: no-repeat top;
    font-size: 1.1rem;
    font-weight: 700;
    margin-right: 10px;
    padding-top: 28px;
    text-align: center;
    width: 50px
}

.school-basicInfo__infoTitle.-address {
    background-image: url(../img/share/icon_address_black.svg)
}

.school-basicInfo__infoTitle.-access {
    background-image: url(../img/share/icon_access_black.svg)
}

.school-basicInfo__infoTitle.-tel {
    background-image: url(../img/share/icon_tel_black.svg)
}

.school-basicInfo__infoBody {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.school-basicInfo__infoBody a {
    color: #2e2e2e;
    text-decoration: none
}

.school-basicInfo__map {
    margin-bottom: 20px
}

.school-basicInfo__mapImage {
    margin-bottom: 10px
}

.school-basicInfo__mapLink {
    font-size: 1.2rem;
    text-align: right
}

.school-basicInfo__route {
    background: #f7f7f7;
    line-height: 1.5;
    padding: 18px 20px
}

.school-basicInfo__routeTitle {
    font-weight: 700;
    margin-bottom: 8px
}

.school-basicInfo__routeBody {
    font-size: 1.4rem
}

.item01 {
    grid-column: 1/2;
    grid-row: 1/2
}

.item02 {
    grid-column: 1/2;
    grid-row: 2/3
}

.item03 {
    border-top: 1px solid #e0e0e0;
    grid-column: 1/2;
    grid-row: 3/4;
    padding-top: 20px
}

.item04 {
    grid-column: 1/3;
    grid-row: 4/5;
    margin: 20px 0 25px
}

.item05 {
    grid-column: 2/3;
    grid-row: 1/4
}

.school-basicInfo__high {
    margin-bottom: 0
}

.school-bnrTEL {
    position: relative
}

.school-bnrTEL__number {
    background: url(../img/share/icon_tel_blue.svg) no-repeat 0;
    bottom: 15%;
    font-family: Poppins, Noto Sans JP, sans-serif;
    font-size: 2.4rem;
    font-weight: 600;
    left: 70%;
    padding-left: 30px;
    position: absolute;
    text-decoration: none;
    white-space: nowrap
}

.school-bnrTEL__number.-bottom {
    bottom: 27%
}

.school-catch {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.6;
    margin: 40px auto 40px;
    max-width: 820px;
    position: relative;
    text-align: center
}

.school-catch:before {
    border: 2px solid #004f9f;
    border-right: 0;
    left: 0
}

.school-catch:after,
.school-catch:before {
    content: "";
    height: calc(100% + 20px);
    position: absolute;
    top: -10px;
    width: 18px
}

.school-catch:after {
    border: 2px solid #004f9f;
    border-left: 0;
    right: 0
}

.school-catch strong {
    color: #004f9f;
    font-size: 4rem
}

.school-catch__highlight {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(92%, transparent), color-stop(92%, #fdc53b));
    background: linear-gradient(transparent 92%, #fdc53b 0)
}

.school-catch b {
    color: #004f9f
}

.school-catch img {
    margin-left: 3px;
    vertical-align: baseline
}

.school-gallery-block {
    padding: 0 40px 25px
}

.school-gallery {
    position: relative
}

.school-gallery__caption {
    font-size: 1.1rem;
    margin-top: 8px
}

.school-gallery__image img {
    border-radius: 5px
}

.school-gallery__navigation {
    height: 50px;
    top: calc(50% - 10px);
    width: 50px
}

.school-gallery__navigation:after {
    content: none
}

.school-gallery__navigation.-prev {
    background-image: url(../img/share/gallery_btn_slide_prev.svg)
}

.school-gallery__navigation.-next,
.school-gallery__navigation.-prev {
    display: none;
    -webkit-filter: drop-shadow(3px 3px 5px #000);
    filter: drop-shadow(3px 3px 5px #000)
}

.school-gallery__navigation.-next {
    background-image: url(../img/share/gallery_btn_slide_next.svg)
}

.school-gallery-border {
    border-top: 1px solid #e0e0e0;
    padding-top: 20px
}

.swiper {
    margin-top: 20px;
    width: 70%
}

.swiper img {
    width: 100%
}

.swiper_thumbnail {
    margin: 20px auto 0;
    width: 50%
}

.swiper_thumbnail .swiper-slide {
    cursor: pointer
}

.swiper_thumbnail .swiper-slide-thumb-active {
    outline: 2px solid #004f9f;
    outline-offset: -2px
}

.swiper_thumbnail img {
    vertical-align: bottom
}
.swiper-button-next, .swiper-button-prev {
    width: 50px; /* 必要に応じて調整 */
    height: 50px; /* 必要に応じて調整 */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.swiper-button-next {
    background-image: url("/assets/img/school/exp/swiper-right.webp"); /* 右矢印の画像パス */
}

.swiper-button-prev {
    background-image: url("/assets/img/school/exp/swiper-left.webp"); /* 左矢印の画像パス */
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: -5px;
    left: auto;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: -5px;
    right: auto;
}

/* デフォルトの矢印アイコンを非表示に */
.swiper-button-next::after, .swiper-button-prev::after {
    display: none;
}



.school-hero {
    background: #eff6fd;
    border-radius: 10px;
    margin-bottom: 50px;
    padding: 25px 60px 5px
}

.school-hero__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 25px 60px
}

.school-hero__title {
    color: #004f9f;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 25px;
    text-align: left
}

.school-hero__title strong {
    font-size: 3rem
}

.school-hero__marker {
    border-bottom: 5px solid #fdc53b
}

.school-hero__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 20px
}

.school-hero__sub {
    margin-left: auto;
    margin-right: 0;
    max-width: 335px
}

.school-hero__message {
    color: #004f9f;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 auto 10px;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.school-hero__message:after,
.school-hero__message:before {
    background: url(../img/share/border_dot_line_blue.svg) no-repeat;
    content: "";
    height: 22px;
    position: absolute;
    top: 0;
    width: 3px
}

.school-hero__message:before {
    left: -20px;
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg)
}

.school-hero__message:after {
    right: -20px;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg)
}

.school-hero__message.-long {
    font-size: 1.4rem
}

.school-hero__courseLink {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    justify-content: center
}

.school-hero__courseItem {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 150px
}

.school-hero__courseItem a {
    background: #000 url(../img/share/arrow_right_circle_white.svg) no-repeat calc(100% - 15px);
    border-radius: 5px;
    color: #fff;
    display: block;
    font-weight: 700;
    padding: 2px;
    text-align: center;
    text-decoration: none
}

.school-hero__courseItem.-low a {
    background-color: #3fbf48
}

.school-hero__courseItem.-middle a {
    background-color: #fdc53b;
    color: #2e2e2e
}

.school-hero__courseItem.-high a {
    background-color: #004f9f
}

.ph-text-block {
    left: 11px;
    position: absolute;
    top: -14px
}

.ph-text {
    color: #004f9f;
    display: inline-block;
    font-size: 17px;
    font-weight: 700;
    padding: 0 9px;
    position: relative
}

.ph-text p {
    margin-bottom: 0
}

.ph-text:before {
    left: 0;
    -webkit-transform: rotate(-25deg);
    transform: rotate(-25deg)
}

.ph-text:after,
.ph-text:before {
    background: #004f9f;
    border-radius: 3px;
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    width: 2px
}

.ph-text:after {
    right: 0;
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg)
}

.spbr {
    display: none
}

.pc-content {
    display: block
}

.sp-content {
    display: none
}

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

.ph-img {
    position: relative;
    width: 38%
}

.school-label {
    margin-top: 30px
}

.float-r {
    float: right
}

.school-f-small {
    font-size: 2.3rem
}

.school-new,
.school-year-label-new {
    background: #f48021;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    height: 35px;
    line-height: 35px;
    margin-right: 7px;
    padding: 0 14px 0 6px;
    position: relative;
    text-align: center;
    top: -7px
}

.school-new:after {
    border-color: transparent #004f9f transparent transparent
}

.school-new:after,
.school-year-label-new:after {
    border-style: solid;
    border-width: 18px 10px 18px 0;
    content: "";
    height: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
    z-index: 1
}

.school-year-label-new:after {
    border-color: transparent #fff transparent transparent
}

.school-lead {
    margin-bottom: 20px
}

.school-location [aria-hidden=true] {
    display: none
}

.school-nav {
    gap: 20px 25px
}

.school-nav,
.school-nav__pulldown {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.school-nav__pulldown {
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
    gap: 5px
}

.school-nav__pulldownItem {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 335px;
    position: relative
}

.school-nav__pulldownItem:after {
    border: 5px solid transparent;
    border-top: 8px solid #2e2e2e;
    content: "";
    position: absolute;
    right: 25px;
    top: calc(50% - 4px)
}

.school-nav__pulldownItem select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #2e2e2e;
    height: 100%;
    padding: 12px;
    width: 100%
}

.school-nav__enter {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.school-nav__enterBtn {
    background-color: #fff;
    border: 1px solid #004f9f;
    border-radius: 5px;
    color: #004f9f;
    display: block;
    font-weight: 700;
    margin: auto;
    padding: 10px;
    text-align: center;
    width: 100%
}

.school-nav__enterBtn[disabled] {
    color: rgba(0, 79, 159, .3);
    cursor: default
}

.school-near-grade {
    background: #efefef;
    margin: 0 0 40px
}

.school-near-grade__title {
    background: #004f9f;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    height: 38px;
    line-height: 38px;
    padding: 0 20px;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.school-near-grade__title:after {
    border: 19px solid transparent;
    border-left-color: #004f9f;
    content: "";
    position: absolute;
    right: -38px;
    top: 0
}

.school-near-grade__body {
    background: #efefef;
    font-size: 1.4rem;
    min-height: 38px;
    padding: 6px 20px 6px 40px
}

.school-near-grade__body,
.school-priceLink {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.school-near {
    background: #efefef;
    margin: 30px 0
}

.school-near__title {
    background: #004f9f;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    height: 38px;
    line-height: 38px;
    padding: 0 20px;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.school-near__title:after {
    border: 19px solid transparent;
    border-left-color: #004f9f;
    content: "";
    position: absolute;
    right: -38px;
    top: 0
}

.school-near__body {
    background: #efefef;
    font-size: 1.4rem;
    min-height: 38px;
    padding: 6px 20px 6px 40px
}

.school-near__body,
.school-priceLink {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.school-priceLink {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 50px;
    margin: 0 auto 60px;
    max-width: 820px;
    padding: 20px 60px;
    position: relative
}

.school-priceLink:before {
    border: 4px solid #004f9f;
    border-right: 0;
    left: 0
}

.school-priceLink:after,
.school-priceLink:before {
    content: "";
    height: calc(100% + 20px);
    position: absolute;
    top: -10px;
    width: 18px
}

.school-priceLink:after {
    border: 4px solid #004f9f;
    border-left: 0;
    right: 0
}

.school-priceLink__marker {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, transparent), color-stop(90%, #fdc53b));
    background: linear-gradient(transparent 90%, #fdc53b 0);
    color: #004f9f;
    font-size: 2.8rem;
    font-weight: 700
}

.school-priceLink__text {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6
}

.school-priceLink__check,
.school-priceLink__text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center
}

.school-priceLink__check dt {
    background: #2270be;
    border-radius: 5px;
    color: #fff;
    font-size: 1.1rem;
    margin: 0 auto 15px;
    max-width: 200px;
    padding: 2px 0;
    position: relative
}

.school-priceLink__check dt:before {
    border: 8px solid transparent;
    border-top-color: #2270be;
    content: "";
    left: calc(50% - 4px);
    position: absolute;
    top: 100%
}

.school-priceLink__check dd {
    margin: 0 auto;
    text-align: center
}

.school-results {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 25px
}

.school-results .school-result {
    max-width: 320px;
    width: calc(33.3% - 14px)
}

.js-toggle .school-results .school-result:nth-child(6) {
    display: block
}

.school-result__title {
    background: #5b7691;
    color: #fff;
    font-weight: 700;
    margin-bottom: 10px;
    padding: 3px 10px;
    text-align: center
}

.new-schoolresult-notes-block {
    -webkit-overflow-scrolling: touch;
    color: #5e6369;
    font-size: 1.1rem;
    overflow-x: auto;
    position: relative;
    text-align: center;
    top: -18px;
    white-space: nowrap
}

.results-box {
    background-color: #ffeded;
    border: 2px solid #dd0b0b;
    border-radius: 3px;
    margin-bottom: 30px;
    padding: 10px 0;
    text-align: center
}

.results-box:before {
    background-image: url(/assets/img/school/img-check-results.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 20px;
    padding-right: 5px;
    vertical-align: middle;
    width: 20px
}

.note-full::before {
    background-image: url(/assets/img/school/icon-note-full.webp) !important;
}

.results-box p {
    color: #dd0b0b;
    display: inline-block;
    font-size: 1.5rem;
    margin-bottom: 0
}
.juku-osaka {
    margin-top: 20px;
}

.results-box a {
    color: #dd0b0b;
    text-decoration: none;
}

.results-box a[target=_blank]:after {
    display: none;
}
.results-box span {
    font-weight: bold;
}

.school-searchArea__sectionTitle {
    background: #eff6fd;
    border-bottom: 1px solid #e0e0e0;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 20px 40px;
    position: relative
}

.school-searchArea__sectionTitle:after,
.school-searchArea__sectionTitle:before {
    background: #004f9f;
    content: "";
    position: absolute
}

.school-searchArea__sectionTitle:before {
    height: 15px;
    right: 41px;
    top: calc(50% - 7px);
    -webkit-transition: .3s;
    transition: .3s;
    width: 3px
}

.school-searchArea__sectionTitle:after {
    height: 3px;
    right: 35px;
    top: calc(50% - 1px);
    -webkit-transition: .3s;
    transition: .3s;
    width: 15px
}

.school-searchArea__section[open] .school-searchArea__sectionTitle:before {
    opacity: 0
}

.school-searchArea__sectionFooter {
    margin-bottom: 60px;
    padding: 0 40px
}

.school-searchArea .school-searchArea__btn {
    text-align: left
}

.school-searchArea__groupTitle {
    background: #f7f7f7;
    display: block;
    font-weight: 700;
    margin-bottom: 0;
    padding: 10px 40px
}

.school-searchArea__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.6rem;
    gap: 0 40px;
    margin-bottom: 40px;
    padding: 0 40px
}

.school-searchArea__list li {
    padding: 0;
    width: calc(33.33333% - 27px)
}

.school-searchArea__list li a {
    background: url(../img/share/arrow_right_blue.svg) no-repeat 100%;
    border-bottom: 1px solid #e0e0e0;
    color: #2e2e2e;
    display: block;
    padding: 20px 0;
    text-decoration: none;
    -webkit-transition: .3s;
    transition: .3s
}

.school-searchLink {
    background: #eff6fd;
    padding: 25px 40px
}

.school-searchLink__title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 18px;
    text-align: center
}

.school-searchLink__btn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 15px 40px;
    justify-content: center
}

.school-searchLink__btn li {
    width: 300px
}

.school-searchLocation .school-searchLocation__btn {
    margin-bottom: 15px;
    text-align: center
}

.school-searchLocation__notes {
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: center;
}

.school-searchSchool__sectionTitle {
    background: #eff6fd;
    border-bottom: 1px solid #e0e0e0;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 20px 40px;
    position: relative
}

.school-searchSchool__sectionTitle:after,
.school-searchSchool__sectionTitle:before {
    background: #004f9f;
    content: "";
    position: absolute
}

.school-searchSchool__sectionTitle:before {
    height: 15px;
    right: 41px;
    top: calc(50% - 7px);
    -webkit-transition: .3s;
    transition: .3s;
    width: 3px
}

.school-searchSchool__sectionTitle:after {
    height: 3px;
    right: 35px;
    top: calc(50% - 1px);
    -webkit-transition: .3s;
    transition: .3s;
    width: 15px
}

.school-searchSchool__section[open] .school-searchSchool__sectionTitle:before {
    opacity: 0
}

.school-searchSchool__groupTitle {
    background: #f7f7f7;
    display: block;
    font-weight: 700;
    margin-bottom: 0;
    padding: 10px 40px
}

.school-searchSchool__cityTitle {
    display: block;
    font-weight: 700;
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 0 40px
}

.school-searchSchool__list {
    overflow: hidden
}

.school-searchSchool__list>li {
    font-size: 1.6rem;
    padding-bottom: 40px
}

.success-main__item {
    margin-bottom: 60px
}

.success-main__article {
    background: #faf6ed;
    border: 2px solid #000;
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 40px 40px calc(40px - 1.5em)
}

.success-main__article.-low {
    border-color: #3fbf48
}

.success-main__article.-middle {
    border-color: #fdc53b
}

.success-main__article.-high {
    border-color: #004f9f
}

.success-main__school {
    font-size: 1.4rem;
    font-weight: 700
}

.success-main__title {
    font-size: 3.2rem;
    font-weight: 700;
    margin-bottom: 15px
}

.success-main__btn {
    margin-bottom: 20px
}

.success-title {
    color: #004f9f;
    font-weight: 700;
    margin: 60px 0 20px 15px;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.success-title:after,
.success-title:before {
    background: url(../img/share/border_dot_line_blue.svg) no-repeat;
    content: "";
    height: 22px;
    position: absolute;
    top: 2px;
    width: 2px
}

.success-title:before {
    left: -15px;
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg)
}

.success-title:after {
    right: -15px;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg)
}

.kv-bottom-read {
    padding: 0 40px;
    position: relative;
    text-align: center
}

.kv-bottom-read:after,
.kv-bottom-read:before {
    border: 2px solid #2c61ac;
    content: "";
    display: inline-block;
    height: 240px;
    position: absolute;
    top: 46%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 30px
}

.kv-bottom-read:before {
    border-right: none;
    left: 70px
}

.kv-bottom-read:after {
    border-left: none;
    right: 70px
}

.none-link {
    color: #2e2e2e;
    text-decoration: none
}

a[target=_blank].none-link {
    margin-right: 0
}

a[target=_blank].none-link:after {
    background: none !important;
    content: none !important;
    padding-right: 0 !important
}

.schoolfeature__ttl {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 20px 0;
    padding-top: 20px;
    text-align: center
}

.schoolfeature__big_f {
    display: inline;
    font-size: 4rem
}
.schoolfeature__under-line {
    display: inline-block;
    background: linear-gradient(transparent 70%, #fff600 70%);
}

.tosho {
    font-size: 1.3rem;
    line-height: 1.8rem;
    margin: 0 auto;
    max-width: 55rem;
    padding: 0 1rem 6rem;
    text-align: center
}

.blue-b {
    color: #2c61ac
}

.red-b {
    color: #ff0062
}

.small-notes {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4rem
}

.school-kv-block {
    position: relative
}

.kv-name-back {
    background: #004f9f;
    border-radius: 0 1rem 1rem 0;
    bottom: 0;
    font-weight: 700;
    padding: .5rem 2.7rem .5rem 4rem;
    position: absolute
}

.kv-name-back-txt {
    color: #fff
}

.kv-name-back-txt h2 {
    font-size: 3.9rem
}

.feature-flex {
    gap: 15px;
    margin-top: 80px
}

.col-box-bg,
.feature-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.col-box-bg {
    -webkit-box-flex: 1;
    background-color: #faf6ed;
    -ms-flex: 1;
    flex: 1;
    position: relative
}

.col1 {
    border: 2px solid #004f9f
}

.col1-img {
    height: 100px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: -60px;
    vertical-align: middle;
    width: 100px
}

.col1-tit {
    color: #004f9f;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
    position: relative
}

.col1-tit:before {
    background-color: #004f9f;
    bottom: -7px;
    content: "";
    display: inline-block;
    height: 2px;
    left: calc(50% - 31px);
    position: absolute;
    width: 72px
}

.col2 {
    border: 2px solid #fdc53b
}

.col2-img {
    height: 100px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: -60px;
    vertical-align: middle;
    width: 100px
}

.col2-tit {
    color: #fdc53b;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
    position: relative
}

.col2-tit:before {
    background-color: #fdc53b;
    bottom: -7px;
    content: "";
    display: inline-block;
    height: 2px;
    left: calc(50% - 31px);
    position: absolute;
    width: 72px
}

.col3 {
    border: 2px solid #3fbf48
}

.col3-img {
    height: 100px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: -60px;
    vertical-align: middle;
    width: 100px
}

.col3-tit {
    color: #3fbf48;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
    position: relative
}

.col3-tit:before {
    background-color: #3fbf48;
    bottom: -7px;
    content: "";
    display: inline-block;
    height: 2px;
    left: calc(50% - 31px);
    position: absolute;
    width: 72px
}

.box-pd {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 43px 10px 10px
}

.box-pd,
.box-pd picture {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.box-pd picture {
    margin-top: auto
}

.price-banner {
    background-color: #004f9f;
    background-image: repeating-linear-gradient(136deg, transparent, transparent 3px, #003e8a 0, #003e8a 5px);
    color: #fff;
    font-size: 3rem;
    font-weight: 700;
    margin: 0;
    padding: 1rem 0;
    text-align: center
}

.price-banner-text {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    top: 4px
}

.f-yellow {
    color: #ff0
}

.price-text {
    font-family: Poppins, Noto Sans JP, sans-serif;
    font-size: 5.5rem;
    font-weight: 600;
    line-height: .87
}

.f-small {
    font-size: 70%;
    position: relative;
    top: 13px
}

.sizedown {
    font-size: 4rem;
    position: relative;
    top: -4px
}

.movie__title {
    color: #004f9f;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0;
    text-align: center
}

.movie__title__mb {
    margin-bottom: 2.5rem
}

.movie__frame {
    margin: 0 auto 30px
}

.methods-index {
    display: grid;
    gap: 40px 40px;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    margin-top: 45px
}

.methods-index__item {
    background: #f8fcff;
    border-radius: 0 0 5px 5px;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
    padding: 0 0 30px;
    position: relative
}

.methods-index__title {
    background: #666;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    height: 40px;
    left: 0;
    line-height: 1.2;
    padding: 2px 12px 2px 15px;
    position: absolute;
    top: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.methods-index__title.-class {
    background-color: #004f9f
}

.methods-index__no {
    font-family: Poppins, Noto Sans JP, Yu Gothic, YuGothic, 游ゴシック, Meiryo, メイリオ, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Verdana, Arial, sans-serif;
    font-size: 3rem;
    margin-left: 8px;
    position: relative;
    z-index: 1
}

.methods-index__image {
    margin: 0 auto 20px
}

.methods-index__image img {
    border: 1px solid #e0e0e0;
    border-radius: 5px 5px 0 0
}

.methods-index__text {
    padding: 0 30px
}

.methods-index__lead {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 13px
}

.methods-index__lead,
.methods-index__subTitle {
    color: #004f9f;
    font-weight: 700;
    text-align: center
}

.methods-index__subTitle {
    font-size: 3.2rem;
    margin: 0 auto 15px;
    text-underline-offset: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.methods-index__btn {
    bottom: 30px;
    left: 50%;
    min-width: 300px;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.methods-index__title.-teacher {
    background-color: #3fbf48
}

.methods-index__title.-measures {
    background-color: #fdc53b
}

.methods-index__title.-text {
    background-color: #f48021
}

.methods-index__title:after {
    border: 20px solid transparent;
    border-left-color: #000;
    content: "";
    position: absolute;
    right: -40px;
    top: 0
}

.methods-index__title.-class:after {
    border-left-color: #004f9f
}

.methods-index__title.-teacher:after {
    border-left-color: #3fbf48
}

.methods-index__title.-measures:after {
    border-left-color: #fdc53b
}

.methods-index__title.-text:after {
    border-left-color: #f48021
}

.toggle_box {
    border: 2px solid #004f9f;
    margin-top: 40px
}

.toggle_contents+.toggle_contents {
    border-bottom: none
}

.toggle_contents:first-of-type dd {
    display: block
}

.toggle_box .toggle_contents:last-child {
    border-bottom: none
}

.toggle_contents dd {
    border-bottom: none;
    border-top: 2px solid #004f9f
}

.toggle_contents ul {
    padding: 20px 20px 35px
}

.toggle_title {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 2px solid #004f9f;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding: 1.5rem 2rem 1.5rem 120px;
    position: relative
}

.toggle_title:before {
    background: #004f9f;
    content: "";
    height: 300%;
    left: -100px;
    position: absolute;
    top: -150%;
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    width: 200px
}

.toggle_title h3 {
    color: #004f9f;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    text-align: center
}

.toggle_box .toggle_contents:first-child .toggle_title {
    border-top: none
}

.toggle_sub_tit {
    color: #004f9f;
    display: block;
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: center
}

.toggle_sub_tit p {
    display: inline-block;
    text-align: left
}

.toggle_btn {
    background: #0052a4;
    border-radius: 50%;
    display: block;
    height: 24px;
    overflow: hidden;
    position: absolute;
    right: 20px;
    text-indent: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    white-space: nowrap;
    width: 24px
}

.toggle_btn:after,
.toggle_btn:before {
    background-color: #fff;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 10px
}

.toggle_btn:before {
    height: 10px;
    width: 2px
}

.toggle_title.selected .toggle_btn:before {
    content: normal
}

.toggle_contents dd {
    display: none
}

.toggle_number {
    color: #fff;
    display: block;
    font-family: Source Sans Pro, sans-serif;
    font-size: 3rem;
    font-size: 3.4rem;
    font-weight: 700;
    left: 0;
    padding-left: 18px;
    position: absolute;
    top: 0;
    z-index: 1
}

.small-school-year {
    font-size: 1.7rem
}

.toggle_number_top {
    top: 20px
}

.toggle-content-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px
}

.toggle-content-flex+.toggle-content-flex {
    margin-top: 30px
}

.toggle-content-text-box {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.toggle-content-subtit-box {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0, #fedc89));
    background: linear-gradient(transparent 65%, #fedc89 0);
    color: #004f9f;
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 15px
}

.course-sub-tit {
    color: #004f9f;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 20px
}

.course-sub-mt {
    margin-top: 30px;
    padding: 20px
}

.tbl-r02 {
    margin: 20px auto
}

.tbl-r02 th {
    background: #004f9f;
    color: #fff;
    width: 10%
}

.tbl-r02 td,
.tbl-r02 th {
    border: 1px solid #acacac
}

.tbl-r02 td {
    padding: 10px
}

.page-schoolDetail .expSlider__titleShoulder_course {
    display: block;
    font-size: 1.6rem
}

.expSlider__body__school {
    margin: 0 auto 80px;
    position: relative;
    width: 32vw
}

.school-exp-flex {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    justify-content: center;
    gap: 10px;
}

.expSlider__item__school {
    background: #faf6ed;
    border: 2px solid #004f9f;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 10px rgba(95, 99, 104, .1);
    box-shadow: 0 0 10px rgba(95, 99, 104, .1);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
    overflow: hidden;
    padding: 20px 25px;
    width: 460px
}

.expSlider__item__school.-high,
.expSlider__item__school.-low,
.expSlider__item__school.-middle {
    border-color: #004f9f
}

.school-exp-img {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 17%
}

.school-exp-text {
    width: 83%
}

.school_expSlider__writer {
    font-size: 1.3rem;
    text-align: right
}

.school__expSlider__voice,
.school__expSlider__voice p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    display: -webkit-box;
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 15px;
    min-height: 3.2em;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* プログレスバーの背景部分 */
.swiper-horizontal > .swiper-pagination-progressbar, 
.swiper-pagination-progressbar.swiper-pagination-horizontal {
    position: absolute;
    top: auto;
    bottom: -20px;
    height: 3px;
    background-color: #e2e2e2;
    width: 80%; /* 長さを50%に設定 */
    left: 50%; /* 水平中央揃え */
    transform: translateX(-50%); /* 中央揃えの補正 */
    display: flex; /* 分割のためフレックスボックスを使用 */
    overflow: hidden; /* 見えない部分を隠す */
}
.swiper-pagination-progressbar-section {
    flex: 1; /* 均等に分割 */
    height: 100%;
    background-color: transparent; /* 初期状態は透明 */
    transition: background-color 0.3s ease; /* 背景色変更をアニメーション */
}
/* アクティブセクション */
.swiper-pagination-progressbar-section.active {
    background-color: #004f9f; /* アクティブなスライドに対応するセクションをオレンジに */
}

.swiper-pagination-progressbar {
    background-color: #000066;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #004f9f;
    width: 10px;
    height: 100%;
    transform-origin: left center;
    transform: translateX(0);
    transition: transform 0.3s ease;
}

.worries-tit {
    color: #3f3f3f;
    font-size: 5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 20px auto 60px;
    text-align: center
}

.worries-tit p {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fe3));
    background: linear-gradient(transparent 60%, #fe3 0);
    display: inline
}

.worries-mori {
    color: #004f9f
}

.worries-mori:before {
    background-image: url(/assets/img/top/worries-point.jpg);
    background-size: contain;
    content: "";
    display: inline-block;
    height: 60px;
    position: relative;
    top: -20px;
    width: 60px
}

.balloon {
    background: #004f9f;
    border-radius: 30px;
    color: #fff;
    display: block;
    font-size: 16px;
    margin: 1.5em auto 1em;
    max-width: 100%;
    min-width: 120px;
    padding: 13px 35px;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.balloon:before {
    border: 10px solid transparent;
    border-top: 9px solid #004f9f;
    content: "";
    left: 50%;
    margin-left: -10px;
    position: absolute;
    top: 100%
}
.waiver-balloon {
    background: #E62250;
    border-radius: 40px;
    color: #fff;
    display: block;
    font-size: 16px;
    margin: 1.5em auto 1em;
    max-width: 100%;
    min-width: 120px;
    padding: 13px 35px;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.waiver-balloon:before {
    border: 10px solid transparent;
    border-top: 9px solid #E62250;
    content: "";
    left: 50%;
    margin-left: -10px;
    position: absolute;
    top: 100%
}
.waiver-balloon-fuwafuwa {
    animation: waiver-balloon-fuwafuwa-anim 1s ease-in-out infinite alternate;
}

@keyframes waiver-balloon-fuwafuwa-anim {
    0% {
        transform: translateY(-10%);
      }
      100% {
        transform: translateY(10%);
      }
}

.balloon p {
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1;
    margin: 0;
    padding: 0
}
.waiver-balloon p {
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1;
    margin: 0;
    padding: 0
}
.waiver-balloon-price {
    font-size: 4.4rem;
}
.waiver-balloon-emp {
    font-size: 3.8rem;
}

.reason-block {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px
}

.reason-tit {
    background: #2660ad;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 700;
    padding: 1rem 2rem 1rem 4em;
    position: relative
}

.reason-tit span {
    left: 20px;
    position: absolute;
    top: 10px
}

.reason-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
    margin-top: 30px;
    padding: 0 30px 50px
}

.reason-box>div:first-child {
    width: 40%
}

.reason-box>div:last-child {
    width: 60%
}

.reason-box img {
    border-radius: 5px
}

.c-red {
    color: #fb0059;
    font-weight: 600
}

.reason-box-back {
    background: #f8fcff
}

.reason-box-back+.reason-box-back {
    margin: 40px 0
}

.reason-box-back:last-child {
    padding-bottom: 35px
}

.reason-position {
    position: relative;
    z-index: -1
}

.tv-tit-block {
    display: flex;
    justify-content: center;
    position: relative;
    top: -30px;
  }
  .caption_box {
    position: relative;
    margin-top: 1em;
    padding: 0 2em 2em 2em;
    border: 2px solid #004f9f;
  }

.caption_box .caption {
    background: #005bac;
    padding: 0.7em 4.0em;
    text-align: center;
    position: relative;
    display: inline-block;
}

.tv-tit {
    color: #fff;
    font-weight: bold;
    display: inline-block;
    position: relative;
    padding-right: 1.0em;
    font-size: 3.2rem;
  }
  .tv-tit::after {
    background-image: url(/assets/img/top/icon-cm.png);
    background-size: contain;
    content: "";
    position: absolute;
    top: 70%;
    right: -30px;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
  }

.movie__frame {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    color: #004f9f;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 56vw;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    width: 100%
}

.play-icon {
    height: 48px !important;
    left: calc(50% - 30px) !important;
    position: absolute !important;
    top: calc(50% - 30px) !important;
    width: 68px !important
}

.cm-text {
    margin-bottom: 1.5em
}

.tv-movie {
    margin-top: 110px
}

dialog {
    -webkit-animation: fadeIn 2s forwards;
    animation: fadeIn 2s forwards;
    border: none;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.5;
    overscroll-behavior-y: none;
    padding: 40px
}

dialog::-webkit-backdrop {
    background: hsla(0, 0%, 7%, .6)
}

dialog::backdrop {
    background: hsla(0, 0%, 7%, .6)
}

dialog .cloase-btn {
    color: #004f9f;
    cursor: pointer;
    font-size: 36px;
    position: absolute;
    right: 0;
    top: 0;
    outline: none;
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.txt-left {
    text-align: left
}

.modal-note-box {
    border: 2px dotted #004f9f;
    margin-bottom: 15px;
    margin-top: 10px;
    padding: 10px
}

.modal-note-tit {
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 1.5em
}

.modal-pl15 {
    padding-left: 15px
}

.balloon-p {
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1
}

.dialog-open {
    bottom: 16px;
    color: #fff;
    font-size: 1.4rem;
    position: relative
}

dialog p {
    color: #2e2e2e
}

.modal-note-text {
    color: #2e2e2e;
    font-weight: 400
}

.school-list-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    justify-content: center;
}

.school-list-flex-p {
    color: #6a6a6a;
    font-size: 1.4rem;
    position: relative;
    top: 16px
}

@media screen and (max-width:768px) {
    .school-anker-link-box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 1rem auto 2rem
    }

    .school-anker-link-box li {
        height: 70px;
        margin-bottom: 1rem;
        width: 47%
    }

    .school-anker-link-box li a:after {
        bottom: .8rem;
        left: calc(50% - .7em)
    }

    .school-basicInfo__title {
        font-size: 1.8rem
    }

    .school-basicInfo__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        grid-template-columns: 100%;
        grid-template-rows: auto auto auto 1fr;
        padding: 20px
    }

    .school-basicInfo__main {
        margin-right: 0
    }

    .school-basicInfo__sub {
        max-width: none
    }

    .school-basicInfo__title2nd {
        font-size: 1.6rem
    }

    .school-basicInfo__going {
        margin-top: 20px
    }

    .school-basicInfo__goingTitle2nd {
        margin-bottom: 2px
    }

    .school-basicInfo__info {
        margin-bottom: 20px;
        padding-top: 0
    }

    .school-basicInfo__infoItem {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .school-basicInfo__mapImage {
        margin: 0 auto 7px;
        max-width: 460px
    }

    .school-basicInfo__route {
        padding: 15px 20px
    }

    .school-basicInfo__routeBody {
        font-size: 1.3rem
    }

    .item01 {
        grid-column: 1/2;
        grid-row: 1/2
    }

    .item02 {
        grid-column: 1/2;
        grid-row: 2/3
    }

    .item03 {
        grid-column: 1/2;
        grid-row: 4/5
    }

    .item04 {
        grid-column: 1/2;
        grid-row: 5/5
    }

    .item05 {
        grid-column: 1/2;
        grid-row: 3/4;
        margin-bottom: 20px
    }

    .school-catch {
        font-size: 2rem;
        max-width: 500px
    }

    .school-catch strong {
        font-size: 2.6rem
    }

    .school-catch img {
        -webkit-transform: translateY(4px);
        transform: translateY(4px);
        width: 26px
    }

    .school-gallery-block {
        padding: 0 30px 25px
    }

    .school-gallery__navigation.-prev {
        display: block;
        left: -10px
    }

    .school-gallery__navigation.-next {
        display: block;
        right: -10px
    }

    .school-gallery {
        margin: auto;
        max-width: 280px;
        overflow: hidden
    }

    .school-gallery__item {
        width: 280px
    }

    .swiper {
        width: 100%
    }

    .swiper_thumbnail {
        width: 70%
    }
    .swiper-button-next, .swiper-button-prev {
        width: 40px; /* 必要に応じて調整 */
        height: 40px; /* 必要に応じて調整 */
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
    
    .swiper-button-next {
        background-image: url("/assets/img/school/exp/swiper-right-sp.webp"); /* 右矢印の画像パス */
    }
    
    .swiper-button-prev {
        background-image: url("/assets/img/school/exp/swiper-left-sp.webp"); /* 左矢印の画像パス */
    }

    .school-hero {
        border-radius: 0;
        margin: 0 -20px 20px;
        padding: 12px 20px
    }

    .school-hero__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 25px 20px
    }

    .school-hero__title {
        font-size: 1.5rem
    }

    .school-hero__title strong {
        font-size: 1.9rem
    }

    .school-hero__main {
        margin: 0 auto 20px;
        width: 100%
    }

    .school-hero__sub {
        margin: 0 auto;
        max-width: 480px
    }

    .school-hero__courseLink {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .school-hero__courseItem a {
        background-position: calc(100% - 8px);
        background-size: 13px auto;
        font-size: 1.3rem;
        padding-left: 12px;
        text-align: left
    }

    .school-near-grade__body {
        padding: 6px 20px
    }

    .school-near-grade {
        margin: 30px 0
    }

    .school-near {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%;
        margin: 0 0 20px
    }

    .school-near__title {
        font-size: 1.1rem;
        height: 30px;
        line-height: 30px;
        padding: 0 6px
    }

    .school-near__title:after {
        border-width: 15px;
        right: -30px
    }

    .school-near__body {
        min-height: 0;
        padding-left: 15px;
        padding-right: 15px
    }

    .new-school-notes {
        display: block;
        line-height: 1.4;
        padding-top: 10px
    }

    .school-priceLink {
        display: block;
        margin: 0 auto 40px;
        padding: 0 20px
    }

    .school-priceLink__marker {
        font-size: 2.4rem
    }

    .school-priceLink__text {
        font-size: 1.8rem;
        margin-bottom: 15px
    }

    .school-priceLink__check dt {
        margin-bottom: -3px
    }

    .new-schoolresult-notes-block {
        position: relative;
        top: -13px
    }

    .new-schoolresult-notes {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: .5em 0 .8em
    }

    .new-schoolresult-notes,
    .results-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .results-box {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        gap: 5px;
        justify-content: center;
        padding: 10px 15px
    }

    .results-box:before {
        height: 17px;
        padding-right: 0;
        position: relative;
        top: 5px;
        width: 17px
    }

    .results-box p {
        font-size: 1.3rem;
        text-align: left
    }

    .school-searchArea__sectionTitle {
        font-size: 1.6rem;
        padding: 20px
    }

    .school-searchArea__sectionTitle:before {
        height: 11px;
        right: 24px;
        top: calc(50% - 5px)
    }

    .school-searchArea__sectionTitle:after {
        right: 20px;
        width: 11px
    }

    .school-searchArea__sectionFooter {
        padding: 0
    }

    .school-searchArea .school-searchArea__btn {
        text-align: center
    }

    .school-searchArea__groupTitle {
        font-size: 1.4rem;
        padding: 10px 20px
    }

    .school-searchArea__list {
        font-size: 1.5rem;
        gap: 0 20px;
        padding: 0
    }

    .school-searchArea__list li {
        width: calc(50% - 10px)
    }

    .school-searchArea__list li a {
        background-position: calc(100% - 20px);
        background-size: 12px auto;
        padding: 20px
    }

    .school-searchLink {
        padding: 25px 20px
    }

    .school-searchLink__title {
        font-size: 1.9rem
    }

    .school-searchLink__btn {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .school-searchLink__btn li {
        width: 100%
    }

    .school-searchLocation .school-searchLocation__btn {
        text-align: center
    }

    .school-searchSchool__sectionTitle {
        font-size: 1.6rem;
        padding: 20px
    }

    .school-searchSchool__sectionTitle:before {
        height: 11px;
        right: 24px;
        top: calc(50% - 5px)
    }

    .school-searchSchool__sectionTitle:after {
        right: 20px;
        width: 11px
    }

    .school-searchSchool__groupTitle {
        font-size: 1.4rem;
        padding: 10px 20px
    }

    .school-searchSchool__cityTitle {
        font-size: 1.5rem;
        margin-bottom: 12px;
        margin-top: 15px;
        padding: 0 20px
    }

    .school-searchSchool__list>li {
        font-size: 1.5rem
    }

    .success-main__article {
        padding: 20px 20px calc(35px - 1.5em)
    }

    .success-main__title {
        font-size: 2.8rem
    }

    .success-title {
        margin: 40px auto 10px
    }

    .kv-bottom-read:before {
        height: 150px;
        left: -15px;
        top: 45%
    }

    .kv-bottom-read:after {
        height: 150px;
        right: -15px;
        top: 45%
    }

    .schoolfeature__ttl {
        font-size: 1.7rem;
        margin: 15px 0;
        padding: 0
    }

    .kv-bottom-read {
        padding: 0
    }

    .tosho {
        padding: 0 0 2rem
    }

    .blue-b {
        font-size: 1.9rem
    }

    .small-notes {
        font-size: 1.1rem
    }

    .schoolfeature__big_f {
        display: inline;
        font-size: 2.1rem
    }

    .school-kv-block {
        margin-top: 60px
    }

    .kv-name-back {
        padding: .5rem 1.7rem .5rem 2rem
    }

    .kv-name-back-txt {
        line-height: 1.3
    }

    .kv-name-back-txt h2 {
        font-size: 2.2rem
    }

    .feature-flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 90px
    }

    .col1-tit,
    .col2-tit,
    .col3-tit {
        font-size: 2.3rem;
        margin-bottom: 27px
    }

    .price-banner {
        background-image: repeating-linear-gradient(136deg, transparent, transparent 3px, #003e8a 0, #003e8a 5px);
        font-size: 2.2rem;
        gap: 0;
        margin-bottom: 12px;
        margin-left: -20px;
        margin-right: -20px
    }

    .price-text {
        font-size: 3.7rem;
        line-height: 1;
        position: relative;
        top: -2px
    }

    .f-small {
        top: 10px
    }

    .sizedown {
        font-size: 2.5rem
    }

    .price-banner-text {
        top: 3px
    }

    .movie__title {
        font-size: 2.8rem
    }

    .movie__title__mb {
        margin-bottom: 0
    }

    .methods-index {
        gap: 40px 20px
    }

    .methods-index__title {
        font-size: 1.5rem;
        height: 30px
    }

    .methods-index__no {
        font-size: 2rem
    }

    .methods-index__title:after {
        border-width: 15px;
        right: -30px
    }

    .methods-index__lead {
        font-size: 1.6rem
    }

    .methods-index__text {
        padding: 0 30px
    }

    .toggle_number {
        font-size: 2rem;
        height: 45px;
        left: -5px;
        padding-left: 13px;
        top: 10px;
        width: 45px
    }

    .toggle_title {
        padding: 1.5rem 2rem 1.5rem 40px
    }

    .toggle_title:before {
        left: -140px;
        width: 194px
    }

    .toggle_sub_tit {
        font-size: 1.9rem;
        line-height: 1.3;
        text-align: left
    }

    .small-school-year {
        font-size: 1.3rem
    }

    .toggle_title h3 {
        font-size: 1.9rem
    }

    .toggle_btn {
        right: 8px
    }

    .toggle-content-flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        gap: 0
    }

    .toggle-content-text {
        width: auto
    }

    .toggle_contents_text {
        margin-top: 15px
    }

    .course-sub-tit {
        font-size: 1.6rem;
        margin-bottom: 8px
    }

    .toggle_box {
        margin-top: 20px
    }

    .toggle-content-subtit-box {
        font-size: 1.6rem;
        line-height: 1.3;
        margin-bottom: 6px
    }

    .toggle-content-text-mt {
        margin-top: 15px
    }

    .last td:last-child {
        border-bottom: 1px solid #ccc;
        width: 100%
    }

    .tbl-r02 td,
    .tbl-r02 th {
        border-bottom: none;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        padding: 5px;
        width: 100%
    }

    .expSlider__body__school {
        width: 70vw;
        margin: 0 auto 30px;
    }

    .expSlider__item__school {
        padding: 12px;
        width: 280px
    }

    .school-exp-flex {
        gap: 5px;
        flex-flow: column;
    }

    .school_expSlider__writer {
        font-size: 1rem
    }

    .school__expSlider__voice,
    .school__expSlider__voice p {
        font-size: 1.2rem;
        margin-bottom: 10px
    }

    .school-exp-img {
        width: 20%
    }

    .school-exp-text {
        width: 100%
    }

    .width-20 {
        margin-left: -20px;
        margin-right: -20px
    }

    .worries-tit {
        font-size: 2.8rem;
        margin: 20px auto 40px
    }

    .worries-mori:before {
        height: 30px;
        width: 30px
    }

    .balloon {
        margin: 1em auto;
        padding: 13px 20px
    }
    .waiver-balloon {
        margin: 1em auto 0.5em;
        padding: 10px 12px 13px;
    }

    .balloon p {
        font-size: 1.9rem
    }
    .waiver-balloon p {
        font-size: 1.6rem
    }
    .waiver-balloon-price {
        font-size: 2.8rem;
    }
    .waiver-balloon-emp {
        font-size: 2.3rem;
    }
    .reason-tit {
        font-size: 2rem;
        margin-left: -30px;
        margin-right: -30px
    }

    .reason-tit span {
        height: 37px;
        width: 45px
    }

    .reason-tit span:after {
        top: 7%;
        width: 10%
    }

    .reason-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        gap: 15px;
        padding: 0 0 35px
    }

    .reason-box-back {
        margin-left: -20px;
        margin-right: -20px;
        padding: 0 20px
    }

    .reason-block {
        gap: 10px
    }

    .reason-box-back+.reason-box-back {
        margin: 0 -20px
    }

    .reason-box-back:last-child {
        padding: 0 20px 35px
    }

    .reason-box>div:first-child,
    .reason-box>div:last-child {
        width: auto
    }

    .caption_box .caption {
        font-size: 2.8rem;
        padding: 0 .6em;
        width: calc(100% - 18rem)
    }

    .caption:after {
        bottom: -15px;
        height: 35px;
        right: 5px;
        width: 35px
    }

    .caption_box {
        padding: 0 1em 1em 1em;
    }
    .tv-tit-block {
        top: -20px;
    }
    .tv-tit {
        font-size: 2.2rem;
    }
    .tv-tit::after {
        width: 40px;
        height: 40px;
    }

    .cm-text {
        margin-bottom: 0
    }

    .tv-movie {
        margin-top: 80px
    }

    dialog {
        font-size: 1.5rem;
        height: 80%;
        padding: 40px 10px;
        width: 90%
    }

    .dialog-90 {
        height: 10vh
    }

    dialog .cloase-btn {
        top: -14px
    }

    .dialog-open {
        bottom: 6px
    }

    .balloon-p {
        font-size: 1.9rem
    }

    .school-list-flex-p {
        font-size: 1.2rem;
        top: 14px
    }
    .juku-osaka {
        margin-top: 0;
        margin-bottom: 12px;
    }
    .school-catch:before {
        left: -10px;
    }
    .school-catch:after {
        right: -10px;
    }
    .swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal {
        position: absolute;
        top: auto;
        bottom: -15px;
        height: 3px;
        background-color: #e2e2e2;
        width: 80%;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        overflow: hidden;
    }
}

@media screen and (max-width:1024px) {
    .school-basicInfo__content {
        padding: 25px 30px 0
    }

    .school-hero__sub {
        max-width: 290px
    }

    .methods-index {
        gap: 40px 30px
    }
}

@media (any-hover:hover) {
    .school-basicInfo__infoBody a:hover {
        text-decoration: underline
    }

    .school-searchArea__sectionTitle:hover {
        color: #004f9f
    }

    .school-searchArea__list li a:hover {
        border-bottom-color: #004f9f
    }

    .school-searchSchool__sectionTitle:hover {
        color: #004f9f
    }
}

@media screen and (max-width:1160px) {
    .school-bnrTEL__number {
        background-size: 14% auto;
        font-size: 2.0689655172vw;
        padding-left: 3vw
    }
}

@media screen and (max-width:600px) {
    .school-bnrTEL__number {
        bottom: 12%;
        font-size: 6.4vw;
        left: 50%;
        padding-left: 8vw;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .school-bnrTEL__number.-bottom {
        bottom: 14%
    }

    .school-nav {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .school-nav__pulldownItem {
        max-width: none
    }

    .school-nav__pulldownItem:after {
        right: 15px
    }

    .school-nav__enterBtn {
        max-width: 300px
    }

    .school-results {
        gap: 12px
    }

    #page .school-results__count4 {
        display: none
    }

    .school-results .school-result {
        width: calc(50% - 6px)
    }
}

@media not screen and (max-width:600px) {
    .school-bnrTEL__number.-disable-tel-pc {
        pointer-events: none
    }
}

@media screen and (max-width:340px) {
    .school-catch {
        font-size: 1.6rem
    }

    .school-catch strong {
        font-size: 2.4rem
    }

    .school-catch img {
        -webkit-transform: translateY(3px);
        transform: translateY(3px);
        width: 22px
    }

    .school-hero__courseItem a {
        font-size: 1.2rem
    }

    .school-results .school-result {
        width: 100%
    }
}

@media screen and (min-width:769px) {
    .school-gallery__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 10px
    }

    .school-gallery__item {
        width: auto
    }

    .movie__frame {
        height: 342px;
        width: 609px
    }
}

@media screen and (max-width:940px) {
    .school-hero__inner {
        padding: 25px 30px
    }

    .school-hero__sub {
        max-width: 290px
    }

    .school-hero__title {
        font-size: 1.5rem
    }

    .ph-text:after,
    .ph-text:before {
        height: 90%
    }

    .school-new,
    .school-year-label-new {
        background: #f48021;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        color: #fff;
        display: inline-block;
        font-size: 12px;
        height: 22px;
        line-height: 22px;
        margin-right: 7px;
        padding: 0 11px 0 4px;
        position: relative;
        text-align: center;
        top: -4px
    }

    .school-new:after,
    .school-year-label-new:after {
        border-style: solid;
        border-width: 12px 7px 13px 0;
        content: "";
        height: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 0;
        z-index: 1
    }

    .school-f-small {
        font-size: 1.8rem
    }
}

@media screen and (max-width:599px) {
    .spbr {
        display: block
    }

    .ph-text-block {
        height: 30px;
        left: 0;
        margin: auto;
        right: 1px;
        top: -10px;
        width: 160px
    }

    .ph-text {
        font-size: 15px;
        line-height: 1.3;
        padding: 0 5px;
        text-align: center
    }

    .ph-text:before {
        left: 0;
        -webkit-transform: rotate(-25deg);
        transform: rotate(-25deg)
    }

    .ph-text:after,
    .ph-text:before {
        background: #004f9f;
        border-radius: 3px;
        content: "";
        height: 70%;
        position: absolute;
        top: 8px;
        width: 2px
    }

    .ph-text:after {
        right: 0;
        -webkit-transform: rotate(25deg);
        transform: rotate(25deg)
    }

    .pc-content {
        display: none
    }

    .sp-content {
        display: block
    }

    .ph-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 0 5px
    }

    .ph-flex>div:first-child {
        position: relative;
        width: 50%
    }

    .ph-flex>div:nth-child(2) {
        width: 50%
    }

    .school-label {
        display: none
    }

    .school-flex {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media screen and (max-width:460px) {
    .school-result__title {
        font-size: 1.4rem
    }

    .school-searchArea__list li {
        width: 100%
    }

    .methods-index {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr))
    }
}
small {
    display: inline-block;
}
/* ===========================================
 * kuchikomi.css
 * ======================================== */
 .kuchikomi_body {
    margin: 0 auto 25px;
    position: relative;
    width: 32vw;
}
.le1 {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    transition-property: transform;
    box-sizing: content-box;
}
.le1 .expSlider__item__school {
    width:48vw;
    margin: 0 auto;
}
.le2 {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    transition-property: transform;
    box-sizing: content-box;
}
.le2 .expSlider__item__school {
    width:48vw;
    margin: 0 1vw;
}
.expSlider__item__school:nth-child(3n+1){
    border-color: #004f9f;
}
.expSlider__item__school:nth-child(3n+2) {
    border-color: #004f9f;
}
.expSlider__item__school:nth-child(3n+3) {
    border-color: #004f9f;
}
.school-exp-img img {
    height:auto;
}
@media screen and (max-width: 768px) {
    .kuchikomi_body {
        margin: 0 20px 25px;
        position: relative;
        width: auto;
    }
    .le1 .expSlider__item__school {
        width: 100%;
    }
    a[target="_blank"]:after {
        background: url(../img/share/icon_external_blue.svg) no-repeat 100%;
        content: "";
        padding-right: 15px;
        background-size: 10px;
    }
}

/*===============================

	校舎一覧_安心の全国に直営◯◯校舎

================================*/
.school-catch-tit {
    display: inline-block;
    margin-bottom: 0;
    font-feature-settings: "palt";
    font-weight: 700;
    line-height: 1.4;
    background: linear-gradient(transparent 70%, #fff600 70%);
    font-size: 4.0rem;
}
.school-catch-span {
    font-size: 3.5rem;
}
.school-catch-span-sec {
    font-size: 4.0rem;
    margin-bottom: 0;
    font-feature-settings: "palt";
    font-weight: 700;
    line-height: 1.4;
}
.btn__link {
    background: none;
}
.btn__text {
    background: url(../img/share/arrow_right_blue.svg) no-repeat calc(102% - 10px);
    display: block;
    position: relative;
    transition: 0.3s;
    z-index: 2;
    background-size: 12px auto;
}
.title.-style01 {
    text-align: center;
}
.btn.-style01 .btn__link {
    background: none;
    border: 1px solid #004f9f;
    color: #004f9f;
}
@media screen and (max-width: 768px) {
    .school-catch-mintext {
        margin-bottom: 0;
        font-feature-settings: "palt";
        font-size: 1.5rem;
    }
    .school-catch-tit {
        font-size: 2.1rem;
    }
    .school-catch-span {
        font-size: 1.4rem;
    }
    .school-catch-span-sec {
        font-size: 2.1rem;
    }
    .pageHeader.-visual .pageHeader__title {
        margin-bottom: 8px;
    }
    .school-searchLocation__notes {
        text-align: left;
    }
    
}