@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;700&family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap";

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
:before,
:after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    min-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0
}

main {
    display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit
}

abbr[title] {
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

svg,
img,
embed,
object,
iframe {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit
}

button,
[type=button],
[type=reset],
[type=submit] {
    cursor: pointer
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=number] {
    -moz-appearance: textfield
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

td,
th {
    vertical-align: top;
    padding: 0
}

th {
    text-align: left;
    font-weight: 700
}

body {
    font-family: Noto Sans JP, serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #000f28
}

body.is-fixed {
    overflow: hidden
}

body * {
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset
}

@media only screen and (min-resolution: 2dppx) {
    body * {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }
}

body *:focus {
    outline: none
}

body ::selection {
    color: #fff;
    background-color: #353538
}

@media screen and (max-width: 768px) {
    .-pconly {
        display: none !important
    }
}

@media screen and (min-width: 769px) {
    .-sponly {
        display: none !important
    }
}

.displayContents {
    display: contents
}

.js-section-fadeIn {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .6s ease-out, transform .6s ease-out
}

.js-section-fadeIn.-scroll {
    opacity: 1;
    transform: translateY(0)
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px
}

@media screen and (max-width: 768px) {
    html {
        scroll-padding-top: 50px
    }
}

[id^=phase-] {
    scroll-margin-top: 80px
}

@media screen and (max-width: 768px) {
    [id^=phase-] {
        scroll-margin-top: 50px
    }
}

.c-header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%
}

.c-header .c-header__inner {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    transition: all .3s ease;
    width: 100%
}

@media screen and (max-width: 768px) {
    .c-header .c-header__inner {
        padding: 10px 20px
    }
}

.c-header .c-header__inner .c-header__logoWrap {
    width: 314px;
    height: 40px
}

@media screen and (max-width: 768px) {
    .c-header .c-header__inner .c-header__logoWrap {
        width: 236px;
        height: 30px
    }
}

.c-header .c-header__inner .c-header__logo {
    height: 40px;
    width: 408px;
    object-fit: cover;
    transition: all .3s ease
}

@media screen and (max-width: 768px) {
    .c-header .c-header__inner .c-header__logo {
        height: 27px;
        width: 269px
    }
}

.c-header .c-header__inner .c-header__menuButton {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #143c96;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    padding: 0
}

@media screen and (max-width: 768px) {
    .c-header .c-header__inner .c-header__menuButton {
        display: flex
    }
}

.c-header .c-header__inner .c-header__menuButton .c-header__menuIcon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20px;
    margin-bottom: 5px
}

.c-header .c-header__inner .c-header__menuButton .c-header__menuIcon i {
    width: 20px;
    height: 2px;
    background-color: #fff;
    transition: all .3s ease;
    border-radius: 2px
}

.c-header .c-header__inner .c-header__menuButton .c-header__menuIcon i+i {
    margin-top: 4px
}

.c-header .c-header__inner .c-header__menuButton .c-header__menuText {
    font-size: 12px;
    letter-spacing: 0;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    -webkit-user-select: none;
    user-select: none
}

.c-header .c-header__inner .c-header__menuButton.is-open .c-header__menuIcon i:nth-child(1) {
    transform: translateY(6px) rotate(45deg)
}

.c-header .c-header__inner .c-header__menuButton.is-open .c-header__menuIcon i:nth-child(2) {
    opacity: 0
}

.c-header .c-header__inner .c-header__menuButton.is-open .c-header__menuIcon i:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg)
}

.c-header .c-header__nav {
    display: none
}

@media screen and (max-width: 768px) {
    .c-header .c-header__nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        z-index: 1000;
        background: transparent;
        margin-top: 0
    }
}

.c-header .c-header__nav.is-open {
    display: block
}

@media screen and (max-width: 768px) {
    .c-header .c-header__nav .c-header__navWrap {
        position: relative;
        z-index: 1001;
        margin: 90px 17.5px 0
    }
}

@media screen and (max-width: 768px) {
    .c-header .c-header__nav .c-header__navWrap>.c-steps {
        width: 100%
    }
}

.c-header__overlay {
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease
}

@media screen and (max-width: 768px) {
    .c-header__overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: #d7dceb;
        z-index: 999
    }
}

.c-header__overlay.is-open {
    opacity: .8;
    pointer-events: auto
}

.c-header__inner {
    position: relative;
    z-index: 2000
}

.c-footer .c-footerBanner {
    background: #fff;
    width: 100%
}

.c-footer .c-footerBanner .c-footerInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    padding: 0 20px;
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    min-height: 350px
}

@media screen and (max-width: 1200px) {
    .c-footer .c-footerBanner .c-footerInner {
        gap: 20px
    }
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBanner .c-footerInner {
        flex-direction: column;
        padding: 60px 20px;
        gap: 27px
    }
}

.c-footer .c-footerBanner .c-footerInner .c-footerBannerWrap {
    display: flex;
    align-items: center;
    gap: 60px
}

@media screen and (max-width: 1200px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBannerWrap {
        gap: 20px
    }
}

@media screen and (max-width: 1000px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBannerWrap {
        flex-direction: column
    }
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBannerWrap {
        flex-direction: column
    }
}

.c-footer .c-footerBanner .c-footerInner .c-footer__logo {
    height: 40px;
    min-width: 294px;
    width: 294px
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBanner .c-footerInner .c-footer__logo {
        height: 30px;
        min-width: 240px;
        width: 240px
    }
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__text {
    color: #000f28;
    font-weight: 600;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .04em
}

@media screen and (max-width: 1200px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBanner__text {
        font-size: 14px
    }
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBanner__text {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0
    }
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__text span {
    color: #143c96
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button {
    background: #fff;
    border: 2px solid #143c96;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    transition: all .3s;
    min-width: 340px;
    width: 340px;
    height: 100px
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBanner__button {
        width: 335px;
        height: 84px;
        justify-content: center;
        position: relative
    }
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button .c-footerBanner__buttonTextWrap {
    display: flex;
    flex-direction: column;
    align-items: center
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button .c-footerBanner__buttonTextWrap .c-footerBanner__buttonHead {
    color: #143c96;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: .04em;
    text-align: center
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button .c-footerBanner__buttonTextWrap .c-footerBanner__buttonTitle {
    color: #143c96;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: .04em;
    text-align: center
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBanner__button .c-footerBanner__buttonTextWrap .c-footerBanner__buttonTitle {
        font-size: 18px;
        margin-right: 30px
    }
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button .c-footerBanner__buttonArrow {
    border-radius: 50%;
    background: #143c96;
    position: relative;
    height: 30px;
    width: 30px;
    margin-right: 30px
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBanner .c-footerInner .c-footerBanner__button .c-footerBanner__buttonArrow {
        margin-right: 0;
        position: absolute;
        right: 20px
    }
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button .c-footerBanner__buttonArrow:after {
    content: "";
    background: url(../../assets/img/footer-arrow-white.svg) no-repeat center center;
    background-size: contain;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-left: 1px
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button:hover {
    background: #143c96
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button:hover .c-footerBanner__buttonTextWrap .c-footerBanner__buttonHead,
.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button:hover .c-footerBanner__buttonTextWrap .c-footerBanner__buttonTitle {
    color: #fff
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button:hover .c-footerBanner__buttonArrow {
    background: #fff
}

.c-footer .c-footerBanner .c-footerInner .c-footerBanner__button:hover .c-footerBanner__buttonArrow:after {
    background: url(../../assets/img/footer-arrow-blue.svg) no-repeat center center
}

.c-footer .c-footerBar {
    background: #143c96;
    width: 100%
}

.c-footer .c-footerBar .c-footerInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    height: 120px
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBar .c-footerInner {
        flex-direction: column-reverse;
        gap: 22px;
        height: auto;
        padding: 30px 20px 36px
    }
}

.c-footer .c-footerBar .c-footerInner .c-footerBar__copy {
    color: #fff;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: .04em
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBar .c-footerInner .c-footerBar__copy {
        letter-spacing: 0
    }
}

.c-footer .c-footerBar .c-footerInner .c-footerBar__links {
    display: flex;
    align-items: center;
    gap: 30px
}

@media screen and (max-width: 1000px) {
    .c-footer .c-footerBar .c-footerInner .c-footerBar__links {
        gap: 20px
    }
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBar .c-footerInner .c-footerBar__links {
        flex-direction: column;
        gap: 0
    }
}

.c-footer .c-footerBar .c-footerInner .c-footerBar__links .c-footerBar__link {
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: .04em;
    text-decoration: none;
    transition: all .3s
}

@media screen and (max-width: 1000px) {
    .c-footer .c-footerBar .c-footerInner .c-footerBar__links .c-footerBar__link {
        font-size: 13px
    }
}

@media screen and (max-width: 768px) {
    .c-footer .c-footerBar .c-footerInner .c-footerBar__links .c-footerBar__link {
        font-size: 14px;
        line-height: 2
    }
}

.c-footer .c-footerBar .c-footerInner .c-footerBar__links .c-footerBar__link:hover {
    text-decoration: underline
}

.c-title {
    border-bottom: 2px solid #c8d2e6;
    display: flex;
    align-items: flex-end;
    gap: 80px;
    padding-bottom: 30px;
    position: relative;
    margin: 0 0 40px
}

@media screen and (max-width: 768px) {
    .c-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin: 0 0 30px
    }
}

.c-title:after {
    content: "";
    background: #507df5;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 130px;
    height: 2px
}

.c-title .c-title__number {
    color: #507df5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: Roboto, sans-serif;
    font-weight: 700;
    font-size: 98px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center
}

@media screen and (max-width: 768px) {
    .c-title .c-title__number {
        flex-direction: row;
        align-items: flex-end;
        font-size: 38px;
        gap: 13px
    }
}

.c-title .c-title__number:before {
    content: "PHASE";
    color: #000f28;
    font-family: Roboto, sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    letter-spacing: .04em;
    margin-left: 5px
}

@media screen and (max-width: 768px) {
    .c-title .c-title__number:before {
        font-size: 20px;
        margin: 0 0 5px
    }
}

.c-title .c-title__wrap {
    display: flex;
    flex-direction: column;
    gap: 22px
}

@media screen and (max-width: 768px) {
    .c-title .c-title__wrap {
        gap: 15px
    }
}

.c-title .c-title__wrap .c-title__title {
    color: #000f28;
    font-weight: 700;
    font-size: 52px;
    line-height: 1;
    letter-spacing: .04em
}

@media screen and (max-width: 768px) {
    .c-title .c-title__wrap .c-title__title {
        font-size: 36px
    }
}

.c-title .c-title__wrap .c-title__text {
    color: #000f28;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: .04em
}

@media screen and (max-width: 768px) {
    .c-title .c-title__wrap .c-title__text {
        font-size: 16px;
        line-height: 1.6
    }
}

.c-steps {
    counter-reset: step;
    background: #fff;
    border: 5px solid #ffffff;
    border-radius: 16px;
    display: flex;
    padding: 0 20px;
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    width: 100%;
    height: 120px;
    z-index: 1
}

@media screen and (max-width: 768px) {
    .c-steps {
        height: 110px;
        padding: 0;
        gap: 4px;
        border: 4px solid #ffffff;
        border-radius: 8px;
        width: calc(100% - 35px)
    }
}

.c-stepInner {
    position: relative;
    flex: 1;
    margin: 0 -25px 0 0
}

@media screen and (max-width: 768px) {
    .c-stepInner {
        flex: none;
        margin: 0;
        width: calc((100% - 12px)/4)
    }
}

.c-stepInner:after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translate(-50%);
    width: 40px;
    height: 40px;
    transition: transform .3s
}

@media screen and (max-width: 768px) {
    .c-stepInner:after {
        bottom: -10px;
        width: 20px;
        height: 20px
    }
}

.c-stepInner:first-child {
    margin: 0 -25px 0 -20px
}

@media screen and (max-width: 768px) {
    .c-stepInner:first-child {
        margin: 0
    }
}

.c-stepInner:first-child .c-step {
    padding: 20px 0 20px 30px;
    border-radius: 10px 0 0 10px;
    height: 100%;
    transition: all .3s;
    clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%)
}

.c-stepInner:first-child .c-step:before {
    border-radius: 10px 0 0 10px
}

@media screen and (max-width: 768px) {
    .c-stepInner:first-child .c-step {
        padding: 10px 10px 17px;
        clip-path: none;
        border-radius: 8px
    }
}

.c-stepInner:last-child {
    margin: 0 -20px 0 0
}

@media screen and (max-width: 768px) {
    .c-stepInner:last-child {
        margin: 0
    }
}

.c-stepInner:last-child .c-step {
    border-radius: 0 10px 10px 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 30px 50%)
}

.c-stepInner:last-child .c-step:before {
    border-radius: 0 10px 10px 0
}

@media screen and (max-width: 768px) {
    .c-stepInner:last-child .c-step {
        clip-path: none;
        border-radius: 8px
    }
}

.c-stepInner:nth-child(1):after {
    background: url(../../assets/img/mainvisual/step-arrow-01.svg) no-repeat center center;
    background-size: contain
}

.c-stepInner:nth-child(1) .c-step {
    background: #507df5
}

.c-stepInner:nth-child(2):after {
    background: url(../../assets/img/mainvisual/step-arrow-02.svg) no-repeat center center;
    background-size: contain
}

.c-stepInner:nth-child(2) .c-step {
    background: #3764d2
}

.c-stepInner:nth-child(3):after {
    background: url(../../assets/img/mainvisual/step-arrow-03.svg) no-repeat center center;
    background-size: contain
}

.c-stepInner:nth-child(3) .c-step {
    background: #2850af
}

.c-stepInner:nth-child(4):after {
    background: url(../../assets/img/mainvisual/step-arrow-04.svg) no-repeat center center;
    background-size: contain
}

.c-stepInner:nth-child(4) .c-step {
    background: #143c96
}

.c-stepInner:hover:after {
    transform: translate(-50%) translateY(10px)
}

@media screen and (max-width: 768px) {
    .c-stepInner:hover:after {
        transform: translate(-50%) translateY(5px)
    }
}

.c-stepInner:hover .c-step:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000f28;
    opacity: .6;
    z-index: -1
}

.c-stepInner .c-step {
    height: 100%;
    margin: 0 -25px 0 0;
    clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%, 30px 50%);
    transition: all .3s
}

.c-stepInner .c-step:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: -1;
    transition: all .3s
}

@media screen and (max-width: 768px) {
    .c-stepInner .c-step {
        clip-path: none;
        margin: 0
    }
}

.c-step {
    counter-increment: step;
    width: 100%;
    padding: 20px 0 20px 60px;
    position: relative;
    display: flex;
    gap: 13px;
    align-items: center
}

@media screen and (max-width: 768px) {
    .c-step {
        flex-direction: column;
        gap: 0;
        padding: 10px 10px 17px;
        border-radius: 8px
    }
}

.c-step .c-stepNumber {
    color: #fff;
    font-family: Roboto, sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .06em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: max-content
}

@media screen and (max-width: 768px) {
    .c-step .c-stepNumber {
        font-size: 10px;
        letter-spacing: 0
    }
}

.c-step .c-stepNumber:after {
    content: counter(step, decimal-leading-zero);
    color: #fff;
    font-family: Roboto, sans-serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 1;
    letter-spacing: 0
}

@media screen and (max-width: 768px) {
    .c-step .c-stepNumber:after {
        font-size: 30px
    }
}

.c-step .c-stepTitle {
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: .04em;
    margin: -3px 0 11px
}

@media screen and (max-width: 768px) {
    .c-step .c-stepTitle {
        font-size: 11px;
        line-height: 1.25;
        letter-spacing: 0;
        text-align: center;
        margin: 0
    }
}

.c-phaseItem {
    background: #fff;
    border-radius: 18px;
    box-shadow: 1px 1px 8px #0000000f;
    padding: 50px 0 50px 60px;
    position: relative;
    display: flex;
    gap: 40px
}

@media screen and (max-width: 768px) {
    .c-phaseItem {
        border-radius: 10px;
        flex-direction: column-reverse;
        gap: 20px;
        padding: 30px 20px
    }
}

.c-phaseItem .c-phaseItem__textWrap {
    width: calc(100% - 380px)
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .c-phaseItem .c-phaseItem__textWrap {
        width: calc(100% - 260px)
    }
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap {
        width: 100%
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__title {
    color: #000f28;
    font-weight: 700;
    font-size: 42px;
    line-height: 1;
    letter-spacing: .04em;
    margin: 0 0 20px
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__title {
        font-size: 30px;
        line-height: 1.4;
        margin: 0 0 15px
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__textGroup+.c-phaseItem__textGroup {
    margin-top: 20px
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__textGroup+.c-phaseItem__textGroup {
        margin-top: 15px
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__textGroup .c-phaseItem__head {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .04em;
    margin: 0 0 6px
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__textGroup .c-phaseItem__head {
        line-height: 1.5;
        margin: 0 0 5px
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__textGroup .c-phaseItem__text {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: .04em
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__textGroup .c-phaseItem__text {
        line-height: 1.5
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link {
    border-color: #507df5 !important;
    border: 2px solid;
    border-radius: 8px;
    margin: 40px 0 0;
    display: flex;
    position: relative;
    transition: all .3s
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link {
        background: #f4f8fc;
        flex-direction: column;
        gap: 8px;
        padding: 0 20px 12px 0;
        margin-top: 30px;
        margin-bottom: -10px
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link.-pconly+.c-phaseItem__link.-pconly {
    margin-top: 20px
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link.-sponly+.c-phaseItem__link.-sponly {
    margin-top: 20px
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link.-linkNone {
    pointer-events: none
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link.-linkNone:after {
    content: none
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    background: #143c9600;
    z-index: 2;
    transition: all .3s
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link:hover:after {
    background: #143c964d
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__spWrap {
    display: flex;
    gap: 15px
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__spWrap .c-phaseItem__linkText {
    color: #507df5;
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: .04em
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__spWrap .c-phaseItem__linkTextWrap {
    padding: 16px 0
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__spWrap .c-phaseItem__linkTextWrap .c-phaseItem__linkDescription {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .04em;
    color: #000f28;
    margin-top: 6px
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkImage {
    border-radius: 8px 0 0 8px;
    height: 120px;
    width: 160px;
    min-width: 160px;
    position: relative
}

@media screen and (min-width: 769px) and (max-width: 900px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkImage {
        height: 80px;
        min-width: 80px;
        width: 80px
    }
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkImage {
        border-radius: 4px 0 0 4px;
        height: 100px;
        min-width: 120px;
        width: 120px
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkImage:before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 30px;
    height: 30px;
    border-radius: 8px 0 0;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    z-index: 1
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkImage:before {
        border-radius: 4px 0 0;
        width: 20px;
        height: 20px
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent {
    background: #f4f8fc;
    border-radius: 0 8px 8px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px 0 25px;
    width: 100%
}

@media screen and (min-width: 769px) and (max-width: 900px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent {
        padding: 0 5px
    }
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent {
        padding: 0 0 0 20px
    }
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent .c-phaseItem__linkText {
    color: #507df5;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: .04em;
    max-width: 230px
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent .c-phaseItem__linkDescription {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: .04em;
    color: #000f28;
    margin-top: 6px
}

.c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent .c-phaseItem__linkButton {
    background: #507df5;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    min-width: 120px;
    width: 150px;
    color: #fff;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .04em;
    text-align: center
}

@media screen and (max-width: 900px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent .c-phaseItem__linkButton {
        min-width: 90px;
        width: 90px;
        font-size: 11px
    }
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__textWrap .c-phaseItem__link .c-phaseItem__linkContent .c-phaseItem__linkButton {
        height: 40px;
        min-width: auto;
        width: 100%
    }
}

.c-phaseItem .c-phaseItem__imageWrap {
    width: 340px;
    height: 280px
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .c-phaseItem .c-phaseItem__imageWrap {
        width: 220px;
        height: 160px
    }
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__imageWrap {
        width: calc(100% + 20px);
        padding-bottom: calc(100% + 20px);
        height: 0;
        margin-top: -30px;
        position: relative;
        overflow: hidden
    }
}

.c-phaseItem .c-phaseItem__imageWrap .c-phaseItem__image {
    background-color: #f4f8fc;
    object-fit: contain;
    position: absolute;
    top: 0;
    right: 0;
    width: 340px;
    height: 340px;
    border-radius: 0 18px
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .c-phaseItem .c-phaseItem__imageWrap .c-phaseItem__image {
        width: 220px;
        height: 220px
    }
}

@media screen and (max-width: 768px) {
    .c-phaseItem .c-phaseItem__imageWrap .c-phaseItem__image {
        width: 100%;
        height: 100%;
        border-radius: 0 10px
    }
}

.c-faqItem {
    border-radius: 8px;
    box-shadow: 1px 1px 8px #0000000f
}

.c-faqItem .c-faqItem__titleWrap {
    background: #fff;
    border-radius: 8px 8px 0 0;
    border-bottom: 2px solid #c8d2e6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 20px;
    position: relative;
    gap: 20px
}

.c-faqItem .c-faqItem__titleWrap:after {
    content: "";
    background: #143c96;
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 2px;
    width: 80px
}

.c-faqItem .c-faqItem__titleWrap.is-active .c-faqItem__icon>span:nth-child(2) {
    transform: rotate(0)
}

.c-faqItem .c-faqItem__titleWrap .c-faqItem__title {
    color: #000f28;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    margin: 0;
    transition: all .3s
}

@media screen and (max-width: 768px) {
    .c-faqItem .c-faqItem__titleWrap .c-faqItem__title {
        line-height: 1.4
    }
}

.c-faqItem .c-faqItem__titleWrap .c-faqItem__icon {
    display: block;
    background: #143c96;
    border-radius: 50%;
    min-width: 30px;
    width: 30px;
    height: 30px;
    transition: all .3s;
    position: relative
}

.c-faqItem .c-faqItem__titleWrap .c-faqItem__icon>span {
    background: #fff;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    margin-top: -1px;
    margin-left: -6px;
    transition: .3s
}

.c-faqItem .c-faqItem__titleWrap .c-faqItem__icon>span:nth-child(2) {
    transform: rotate(90deg)
}

.c-faqItem .c-faqItem__text {
    background: #fff;
    border-radius: 0 0 8px 8px;
    color: #000f28;
    display: none;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .04em;
    padding: 20px 20px 22px
}

@media screen and (max-width: 768px) {
    .c-faqItem .c-faqItem__text {
        padding: 20px;
        line-height: 1.5
    }
}

.c-sectionTitle .c-sectionTitle__topper {
    border-bottom: 2px solid #c8d2e6;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 0 30px;
    margin: 0 0 30px;
    position: relative
}

@media screen and (max-width: 768px) {
    .c-sectionTitle .c-sectionTitle__topper {
        gap: 10px;
        margin: 0 0 20px
    }
}

.c-sectionTitle .c-sectionTitle__topper:after {
    content: "";
    background: #143c96;
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 2px;
    width: 100px
}

.c-sectionTitle .c-sectionTitle__topper .c-sectionTitle__enTitle {
    color: #143c96;
    font-family: Roboto, sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1;
    letter-spacing: .04em;
    margin: 0
}

@media screen and (max-width: 768px) {
    .c-sectionTitle .c-sectionTitle__topper .c-sectionTitle__enTitle {
        font-size: 24px
    }
}

.c-sectionTitle .c-sectionTitle__topper .c-sectionTitle__jaTitle {
    color: #000f28;
    font-weight: 700;
    font-size: 42px;
    line-height: 1;
    letter-spacing: .04em;
    margin: 0
}

@media screen and (max-width: 768px) {
    .c-sectionTitle .c-sectionTitle__topper .c-sectionTitle__jaTitle {
        font-size: 36px
    }
}

.c-sectionTitle .c-sectionTitle__content {
    color: #000f28;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .04em;
    margin: 0
}

.c-sideMenu {
    z-index: 9999;
    max-width: 1080px;
    width: 95vw
}

@media screen and (min-width: 769px) {
    .c-sideMenu {
        position: relative;
        bottom: 0;
        right: 0;
        transform: translate(calc(100% - 100px));
        transition: transform .4s
    }
}

@media screen and (max-width: 768px) {
    .c-sideMenu {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: 79px;
        left: 50%;
        transform: translate(-50%);
        width: calc(100% - 20px);
        z-index: 99999;
        transition: opacity .4s, visibility .4s
    }
}

@media screen and (min-width: 769px) {
    .c-sideMenu.is-open {
        transform: translate(0)
    }
}

@media screen and (max-width: 768px) {
    .c-sideMenu.is-open {
        opacity: 1;
        visibility: visible
    }
}

.c-sideMenu.is-open .c-sideMenu__buttonIcon:before {
    opacity: 0
}

.c-sideMenu .c-sideMenu__inner {
    position: relative
}

.c-sideMenu .c-sideMenu__button {
    background-color: #008cb4;
    border-radius: 8px 0 0 8px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    padding: 25px 20px 20px 23px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: .04em;
    transition: opacity .4s;
    width: 100px
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__button {
        display: none
    }
}

.c-sideMenu .c-sideMenu__button:hover {
    opacity: .7
}

.c-sideMenu .c-sideMenu__button .c-sideMenu__buttonIcon {
    background-color: #fff;
    border-radius: 50%;
    height: 50px;
    width: 50px;
    position: relative
}

.c-sideMenu .c-sideMenu__button .c-sideMenu__buttonIcon:before,
.c-sideMenu .c-sideMenu__button .c-sideMenu__buttonIcon:after {
    content: "";
    background-color: #008cb4;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.c-sideMenu .c-sideMenu__button .c-sideMenu__buttonIcon:before {
    width: 2px;
    height: 20px;
    transform: opacity .4s
}

.c-sideMenu .c-sideMenu__button .c-sideMenu__buttonIcon:after {
    width: 20px;
    height: 2px
}

.c-sideMenu .c-sideMenu__main {
    max-width: 980px;
    width: calc(95vw - 100px)
}

@media screen and (min-width: 769px) {
    .c-sideMenu .c-sideMenu__main {
        position: absolute;
        bottom: 0;
        right: 0;
        max-height: 84vh;
        overflow: scroll
    }
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__main {
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        width: 100%
    }
}

.c-sideMenu .c-sideMenu__tabWrap {
    display: none
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__tabWrap {
        background-color: #fff;
        border-radius: 0;
        border-width: 0 0 1px 0;
        border-bottom: 1px solid #BEC6D7;
        display: flex;
        padding: 12px 12px 16px;
        height: 130px;
        width: 100%
    }

    .c-sideMenu .c-sideMenu__tabWrap .c-stepInner .c-step:before {
        content: none
    }

    .c-sideMenu .c-sideMenu__tabWrap .c-stepInner.is-active .c-step {
        background-color: #3764d2 !important
    }

    .c-sideMenu .c-sideMenu__tabWrap .c-step {
        background-color: #647da5 !important;
        border-radius: 8px !important
    }

    .c-sideMenu .c-sideMenu__tabWrap .c-step .c-stepTitle {
        letter-spacing: -.01em
    }
}

.c-sideMenu .c-sideMenu__content {
    display: flex
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__content {
        background-color: #eef2fa !important;
        display: none;
        padding: 13px 20px 20px;
        flex-direction: column;
        max-height: calc(100svh - 219px);
        overflow: scroll
    }

    .c-sideMenu .c-sideMenu__content.is-active {
        display: flex
    }
}

@media screen and (min-width: 769px) {
    .c-sideMenu .c-sideMenu__content:nth-child(2) {
        background-color: #eef2fa;
        border-radius: 18px 0 0
    }

    .c-sideMenu .c-sideMenu__content:nth-child(2) .c-sideMenu__contentTitleHeadText.-number {
        color: #507df5
    }

    .c-sideMenu .c-sideMenu__content:nth-child(2) .c-sideMenu__flowItem:before,
    .c-sideMenu .c-sideMenu__content:nth-child(2) .c-sideMenu__flowItem:after {
        border-left-color: #507df5
    }

    .c-sideMenu .c-sideMenu__content:nth-child(3) {
        background-color: #dce6f6
    }

    .c-sideMenu .c-sideMenu__content:nth-child(3) .c-sideMenu__contentTitleHeadText.-number {
        color: #3764d2
    }

    .c-sideMenu .c-sideMenu__content:nth-child(3) .c-sideMenu__flowItem:before,
    .c-sideMenu .c-sideMenu__content:nth-child(3) .c-sideMenu__flowItem:after {
        border-left-color: #3764d2
    }

    .c-sideMenu .c-sideMenu__content:nth-child(4) {
        background-color: #cddefa
    }

    .c-sideMenu .c-sideMenu__content:nth-child(4) .c-sideMenu__contentTitleHeadText.-number {
        color: #2850af
    }

    .c-sideMenu .c-sideMenu__content:nth-child(4) .c-sideMenu__flowItem:before,
    .c-sideMenu .c-sideMenu__content:nth-child(4) .c-sideMenu__flowItem:after {
        border-left-color: #2850af
    }

    .c-sideMenu .c-sideMenu__content:last-child {
        background-color: #b9d2fc
    }

    .c-sideMenu .c-sideMenu__content:last-child .c-sideMenu__contentTitleHeadText.-number {
        color: #143c96
    }

    .c-sideMenu .c-sideMenu__content:last-child .c-sideMenu__flowItem:before,
    .c-sideMenu .c-sideMenu__content:last-child .c-sideMenu__flowItem:after {
        border-left-color: #143c96
    }
}

.c-sideMenu .c-sideMenu__contentTitle {
    flex-shrink: 0;
    padding: 20px 24px 27px 25px;
    width: 140px
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__contentTitle {
        display: flex;
        gap: 12px;
        align-items: center;
        margin-bottom: 13px;
        padding: 0;
        width: 100%
    }
}

.c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleHead {
    display: flex;
    align-items: baseline;
    gap: 8px
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleHead {
        align-items: center
    }
}

.c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleHeadText {
    font-family: Roboto, sans-serif
}

.c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleHeadText.-en {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em
}

.c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleHeadText.-number {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleHeadText.-number {
        color: #507df5 !important;
        font-size: 28px
    }
}

.c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleText {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: .03em
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__contentTitle .c-sideMenu__contentTitleText {
        font-size: 20px
    }
}

.c-sideMenu .c-sideMenu__flowLists {
    display: flex;
    flex-wrap: wrap;
    padding-block: 10px;
    gap: 10px
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__flowLists {
        flex-direction: column;
        padding-block: 0
    }
}

.c-sideMenu .c-sideMenu__flowItem {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 1px 1px 18px #0000000f;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    height: 110px;
    width: 95px;
    transition: opacity .4s
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__flowItem {
        align-items: center;
        justify-content: flex-start;
        flex-direction: row;
        padding-inline: 15px;
        gap: 18px;
        height: 60px;
        width: 100%
    }
}

.c-sideMenu .c-sideMenu__flowItem:hover {
    opacity: .7
}

.c-sideMenu .c-sideMenu__flowItem:last-of-type:after {
    content: none
}

.c-sideMenu .c-sideMenu__flowItem:before {
    content: "";
    rotate: 45deg;
    position: absolute;
    bottom: -1px;
    right: 2px;
    border-style: solid;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #507df5;
    border-right: 0;
    height: 0;
    width: 0
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__flowItem:before {
        border-left-color: #507df5 !important
    }
}

.c-sideMenu .c-sideMenu__flowItem:after {
    content: "";
    position: absolute;
    border-style: solid;
    height: 0;
    width: 0
}

@media screen and (min-width: 769px) {
    .c-sideMenu .c-sideMenu__flowItem:after {
        top: 50%;
        right: 0;
        transform: translate(100%, -50%);
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 8px solid #507df5;
        border-right: 0
    }
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__flowItem:after {
        bottom: 0;
        left: 32px;
        transform: translateY(100%);
        border-top: 8px solid #507df5;
        border-right: 13px solid transparent;
        border-left: 13px solid transparent
    }
}

.c-sideMenu .c-sideMenu__flowItem .c-sideMenu__flowItemTextTitle {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
    line-height: 1.25
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__flowItem .c-sideMenu__flowItemTextTitle {
        font-size: 16px;
        justify-content: flex-start;
        text-align: left;
        flex: 1
    }
}

.c-sideMenu .c-sideMenu__flowItemImage {
    margin-inline: auto;
    margin-bottom: 1px;
    width: 70px
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__flowItemImage {
        width: 60px
    }
}

.c-sideMenu .c-sideMenu__flowItemImage img {
    aspect-ratio: 1/1;
    object-fit: contain;
    width: 100%
}

.c-sideMenu .c-sideMenu__closeBtn {
    display: none
}

@media screen and (max-width: 768px) {
    .c-sideMenu .c-sideMenu__closeBtn {
        background-color: #143c96;
        border-radius: 50%;
        display: block;
        height: 60px;
        width: 60px;
        position: absolute;
        top: -9px;
        right: 10px;
        transform: translateY(-100%)
    }

    .c-sideMenu .c-sideMenu__closeBtn:before,
    .c-sideMenu .c-sideMenu__closeBtn:after {
        content: "";
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 2px;
        height: 28px
    }

    .c-sideMenu .c-sideMenu__closeBtn:before {
        transform: translate(-50%, -50%) rotate(45deg)
    }

    .c-sideMenu .c-sideMenu__closeBtn:after {
        transform: translate(-50%, -50%) rotate(-45deg)
    }
}

.c-sideMenu__overlay {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #00000080;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    transition: opacity .4s;
    opacity: 0;
    visibility: hidden
}

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

.c-sideMenuOpenBtn {
    background-color: #008cb4;
    border-radius: 8px;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 26px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    padding: 23px 15px 25px 20px;
    letter-spacing: .03em;
    margin: 34px auto 0;
    width: calc(100% - 36px)
}

@media screen and (max-width: 768px) {
    .c-sideMenuOpenBtn {
        display: flex
    }
}

.c-sideMenuOpenBtn:hover {
    opacity: .7
}

.c-sideMenuOpenBtn .c-sideMenuOpenBtn__icon {
    background-color: #fff;
    border-radius: 50%;
    height: 30px;
    width: 30px;
    position: relative;
    flex-shrink: 0
}

.c-sideMenuOpenBtn .c-sideMenuOpenBtn__icon:before,
.c-sideMenuOpenBtn .c-sideMenuOpenBtn__icon:after {
    content: "";
    background-color: #008cb4;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.c-sideMenuOpenBtn .c-sideMenuOpenBtn__icon:before {
    width: 2px;
    height: 16px;
    transform: opacity .4s
}

.c-sideMenuOpenBtn .c-sideMenuOpenBtn__icon:after {
    width: 16px;
    height: 2px
}

.c-sideMenuOpenBtn.-humbergerMenu {
    margin-bottom: 20px;
    width: 100%
}

.p-top {
    background: #eef2fa
}

.p-top .mainvisual {
    width: 100%;
    height: calc(100vh - 80px);
    min-height: 55vw;
    position: relative;
    margin-bottom: 105px;
    padding-bottom: 80px
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual {
        padding-bottom: 0;
        height: auto;
        min-height: 0;
        margin: 0
    }
}

.p-top .mainvisual .mainvisual__imageWrap {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #d4eaf9
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__imageWrap {
        height: 70vw
    }
}

.p-top .mainvisual .mainvisual__imageWrap-sp {
    display: none
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__imageWrap-sp {
        display: block
    }

    .p-top .mainvisual .mainvisual__imageWrap-sp img {
        width: 100%;
        height: auto
    }
}

.p-top .mainvisual .mainvisual__image {
    position: absolute;
    top: 0;
    right: 0;
    width: 75%;
    object-fit: cover
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__image {
        object-fit: cover;
        object-position: left;
        right: initial;
        left: 0;
        width: 100%;
        scale: 1.5
    }
}

.p-top .mainvisual .mainvisual__image-top {
    position: absolute;
    top: 0;
    right: 0;
    width: 79.4444444444vw
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__image-top {
        top: -50px;
        width: 120%;
        height: 100%
    }
}

.p-top .mainvisual .mainvisual__image-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 21.7361111111vw
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__image-bottom {
        width: 120%;
        height: auto
    }
}

.p-top .mainvisual .mainvisual__content {
    padding: 0 1.3888888889vw;
    max-width: 86.1111111111vw;
    margin: 0 auto;
    width: 100%;
    position: absolute;
    top: calc(50% - 40px);
    left: 50%;
    transform: translate(-50%, -50%)
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__content {
        position: relative;
        padding: 0 20px;
        margin: 40px 0 0;
        max-width: 100%;
        top: initial;
        left: initial;
        transform: initial
    }
}

.p-top .mainvisual .mainvisual__content .mainvisual__title {
    color: #143c96;
    font-weight: 800;
    font-size: 3.694444vw;
    line-height: 1;
    letter-spacing: .08em
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__content .mainvisual__title {
        font-size: 10.2vw;
        letter-spacing: .08em
    }
}

.p-top .mainvisual .mainvisual__content .mainvisual__title+.mainvisual__title {
    margin: 1.3888888889vw 0 2.2916666667vw
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__content .mainvisual__title+.mainvisual__title {
        margin: 15px 0 20px
    }
}

.p-top .mainvisual .mainvisual__content .mainvisual__title span {
    color: #507df5
}

.p-top .mainvisual .mainvisual__steps {
    transform: translateY(-100%);
    top: 35px;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-top .mainvisual .mainvisual__steps {
        margin: 40px auto 0;
        transform: translateY(0);
        top: initial
    }
}

.p-top .s-phase {
    padding: 0
}

@media screen and (max-width: 768px) {
    .p-top .s-phase {
        padding: 80px 0 123px;
        margin: 0
    }
}

.p-top .s-phase .s-phase__body {
    width: 100%
}

.p-top .s-phase .s-phase__sticky {
    position: fixed;
    right: 0;
    height: auto;
    bottom: 20px;
    --slide-x: 100%;
    --slide-y: 0;
    overflow: clip;
    transform: translate3d(var(--slide-x), var(--slide-y), 0);
    transition: transform .4s ease-out;
    display: flex;
    flex-direction: column;
    z-index: 99999
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__sticky {
        display: none
    }
}

.p-top .s-phase .s-phase__sticky.is-visible {
    --slide-x: 0;
    overflow: visible
}

.p-top .s-phase .s-phase__sticky.is-end {
    right: 0;
    height: auto
}

.p-top .s-phase .s-phase__sticky .s-phase__pageTop {
    border: 2px solid #143c96;
    border-radius: 8px;
    background: transparent;
    display: block;
    width: 60px;
    height: 60px;
    margin: 15px 15px 0 0;
    position: relative;
    transition: all .3s
}

.p-top .s-phase .s-phase__sticky .s-phase__pageTop:after {
    content: "";
    width: 32px;
    height: 45px;
    background: url(../../assets/img/pageTop.svg);
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.p-top .s-phase .s-phase__sticky .s-phase__pageTop:hover {
    background: #143c96
}

.p-top .s-phase .s-phase__sticky .s-phase__pageTop:hover:after {
    background-image: url(../../assets/img/pageTop-hover.svg);
    background-size: cover;
    background-repeat: no-repeat
}

.p-top .s-phase .s-phase__sticky .s-phase__pageTop.is-nonActive {
    opacity: 0;
    pointer-events: none
}

.p-top .s-phase .s-phase__linkWrap {
    counter-reset: stepLink;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    width: 100px
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link {
    background: #fff;
    border-radius: 8px 0 0 8px;
    counter-increment: stepLink;
    height: 90px;
    width: 90px;
    font-family: Roboto, sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    letter-spacing: .06em;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all .3s
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:after {
    content: counter(stepLink, decimal-leading-zero);
    font-family: Roboto, sans-serif;
    font-weight: 700;
    font-size: 46px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(1) {
    color: #507df5
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(1):after {
    color: #507df5
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(2) {
    color: #3764d2
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(2):after {
    color: #3764d2
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(3) {
    color: #2850af
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(3):after {
    color: #2850af
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(4) {
    color: #143c96
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:nth-child(4):after {
    color: #143c96
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link.is-active {
    width: 100px;
    color: #fff
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link.is-active:after {
    color: #fff
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link.is-active:nth-child(1) {
    background: #507df5
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link.is-active:nth-child(2) {
    background: #3764d2
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link.is-active:nth-child(3) {
    background: #2850af
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link.is-active:nth-child(4) {
    background: #143c96
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link.is-nonActive {
    opacity: 0;
    pointer-events: none
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:hover {
    width: 100px;
    color: #fff
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:hover:after {
    color: #fff
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:hover:nth-child(1) {
    background: #507df5
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:hover:nth-child(2) {
    background: #3764d2
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:hover:nth-child(3) {
    background: #2850af
}

.p-top .s-phase .s-phase__linkWrap .s-phase__link:hover:nth-child(4) {
    background: #143c96
}

.p-top .s-phase .s-phase__inner {
    max-width: 1440px;
    padding: 0 120px 190px 20px;
    margin: 0 auto
}

@media screen and (max-width: 1240px) {
    .p-top .s-phase .s-phase__inner {
        padding: 0 120px 190px 20px
    }
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner {
        padding: 0 20px
    }
}

.p-top .s-phase .s-phase__inner .s-phase__wrap+.s-phase__wrap {
    margin-top: 150px
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__wrap+.s-phase__wrap {
        margin-top: 80px
    }
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase1 .c-title:after {
    background: #507df5
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase1 .c-title .c-title__number,
.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase1 .c-phaseItem__head {
    color: #507df5
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase1 .c-phaseItem__link .c-phaseItem__linkImage:before {
    background: #507df5
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase1 .c-phaseItem:before {
    background: #507df5
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase2 .c-title:after {
    background: #3764d2
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase2 .c-title .c-title__number,
.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase2 .c-phaseItem__head {
    color: #3764d2
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase2 .c-phaseItem__link .c-phaseItem__linkImage:before {
    background: #3764d2
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase2 .c-phaseItem:before {
    background: #3764d2
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase3 .c-title:after {
    background: #2850af
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase3 .c-title .c-title__number,
.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase3 .c-phaseItem__head {
    color: #2850af
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase3 .c-phaseItem__link .c-phaseItem__linkImage:before {
    background: #2850af
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase3 .c-phaseItem:before {
    background: #2850af
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase4 .c-title:after {
    background: #143c96
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase4 .c-title .c-title__number,
.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase4 .c-phaseItem__head {
    color: #143c96
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase4 .c-phaseItem__link .c-phaseItem__linkImage:before {
    background: #143c96
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase4 .c-phaseItem:before {
    background: #143c96
}

.p-top .s-phase .s-phase__inner .s-phase__wrap.-phase4 .s-phase__list .c-phaseItem:last-child:before {
    display: none
}

.p-top .s-phase .s-phase__inner .s-phase__list .c-phaseItem+.c-phaseItem {
    margin: 40px 0 0
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .c-phaseItem+.c-phaseItem {
        margin: 30px 0 0
    }
}

.p-top .s-phase .s-phase__inner .s-phase__list .c-phaseItem:before {
    content: "";
    width: 80px;
    height: 30px;
    background: #507df5;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -30px;
    left: 60px
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .c-phaseItem:before {
        width: 40px;
        height: 20px;
        bottom: -20px;
        left: 20px
    }
}

.p-top .s-phase .s-phase__inner .s-phase__list .c-phaseItem:last-child:before {
    display: none
}

.p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList {
    display: flex;
    gap: 20px
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList {
        gap: 10px
    }
}

.p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subContent {
    margin: 40px 0;
    position: relative;
    width: calc(100% - 80px)
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subContent {
        margin: 30px 0;
        width: calc(100% - 40px)
    }
}

.p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subContent:after {
    content: "";
    width: 98px;
    height: calc(100% - 80px);
    position: absolute;
    top: 50%;
    right: -50px;
    transform: translateY(-50%);
    z-index: -1;
    background-image: repeating-linear-gradient(to right, #647da5 0, #647da5 2px, transparent 2px, transparent 4px), repeating-linear-gradient(to right, #647da5 0, #647da5 2px, transparent 2px, transparent 4px), repeating-linear-gradient(to bottom, #647da5 0, #647da5 2px, transparent 2px, transparent 4px);
    background-size: 100% 2px, 100% 2px, 2px 100%;
    background-position: left top, left bottom, right top;
    background-repeat: no-repeat
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subContent:after {
        right: -26px
    }
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subContent .c-phaseItem__imageWrap {
        width: calc(100% + 25px);
        padding-bottom: calc(100% + 25px);
        margin-left: -5px;
        height: 0;
        margin-top: -30px;
        position: relative;
        overflow: hidden
    }
}

.p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subContent .c-phaseItem:last-child:before {
    content: "";
    display: block !important;
    width: 80px;
    height: 30px;
    background: #3764d2;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -30px;
    left: 60px
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subContent .c-phaseItem:last-child:before {
        width: 40px;
        height: 20px;
        bottom: -20px;
        left: 20px
    }
}

.p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subWrap {
    height: calc(100% - 80px);
    position: sticky;
    top: 0
}

.p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subWrap .s-phase__subText {
    background: #647da5;
    border-radius: 100px;
    box-shadow: 1px 1px 12px #00000014;
    color: #fff;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: .1em;
    display: flex;
    align-items: center;
    justify-content: center;
    /* text-orientation: upright; */
    height: 320px;
    margin: 260px 0;
    writing-mode: vertical-rl;
    width: 60px;
    flex-direction: column;
}

@media screen and (max-width: 768px) {
    .p-top .s-phase .s-phase__inner .s-phase__list .s-phase__subList .s-phase__subWrap .s-phase__subText {
        height: 200px;
        width: 30px;
        font-size: 13px;
        margin: 120px 0;
        letter-spacing: .1em
    }
}

.p-top .s-faq {
    display: none;
    background: #eef2fa;
    padding: 162px 0 190px
}

@media screen and (max-width: 768px) {
    .p-top .s-faq {
        padding: 0 0 100px
    }
}

.p-top .s-faq .s-faq__inner {
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
    display: flex;
    gap: 80px
}

@media screen and (max-width: 768px) {
    .p-top .s-faq .s-faq__inner {
        flex-direction: column;
        gap: 32px
    }
}

.p-top .s-faq .s-faq__title {
    width: 320px;
    min-width: 320px
}

@media screen and (max-width: 768px) {
    .p-top .s-faq .s-faq__title {
        min-width: none;
        width: 100%
    }
}

.p-top .s-faq .s-faq__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%
}

.p-top .s-faq .s-faq__content .c-faqItem .c-faqItem__titleWrap {
    cursor: pointer
}

.p-top .s-faq .s-faq__content .c-faqItem .c-faqItem__titleWrap:hover .c-faqItem__title {
    color: #143c96
}

.p-top .s-faq .s-faq__content .c-faqItem .c-faqItem__titleWrap:hover .c-faqItem__icon {
    background: #507df5
}