*
{
    font-family: 'Noto Sans JP', sans-serif;
}

.header
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;

    transition: background-color .3s ease;

    background-color: transparent;
}
.header--bg
{
    background-color: #fff;
}
.header__inner
{
    display: flex;

    width: min(100%, 1440px);
    margin: 0 auto;
    padding: min(.6944444444vw, 10px) min(2.7777777778vw, 40px);

    align-items: center;
    justify-content: space-between;
}
.header__title
{
    font-size: min(1.1111111111vw, 16px);
}
.header__logo
{
    width: min(10.4166666667vw, 150px);
    margin-right: min(1.1111111111vw, 16px);

    vertical-align: max(-.6944444444vw, -10px);
}
.header__cv
{
    font-size: min(1.25vw, 18px);
    line-height: 1.4;

    padding: min(1.25vw, 18px) min(2.0833333333vw, 30px);

    color: #fff;
    border-radius: min(6.9444444444vw, 100px);
    background-color: #fb8f03;
    box-shadow: 0 min(.2777777778vw, 4px) min(.2777777778vw, 4px) 0 rgba(0, 0, 0, .25);
}

.fv
{
    padding: min(9.5138888889vw, 137px) 0 0;

    background-image: url(../images/coaching/fv-bg.png);
    background-position: center;
    background-size: cover;
}
.fv__inner
{
    width: min(100%, 1440px);
    margin: 0 auto;
    padding: 0 min(10.4861111111vw, 151px) min(6.9444444444vw, 100px);

    background-image: url(../images/coaching/fv-image.png);
    background-repeat: no-repeat;
    background-position: bottom max(-.7638888889vw, -11px) right min(1.3888888889vw, 20px);
    background-size: min(51.0416666667vw, 735px) min(48.4722222222vw, 698px);
}
.fv__title
{
    font-size: min(5vw, 72px);
    font-weight: 900;
    line-height: 1.33;

    margin-bottom: min(2.1527777778vw, 31px);

    color: #093277;
}
.fv__title__box
{
    font-size: min(4.7222222222vw, 68px);
    font-weight: 900;
    line-height: 1.1;

    display: inline-block;

    margin-bottom: min(.6944444444vw, 10px);
    padding: min(.6944444444vw, 10px) min(1.0416666667vw, 15px) min(1.1111111111vw, 16px);

    color: #fff;
    background: linear-gradient(to right, #093277 4%, #2b53cd 96%);
}
.fv__title__small
{
    font-size: min(4.1666666667vw, 60px);
    font-weight: 900;

    margin-inline: min(.6944444444vw, 10px);
}
.fv__subtitle
{
    font-size: min(1.9444444444vw, 28px);
    font-weight: 700;
    line-height: 1.4285714286;

    margin-bottom: min(4.7916666667vw, 69px);

    color: #333;
}
.fv__cv
{
    font-size: min(1.6666666667vw, 24px);
    line-height: 1.4;

    position: relative;

    display: inline-block;

    padding: min(1.9444444444vw, 28px) min(6.25vw, 90px) min(1.9444444444vw, 28px) min(3.3333333333vw, 48px);

    color: #fff;
    border-radius: min(6.9444444444vw, 100px);
    background-color: #fb8f03;
    box-shadow: 0 min(.2777777778vw, 4px) min(.2777777778vw, 4px) 0 rgba(0, 0, 0, .25);
}
.fv__cv__label
{
    font-size: min(1.1111111111vw, 16px);
    font-weight: 700;
    line-height: 1;

    position: absolute;
    top: max(-1.1111111111vw, -16px);
    left: 50%;

    width: min(19.4444444444vw, 280px);
    padding: min(.4166666667vw, 6px) min(1.0416666667vw, 15px);

    transform: translateX(-50%);
    text-align: center;

    color: #fb8f03;
    border: 2px solid #fb8f03;
    border-radius: min(.1388888889vw, 2px);
    background-color: #fff;
}
.fv__cv::before
{
    position: absolute;
    top: 50%;
    right: min(3.3333333333vw, 48px);

    display: block;

    width: 0;
    height: 0;

    content: '';
    transform: translateY(-50%);

    border-top: min(.7638888889vw, 11px) solid transparent;
    border-bottom: min(.7638888889vw, 11px) solid transparent;
    border-left: min(.7638888889vw, 11px) solid #fff;
}

.about
{
    background-color: #093277;
}
.about__inner
{
    width: min(100%, 1440px);
    margin: 0 auto;
    padding: min(3.6111111111vw, 52px) 0 min(4.1666666667vw, 60px);

    background: linear-gradient(to right, #093277 0%, #0f4cb1 28%, #1a5bc8 50%, #104db2 73%, #093277 100%);
}
.about__title
{
    font-size: min(1.9444444444vw, 28px);
    font-weight: 700;
    line-height: 1.8;

    margin-bottom: min(2.2222222222vw, 32px);

    text-align: center;

    color: #fff;
}
.about__title__yellow
{
    color: #ffd900;
}
.about__title__big
{
    font-size: min(2.6388888889vw, 38px);
}
.about__description
{
    font-size: min(1.25vw, 18px);
    line-height: 2;

    text-align: center;

    color: #fff;
}

.strength
{
    padding: min(8.3333333333vw, 120px) 0;

    background-image: url(../images/coaching/voice-bg.jpg);
    background-size: cover;
}
.strength__inner
{
    width: min(100%, 1440px);
    margin: 0 auto;
}
.strength__list
{
    display: flex;
    flex-direction: column;

    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    margin-top: min(8.75vw, 126px);

    gap: min(5.5555555556vw, 80px);
}
.strength__item
{
    position: relative;

    display: flex;
    overflow: hidden;

    background-color: #093277;
    background-image: url(../images/coaching/fly-logo-bg.png);
    background-repeat: no-repeat;
    background-position: bottom max(-.1388888889vw, -2px) left 0;
    background-size: min(21.0416666667vw, 303px) min(18.6111111111vw, 268px);

    align-items: stretch;
}
.strength__item:nth-of-type(odd)
{
    flex-direction: row-reverse;

    background-position: bottom min(.2777777778vw, 4px) right max(-4.6527777778vw, -67px);
}
.strength__item__image
{
    width: min(38.8888888889vw, 560px);
    margin-top: max(-2.0833333333vw, -30px);
    margin-bottom: min(4.8611111111vw, 70px);

    align-self: flex-start;
}
.strength__item__box
{
    display: flex;
    flex-direction: column;

    width: min(44.4444444444vw, 640px);
    padding: min(2.7777777778vw, 40px) min(4.1666666667vw, 60px);

    color: #fff;

    justify-content: center;
}
.strength__item__box .point
{
    font-family: 'Montserrat', sans-serif;
    font-size: min(1.25vw, 18px);
    font-weight: 600;
    line-height: 1;

    margin-bottom: min(1.0416666667vw, 15px);

    color: #ffd900;
}
.strength__item__box .title
{
    font-size: min(1.9444444444vw, 28px);
    font-weight: 700;
    line-height: 1.4;

    margin-bottom: min(.5555555556vw, 8px);

    letter-spacing: .02em;
}
.strength__item__box .sub-title
{
    font-size: min(1.25vw, 18px);
    font-weight: 700;
    line-height: 1.8;

    margin-bottom: min(1.6666666667vw, 24px);
}
.strength__item__box .description
{
    font-size: min(1.1111111111vw, 16px);
    line-height: 1.8;
}
.strength__item__box small
{
    font-size: min(.9722222222vw, 14px);
    line-height: 1.8;

    margin-top: min(1.6666666667vw, 24px);
}

.course
{
    padding: min(8.3333333333vw, 120px) 0;

    background-image: url(../images/coaching/price-bg.jpg);
    background-size: cover;
}
.course__inner
{
    width: min(100%, 1440px);
    margin: 0 auto;
}
.course__list
{
    display: flex;

    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    margin-top: min(5.9027777778vw, 85px);
    margin-bottom: min(8.3333333333vw, 120px);

    gap: min(2.7777777778vw, 40px);
}
.course__item
{
    width: 100%;
    padding: min(2.7777777778vw, 40px) min(3.8194444444vw, 55px);

    border-right: 4px solid #093277;
    border-bottom: 4px solid #093277;
    border-radius: min(.2777777778vw, 4px);
    background-color: #fff;
}
.course__item__title
{
    font-size: min(1.8055555556vw, 26px);
    font-weight: 700;
    line-height: 1;

    margin-bottom: min(1.6666666667vw, 24px);

    text-align: center;

    color: #093277;
}
.course__item__description
{
    font-size: min(1.1111111111vw, 16px);
    line-height: 1.6;

    margin-bottom: min(2.7777777778vw, 40px);

    text-align: center;

    color: #333;
}
.course__item__image
{
    width: 100%;
}
.course .line-support
{
    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    margin-top: min(5.9027777778vw, 85px);
}
.course .line-support__head
{
    padding: min(2.0833333333vw, 30px) 0 min(2.2222222222vw, 32px);

    background: linear-gradient(to right, #093277 4%, #2b53cd 96%);
}
.course .line-support__head h3
{
    font-size: min(2.5vw, 36px);
    font-weight: 700;
    line-height: 1;

    margin-bottom: min(1.3888888889vw, 20px);

    text-align: center;

    color: #ffd900;
}
.course .line-support__head p
{
    font-size: min(1.25vw, 18px);
    line-height: 1.6;

    text-align: center;

    color: #fff;
}

.voice
{
    padding: min(8.3333333333vw, 120px) 0;

    background-image: url(../images/coaching/voice-bg.jpg);
    background-size: cover;
}
.voice__inner
{
    width: min(100%, 1440px);
    margin: 0 auto;
}
.voice__list
{
    display: flex;
    flex-direction: column;

    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    margin-top: min(5.9722222222vw, 86px);

    gap: min(2.2222222222vw, 32px);
}
.voice__item
{
    position: relative;

    display: flex;

    width: 100%;
    padding: min(2.7777777778vw, 40px) min(4.1666666667vw, 60px);

    background-color: #fff;

    gap: min(2.7777777778vw, 40px);
}
.voice__item__image
{
    width: min(20.1388888889vw, 290px);
}
.voice__item__badge
{
    position: absolute;
    top: min(1.1111111111vw, 16px);
    right: min(1.1111111111vw, 16px);

    width: min(18.1944444444vw, 262px);
}
.voice__item__box
{
    width: 100%;
}
.voice__item__title
{
    font-size: min(1.9444444444vw, 28px);
    font-weight: 700;
    line-height: 1.6;

    margin-bottom: min(1.1111111111vw, 16px);

    color: #093277;
}
.voice__item__info
{
    display: flex;

    margin-bottom: min(1.6666666667vw, 24px);

    align-items: center;
    gap: min(1.1111111111vw, 16px);
}
.voice__item__info__profiles
{
    display: flex;

    gap: min(1.1111111111vw, 16px);
}
.voice__item__info__profiles dl
{
    display: flex;

    align-items: center;
    gap: min(.5555555556vw, 8px);
}
.voice__item__info__profiles dl dt
{
    font-size: min(.9722222222vw, 14px);
    line-height: 1;

    padding: min(.2777777778vw, 4px) min(.5555555556vw, 8px);

    color: #fff;
    border-radius: min(.1388888889vw, 2px);
    background-color: #7388aa;
}
.voice__item__info__profiles dl dd
{
    font-size: min(.9722222222vw, 14px);
    line-height: 1;

    color: #333;
}
.voice__item__name
{
    font-size: min(1.3888888889vw, 20px);
    font-weight: 700;
    line-height: 1.6;

    color: #333;
}
.voice__item__text
{
    font-size: min(1.1111111111vw, 16px);
    line-height: 1.8;

    color: #333;
}

.price
{
    padding: min(8.3333333333vw, 120px) 0;

    background-image: url(../images/coaching/price-bg.jpg);
    background-size: cover;
}
.price__inner
{
    width: min(100%, 1440px);
    margin: 0 auto;
}
.price__list
{
    display: flex;

    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    margin-top: min(5.6944444444vw, 82px);
    margin-bottom: min(1.0416666667vw, 15px);

    align-items: center;
    gap: min(2.7777777778vw, 40px);
}
.price__item
{
    overflow: hidden;

    width: 100%;

    border-radius: min(.2777777778vw, 4px);
}
.price__item__wrapper
{
    display: flex;
    flex-direction: column;

    border: 4px solid;
    -o-border-image: linear-gradient(to right, #093277 4%, #2b53cd 96%) 1;
       border-image: linear-gradient(to right, #093277 4%, #2b53cd 96%) 1;

    gap: min(.2777777778vw, 4px);
}
.price__item__month
{
    font-family: 'Montserrat', sans-serif;
    font-size: min(2.2222222222vw, 32px);
    font-weight: 700;
    line-height: 1;

    padding: min(1.3888888889vw, 20px) 0;

    text-align: center;

    color: #fff;
    border-radius: 0 0 min(.2777777778vw, 4px) min(.2777777778vw, 4px);
    background: linear-gradient(to right, #093277 4%, #2b53cd 96%);
}
.price__item__box
{
    display: flex;
    flex-direction: column;

    width: 100%;
    padding: min(1.3888888889vw, 20px) min(2.7777777778vw, 40px) min(2.7777777778vw, 40px);

    border-radius: min(.2777777778vw, 4px);
    background-color: #fff;
}
.price__item__box dl
{
    display: flex;

    padding: min(1.1111111111vw, 16px) 0;

    border-top: 1px solid #d8d8d8;

    align-items: center;
    justify-content: space-between;
}
.price__item__box dl dt
{
    font-family: 'Montserrat', sans-serif;
    font-size: min(1.3888888889vw, 20px);
    font-weight: 700;
    line-height: 1;

    color: #093277;
}
.price__item__box dl dd
{
    font-family: 'Montserrat', sans-serif;
    font-size: min(1.5277777778vw, 22px);
    font-weight: 700;
    line-height: 1;

    color: #fb8f03;
}
.price__item__price__sub
{
    font-family: 'Montserrat', sans-serif;
    font-size: min(1.25vw, 18px);
    font-weight: 700;
    line-height: 1;

    color: #333;
}
.price__item__title
{
    font-size: min(1.8055555556vw, 26px);
    font-weight: 700;
    line-height: 1;

    margin-bottom: min(1.6666666667vw, 24px);

    text-align: center;

    color: #093277;
}
.price__item--recommended .price__item__box
{
    padding: min(1.9444444444vw, 28px) min(2.7777777778vw, 40px) min(3.3333333333vw, 48px);
}
.price__item--recommended .price__item__month
{
    padding: min(2.2222222222vw, 32px) 0;
}
.price__annotation
{
    font-size: min(.9722222222vw, 14px);
    line-height: 1;

    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    margin-bottom: min(2.7777777778vw, 40px);

    text-align: right;

    color: #333;
}
.price__note
{
    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    padding: min(1.1111111111vw, 16px) min(1.6666666667vw, 24px);

    border: 1px solid #333;
    border-radius: min(.2777777778vw, 4px);
}
.price__note h4
{
    font-family: 'Montserrat', sans-serif;
    font-size: min(1.1111111111vw, 16px);
    font-weight: 700;
    line-height: 1;

    margin-bottom: min(1.1111111111vw, 16px);

    color: #333;
}
.price__note ul
{
    display: flex;
    flex-direction: column;

    gap: min(1.1111111111vw, 16px);
}
.price__note ul li
{
    font-size: min(.9722222222vw, 14px);
    line-height: 1;

    list-style-position: inside;
    list-style-type: disc;

    color: #333;
}

.message
{
    padding: min(8.3333333333vw, 120px) 0;

    background: linear-gradient(to right, #093277 0%, #0f4cb1 28%, #1a5bc8 50%, #104db2 73%, #093277 100%);
}
.message .section__title__en
{
    color: rgba(255, 255, 255, .2);
}
.message .section__title__ja
{
    color: #fff;
}
.message__inner
{
    width: min(100%, 1440px);
    margin: 0 auto;
}
.message__list
{
    display: flex;
    flex-direction: column;

    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;
    margin-top: min(5.8333333333vw, 84px);

    gap: min(5.5555555556vw, 80px);
}
.message__item
{
    display: flex;

    width: 100%;
    padding: min(2.7777777778vw, 40px);

    border-radius: min(.2777777778vw, 4px);
    background-color: #fff;

    gap: min(2.7777777778vw, 40px);
}
.message__item__image
{
    width: min(20.4166666667vw, 294px);

    align-self: flex-start;
}
.message__item__box
{
    display: flex;
    flex-direction: column;

    width: 100%;

    gap: min(2.7777777778vw, 40px);
}
.message__item__text
{
    font-size: min(1.1111111111vw, 16px);
    font-weight: 500;
    line-height: 1.5;

    margin-top: min(1.3888888889vw, 20px);

    color: #333;
}
.message__item__text__bold
{
    font-weight: 700;
}
.message__item__text__orange
{
    color: #fb8f03;
}
.message__item__name
{
    font-size: min(1.1111111111vw, 16px);
    line-height: 1.5;

    text-align: right;

    color: #333;
}

.abroad
{
    padding: min(6.9444444444vw, 100px) 0;

    background-image: url(../images/coaching/abroad-bg.png);
    background-size: cover;
}
.abroad__inner
{
    display: flex;

    width: min(83.3333333333vw, 1200px);
    margin: 0 auto;

    box-shadow: 0 min(.2777777778vw, 4px) min(.2777777778vw, 4px) 0 rgba(0, 0, 0, .25);
}
.abroad__image
{
    width: min(40.6944444444vw, 586px);
}
.abroad__box
{
    width: 100%;
    padding: min(3.4722222222vw, 50px) min(2.7777777778vw, 40px);

    text-align: center;

    border-radius: 0 min(.2777777778vw, 4px) min(.2777777778vw, 4px) 0;
    background-color: #fff;
}
.abroad__box h3
{
    font-size: min(1.6666666667vw, 24px);
    font-weight: 700;
    line-height: 1.6;

    margin-bottom: min(1.3888888889vw, 20px);

    color: #093277;
}
.abroad__box p
{
    font-size: min(1.1111111111vw, 16px);
    line-height: 1.6;

    margin-bottom: min(2.7777777778vw, 40px);

    text-align: left;

    color: #333;
}
.abroad__box a
{
    font-size: min(1.5277777778vw, 22px);
    line-height: 2;

    display: inline-block;

    padding: min(.9027777778vw, 13px) min(2.7777777778vw, 40px);

    text-align: center;

    color: #fff;
    border-radius: min(2.7777777778vw, 40px);
    background-color: #5c7ef6;
    box-shadow: 0 min(.2777777778vw, 4px) min(.9722222222vw, 14px) 0 rgba(0, 0, 0, .2);
}

.contact
{
    padding: min(8.3333333333vw, 120px) 0;

    background-color: #d1daf3;
}
.contact__inner
{
    width: min(69.4444444444vw, 1000px);
    margin: 0 auto;
}
.contact__inner .line
{
    display: flex;

    margin-top: min(4.5138888889vw, 65px);
    margin-bottom: min(3.9583333333vw, 57px);
    padding: min(1.875vw, 27px) min(8.8194444444vw, 127px) min(2.2222222222vw, 32px);

    border-radius: min(.2777777778vw, 4px);
    background-color: #fff;

    align-items: center;
    gap: min(4.4444444444vw, 64px);
    justify-content: space-between;
}
.contact__inner .line p
{
    font-size: min(1.1111111111vw, 16px);
    font-weight: 700;
    line-height: 1.6;

    color: #333;
}
.contact__inner .line a
{
    font-size: min(1.25vw, 18px);
    font-weight: 700;
    line-height: 1;

    display: inline-block;

    padding: min(1.25vw, 18px) min(5vw, 72px);

    text-align: center;

    color: #fff;
    border-radius: min(2.7777777778vw, 40px);
    background-color: #06c755;
}
.contact__text
{
    font-size: min(1.1111111111vw, 16px);
    font-weight: 700;
    line-height: 1.6;

    margin-bottom: min(2.2916666667vw, 33px);

    text-align: center;

    color: #333;
}
.contact__form
{
    display: flex;
    flex-direction: column;

    margin-bottom: min(8.0555555556vw, 116px);
    padding: min(2.7777777778vw, 40px) min(6.5972222222vw, 95px);

    background-color: #fff;
    box-shadow: 0 min(.2777777778vw, 4px) min(.2777777778vw, 4px) 0 rgba(0, 0, 0, .25);

    gap: min(2.0833333333vw, 30px);
}
.contact__form__box
{
    display: flex;

    align-items: center;
    gap: min(1.1111111111vw, 16px);
}
.contact__form__box__radio
{
    display: flex;

    align-items: center;
    gap: min(.6944444444vw, 10px);
}
.contact__form__box__radio input
{
    width: min(1.3888888889vw, 20px) !important;

    border: 1px solid #ccc;
    border-radius: min(.1388888889vw, 2px);
}
.contact__form__box__radio p
{
    color: #333;
}
.contact__form__box label
{
    font-size: min(1.25vw, 18px);
    font-weight: 500;
    line-height: 1.4444444444;

    vertical-align: middle;

    color: #333;

    flex-basis: min(14.5833333333vw, 210px);
    flex-shrink: 0;
}
.contact__form__box__required
{
    font-size: min(.8333333333vw, 12px);
    line-height: 1;

    margin-left: min(1.1111111111vw, 16px);
    padding: min(.1388888889vw, 2px) min(.6944444444vw, 10px);

    color: #fff;
    border-radius: min(1.3888888889vw, 20px);
    background-color: #fb8f03;
}
.contact__form__box input
{
    width: 100%;
    padding: min(.5555555556vw, 8px) min(1.1111111111vw, 16px);

    border: 1px solid #ededed;
    border-radius: min(.1388888889vw, 2px);
    background-color: #f5f5f5;
}
.contact__form__box input::-moz-placeholder
{
    color: #ccc;
}
.contact__form__box input::placeholder
{
    color: #ccc;
}
.contact__form__button
{
    font-size: min(1.5277777778vw, 22px);
    line-height: 1;

    display: block;

    width: min(26.3888888889vw, 380px);
    margin: 0 auto;
    padding: min(1.5277777778vw, 22px) min(5vw, 72px);

    text-align: center;

    color: #fff;
    border-radius: min(2.7777777778vw, 40px);
    background-color: #fb8f03;
    box-shadow: 0 min(.2777777778vw, 4px) min(.9722222222vw, 14px) 0 rgba(0, 0, 0, .2);
}

.footer
{
    padding: min(3.6111111111vw, 52px) 0 min(2.2222222222vw, 32px);

    background-color: #333;
}
.footer__inner
{
    display: flex;

    width: min(80.5555555556vw, 1160px);
    margin: 0 auto;

    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}
.footer__inner__links
{
    display: flex;

    width: min(47.2222222222vw, 680px);

    flex-wrap: wrap;
    gap: min(2.7777777778vw, 40px);
    justify-content: flex-end;
}
.footer__inner__links li a
{
    font-size: min(1.1111111111vw, 16px);
    font-weight: 500;
    line-height: 1;

    color: #fff;
}
.footer__info
{
    display: flex;
    flex-direction: column;

    gap: min(1.3888888889vw, 20px);
}
.footer__info p
{
    font-size: min(1.3888888889vw, 20px);
    line-height: 1;

    color: #fff;
}
.footer__info img
{
    line-height: 1;

    display: block;

    width: min(10.625vw, 153px);
}
.footer__info address
{
    font-size: min(.9722222222vw, 14px);
    font-weight: 700;
    line-height: 1;

    color: #fff;
}
.footer__logo
{
    width: min(10.4166666667vw, 150px);
    margin-right: min(1.1111111111vw, 16px);

    vertical-align: max(-.6944444444vw, -10px);
}
.footer__copyright
{
    font-size: min(.9722222222vw, 14px);
    line-height: 1;

    width: 100%;
    margin-top: min(3.1944444444vw, 46px);

    text-align: right;

    color: #fff;
}

.form-thanks-title
{
    font-size: min(1.6666666667vw, 24px);
    font-weight: 700;
    line-height: 1.6;

    margin-bottom: min(1.3888888889vw, 20px);

    text-align: center;

    color: #093277;
}
.form-thanks-text
{
    font-size: min(1.1111111111vw, 16px);
    line-height: 1.8;

    text-align: center;

    color: #333;
}

@media (max-width: 768px)
{
    .header__inner
    {
        width: 100%;
        padding: 2.6666666667vw 5.3333333333vw;
    }
    .header__title
    {
        font-size: 2.1333333333vw;
        font-weight: 500;

        display: flex;
        flex-direction: column-reverse;
    }
    .header__logo
    {
        width: 24vw;
        margin-top: 2.1333333333vw;
        margin-right: 4.2666666667vw;

        vertical-align: -2.6666666667vw;
    }
    .header__cv
    {
        font-size: 3.7333333333vw;

        padding: 2.6666666667vw 4.2666666667vw;

        box-shadow: 0 1.0666666667vw 1.0666666667vw 0 rgba(0, 0, 0, .25);
    }
    .fv
    {
        padding: 18.6666666667vw 0 0;
    }
    .fv__inner
    {
        position: relative;

        width: 100%;
        padding: 0 5.6vw 9.0666666667vw;

        background-position: bottom -8.2666666667vw right -14.6666666667vw;
        background-size: 133.3333333333vw 125.3333333333vw;
    }
    .fv__title
    {
        font-size: 9.6vw;
        font-weight: 900;
        line-height: 1.33;

        display: flex;

        margin-bottom: .8vw;

        color: #093277;

        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .fv__title__box
    {
        font-size: 10.6666666667vw;
        font-weight: 900;
        line-height: 1.1;

        margin-bottom: 0;
        padding: 2.1333333333vw 1.3333333333vw;
    }
    .fv__title__box:nth-of-type(3)
    {
        margin-left: auto;
    }
    .fv__title__small
    {
        font-size: 11.4666666667vw;
        font-weight: 400;

        align-self: center;
        margin-inline: 0;
    }
    .fv__title__sp-white
    {
        padding: 1.3333333333vw;

        background-color: #fff;
    }
    .fv__title__sp-white:nth-of-type(4)
    {
        margin-top: 53.8666666667vw;
        margin-bottom: 1.0666666667vw;
    }
    .fv__subtitle
    {
        font-size: 5.3333333333vw;

        margin-bottom: 0;

        color: #fff;
        text-shadow: 0 1.0666666667vw 1.0666666667vw rgba(0, 0, 0, .25);
    }
    .fv__cv
    {
        font-size: 4.2666666667vw;
        line-height: 1.4;

        position: absolute;
        bottom: -24vw;

        padding: 4.5333333333vw 18.6666666667vw 3.4666666667vw 11.2vw;

        border-radius: 26.6666666667vw;
        box-shadow: 0 1.0666666667vw 1.0666666667vw 0 rgba(0, 0, 0, .25);
    }
    .fv__cv__label
    {
        font-size: 3.2vw;

        top: -4.2666666667vw;

        width: 44.5333333333vw;
        padding: 1.3333333333vw 4vw;

        border-width: .5333333333vw;
        border-radius: .5333333333vw;
    }
    .fv__cv::before
    {
        right: 11.7333333333vw;

        border-top: 1.8666666667vw solid transparent;
        border-bottom: 1.8666666667vw solid transparent;
        border-left: 1.8666666667vw solid #fff;
    }
    .about__inner
    {
        width: 100%;
        padding: 44vw 0 22.1333333333vw;
    }
    .about__title
    {
        font-size: 4.2666666667vw;

        margin-bottom: 8.5333333333vw;
    }
    .about__title__big
    {
        font-size: 6.4vw;
    }
    .about__description
    {
        font-size: 4vw;
    }
    .strength
    {
        padding: 21.3333333333vw 0;
    }
    .strength__inner
    {
        width: 100%;
    }
    .strength__list
    {
        width: 89.3333333333vw;
        margin-top: 11.7333333333vw;

        gap: 10.6666666667vw;
    }
    .strength__item
    {
        padding: 8.5333333333vw 5.3333333333vw;

        border-radius: 1.0666666667vw;
        background-image: none;
    }
    .strength__item:nth-of-type(odd)
    {
        background-position: bottom 1.0666666667vw right -17.8666666667vw;
    }
    .strength__item:first-of-type .strength__item__image
    {
        top: 48.5333333333vw;
    }
    .strength__item__image
    {
        position: absolute;
        top: 33.0666666667vw;

        width: 78.6666666667vw;
    }
    .strength__item__box
    {
        display: block;

        width: 100%;
        padding: 0;
    }
    .strength__item__box .point
    {
        font-size: 4.8vw;

        margin-bottom: 4.2666666667vw;
    }
    .strength__item__box .title
    {
        font-size: 5.3333333333vw;

        margin-bottom: 0;
    }
    .strength__item__box .sub-title
    {
        font-size: 4.2666666667vw;
        line-height: 1.6;

        margin-top: 2.1333333333vw;
        margin-bottom: 0;
    }
    .strength__item__box .description
    {
        font-size: 4.2666666667vw;

        margin-top: 67.2vw;
    }
    .strength__item__box small
    {
        font-size: 3.2vw;

        margin-top: 5.3333333333vw;
    }
    .course
    {
        padding: 21.3333333333vw 0;
    }
    .course__inner
    {
        width: 89.3333333333vw;
    }
    .course__list
    {
        flex-direction: column;

        width: 100%;
        margin-top: 11.7333333333vw;
        margin-bottom: 10.6666666667vw;

        gap: 10.6666666667vw;
    }
    .course__item
    {
        width: 100%;
        padding: 10.6666666667vw 6.9333333333vw 6.6666666667vw;

        border-right: 1.0666666667vw solid #093277;
        border-bottom: 1.0666666667vw solid #093277;
        border-radius: 1.0666666667vw;
    }
    .course__item__title
    {
        font-size: 6.9333333333vw;

        margin-bottom: 6.4vw;
    }
    .course__item__description
    {
        font-size: 4.2666666667vw;

        margin-bottom: 10.6666666667vw;
    }
    .course .line-support
    {
        width: 100%;
    }
    .course .line-support__head
    {
        padding: 8vw 5.3333333333vw 8.5333333333vw;
    }
    .course .line-support__head h3
    {
        font-size: 4.8vw;

        margin-bottom: 2.1333333333vw;

        color: #ffd900;
    }
    .course .line-support__head p
    {
        font-size: 4vw;
    }
    .voice
    {
        padding: 21.3333333333vw 0;
    }
    .voice__inner
    {
        width: 88vw;
    }
    .voice__list
    {
        display: flex;
        flex-direction: column;

        width: 100%;
        margin-top: 11.2vw;

        gap: 8.5333333333vw;
    }
    .voice__item
    {
        position: relative;

        display: block;

        width: 100%;
        padding: 8.5333333333vw 5.3333333333vw;
    }
    .voice__item__image
    {
        width: 77.3333333333vw;
    }
    .voice__item__badge
    {
        top: 85.8666666667vw;
        right: 5.3333333333vw;

        width: 56.8vw;
    }
    .voice__item__box
    {
        width: 100%;
        margin-top: 17.0666666667vw;
    }
    .voice__item__title
    {
        font-size: 5.3333333333vw;

        margin-bottom: 4.2666666667vw;
    }
    .voice__item__info
    {
        display: block;

        margin-bottom: 6.4vw;
    }
    .voice__item__info__profiles
    {
        flex-direction: column;

        gap: 2.6666666667vw;
    }
    .voice__item__info__profiles dl
    {
        gap: 2.1333333333vw;
    }
    .voice__item__info__profiles dl dt
    {
        font-size: 3.7333333333vw;

        padding: 1.0666666667vw 2.1333333333vw;

        border-radius: .5333333333vw;
    }
    .voice__item__info__profiles dl dd
    {
        font-size: 3.7333333333vw;
    }
    .voice__item__name
    {
        font-size: 4.2666666667vw;

        margin-bottom: 2.6666666667vw;
    }
    .voice__item__text
    {
        font-size: 4.2666666667vw;
    }
    .price
    {
        padding: 21.3333333333vw 0;
    }
    .price__inner
    {
        width: 89.3333333333vw;
    }
    .price__list
    {
        flex-direction: column;

        width: 100%;
        margin-top: 11.7333333333vw;
        margin-bottom: 4vw;

        gap: 10.6666666667vw;
    }
    .price__item
    {
        width: 100%;

        border-radius: 1.0666666667vw;
    }
    .price__item__wrapper
    {
        border: none;
        -o-border-image: none;
           border-image: none;

        gap: 1.0666666667vw;
    }
    .price__item__month
    {
        font-size: 8.5333333333vw;

        padding: 5.3333333333vw 0;

        border-radius: 0 0 1.0666666667vw 1.0666666667vw;
    }
    .price__item__box
    {
        width: 100%;
        padding: 5.3333333333vw 10.6666666667vw 10.6666666667vw;

        border-radius: 1.0666666667vw;
    }
    .price__item__box dl
    {
        padding: 4.2666666667vw 0;
    }
    .price__item__box dl dt
    {
        font-size: 5.3333333333vw;
    }
    .price__item__box dl dd
    {
        font-size: 5.8666666667vw;
    }
    .price__item__price__sub
    {
        font-size: 4.8vw;
    }
    .price__item__title
    {
        font-size: 6.9333333333vw;

        margin-bottom: 6.4vw;
    }
    .price__item--recommended .price__item__wrapper
    {
        border: 1.0666666667vw solid;
        -o-border-image: linear-gradient(to right, #093277 4%, #2b53cd 96%) 1;
           border-image: linear-gradient(to right, #093277 4%, #2b53cd 96%) 1;
    }
    .price__item--recommended .price__item__box
    {
        padding: 7.4666666667vw 10.6666666667vw 12.8vw;
    }
    .price__item--recommended .price__item__month
    {
        padding: 5.3333333333vw 0;
    }
    .price__annotation
    {
        font-size: 3.7333333333vw;

        width: 100%;
        margin-bottom: 10.6666666667vw;
    }
    .price__note
    {
        width: 100%;
        padding: 4.2666666667vw 5.3333333333vw;

        border-radius: 1.0666666667vw;
    }
    .price__note h4
    {
        font-size: 4.2666666667vw;
        font-weight: 700;
        line-height: 1;

        margin-bottom: 4.2666666667vw;
    }
    .price__note ul
    {
        gap: 3.2vw;
    }
    .price__note ul li
    {
        font-size: 3.7333333333vw;
        line-height: 1.2;
    }
    .message
    {
        padding: 21.3333333333vw 0;
    }
    .message .section__title__en
    {
        color: rgba(255, 255, 255, .2);
    }
    .message .section__title__ja
    {
        color: #fff;
    }
    .message__inner
    {
        width: 89.3333333333vw;
    }
    .message__list
    {
        width: 100%;
        margin-top: 11.7333333333vw;

        gap: 10.6666666667vw;
    }
    .message__item
    {
        flex-direction: column;

        padding: 10.6666666667vw 5.3333333333vw;

        border-radius: 1.0666666667vw;

        gap: 10.6666666667vw;
    }
    .message__item__image
    {
        width: 78.4vw;
    }
    .message__item__box
    {
        display: flex;
        flex-direction: column;

        width: 100%;

        gap: 10.6666666667vw;
    }
    .message__item__text
    {
        font-size: 4.2666666667vw;
        line-height: 1.7;

        margin-top: 1.3333333333vw;
    }
    .message__item__name
    {
        font-size: 4.2666666667vw;
        line-height: 1.5;

        text-align: right;

        color: #333;
    }
    .abroad
    {
        padding: 21.3333333333vw 0;
    }
    .abroad__inner
    {
        flex-direction: column;

        width: 89.3333333333vw;

        box-shadow: 0 1.0666666667vw 1.0666666667vw 0 rgba(0, 0, 0, .25);
    }
    .abroad__image
    {
        width: 100%;
    }
    .abroad__box
    {
        padding: 5.3333333333vw 5.3333333333vw 8.5333333333vw;

        border-radius: 0 1.0666666667vw 1.0666666667vw 0;
    }
    .abroad__box h3
    {
        font-size: 4.8vw;

        margin-bottom: 2.1333333333vw;
    }
    .abroad__box p
    {
        font-size: 4.2666666667vw;

        margin-bottom: 5.8666666667vw;
    }
    .abroad__box a
    {
        font-size: 3.4666666667vw;

        padding: 2.1333333333vw 6.1333333333vw;

        border-radius: 10.6666666667vw;
        box-shadow: 0 1.0666666667vw 3.7333333333vw 0 rgba(0, 0, 0, .2);
    }
    .contact
    {
        padding: 21.3333333333vw 0 24.5333333333vw;
    }
    .contact__inner
    {
        width: 89.3333333333vw;
    }
    .contact__inner .line
    {
        flex-direction: column;

        margin-top: 11.7333333333vw;
        margin-bottom: 9.8666666667vw;
        padding: 6.1333333333vw 4.2666666667vw;

        border-radius: 1.0666666667vw;

        gap: 4.8vw;
    }
    .contact__inner .line p
    {
        font-size: 4.2666666667vw;
    }
    .contact__inner .line a
    {
        font-size: 4.8vw;

        padding: 4.8vw 22.6666666667vw;

        border-radius: 10.6666666667vw;
    }
    .contact__text
    {
        font-size: 4.2666666667vw;

        margin-bottom: 9.6vw;
    }
    .contact__form
    {
        display: flex;
        flex-direction: column;

        margin-bottom: 19.2vw;
        padding: 4.2666666667vw 4.2666666667vw 6.4vw;

        border-radius: 1.0666666667vw;
        box-shadow: 0 1.0666666667vw 1.0666666667vw 0 rgba(0, 0, 0, .25);

        gap: 6.4vw;
    }
    .contact__form__box
    {
        flex-direction: column;

        align-items: flex-start;
        gap: 3.2vw;
    }
    .contact__form__box__radio
    {
        display: flex;

        align-items: center;
        flex-wrap: wrap;
        gap: 2.6666666667vw;
    }
    .contact__form__box__radio input
    {
        width: 5.3333333333vw !important;
        height: 5.3333333333vw !important;

        border-radius: .5333333333vw;
    }
    .contact__form__box label
    {
        font-size: 4.2666666667vw;
        font-weight: 700;
        line-height: 1.4444444444;

        flex-basis: auto;
    }
    .contact__form__box__required
    {
        font-size: 3.2vw;

        margin-left: 4.2666666667vw;
        padding: .5333333333vw 2.6666666667vw;

        border-radius: 5.3333333333vw;
    }
    .contact__form__box input
    {
        font-size: 4.2666666667vw;

        padding: 2.1333333333vw 4.2666666667vw;

        border-radius: .5333333333vw;
    }
    .contact__form__button
    {
        font-size: 5.3333333333vw;
        font-weight: 700;

        width: 100%;
        padding: 4.8vw 0;

        border-radius: 10.6666666667vw;
        box-shadow: 0 1.0666666667vw 3.7333333333vw 0 rgba(0, 0, 0, .2);
    }
    .footer
    {
        padding: 13.8666666667vw 0 8.5333333333vw;
    }
    .footer__inner
    {
        flex-direction: column;

        width: 100%;

        gap: 10.6666666667vw;
    }
    .footer__inner__links
    {
        flex-direction: column;

        width: 100%;

        align-items: center;
        gap: 4.2666666667vw;
    }
    .footer__inner__links li a
    {
        font-size: 3.7333333333vw;
        line-height: 1.2;
    }
    .footer__info
    {
        display: flex;
        flex-direction: column;

        gap: 5.3333333333vw;
    }
    .footer__info p
    {
        font-size: 5.3333333333vw;
        line-height: 1;

        color: #fff;
    }
    .footer__info img
    {
        width: 40.8vw;
    }
    .footer__info address
    {
        font-size: 3.7333333333vw;
    }
    .footer__logo
    {
        width: 40vw;
        margin-right: 4.2666666667vw;

        vertical-align: -2.6666666667vw;
    }
    .footer__copyright
    {
        font-size: 3.2vw;

        width: 100%;
        margin-top: 0;

        text-align: center;
    }
    .form-thanks-title
    {
        font-size: 4.8vw;

        margin-bottom: 2vw;
    }
    .form-thanks-text
    {
        font-size: 4vw;
    }
}
