@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
html {
    font-size: 14px !important;
    line-height: 1.15 !important;
}
.l-footer {
	z-index:1;
}

.only-sp.d-section {
	overflow: hidden;	
}

body {	
    font-family: "Encode Sans", sans-serif !important;
    font-weight: 400 !important;

}
#breadcrumb {
	display: none !important;
}

/* 20250406追加 */

/* ベース */
:root {
--txt1-size: 36px;
--txt1-height: 1.5;
--txt1-weight: 700;
--txt1-ls: 0;

--txt2-size: 30px;
--txt2-height: 1.5;
--txt2-weight: 700;
--txt2-ls: 0;

--txt3-size: 28px;
--txt3-height: 1.5;
--txt3-weight: 700;
--txt3-ls: 0;

--txt4-size: 26px;
--txt4-height: 1.5;
--txt4-weight: 700;
--txt4-ls: 0;

--txt5-size: 24px;
--txt5-height: 1.5;
--txt5-weight: 700;
--txt5-ls: 0;

--txt6-size: 22px;
--txt6-height: 1.5;
--txt6-weight: 700;
--txt6-ls: 0;

--txt7-size: 20px;
--txt7-height: 1.5;
--txt7-weight: 700;
--txt7-ls: 0;

--txt8-size: 18px;
--txt8-height: 1.5;
--txt8-weight: 700;
--txt8-ls: 0;

--txt9-size: 16px;
--txt9-height: 1.5;
--txt9-weight: 400;
--txt9-ls: 0;

--txt10-size: 15px;
--txt10-height: 1.5;
--txt10-weight: 400;
--txt10-ls: 0;

--txt11-size: 14px;
--txt11-height: 1.5;
--txt11-weight: 400;
--txt11-ls: 0;

--txt12-size: 13px;
--txt12-height: 1.5;
--txt12-weight: 400;
--txt12-ls: 0;

--txt13-size: 12px;
--txt13-height: 1.5;
--txt13-weight: 400;
--txt13-ls: 0;

--btn-01-size: 16px;
--btn-01-height: 1.5;
--btn-01-weight: 700;
--btn-01-ls: .02em;

--btn-02-size: 17px;
--btn-02-height: 1.5;
--btn-02-weight: 700;
--btn-02-ls: .02em;

--time-size: 14px;
--time-ls: .05em;

--cat-size: 14px;
--cat-weight: 500;
--cat-ls: .05em;

--primary-color: #F16188;
--primary-color--light: #F5BACA;
--primary-color--light-02: #df99ac;
--accent-color: #68dfb9;
--accent-color--light: #BBF1DC;
--accent-color--dark: #5EC2A2;
--main-color: #F8F7FA;
--main-color--light: #F8F7FA;
--font-color: #222222;
--font-color--light: #565656;
--border-color: #707070;
--border-color--light: #f0f0f0;
--gray: #888;
--placeholder-color: #888;
--gray-light: #f5f5f5;
--shadow-color: rgba(0,0,0,0.4);
--shadow-color--light: rgba(0,0,0,0.16);
--white-clear: rgba(255,255,255,0.5);
--black-clear: rgba(0,0,0,0.5);
--black-clear--light: rgba(0,0,0,0.2);
--blue-color: #12408F;

--base-font: "Encode Sans", sans-serif;
--en-font: "Roboto", sans-serif;

--section-padding: 60px;
--section-padding--large: 10px;
--section-padding--small: 60px;

--mt-d: 40px;
--mt-d--middle: 45px;
--mt-d--large: 50px;

--inner: 1180px;
--inner-large: 1286px;
--inner-max: 1440px;
--inner-responsive: 95%;
--inner-responsive-p: calc( 50% - var(--inner-responsive) / 2 );

--normal-transition: 0.3s;
--slow-transition: 1s;
--fadein-transition: 1s;

--header-z: 9999;
--header-z-plus: 19999;
--header-z-plus-two: 29999;
--header-z-plus-three: 39999;
--normal-z: 1;
--zero-z: 0;
--minus-z: -1;
--minus-two-z: -2;

}

@media only screen and (max-width: 767px) {
:root {
    --txt1-size: 26px;
    --txt2-size: 24px;
    --txt3-size: 24px;
    --txt4-size: 24px;
    --txt5-size: 22px;
    --txt6-size: 20px;
    --txt7-size: 18px;
    --txt8-size: 16px;
    --txt9-size: 16px;
    --txt10-size: 15px;
    --txt11-size: 14px;
    --txt12-size: 13px;
    --txt13-size: 12px;

    --btn-01-size: 16px;
    --btn-02-size: 16px;
}
}

.section-padding {
    padding: var(--section-padding) 0;
}
.section-padding-t {
    padding-top: var(--section-padding);
}
.section-padding-b {
    padding-bottom: var(--section-padding);
}
.txt1 {
    font-size: var(--txt1-size);
    line-height: var(--txt1-height);
    font-weight: var(--txt1-weight);
    letter-spacing: var(--txt1-ls)
}
.txt2 {
    font-size: var(--txt2-size);
    line-height: var(--txt2-height);
    font-weight: var(--txt2-weight);
    letter-spacing: var(--txt2-ls)
}
.txt3 {
    font-size: var(--txt3-size);
    line-height: var(--txt3-height);
    font-weight: var(--txt3-weight);
    letter-spacing: var(--txt3-ls)
}
.txt4 {
    font-size: var(--txt4-size);
    line-height: var(--txt4-height);
    font-weight: var(--txt4-weight);
    letter-spacing: var(--txt4-ls)
}
.txt5 {
    font-size: var(--txt5-size);
    line-height: var(--txt5-height);
    font-weight: var(--txt5-weight);
    letter-spacing: var(--txt5-ls)
}
.txt6 {
    font-size: var(--txt6-size);
    line-height: var(--txt6-height);
    font-weight: var(--txt6-weight);
    letter-spacing: var(--txt6-ls)
}
.txt7 {
    font-size: var(--txt7-size);
    line-height: var(--txt7-height);
    font-weight: var(--txt7-weight);
    letter-spacing: var(--txt7-ls)
}
.txt8 {
    font-size: var(--txt8-size);
    line-height: var(--txt8-height);
    font-weight: var(--txt8-weight);
    letter-spacing: var(--txt8-ls)
}
.txt9 {
    font-size: var(--txt9-size);
    line-height: var(--txt9-height);
    font-weight: var(--txt9-weight);
    letter-spacing: var(--txt9-ls)
}
.txt10 {
    font-size: var(--txt10-size);
    line-height: var(--txt10-height);
    font-weight: var(--txt10-weight);
    letter-spacing: var(--txt10-ls)
}
.txt11 {
    font-size: var(--txt11-size);
    line-height: var(--txt11-height);
    font-weight: var(--txt11-weight);
    letter-spacing: var(--txt11-ls)
}
.txt12 {
    font-size: var(--txt12-size);
    line-height: var(--txt12-height);
    font-weight: var(--txt12-weight);
    letter-spacing: var(--txt12-ls)
}
.txt13 {
    font-size: var(--txt13-size);
    line-height: var(--txt13-height);
    font-weight: var(--txt13-weight);
    letter-spacing: var(--txt13-ls)
}

.fw700 {
    font-weight: 700;
}
.fw600 {
    font-weight: 600;
}
.fw500 {
    font-weight: 500;
}
.fw400 {
    font-weight: 400;
}
.lh1 {
    line-height: 1;
}
.lh15 {
line-height: 1.5;
}
.lh2 {
    line-height: 2;
}
.lh3 {
    line-height: 3;
}
.ls0 {
    letter-spacing: 0;
}
.ls02 {
    letter-spacing: 0.02em;
}
.ls05 {
    letter-spacing: 0.05em;
}
.primary-color {
    color: var(--primary-color);
}
.primary-color--light-02 {
    color: var(--primary-color--light-02);
}
.accent-color {
    color: var(--accent-color);
}
.gray-color {
    color: var(--gray);
}
.black-color {
    color: #000;
}
.white-color {
    color: #fff;
}
.font-color {
    color: var(--font-color);
}
.font-color--light {
    color: var(--font-color--light);
}
.base-font {
    font-family: var(--base-font);
}
.en-font {
    font-family: var(--en-font);
}
.mt-d {
    margin-top: var(--mt-d);
}
.mt-d--middle {
    margin-top: var(--mt-d--middle);
}
.mt-d--large {
    margin-top: var(--mt-d--large);
}
.mr5em {
    margin-right: 0.5em;
}
.mr10em {
    margin-right: 1em;
}
.mt-10em-plus__content + .mt-10em-plus__content {
    margin-top: 1em;
}
.mt-20em-plus__content + .mt-20em-plus__content {
    margin-top: 2em;
}
@media screen and (max-width: 767px) {
    .mt-sp-minus70px {
        margin-top: -70px!important;
    }   
}
@media screen and (max-width: 767px) {
    .mt-p-small {
        padding:10px 30px!important;
    }   
}

@media screen and (max-width: 767px) {
    .mt-sp-minus40px {
        margin-top: -40px!important;
    }   
}
.bg-main {
    background-color: var(--main-color);
}
.bg-main--light {
    background-color: var(--main-color--light);
}
.bg-primary {
    background-color: var(--primary-color);
}
.bg-white {
    background-color: #fff;
}
.underline {
    text-decoration: underline;
}
@media (hover: hover){
    .underline:hover {
        text-decoration: none;
    }
}
.underline-txt {
    text-decoration: underline;
}
@media (hover: hover){
    .hover-underline:hover {
        text-decoration: underline;
    }
}
@media (hover: hover){
    .hover-op:hover {
        opacity: .7;
        transition: var(--normal-transition);
    }
}
@media (hover: hover){
    .hover-op--clear:hover {
        opacity: .5;
        transition: var(--normal-transition);
    }
}
.mw-660 {
    max-width: 660px;
    margin-left: auto;
    margin-right: auto;
}
.img-100 img {
    width: 100%;
    height: auto;
}
.h-100 {
    height: 100%;
}
.o-hidden {
    overflow: hidden;
}
.p-relative{
    position: relative;
}
.m-none {
    margin: 0;
}
.p-none {
    padding: 0;
}
  
/***************************************************************************
共通パーツ
******************************************************************************/

.heading-letter {
    color: var(--font-color);
    font-size: 1.78571rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .heading-letter {
        font-size: 1.42857rem;
    }
}

.heading-letter--large {
    color: var(--font-color);
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .heading-letter--large {
        font-size: 1.45rem;
    }
}

/* heading-border */
.heading-border {
    --border-h: 2px;
    --accent-border-w: 5.5vw;

    position: relative;
    padding-bottom: 1rem;
    border-bottom: var(--border-h) solid var(--border-color--light);
}
@media screen and (max-width: 767px) {
    .heading-border {
        --border-h: 4px;
        --accent-border-w: 6rem;

    }
}

.heading-border::after {
    content: '';
    position: absolute;
    bottom: calc( var(--border-h) * -1 );
    left: 0;
    width: var(--accent-border-w);
    height: var(--border-h);
    background: var(--accent-color--dark);
}

/* heading-border-center */
.heading-border-center {
    text-align: center;
    padding-bottom: .5em;
    border-bottom: 1px solid currentColor;
}

/* heading-border-dot */ 
.heading-border-dot {
    text-align: center;
    line-height: 2;
}

.heading-border-dot__skin {
    display: inline-block;
    position: relative;
    background: radial-gradient(circle farthest-side, var(--accent-color--light), var(--accent-color--light) 35%, transparent 35%, transparent);
    background-size: .3em .4em;
    background-position: right bottom;
    background-repeat: repeat-x;
}
@media screen and (max-width: 1200px) {
    .heading-border-dot__skin.heading-border-dot__skin--pc {
        background-size: 0;
    }   
}

.heading-border-dot__skin.heading-border-dot__skin--tab {
    background-size: 0;
}
@media screen and (max-width: 1200px) {
    .heading-border-dot__skin.heading-border-dot__skin--tab {
        background-size: .3em .4em;
    }   
}

.heading-border-dot__skin.heading-border-dot__skin--sp {
    background-size: 0;
}
@media screen and (max-width: 767px) {
    .heading-border-dot__skin.heading-border-dot__skin--sp {
        background-size: .3em .4em;
    }   
}

/* txt-before-after */
.txt-before-after::before {
    content: attr(data-before);
}

.txt-before-after::after {
    content: attr(data-after);
}

@media screen and (max-width: 767px) {
    .txt-before-after.txt-before-after--sp-none::before,
    .txt-before-after.txt-before-after--sp-none::after {
        content: '';
    }   
}

/***************************************************************************
ページ特有のcss
******************************************************************************/

/* 英語にまつわる、こんなお悩みありませんか？ */
.b-area {
    padding-top: var(--section-padding);
}
@media screen and (max-width: 767px) {
    .b-area {
        padding-top: 10vw
    }
}

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

.b-area__heading-letter {
    position: relative;
    padding-bottom: 1.5em;
    font-size: 2.65vw;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0;
  }
  @media screen and (max-width: 767px) {
    .b-area__heading-letter {
      font-size: 6vw;
    }
  }

.b-area__heading-letter::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 85%;
    height: 1em;
    background-image: url(../img/icon_bb.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.b-area__header-img {
    margin-top: var(--mt-d);
}
@media screen and (max-width: 767px) {
    .b-area__header-img {
        margin-top: 2.5vw;
        margin-inline: -5vw
    }
}

@media screen and (max-width: 767px) {
    .happy-section {
        padding-inline: 35px;
    }   
}

@media screen and (max-width: 767px) {
    .happy-section__heading-letter {
        line-height: 1;
    }
}

.happy-section__en-heading-letter {
    color: var(--accent-color);
    font-weight: 700;
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .happy-section__en-heading-letter {
        line-height: 0;
    }
}

.happy-section__jp {
    display: block;
    margin-top: -25px;
}
@media screen and (max-width: 767px) {
    .happy-section__jp {
        margin-top: 0;
    }
}

.happy-section__jp-heading-letter {
    color: black;
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .g-area {
        padding-top: 15vw;
    }
}
.g-area__heading {
    position: relative;
}

.g-area__heading-txt {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-30%);
    z-index: var(--normal-z);
    width: 100%;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .g-area__heading-txt {
        transform: translateY(-45%);
    }
}

.g-area__heading-letter {
    color: var(--font-color);
    font-size: 2.4vw;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .g-area__heading-letter {
        font-size: 5vw;
    }
}

.g-area__heading-letter-large {
    font-size: 3.65vw;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .g-area__heading-letter-large {
        font-size: 8vw;
        line-height: 1.3;
    }
}

.g-area__heading-img {
    position: relative;
    z-index: var(--zero-z);
}
@media screen and (max-width: 767px) {
    .g-area__heading-img {
        padding-inline: 7.5%;
    }
}

@media screen and (max-width: 767px) {
    .g-area-02 {
        padding-top: 15vw;
    }
}
.g-area-02__heading {
    position: relative;
}

.g-area-02__heading-txt {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-25%) translateX(1.5%);
    z-index: var(--normal-z);
    width: 100%;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .g-area-02__heading-txt {
        transform: translateY(-45%) translateX(-1.5%);
    }
}

.g-area-02__heading-letter {
    color: var(--font-color);
    font-size: 2.4vw;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .g-area-02__heading-letter {
        font-size: 4.4vw;
        line-height: 1.3;
    }
}

.g-area-02__heading-letter-large {
    font-size: 3vw;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .g-area-02__heading-letter-large {
        font-size: 6.4vw;
        line-height: 1;
    }
}

.g-area-02__heading-img {
    position: relative;
    z-index: var(--zero-z);
}
@media screen and (max-width: 767px) {
    .g-area-02__heading-img {
        margin-inline: -15px;
    }
}


/* TOPストーリー */
@media screen and (max-width: 767px) {
    .story-heading-wrap {
        margin-top: 10vw;
    }
}

.story-heading {
    position: relative;
    text-align: center;
}

.story-heading__num {
    position: absolute;
}
.story-heading__num-letter {
    line-height: 0;
    font-weight: 700;
    letter-spacing: 0;
}

.story-heading__en {
    display: block;
    position: relative;
}

.story-heading__en-letter {
    color: var(--font-color);
    font-size: 3vw;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .story-heading__en-letter {
        font-size: 4.2vw;
    }
}

.story-heading__jp {
    margin-top: .75vw;
    display: block;
    position: relative;
}
@media screen and (max-width: 767px) {
    .story-heading__jp {
        margin-top: 1vw;
        line-height: 0.75;
    }
}

.story-heading__jp-letter {
    font-size: 3vw;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
    .story-heading__jp-letter {
        font-size: 4.8vw;
        line-height: 1;
    }
}


.story-heading.story-heading--01 {
    padding: 2vw 0 4vw;
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--01 {
        padding: 2vw 0 6vw;
    }
}
.story-heading.story-heading--01 .story-heading__num {
    bottom: 0;
    left: 31.5%;
    transform: translateY(10%);
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--01 .story-heading__num {
        bottom: 0;
        left: 22%;
        transform: translateY(15.5%);
    }
}

.story-heading.story-heading--01 .story-heading__num-letter {
    color: #F5BACA;
    font-size: 18vw;
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--01 .story-heading__num-letter {
        font-size: 30vw;
    }
}

.story-heading.story-heading--01 .story-heading__en-letter {
    color: #F5BACA;
}

.story-heading.story-heading--02 {
    padding: 2vw 0 2vw;
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--02 {
        padding: 2vw 0 3vw;
    }
}
.story-heading.story-heading--02 .story-heading__num {
    bottom: 0;
    right: 26.7%;
    transform: translateY(10%);
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--02 .story-heading__num {
        bottom: 0;
        right: 15%;
        transform: translateY(15.5%);
    }
}

.story-heading.story-heading--02 .story-heading__num-letter {
    color: #C7E5EA;
    font-size: 22vw;
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--02 .story-heading__num-letter {
        font-size: 29vw;
    }
}

.story-heading.story-heading--02 .story-heading__en-letter {
    color: #C7E5EA;
}

.story-heading.story-heading--03 {
    padding: 2vw 0 4vw;
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--03 {
        padding: 2vw 0 6vw;
    }
}
.story-heading.story-heading--03 .story-heading__num {
    bottom: 0;
    left: 28%;
    transform: translateY(10%);
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--03 .story-heading__num {
        bottom: 0;
        left: 17%;
        transform: translateY(10%);
    }
}

.story-heading.story-heading--03 .story-heading__num-letter {
    color: #F9F094;
    font-size: 25vw;
}
@media screen and (max-width: 767px) {
    .story-heading.story-heading--03 .story-heading__num-letter {
        font-size: 30vw;
    }
}

.story-heading.story-heading--03 .story-heading__en-letter {
    color: #F9F094;
}

@media screen and (max-width: 767px) {
    .container-pink.container-pink--202504 {
        margin-inline: 0px;
        padding-inline: 35px;
    }   
    .container-blue-n.container-blue-n--202504 {
        margin-inline: 0;
    }   
    .container-yellow-n.container-yellow-n--202504 {
        margin-inline: 0;
    }   
}

.section-learn1-box-wrap {
    padding-top: 4vw;
    background: #AFF2E0;
}

.section-learn1-box {
    position: relative;
}

.section-learn1-box__txt {
    position: absolute;
    top: 17%;
    left: 28%;
    z-index: var(--normal-z);
}
@media screen and (max-width: 767px) {
    .section-learn1-box__txt {
        position: absolute;
        top: 29%;
        left: 0;
        width: 100%;
        text-align: center;
    }
}

.section-learn1-box__img {
    position: relative;
    z-index: var(--zero-z);
}

.section-learn1-box__letter {
    font-size: 1.87vw;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
    .section-learn1-box__letter {
        font-size: 3.5vw;
    }
}


.section-dw {
    margin-top: 2vw;
    padding: 4vw 0 6vw;
    background: #F6F6F6;
}
@media screen and (max-width: 1207px) {
    .section-dw {
        margin-bottom: -14vw;
    }
}
@media screen and (max-width: 767px) {
    .section-dw {
        margin-bottom: -23.5vw;
        padding: 6vw 0 16vw;
    }
}

.section-dw__row {
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 767px) {
    .section-dw__row {
        display: block;
        text-align: center;
    }
}

.section-dw__heading {
    margin-right: .5vw;
}
@media screen and (max-width: 767px) {
    .section-dw__heading {
        margin-right: 0;
    }
}

.section-dw__heading-letter {
    font-size: 2.6vw;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
    .section-dw__heading-letter {
        font-size: 3.7vw;
    }
}

@media screen and (max-width: 767px) {
    .section-dw__heading-img {
        margin-top: -3vw;
    }
}

.section-dw__heading-image img {
    width: 24vw;
    height: auto;
}
@media screen and (max-width: 767px) {
    .section-dw__heading-image img {
        width: 44vw;
        height: auto;
    }
}


.mv-education {
    padding-top: 60px;
}
@media screen and (max-width: 650px) {
    .mv-education {
        margin: 0px -20px;
        padding-top: 70px;
        padding-bottom: 30px;
    }
}

@media screen and (max-width: 767px) {
    .ed-faq-wrap {
        margin-inline: -40px;
    }
}

.ed-faq {
    margin-inline: auto;
    display: table;
}

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

.ed-faq__list {
    counter-reset: list_num;
}

.ed-faq__list-content + .ed-faq__list-content {
    margin-top: 10px;
}
.ed-faq__list-content + .ed-faq__list-content.ed-faq__list-content--mt-large {
    margin-top: 50px;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content + .ed-faq__list-content.ed-faq__list-content--mt-large {
        margin-top: 10px;
    }
}

.ed-faq__list-content {
    list-style: none;
    position: relative;
    padding-left: 70px;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content {
        padding-left: 40px;
    }
}

.ed-faq__list-content::after {
    counter-increment: list_num;
    content: counter(list_num);
    position: absolute;
    top: 0;
    left: 10px;
    color: var(--font-color);
    border-bottom: 4px solid currentColor;
    font-size: 80px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content::after {
        font-size: 40px;
    }
}

.ed-faq__list-content-q {
    padding-top: 15px;
}

.ed-faq__list-content-q-letter {
    color: var(--font-color);
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content-q-letter {
        font-size: 1.3rem;
    }
}

.ed-faq__list-content-a {
    margin-top: 15px;
    padding-left: 30px;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content-a {
        position: relative;
        padding-left: 20px;
    }
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content-a::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        min-height: 50px;
        height: calc(100% + 15px);
        background: var(--font-color);
    }
}

.ed-faq__list-content-a-letter {
    color: var(--font-color);
    font-size: 1.0rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content-a-letter {
        font-size: 1.0rem;
    }
}
   
.ed-faq__list-content-a-detail {
    margin-top: 15px;
    position: relative;
    padding-left: 50px;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content-a-detail {
        padding-left: 20px;
    }
}

.ed-faq__list-content-a-detail::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    min-height: 50px;
    height: 90%;
    background: var(--font-color);
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content-a-detail::after {
        height: 100%;
    }
}

.ed-faq__list-content-a-detail-group + .ed-faq__list-content-a-detail-group {
    padding-left: 1em;
}

.ed-faq__list-content-a-detail-letter {
    color: var(--font-color);
    font-size: 1.0rem;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .ed-faq__list-content-a-detail-letter {
        font-size: 1.0rem;
    }
}

.ed-faq__list-content-a-detail-letter-has-rti {
    display: block;
    position: relative;
    padding-bottom: 1.25em;
}

.ed-faq__list-content-a-detail-letter-has-rti::after {
    content: '';
    position: absolute;
    bottom: 0em;
    left: 1em;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-left: .35em solid transparent;
    border-right: .35em solid transparent;
    border-top: .6em solid currentColor;
    border-bottom: 0;
}

.footerBannerTop {
	text-align: center;
}

.footerBannerTop img {
	width: 100%;
	max-width: 200px;
}

@media screen and (max-width: 767px) {
    .funlearning-heading-wrap {
        padding-left: 0;
        padding-right: 0;
    }   
}

@media screen and (max-width: 767px) {
    .funlearning-rakugo-img {
        margin-top: 60px!important;
    }   
}