@charset "utf-8";

:root {

    --bg-primary: #07B19B;
    --bg-secondary: #F0FFFA;
    --bg-tertiary: #FF9668;
    --bg-quaternary: #FFF2F2;
    --bg-fifth: #FF6868;

}

/*===========================================================
カバー
===========================================================*/

.in-cover {
    max-width: 192rem;
    width: 100%;
    height: 35rem;
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: center;
}

.in-cover-link-box {
    max-width: 11rem;
    width: 100%;
    padding: 0 2rem;
}

.in-cover-link {
    margin: 0 auto;
    padding: 7rem 2rem 4.5rem;
    max-width: 7rem;
    width: 100%;
    display: flex;
    align-items: center;
    writing-mode: vertical-rl;
    background: var(--tertiary);
    gap: 3rem;
    border-radius: 3.5rem;
    transition: all .3s;
}

.in-cover-link p {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--white);
}

.in-cover-link-img-box {
    max-width: 3rem;
    width: 100%;
}

.in-cover-link:hover {
    filter: brightness(1.1);
}

.in-cover-container {
    max-width: 180.8rem;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.in-cover-title-container {
    padding: 0 0.6rem 0.6rem 0;
    position: relative;
    z-index: 1;
}

.in-cover-title-box {
    padding: 0 1rem 0.6rem;
    background: var(--white);
    border-radius: 1rem;
    box-shadow: 0.6rem 0.6rem 0 0 var(--tertiary);
}

.in-cover-title {
    font-size: 5.5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.4em;
    color: var(--primary);
}

.in-cover-img-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.in-cover-img-box img {
    object-fit: cover;
    height: 100% !important;
    width: 100%;
    object-position: center;
}

.in-cover-img-box-elementary img {
    object-position: 80%;
}

.voice-cover-img-box img {
    object-position: 15%;
}

/*===========================================================
共通
===========================================================*/

.color-white {
    color: var(--white);
}

.color-primary {
    color: var(--primary);
}

.color-secondary {
    color: var(--secondary);
}

.color-tertiary {
    color: var(--tertiary);
}

.color-quaternary {
    color: var(--quaternary);
}

.color-fifth {
    color: var(--fifth);
}

.bg-primary {
    background-color: var(--bg-primary) !important;
}

.bg-secondary {
    background-color: var(--bg-secondary) !important;
}

.bg-tertiary {
    background-color: var(--bg-tertiary) !important;
}

.bg-quaternary {
    background-color: var(--bg-quaternary) !important;
}

.bg-fifth {
    background-color: var(--bg-fifth) !important;
}


.in-title01 {
    font-size: 3.5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 2.057142857142857em;
}

.in-title01 strong {
    font-size: 5rem;
    font-weight: 600;
    line-height: 1.44em;
}

.in-title02 {
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
}

.in-title03 {
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.6em;
}

.in-text01 {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 2.1875em;
}

.in-text01 strong {
    font-size: 2rem;
    font-weight: 800;
}

.in-text02 {
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.in-text02 strong {
    font-size: 2rem;
    font-weight: 800;
}

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

.border-none {
    border: unset;
}

.border-right-primary {
    border-right: 0.2rem solid var(--primary);
}

.border-right-tertiary {
    border-right: 0.2rem solid var(--tertiary);
}

/*===========================================================
common01
===========================================================*/

.common01-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 15rem 0 0;
}

.common01-block {
    margin: 7rem auto 0 0;
    padding: 0 3rem 0 0;
    max-width: 156.5rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.common01-block:first-child {
    margin: 0 auto 0 0;
}

.common01-block:nth-of-type(even) {
    margin: 7rem 0 0 auto;
    padding: 0 0 0 3rem;
    flex-direction: row-reverse;
}

.common01-img-container {
    max-width: 82rem;
    width: 52.9%;
    padding: 0 2rem 2rem 0;
}

.common01-block:nth-of-type(even) .common01-img-container {
    padding: 0 0 2rem 2rem;
}

.common01-img-box {
    width: 100%;
    border-radius: 0 2rem 2rem 0;
    overflow: hidden;
    box-shadow: 2rem 2rem 0 0 var(--primary), 0rem 2rem 0 0 var(--primary);
}

.common01-block:nth-of-type(even) .common01-img-box {
    border-radius: 2rem 0 0 2rem;
    box-shadow: -2rem 2rem 0 0 var(--tertiary), 0rem 2rem 0 0 var(--tertiary);
}

.common01-text-container {
    max-width: 59rem;
    width: 45%;
}

.common01-text-area {
    margin: 6rem 0 0;
}

.common01-point-text {
    padding: 0 2.5rem;
    display: inline;
    font-size: 5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--white);
    border-radius: 100vmax;
}

.common01-point-text-junior {
    padding: 0 1.5rem 0 3rem;
}

.common-title-border01 {
    display: inline-block;
    background-image: repeating-linear-gradient(90deg, var(--primary), var(--primary) 0.7rem, transparent 0.7rem, transparent 1.5rem);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 0.3rem;
}

.common-title-border02 {
    display: inline-block;
    background-image: repeating-linear-gradient(90deg, var(--tertiary), var(--tertiary) 0.7rem, transparent 0.7rem, transparent 1.5rem);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 0.3rem;
}

.common01-text-box {
    margin: 4rem 0 0;
}

.common01-text-box:first-child {
    margin: 0;
}

/*===========================================================
common02
===========================================================*/

.common02-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 15rem 1.5rem 13rem;
}

.common02-main-title-box {
    margin: 0 auto;
    max-width: 80rem;
    width: 100%;
    position: relative;
}

.common02-illust-box01 {
    max-width: 5.6rem;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.common02-container {
    max-width: 132rem;
    width: 100%;
    margin: 7rem auto 0;
}

.common02-area01 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
}

.common02-block01 {
    padding: 0 1rem 1rem 0;
}

.common02-item01 {
    padding: 6rem 1.5rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    text-align: center;
    background: var(--secondary);
    border-radius: 2rem;
}

.common02-item-bg01 {
    box-shadow: 1rem 1rem 0 0 var(--primary);
}

.common02-item-bg02 {
    box-shadow: 1rem 1rem 0 0 var(--tertiary);
}

.common02-title01 strong {
    font-weight: 800;
    color: var(--primary);
}

.common02-deco01 {
    margin: 2rem 0 0;
    max-width: 1.4rem;
    width: 100%;
}

.common02-arrow-box {
    max-width: 118rem;
    width: 100%;
    margin: 5rem auto 0;
}

.common02-title-area {
    display: flex;
    flex-direction: column;
    margin: 4rem auto 0;
    max-width: 70rem;
    width: 100%;
}

.common02-title-box {
    margin: 0 auto;
    display: inline-flex;
}

.common02-title02 {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.common02-title02 strong {
    line-height: 1.74em;
    color: var(--primary);
    margin: 0 1rem 0 0;
}

.common02-text-box {
    text-align: center;
    margin: 4rem 0 0;
}

.common02-contact-frame {
    max-width: 134rem;
    width: 100%;
    margin: 5rem auto 0;
    padding: 0 2rem 2rem 0;
}

.common02-contact-container {
    padding: 7rem 1.5rem;
    max-width: 132rem;
    width: 100%;
    border-radius: 2rem;
    box-shadow: 2rem 2rem 0 0 var(--tertiary);
    position: relative;
}

.common02-contact-illust {
    max-width: 12.5rem;
    width: 20%;
    position: absolute;
    bottom: 10%;
    right: -3rem;
    margin: auto;
}

.common02-contact-area {
    max-width: 97rem;
    width: 100%;
    margin: 0 auto;
}

.common02-contact-title-wrapper {
    display: flex;
    align-items: center;
}

.common02-contact-title-area {
    display: flex;
    align-items: flex-end;
}

.common02-contact-title-box01 {
    margin: 0 1.5rem 0 0;
    max-width: 35.2rem;
    width: 100%;
    position: relative;
}

.common02-contact-title-box01 .in-title02 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    color: var(--primary);
}

.common02-contact-title-bg01 {
    width: 100%;
}

.common02-contact-title-bg01 img {
    width: 100%;
}

.common02-contact-title-box02 {
    margin: 0 2rem 0 0;
    max-width: 18.3rem;
    width: 100%;
    position: relative;
}

.common02-contact-title-bg02 {
    width: 100%;
}

.common02-contact-title-bg02 img {
    width: 100%;
}

.common02-contact-title-box02 .in-title02 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    color: var(--primary);
}

.common-contact-title01 {
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--white);
}

.common-contact-title01 strong {
    font-size: 5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.common02-contact-btn-area {
    margin: 5rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4rem 7rem;
}

.common02-contact-btn {
    padding: 2rem 1.5rem;
    max-width: 45rem;
    width: 100%;
    height: 10.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 5.2rem;
    background: var(--bg-tertiary);
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, 0.16);
    position: relative;
    transition: all .3s;
}

.common02-contact-btn:hover {
    filter: brightness(1.1);
}

.common02-contact-btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.8rem;
    display: block;
    width: 100%;
    max-width: 1rem;
    margin: auto 0;
    aspect-ratio: 5 / 8;
    background: url(../../../../uploads/btn_arrow_white.svg) no-repeat center / contain;
}

.common02-contact-tel-set {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.3rem;
}

.common02-contact-icon-box {
    max-width: 3rem;
    width: 100%;
}

.common02-contact-text01 {
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1em;
    color: var(--white);
}

.common02-contact-text02 {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--white);
}

.common02-contact-btn-area .btn01 {
    max-width: 45rem;
    height: 10.4rem;
}

/*===========================================================
common03
===========================================================*/

.common03-wrapper {
    max-width: 192rem;
    width: 100%;
    height: 29.5rem;
    position: relative;
}

.common03-img-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.common03-img-box img {
    object-fit: cover;
    height: 100% !important;
    width: 100%;
    object-position: center;
}

.common03-title-area {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

/*===========================================================
common04
===========================================================*/

.common04-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 13rem 1.5rem;
}

.common04-main-title-area {
    max-width: 132rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.common04-frame {
    margin: 5rem 0 0;
}

.common04-container {
    width: 132rem;
    margin: 0 auto;
}

.common04-row01 {
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    border-radius: 0.8rem;
}

.common04-th01 {
    width: 10%;
    text-align: center;
    border-right: 0.2rem solid var(--white);
}

.common04-th02 {
    width: 18%;
    text-align: center;
    border-right: 0.2rem solid var(--white);
}

.common04-row02 {
    margin: 1rem 0 0;
    display: flex;
    justify-content: space-between;
}

.common04-th03 {
    width: 9%;
    border-radius: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.5rem;
}

.common04-td-row-set01 {
    width: 90%;
    display: grid;
    gap: 1rem;
}

.common04-td-row01 {
    padding: 1.5rem 0;
    width: 100%;
    display: flex;
    border-radius: 0.8rem;
}

.common04-td01 {
    text-align: center;
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.common04-point-td01 {
    width: 31%;
}

.common04-text-area {
    width: 100%;
    max-width: 132rem;
    margin: 2rem auto 0;
}

.common04-text-box {
    display: flex;
}

/*===========================================================
common05
===========================================================*/

.common05-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 9rem 1.5rem 12rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.common05-container {
    margin: 8rem auto 0;
    max-width: 118rem;
    width: 100%;
}

.common05-box {
    padding: 4rem 0 3rem;
    border-bottom: 0.1rem solid #565656;
}

.common05-box:first-child {
    padding: 0 0 3rem;
}

.coomon05-item {
    display: flex;
    margin: 1rem 0 0;
}

.coomon05-item:first-child {
    margin: 0;
}

.common05-q-box {
    margin: 0 1rem 0 0;
    width: 3.4rem;
    height: 3.4rem;
    font-size: 2rem;
    font-weight: 600;
    font-family: var(--font-family01);
    text-align: center;
    color: var(--white);
    background: var(--primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.common05-a-box {
    margin: 0 1rem 0 0;
    width: 3.4rem;
    height: 3.4rem;
    font-size: 2rem;
    font-weight: 600;
    font-family: var(--font-family01);
    text-align: center;
    border-radius: 50%;
    border: 0.1rem solid;
    display: flex;
    align-items: center;
    justify-content: center;
}

.common05-text-box {
    flex: 1;
}

/*===========================================================
common06
===========================================================*/

.common06-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 9rem 3rem 13rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.common06-wrapper::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../../../../uploads/bg_grid_green.svg) center top;
    background-repeat: repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: -1;
}

.common06-container {
    margin: 8rem auto 0;
    max-width: 118rem;
    width: 100%;
}

.common06-area01 {
    margin: 0 auto;
    max-width: 109rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem 8rem;
}

.common06-block01 {
    padding: 0 1.7rem 0 0;
    max-width: 23.6rem;
    width: 100%;
    position: relative;
}

.common06-item01 {
    max-width: 17rem;
    width: 100%;
}

.common06-flow-text01 {
    font-size: 2.3rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.73913;
}

.common06-deco01 {
    max-width: 1.7rem;
    width: 100%;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

.common06-block01:last-child .common06-deco01 {
    display: none;
}

.common06-block01:last-child {
    max-width: 19rem;
}

.common06-area02 {
    margin: 7rem 0 0;
    width: 100%;
}

.common06-block02 {
    margin: 2rem 0 0;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 2rem 4rem;
}

.common06-illust01 {
    max-width: 16.1rem;
    width: 17%;
}

.common06-row {
    display: flex;
    align-items: center;
    flex: 1;
}

.common06-block02:first-child {
    margin: 0;
}

.common06-number-box {
    margin: 0 3rem 0 0;
}

.common06-text-box02 {
    flex: 1;
}

/*===========================================================
中学生コース
===========================================================*/

.junior-text01 strong {
    color: var(--primary);
}

.junior-illust-box01 {
    max-width: 11.6rem;
    width: 20%;
    margin: 6rem auto 0;
}

.junior-arrow-box {
    margin: 0 auto;
}

/* 強み */


.topStrBanner {
    position: relative;
    width: 100%;
    height: 29.5rem;
    background: url(../../../../uploads/top_str_bg.jpg) no-repeat center /cover;
}

.juniorStrBanner {
    background: url(../../../../uploads/junior_str_bg.jpg) no-repeat center /cover;
}

.topStrBanner::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--primary);
    opacity: .35;
}

.topStrBannerTextBox {
    position: relative;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.8rem;
    height: 100%;
    width: 100%;
    max-width: max-content;
    margin: auto;
}

.topStrBannerTextBox::before,
.topStrBannerTextBox::after {
    content: "";
    display: block;
    width: 6rem;
    aspect-ratio: 60/57;
    top: 0;
    bottom: 0;
    margin: auto;
}

.topStrBannerTextBox::before {
    background: url(../../../../uploads/str_deco_left.svg) no-repeat center /contain;
}

.topStrBannerTextBox::after {
    order: 2;
    background: url(../../../../uploads/str_deco_right.svg) no-repeat center /contain;
}

.topStrBannerTextBoxIn {
    color: var(--white);
}

.topStrBannerTextBoxIn .topStrBannerText01,
.topStrBannerTextBoxIn .topStrBannerText02 {
    text-shadow: 0 .3rem .4rem rgba(0, 0, 0, 0.35);
}

.topStrBannerText01 {
    font-size: 3.5rem;
    line-height: 1.45;
}

.topStrBannerText02 {
    font-size: 3.5rem;
    line-height: 1.45;
    letter-spacing: 0.15em;
    text-align: center;
}

.topStrBannerTextSpan01 {
    font-size: 7.2rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
}

.topStrBannerTextSpan02 {
    font-size: 5rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
}

.topStr {
    padding: 7rem 0 20rem;
    background: var(--primary);
}

.topStrArea {
    max-width: 121rem;
    padding: 0 2rem;
}

.topStrFlex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.topStrFlex:nth-of-type(n + 2) {
    margin: 8rem 0 0;
}

.topStrFlex:nth-of-type(2n) {
    flex-direction: row-reverse;
}

.topStrImgBox {
    width: 48%;
    max-width: 50rem;
    margin: 0 2rem 0 0;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 2rem 2rem 0 var(--tertiary);
}

.topStrTextBox {
    width: 50%;
    max-width: 59rem;
}

.topStrTextBox p {
    color: var(--white);
}

.topStrText01 {
    font-size: 2.5rem;
    line-height: 1.45;
    text-wrap: nowrap;
}

.topStrText01 span {
    font-size: 4rem;
    line-height: 1.45;
}

.topStrText02 {
    margin: 1.5rem 0 0;
    font-size: 3rem;
    line-height: 2.22;
    text-wrap: nowrap;
}

.topStrText02 span {
    font-size: 3.5rem;
    padding: 0 1.2rem .5rem;
    color: #00A792;
    border: .3rem solid #00A792;
    border-radius: 1rem;
    line-height: 1.45;
    background: var(--secondary);
}

.topStrText02 .none {
    display: none;
}

.topStrText03 {
    margin: 4rem 0 0;
}

.topStrText03 span {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.45;
    text-decoration: underline;
    text-decoration-color: var(--tertiary);
    text-underline-offset: .5rem;
    text-decoration-thickness: .3rem
}

/* 強み */

.junior01 {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 12rem 1.5rem 0;
}

.junior01-main-title-area {
    text-align: center;
}

.junior01-main-title-box02 {
    margin: 2rem 0 0;
}

.junior01-title01 {
    color: var(--primary);
}

.junior01-title02 strong {
    padding: 0 1rem 0.5rem;
    color: var(--white);
    background: var(--primary);
    border-radius: 15px;
}

.junior01-container {
    margin: 5rem auto 0;
    max-width: 132rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

.junior01-block {
    display: block;
    width: 100%;
    padding: 2rem 3rem 4rem;
    position: relative;
    border-radius: 2rem;
    overflow: hidden;
}

.junior01-block::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../../../../uploads/bg_grid_green.svg) no-repeat center /400%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.junior01-title-box {
    text-align: center;
}

.junior01-illust-box {
    margin: 3rem auto 0;
    max-width: 13.3rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.junior01-title-box {
    text-align: center;
}

.junior01-text-box {
    margin: 3rem 0 0;
}

/*===========================================================
小学生コース
===========================================================*/

.elementary01-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 15rem 1.5rem;
}

.elementary01-container {
    max-width: 125rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.elementary01-img-area {
    max-width: 55.4rem;
    width: 44.3%;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
}

.elementary01-img-item {
    max-width: 39rem;
    width: 70.5%;
    padding: 0 2.8rem 2.8rem 0;
}

.elementary01-img-box01 {
    max-width: 36.2rem;
    width: 100%;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 2.8rem 2.8rem 0 0 var(--tertiary);
}

.elementary01-img-box02 {
    margin: 0 -12.2rem -16rem 0;
    max-width: 28.4rem;
    width: 51.3%;
    border-radius: 2rem;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.elementary01-text-container {
    max-width: 59rem;
    width: 53%;
}

.elementary02-area02 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 5rem;
}

.elementary02-illust-box {
    top: -50%;
}

.elementary02-title01 strong {
    color: var(--tertiary);
}

.elementary02-illust-box01 {
    margin: 5rem auto 0;
    max-width: 20.3rem;
    width: 40%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementary02-text-box01 {
    margin: 5rem 0 0;
}

.elementary02-text01 strong {
    color: var(--primary);
}

.elementaryBanner {
    background: url(../../../../uploads/elementary03.jpg) no-repeat center / cover;
}

.elementaryBanner::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--tertiary);
    opacity: .35;
}

.elementary-bg {
    background: #FFAC88 !important;
}

.elementaryImgBox {
    box-shadow: 2rem 2rem 0 var(--primary);
}

.elementaryText02 span {
    color: #FF9668;
    border-color: #FF9668;
}

.elementaryText03 span {
    text-decoration-color: var(--primary);
}

/*===========================================================
朝勉のみます会
===========================================================*/

.morningStudyBanner {
    background: url(../../../../uploads/morning_str_bg.jpg) no-repeat center / cover;
}

.morning-study01-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 12rem auto 0;
    padding: 12rem 1.5rem 13rem;
    position: relative;
}

.morning-study01-illust-box01 {
    max-width: 55rem;
    width: 28.7%;
    position: absolute;
    top: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}

.morning-study01-illust-box02 {
    max-width: 55rem;
    width: 28.7%;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 0;
}

.morning-study01-container {
    max-width: 90rem;
    width: 100%;
    margin: 0 auto;
}

.morning-study01-title-area {
    display: flex;
    align-items: center;
    justify-content: center;
}

.morning-study01-text-box {
    margin: 4rem 0 0;
}

.morning-study01-text01 {
    text-align: center;
}

.morning-study01-text01 strong {
    color: var(--primary);
}

.morning-study02-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 8rem 1.5rem 12rem;
}

.morning-study02-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 8rem 1.5rem 12rem;
}

.morning-study02-container {
    max-width: 118rem;
    width: 100%;
    margin: 0 auto;
}

.morning-study02-area01 {
    padding: 2rem 1.5rem 5rem;
    border-radius: 2rem;
}

.morning-study02-block01 {
    max-width: 99rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.morning-study02-illust-area01 {
    max-width: 27rem;
    width: 27.3%;
}

.morning-study02-illust-box01 {
    width: 100%;
}

.morning-study02-text-area01 {
    max-width: 61rem;
    width: 70%;
}

.morning-study02-title01 {
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.morning-study02-title01 strong {
    font-size: 3.5rem;
    font-weight: 600;
}

.morning-study02-title01-primary {
    color: var(--primary);
}

.morning-study02-title01-primary strong {
    color: var(--white);
    background: var(--primary);
    border-radius: 1.5rem;
    padding: 0 0.5rem 0.5rem;
    margin: 0 1rem;
}

.morning-study02-title-box-primary {
    padding: 0 0 2rem;
    background-image: repeating-linear-gradient(90deg, var(--primary), var(--primary) 0.7rem, transparent 0.7rem, transparent 1.5rem);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 0.3rem;
}

.morning-study02-text-box01 {
    margin: 3rem 0 0;
}

.morning-study02-text01-primary strong {
    color: var(--primary);
}

.morning-study02-area02 {
    margin: 4rem 0 0;
    display: flex;
    align-items: stretch;
    gap: 4rem;
}

.morning-study02-block02 {
    padding: 1.5rem 6rem 5rem;
    border-radius: 2rem;
}

.morning-study02-illust-box02 {
    margin: 0 auto;
    max-width: 20rem;
    width: 100%;
}

.morning-study02-text-area02 {
    margin: 2rem 0 0;
}

.morning-study02-title-box02 {
    text-align: center;
}

.morning-study02-title-box-tertiary {
    padding: 0 0 2rem;
    text-align: center;
    background-image: repeating-linear-gradient(90deg, var(--tertiary), var(--tertiary) 0.7rem, transparent 0.7rem, transparent 1.5rem);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 0.3rem;
}

.morning-study02-title01-tertiary {
    color: var(--tertiary);
}

.morning-study02-title01-tertiary strong {
    color: var(--white);
    background: var(--tertiary);
    border-radius: 1.5rem;
    padding: 0 0.5rem 0.5rem;
    margin: 0 1rem;
}

.morning-study02-text01-tertiary strong {
    color: var(--tertiary);
}

.morning-study03-wrapper {
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 13rem 1.5rem 16rem;
}

.morning-study03-container {
    max-width: 118rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 5rem;
}

.morning-study03-block {
    max-width: 50rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.morning-study03-main-title-area {
    max-width: 39.8rem;
    width: 100%;
    position: relative;
}

.morning-study03-deco01 {
    width: 100%;
}

.morning-study03-main-title-area .in-title01 {
    position: absolute;
    top: 1.4rem;
    right: 0;
    left: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.morning-study03-area {
    margin: 4rem 0 0;
}

.morning-study03-item {
    margin: 5rem 0 0;
    padding: 3rem;
    border-radius: 2rem;
    background-image: radial-gradient(circle, #ffffff29 1.5px, transparent 1.5px);
    background-position: 0 0;
    background-size: 10.8px 10.8px;
    box-shadow: 0 0.3rem 0.6rem rgb(0 0 0 / 16%);
}

.morning-study03-item:first-child {
    margin: 0;
}

.morning-study03-illust-box {
    max-width: 10rem;
    width: 100%;
    margin: 0 auto;
}

.morning-study03-text-box {
    margin: 2rem 0 0;
    padding: 0 0 2.5rem;
}

.morning-study03-point-text-box {
    padding: 2.5rem 0 0;
    text-align: right;
    border-top: 0.3rem solid var(--white);
}

.morningAbout {
    padding: 9.5rem 0;
}

.morningAboutArea {
    max-width: 121rem;
}

.morningAboutTit {
    background: url(../../../../uploads/top_difficult_title_bg_sp.svg)no-repeat center /contain;
    aspect-ratio: 7/2;
    padding: 0 7rem;
}

.morningAboutTit br {
    display: block;
}

.morningAboutTit {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 708/127;
    max-width: max-content;
    margin: 0 auto;
    padding: 0 6.6rem;
    color: var(--white);
    text-align: center;
    background: url(../../../../uploads/top_difficult_title_bg.svg)no-repeat center /contain;
}

.morningAboutTit br {
    display: none;
}

.morningAboutBox {
    position: relative;
    width: 100%;
    margin: -5rem 0 0;
    padding: 9rem 3rem 6rem;
    border-radius: 2rem;
    background: var(--white) url(../../../../uploads/bg_grid_green.svg)no-repeat center /cover;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, 0.16);
}

.morningAboutIn {
    width: 100%;
    max-width: max-content;
    margin: 0 auto;
}

.morningAboutText {
    font-size: 1.8rem;
    line-height: 2.22;
    text-align: center;
}

.morningAboutText span {
    color: var(--primary);
    line-height: 1.6;
    font-weight: 800;
    font-size: 2.5rem;
}

/*===========================================================
教室案内
===========================================================*/

.guideRead {
    padding: 15rem 0;
}

.guideReadArea {
    max-width: 121rem;
}

.guideReadFlex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.guideReadFlex:nth-of-type(2n) {
    flex-direction: row-reverse;
}

.guideReadFlex:nth-of-type(n + 2) {
    margin: 9rem 0 0;
}

.guideReadTextBox {
    width: 50%;
    max-width: 59rem;
}

.guideReadTit02 {
    margin: 5rem 0 0;
    letter-spacing: 0.05em;
    line-height: 1.45;
}

.guideReadTit02 span {
    padding: 0 1.2rem .5rem;
    color: var(--white);
    border-radius: 1.5rem;
}

.guideReadTit02 .guideReadTitOrangeBg {
    background: var(--tertiary);
}

.guideReadTit02 .guideReadTitGreenBg {
    background: var(--primary);
}

.guideReadTxt01 {
    margin: 6rem 0 0;
}

.guideReadImg {
    width: 45%;
    max-width: 43.5rem;
    margin: 0 3.3rem 0 0;
    border-radius: 2rem;
    overflow: hidden;
}

.guideReadFlex .guideReadImg {
    box-shadow: 3.3rem 3.3rem 0 var(--primary);
}

.guideReadFlex:nth-of-type(2n) .guideReadImg {
    box-shadow: 3.3rem 3.3rem 0 var(--tertiary);
}

.guideGreeting {
    padding: 9rem 0 12rem;
    background: var(--secondary);
}

.guideGreetingArea {
    max-width: 121rem;
}

.guideGreetingTit {
    width: 100%;
    max-width: max-content;
    margin: 0 auto;
    color: var(--primary);
}

.guideGreetingFlex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    margin: 8.5rem 0 0;
}

.guideGreetingImg {
    width: 47%;
    max-width: 50rem;
    margin: 0 2rem 2rem 0;
    box-shadow: 2rem 2rem 0 var(--tertiary);
    border-radius: 2rem;
    overflow: hidden;
}

.guideGreetingTextBox {
    width: 50%;
    max-width: 59rem;
}

.guideGreetingTxt01 {
    font-size: 2.3rem;
    line-height: 1.45;
}

.guideGreetingTxt02 {
    font-family: var(--base-font-family);
    font-weight: 600;
    margin: 1rem 0 0;
    line-height: 1.45;
}

.guideGreetingTxt02 span {
    margin: 0 3rem 0 0;
}

.guideGreetingTxt03 {
    margin: 4rem 0 0;
}

.guideGreetingTxt04 {
    margin: 3rem 0 0;
}

.guideGreetingGrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem;
    margin: 7rem 0 0;
    justify-items: center;
}

.guideGreetingItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 4.5rem 3.5rem 7rem;
    border-radius: 2rem;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, 0.16);
    background: var(--white);
}

.guideGreetingItemTit {
    position: relative;
}

.guideGreetingItemTit::before {
    content: "";
    position: absolute;
    left: calc(100% + 3rem);
    top: 0;
    bottom: 0;
    width: 3.8rem;
    aspect-ratio: 1/1;
    margin: auto 0;
    background: url(../../../../uploads/school_guide_deco01.svg)no-repeat center /contain;
}

.guideGreetingItemTxt01 {
    width: 100%;
    margin: 3rem 0 0;
    font-size: 2.3rem;
    line-height: 1.45;
    text-align: center;
}

.guideGreetingItemTxt02 {
    margin: 4rem 0 0;
}

.guideTeacher {
    padding: 10rem 0 12rem;
}

.guideTeacherArea {
    max-width: 121rem;
}

.guideAccess {
    padding: 8rem 0 14rem;
    background: var(--quaternary);
}

.guideAccessArea {
    max-width: 100rem;
}

.guideAccessTit {
    color: var(--primary);
    width: 100%;
    max-width: max-content;
    margin: 0 auto;
}

.guideAccessBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 9rem 0 0;
    gap: 2rem;
}

.guideAccessTextBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 47%;
    max-width: 43rem;
}

.guideAccessLogo {
    width: 80%;
    max-width: 18.8rem;
}

.guideAccessText01 {
    margin: 4rem 0 0;
    text-align: center;
}

.guideAccessBtn {
    width: 100%;
    max-width: 26rem;
    height: 5.4rem;
    margin: 2rem 0 0;
}

.guideAccessBtn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100vmax;
    width: 100%;
    height: 100%;
    background: var(--primary);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.45;
    color: var(--white);
    transition: all .3s;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, 0.16)
}

.guideAccessBtn a:hover {
    filter: brightness(1.1);
}

.guideAccessBtn a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3rem;
    width: 2.2rem;
    height: 3rem;
    margin: auto 0;
    background: url(../../../../uploads/map_icon_white.svg) no-repeat center /contain;
}

.guideAccessBtn a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.8rem;
    display: block;
    width: 100%;
    max-width: 1rem;
    margin: auto 0;
    aspect-ratio: 5/8;
    background: url(../../../../uploads/btn_arrow_white.svg) no-repeat center /contain;
}

.guideAccessNumBox {
    width: 100%;
    max-width: max-content;
    margin: 3.5rem auto 0;
}

.guideAccessNumFlex {
    display: flex;
}

.guideAccessNumFlex p:last-of-type {
    flex: 1;
    max-width: max-content;
}

.guideAccessImgBox {
    width: 50%;
    max-width: 50rem;
    margin: 0 2rem 0 0;
    overflow: hidden;
    border-radius: 2rem;
    box-shadow: 2rem 2rem 0 var(--primary);
}

.guideForm {
    padding: 12rem 0;
}

.guideFormArea {
    max-width: 121rem;
}

.guideFormTit {
    width: 100%;
    max-width: max-content;
    margin: 0 auto;
    color: var(--primary);
    text-align: center;
}

.guideFormTit br {
    display: none;
}

.guideFormTxt {
    width: 100%;
    max-width: max-content;
    margin: 6rem auto 0;
    text-align: center;
}

.guideFormBox {
    margin: 5rem 0 0
}

.formTable input {
    width: 100%;
}

.formTable input::placeholder {
    color: #ccc;
}

.formTable .smf-item__label__text {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    padding: .7rem 0;
    gap: 2rem;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
}

.formTable .validate-text01,
.formTable .validate-text02 {
    padding: 0.1rem 1.4rem;
    font-size: 1.6rem;
    color: var(--white);
    letter-spacing: 0.05em;
    line-height: 1.45;
    border-radius: .3rem;
}

.formTable .validate-text01 {
    background: #FF6868;
}

.formTable .validate-text02 {
    background: #565656;
}

.formTable .smf-item__label__text br {
    display: none;
}

.formTable .smf-item__label__text .brBlock {
    display: block;
}

.formTable .zip1-box {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.formTable.smf-form--business .smf-item {
    border: none;
    border-bottom: 1px solid #565656;
}

.formTable.smf-form--business .smf-item__col--label {
    border: none;
    background: none;
    display: flex;
    align-items: center;
    flex: 1 0 28rem;
    max-width: 28rem;
    padding-right: 0;
    padding-left: 0;
}

.formTable.smf-form--business .smf-item__col--controls {
    flex: 1 1 calc(100% - 28rem);
    max-width: calc(100% - 26rem);
    padding: 2.5rem 0;
}

.privacyCheck {
    width: 100%;
    max-width: max-content;
    margin: 4rem auto 0;
}

#privacy {
    display: block;
    width: 100%;
    max-width: max-content;
    margin: 0 auto;
    text-decoration: underline;
    font-size: 1.8rem;
    line-height: 1.45;
}

#privacy:hover {
    text-decoration: none;
}

.guideForm .smf-action {
    margin: 7rem auto 0 !important;
    width: 100% !important;
    max-width: max-content !important;
}

.guideForm .smf-action .smf-button-control__control {
    width: 26rem;
    height: 5.4rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100vmax;
    background: var(--tertiary);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.45;
    color: var(--white);
    border: none;
    transition: all .3s;
    box-shadow: 0 .3rem .6rem rgba(0, 0, 0, 0.16);
}

.guideForm .smf-action .smf-button-control__control:hover {
    filter: brightness(1.1);
    border: none;
}

.guideForm .smf-action .smf-button-control__control::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.8rem;
    display: block;
    width: 100%;
    max-width: 1rem;
    margin: auto 0;
    aspect-ratio: 5/8;
    background: url(../../../../uploads/btn_arrow_white.svg) no-repeat center /contain;
}


/*===========================================================
ポリシー
===========================================================*/


.hide-area {
    display: none;
}

.priTit01 {
    text-align: center;
    font-size: 2rem;
}

.priTit {
    display: flex;
    margin: 4rem 0 0;
    border-left: 1rem solid var(--primary);
}

.priTit p {
    font-size: 2.4rem;
    line-height: 1.5em;
    padding: 0 0 0 2rem;
}

.priBx p:last-of-type {
    flex: 1;
}

.priFl {
    display: flex;
}

.priFl p {
    display: inline;
}

.priBx a{
    text-decoration: underline;
}

.priBx a:hover{
    text-decoration: none;
}

.inBtm a {
    text-decoration: underline;
}

.inBtm a:hover {
    text-decoration: none;
}

.smf-system-error-content {
    text-align: center;
    color: red;
}



/*===========================================================
ループスライダー
===========================================================*/

.swiper-wrapper {
    transition-timing-function: linear;
}

.morning-study04-slider-area .swiper-wrapper {
    display: flex;
    align-items: center;
}

.morning-study04-slider-area .swiper-loop-slide {
    border-radius: 2rem;
    overflow: hidden;
}

.morning-study04-slider-area .swiper-loop-slide:nth-of-type(even) {
    max-width: 35rem;
}

/*===========================================================
スクロールヒント
===========================================================*/

@keyframes scroll-hint-appear {
    0% {
        transform: translateX(40px);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    50%,
    100% {
        transform: translateX(-40px);
        opacity: 0;
    }
}

.scroll-hint-icon {
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 60px);
    box-sizing: border-box;
    width: 120px;
    height: auto;
    border-radius: 5px;
    transition: opacity .3s;
    opacity: 0;
    background: rgba(0, 0, 0, .7);
    text-align: center;
    padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none;
}

.scroll-hint-text {
    font-size: 10px;
    color: #FFF;
    margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: .8;
}

.scroll-hint-icon:before {
    display: inline-block;
    width: 40px;
    height: 40px;
    color: #FFF;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
    content: "";
    width: 34px;
    height: 14px;
    display: block;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -20px;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
    opacity: 0;
    transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    animation: scroll-hint-appear 1.2s linear;
    animation-iteration-count: 2;
}

.scroll-hint-icon-white {
    background-color: #FFF;
    box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
    color: #000;
}



.scroll-hint-shadow-wrap {
    position: relative;
}

.scroll-hint-shadow-wrap::after {
    content: "";
    width: 20px;
    height: 100%;
    background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
}

.scroll-hint-shadow-wrap::before {
    content: "";
    width: 20px;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after {
    opacity: 1;
    visibility: visible;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before {
    opacity: 1;
    visibility: visible;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <=1920px) {


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

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



}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <=1550px) {


    /*===========================================================
common06
===========================================================*/

    .common06-area01 {
        gap: 4rem;
    }

}



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <=1024px) {

    /*===========================================================
共通
===========================================================*/

    .in-title01 {
        font-size: 2.5rem;
    }

    .in-title01 strong {
        font-size: 3.5rem;
    }

    .in-title02 {
        font-size: 3rem;
    }

    .in-title03 {
        font-size: 2rem;
    }

    /*===========================================================
common01
===========================================================*/

    .common01-point-text {
        font-size: 3.5rem;
    }

    /*===========================================================
common02
===========================================================*/

    .common02-contact-illust {
        top: 2%;
        bottom: auto;
    }

    /*===========================================================
小学生
===========================================================*/
    .elementaryText02 br {
        display: block !important;
    }

    /*===========================================================
朝勉のみます会
===========================================================*/

    .morning-study02-block02 {
        padding: 1.5rem 3rem 5rem;
    }

    .morning-study03-main-title-area .in-title01 {
        top: 2.4rem;
    }

}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <=768px) {


    /*===========================================================
カバー
===========================================================*/

    .in-cover-title {
        font-size: 4.5rem;
    }

    .in-cover-link-box {
        display: none;
    }

    /*===========================================================
common01
===========================================================*/

    .common01-wrapper {
        padding: 8rem 0 0;
    }

    .common01-block {
        margin: 4rem auto 0;
        padding: 0 1.5rem;
        flex-direction: column;
    }

    .common01-block:nth-of-type(even) {
        margin: 4rem 0 0;
        padding: 0 1.5rem;
        flex-direction: column;
    }

    .common01-text-container {
        margin: 4rem 0 0;
        width: 100%;
    }

    .common01-img-container {
        width: 100%;
    }

    .common01-img-box {
        box-shadow: 2rem 2rem 0 0 var(--primary);
        border-radius: 2rem;
    }

    .common01-block:nth-of-type(even) .common01-img-box {
        border-radius: 2rem;
    }

    .common01-block:nth-of-type(even) .common01-img-box {
        box-shadow: -2rem 2rem 0 0 var(--tertiary);
    }

    /*===========================================================
common02
===========================================================*/

    .common02-wrapper {
        padding: 8rem 1.5rem;
    }

    .common02-main-title-box {
        max-width: 60rem;
    }

    .common02-area01 {
        grid-template-columns: repeat(2, 1fr);
    }

    .common02-illust-box01 {
        width: 8%;
    }

    .common02-contact-title-wrapper {
        flex-direction: column;
        align-items: center;
    }

    .common02-contact-title-area {
        align-items: center;
        justify-content: space-between;
    }

    .common02-contact-title-box01 {
        width: 60%;
    }

    .common02-contact-title-box02 {
        margin: 0;
        width: 38%;
    }

    .common02-contact-btn-area {
        flex-direction: column;
        width: 100%;
    }

    .common-contact-title01 {
        font-size: 2rem;
        text-align: center;
    }

    .common-contact-title01 strong {
        font-size: 3rem;
    }

    /*===========================================================
common04
===========================================================*/

    .common04-container {
        width: 120rem;
        overflow-x: auto !important;
        white-space: nowrap;
    }

    /*===========================================================
common05
===========================================================*/

    .common05-wrapper {
        padding: 8rem 3rem;
    }

    .common05-container {
        margin: 6rem auto 0;
    }

    /*===========================================================
common06
===========================================================*/

    .common06-wrapper {
        padding: 8rem 2rem;
    }

    .common06-container {
        margin: 6rem auto 0;
    }

    .common06-area01 {
        max-width: 50rem;
        grid-template-columns: repeat(2, 1fr);
        place-items: center;
        gap: 2rem;
    }

    .common06-block01:last-child {
        max-width: 23.6rem;
    }

    .common06-flow-text01 {
        font-size: 1.6rem;
    }

    /*===========================================================
中学生コース
===========================================================*/

    /* 強み */

    .topStrBanner {
        height: 16rem;
    }

    .topStrBannerTextBox {
        gap: 1.5rem;
    }

    .topStrBannerTextBox::before,
    .topStrBannerTextBox::after {
        width: 4rem;
    }

    .topStrBannerText01 {
        font-size: 2.2rem;
    }

    .topStrBannerText02 {
        font-size: 2.2rem;
    }

    .topStrBannerTextSpan01 {
        font-size: 4.5rem;
    }

    .topStrBannerTextSpan02 {
        font-size: 3rem;
    }

    .topStr {
        padding: 4rem 0 19rem;
    }

    .topStrFlex,
    .topStrFlex:nth-of-type(2n) {
        flex-direction: column-reverse;
    }

    .topStrFlex:nth-of-type(n + 2) {
        margin: 5.5rem 0 0;
    }

    .topStrImgBox {
        width: 100%;
    }

    .topStrTextBox {
        width: 100%;
    }

    /* 強み */

    .topStrImgBox {
        width: 100%;
        max-width: 50rem;
        margin: 0 1.5rem 0 0;
        box-shadow: 1.5rem 1.5rem 0 var(--tertiary);
    }

    .topStrTextBox {
        width: 100%;
        max-width: 50rem;
    }

    .topStrText01 {
        font-size: 1.9rem;
    }

    .topStrText01 span {
        font-size: 3rem;
    }

    .topStrText02 {
        margin: .5rem 0 0;
        font-size: 2.2rem;
    }

    .topStrText02 span {
        font-size: 2.5rem;
    }

    .topStrText02 .none {
        display: block;
    }


    .topStrText03 {
        margin: 2rem 0 0;
    }

    .topStrText03 span {
        font-size: 1.6rem;
    }

    /* 強み */

    .junior01-container {
        grid-template-columns: repeat(1, 1fr);
    }

    /*===========================================================
小学生コース
===========================================================*/

    .elementary01-wrapper {
        padding: 8rem 1.5rem 0;
    }

    .elementary01-container {
        flex-direction: column-reverse;
        gap: 2rem;
    }

    .elementary01-img-area {
        width: 100%;
        padding: 0 0 15rem 0;
    }

    .elementary01-text-container {
        width: 100%;
        margin: 20rem 0 0;
    }

    .elementary02-area02 {
        grid-template-columns: repeat(1, 1fr);
    }

    /*===========================================================
朝勉のみます会
===========================================================*/

    .morning-study02-wrapper {
        padding: 8rem 1.5rem;
    }

    .morning-study01-text01 {
        text-align: left;
    }

    .morning-study01-text01 br {
        display: none;
    }

    .morning-study02-block01 {
        flex-direction: column;
        justify-content: center;
    }

    .morning-study02-illust-area01 {
        width: 100%;
    }

    .morning-study02-illust-box01 {
        margin: 0 auto;
        max-width: 20rem;
        width: 100%;
    }

    .morning-study02-text-area01 {
        margin: 4rem 0 0;
        max-width: 100%;
        width: 100%;
    }

    .morning-study02-title-box01 {
        text-align: center;
    }

    .morning-study02-area02 {
        flex-direction: column;
    }

    .morning-study02-block02 {
        padding: 1.5rem 1.5rem 5rem;
    }

    .morning-study02-title01 {
        font-size: 2.5rem;
    }

    .morning-study02-title01 strong {
        font-size: 3rem;
    }

    .morning-study03-wrapper {
        padding: 8rem 1.5rem;
    }

    .morning-study03-container {
        gap: 3rem;
    }

    .morning-study03-main-title-area .in-title01 {
        top: 1.7rem;
    }

    .morning-study03-area {
        margin: 3rem 0 0;
    }

    .morning-study03-item {
        margin: 3rem 0 0;
    }


    .morningAbout {
        padding: 6rem 0;
    }

    .morningAboutTit {
        background: url(../../../../uploads/top_difficult_title_bg_sp.svg)no-repeat center /contain;
        aspect-ratio: 7/2;
        padding: 0 4rem;
    }

    .morningAboutTit br {
        display: block;
    }

    .morningAboutBox {
        padding: 7rem 1.5rem 4rem;
    }

    .morningAboutFlex {
        justify-content: flex-start;
        width: 100%;
    }

    .morningAboutText {
        font-size: 1.6rem;
        text-align: start;
    }

    .morningAboutText br {
        display: none;
    }

    .morningAboutText span {
        font-size: 1.8rem;
    }

    /*===========================================================
教室案内
===========================================================*/

    .guideRead {
        padding: 7rem 0;
    }

    .guideReadFlex {
        flex-direction: column;
    }

    .guideReadFlex:nth-of-type(2n) {
        flex-direction: column;
    }

    .guideReadFlex:nth-of-type(n + 2) {
        margin: 7rem 0 0;
    }

    .guideReadTextBox {
        width: 100%;
    }

    .guideReadTit02 {
        margin: 3rem 0 0;
    }

    .guideReadTxt01 {
        margin: 3rem 0 0;
    }

    .guideReadImg {
        width: 100%;
        margin: 0 1.5rem 0 0;
    }

    .guideReadFlex .guideReadImg {
        box-shadow: 1.5rem 1.5rem 0 var(--bg-primary);
    }

    .guideReadFlex:nth-of-type(2n) .guideReadImg {
        box-shadow: 1.5rem 1.5rem 0 var(--bg-tertiary);
    }

    .guideGreeting {
        padding: 5rem 0 6rem;
    }

    .guideGreetingFlex {
        margin: 4rem 0 0;
        flex-direction: column;
        align-items: center;
    }

    .guideGreetingImg {
        width: 100%;
    }

    .guideGreetingTextBox {
        width: 100%;
        max-width: 50rem;
    }

    .guideGreetingTextBox {
        font-size: 1.7rem;
    }

    .guideGreetingTxt02 span {
        margin: 0 1.5rem 0 0;
    }

    .guideGreetingTxt03 {
        margin: 2rem 0 0;
    }

    .guideGreetingTxt04 {
        margin: 2rem 0 0;
    }

    .guideGreetingGrid {
        margin: 4rem 0 0;
        grid-template-columns: repeat(1, 1fr);
        gap: 3rem;
    }

    .guideGreetingItem {
        padding: 3rem 1.5rem 4rem;
    }

    .guideGreetingItemTxt01 {
        margin: 2rem 0 0;
        font-size: 1.7rem;
    }

    .guideGreetingItemTxt02 {
        margin: 3rem 0 0;
    }

    .guideTeacher {
        padding: 5rem 0 6rem;
    }

    .guideAccess {
        padding: 4rem 0 6rem;
    }

    .guideAccessBox {
        flex-direction: column-reverse;
        margin: 5rem 0 0;
        gap: 4rem;
    }

    .guideAccessTextBox {
        width: 100%;
    }

    .guideAccessText01 {
        margin: 2rem 0 0;
    }

    .guideAccessNumBox {
        margin: 2rem 0 0;
    }

    .guideAccessImgBox {
        width: 100%;
    }

    .guideForm {
        padding: 6rem 0;
    }

    .guideFormTxt {
        margin: 4rem auto 0;
    }

    .guideFormBox {
        margin: 3rem 0 0
    }

    .guideFormTit br {
        display: block;
    }

    .privacyCheck {
        margin: 3rem auto 0;
    }

    #privacy {
        font-size: 1.6rem;
    }

    .formTable .smf-action {
        margin: 4rem auto 0;
    }

    .formTable.smf-form--business .smf-item__col--controls {
        width: 100%;
        max-width: none;
        padding: 0 0 2.5rem 0;
    }


    /*===========================================================
ポリシー
===========================================================*/

    .priTit {
        display: flex;
        margin: 2rem 0 0;
    }

    .priBx p {
        font-size: 1.4rem;
    }

    .priTit p {
        font-size: 2rem;
    }


}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <=576px) {


    /*===========================================================
カバー
===========================================================*/

    .in-cover {
        height: 25rem;
    }

    .in-cover-title {
        font-size: 3.5rem;
    }

    /*===========================================================
共通
===========================================================*/

    .in-title01 {
        font-size: 2rem;
    }

    .in-title01 strong {
        font-size: 2.5rem;
    }

    .in-title02 {
        font-size: 2.2rem;
    }

    .in-text01 {
        font-size: 1.4rem;
    }

    .in-text01 strong {
        font-size: 1.8rem;
    }

    .in-text02 {
        font-size: 1.6rem;
    }

    .in-text02 strong {
        font-size: 1.8rem;
    }

    /*===========================================================
common01
===========================================================*/

    .common01-point-text {
        font-size: 2.5rem;
    }

    .common01-text-area {
        margin: 4rem 0 0;
    }

    .common01-text-box {
        margin: 2rem 0 0;
    }

    /*===========================================================
common02
===========================================================*/

    .common02-container {
        margin: 4rem 0 0;
    }

    .common02-area01 {
        gap: 1rem;
    }

    .common02-item01 {
        padding: 4rem 1rem 0;
    }

    .common02-area01 .in-title03 {
        font-size: 1.3rem;
    }

    .common02-deco01 {
        margin: 0.5rem 0 0;
    }

    .common02-contact-btn {
        height: 8.4rem;
    }

    .common02-contact-btn-area .btn01 {
        height: 8.4rem;
    }

    .common02-contact-icon-box {
        max-width: 2.2rem;
    }

    .common02-contact-text01 {
        font-size: 2rem;
    }



    /*===========================================================
common05
===========================================================*/

    .common05-wrapper {
        padding: 0 2rem;
    }

    /*===========================================================
common06
===========================================================*/

    .common06-area01 {
        width: 100%;
        margin: 0 auto;
    }

    .common06-block01 {
        padding: 0;
    }

    .common06-block01:last-child {
        padding: 0;
    }

    .common06-deco01 {
        max-width: 1rem;
    }

    .common06-block02 {
        flex-direction: column;
    }

    .common06-illust01 {
        width: 30%;
    }

    /*===========================================================
小学生コース
===========================================================*/

    .elementary01-img-box02 {
        margin: 0 -9.9rem -13rem 0;
    }

    .elementary01-text-container {
        margin: 0;
    }

    /*===========================================================
朝勉のみます会
===========================================================*/

    .morning-study02-title01 {
        font-size: 2.1rem;
    }

    .morning-study02-title01 strong {
        font-size: 2.6rem;
    }

    .morning-study03-container {
        flex-direction: column;
    }

    .morning-study03-main-title-area {
        max-width: 30rem;
    }

    /*===========================================================
教室案内
===========================================================*/

    .guideFaq {
        padding: 4rem 2rem 6rem;
    }

    .priFl a {
        font-size: 1rem;
    }


    .modaal-content-container {
        padding: 3rem 1.5rem;
    }

    .modaal-inner-wrapper {
        padding-left: 1.5rem;
        padding-right: 1.5rem;

    }

}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (width <=414px) {


    /*===========================================================
common02
===========================================================*/

    .common02-text-box {
        text-align: left;
    }

    /*===========================================================
小学生コース
===========================================================*/

    .elementary01-img-box02 {
        margin: 0 -8.4rem -13rem 0;
    }

    /*===========================================================
朝勉のみます会
===========================================================*/

    .morning-study01-title-area {
        flex-direction: column;
    }

}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */