/* リキッドレイアウト対応 */

body {
    font-family: "Noto Sans JP", sans-serif;
}

.u-desktop {
    display: none;
}

.inline-block {
    display: inline-block;
}

.line-break {
    word-wrap: anywhere;
    word-break: keep-all;
}

html {
    font-size: 16px;
}

/* pcの電話番号発信対応 */

/* ホバー */

a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
    padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Set core root defaults */

html {
    scroll-behavior: smooth;
}

/* Set core body defaults */

body {
    line-height: 1.5;
    min-height: 100vh;
    text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
    list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
    display: block;
    max-width: 100%;
    width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
    margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
    font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
    -webkit-filter: blur(10px);
    filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
}

textarea {
    resize: vertical;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
    cursor: pointer;
}

select::-ms-expand {
    display: none;
}

body {
    color: #001668;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.pc-none {
    display: block;
}

.sp-none {
    display: none;
}

.button {
    max-width: 250px;
    max-width: 15.625rem;
}

.button a {
    gap: 5px;
    gap: 0.3125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: -webkit-gradient(
        linear,
        left top,
        right top,
        from(#f03883),
        color-stop(35%, #f3445f),
        color-stop(50%, #f6513b),
        color-stop(65%, #f3445f),
        to(#f03883)
    );
    background: linear-gradient(to right, #f03883 0%, #f3445f 35%, #f6513b 50%, #f3445f 65%, #f03883 100%);
    background-position: 0 50%;
    background-size: 200% auto;
    border-radius: 100vh;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: min(3.5vw, 14px);
    font-weight: 700;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 14.5px 5px;
    padding: 0.90625rem 0.3125rem;
    -webkit-transition: background-position 0.5s ease-in-out;
    transition: background-position 0.5s ease-in-out;
    width: 100%;
}

.button a::after {
    background: url(/assets/images/common/icon_download.svg) no-repeat center center/contain;
    content: "";
    display: inline-block;
    height: 18px;
    height: 1.125rem;
    width: 22px;
    width: 1.375rem;
}

.button--blue a {
    background: -webkit-gradient(
        linear,
        left top,
        right top,
        from(#943ec2),
        color-stop(35%, #5244b6),
        color-stop(50%, #0f4baa),
        color-stop(65%, #5244b6),
        to(#943ec2)
    );
    background: linear-gradient(to right, #943ec2 0%, #5244b6 35%, #0f4baa 50%, #5244b6 65%, #943ec2 100%);
    background-position: 0 50%;
    background-size: 200% auto;
}

.button--blue a::after {
    background: url(/assets/images/common/icon_counseling.svg) no-repeat center center/contain;
}

.button-detail {
    max-width: 280px;
    max-width: 17.5rem;
}

.button-detail a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #001668;
    border: 1px solid transparent;
    border-radius: 100vh;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 9px 5px;
    padding: 0.5625rem 0.3125rem;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    width: 100%;
}

.section__title {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 700;
    text-align: center;
}

.section__subTitle {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.75;
}

.section__subTitle .underline {
    -webkit-text-decoration-line: underline;
    -webkit-text-decoration-color: #001668;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
    text-underline-offset: 0.3125rem;
    display: inline-block;
    text-decoration-color: #001668;
    text-decoration-line: underline;
}

.title-vertical {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: -webkit-gradient(linear, left top, left bottom, from(#f03883), color-stop(50%, #f6513b), to(#fff));
    background: linear-gradient(to bottom, #f03883, #f6513b 50%, #fff 100%);
    border-radius: 0 1.875rem 0 0;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    padding: 30px 8px;
    padding: 1.875rem 0.5rem;
    width: 55px;
    width: 3.4375rem;
}

.title-vertical__number {
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 700;
}

.title-vertical__text {
    -webkit-writing-mode: vertical-lr; /* Chrome、Safari用 */
    -moz-writing-mode: vertical-lr; /* Firefox用 */
    -ms-writing-mode: tb-lr;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    writing-mode: vertical-lr;
}

.title-vertical__text .english {
    -ms-text-combine-horizontal: all;
    -webkit-text-combine: horizontal;
    line-height: 1;
    text-combine-upright: all;
    vertical-align: baseline;
}

body.sub-page {
    background: url(/assets/images/common/body_bg.jpg) no-repeat center center/cover;
}

main.sub-page {
    padding-top: 80px;
    padding-top: 5rem;
}

.contact-page {
    background-color: #fff;
    padding: 80px;
    padding: 5rem;
}

.sub-page__title {
    font-weight: 700;
    text-align: center;
}

.footer.contact {
    background: none;
    background-color: rgba(245, 246, 249, 1);
}

.inner {
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
}

.footer {
    background: url(/assets/images/common/footer_bg.jpg) no-repeat center center/cover;
    padding: 5px 0 10px;
    padding: 0.3125rem 0 0.625rem;
    position: relative;
    width: 100%;
}

.footer::after {
    background-color: rgba(226, 232, 237, 0.2);
    content: "";
    display: inline-block;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.footer__inner {
    margin: auto;
    max-width: 630px;
    max-width: 39.375rem;
    padding: 0 15px;
    padding: 0 0.9375rem;
    position: relative;
    width: 100%;
    z-index: 1;
}

.footer__logo {
    margin: auto;
    max-width: 137px;
    max-width: 8.5625rem;
    width: 100%;
}

.footer__logo a {
    display: block;
    padding: 10px 0;
    padding: 0.625rem 0;
}

.footer__logo img {
    -o-object-fit: contain;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.footer__nav {
    margin-top: 3px;
    margin-top: 0.1875rem;
}

.footer__nav-items {
    gap: 10px;
    gap: 0.625rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.footer__nav-item a {
    display: block;
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
    padding: 0 0 12px;
    padding: 0 0 0.75rem;
    position: relative;
    text-align: center;
}

.footer__sns.sns-list {
    margin-top: 3px;
    margin-top: 0.1875rem;
}

.footer__sns.sns-list .sns-list__item {
    background-color: rgba(226, 232, 237, 0.2);
    -webkit-box-shadow: 0 0 10px rgba(88, 56, 94, 0.2);
    box-shadow: 0 0 10px rgba(88, 56, 94, 0.2);
}

.footer__address {
    font-size: 9px;
    font-size: 0.5625rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
    margin-top: 14px;
    margin-top: 0.875rem;
    text-align: center;
}

.footer__copyright {
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 8px;
    font-size: 0.5rem;
    font-weight: 400;
    letter-spacing: 0;
    margin-top: 5px;
    margin-top: 0.3125rem;
    text-align: center;
}

.header {
    height: 80px;
    height: 5rem;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 900;
    /* background-color: rgba(0, 22, 104, 1); */
}

.header__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: inherit;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 15px;
    padding: 0 0.9375rem;
}

.header__logo {
    height: inherit;
    max-width: 136px;
    max-width: 8.5rem;
    width: 100%;
}

.header__logo a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: inherit;
}

.header__logo img {
    -o-object-fit: contain;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.header__nav {
    display: none;
    height: inherit;
}

.header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: inherit;
}

.header__nav-item {
    height: inherit;
}

.header__logo--drawer {
    height: auto;
    height: initial;
    margin: 0 auto;
}

.header__nav-item a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 15px;
    font-size: 0.9375rem;
    font-weight: 500;
    height: inherit;
    line-height: 1;
    padding: 0 15px;
    padding: 0 0.9375rem;
}

.header__hamburger,
.floating__hamburger {
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    border: 1px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    height: 50px;
    height: 3.125rem;
    margin: 0;
    outline: none;
    padding: 0;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    width: 50px;
    width: 3.125rem;
    z-index: 999;
}

.header__hamburger.is-open {
    background-color: transparent;
    border: 1px solid #fff;
    position: fixed;
    right: 15px;
    right: 0.9375rem;
    top: 15px;
    top: 0.9375rem;
}

.header__hamburger span,
.floating__hamburger span {
    background-color: rgba(0, 22, 104, 0.8);
    display: block;
    height: 1px;
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: 0.5s;
    transition: 0.5s;
    width: 20px;
    width: 1.25rem;
}

.header__hamburger span:nth-of-type(1),
.floating__hamburger span:nth-of-type(1) {
    top: -4px;
    top: -0.25rem;
}

.header__hamburger span:nth-of-type(2),
.floating__hamburger span:nth-of-type(2) {
    top: 0;
}

.header__hamburger span:nth-of-type(3),
.floating__hamburger span:nth-of-type(3) {
    top: 4px;
    top: 0.25rem;
}

.header__hamburger.is-open span:nth-of-type(1) {
    background-color: #fff;
    top: 0;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
}

.header__hamburger.is-open span:nth-of-type(2) {
    opacity: 0;
}

.header__hamburger.is-open span:nth-of-type(3) {
    background-color: #fff;
    top: -2px;
    top: -0.125rem;
    -webkit-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
}

.header__drawer {
    background-color: rgba(51, 51, 51, 0.95);
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    visibility: hidden;
    width: 100%;
    z-index: 900;
}

.header__drawer-inner {
    background-color: #fff;
    border-radius: 1.875rem 1.875rem 0 0;
    bottom: 0;
    height: calc(100vh - 4.6875rem);
    left: 0;
    overflow: scroll;
    padding: 20px 8px;
    padding: 1.25rem 0.5rem;
    position: absolute;
    right: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    width: 100%;
}

.header__drawer.is-open {
    opacity: 1;
    visibility: visible;
}

.header__drawer.is-open .header__drawer-inner {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.header__drawer::-webkit-scrollbar {
    display: none;
}

.header__drawer-nav {
    margin-top: 18px;
    margin-top: 1.125rem;
}

.header__drawer-item a {
    display: block;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
}

.header__drawer-item:first-of-type a {
    padding-bottom: 8px;
    padding-bottom: 0.5rem;
}

.header__drawer-item:not(:first-of-type) a {
    padding: 8px 0;
    padding: 0.5rem 0;
}

.header__drawer-buttons {
    gap: 10px;
    gap: 0.625rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 15px auto 0;
    margin: 0.9375rem auto 0;
    max-width: 610px;
    max-width: 38.125rem;
}

.header__drawer-buttons .button a::after {
    content: normal;
    content: initial;
}

.sns-list {
    gap: 11px;
    gap: 0.6875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    margin-top: 1.25rem;
}

.sns-list__item {
    aspect-ratio: 1/1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #001668;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 50px;
    width: 3.125rem;
}

.sns-list__item img {
    width: 20px;
    width: 1.25rem;
}

.sns-list__item--medium img {
    width: 25px;
    width: 1.5625rem;
}

.sp-menu {
    display: none;
    position: absolute;
    right: 26px;
    top: 40px;
    z-index: 10;
}

.sp-menu-icon {
    height: 20px;
    right: 25px;
    right: 25px;
    right: 1.5625rem;
    top: 106px;
    top: 106px;
    top: 6.625rem;
    -webkit-transition: -webkit-transform 0.3s ease 0s;
    transition: -webkit-transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    width: 21px;
    z-index: 3000;
}

.sp-menu-icon.is-active .sp-menu {
    left: 0;
    right: 0;
    top: 40px;
    top: 40px;
    top: 2.5rem;
    z-index: 10;
}

.sp-menu-icon:hover {
    cursor: pointer;
}

.sp-menu-icon__bars {
    display: block;
    height: 20px;
    height: 20px;
    height: 1.25rem;
    position: relative;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    width: 20px;
    width: 20px;
    width: 1.25rem;
    z-index: 1400;
}

.sp-menu-icon__bar1,
.sp-menu-icon__bar2,
.sp-menu-icon__bar3 {
    background: #c3d600;
    height: 2px;
    left: 0px;
    position: absolute;
    top: 0px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    width: 25px;
    z-index: 1200;
}

.sp-menu-icon__bar1 {
    top: 0;
}

.sp-menu-icon__bar2 {
    top: 8px;
}

.sp-menu-icon__bar3 {
    top: 16px;
}

.sp-menu-content {
    height: 100vh;
    left: 0;
    margin: 0 auto;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 10%;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    width: 100%;
}

.sp-menu-content.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 100;
}

.sp-menu-content__inner {
    padding: 0 20px;
    padding: 0 20px;
    padding: 0 1.25rem;
    padding-top: 10px;
}

.sp-menu-background {
    background: rgba(35, 24, 21, 0.9);
    height: 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    width: 100%;
    z-index: -1;
}

.sp-menu-background.is-active {
    height: 1000px;
    opacity: 1;
    z-index: 10;
}

.sp-menu-content__link {
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 3.75;
    text-align: left;
}

.sp-menu-content__link-box {
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 3.75;
    text-align: left;
}

body {
    position: relative;
}

.mv {
    height: 100vh;
    min-height: 780px;
    min-height: 48.75rem;
    width: 100%;
}

.mv__inner {
    height: inherit;
    min-height: inherit;
    position: relative;
}

.mv__image,
.mv__image img {
    height: inherit;
    min-height: inherit;
}

.mv__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}

.mv__title-block {
    left: 50%;
    position: absolute;
    top: 10%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    z-index: 2;
}

.mv__title-wrap {
    color: #fff;
}

.mv__title-vertical {
    -webkit-writing-mode: vertical-rl; /* Chrome、Safari用 */
    -moz-writing-mode: vertical-rl; /* Firefox用 */
    -ms-writing-mode: tb-rl;
    margin: 0 auto;
    writing-mode: vertical-rl;
}

.mv__main-title {
    font-size: 48px;
    font-size: 3rem;
    letter-spacing: -0.02em;
    line-height: 1.2708333333;
    text-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
}

.mv__sub-title {
    font-size: 21px;
    font-size: 1.3125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-right: 10px;
    margin-right: 0.625rem;
    text-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
}

.mv__title-number {
    -ms-text-combine-horizontal: all;
    -webkit-text-combine: horizontal;
    line-height: 1;
    text-combine-upright: all;
    vertical-align: baseline;
}

.mv__text {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.40625;
    margin-top: -3px;
    margin-top: -0.1875rem;
    text-align: center;
}

.mv__buttons {
    gap: 10px;
    gap: 0.625rem;
    background-color: rgba(255, 255, 255, 0.75);
    border-radius: 100vh;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 30px auto 0;
    margin: 1.875rem auto 0;
    max-width: 525px;
    max-width: 32.8125rem;
    opacity: 1;
    padding: 5px;
    padding: 0.3125rem;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    visibility: visible;
    width: 92%;
}

.mv__buttons.fade-out {
    opacity: 0;
    visibility: hidden;
}

.floating-banner {
    background-color: rgba(255, 255, 255, 0.75);
    border-radius: 100vh;
    bottom: 10px;
    bottom: 0.625rem;
    opacity: 0;
    padding: 5px;
    padding: 0.3125rem;
    position: fixed;
    right: 10px;
    right: 0.625rem;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    visibility: hidden;
    z-index: 10;
}

.floating-banner.fade-in {
    opacity: 1;
    visibility: visible;
}

.floating-banner__buttons {
    gap: 5px;
    gap: 0.3125rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 170px;
    max-width: 10.625rem;
}

.floating-banner__button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 50px;
    height: 3.125rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 50px;
    width: 3.125rem;
}

.floating-banner__button--download {
    background: -webkit-gradient(linear, left top, right top, from(#f03883), to(#f6513b));
    background: linear-gradient(to right, #f03883, #f6513b);
}

.floating-banner__button--download img {
    width: 15px;
    width: 0.9375rem;
}

.floating-banner__button--counseling {
    background: -webkit-gradient(linear, left top, right top, from(#943ec2), to(#0f4baa));
    background: linear-gradient(to right, #943ec2, #0f4baa);
}

.floating-banner__button--counseling img {
    width: 17px;
    width: 1.0625rem;
}

.floating-banner__hamburger {
    height: 50px;
    height: 3.125rem;
    width: 50px;
    width: 3.125rem;
}

.banner__hojokin {
    margin-top: -160px;
    margin-top: -10rem;
    position: relative;
}

.banner__hojokin-wrap {
    background-color: #fff;
    border-radius: 1.5625rem;
    -webkit-box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    margin: 0 auto;
    max-width: 500px;
    max-width: 31.25rem;
    padding-top: 3px;
    padding-top: 0.1875rem;
    width: 100%;
}

.banner__hojokin-heading {
    gap: 15px;
    gap: 0.9375rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.banner__hojokin-certificate {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(/assets/images/common/circle_hojokin.png) no-repeat center center/contain;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    height: 75px;
    height: 4.6875rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.1666666667;
    text-align: center;
    width: 75px;
    width: 4.6875rem;
}

.banner__hojokin-ratio {
    gap: 5px;
    gap: 0.3125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.ratio__left {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
}

.ratio__left-strong {
    font-size: 32px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.ratio__right {
    font-size: min(6.9vw, 28px);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.hojokin__value {
    font-size: 64px;
    font-size: 4rem;
    font-weight: 700;
    margin-right: 3px;
    margin-right: 0.1875rem;
}

.hojokin__percent {
    font-size: min(5.9vw, 24px);
}

.ratio__off {
    font-size: min(5.9vw, 24px);
}

.banner__hojokin-cashback {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #001668;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: -5px auto 0;
    margin: -0.3125rem auto 0;
    max-width: 320px;
    max-width: 20rem;
    padding: 0 5px;
    padding: 0 0.3125rem;
}

.banner__hojokin-cashback .cashback__value {
    font-family: "Oswald", sans-serif;
    font-size: 32px;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    margin: 6px 5px;
    margin: 0.375rem 0.3125rem;
}

.banner__hojokin-explain {
    gap: 15px;
    gap: 0.9375rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    margin-top: 0.9375rem;
    padding: 0 20px;
    padding: 0 1.25rem;
}

.banner__hojokin-explain img {
    width: 30%;
}

.banner__hojokin-explain .explain__text {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 400;
    line-height: 1.2;
}

.banner__hojokin-support {
    background-color: #001668;
    /* border-radius: 0 0 1.5625rem 1.5625rem; */
    color: #fff;
    margin-top: 13px;
    margin-top: 0.8125rem;
    margin-top: 2.5rem;
    padding: 12px 10px 15px;
    padding: 0.75rem 0.625rem 0.9375rem;
    text-align: center;
}

.support__title-flex {
    gap: 65px;
    gap: 4.0625rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.support__title {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
}

.support__text {
    font-weight: 400;
    line-height: 1.5;
    margin-top: 3px;
    margin-top: 0.1875rem;
}

.banner__hojokin-button {
    margin: 15px auto 0;
    margin: 0.9375rem auto 0;
}

.banner__hojokin-button.button-detail a {
    background-color: #fff;
    color: #001668;
    padding: 3.5px 5px;
    padding: 0.21875rem 0.3125rem;
}

.reason {
    background: url(/assets/images/common/reason_bg.jpg) no-repeat top center/cover;
    margin-top: -40px;
    margin-top: -2.5rem;
    padding: 90px 0 150px;
    padding: 5.625rem 0 9.375rem;
}

.section__subTitle--none {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.75;
    margin-top: 20px;
    margin-top: 1.25rem;
    text-align: center;
}

.reason__text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2.2857142857;
    margin-top: 18px;
    margin-top: 1.125rem;
    text-align: center;
}

.strong {
    background-color: #fff;
    border-radius: 3.125rem 0 3.125rem 0;
    -webkit-box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    margin-top: -100px;
    margin-top: -6.25rem;
    padding: 40px 0;
    padding: 2.5rem 0;
    position: relative;
}

.section__title-strong {
    gap: 9px;
    gap: 0.5625rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -18px;
    margin-left: -1.125rem;
}

.section__title-strong img {
    width: 174px;
    width: 10.875rem;
}

.strong__link {
    display: none;
}

.strong__link-contents {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 1.875rem;
    -webkit-box-shadow: 0 0 10px rgba(170, 167, 198, 0.2);
    box-shadow: 0 0 10px rgba(170, 167, 198, 0.2);
    padding: 1px 20px 60px 20px;
    padding: 1px 1.25rem 3.75rem 1.25rem;
    text-align: center;
}

.strong__link-number {
    font-family: "Oswald", sans-serif;
    font-size: 60px;
    font-size: 3.75rem;
    font-weight: 700;
    line-height: 1;
    margin-top: -25px;
    margin-top: -1.5625rem;
}

.strong__link-text {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75;
    margin-top: 17px;
    margin-top: 1.0625rem;
}

.strong__contents-list {
    margin-top: 22px;
    margin-top: 1.375rem;
}

.strong__contents-item {
    display: grid;
    grid-template-columns: 6.5fr 28fr;
}

.strong-contents__text-block {
    width: 89%;
}

.strong__contents-item:nth-of-type(2) {
    grid-template-columns: 28fr 6.5fr;
    justify-items: end;
    margin-top: 65px;
    margin-top: 4.0625rem;
}

.strong__contents-item:nth-of-type(3) {
    margin-top: 30px;
    margin-top: 1.875rem;
}

.strong__contents-item:nth-of-type(2) .title-vertical {
    background: -webkit-gradient(linear, left top, left bottom, from(#f7513b), color-stop(50%, #f8ee1a), to(#fff));
    background: linear-gradient(to bottom, #f7513b, #f8ee1a 50%, #fff 100%);
    border-radius: 1.875rem 0 0 0;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.strong__contents-item:nth-of-type(3) .title-vertical {
    background: -webkit-gradient(linear, left top, left bottom, from(#0f4bab), color-stop(50%, #953ec3), to(#fff));
    background: linear-gradient(to bottom, #0f4bab, #953ec3 50%, #fff 100%);
}

.strong-contents__heading {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.75;
    margin-top: 10px;
    margin-top: 0.625rem;
}

.strong-contents__text {
    line-height: 1.75;
    margin-top: 10px;
    margin-top: 0.625rem;
}

.omission-dot {
    gap: 9px;
    gap: 0.5625rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 15px;
    margin-top: 0.9375rem;
}

.omission-dot span {
    background-color: #001668;
    border-radius: 50%;
    display: inline-block;
    height: 2.8px;
    width: 2.8px;
}

.strong__contents-item:nth-of-type(2) .strong-contents__text:last-of-type {
    padding-bottom: 50px;
    padding-bottom: 3.125rem;
}

.strong__contents-item:first-of-type .strong-contents__img img {
    aspect-ratio: 360/335;
    -o-object-fit: cover;
    object-fit: cover;
}

.strong__contents-item:nth-of-type(2) .strong-contents__img img {
    aspect-ratio: 360/490;
    -o-object-fit: cover;
    object-fit: cover;
}

.strong__contents-item:nth-of-type(3) .strong-contents__img img {
    aspect-ratio: 360/615;
    -o-object-fit: cover;
    object-fit: cover;
}

.strong-contents__languages {
    gap: 5px;
    gap: 0.3125rem;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 10px;
    margin-top: 0.625rem;
}

.strong-contents__language {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #f2f2f2;
    border-radius: 0.3625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 10px 8px 5px;
    padding: 0.625rem 0.5rem 0.3125rem;
}

.strong-contents__language img {
    aspect-ratio: 1/1;
    border-radius: 50%;
    max-width: 34px;
    max-width: 2.125rem;
}

.language__name {
    font-family: "Oswald", sans-serif;
    font-size: 9px;
    font-size: 0.5625rem;
    font-weight: 700;
    margin-top: 10px;
    margin-top: 0.625rem;
    text-align: center;
}

.strong__contents-button {
    margin: 15px auto 0;
    margin: 0.9375rem auto 0;
}

.features {
    background: url(/assets/images/common/features_bg.jpg) no-repeat center center/cover;
    margin-top: -80px;
    margin-top: -5rem;
    padding: 130px 0 30px;
    padding: 8.125rem 0 1.875rem;
}

.features__learning {
    gap: 5px;
    gap: 0.3125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 10px;
    margin-top: 0.625rem;
}

.features__learning img {
    width: 95px;
    width: 5.9375rem;
}

.feature__languages-wrap {
    margin: 32px auto 0;
    margin: 2rem auto 0;
    max-width: 400px;
    max-width: 25rem;
}

.feature__languages {
    background-color: #fff;
    border: 0.5px solid #001668;
    border-radius: 0.5rem;
    padding: 20px 20px 25px;
    padding: 1.25rem 1.25rem 1.5625rem;
    width: 100%;
}

.feature__languages-title {
    background-color: #001668;
    border-radius: 100vh;
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    margin: -34px auto 0;
    margin: -2.125rem auto 0;
    max-width: 178px;
    max-width: 11.125rem;
    padding: 3px;
    padding: 0.1875rem;
    text-align: center;
}

.feature__languages-kinds {
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    margin-top: 10px;
    margin-top: 0.625rem;
    text-align: center;
}

.card-features {
    margin-top: 30px;
    margin-top: 1.875rem;
}

.features__item {
    background-color: #fff;
    border-radius: 0.75rem;
    -webkit-box-shadow: 0 0 10px rgba(174, 174, 193, 0.2);
    box-shadow: 0 0 10px rgba(174, 174, 193, 0.2);
    margin: 0 auto;
    max-width: 600px;
    max-width: 37.5rem;
    padding: 10px 16px 25px;
    padding: 0.625rem 1rem 1.5625rem;
    width: 100%;
}

.features__item:not(:first-of-type) {
    margin-top: 30px;
    margin-top: 1.875rem;
}

.features__item-title {
    gap: 10px;
    gap: 0.625rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    margin-top: -22px;
    margin-top: -1.375rem;
    text-align: center;
}

.features__item-number {
    font-family: "Oswald", sans-serif;
    font-size: 32px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.features__item-contents {
    gap: 8px;
    gap: 0.5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 6px;
    margin-top: 0.375rem;
}

.features__item:nth-of-type(2) .features__item-contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.features__item-text {
    line-height: 1.6666666667;
}

.features__item-contents img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
    width: 19%;
}

.flow-curriculum {
    padding: 23px 0 28px;
    padding: 1.4375rem 0 1.75rem;
}

.flow-curriculum__contents {
    display: grid;
    grid-template-columns: 6.5fr 28fr;
    margin-top: 24px;
    margin-top: 1.5rem;
}

.title-vertical--flow {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: -webkit-gradient(linear, left top, left bottom, from(#f13884), color-stop(50%, #953ec3), to(#0f4baa));
    background: linear-gradient(to bottom, #f13884, #953ec3 50%, #0f4baa 100%);
    border-radius: 0 1.875rem 1.875rem 0;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 30px 8px;
    padding: 1.875rem 0.5rem;
    width: 55px;
    width: 3.4375rem;
}

.title-vertical--flow .title-vertical__text {
    letter-spacing: 0.17em;
}

.flow-curriculum__list {
    max-width: 500px;
    max-width: 31.25rem;
    width: 89%;
}

.flow-curriculum__list-flex:not(:first-of-type) {
    margin-top: 9px;
    margin-top: 0.5625rem;
}

.flow-curriculum__item {
    gap: 12px;
    gap: 0.75rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 0.625rem;
    -webkit-box-shadow: 0 0 8px rgba(174, 174, 193, 0.2);
    box-shadow: 0 0 8px rgba(174, 174, 193, 0.2);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 7px 23px;
    padding: 0.4375rem 1.4375rem;
}

.flow-curriculum__item:not(:first-child) {
    margin-top: 9px;
    margin-top: 0.5625rem;
}

.flow-curriculum__item-number {
    font-family: "Oswald", sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.flow-curriculum__item-title {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
}

.flow-curriculum__note {
    font-size: 10px;
    font-size: 0.625rem;
    margin-top: 6px;
    margin-top: 0.375rem;
    text-align: center;
}

.comparison {
    background-color: rgba(0, 22, 104, 0.04);
    padding: 50px 0 30px;
    padding: 3.125rem 0 1.875rem;
}

.comparison .inner {
    max-width: 500px;
    max-width: 31.25rem;
}

.comparison__subTitle {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    margin-top: 5px;
    margin-top: 0.3125rem;
    text-align: center;
}

.comparison__plans {
    gap: 44px;
    gap: 2.75rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 10px;
    margin-top: 0.625rem;
}

.comparison__plans .image__career-up {
    position: relative;
    width: 40%;
}

.comparison__plans .image__career-up::before,
.comparison__plans .image__career-up::after {
    background-color: #001668;
    content: "";
    display: inline-block;
    height: 2px;
    height: 0.125rem;
    position: absolute;
    right: -30px;
    right: -1.875rem;
    top: 60%;
    width: 15px;
    width: 0.9375rem;
}

.comparison__plans .image__career-up::before {
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.comparison__plans .image__career-up::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
}

.comparison__plans .image__cytech {
    width: 48%;
}

.comparison__explain {
    margin-top: 14px;
    margin-top: 0.875rem;
}

.comparison__cost {
    gap: min(9vw, 40px);
    gap: min(9vw, 2.5rem);
    border: 1px solid #001668;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 15px auto 0;
    margin: 0.9375rem auto 0;
    max-width: 380px;
    max-width: 23.75rem;
}

.comparison__cost-left {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #001668;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 25px min(3vw, 10px) 23px 3vw;
    padding: 1.5625rem min(3vw, 10px) 1.4375rem 3vw;
    position: relative;
}

.comparison__cost-left::after {
    background-color: #001668;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    content: "";
    height: 100%;
    position: absolute;
    right: -25px;
    right: -1.5625rem;
    right: max(-6.2vw, -25px);
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: min(6.4vw, 26px);
    z-index: -1;
}

.comparison__cost-text {
    color: #fff;
    font-size: min(4.5vw, 18px);
    font-weight: 700;
    letter-spacing: 0;
}

.comparison__cost-text .dot {
    position: relative;
}

.comparison__cost-text .dot::before {
    background-color: #f8ee1a;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 4px;
    height: 0.25rem;
    left: 50%;
    position: absolute;
    top: -5px;
    top: -0.3125rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 4px;
    width: 0.25rem;
}

.comparison__discount-wrap {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 5px;
    margin-top: 0.3125rem;
}

.comparison__discount {
    color: #fff;
    font-size: min(5.9vw, 24px);
    font-weight: 700;
    line-height: 1;
}

.comparison__number {
    color: #fff;
    font-size: min(13.8vw, 56px);
    font-weight: 700;
    line-height: 1;
    margin: 0 min(0.8vw, 3px);
}

.comparison__price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 28px;
    margin-top: 1.75rem;
}

.comparison__course-fee {
    font-size: min(3.2vw, 12px);
    font-weight: 700;
    text-align: right;
}

.comparison__course-fee .comparison__strong {
    font-family: "Oswald", sans-serif;
    font-size: min(4.7vw, 18px);
    font-weight: 700;
    line-height: 1;
    margin-left: min(1.3vw, 5px);
}

.comparison__course-fee .unit {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 700;
    margin-left: 3px;
    margin-left: 0.1875rem;
}

.comparison__course-fee .tax {
    font-size: min(2.2vw, 8px);
}

.comparison__arrow {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.comparison__total-fee {
    font-size: min(3.2vw, 12px);
    font-weight: 700;
    margin-top: 2px;
    margin-top: 0.125rem;
}

.comparison__total-fee .comparison__strong {
    font-family: "Oswald", sans-serif;
    font-size: min(7.1vw, 28px);
    font-weight: 700;
    line-height: 1;
    margin-right: min(1.3vw, 5px);
}

.comparison__total-fee .tax {
    font-size: 8px;
    font-size: 0.5rem;
}

.comparison__conditions {
    font-size: 10px;
    font-size: 0.625rem;
    margin: 12px auto 0;
    margin: 0.75rem auto 0;
    max-width: 380px;
    max-width: 23.75rem;
}

.comparison__conditions-list {
    margin: 3px auto 0;
    margin: 0.1875rem auto 0;
    max-width: 380px;
    max-width: 23.75rem;
}

.comparison__conditions-item {
    font-size: 10px;
    font-size: 0.625rem;
    line-height: 1.75;
}

.comparison__counseling {
    background-color: #fff;
    border-radius: 0.75rem;
    margin-top: 10px;
    margin-top: 0.625rem;
    padding: 25px 10px 15px;
    padding: 1.5625rem 0.625rem 0.9375rem;
    text-align: center;
}

.comparison__counseling-heading {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
}

.comparison__counseling-time {
    font-weight: 700;
}

.comparison__counseling-strong {
    font-family: "Oswald", sans-serif;
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 700;
    margin-right: 5px;
    margin-right: 0.3125rem;
}

.comparison__counseling-strong::before {
    background: url(/assets/images/common/icon_time.svg) no-repeat center center/contain;
    content: "";
    display: inline-block;
    height: 20px;
    height: 1.25rem;
    margin-right: 5px;
    margin-right: 0.3125rem;
    width: 20px;
    width: 1.25rem;
}

.comparison__counseling-button {
    margin: 8px auto 0;
    margin: 0.5rem auto 0;
    max-width: 260px;
    max-width: 16.25rem;
}

.comparison__counseling-button.button-detail a {
    padding: 8.5px 5px;
    padding: 0.53125rem 0.3125rem;
}

.comparison__counseling-button a::after {
    background: url(/assets/images/common/icon_headset.svg) no-repeat center center/contain;
    content: "";
    display: inline-block;
    height: 18px;
    height: 1.125rem;
    margin-left: 5px;
    margin-left: 0.3125rem;
    width: 15px;
    width: 0.9375rem;
}

.plan {
    padding: 50px 0 25px;
    padding: 3.125rem 0 1.5625rem;
}

.plan .inner {
    padding-left: 0;
    padding-right: 0;
}

.plan__course-swiper {
    margin-top: 20px;
    margin-top: 1.25rem;
    position: relative;
}

.plan__course-swiper::after,
.plan__course-swiper::before {
    background-color: #001668;
    content: "";
    display: inline-block;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.plan__course-swiper::before {
    bottom: -8px;
    bottom: -0.5rem;
    height: 3px;
    height: 0.1875rem;
    width: 15px;
    width: 0.9375rem;
}

.plan__course-swiper::after {
    bottom: -14px;
    bottom: -0.875rem;
    height: 15px;
    height: 0.9375rem;
    width: 3px;
    width: 0.1875rem;
}

.plan__course-list {
    padding: 10px 0 10px;
    padding: 0.625rem 0 0.625rem;
}

.plan__course-item {
    background-color: #fff;
    border-radius: 1.5rem;
    -webkit-box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
}

.plan__course-title {
    border-radius: 1.5rem 1.5rem 0 0;
    color: #fff;
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 10px;
    padding: 0.625rem;
    text-align: center;
}

.plan__course-item.job-change .plan__course-title {
    background: -webkit-gradient(linear, left top, right top, from(#0f4bab), to(#953ec3));
    background: linear-gradient(to right, #0f4bab, #953ec3);
}

.plan__course-item.learning .plan__course-title {
    background: -webkit-gradient(linear, left top, right top, from(#f13884), to(#f7513b));
    background: linear-gradient(to right, #f13884, #f7513b);
}

.plan__course-item-wrap {
    margin: 8px 10px 10px;
    margin: 0.5rem 0.625rem 0.625rem;
    padding: 0 10px 5px;
    padding: 0 0.625rem 0.3125rem;
}

.plan__course-realPrice-wrap {
    background-color: #f8ee1a;
    border-radius: 0.9375rem;
    padding: 10px 10px 3px;
    padding: 0.625rem 0.625rem 0.1875rem;
    text-align: center;
}

.plan__course-explanation {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
}

.plan__course-realPrice {
    font-family: "Oswald", sans-serif;
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 700;
    margin-top: -2px;
    margin-top: -0.125rem;
}

.plan__course-realPrice-medium {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    margin-right: 5px;
    margin-right: 0.3125rem;
}

.plan__course-realPrice-small {
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 700;
}

.plan__course-arrow {
    font-weight: 400;
    line-height: 1;
    margin-top: -8px;
    margin-top: -0.5rem;
    text-align: center;
}

.plan__course-listPrice {
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center;
}

.plan__course-realPrice-small.margin-right {
    margin-right: 10px;
    margin-right: 0.625rem;
}

.plan__course-contents {
    background-color: #f5f6f9;
    border-radius: 0.625rem;
    margin-top: 5px;
    margin-top: 0.3125rem;
    padding: 10px 14px;
    padding: 0.625rem 0.875rem;
}

.plan__course-contents .contents__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    font-size: 0.875rem;
}

.plan__course-contents .contents__list:nth-of-type(2) {
    margin-top: 3px;
    margin-top: 0.1875rem;
}

.plan__course-contents .contents__list:nth-of-type(3) {
    margin-top: 12px;
    margin-top: 0.75rem;
}

.plan__course-contents .contents__term {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-weight: 700;
    max-width: 80px;
    max-width: 5rem;
    width: 100%;
}

.plan__course-contents .contents__description.bold {
    font-weight: 700;
}

.plan__course-contents .contents__description-small {
    display: inline-block;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.25;
}

.plan__course-recommend {
    border: 1px solid #001668;
    border-radius: 0.625rem;
    margin-top: 16px;
    margin-top: 1rem;
    padding: 10px;
    padding: 0.625rem;
}

.plan__course-recommend .recommend__title {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
}

.plan__course-recommend .recommend__item {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.2857142857;
}

.course-swiper {
    position: relative;
}

.course-swiper__button-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    left: 50%;
    position: absolute;
    top: 52%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 94%;
    z-index: 10;
}

.course-swiper__button-wrap .swiper-button-prev,
.course-swiper__button-wrap .swiper-button-next {
    background-color: #001668;
    border-radius: 50%;
    height: 25px;
    height: 1.5625rem;
    position: relative;
    width: 25px;
    width: 1.5625rem;
}

.course-swiper__button-wrap .swiper-button-prev::before,
.course-swiper__button-wrap .swiper-button-next::before {
    background-color: #fff;
    bottom: 0;
    content: "";
    height: 8px;
    height: 0.5rem;
    margin: auto;
    position: absolute;
    top: 0;
    width: 7px;
    width: 0.4375rem;
}

.course-swiper__button-wrap .swiper-button-prev::before {
    -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.course-swiper__button-wrap .swiper-button-next::before {
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    left: 10px;
    left: 0.625rem;
}

.plan__option-swiper {
    margin-top: 10px;
    margin-top: 0.625rem;
}

.plan__option-item {
    background-color: #001668;
    border-radius: 0.625rem;
    -webkit-box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    margin-top: 10px;
    margin-top: 0.625rem;
    padding: 12px 20px 17px;
    padding: 0.75rem 1.25rem 1.0625rem;
}

.plan__option-title {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}

.plan__option-contents {
    background-color: #fff;
    border-radius: 0.5625rem;
    margin-top: 10px;
    margin-top: 0.625rem;
    padding: 10px;
    padding: 0.625rem;
    text-align: center;
}

.plan__option-contents .contents__title {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
}

.plan__option-contents .contents__price {
    background-color: #f5f6f9;
    font-family: "Oswald", sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    margin: 3px auto 0;
    margin: 0.1875rem auto 0;
    padding: 1.5px 0;
    padding: 0.09375rem 0;
    width: 74.5%;
}

.plan__option-contents .contents__price-small {
    font-size: 12px;
    font-size: 0.75rem;
}

.plan__option-contents .contents__text {
    margin-top: 3px;
    margin-top: 0.1875rem;
}

.option-swiper {
    position: relative;
}

.option-swiper__button-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    left: 50%;
    position: absolute;
    top: 60%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 94%;
    z-index: 10;
}

.option-swiper__button-wrap .swiper-button-prev,
.option-swiper__button-wrap .swiper-button-next {
    background-color: #fff;
    border-radius: 50%;
    height: 25px;
    height: 1.5625rem;
    position: relative;
    width: 25px;
    width: 1.5625rem;
}

.option-swiper__button-wrap .swiper-button-prev::before,
.option-swiper__button-wrap .swiper-button-next::before {
    background-color: #001668;
    bottom: 0;
    content: "";
    height: 8px;
    height: 0.5rem;
    margin: auto;
    position: absolute;
    top: 0;
    width: 7px;
    width: 0.4375rem;
}

.option-swiper__button-wrap .swiper-button-prev::before {
    -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.option-swiper__button-wrap .swiper-button-next::before {
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    left: 10px;
    left: 0.625rem;
}

.inner_conditions {
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-top: 0.625rem;
    padding-left: 35px;
    padding-right: 35px;
    width: 100%;
}

.plan__conditions-list {
    margin-top: 5px;
    margin-top: 0.3125rem;
}

.plan__conditions-item {
    line-height: 1.75;
}

.guarantee__upper {
    background-color: rgba(0, 22, 104, 0.04);
    padding: 55px 0 12px;
    padding: 3.4375rem 0 0.75rem;
    position: relative;
}

.guarantee__subTitle {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    margin-top: 3px;
    margin-top: 0.1875rem;
    text-align: center;
}

.guarantee__list {
    gap: 10px;
    gap: 0.625rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 15px auto 0;
    margin: 0.9375rem auto 0;
    width: 89%;
}

.guarantee__item img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    border-radius: 50%;
    object-fit: cover;
    width: 100%;
}

.guarantee__item-text {
    line-height: 1.3333333333;
    margin-top: 10px;
    margin-top: 0.625rem;
}

.next__arrow {
    background-color: #f5f6f9;
    bottom: -40px;
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    content: "";
    display: inline-block;
    height: 41px;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    z-index: 1;
}

.guarantee__middle {
    background-color: #001668;
    padding: 52px 0 15px;
    padding: 3.25rem 0 0.9375rem;
}

.guarantee__conditions-lead {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}

.guarantee__conditions-wrap {
    background-color: #fff;
    border-radius: 0.75rem;
    margin-top: 10px;
    margin-top: 0.625rem;
    padding: 12px 22px 14px 17px;
    padding: 0.75rem 1.375rem 0.875rem 1.0625rem;
}

.guarantee__conditions-title {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
}

.guarantee__conditions-list {
    margin-top: 6px;
    margin-top: 0.375rem;
}

.guarantee__conditions-item {
    line-height: 1.75;
}

.guarantee__contents-wrap {
    border: 0.75px solid #fff;
    border-radius: 0.625rem;
    margin-top: 14px;
    margin-top: 0.875rem;
    padding: 11px 17px;
    padding: 0.6875rem 1.0625rem;
}

.guarantee__contents-title {
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
}

.guarantee__contents-list {
    margin-top: 6px;
    margin-top: 0.375rem;
}

.guarantee__contents-item {
    color: #fff;
    font-size: 11px;
    font-size: 0.6875rem;
    line-height: 1.75;
}

.guarantee__caution {
    background-color: #f8ee1a;
    border-radius: 0.375rem;
    margin-top: 15px;
    margin-top: 0.9375rem;
    padding-left: 10px;
    padding-left: 0.625rem;
}

.guarantee__caution-inner {
    gap: 10px;
    gap: 0.625rem;
    background-color: #fff;
    border-radius: 0.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 8px 29px 5px 5px;
    padding: 0.5rem 1.8125rem 0.3125rem 0.3125rem;
}

.guarantee__caution-inner img {
    width: 23px;
    width: 1.4375rem;
}

.guarantee__caution-text {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.3;
}

.guarantee__caution-item {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 400;
}

.guarantee__henkin {
    border: 1px solid #001668;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 15px;
    margin-top: 0.9375rem;
}

.guarantee__henkin-left {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #001668;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 5px 20px 15px;
    padding: 1.25rem 0.3125rem 1.25rem 0.9375rem;
    position: relative;
    width: 50%;
}

.guarantee__henkin-left::after {
    background-color: #001668;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    content: "";
    height: 100%;
    position: absolute;
    right: -20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px;
    z-index: -1;
}

.guarantee__henkin-text {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
}

.guarantee__henkin-text .dot {
    position: relative;
}

.guarantee__henkin-text .dot::before {
    background-color: #f8ee1a;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 4px;
    height: 0.25rem;
    left: 50%;
    position: absolute;
    top: -3px;
    top: -0.1875rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 4px;
    width: 0.25rem;
}

.guarantee__henkin-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 10px 10px 25px;
    padding: 0.625rem 0.625rem 0.625rem 1.5625rem;
}

.guarantee__henkin-detail {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
}

.guarantee__henkin-note {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 400;
    margin-top: 5px;
    margin-top: 0.3125rem;
}

.guarantee__henkin-policy {
    background-color: rgba(0, 22, 104, 0.04);
    font-size: 10px;
    font-size: 0.625rem;
    line-height: 1.75;
    margin-top: 15px;
    margin-top: 0.9375rem;
    padding: 10px 35px;
    padding: 0.625rem 2.1875rem;
}

.comparison-company {
    padding-top: 55px;
    padding-top: 3.4375rem;
}

.comparison__table-wrap {
    margin-top: -5px;
    margin-top: -0.3125rem;
    overflow-x: auto;
}

.comparison__table {
    margin: 0 auto;
    width: 720px;
}

.comparison__table .img {
    width: 100%;
}

.comparison__table .img img {
    -o-object-fit: cover;
    object-fit: cover;
}

.sections_bg {
    background: url(/assets/images/common/sections_bg.jpg) no-repeat center center/cover;
}

.voice {
    padding: 54px 0 27px;
    padding: 3.375rem 0 1.6875rem;
}

.voice .inner {
    padding-left: 35px;
    padding-left: 2.1875rem;
    padding-right: 35px;
    padding-right: 2.1875rem;
}

.voice__subTitle {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    margin-top: 5px;
    margin-top: 0.3125rem;
    text-align: center;
}

.voice__item {
    border-radius: 1.25rem;
    -webkit-box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    box-shadow: 0 0 10px rgba(130, 130, 163, 0.4);
    margin: 20px auto;
    margin: 1.25rem auto;
}

.voice__item-image img {
    aspect-ratio: 320/142;
    -o-object-fit: cover;
    border-radius: 1.25rem 1.25rem 0 0;
    object-fit: cover;
}

.voice__item-title {
    background-color: #fff;
    border-radius: 0 0 1.25rem 1.25rem;
    font-weight: 700;
    padding: 14px 33px 22px;
    padding: 0.875rem 2.0625rem 1.375rem;
}

.voice-swiper {
    margin-top: -12px;
    margin-top: -0.75rem;
    position: relative;
}

.voice-swiper__button-wrap .swiper-button-prev,
.voice-swiper__button-wrap .swiper-button-next {
    background-color: #001668;
    border-radius: 50%;
    height: 25px;
    height: 1.5625rem;
    position: absolute;
    top: 54%;
    width: 25px;
    width: 1.5625rem;
}

.voice-swiper__button-wrap .swiper-button-prev {
    left: -30px;
    left: -1.875rem;
}

.voice-swiper__button-wrap .swiper-button-next {
    right: -30px;
    right: -1.875rem;
}

.voice-swiper__button-wrap .swiper-button-prev::before,
.voice-swiper__button-wrap .swiper-button-next::before {
    background-color: #fff;
    bottom: 0;
    content: "";
    height: 8px;
    height: 0.5rem;
    margin: auto;
    position: absolute;
    top: 0;
    width: 7px;
    width: 0.4375rem;
}

.voice-swiper__button-wrap .swiper-button-prev::before {
    -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.voice-swiper__button-wrap .swiper-button-next::before {
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
}

.voice_view-more {
    display: block;
    margin-top: -13px;
    margin-top: -0.8125rem;
    text-align: right;
}

.flow-attendance {
    background-color: rgba(255, 255, 255, 0.4);
    padding: 50px 0 30px;
    padding: 3.125rem 0 1.875rem;
}

.flow-attendance .section__title {
    margin: 0 auto;
    text-align: left;
    width: 89%;
}

.flow-attendance__list {
    margin-top: 25px;
    margin-top: 1.5625rem;
}

.attendance-item {
    background-color: #fff;
    border-radius: 1.0625rem;
    -webkit-box-shadow: 0 0 10px rgba(174, 174, 193, 0.5);
    box-shadow: 0 0 10px rgba(174, 174, 193, 0.5);
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
    padding: 0.625rem;
    width: 89%;
}

.attendance-item:not(:first-child) {
    margin-top: 10px;
    margin-top: 0.625rem;
}

.attendance-item__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.attendance-item__wrap + .attendance-item__wrap {
    margin-top: 20px;
    margin-top: 1.25rem;
}

.attendance-item__number {
    font-family: "Oswald", sans-serif;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    max-width: 32px;
    max-width: 2rem;
    position: relative;
    text-align: center;
    width: 100%;
}

.attendance-item__number::after {
    content: "";
    display: inline-block;
    height: 100%;
    position: absolute;
    right: -3px;
    right: -0.1875rem;
    top: 0;
    width: 1px;
}

.attendance-item:nth-of-type(1) .attendance-item__number::after {
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(241, 56, 132)), to(rgb(247, 81, 59)));
    background: linear-gradient(to bottom, rgb(241, 56, 132), rgb(247, 81, 59));
}

.attendance-item:nth-of-type(2) .attendance-item__number::after {
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(247, 81, 59)), to(rgb(248, 238, 26)));
    background: linear-gradient(to bottom, rgb(247, 81, 59), rgb(248, 238, 26));
}

.attendance-item:nth-of-type(3) .attendance-item__number::after {
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(248, 238, 26)), to(rgb(52, 224, 255)));
    background: linear-gradient(to bottom, rgb(248, 238, 26), rgb(52, 224, 255));
}

.attendance-item:nth-of-type(4) .attendance-item__number::after {
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(52, 224, 255)), to(rgb(15, 75, 171)));
    background: linear-gradient(to bottom, rgb(52, 224, 255), rgb(15, 75, 171));
}

.attendance-item:nth-of-type(5) .attendance-item__number::after {
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(15, 75, 171)), to(rgb(149, 62, 195)));
    background: linear-gradient(to bottom, rgb(15, 75, 171), rgb(149, 62, 195));
}

.attendance-item__contents {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 15px;
    padding-left: 0.9375rem;
}

.attendance-item__title {
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 700;
}

.attendance-item__text {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.75;
    margin-top: 4px;
    margin-top: 0.25rem;
}

.faq {
    padding-top: 50px;
    padding-top: 3.125rem;
}

.faq__tab-menu {
    gap: 10px;
    gap: 0.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 28px;
    margin-top: 1.75rem;
}

.faq__tab-menu-item {
    border: 0.75px solid #001668;
    border-radius: 100vh;
    cursor: pointer;
    font-size: 10px;
    font-size: 0.625rem;
    line-height: 1;
    max-width: 100px;
    max-width: 6.25rem;
    padding: 5px;
    padding: 0.3125rem;
    text-align: center;
    width: 100%;
}

.faq__tab-menu-item.is-active {
    background-color: #001668;
    color: #fff;
}

.faq__tab-content {
    margin-top: 30px;
    margin-top: 1.875rem;
}

.faq__filter-item:not(:first-of-type) {
    margin-top: 12px;
    margin-top: 0.75rem;
}

.faq__accordion-item:not(:first-of-type) {
    margin-top: 12px;
    margin-top: 0.75rem;
}

.item__question {
    background-color: #fff;
    border-radius: 0.75rem;
    -webkit-box-shadow: 0 0 10px rgba(174, 174, 193, 0.5);
    box-shadow: 0 0 10px rgba(174, 174, 193, 0.5);
    cursor: pointer;
    padding: 15px 40px 15px 20px;
    padding: 0.9375rem 2.5rem 0.9375rem 1.25rem;
    position: relative;
    width: 100%;
}

.item__question .text {
    color: #001668;
    font-weight: 700;
    line-height: 1.75;
    text-align: left;
}

.item__question::before,
.item__question::after {
    background: #001668;
    content: "";
    height: 1px;
    height: 0.0625rem;
    position: absolute;
    right: 20px;
    right: 1.25rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    width: 8px;
    width: 0.5rem;
}

.item__question::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.item__question.is-open::after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.item_answer {
    display: none;
    font-weight: 700;
    line-height: 1.75;
    padding: 15px 40px 15px 20px;
    padding: 0.9375rem 2.5rem 0.9375rem 1.25rem;
    text-align: left;
}

.cta {
    margin-top: 60px;
    margin-top: 3.75rem;
    padding-bottom: 35px;
    padding-bottom: 2.1875rem;
}

.cta__cards {
    gap: 10px;
    gap: 0.625rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.cta__card {
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 0.75rem;
    -webkit-box-shadow: 0 0 10px rgba(174, 174, 193, 0.5);
    box-shadow: 0 0 10px rgba(174, 174, 193, 0.5);
    padding: 17px 0;
    padding: 1.0625rem 0;
}

.cta__kinds {
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    padding: 0 20px;
    padding: 0 1.25rem;
}

.cta__title {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.375;
    padding: 0 15px;
    padding: 0 0.9375rem;
}

.cta__text {
    font-weight: 700;
    line-height: 1.5833333333;
    padding: 5px 20px 0;
    padding: 0.3125rem 1.25rem 0;
}

.cta_btn.button {
    margin: 15px auto 0;
    margin: 0.9375rem auto 0;
    width: 88%;
}

.cta_btn.button a {
    font-size: 12px;
    font-size: 0.75rem;
    padding: 9px 5px;
    padding: 0.5625rem 0.3125rem;
}

.cta_btn.button a::after {
    width: 13px;
    width: 0.8125rem;
}

@media (hover: hover) {
    .button a:hover {
        background-position: 100% 50%;
    }

    .button-detail a:hover {
        background-color: #fff;
        border: 1px solid #001668;
        color: #001668;
    }
}

@media screen and (min-width: 768px) {
    .u-desktop {
        display: block;
    }

    .u-mobile {
        display: none;
    }

    html {
        font-size: 1.3333333333vw;
    }

    a[href^="tel:"] {
        pointer-events: none;
    }

    a:hover {
        opacity: 0.8;
    }

    .pc-none {
        display: none;
    }

    .sp-none {
        display: block;
    }

    .button {
        max-width: 18.75rem;
    }

    .button a {
        font-size: 1.3125rem;
        line-height: 1.2;
        padding: 1.71875rem 0.625rem;
    }

    .button a::after {
        height: 1.5rem;
        width: 1.5rem;
    }

    .button-detail a {
        font-size: 1rem;
        padding: 0.4375rem 0.3125rem;
    }

    .section__title {
        font-size: 2.5rem;
    }

    .section__subTitle {
        font-size: 2rem;
    }

    .section__subTitle .underline {
        text-underline-offset: 0.75rem;
    }

    body.sub-page {
        background: url(/assets/images/common/body_bg.jpg) no-repeat center center/cover;
    }

    main.sub-page {
        padding-top: 6.25rem;
    }

    .header.sub-page {
        background-color: rgba(0, 22, 104, 0.15);
        background-color: rgba(0, 22, 104, 1);
    }

    .contact-page {
        padding: 6.25rem;
    }

    .sub-page__title {
        font-size: 2.5rem;
    }

    .inner {
        max-width: 1250px;
        padding-left: 25px;
        padding-right: 25px;
    }

    .footer {
        background: url(/assets/images/common/footer_bg-pc.jpg) no-repeat center center/cover;
        padding: 1.6875rem 0 0.75rem;
    }

    .footer__inner {
        max-width: 78.125rem;
        padding: 0 1.5625rem;
    }

    .footer__logo {
        max-width: 14.1875rem;
    }

    .footer__logo a {
        padding: 0.9375rem 0;
    }

    .footer__nav {
        margin-top: -0.0625rem;
    }

    .footer__nav-items {
        gap: 0;
        padding-left: 1.875rem;
    }

    .footer__nav-item a {
        font-size: 1rem;
        padding: 0.9375rem;
    }

    .footer__sns.sns-list {
        margin-top: 1.25rem;
    }

    .footer__address {
        font-size: 0.75rem;
        margin-top: 1.6875rem;
    }

    .footer__copyright {
        font-size: 0.75rem;
        margin-top: 1.6875rem;
    }

    .header {
        height: 6.25rem;
        position: fixed;
        width: 100%;
    }

    .header.active {
        background-color: rgba(0, 22, 104, 1);
    }

    .header__inner {
        margin: 0 auto;
        max-width: 87.5rem;
        padding: 0 5.625rem 0 0.9375rem;
        position: relative;
    }

    .header__logo {
        max-width: 14.25rem;
    }

    .header__nav {
        display: block;
    }

    .header__nav-item a {
        color: #fff;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 0;
        padding: 0 1.25rem;
    }

    .header__hamburger,
    .floating__hamburger {
        position: absolute;
        right: 1.25rem;
        top: 1.25rem;
    }

    .header__hamburger.is-open {
        position: absolute;
        right: 1.25rem;
        top: 1.25rem;
    }

    .sp-menu-content {
        max-width: 500px;
    }

    .mv {
        min-height: 0;
        min-height: initial;
    }

    .mv__title-block {
        max-width: 87.5rem;
        padding: 0 6.25rem;
        top: 22%;
    }

    .mv__title-vertical {
        -webkit-writing-mode: initial; /* Chrome、Safari用 */
        -moz-writing-mode: initial; /* Firefox用 */
        -ms-writing-mode: initial;
        writing-mode: initial;
    }

    .mv__main-title {
        -webkit-writing-mode: initial; /* Chrome、Safari用 */
        -moz-writing-mode: initial; /* Firefox用 */
        -ms-writing-mode: initial;
        font-size: 5rem;
        letter-spacing: 0;
        writing-mode: initial;
    }

    .mv__main-title .underline {
        -webkit-text-decoration-line: underline;
        -webkit-text-decoration-color: #fff;
        text-decoration-thickness: 0.1875rem;
        text-underline-offset: 0.9375rem;
        display: inline-block;
        text-decoration-color: #fff;
        text-decoration-line: underline;
    }

    .mv__sub-title {
        -webkit-writing-mode: initial; /* Chrome、Safari用 */
        -moz-writing-mode: initial; /* Firefox用 */
        -ms-writing-mode: initial;
        font-size: 2rem;
        letter-spacing: 0.05em;
        margin-top: 3.4375rem;
        writing-mode: initial;
    }

    .mv__title-number {
        -ms-text-combine-horizontal: initial;
        -webkit-text-combine: initial;
        text-combine-upright: initial;
    }

    .mv__text {
        letter-spacing: 0.01em;
        line-height: 1.75;
        margin-top: 0.1875rem;
        text-align: left;
    }

    .mv__buttons {
        display: none;
    }

    .mv__buttons-pc {
        gap: 0.625rem;
        border-radius: 100vh;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 3.375rem 0 0;
        max-width: 39.375rem;
        padding: 0;
        -webkit-transition-duration: 0.5s;
        transition-duration: 0.5s;
        width: 92%;
    }

    .mv__buttons-pc .mv_btn a {
        -webkit-box-shadow: 0 0 10px rgba(229, 229, 249, 0.5);
        box-shadow: 0 0 10px rgba(229, 229, 249, 0.5);
    }

    .banner__hojokin {
        margin-top: 0;
        padding-top: 1.25rem;
    }

    .banner__hojokin-wrap {
        border-radius: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
        -webkit-box-shadow: initial;
        box-shadow: initial;
        max-width: none;
        max-width: initial;
        padding-top: 0;
    }

    .banner__hojokin-flex {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .banner__hojokin-heading {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .banner__hojokin-certificate {
        font-size: 1.3125rem;
        height: 8.5625rem;
        line-height: 1.2380952381;
        width: 8.5625rem;
    }

    .banner__hojokin-ratio {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .ratio__left {
        font-size: 1.5rem;
    }

    .ratio__left-strong {
        font-size: 3.5rem;
    }

    .ratio__right {
        font-size: 4.5rem;
    }

    .hojokin__value {
        font-size: 7rem;
        line-height: 1;
        margin-left: -0.3125rem;
        margin-right: 0.4375rem;
    }

    .hojokin__percent {
        font-size: 3.7125rem;
        margin-right: 0.3125rem;
    }

    .ratio__off {
        font-size: 4.5rem;
    }

    .banner__hojokin-cashback {
        display: block;
        font-size: 1.5rem;
        margin: 0 0 0 1.25rem;
        max-width: none;
        max-width: initial;
        padding: 0.3125rem 2.8125rem;
        text-align: center;
    }

    .banner__hojokin-cashback .cashback__value {
        font-size: 3.86875rem;
    }

    .banner__hojokin-explain {
        gap: 2.1875rem;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: -0.3125rem;
        padding: 0 0 0 5.25rem;
    }

    .banner__hojokin-explain img {
        width: 13.9%;
    }

    .banner__hojokin-explain .explain__text {
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.5625;
    }

    .banner__hojokin-support {
        border-radius: 0;
        margin-top: 1.25rem;
        margin-top: -1.25rem;
        padding: 1.375rem 0.625rem 1.75rem;
    }

    .support__title {
        font-size: 2.5rem;
    }

    .support__text {
        font-size: 0.875rem;
        margin-top: 0.375rem;
    }

    .banner__hojokin-button {
        margin: 0;
        max-width: 21.875rem;
        width: 100%;
    }

    .banner__hojokin-button.button-detail a {
        font-size: 1rem;
        padding: 0.75rem;
    }

    .sections_bg-upper {
        background: url(/assets/images/common/sections_bg-pc.jpg) no-repeat center center/cover;
    }

    .reason {
        background: none;
        margin-top: 0;
        padding: 4.375rem 0 4.625rem;
    }

    .reason .section__title {
        text-align: left;
    }

    .reason .inner {
        max-width: 65.625rem;
    }

    .section__subTitle--none {
        font-size: 1.5rem;
        margin-top: 2.5rem;
        text-align: left;
    }

    .reason__text {
        font-size: 1.125rem;
        line-height: 1.75;
        margin-top: 1.875rem;
        text-align: left;
    }

    .reason__text:nth-of-type(2) {
        margin-top: 3.125rem;
    }

    .strong {
        border-radius: 5.9375rem 0 5.9375rem 0;
        margin-top: 0;
        padding: 5rem 0 5.3125rem;
    }

    .section__title-strong {
        gap: 0.9375rem;
        margin-left: -2.5rem;
    }

    .section__title-strong img {
        width: 18.5625rem;
    }

    .strong__link {
        gap: 3.75rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 5.3125rem;
    }

    .strong__link.inner {
        max-width: 78.125rem;
    }

    .strong__contents-list {
        margin-top: 5.1875rem;
    }

    .strong__contents-item {
        grid-template-columns: 1fr;
        margin-left: auto;
        margin-right: auto;
        max-width: 78.125rem;
        padding-left: 25px;
        padding-right: 25px;
        width: 100%;
    }

    .strong-contents__text-block {
        width: 100%;
    }

    .strong__contents-item:nth-of-type(2) {
        grid-template-columns: 1fr;
        margin-top: 5rem;
    }

    .strong__contents-item:nth-of-type(3) {
        margin-top: 5rem;
    }

    .strong-contents__number {
        font-family: "Oswald", sans-serif;
        font-size: 3.75rem;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 1.25rem;
    }

    .strong-contents__heading {
        font-size: 1.125rem;
        margin-top: 1.25rem;
    }

    .strong-contents__text {
        font-size: 1rem;
        margin-top: 0.9375rem;
    }

    .strong-contents__flex:nth-of-type(2) {
        margin-top: 2rem;
    }

    .strong-contents__right {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        margin-bottom: 1.25rem;
    }

    .strong__contents-item:nth-of-type(2) .strong-contents__text:last-of-type {
        padding-bottom: 0;
    }

    .strong-contents__flex {
        gap: 2.5rem;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: -0.625rem;
    }

    .strong-contents__left {
        width: 66.7%;
    }

    .strong-contents__img {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        height: 95%;
    }

    .strong-contents__language img {
        max-width: 2.75rem;
    }

    .language__name {
        font-size: 0.6875rem;
    }

    .strong__contents-button {
        margin: 1.875rem 0 0;
    }

    .features {
        background: none;
        margin-top: 0;
        padding: 4.375rem 0 5rem;
    }

    .features__learning {
        font-size: 1.5rem;
        margin-top: 2rem;
    }

    .features__learning img {
        width: 11.875rem;
    }

    .feature__languages-wrap {
        margin: 3.6875rem auto 0;
        max-width: 50rem;
    }

    .feature__languages {
        border: 1px solid #001668;
        border-radius: 0.9375rem;
    }

    .feature__languages-title {
        font-size: 1rem;
        margin: -2.6875rem auto 0;
        max-width: 17.5rem;
        padding: 0.5rem;
    }

    .feature__languages-kinds {
        font-size: 1.5rem;
        letter-spacing: 0;
        margin-top: 1.25rem;
    }

    .card-features {
        margin-top: 3.625rem;
    }

    .features__list {
        gap: 3.75rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .features__item {
        border-radius: 1.5625rem;
        padding: 1.75rem 1.75rem 1.875rem;
    }

    .features__item:not(:first-of-type) {
        margin-top: 0;
    }

    .features__item-title {
        font-size: 1.5rem;
        margin-top: 1.4375rem;
    }

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

    .features__list img {
        aspect-ratio: 1/1;
        -o-object-fit: cover;
        margin: 0.3125rem auto 0;
        object-fit: cover;
        width: 6.0625rem;
    }

    .features__item-contents {
        margin-top: 1.375rem;
    }

    .features__item-text {
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.75;
    }

    .flow-curriculum {
        padding: 4.1875rem 0 4.375rem;
    }

    .flow-curriculum__contents {
        grid-template-columns: 1fr;
        margin-left: auto;
        margin-right: auto;
        margin-top: 3.125rem;
        max-width: 78.125rem;
        padding-left: 25px;
        padding-right: 25px;
        width: 100%;
    }

    .flow-curriculum__list {
        max-width: none;
        max-width: initial;
        width: 100%;
    }

    .flow-curriculum__heading {
        font-size: 1.125rem;
        font-weight: 700;
    }

    .flow-curriculum__heading:not(:first-of-type) {
        margin-top: 1.5rem;
    }

    .flow-curriculum__list-flex:not(:first-of-type) {
        margin-top: 1.6875rem;
    }

    .flow-curriculum__list-flex {
        gap: 1.25rem 1.5625rem;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        margin-top: 1.6875rem;
    }

    .flow-curriculum__item {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding: 0.34375rem 0.9375rem;
    }

    .flow-curriculum__item:not(:first-child) {
        margin-top: 0;
    }

    .flow-curriculum__item-number {
        font-size: 1.125rem;
    }

    .flow-curriculum__item-title {
        font-size: 1rem;
    }

    .flow-curriculum__note {
        -moz-text-align-last: left;
        font-size: 0.875rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0.9375rem;
        max-width: 78.125rem;
        padding-left: 25px;
        padding-right: 25px;
        text-align-last: left;
    }

    .comparison {
        padding: 5rem 0 5.3125rem;
    }

    .comparison .inner {
        max-width: 53.125rem;
    }

    .comparison__subTitle {
        font-size: 1.5rem;
        margin-top: 1.25rem;
    }

    .comparison__plans {
        gap: 6.875rem;
        margin-top: 2.25rem;
    }

    .comparison__plans .image__career-up {
        width: 34.5%;
    }

    .comparison__plans .image__career-up::before,
    .comparison__plans .image__career-up::after {
        height: 0.25rem;
        right: -4.5rem;
        top: 52%;
        width: 2.375rem;
    }

    .comparison__plans .image__cytech {
        width: 51.2%;
    }

    .comparison__explain {
        font-size: 1rem;
        line-height: 1.75;
        margin-top: 1.5rem;
    }

    .comparison__cost {
        gap: 0;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin: 1.5625rem auto 0;
        max-width: 49.75rem;
    }

    .comparison__cost-left {
        padding: 0.875rem min(1.3vw, 5px) 1.4375rem 3vw;
        width: 42%;
    }

    .comparison__cost-left::after {
        right: -1.3125rem;
        width: 1.375rem;
    }

    .comparison__cost-left-inner {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .comparison__cost-text {
        font-size: 1rem;
    }

    .comparison__discount {
        font-size: 1.875rem;
    }

    .comparison__discount-pc {
        font-size: 2rem;
        font-weight: 700;
        line-height: 1;
        padding-left: 0.875rem;
    }

    .comparison__number {
        font-size: 4.375rem;
        margin: 0 0.3125rem 0 0.75rem;
    }

    .comparison__price {
        margin-top: 1.125rem;
        padding-left: min(4.3vw, 4.0625rem);
    }

    .comparison__course-fee-flex {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .comparison__total-fee {
        font-size: 1.3125rem;
        margin-top: 0;
    }

    .comparison__total-fee .comparison__strong {
        font-size: 3.125rem;
        margin-right: 1px;
    }

    .comparison__total-fee .tax {
        font-size: 0.875rem;
    }

    .comparison__conditions {
        font-size: 0.75rem;
    }

    .comparison__conditions-list {
        max-width: 25rem;
    }

    .comparison__conditions-item {
        font-size: 0.75rem;
        max-width: 25rem;
    }

    .comparison__counseling {
        gap: 2.125rem;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 1.875rem 0.625rem 1.75rem;
    }

    .comparison__counseling-button {
        margin: 0;
        max-width: none;
        max-width: initial;
        width: 18.75rem;
    }

    .comparison__counseling-button.button-detail a {
        font-weight: 500;
        padding: 0.5rem 0.3125rem;
    }

    .plan {
        padding: 4.25rem 0 1.5625rem;
    }

    .plan .inner {
        padding-left: 25px;
        padding-right: 25px;
    }

    .plan__course-swiper {
        margin-top: 2.75rem;
    }

    .plan__course-swiper::before {
        bottom: -1.375rem;
        height: 0.25rem;
        width: 1.875rem;
    }

    .plan__course-swiper::after {
        bottom: -2.1875rem;
        height: 1.875rem;
        width: 0.25rem;
    }

    .plan__course-list {
        gap: 3.75rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 0 auto;
        max-width: 62.5rem;
        padding: 0.625rem;
    }

    .plan__course-item.job-change {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .plan__course-title {
        font-size: 2rem;
        padding: 1rem;
    }

    .plan__course-item-wrap {
        margin: 0.9375rem 1.5625rem 1.4375rem;
    }

    .plan__course-realPrice-wrap {
        padding: 0.9375rem 0.625rem 0.4375rem;
    }

    .plan__course-explanation {
        font-size: 1.125rem;
    }

    .plan__course-realPrice {
        font-size: 2.5rem;
        margin-top: -0.5625rem;
    }

    .plan__course-realPrice-medium {
        font-size: 1.5rem;
        margin-right: 0.625rem;
    }

    .plan__course-realPrice-small {
        font-size: 1rem;
    }

    .plan__course-arrow {
        font-size: 1.0625rem;
        font-weight: 700;
        margin-top: -0.75rem;
    }

    .plan__course-listPrice {
        font-size: 2rem;
        margin-top: -0.4375rem;
    }

    .plan__course-contents {
        padding: 0.5rem 2.4375rem;
    }

    .plan__course-contents .contents__list {
        font-size: 1rem;
    }

    .plan__course-contents .contents__term {
        font-size: 1.125rem;
        max-width: 6.625rem;
    }

    .plan__course-contents .contents__description {
        font-size: 1.125rem;
        line-height: 1.75;
    }

    .plan__course-contents .contents__description-small {
        font-size: 1rem;
        line-height: 1.2;
        margin-top: 0.375rem;
    }

    .plan__course-recommend {
        padding: 0.625rem 2.25rem;
    }

    .plan__course-recommend .recommend__title {
        font-size: 1rem;
    }

    .plan__course-recommend .recommend__item {
        font-size: 1rem;
        line-height: 1.625;
    }

    .course-swiper__button-wrap {
        display: none;
    }

    .course-swiper__button-wrap .swiper-button-prev,
    .course-swiper__button-wrap .swiper-button-next {
        height: 3.125rem;
        width: 3.125rem;
    }

    .course-swiper__button-wrap .swiper-button-prev::before,
    .course-swiper__button-wrap .swiper-button-next::before {
        height: 0.8125rem;
        width: 0.8125rem;
    }

    .plan__option-list {
        gap: 1.875rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .plan__option-list-wrap {
        background-color: #001668;
        border-radius: 1.25rem;
        margin: 3.125rem auto 0;
        max-width: 62.5rem;
        padding: 1.5625rem 3.125rem 1.875rem;
    }

    .plan__option-item {
        background-color: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
        margin-top: 0;
        padding: 0;
    }

    .plan__option-title {
        font-size: 1.125rem;
    }

    .plan__option-contents {
        margin-top: 0.9375rem;
        padding: 0.625rem 0.625rem 0.75rem;
    }

    .plan__option-contents .contents__title {
        font-size: 1rem;
    }

    .plan__option-contents .contents__price {
        font-size: 1.125rem;
    }

    .plan__option-contents .contents__price-small {
        font-size: 0.875rem;
        font-weight: 700;
    }

    .plan__option-contents .contents__text {
        font-size: 0.875rem;
        line-height: 1.2857142857;
    }

    .option-swiper__button-wrap {
        display: none;
    }

    .option-swiper__button-wrap .swiper-button-prev,
    .option-swiper__button-wrap .swiper-button-next {
        height: 3.125rem;
        width: 3.125rem;
    }

    .option-swiper__button-wrap .swiper-button-prev::before,
    .option-swiper__button-wrap .swiper-button-next::before {
        height: 0.8125rem;
        width: 0.8125rem;
    }

    .inner_conditions {
        font-size: 0.875rem;
        margin-top: 0.75rem;
        max-width: 53.125rem;
        padding-left: 25px;
        padding-right: 25px;
    }

    .plan__conditions-list {
        margin-top: 1px;
    }

    .plan__conditions-item {
        font-size: 0.875rem;
        line-height: 1.75;
    }

    .guarantee__upper {
        padding: 5.875rem 0 2.8125rem;
    }

    .guarantee__subTitle {
        font-size: 1.5rem;
        line-height: 1.75;
        margin-top: 1.4375rem;
    }

    .guarantee__list {
        gap: 6.25rem;
        margin: 1.875rem auto 0;
        max-width: 50rem;
        width: auto;
        width: initial;
    }

    .guarantee__item-text {
        font-size: 1rem;
        line-height: 2;
        margin-top: 1.375rem;
    }

    .next__arrow {
        bottom: -149px;
        height: 150px;
    }

    .guarantee__middle {
        padding: 13.625rem 0 1.875rem;
    }

    .guarantee__middle .inner {
        max-width: 65.625rem;
    }

    .guarantee__conditions-lead {
        font-size: 2rem;
    }

    .guarantee__conditions-wrap {
        border-radius: 1.125rem;
        margin-top: 2.1875rem;
        padding: 1.4375rem 1.375rem 1.75rem 1.0625rem;
    }

    .guarantee__conditions-title {
        font-size: 1.5rem;
    }

    .guarantee__conditions-list {
        margin-top: 1.375rem;
        padding: 0 4.875rem;
    }

    .guarantee__conditions-item {
        font-size: 1rem;
        line-height: 1.75;
    }

    .guarantee__contents-wrap {
        border-radius: 1rem;
        margin-top: 1.875rem;
        padding: 1.375rem 1.0625rem 1.125rem;
    }

    .guarantee__contents-title {
        font-size: 1.125rem;
    }

    .guarantee__contents-list {
        margin-top: 1.25rem;
        padding: 0 4.875rem;
    }

    .guarantee__contents-item {
        font-size: 1rem;
        line-height: 1.75;
    }

    .guarantee__caution {
        border-radius: 0.625rem;
        margin-top: 1.875rem;
        padding-left: 0.8125rem;
    }

    .guarantee__caution-inner {
        gap: 3.6875rem;
        border-radius: 0.625rem;
        padding: 0.5625rem 1.8125rem 0.75rem 3.4375rem;
    }

    .guarantee__caution-inner img {
        width: 4rem;
    }

    .guarantee__caution-text {
        font-size: 1rem;
        line-height: 1.75;
    }

    .guarantee__caution-item {
        font-size: 1rem;
        line-height: 1.75;
    }

    .guarantee__lower {
        margin-top: 1.875rem;
    }

    .guarantee__henkin {
        -webkit-box-pack: initial;
        -ms-flex-pack: initial;
        justify-content: initial;
        margin: 0 auto;
        max-width: 50rem;
    }

    .guarantee__henkin-left {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 1.25rem 0.3125rem 0.75rem 0.9375rem;
        width: 39%;
    }

    .guarantee__henkin-text {
        font-size: 2rem;
    }

    .guarantee__henkin-text .dot::before {
        height: 0.5rem;
        top: -0.375rem;
        width: 0.5rem;
    }

    .guarantee__henkin-contents {
        padding: 0.625rem 0.625rem 0.625rem 3.875rem;
    }

    .guarantee__henkin-detail {
        font-size: 1rem;
    }

    .guarantee__henkin-note {
        font-size: 0.875rem;
    }

    .guarantee__henkin-policy {
        font-size: 0.875rem;
        margin: 0.9375rem auto 0;
        max-width: 50rem;
        padding: 2.375rem 1.875rem;
    }

    .comparison-company {
        padding: 3.625rem 0 3.125rem;
    }

    .comparison__table-wrap {
        margin-top: 0.375rem;
    }

    .comparison__table {
        max-width: 66.25rem;
        width: 100%;
    }

    .comparison__table .img img {
        aspect-ratio: 2121/1277;
    }

    .sections_bg {
        background: url(/assets/images/common/sections_bg-pc.jpg) no-repeat center center/cover;
    }

    .voice {
        padding: 4.25rem 0 5rem;
    }

    .voice .inner {
        max-width: 79.375rem;
    }

    .voice__subTitle {
        font-size: 1.5rem;
        margin-top: 1.5625rem;
    }

    .voice__list {
        gap: 3.75rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .voice__item {
        height: auto;
    }

    .voice__item-title {
        font-size: 1rem;
        line-height: 1.375;
    }

    .voice-swiper {
        margin-top: 0.75rem;
    }

    .voice-swiper__button-wrap .swiper-button-prev,
    .voice-swiper__button-wrap .swiper-button-next {
        display: none;
    }

    .voice-swiper__button-wrap .swiper-button-prev::before,
    .voice-swiper__button-wrap .swiper-button-next::before {
        height: 0.8125rem;
        width: 0.8125rem;
    }

    .voice_view-more {
        font-size: 1rem;
        margin-top: 0.25rem;
        padding-right: 0.3125rem;
    }

    .flow-attendance {
        padding: 4.5625rem 0 5rem;
    }

    .flow-attendance .section__title {
        text-align: center;
    }

    .flow-attendance__list {
        margin: 1.875rem auto 0;
        max-width: 56.25rem;
    }

    .attendance-item:not(:first-child) {
        margin-top: 0.5rem;
    }

    .attendance-item__title {
        font-size: 1rem;
    }

    .attendance-item__text {
        font-size: 0.875rem;
        line-height: 1.75;
    }

    .faq {
        padding-top: 4.25rem;
    }

    .faq__tab-menu {
        gap: 2.5rem;
        margin-top: 2.0625rem;
    }

    .faq__tab-menu-item {
        font-size: 1rem;
        font-weight: 700;
        max-width: 15rem;
        padding: 0.75rem 0.625rem;
    }

    .faq__tab-content {
        margin: 2.5rem auto 0;
        max-width: 50rem;
    }

    .faq__filter-item:not(:first-of-type) {
        margin-top: 0.625rem;
    }

    .faq__accordion-item:not(:first-of-type) {
        margin-top: 0.625rem;
    }

    .faq__accordion-item:nth-of-type(4) {
        display: none;
    }

    .item__question {
        padding: 0.8125rem 2.5rem 0.8125rem 1.875rem;
    }

    .item__question .text {
        font-size: 1rem;
    }

    .item__question::before,
    .item__question::after {
        right: 1.875rem;
    }

    .cta {
        margin-top: 5.1875rem;
        padding-bottom: 5rem;
    }

    .cta__cards {
        gap: 3.75rem;
        margin: 0 auto;
        max-width: 62.5rem;
    }

    .cta__card {
        padding: 1.75rem 0;
    }

    .cta__kinds {
        font-size: 1rem;
        padding: 0 1.875rem;
    }

    .cta__title {
        font-size: 1.5rem;
        padding: 0 1.875rem;
    }

    .cta__text {
        font-size: 1rem;
        line-height: 1.75;
        padding: 0.3125rem 1.875rem 0;
    }

    .cta_btn.button {
        margin: 0.8125rem auto 0;
    }

    .cta_btn.button a {
        -webkit-box-shadow: 0 0 10px rgba(183, 183, 229, 0.2);
        box-shadow: 0 0 10px rgba(183, 183, 229, 0.2);
        font-size: 1.3125rem;
        padding: 1.0625rem 0.3125rem;
    }

    .cta_btn.button a::after {
        width: 1.375rem;
    }
}

@media (min-width: 1200px) {
    html {
        font-size: 16px;
    }
}

@media screen and (min-width: 1200px) {
    .sp-menu {
        display: none;
    }
}

@media (max-width: 375px) {
    html {
        font-size: 4.2666666667vw;
    }
}


/* 追記 202502 */

.button--line a::after {
	content: none;
}
.button--line a::before {
	background: url(/assets/images/top/ico_line.webp) no-repeat center center / contain;
	content: "";
    display: inline-block;
    height: 18px;
    height: 1.125rem;
    width: 22px;
    width: 1.375rem;
}

.floating-banner__button--download img {
    width: 22px;
    width: 1.4rem;
}
.cta_area {
	padding: 30px 0;
	color: #fff;
    background: url(/assets/images/common/sections_bg.jpg) no-repeat center bottom / cover;
}
.cta_area_ttl {
    font-size: 24px;
    margin-bottom: 10px;
}
.cta_area_txt {
    font-size: 15px;
    margin-bottom: 30px;
}
.cta__buttons .mv_btn.button {
    margin-bottom: 12px;
}


.worries {
    padding: 40px 0;
}
.worries_block {
    display: flex
;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0;
}
.worries_box {
    width: 100%;
    background: #001668;
    color: #fff;
    margin-bottom: 20px;
    box-sizing: border-box;
    padding: 30px 18px;
    border-radius: 10px;
	position: relative;
}
.worries_m {
    font-size: 5vw;
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}
ul.worries_list {
    list-style: disc;
    padding-left: 16px;
}

ul.worries_list li {
    font-size: 4vw;
    padding: 5px 0;
}
.worries_img1 {
    position: absolute;
    width: 46px;
    top: 90px;
    right: -8px;
}
.worries_img2 {
    position: absolute;
    width: 67px;
    top: 134px;
    right: -3px;
}

.features .section__title.js-slideIn-element img {
    width: 100px;
    display: inline-block;
}
.features .section__title {
    font-size: 1.4rem;
    margin-bottom: 14px;
}
.plan__course-swiper::after, .plan__course-swiper::before {
	content: none;
}

.partner {
    padding: 60px 0 60px;
}


#self_study {
    padding: 40px 0;
}
.self_box {
    border-radius: 18px;
    background: #fff;
    margin-bottom: 20px;
	padding: 30px 20px;
}
ul.self_li {
    display: flex
;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
    margin-bottom: 15px;
}

ul.self_li li {
    width: 100%;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    background: #001668;
    color: #fff;
    border-radius: 10px;
    margin-bottom: 10px;
    padding: 15px 0;
}
.self_txt p {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}


ul.case_list {
    padding-top: 20px;
}

ul.case_list li {
    background: #fff;
    margin-bottom: 30px;
    border-radius: 18px;
    overflow: hidden;
}
.case_box {
    padding: 16px;
}
.case_name {
    font-size: 130%;
    margin-bottom: 5px;
}
.case_job {
    margin-bottom: 8px;
}

.job_change {
    padding: 50px 0 20px;
}
.job_change_ttl {
    text-align: center;
    margin-bottom: 20px;
}
.job_change p {
    text-align: center;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.jc_s {
    font-size: 150%;
}
.jc_list {
    display: flex
;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	padding-top: 20px;
}

.jc_list div {
    width: 30%;
    margin: 0 auto 10px;
}

.cc_flow {
    margin: 20px 0 60px;
}

.mv__buttons {
	display: flex
;
    flex-wrap: wrap;
    margin: 0 auto;
	background: none;
}
.mv_btn.button {
    width: 100%;
    margin: 0 auto;
}


.voice__date {
    display: block;
    margin-bottom: 3px;
}
.plan_space {
	padding: 25px 0;
}
.cta_sub_txt {
    display: block;
    margin: 0 auto 13px;
    text-align: center;
    color: #fff;
    font-size: 14px;
}
.floating-banner__button.floating-banner__button--download.roadmap {
    color: #fff;
    border-radius: 100px;
    width: 190px;
    text-align: center;
}
.floating-banner__button.floating-banner__button--download.roadmap img {
	margin-right: 4px;
}
.floating-banner__button.floating-banner__button--download.roadmap a {
    display: flex
;
    align-items: center;
    font-size: 94%;
}
.floating-banner {
    right: 8%;
    width: 83%;
}
.floating-banner__buttons {
    max-width: 20rem;
}

.plan__course-list li {
	position: relative;
}
.ico_plan1,.ico_plan2  {
	position: absolute;
	
}
.ico_plan1 {
	width: 80px;
	top: 90px;
	right: 0;;
}
.ico_plan2 {
    width: 50px;
    top: 43%;
    right: 0;
}
.cta_last .cta_area_ttl {
    color: #fff;
    font-size: 22px;
    margin-bottom: 25px;
}


@media screen and (min-width: 768px) {
	
.mv__buttons.js-mv-buttons.pc-none {
    display: none;
}	
.mv_btn.button.button--blue {
    width: 380px !important;
}
.mv__buttons-pc {
	max-width: 43rem;
}	
    .button {
        max-width: 28.75rem;
    }
	
	
.worries_block {
    display: flex
;
    flex-wrap: wrap;
    justify-content: space-between;
	align-items: center;
}
.worries_box {
    width: 43%;
}	
.worries_m {
    width: 10%;
    font-size: 28px;
    font-weight: 600;
}	
ul.worries_list li {
    font-size: 17px;
}
ul.worries_list {
    width: fit-content;
    margin: 0 auto;
}
	
.self_box {
    padding: 50px;
}
ul.self_li li {
    width: 32.4%;
    font-size: 20px;
    padding: 20px 0;
}
	
.self_txt p {
    font-size: 27px;
}
	
ul.case_list {
    display: flex
;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.case_list li {
    width: 48.5%;
}
.case_box {
    font-size: 16px;
}
.job_change_ttl {
    font-size: 32px;
}	
.job_change p {
	font-size: 28px;
	margin: 0 8px;
}
.jc_txt1 {
    display: flex
;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}	
.jc_list div {
    width: 16%;
    margin: 0 auto 10px;
}
#partner {
    position: relative;
    z-index: 1;
    padding-top: 190px;
}	
	

.strong-contents__flex {
    align-items: flex-start;
}
.comparison__table .img img {
        aspect-ratio: auto;
    }	
	
.features .section__title.js-slideIn-element img {
    width: 230px;
}	
.features .section__title {
    display: flex
;
    align-items: anchor-center;
    justify-content: center;
    font-size: 36px;
}	
.cc_flow {
    margin: 40px 0 70px;
}
.plan_space {
    padding: 24px;
}	
	
	
.cta_area {
    padding: 50px 0;
}
.cta_area_ttl,.cta_last .cta_area_ttl {
    text-align: center;
    font-size: 42px;
    margin-bottom: 22px;
}
.cta_area_txt {
    text-align: center;
    font-size: 20px;
    margin-bottom: 60px;
}
.cta__buttons {
    display: flex
;
    flex-wrap: wrap;
    justify-content: center;
}
.cta__buttons .mv_btn.button {
    width: 300px;
    margin: 0 12px;
}
	
.cta_sub_txt {
    font-size: 20px;
    margin-bottom: 30px;
}	
.ico_plan1 {
    width: 110px;
    top: 17%;
    right: 0;
}
.ico_plan2 {
    width: 82px;
}	
	
	
}



/*# sourceMappingURL=styles.css.map */
