/*===============================================================================
	共通
===============================================================================*/

/*▼YouTube縦横比*/
.iframe_wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe_wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*▲YouTube縦横比*/

/*▼videoタグ*/
video{
	width:100%;
    vertical-align: bottom;
}
/*▲videoタグ*/

/*===============================================================================
cta
===============================================================================*/
.cta { margin-top: -48px; }

.cta__top { min-width: 1000px; height: 206px; padding: 72px 0 0; background: url(../img/cta_bg01.png) no-repeat 50% 0; }

.cta__ttl { width: 475px; margin: 0 auto; line-height: 0; }

.cta__mark { position: absolute; top: -36px; right: 0; width: 219px; height: 209px; padding: 70px 0 0 26px; background: url(../img/cta_img01.png) no-repeat 50% 0/contain; color: #ffffff; font-size: 30px; font-weight: bold; text-align: center; line-height: 1.2; }

.cta__mark .number { color: #ffe400; font-family: Arial, Helvetica, sans-serif; font-size: 52px; line-height: 1; }

.cta__bottom { padding: 60px 0 50px; background-color: #ffb700; }

.cta__subttl { margin: 0 auto; padding: 30px 203px; background: url(../img/cta_bg03.png) repeat; border-radius: 15px 15px 0 0;  }

.cta__lead { width: 525px; margin: 0 auto; color: #ffffff; font-size: 24px; font-weight: bold; text-align: center; }

.cta__content { padding: 27px 0 50px; border-radius: 0 0 15px 15px; background-color: #fff; }

.cta__btn { width: 740px; margin: 20px auto 0; }

.cta__box { width: 450px; margin: 40px auto 0; }

.cta__txt01 { width: 417px; margin: 0 auto; }

.cta__tel { position: relative; margin: 10px 0 0; padding-left: 80px; color: #004da0; font-family: Arial, Helvetica, sans-serif; font-size: 50px; font-weight: bold; line-height: 1.1; letter-spacing: 0.02em; }

.cta__tel::after { content: ""; display: inline-block; position: absolute; top: 50%; left: 16px; transform: translateY(-50%); width: 51px; height: 38px; background: url(../img/cta_item02.png) no-repeat 50% 0/cover; }

.cta__time { padding-left: 86px; color: #004da0; font-size: 16px; letter-spacing: .02em; }

/*===============================================================================
header
===============================================================================*/
.header__bg { background-color: #fff; }

.header__block { height: 100px; display: flex; align-items: center; }

.header__logo { width: 148px; line-height: 0; }

.header__txt01 { margin-left: 20px; color: #535253; font-size: 12px; }

.header__txt01 .big { font-size: 16px; font-weight: bold; }

.header__box { margin-left: auto; }

.header__txt02 { padding-left: 30px; color: #004da0; font-size: 20px; font-weight: bold; letter-spacing: 0.06em; line-height: 1.5; }

.header__tel { position: relative; padding-left: 36px; color: #004da0; font-family: Arial, Helvetica, sans-serif; font-size: 31px; font-weight: bold; line-height: 1; letter-spacing: -0.02em; }

.header__tel::after { content: ""; display: inline-block; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 32px; height: 24px; background: url(../img/haeder_item.png) no-repeat 50% 0/cover; }

.header__txt03 { color: #004da0; font-size: 14px; }

.header__btn { width: 193px; margin-left: 30px; }

/*===============================================================================
hero
===============================================================================*/


/*===============================================================================
cta-top
===============================================================================*/
.cta-top__bg { padding: 36px 0 20px; background-color: #004da0; }

.cta-top .inner { display: flex; justify-content: space-between; }

.cta-top .inner::before { content: ""; display: inline-block; position: absolute; left: 0px; bottom: -20px; width: 141px; height: 260px; background: url(../img/cta-top_item01.png) no-repeat 50% 0/cover; }

.cta-top .inner::after { content: ""; display: inline-block; position: absolute; right: 0px; bottom: -20px; width: 143px; height: 268px; background: url(../img/cta-top_item02.png) no-repeat 50% 0/cover; }

.cta-top__ttl { width: 467px; line-height: 0; }

.cta-top__box { width: 496px; margin: 0 auto; }

.cta-top__txt01 { width: 400px; margin: 0 auto; line-height: 0; }

.cta-top__btn { margin: 12px 0 0; line-height: 0; }

.cta-top__txt02{ margin: 8px 0 0; color: #fff; font-size: 16px; font-weight: bold; text-align: center; letter-spacing: 0.08em;}

.cta-top__txt02 .color{color: #fcff0d;}



/*===============================================================================
feature
===============================================================================*/
.feature__bg { padding: 70px 0 90px; background: #ffffff url(../img/feature_bg.jpg) no-repeat 50% 0; }

.feature__ttl { width: 946px; margin: 0 auto; }

.feature__list { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 20px 0 0; }

.feature__item { width: 300px; margin: 44px 0 0; }

.feature__txt { margin: 15px 0 0; font-size: 18px; font-weight: bold; text-align: center; line-height:1.4;}

.feature__txt .color { color: #e50011; font-size: 26px; line-height: 1; }

.feature__txt .small { color: #737373; font-size: 14px; /*vertical-align: 4px;*/ }


/*===============================================================================
grow
===============================================================================*/
.grow__bg { padding: 100px 0; background: url(../img/grow_bg.jpg) no-repeat 50% 0/cover; }

.grow__block { display: flex; justify-content: space-between; }

.grow__box { width: 508px; }

.grow__txt { margin: 26px 0 0; color: #000000; font-size: 20px; line-height: 1.9; }

.grow__image { width: 465px; }

.grow__lead { width: 716px; margin: 50px auto 0; }

.grow__list { display: flex; justify-content: space-between; margin: 30px 0 0; }

.grow__item { position: relative; width: 310px; }

.grow__item .btn { display: block; position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%); width: 65px; transition: transform 0.5s; cursor: pointer; }

.grow__item .btn:hover { transform: translate(-50%, -50%) scale(1.2); }

.video-sub {font-size: 0.8em; text-align: center;}



/*===============================================================================
reason01
===============================================================================*/
.reason01__bg { padding: 100px 0 110px; background: #fff url(../img/reason01_bg.jpg) no-repeat 50% 0; color: #000000; }

.reason01__ttl { position: relative; width: 737px; }

.reason01__block { position: relative; margin: 112px 0 0; padding: 255px 42px 64px; border: 7px solid #f2c700; border-radius: 10px; background-color: #ffd200; }

.reason01__subttl { position: absolute; top: -72px; left: 50%; transform: translateX(-50%); width: 898px; line-height: 0; }

.reason01__lead01 { font-size: 26px; font-weight: bold; text-align: center; }

.reason01__lead01 .color { display: inline-block; padding-left: 10px; border-radius: 3px; background-color: #fff; }

.reason01__flex01 { display: flex; justify-content: space-between; margin: 50px 0 60px; }

.reason01__figure01 { width: 430px; }

.reason01__box01 { width: 430px; }

.reason01__lead02 { height: 50px; border-radius: 5px; background-color: #ff6804; color: #fff; font-size: 24px; font-weight: bold; text-align: center; line-height: 50px; }

.reason01__txt01 { margin: 30px 0 0; font-size: 16px; line-height: 1.7; letter-spacing: 0.04em; }

.reason01__txt02 { margin: 26px 0 0; font-size: 24px; font-weight: bold; text-align: center; }

.reason01__figure02 { margin: 35px 0 0; }

.reason01__lead03 { width: 508px; margin: 44px auto 0; line-height: 0; }

.reason01__list { display: flex; justify-content: space-between; margin: 20px 0 0; }

.reason01__item { width: 430px; }

.reason01__term { position: relative; cursor: pointer; }

.reason01__term .btn { position: absolute; top: 7px; right: 7px; width: 71px; height: 86px; background: url(../img/reason01_item01.png) no-repeat top left/100% auto; }

.reason01__term.open .btn { background-position: bottom left; }

.reason01__desc { display: none; margin: 20px 0 0; }

.reason01__txt03 { margin: 55px 0 0; }

.reason01__flex02 { display: flex; justify-content: space-between; margin: 60px 0 0; }

.reason01__box03 { width: 430px; }

.reason01__txt04 { margin: 22px 0 0; font-size: 16px; line-height: 1.7; }

/*===============================================================================
reason02
===============================================================================*/
.reason02__bg { padding: 150px 0 100px; background-color: #fff; }

.reason02__block { position: relative; padding: 250px 42px 64px; border: 7px solid #f2c700; border-radius: 10px; background-color: #ffd200; }

.reason02__block:nth-of-type(2) { margin: 150px 0 0; padding: 274px 42px 40px; }

.reason02__ttl01 { position: absolute; top: -78px; left: 50%; transform: translateX(-50%); width: 898px; line-height: 0; }

.reason02__lead01 { font-size: 26px; font-weight: bold; text-align: center; line-height: 2; }

.reason02__lead01 .color { display: inline-block; padding: 0 10px; border-radius: 3px; background-color: #fff; }

.reason02__flex01 { display: flex; justify-content: space-between; margin: 40px 0 0; }

.reason02__figure01 { width: 440px; }

.reason02__box01 { width: 430px; }

.reason02__lead02 { height: 50px; border-radius: 5px; background-color: #ff6804; color: #fff; font-size: 24px; font-weight: bold; text-align: center; line-height: 50px; }

.reason02__txt01 { margin: 25px 0 0; font-size: 16px; letter-spacing: 0.03em; }

.reason02__lead03 { width: 711px; margin: 35px auto 0; }

.reason02__list01 { margin: 42px 0 0; }

.reason02__item01:nth-of-type(2) .reason02__subttl01 { border-radius: 0; background-color: #6a91ff; }

.reason02__item01:nth-of-type(2) .reason02__subttl01::after { background-image: url(../img/reason02_item02.png); }

.reason02__item01:nth-of-type(2) .reason02__flex02 { border-radius: 0 0 15px 15px; }

.reason02__subttl01 { position: relative; height: 110px; padding-left: 200px; border-radius: 15px 15px 0 0; background-color: #ff046e; color: #fff; font-size: 36px; font-weight: bold; letter-spacing: 0.04em; line-height: 110px; }

.reason02__subttl01::after { content: ""; display: inline-block; position: absolute; top: 50%; left: 20px; transform: translateY(-50%); width: 150px; height: 150px; background: url(../img/reason02_item01.png) no-repeat 50% 0/cover; }

.reason02__flex02 { display: flex; justify-content: space-between; padding: 65px 40px 60px; background-color: #fff; }

.reason02__box02 { width: calc(100% - 371px); }

.reason02__lead04 { margin-top: -6px; font-size: 34px; font-weight: bold; letter-spacing: 0.04em; line-height: 1.5; }

.reason02__lead04 .color01 { color: #ff046e; }

.reason02__lead04 .color02 { color: #6a91ff; }

.reason02__txt02 { margin: 16px 0 0; font-size: 18px; line-height: 1.9; letter-spacing: 0.04em; }

.reason02__figure02 { width: 371px; }

.reason02__list02 { display: flex; justify-content: space-between; margin: 60px 0 0; }

.reason02__item02 { width: 280px; }

.reason02__lead05 { padding: 10px 0; border-radius: 5px; background-color: #ff6804; color: #fff; font-size: 24px; font-weight: bold; text-align: center; line-height: 1.3; }

.reason02__pic01 { margin: 15px 0 0; }

.reason02__txt03 { margin: 10px 0 0; font-size: 16px; line-height: 1.8; }

.reason02__ttl02 { position: absolute; top: -78px; left: 50%; transform: translateX(-50%); width: 774px; line-height: 0; }

.reason02__subttl02 { margin: 50px 0 0; padding: 0 0 30px; border-bottom: 4px dotted #000000; color: #000000; font-size: 38px; font-weight: bold; text-align: center; }

.reason02__subttl02 .asterisk { font-size: 12px; vertical-align: 16px; }

.reason02__txt04 { margin: 30px 0 0; color: #000000; font-size: 20px; text-align: center; }

.reason02__txt04:not(:first-of-type) { margin-top: 40px; }

.reason02__txt04 .asterisk { font-size: 10px; vertical-align: 8px; }

.reason02__note{ margin: 10px 0 0; font-size: 12px; text-align: right;}

/*===============================================================================
teacher
===============================================================================*/
.teacher__bg { padding: 100px 0 120px; background-color: #cfe9ef; }

.teacher__ttl { width: 806px; margin: 0 auto; }

.teacher__block { display: flex; justify-content: space-between; margin: 60px 0 0; }

.teacher__image { width: 480px; }

.teacher__box01 { width: 480px; }

.teacher__txt01 { font-size: 20px; line-height: 1.8; }

.teacher__txt02 { margin: 20px 0 0; }

.teacher__flex { display: flex; justify-content: space-between; margin: 60px 0 0; }

.teacher__box02 { width: 480px; }

.teacher__term { position: relative; height: 100px; padding-right: 78px; border-radius: 10px; box-shadow: 0 8px #00346d; background: linear-gradient(to bottom, #085ab2, #004da0); color: #fff; font-size: 28px; font-weight: bold; text-align: center; line-height: 100px; cursor: pointer; }

.teacher__term .btn { position: absolute; top: 7px; right: 7px; width: 71px; height: 86px; background: url(../img/teacher_item01.png) no-repeat top left/100% auto; }

.teacher__term.open .btn { background-position: bottom left; }

.teacher__desc { display: none; padding: 30px 0 0; }

.teacher__item { margin-left: 16px; font-size: 16px; text-indent: -16px; line-height: 1.7; letter-spacing: 0.02em; }

/*===============================================================================
course
===============================================================================*/
.course__bg { padding: 100px 0; background: #f3f3f3 url(../img/cource_bg.jpg) no-repeat 50% 0; }

.course__ttl { width: 486px; margin: 0 auto; }

.course__list01 { display: flex; justify-content: space-between; margin: 160px 0 0; }

.course__item01 { width: 480px; padding: 0 0 30px; border-radius: 10px; background-color: #fff; }

.course__lead01, .course__lead01--bg { height: 80px; border-radius: 10px 10px 0 0; background-color: #6a91ff; color: #fff; font-size: 26px; font-weight: bold; text-align: center; line-height: 80px; }

.course__lead01--bg { background-color: #ff6e52; letter-spacing: -0.02em; }

.course__txt01 { width: 420px; margin: 20px auto 0; }

.course__txt02 { margin: 20px 0 0; font-size: 20px; text-align: center; }

.course__btn { width: 420px; margin: 25px auto 0; line-height: 0; }

.course__block { margin: 80px 0 0; }

.course__top { padding: 0 0 50px; border-radius: 15px 15px 0 0; background-color: #fff; }

.course__flex01 { display: flex; width: 900px; margin: 50px auto 0; }

.course__box01 { width: calc(100% - 430px); }

.course__txt03 { font-size: 22px; }

.course__txt03:not(:first-of-type) { margin: 42px 0 0; }

.course__pic01 { width: 430px; }

.course__txt04 { width: 900px; margin: 50px auto 0; }

.course__bottom, .course__bottom--bg { padding: 35px 50px 50px; background-color: #eaefff; border-radius: 0 0 10px 10px; }

.course__bottom--bg { background-color: #ffede9; }

.course__list02, .course__list02--mt { display: flex; justify-content: space-between; flex-wrap: wrap; margin: -15px 0 0; }

.course__list02--mt { margin-top: 0; }

.course__item02 { width: 431px; margin: 45px 0 0; }

.course__lead03, .course__lead03--01, .course__lead03--02, .course__lead03--03, .course__lead03--04, .course__lead03--05, .course__lead03--06, .course__lead03--07, .course__lead03--08 { width: 100%; height: 168px; padding: 40px 0 0 30px; background: no-repeat 50% 0 / cover; color: #fff; font-size: 23px; font-weight: bold; }

.course__lead03--01 { background-image: url(../img/course_item01.png); }

.course__lead03--02 { background-image: url(../img/course_item02.png); }

.course__lead03--03 { background-image: url(../img/course_item03.png); }

.course__lead03--04 { background-image: url(../img/course_item04.png); }

.course__lead03--05 { background-image: url(../img/course_item05.png); }

.course__lead03--06 { background-image: url(../img/course_item06.png); }

.course__lead03--07 { background-image: url(../img/course_item07.png); }

.course__lead03--08 { background-image: url(../img/course_item08.png); }

.course__flex02 { display: table; width: 100%; margin: 10px 0 0; padding-left: 10px; }

.course__txt05, .course__txt05--color { position: relative; display: table-cell; width: calc(100% - 186px); padding-left: 15px; color: #004da0; font-size: 30px; font-weight: bold; line-height: 1.4; vertical-align: middle; }

.course__txt05 .color, .course__txt05--color .color { color: #ff046e; }

.course__txt05--color { color: #525252; }

.course__txt05 .small, .course__txt05--color .small { display: block; font-size: 14px; }

.course__txt05 .asterisk, .course__txt05--color .asterisk { position: absolute; top: 6px; right: 36px; font-size: 10px; }

.course__txt05 .middle, .course__txt05--color .middle { font-size: 29px; letter-spacing: -0.1em; }

.course__image { display: table-cell; width: 186px; }

.course__box02 { position: relative; overflow: hidden; width: 900px; margin: 50px auto 0; padding: 20px 65px 25px; border: 4px solid #ff6e52; border-radius: 5px; background-color: #ffe5e0; }

.course__box02::before { content: ""; display: inline-block; position: absolute; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 100px 136px 0 0; border-color: #ff6f52 transparent transparent transparent; }

.course__box02::after { content: "CHECK!"; position: absolute; top: 25px; left: 5px; color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; transform: rotate(319deg); }

.course__txt06 { padding: 0 0 16px; border-bottom: 4px dotted #ff6e52; color: #ff6e52; font-size: 26px; font-weight: bold; text-align: center; }

.course__txt07 { margin: 18px 0 0; font-size: 16px; text-align: center; line-height: 1.8; }

/*===============================================================================
voice
===============================================================================*/
.voice__bg { padding: 128px 0 120px; background: #ffffff url(../img/voice__bg.jpg) no-repeat 50% 0; }

.voice__ttl { width: 628px; margin-left: 56px; }

.voice__list { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: 30px 0 0; }

.voice__item { width: 480px; margin: 40px 0 0; padding: 30px; background: url(../img/voice_item02.jpg); border-radius: 10px; box-shadow: 10px 10px #f4f4f4; color: #000000; }

.voice__item:nth-of-type(1) .voice__subttl::after { background: url(../img/voice_icon01.png) no-repeat 50% 0/cover; }

.voice__item:nth-of-type(2) .voice__subttl::after { background: url(../img/voice_icon02.png) no-repeat 50% 0/cover; }

.voice__item:nth-of-type(3) .voice__subttl::after { background: url(../img/voice_icon03.png) no-repeat 50% 0/cover; }

.voice__item:nth-of-type(4) .voice__subttl::after { background: url(../img/voice_icon04.png) no-repeat 50% 0/cover; }

.voice__subttl { position: relative; font-size: 28px; font-weight: bold; }

.voice__subttl::before { content: ""; display: inline-block; position: absolute; bottom: -24px; left: 0; right: 0; margin: 0 auto; width: 428px; height: 5px; background: url(../img/voice_item01.png) no-repeat 50% 0/cover; }

.voice__subttl::after { content: ""; display: inline-block; position: absolute; top: -15px; right: -22px; width: 100px; height: 100px; }

.voice__flex { display: flex; align-items: center; margin: 60px 0 0; }

.voice__pic { width: 150px; }

.voice__name { width: calc(100% - 150px); padding-left: 20px; font-size: 20px; font-weight: bold; line-height: 1.8; }

.voice__txt { margin: 25px 0 0; font-size: 16px; }

.voice__txt .add { display: none; }

.voice__txt .add.show { display: inline; }

.voice__txt .item { display: inline; }

.voice__txt .item.hide { display: none; }

.voice__btn { width: 300px; height: 44px; margin: 20px auto 0; background: url(../img/voice_btn.png) no-repeat top left/cover; cursor: pointer; }

.voice__btn.open { background-position: bottom left; }

/*===============================================================================
event
===============================================================================*/
.event__bg { padding: 114px 0 90px; background: #e50012 url(../img/event_bg.jpg) no-repeat 50% 0; }

.event__ttl { width: 851px; margin: 0 auto; }

.event__block { display: flex; justify-content: space-between; margin: 36px 0 0; }

.event__box { width: 478px; }

.event__txt { margin: 20px 0 0; color: #ffffff; font-size: 20px; text-align: center; line-height: 1.8; }

/*===============================================================================
price
===============================================================================*/
.price__bg { padding: 86px 0 108px; background: #ffffff url(../img/price_bg01.jpg) no-repeat 50% 0; color: #000000; }

.price .inner::before { content: ""; display: inline-block; position: absolute; bottom: -108px; left: -504px; width: 720px; height: 548px; background: url(../img/price__bg02.jpg) no-repeat 50% 0/cover; }

.price__ttl { width: 603px; margin: 0 auto; line-height: 0; }

.price__block01 { position: relative; margin: 80px 0 0; padding: 54px 0 36px; border: 10px solid #ffffff; border-radius: 10px; background: url(../img/price_item01.jpg); }

.price__subttl01 { position: absolute; top: -28px; left: 50%; transform: translateX(-50%); width: 480px; line-height: 0; }

.price__lead01 { font-size: 40px; font-weight: bold; text-align: center; }

.price__lead01 .number { font-family: Arial, Helvetica, sans-serif; font-size: 76px; line-height: 1; vertical-align: -3px; }

.price__txt01 { margin: 25px 0 0; font-size: 18px; text-align: center; line-height: 1.7; }

.price__block02 { position: relative; width: 1012px; margin: 128px 0 0 -6px; padding: 198px 40px 48px; border: 6px solid #fff; border-radius: 10px 10px 15px 15px; background-color: #004da0; }

.price__block02::before { content: ""; display: inline-block; position: absolute; top: -9px; left: -6px; width: 1012px; height: 15px; background: url(../img/price_item02.png) no-repeat 50% 0/cover; }

.price__subttl02 { position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 657px; line-height: 0; }

.price__list { display: flex; justify-content: space-between; }

.price__item { width: 440px; }

.price__lead02 { height: 92px; border-radius: 10px 10px 0 0; background-color: #fff; font-size: 30px; font-weight: bold; text-align: center; line-height: 92px; }

.price__content01 { height: 280px; padding: 25px 30px 0; border-radius: 0 0 10px 10px; background-color: #fafafa; }

.price__box01:first-of-type { padding: 0 0 22px; border-bottom: 4px dotted #bfbfbf; }

.price__box01:nth-of-type(2) { margin: 24px 0 0; }

.price__txt02 { font-size: 24px; font-weight: bold; text-align: center; }

.price__txt03 { margin: 8px 0 0; font-size: 22px; text-align: center; }

.price__txt03 .color { color: #004da0; font-size: 34px; font-weight: bold; line-height: 1; }

.price__lead03 { height: 92px; border-radius: 10px 10px 0 0; background-color: #ffde00; text-align: center; line-height: 92px; }

.price__lead03 img { display: inline-block; width: 172px; vertical-align: middle; }

.price__content02 { height: 280px; padding: 30px; border-radius: 0 0 10px 10px; background-color: #ffd200; }

.price__txt04 { font-size: 30px; font-weight: bold; text-align: center; }

.price__txt04 .color { color: #e60012; font-size: 32px; line-height: 1; }

.price__txt04 .number { font-size: 50px; line-height: 1; }

.price__txt04 .small { display: block; font-size: 20px; font-weight: normal; line-height: 2.6; }

.price__txt05 { margin: 30px 0 0; }

.price__note { margin: 30px 0 0; color: #fff; font-size: 16px; line-height: 1.8; letter-spacing: 0.04em; }

.price__bottom { position: relative; width: 735px; margin: 60px auto 0; }

/*===============================================================================
flow
===============================================================================*/
.flow__bg01 { height: 140px; padding: 45px 0; background-color: #4676ff; line-height: 140px; }

.flow__bg01 .inner::before { content: ""; display: inline-block; position: absolute; top: -42px; right: -34px; width: 336px; height: 372px; background: url(../img/flow_item01.png) no-repeat 50% 0/cover; }

.flow__ttl { width: 399px; margin: 0 auto; line-height: 0; }

.flow__bg02 { padding: 46px 0 100px; background-color: #6a91ff; }

.flow__subttl { position: relative; width: 592px; }

.flow__list { position: relative; display: flex; justify-content: space-between; margin: 112px 0 0; }

.flow__list::before { content: ""; display: inline-block; position: absolute; top: -30px; left: 10px; width: 795px; height: 5px; background: url(../img/flow_item02.png) no-repeat 50% 0/cover; }

.flow__item { position: relative; width: 230px; padding: 0 0 30px; border-radius: 10px; background-color: #fff; }

.flow__number { position: absolute; top: -80px; left: 0; }

.flow__lead, .flow__lead--small { display: flex; justify-content: center; align-items: center; height: 102px; padding: 10px 0 0; font-size: 20px; font-weight: bold; text-align: center; line-height: 1.4; }

.flow__lead--small { font-size: 18px; }

.flow__pic img { width: 100%; }

.flow__txt { width: 200px; margin: 15px auto 0; font-size: 14px; }

.flow__btn { width: 207px; margin: 15px auto 0; }

.flow__tel { position: relative; width: 200px; margin: 6px auto 0; color: #004da0; font-family: Arial, Helvetica, sans-serif; font-size: 25px; font-weight: bold; text-align: right; line-height: 1; }

.flow__tel::after { content: ""; display: inline-block; position: absolute; top: 50%; left: -2px; transform: translateY(-50%); width: 28px; height: 21px; background: url(../img/flow_icon01.png) no-repeat 50% 0/cover; }

.flow__time { color: #004da0; font-size: 12px; text-align: center; }

/*===============================================================================
faq
===============================================================================*/
.faq__bg { padding: 20px 0 110px; background: url(../img/faq_bg.jpg); color: #000000; }

.faq__ttl { width: 682px; margin: 0 auto; }

.faq__block { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; margin: -52px 0 0; }

.faq__box { width: 470px; margin: 40px 0 0; border-radius: 10px; background-color: #fff; }

.faq__box:nth-of-type(odd) { margin-right: 60px; }

.faq__term { position: relative; display: flex; align-items: center; height: 120px; padding-left: 15px; border: 4px solid #000000; border-radius: 10px; background-color: #fff; cursor: pointer; }

.faq__term.open .faq__arrow { transform: translateX(-50%); }

.faq__q { width: 38px; line-height: 0; }

.faq__txt01 { padding-left: 15px; font-size: 24px; font-weight: bold; }

.faq__item { box-sizing: border-box; position: absolute; top: 0; right: 0; width: 85px; height: 112px; padding: 64px 0 0; border-radius: 0 5px 5px 0; background-color: #ffaf04; text-align: center; }

.faq__arrow { position: absolute; top: 32px; left: 50%; transform: translateX(-50%) rotate(180deg); width: 22px; line-height: 0; }

.faq__txt02 { color: #fff; font-size: 16px; font-weight: bold; line-height: 1.8; }

.faq__desc { display: none; padding: 30px 30px 0; font-size: 18px; }

.faq__desc.height01 { height: 215px; }

.faq__desc.height02 { height: 250px; }

.faq__desc.height03 { height: 185px; }

.faq__desc.height04 { height: 155px; }

/*===============================================================================
footer
===============================================================================*/
.footer__bg { height: 100px; background-color: #00356f; font-family: 'Century Gothic', Arial, sans-serif; color: #ffffff; font-size: 16px; }

.footer__txt { line-height: 100px; text-align: center; }

/*===============================================================================
modal
===============================================================================*/
.modal { display: none; }

.modal__bg { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); }

.modal__block { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 101; width: 1000px; height: 563px; margin: auto; background-color: #fff; }

.modal__block iframe { width: 100%; }

.modal__close { display: block; position: absolute; top: -64px; right: 0; width: 64px; height: 64px; background-color: #000; cursor: pointer; }

.modal__close .border01 { position: absolute; top: 30px; left: 15px; width: 34px; height: 3px; background-color: #fff; transform: rotate(45deg); }

.modal__close .border02 { position: absolute; top: 30px; left: 15px; width: 34px; height: 3px; background-color: #fff; transform: rotate(315deg); }

/*===============================================================================
ie
===============================================================================*/
.ie .cta__item label { line-height: 1.35; }

/*# sourceMappingURL=kidsduo/src_pc/css/style.css.map */

/*===============================================================================
動画コンテンツ追加
===============================================================================*/
.youtube_block{
  width: 710px;
  margin: 20px auto 45px;
  padding: 12px;
  background-color: #F8BB15;
  border-radius: 10px;
}
.youtube_inner{
  position: relative;
  background-color: #fff;
  border-radius: 10px;
  padding: 25px;
  margin: auto;
  text-align: center;
}
.youtube_inner:before, .youtube_inner:after{
  position: absolute;
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: cover;
  width: 80px;
  height: 85px;
}
.youtube_inner:before{
  background-image: url(../img/youtube_star_left.png);
  bottom: 30px;
  left: 10px;
}
.youtube_inner:after{
  background-image: url(../img/youtube_star_right.png);
  top: 30px;
  right: 10px;
}
.youtube_ttl{
  position: relative;
  font-size: 20px;
  color: #0852A3;
  text-align: center;
  margin-bottom: 20px;
}
.youtube_ttl:before, .youtube_ttl:after{
  position: absolute;
  top: 3px;
  content: "";
  display: inline-block;
  background-image: url(../img/youtube_ttl.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 20px;
  height: 22px;
}
.youtube_ttl:before{
  left: 55px;
}
.youtube_ttl:after{
  right: 65px;
  transform: rotate(70deg);
}
.youtube_content{
  position: relative;
  width: 430px;
  margin: 0 auto;
}
.youtube_content .grow_btn{
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90px;
  height: 90px;
  transition: 0.5s all;
}
.youtube_content .grow_btn:hover {
    position: absolute;
    transform: translate(-50%, -50%) scale(1.2, 1.2);
    transition: 0.5s all;
}
.feature .youtube_block{
  margin-top: 60px;
  margin-bottom: 0;
}

/* ファーストビューをスライドショーに変更 */
.hero__slider {
  position: relative;
}
.hero__bg02 {
  padding: 40px 0 35px;
  background-color: #fff;
  background-image: url(../../src_pc/img/fv_slide_bg.png);
  background-size: cover;
}
.swiper-pagination {
  position: relative;
  margin-top: 15px;
}
.swiper-pagination-bullet {
  width: 150px;
  height: 65px;
  display: inline-block;
  border-radius: 10px;
  background: #FFFFFF;
  box-shadow: none;
  border: solid 3px #FFFFFF;
  background-size: cover;
  margin: 0 5px;
  opacity: 1;
}
.swiper-pagination-bullet:nth-of-type(1) {
  /*background-image: url(../../src_pc/img/pc_4.png);*/
  background-image: url(../../src_pc/img/slide01.png);
}
.swiper-pagination-bullet:nth-of-type(2) {
  /*background-image: url(../../src_pc/img/pc_2.png);*/
  background-image: url(../../src_pc/img/slide02.png);
}
.swiper-pagination-bullet:nth-of-type(3) {
  /*background-image: url(../../src_pc/img/pc_3.png);*/
  background-image: url(../../src_pc/img/slide03.png);
}
/* .swiper-pagination-bullet:nth-of-type(4) {
  background-image: url(../../src_pc/img/pc_4.png);
} */
.swiper-pagination-bullet-active {
  -webkit-transition: 0.2s;
  border: 3px solid #AA77B4;
  transition: 0.2s;
}
.swiper-button-next {
  background-image: url(../../src_pc/img/mv_slider_arrow.png);
  right: -30px;
}
.swiper-button-prev {
  background-image: url(../../src_pc/img/mv_slider_arrow.png);
  transform: scale(-1, 1);
  left: -30px;
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 40%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  width: 48px;
  height: 48px;
  background-size: 48px 48px;
  margin-top: -24px;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  content: none !important;
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: "prev";
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: "next";
}
/* ファーストビューをスライドショーに変更 ここまで */

/*▼予約入会制度 移植 24.3.5*/
.res__bg01 {
  padding: 58px 0 75px;
  background: #ffb700;
}
.res__ttl01 {
  width: 653px;
  margin: 0 auto;
}
.res__list {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.res__item {
  position: relative;
  width: 319px;
  height: 490px;
  border-radius: 38px;
  background-color: #fff;
}
.res__ttl02 {
  position: absolute;
  top: 0;
  left: 0;
}
.res__txt02 {
  height: 370px;
}
.res__txt03 {
  padding: 0 25px;
  font-size: 18px;
}
.res__bg02 {
  padding: 37px 0 50px;
  background: #ff9600;
}
.res__txt01 {
  color: #fff;
  font-size: 19.5px;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.64;
  text-align: center;
}
/*▲予約入会制度 移植 24.3.5*/	

/*▼よくある質問CVテキストリンク追加*/
	/*▼文章高さ調整*/
.faq__desc.height01 {
    height: 253px;
}	
	/*▲文章高さ調整*/
.faq .faq_btn_area {
    padding: 18px 0 0;
    display: block;
}
.faq .faq_btn_area .faq_btn {
    padding: 0px 0 6px;
    display: block;
}	
.faq .faq_btn_area .faq_btn .link {
	position:relative;
    font-size: 18px;
    color: #000;
    font-weight: bold;
    text-decoration: none;
	letter-spacing:0;
}	
.faq .faq_btn_area .faq_btn .link:hover {
    opacity:0.8;
}
.faq .faq_btn_area .faq_btn .link::before {
    position: absolute;
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #65ab15;
    top: 3px;
    right: -24px;
    z-index: 1;
}
.faq .faq_btn_area .faq_btn .link::after {
    position: absolute;
    content: '';
    width: 5px;
    height: 5px;
    border-top: 2px solid #ffff00;
    border-right: 2px solid #ffff00;
    transform: rotate(45deg);
    top: 8px;
    right: -19px;
    z-index: 2;
}
/*▲よくある質問CVテキストリンク追加*/

/*▼教室数*/
.feature .school_sup{
	font-size:60%;
	vertical-align:super;
}
.cta__mark {
    padding: 52px 0 0 28px;
	font-size: 24px;
}
.cta .cta__mark .school_sup {
    font-size:60%;
	vertical-align: super;
}	
.cta .cta__mark .school_anno {
    font-size: 12px;
    font-weight: normal;
	vertical-align: 8px;
}	
/*▲教室数*/



/*▼MV下動画*/
.movie2410 {
	padding: 40px 0 60px;
	background: #ffb700;
}

.movie2410 .movie2410_ttl {
	text-align: center;
	font-size: 32px;
	color: #000;
	padding: 0 0 14px;
	font-weight: bold;
}
.movie2410 .movie2410_ttl .small{
	font-size: 26px;
}

.movie2410 .movie2410_if {
	width: 640px;
	margin: 0 auto;
}

.movie2410 iframe {
	width: 100%;
	height: 360px;
}
/*▲MV下動画*/



/*▼グループ*/
.group {
    width: 1000px;
    margin: 0 auto;
	padding:0 0 60px;
}
.group .group_count {
	position: relative;
	background: url(../img/group_bg01.png) no-repeat center top / 88%;
	height: 206px;
	padding: 99px 0 0;
}	
.group .group_count .group_count_txt01 {
	position:relative;
	background:#FFE037;
	width: 58%;
	margin: 0 auto;
	padding: 6px 0 0;
	border-radius: 100px;
	font-size: 28px;
	letter-spacing: 0.05em;
	text-align: center;
}	
.group .group_count .group_count_txt01::before {
	position:absolute;
	content:'';
	width:0;
	height:0;
	border:10px solid transparent;
	border-top:10px solid #FFE037;
	border-right:10px solid #FFE037;
	bottom:-10px;
	left:50%;
	transform:translate(-50%);
	transform: rotate(135deg);
}	
.group .group_count .group_count_txt01 .group_color01{
	color:#F67702;
}
.group .group_count .group_count_txt01 .group_color01 .group_big01{
	font-size:46px;
	font-weight:bold;
}
.group .group_count .group_count_txt01 .group_ano01{
	font-size:12px;
}
.group .group_count .group_count_txt02 {
	font-size: 14px;
	color: #666;
	text-align: right;
	padding: 6px 21% 0 0;
}	
/*▲グループ*/


/*▼イベント シーズン*/
.event_season {
    background: #F5FCFF;
    padding: 60px 0 60px;
}

.event_season .event_season_inner {
	position:relative;
    width: 1000px;
    margin: 0 auto;
	
}
.event_season .img_block{}
.event_season .event_season_movie01 {
    position: absolute;
    top: 281px;
    right: 0;
    width: 371px;
    border: 25px solid #2565bf;
    border-radius: 20px;
    box-sizing: border-box;
}

.event_season .event_season_movie02{
    position: absolute;
    top: 559px;
    left: 0;
    width: 371px;
    border: 25px solid #2565bf;
    border-radius: 20px;
    box-sizing: border-box;
}

/*▲イベント シーズン*/


/*▼アンケート*/
.survey {
	background:#FFFCE9;
	padding: 40px 0 60px;
}
.survey .survey_inner{
	width:1000px;
	margin:0 auto;
}
.survey .img_block{}
/*▲アンケート*/


/*▼入会までの流れ*/
.flow_v2 {
	padding: 60px 0 60px;
}
.flow_v2 .flow_v2_inner {
	position: relative;
    width: 1000px;
    margin: 0 auto;
}
.flow_v2 .img_block{}
.flow_v2 .flow_v2_btn {
    position: absolute;
    top: 335px;
    left: 337px;
    width: 242px;
}
.flow_v2 .flow_v2_btn:hover {
    opacity:0.8;
}
/*▲入会までの流れ*/

/*▼英語が楽しい*/
.en_fun {
	padding: 0 0 60px;
}
.en_fun .en_fun_inner{
	position:relative;
}
.en_fun .img_block {
    width: 1800px;
    position: relative;
    left: 50%;
    transform: translate(-50%);
}
/*▲英語が楽しい*/

/*▼FV*/
.fv{}
.fv .fv_inner{
	width:1000px;
	margin:0 auto;
}
.fv .fv_ttl{}
.fv .fv_movie{}
/*▲FV*/

/*▼CTA_v2*/
.cta_v2{
	background:#FFB700;
	padding:40px 0 60px;
}
.cta_v2 .cta_v2_inner{
	width:1000px;
	margin:0 auto;
}
.cta_v2 .cta_v2_bnr{
	width:80%;
	margin:0 auto;
	padding:0 0 20px;
}
.cta_v2 .cta_v2_block{
	position:relative;
}
.cta_v2 .cta_v2_block .img_block01{}
.cta_v2 .cta_v2_block .cta_v2_block_btn {
    position: absolute;
    display: block;
    width: 60%;
    top: 95px;
    left: 207px;
}
.cta_v2 .cta_v2_block .cta_v2_block_btn:hover {
    opacity:0.8;
}
/*▲CTA_v2*/

/*▼スクール情報*/
.school{
	background: #FFFFD0;
	padding: 60px 0 80px;
}
.school .school_inner{
	width:1000px;
	margin:0 auto;
}
.school .img_block01 {
    width: 64%;
    margin: 0 auto;
    padding: 0 0 30px;
}
.school .school_ttl {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    padding: 0 0 24px;
    color: #333;
}
.school .school_cont01 {
    display: flex;
    justify-content: space-between;
    align-items: start;
	padding: 0 0 40px;
}
.school .school_cont01 .school_cont01_map{
	width:48%;
}
.school .school_cont01 .school_cont01_map iframe {
    width: 100%;
    height: 260px;
}
.school .school_cont01 .school_cont01_detail{
	width:48%;
}
	/*住所＋アクセス*/
.school .school_cont01 .school_cont01_detail .school_cont01_detail_txtblock{}
.school .school_cont01 .school_cont01_detail .school_cont01_detail_txtblock .school_cont01_detail_txtblock_ttl {
    background: #FFB700;
    font-size: 22px;
    font-weight: bold;
	color:#333;
    padding: 2px 0 2px 10px;
    margin: 0 0 14px;
}
.school .school_cont01 .school_cont01_detail .school_cont01_detail_txtblock .school_cont01_detail_txtblock_txt {
    font-size: 20px;
	color:#333;
	padding: 0 0 20px 10px;
}
.school .school_cont01 .school_cont01_detail .school_cont01_detail_txtblock .school_cont01_detail_txtblock_txt:last-child{
	padding-bottom:0;
}

.school .school_btn {
    display: block;
    width: 62%;
    margin: 0 auto;
}
/*▲スクール情報*/
