@charset "UTF-8";
/*===============================================================================
body
===============================================================================*/
body { font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif; }

/*===============================================================================
header
===============================================================================*/
.header-bg { padding: 10px 0; }

.header-inner { margin: 0 auto; padding: 0; }

.header-wrap { display: flex; align-items: center; }

.header-logo { width: 173px; }

.header-txt { width: 209px; margin: 0 0 0 25px; }

.header-btn { position: absolute; top: -4px; right: 0; width: 198px; }

/*===============================================================================
fv
===============================================================================*/
.fv-bg { background: #551b86; }

.fv-wrap { position: relative; }

.fv-img { position: relative; width: 2000px; left: 50%; transform: translateX(-50%); }

.fv-txt01 { width: 774px; position: absolute; top: 36%; left: 50%; transform: translate(-50%, -50%); }

.fv-wrap { padding: 15px 0 35px; display: flex; justify-content: flex-end; align-items: center; }

.fv-txt02 { width: 448px; }

.fv-btn { width: 502px; margin: 0 0 0 25px; }

/*===============================================================================
grow
===============================================================================*/
.grow-bg { padding: 25px 0 120px; background: url(../img/grow_bg01.png); }

.grow-ttl { width: 1016px; margin: 0 0 0 26px; }

.grow-list { margin: -20px 0 0; }

.grow-item { position: relative; margin-bottom: 46px; }

.grow-item:last-child { margin-bottom: 0; }

.grow-item:last-child::after { display: none; }

/*.grow-item::after { position: absolute; z-index: 2; bottom: -52px; left: 50%; width: 32px; height: 63px; background: url(../img/grow_arrow01.png) no-repeat 50% 0; background-size: cover; transform: translate(-50%, 0); content: ''; }*/

.grow-age { position: absolute; top: 50%; transform: translateY(-50%); width: 134px; }

.grow-box { padding-bottom: 35px; background: url(../img/grow_bg02.png); border: solid 6px #fff; border-radius: 10px; width: 860px; margin: 0 auto; }

.grow-box .txt { width: 599px; margin: -14px 0 0 145px; }

/*===============================================================================
grow02
===============================================================================*/
.grow02-bg { padding: 25px 0 120px; background: url(../img/grow02_bg01.png); }

.grow02-ttl { width: 1016px; margin: 0 0 0 26px; }

.grow02-list { margin: -20px 0 0; }

.grow02-item { position: relative; margin-bottom: 46px; }

.grow02-item:last-child { margin-bottom: 0; }

.grow02-item:last-child::after { display: none; }

/*.grow02-item::after { position: absolute; z-index: 2; bottom: -52px; left: 50%; width: 32px; height: 63px; background: url(../img/grow02_arrow01.png) no-repeat 50% 0; background-size: cover; transform: translate(-50%, 0); content: ''; }*/

.grow02-age { position: absolute; top: 50%; transform: translateY(-50%); width: 134px; }

.grow02-box { padding-bottom: 35px; background: url(../img/grow02_bg02.png); border: solid 6px #fff; border-radius: 10px; width: 860px; margin: 0 auto; }

.grow02-box .txt { width: 599px; margin: -14px 0 0 145px; }

/*===============================================================================
skills
===============================================================================*/
.skills-bg { padding: 0 0 80px; }

.skills-ttl { position: relative; margin: -50px 0 0; background: url(../img/skills_ttl_bg01.png) no-repeat 50% 0; }

.skills-ttl .ttl01 { position: relative; width: 429px; margin: 0 auto; padding-top: 123px; }

.skills-ttl .ttl01::after { position: absolute; top: 34px; right: -372px; width: 166px; height: 309px; background: url(../img/skills_ttl_deco01.png) no-repeat 50% 0; background-size: cover; transform: translate(-50%, 0); content: ''; }

.skills-ttl .ttl02 { width: 665px; margin: 22px auto 0; }

.skills-item { position: relative; width: 818px; margin: 40px auto 0; }

.skills-item:nth-child(1) { margin: 25px auto 0; }

.skills-item .movie { width: 800px; border: solid 6px #deb9fe; border-radius: 27px; }

.skills-item .btn { position: absolute; width: 76px; height: 75px; top: 34%; left: 50%; transform: translateX(-50%); }

.skills-item .ttl { position: absolute; width: 436px; bottom: 11%; left: 50%; transform: translateX(-50%); }

.skills-item .txt { margin: 44px 0 0; font-size: 26px; letter-spacing: .04em; text-align: center; }

/*===============================================================================
cta
===============================================================================*/
.cta-bg { padding: 10px 0 40px; background: #551b86; }

.cta-circle { position: absolute; width: 163px; top: -46px; right: 21px; }

.cta-ttl01 { position: relative; width: 1023px; margin: 0 0 0 -13px; }

.cta-wrap { margin: -24px 0 0; padding: 34px 50px 30px; background: #fff; border: solid #deb9fe 10px; border-radius: 20px; }

.cta-wrap::before { position: absolute; top: 72px; right: -158px; width: 310px; height: 231px; background: url(../img/cta_deco01.png) no-repeat 50% 0; background-size: cover; transform: translate(-50%, 0); content: ''; }

.cta-txt01 { width: 510px; margin: 0 0 0 104px; }

.cta-btn { position: relative; z-index: 2; display: block; width: 882px; margin: 30px auto 0; }

/*===============================================================================
voice
===============================================================================*/
.voice-bg { padding: 0 0 100px; background: #eefbfe; }

.voice-ttl { width: 966px; margin: 0 0 0 -202px; }

.voice-list { display: flex; flex-wrap: wrap; justify-content: space-between; margin: -57px 0 0; }

.voice-item { width: 480px; background: #fff; border: solid #551b86 10px; border-radius: 20px; }

.voice-item-ttl { padding: 8px 19px 24px; background: #551b86; }

.voice-item-ttl .ttl { width: 445px; margin: 0 auto; }

.voice-item-ttl .name { margin: 15px 0 0; background: #fff; border-radius: 30px; color: #551b87; font-size: 20px; letter-spacing: .06em; line-height: 1.7; text-align: center; }

.voice-item-txt { padding: 22px 26px 40px; font-size: 16px; letter-spacing: .02em; line-height: 1.93; }

/*===============================================================================
process
===============================================================================*/
.process-bg { padding: 80px 0 110px; background: #f8f8f8; }

.process-inner::before { position: absolute; top: 53px; right: -252px; width: 260px; height: 463px; background: url(../img/process_deco01.png) no-repeat 50% 0; background-size: cover; transform: translate(-50%, 0); content: ''; }

.process-ttl01 { width: 1008px; margin: 0 auto; }

.process-ttl02 { position: relative; margin: 30px 0 0 22px; font-size: 30px; line-height: 2; letter-spacing: .02em; text-align: center; }

.process-lead { width: 453px; margin: 12px auto 0; }

.process-item { margin: 30px 0 0; display: flex; }

.process-item:first-child { margin: 20px 0 0; }

.process-item .ttl { width: 365px; }

.process-item .txt { width: 560px; margin-left: 32px; font-size: 24px; line-height: 2.2; letter-spacing: .06em; }

.process-ttl03 { width: 1055px; margin: 0 0 0 -29px; }

/*===============================================================================
curriculum
===============================================================================*/
.curriculum-top { position: relative; margin: -50px 0 0; padding: 138px 0 71px; background: url(../img/curriculum_bg01.png) no-repeat 50% 0; }

.curriculum-top::after { position: absolute; bottom: -20px; left: 50%; border-style: solid; border-width: 20px 12.5px 0 12.5px; border-color: #3c1e88 transparent transparent transparent; background: url() no-repeat 50% 0; background-size: cover; transform: translate(-50%, 0); content: ''; }

.curriculum-ttl { width: 1060px; margin: 0 auto; }

.curriculum-wrap { position: absolute; left: 50%; transform: translateX(-50%); z-index: 2; width: 1292px; height: 829px; background: url(../img/curriculum_bg02.png) no-repeat 50% 0; }

.curriculum-list { padding: 58px 0 0; }

.curriculum-item { position: relative; margin-bottom: 30px; }

.curriculum-item:first-child .curriculum-box .txt { width: 715px; }

.curriculum-item:nth-child(2) .curriculum-box .txt { width: 690px; }

.curriculum-item:last-child { margin-bottom: 0; }

.curriculum-item:last-child .curriculum-box .txt { width: 642px; }

.curriculum-num { position: absolute; top: 50%; left: 15px; transform: translateY(-50%); width: 91px; }

.curriculum-box { padding: 45px 0; background: #fff; border: solid 10px #ded4fa; border-radius: 30px; width: 900px; margin: 0 auto; }

.curriculum-box .txt { margin: 0 auto; }

.curriculum-ttl02 { width: 1016px; margin: 57px auto 0; }

.curriculum-ttl03 { width: 1076px; margin: -24px 0 0 -35px; }

/*===============================================================================
feature
===============================================================================*/
.feature .pink { color: #fd3d93; }

.feature-bg { padding: 137px 0 97px; background: url(../img/feature_bg.png); }

.feature-item { margin-bottom: 60px; padding: 0 100px; background: #fff; border-radius: 20px; }

.feature-item .top { position: relative; left: -100px; width: 1000px; padding: 40px; background: #3c1e88; border-radius: 20px 20px 0 0; }

.feature-item .top .ttl01 { width: 896px; margin: 0 auto; }

.feature-item-box01 { position: relative; padding: 30px 0 0; }

.feature-item-box01 .img01 { width: 800px; margin: 0 auto; }

.feature-item-box01 .txt01 { width: 496px; margin: 20px auto 0; }

.feature-item-box01 .txt02 { margin: 15px 0 0; font-size: 26px; letter-spacing: .02em; line-height: 1.76; text-align: center; }

.feature-item-box01 .txt03 { margin: 13px 0 0; font-size: 18px; line-height: 1.88; letter-spacing: .02em; }

.feature-item-box01 .wrap { position: relative; background: #f4f2fb; margin: 51px 0 0; padding: 35px; border-radius: 10px; }

.feature-item-box01 .wrap::before { position: absolute; top: -17%; left: 50%; width: 26px; height: 49px; background: url(../img/feature_arrow01.png) no-repeat 50% 0; background-size: cover; transform: translate(-50%, 0); content: ''; }

.feature-item-box01 .wrap .lead { width: 724px; margin: 0 auto; }

.feature-item-box01 .wrap .list { display: flex; justify-content: space-around; margin: 31px auto 0; border-radius: 15px; }

.feature-item-box01 .wrap .list .item { width: 230px; }

.feature-item-box01 .wrap .list .item .num { width: 167px; margin: 0 auto; }

.feature-item-box01 .wrap .list .item .txt { margin: 7px 0 0; font-size: 20px; line-height: 1.5; letter-spacing: .04em; text-align: center; }

.feature-item .bottom .ttl02 { width: 872px; margin: 0 0 0 -31px; }

.feature-item:nth-child(3) { margin-bottom: 0; }

.feature-item.feature01 .audio-btn:hover { opacity: .8; cursor: pointer; }

.feature-item.feature01 .feature-item-box02 { margin: 32px 0 0; }

.feature-item.feature01 .feature-item-box02 .txt01 { width: 279px; margin: 0 auto; }

.feature-item.feature01 .feature-item-box02 .txt02 { padding: 13px; background: #daf1ff; border: solid 3px #ccebf9; color: #1375ae; font-size: 20px; text-align: center; letter-spacing: .04em; }

.feature-item.feature01 .feature-item-box02 .txt02 .big { font-size: 25px; }

.feature-item.feature01 .feature-item-box02 .flex { justify-content: space-between; }

.feature-item.feature01 .feature-item-box02 .flex .wrap01, .feature-item.feature01 .feature-item-box02 .flex .wrap02 { width: 378px; }

.feature-item.feature01 .feature-item-box02 .flex .wrap01 .list, .feature-item.feature01 .feature-item-box02 .flex .wrap02 .list { width: 350px; margin: 30px auto 0; background: url(../img/pronunciation_icon01.png) no-repeat 38% 33%; background-size: 184px 14px; }

.feature-item.feature01 .feature-item-box02 .flex .wrap01 .list .item, .feature-item.feature01 .feature-item-box02 .flex .wrap02 .list .item { width: 57px; }

.feature-item.feature01 .feature-item-box02 .flex .wrap01 .list .item .sound, .feature-item.feature01 .feature-item-box02 .flex .wrap02 .list .item .sound { margin: 10px 0 0; font-size: 13px; text-align: center; }

.feature-item.feature01 .feature-item-box02 .flex .wrap01 .list .item:last-child, .feature-item.feature01 .feature-item-box02 .flex .wrap02 .list .item:last-child { width: 97px; }

.feature-item.feature01 .feature-item-box02 .flex .wrap01 .txt, .feature-item.feature01 .feature-item-box02 .flex .wrap02 .txt { margin: 21px 0 0; padding: 19px; background: #f4f2fb; font-size: 18px; line-height: 1.88; letter-spacing: .02em; }

.feature-item.feature01 .feature-item-box02 .wrap03 { position: relative; margin: 60px 0 0; padding: 60px 40px 0; background: #daf1ff; border-radius: 20px; }

.feature-item.feature01 .feature-item-box02 .wrap03 .txt04 { position: absolute; top: -20px; left: 50%; transform: translateX(-50%); }

.feature-item.feature01 .feature-item-box02 .wrap03 .txt05 { color: #1375ae; font-size: 38px; line-height: 1.26; letter-spacing: .06em; text-align: center; }

.feature-item.feature01 .feature-item-box02 .wrap03 .txt06 { margin: 24px 0 0; text-align: center; font-size: 19px; letter-spacing: .06em; }

.feature-item.feature01 .feature-item-box02 .wrap03 .txt06 .big { font-size: 24px; }

.feature-item.feature01 .feature-item-box02 .wrap03 .list { margin: 31px 0 0px; display: flex; justify-content: space-between; }

.feature-item.feature01 .feature-item-box02 .wrap03 .txt07 { margin: 30px -40px 0; padding: 14px 14px 24px; color: #fff; background: #1375ae; border-radius: 0 0 20px 20px; font-size: 16px; line-height: 1.625; text-align: center; }

.feature-item.feature01 .feature-item-box02 .wrap03 .txt07 .bold { font-size: 32px; }

.feature-item.feature01 .ttl02 { width: 872px; margin: 0 0 0 -33px; }

.feature .feature02 .top .ttl01 { width: 904px; }

.feature .feature02 .feature-item-box01 .txt02 { margin: 32px 0 0; }

.feature .feature02 .feature-item-box01 .lead { width: 725px; }

.feature .feature02 .feature-item-box02 { margin: 40px 0 0; }

.feature .feature02 .feature-item-box02 .txt { width: 279px; margin: 0 auto; }

.feature .feature02 .feature-item-box02 .list { margin: 10px 0 0; }

.feature .feature02 .feature-item-box02 .list .item { width: 100%; }

.feature .feature02 .feature-item-box02 .list .item .txt02 { padding: 5px; border-radius: 10px; background: #daf1ff; color: #1375ae; font-size: 20px; letter-spacing: .04em; text-align: center; }

.feature .feature02 .feature-item-box02 .list .item .txt02 .num { font-size: 26px; }

.feature .feature02 .feature-item-box02 .list .item .txt03 { color: #1375ae; font-size: 30px; letter-spacing: .04em; line-height: 1.1; }

.feature .feature02 .feature-item-box02 .list .item .txt03 .small { font-size: 26px; }

.feature .feature02 .feature-item-box02 .list .item .txt04 { margin: 15px 0 0; font-size: 20px; line-height: 1.6; letter-spacing: .04em; }

.feature .feature02 .feature-item-box02 .list .item .txt05 { margin: 20px 0 0; font-size: 18px; line-height: 1.88; }

.feature .feature02 .feature-item-box02 .list .item .wrap { display: flex; justify-content: space-between; align-items: center; padding: 30px 0 35px; }

.feature .feature02 .feature-item-box02 .list .item .wrap .txt-box { width: 400px; }

.feature .feature02 .feature-item-box02 .list .item .wrap .img { width: 244px; margin-right: 65px; }

.feature .feature02 .feature-item-box02 .list .item:nth-child(2) .wrap .img, .feature .feature02 .feature-item-box02 .list .item:nth-child(3) .wrap .img { width: 370px; margin: 0; }

.feature .feature03 { padding-bottom: 60px; }

.feature .feature03 .top .ttl01 { width: 904px; }

.feature .feature03 .feature-item-box01 .txt02 { margin: 32px 0 0; }

.feature .feature03 .feature-item-box01 .lead { width: 725px; }

.feature .feature03 .feature-item-box01 .wrap { padding: 35px 0; }

.feature .feature03 .feature-item-box01 .wrap .list .item { width: 266px; }

.feature .feature03 .feature-item-box01 .wrap .list:nth-child(2) .txt { margin: 7px -15px 0; }

.feature .feature03 .feature-item-box02 { margin: 31px 0 0; }

.feature .feature03 .feature-item-box02 .txt { width: 279px; margin: 0 auto; }

.feature .feature03 .feature-item-box02 .list { margin: 5px -30px 0 0; display: flex; flex-wrap: wrap; justify-content: center; }

.feature .feature03 .feature-item-box02 .list .item { width: 244px; margin-right: 30px; padding: 16px 0 51px; background: #daf1ff; border-radius: 10px; }

.feature .feature03 .feature-item-box02 .list .item .txt02 { color: #1375ae; font-size: 22px; text-align: center; line-height: 1; }

.feature .feature03 .feature-item-box02 .list .item .txt03 { text-align: center; }

.feature .feature03 .feature-item-box02 .list .item .img { margin: 10px 0 0; }

.feature .feature03 .feature-item-box02 .list .item .txt04 { padding: 13px 10px 0; font-size: 16px; line-height: 1.81; letter-spacing: .04em; text-align: center; }

.feature .feature03 .feature-item-box02 .list .item:nth-child(n+4) { margin: 38px 30px 0 0; }

.feature .bottom { margin: 40px 0 0; background: url(../img/feature_ttl04_bg.png) no-repeat 50% 16%; }

.feature .bottom .feature-ttl04 { position: relative; left: 47%; transform: translateX(-47%); width: 1007px; }

.feature .bottom .feature-ttl05 { width: 983px; margin: -26px auto 0; }

/*===============================================================================
support
===============================================================================*/
.support-bg { padding: 80px 0 30px; background: #f8f8f8; }

.support-ttl01 { width: 1010px; }

.support-list { margin: 17px 0 0; }

.support-item .ttl { margin-bottom: 30px; }

.support-item .flex { padding: 0 40px 50px; justify-content: space-between; align-items: center; }

.support-item .flex .img { width: 359px; }

.support-item .flex .txt-box { width: 532px; }

.support-item .flex .txt-box .txt { margin: -10px 0 0; font-size: 18px; letter-spacing: .02em; line-height: 1.88; }

.support-item .flex .txt-box .note { margin: 20px 0 0; padding: 26px; background: #eaeaea; font-size: 12px; line-height: 1.66; letter-spacing: .04em; text-align: center; }

.support-item:nth-child(even) .flex { flex-direction: row-reverse; }

/*===============================================================================
event
===============================================================================*/
.event-bg { padding: 20px 0 95px; background: #fdfcea; }

.event-ttl { width: 1316px; margin: 0 0 0 -129px; }

.event-list { display: flex; justify-content: space-between; margin: 27px 0 0; }

.event-item { width: 311px; }

.event-item .box { height: 399px; margin: 10px 0 0; background: #fff; border: solid 7px #fadde7; border-radius: 10px; }

.event-item .box .img { width: 297px; }

.event-item .box .txt { padding: 15px; font-size: 16px; line-height: 2; letter-spacing: .04em; }

/*===============================================================================
reason
===============================================================================*/
.reason-bg { padding: 25px 0 123px; background: #f2f2f2; }

.reason-ttl { width: 1017px; margin: 0 0 0 -20px; }

.reason-list { margin: 37px 0 0; }

.reason-item { position: relative; display: flex; justify-content: space-between; overflow: hidden; margin-bottom: 42px; padding: 60px 37px 54px; background: #fff; border-radius: 8px; }

.reason-item::before { position: absolute; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 91px 91px 0 0; border-color: #551b86 transparent transparent transparent; content: ''; }

.reason-item .num { position: absolute; top: 17px; left: 11px; width: 31px; }

.reason-item .box .ttl { margin-left: 6px; }

.reason-item .box .txt { width: 460px; margin: 23px 0 0; font-size: 18px; line-height: 1.88; letter-spacing: .02em; }

.reason-item .img { width: 393px; margin: 10px 0 0; }

.reason-item:nth-child(2) { padding: 60px 38px 42px; }

.reason-item:nth-child(2) .num { width: 41px; left: 7px; }

.reason-item:nth-child(2) .img { width: 403px; margin: 65px 0 0; }

.reason-item:last-child { margin: 0; padding: 60px 37px 64px; }

.reason-item:last-child .img { width: 400px; margin: 0; }

.reason-item:last-child .note { position: absolute; right: 242px; bottom: 33px; font-size: 13px; letter-spacing: .04em; }

.reason-item:last-child .num { width: 38px; left: 7px; }

/*===============================================================================
flow
===============================================================================*/
.flow-top { position: relative; top: -50px; padding: 90px 0 0; background: url(../img/flow_ttl_bg.png) no-repeat 50% 0; }

.flow-bg { padding-bottom: 100px; background: #fdedfb; }

.flow-ttl { position: relative; width: 869px; margin: 0 0 0 auto; }

.flow-list { margin: -84px 0 0; }

.flow-item { position: relative; width: 920px; margin: 0 0 40px auto; padding: 35px 70px 35px 110px; background: #fff; border-radius: 10px; }

.flow-item .flex { justify-content: space-between; }

.flow-item .num { position: absolute; left: -83px; top: 10px; }

.flow-item .ttl { margin: 16px 0 0; }

.flow-item .ttl02 { margin: 25px 0 0; font-size: 23px; line-height: 1.56; }

.flow-item .txt { width: 541px; margin: 31px 0 0; font-size: 18px; line-height: 1.88; }

.flow-item .img { width: 160px; }

.flow-item .btn { width: 380px; margin: 10px 0 0; }

.flow-item:first-child { padding: 35px 70px 46px 110px; }

.flow-item:last-child { margin: 0 0 0 auto; }

.flow-item:last-child .txt { margin: 15px 0 0; }

/*===============================================================================
apply
===============================================================================*/
.apply-top { background: #3c1e88; }

.apply-ttl { width: 561px; margin: 0 auto; padding: 32px 0; }

.apply-bg { padding: 31px 0; background: #f8f8f8; }

.apply-wrap { display: flex; justify-content: space-between; }

.apply-wrap .txt-box { margin: 0 0 0 38px; }

.apply-wrap .txt-box .num { width: 436px; margin: 32px 0 0; }

.apply-wrap .txt-box .note { margin: 23px 0 0; color: #3c1e88; font-size: 14px; letter-spacing: .04em; text-align: center; }

.apply-wrap .img { width: 356px; margin-right: 103px; }

/*===============================================================================
faq
===============================================================================*/
.faq-bg { padding: 0 0 90px; background: url(../img/faq_bg01.png); }

.faq-ttl { width: 660px; position: relative; left: 18px; }

.faq-list { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; }

.faq-item { width: 465px; margin: 40px 0 0; }

.faq-item:nth-child(1), .faq-item:nth-child(2) { margin: 0; }

.faq .question { display: flex; align-items: center; height: 114px; padding: 0 0 0 72px; background: url(../img/faq_bg03.png) no-repeat center/cover; font-size: 22px; font-weight: 700; letter-spacing: .06em; line-height: 1.72; cursor: pointer; }

.faq .question.open { background: url(../img/faq_bg02.png) no-repeat center/cover; }

.faq .answer { display: none; padding: 20px 15px 0; font-size: 18px; line-height: 1.88; background:#fff; padding:20px 15px 20px; border-radius: 0 0 10px 10px; }


/*===============================================================================
footer
===============================================================================*/
.footer-bg { padding: 40px 0; background: #460d78; }

.footer-txt { color: #fff; font-size: 12px; line-height: 1; text-align: center; }


/* 資料請求ボタンFV▼ */
.req_top{
	position:relative;
}
.req_top .req_inner {
    position: absolute;
    bottom: 26px;
    right: 135px;
}	
.req_top a {
    color: #fff;
    font-size: 24px;
    display: inline-block;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: relative;
	padding: 0 0 0 6px;
}	
.req_top a::before {
    position: absolute;
    content: '';
    top: 4px;
    left: -30px;
    width: 14px;
    height: 14px;
    border-top: 4px solid white;
    border-right: 4px solid white;
    transform: rotate(45deg);
}
.req_top a::after {
    position: absolute;
    content: '';
    bottom: -6px;
    left: 0;
    width: 100%;
    height: 0;
    border-bottom: 2px solid white;
}
/* 資料請求ボタンFV▲ */

/*資料請求ボタンCTA▼*/
.req_cta{
	padding: 16px 0 0 0;
}
.req_cta .req_inner{
	text-align: center;
}
.req_cta a {
    color: #551b86;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.06em;
    position: relative;
    display: inline-block;
	padding: 0 2px 0 6px;
}	
.req_cta a::before {
    position: absolute;
    content: '';
    top: 3px;
    left: -29px;
    width: 14px;
    height: 14px;
    border-top: 3px solid #551b86;
    border-right: 3px solid #551b86;
    transform: rotate(45deg);
}	
.req_cta a::after {
    position: absolute;
    content: '';
    bottom: -4px;
    left: 0;
    width: 100%;
    border-bottom: 2px solid #551b86;
}	
/*資料請求ボタンCTA▲*/

/*資料請求ボタンご入会までの流れ▼*/
.req_flow{
	padding: 8px 0 0 0;
}
.req_flow .req_inner{
	padding: 0 0 0 109px;
}
.req_flow a {
    color: #551b86;
    font-size: 19px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 0 2px 0 4px;
}	
.req_flow a::before {
    position: absolute;
    content: '';
    top: 8px;
    left: -20px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #551b86;
    border-right: 2px solid #551b86;
    transform: rotate(45deg);
}	
.req_flow a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 100%;
    border-bottom: 2px solid #551b86;
}	
/*資料請求ボタンご入会までの流れ▲*/

/* 英検表記 ▼ */
.footer .eiken {
	color: #fff;
	font-size: 12px;
	text-align: center;
	margin-bottom: 0.5em;
}
/* 英検表記 ▲ */
/*▼並び替え CTA調整*/
.cta01 .cta-bg{
	padding: 10px 0 100px;
}
/*▲並び替え CTA調整*/
/*▼よくある質問内ボタン 1つver*/
.faq .faq_btn_area01,
.faq .faq_btn_area02 {
    display: block;
    padding: 12px 0 10px;
}	
.faq .faq_btn_area01 .faq_btn01,
.faq .faq_btn_area02 .faq_btn02 {
	position:relative;
    display: block;
    background: #73BF33;
    width: 86%;
    margin: 0 auto;
    text-align: center;
    padding: 6px 0;
	border-radius: 8px;
}	
.faq .faq_btn_area01 .faq_btn01 {
	box-shadow:0px 4px #548E33;
}	
.faq .faq_btn_area01 .faq_btn01 a:hover,
.faq .faq_btn_area02 .faq_btn02 a:hover {
	opacity:inherit;
}	
.faq .faq_btn_area01 .faq_btn01:hover,
.faq .faq_btn_area02 .faq_btn02:hover {
	opacity:0.8;
}	
.faq .faq_btn_area01 .faq_btn01::after,
.faq .faq_btn_area02 .faq_btn02::after {
    position: absolute;
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    top: 14px;
    right: 12px;
    background: url(../img/faq_btn_arrow.png) no-repeat 100% 100% / contain;
}	
.faq .faq_btn_area01 .faq_btn01 .btn_txt,
.faq .faq_btn_area02 .faq_btn02 .btn_txt {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
	text-shadow: -1px -1px #666;
}	
/*▲よくある質問内ボタン 1つver*/	
/*▼よくある質問内ボタン 2つver*/
.faq .faq_btn_area02 .faq_btn02.lp {
    background: #7a44b5;
    margin-bottom: 20px;
	box-shadow:0 4px #50277d;
}	
.faq .faq_btn_area02 .faq_btn02.cv {
	box-shadow:0px 4px #548E33;
}
/*▲よくある質問内ボタン 2つver*/	
