.m-support-faq__question-arrow::after {
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain
}

.m-support-contact,.m-support-faq,.m-support-nurture,.m-support-nurture__item,.m-support-nurture__results,.m-support-process,.m-support-follow {
    transition: translate .4s ease-in-out,opacity .4s ease-in-out
}

.m-support-contact:not(.is-view),.m-support-faq:not(.is-view),.m-support-nurture:not(.is-view),.m-support-nurture__item:not(.is-view),.m-support-nurture__results:not(.is-view),.m-support-process:not(.is-view),.m-support-follow:not(.is-view) {
    opacity: 0;
    translate: 0 20px
}

.m-support-follow img {
    transition: translate .4s ease-in-out .3s,opacity .4s ease-in-out .3s
}

.m-support-follow:not(.is-view) img {
    opacity: 0;
    translate: 0 20px
}

.m-support-contents__wrap {
    margin-left: auto;
    margin-right: auto;
    padding-left: 17.5px;
    padding-right: 17.5px
}

.m-support-contents__ttl {
    width: fit-content;
    left: -0.03em;
    font-family: "League Gothic",sans-serif;
    overflow: hidden;
    transition: padding .6s ease-in-out .3s
}

.m-support-contents__ttl::before,.m-support-contents__ttl::after {
    position: absolute;
    left: 0;
    bottom: 0;
    transition: translate .6s ease-in-out .3s
}

.m-support-contents__ttl::before {
    content: attr(data-txt);
    z-index: 1
}

.m-support-contents__ttl::after {
    content: "";
    width: 100%;
    z-index: 2
}

.m-support-contents__ttl {
    padding: 0 0 16px 16px;
    font-size: 68.5px;
    line-height: .76em
}

.m-support-contents__ttl::before {
    padding: 3px 5px 0 0
}

.m-support-contents__ttl::after {
    height: 6px
}

section:not(.is-view) .m-support-contents__ttl {
    padding: 8px
}

section:not(.is-view) .m-support-contents__ttl::before,section:not(.is-view) .m-support-contents__ttl::after {
    translate: 8px -8px
}

.m-support-faq__question-arrow {
    width: 38px;
    color: rgba(0,0,0,0);
    border-radius: 50%;
    aspect-ratio: 1/1
}

.m-support-faq__question-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    mask-image: url("../images/common/icon-arrow.svg");
    aspect-ratio: 27/41;
    translate: -50% -50%
}

@media(hover: hover) {
    a:hover .m-support-faq__question-arrow::after {
        animation:arrowX .5s .1s
    }
}

.m-support-contents__ttl::before {
    color: #00afec
}

.m-support-contents__ttl--follow::before,.m-support-contents__ttl--follow::after,.m-support-contents__ttl--nurture::before,.m-support-contents__ttl--nurture::after {
    background-color: #fff
}

.m-support-contents__ttl--process::before,.m-support-contents__ttl--process::after,.m-support-contents__ttl--faq::before,.m-support-contents__ttl--faq::after {
    background-color: #f4f4f4
}

.m-support-contents__ttl--contact {
    color: #008fca
}

.m-support-contents__ttl--contact::before {
    color: #0f0f0f
}

.m-support-contents__ttl--contact::before,.m-support-contents__ttl--contact::after {
    background-color: #00afec
}

.m-support-contents__caption {
    font-size: 14px;
    margin-top: 8px;
    font-weight: 900
}

.m-support-follow {
    background-color: #fff;
    margin-top: 66.5px;
    padding: 65.5px 0
}

.m-support-follow__box {
    display: flex;
    align-items: left;
    justify-content: center;
    flex-direction: column;
    gap: 32px
}

.m-support-follow__imgarea {
    width: 100%
}

.m-support-follow__imgarea picture:nth-of-type(2) img {
    transition-delay: .6s
}

.m-support-follow__img {
    display: block
}

.m-support-follow__img img {
    width: 100%
}

.m-support-follow__img--01 {
    width: 82.6666666667vw
}

.m-support-follow__img--02 {
    width: 51.4666666667vw;
    margin: 20.5px 0 0 auto
}

.m-support-follow__txtarea {
    flex: 1
}

.m-support-follow__txt {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    text-align: justify;
    line-height: 2;
    margin-top: 30px
}

.m-support-process {
    padding: 76.5px 0 0
}

.m-support-process__contents {
    width: 100vw;
    background-color: #00afec;
    margin-top: 37.5px;
    margin-left: calc(50% - 50vw);
    padding: 55px 17.5px 69.5px
}

.m-support-process__item+.m-support-process__item {
    margin-top: 49.5px
}

.m-support-process__item-ttl {
    font-size: 19px;
    font-weight: 900
}

.m-support-process__table {
    width: 100%;
    margin-top: 17.5px
}

.m-support-process__tbody tr {
    display: block;
    padding: 24px 0 24px 12.5px;
    border-top: solid 1px #0f0f0f
}

.m-support-process__tbody tr:last-of-type {
    border-bottom: solid 1px #0f0f0f
}

.m-support-process__tbody th {
    font-size: 19px;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: left;
    width: 60px;
    vertical-align: middle
}

.m-support-process__tbody td {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .02em;
    vertical-align: middle
}

.m-support-process__month {
    font-family: "League Gothic",sans-serif;
    font-size: 40px;
    font-weight: 400
}

.m-support-nurture {
    background-color: #fff;
    padding: 71px 0 56.5px
}

.m-support-nurture__box {
    margin-top: 41px
}

.m-support-nurture__img {
    display: block;
    width: 100%
}

.m-support-nurture__img img {
    width: 100%
}

.m-support-nurture__item:not(:first-of-type) {
    transition-delay: .1s
}

.m-support-nurture__item+.m-support-nurture__item {
    margin-top: 51px
}

.m-support-nurture__item-ttl {
    font-size: 24px;
    font-weight: 900;
    margin-top: 27.5px;
    padding:0 0 27.5px 0;
}

.m-support-nurture__item-txt {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 2;
    text-align: justify;
    margin-top: 13px
}

.m-support-nurture__results {
    background-color: #f4f4f4;
    margin-top: 36.5px;
    padding: 33px 20px 22px
}

.m-support-nurture__results-ttl {
    font-size: 20px;
    font-weight: 900;
    padding-bottom: 12.5px;
    border-bottom: solid 1px #0f0f0f
}

.m-support-nurture__results-list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 14px
}

.m-support-nurture__results-item {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 2.1
}

.m-support-faq {
    padding: 74.5px 0 83px
}

.m-support-faq__contents {
    width: 100%;
    margin-top: 44.5px
}

.m-support-faq__details+.m-support-faq__details {
    margin-top: 15px
}

.m-support-faq__details[open] .m-support-faq__question-arrow::after {
    transform: rotate(-90deg)
}

.m-support-faq__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 17px;
    border-bottom: solid 1px #0f0f0f;
    cursor: pointer
}

.m-support-faq__question {
    font-size: 17px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: -0.03em;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 11.5px
}

.m-support-faq__question-mark {
    font-family: "League Gothic",sans-serif;
    font-weight: 500;
    color: #00afec;
    font-size: 27px;
    line-height: 100%
}

.m-support-faq__question-arrow {
    display: inline-block;
    width: 37px;
    height: 37px;
    background-color: #00afec;
    border-radius: 100vmax
}

.m-support-faq__question-arrow::after {
    width: 14px;
    background-color: #0f0f0f;
    transform: rotate(90deg);
    transition: transform .3s
}

.m-support-faq__answer-wrap {
    overflow: hidden
}

.m-support-faq__answer {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.8;
    text-align: justify;
    margin-top: 20.5px;
    padding: 0 0 22.5px
}

.m-support-contact {
    background-color: #00afec;
    padding: 70.5px 0 71.5px
}

.m-support-contact__head-txt {
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.8;
    margin-top: 34px
}

.m-support-contact__nav {
    margin-top: 26.5px
}

.m-support-contact__nav-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 0;
    padding: 29px 0
}

.m-support-contact__nav-txt {
    font-size: 14px;
    font-weight: 900;
    line-height: 1.6
}

.m-support-contact__tel-icon {
    display: inline-block;
    width: 37.5px;
    height: 37.5px;
    position: relative
}

.m-support-contact__tel-icon::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-image: url(../images/common/icon_tel.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0
}

.m-support-contact__tel {
    font-family: "League Gothic",sans-serif;
    font-size: 41px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7.5px
}

.m-support-contact__form {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px
}

.m-support-contact__form-icon {
    display: inline-block;
    width: 36.5px;
    height: 23.5px;
    background-image: url(../images/common/icon_mail.svg);
    background-repeat: no-repeat;
    background-size: contain
}

.p-support .g-ttl__ttl::before {
    color: #00afec
}

.p-support .g-lead__ttl em {
    color: #00afec
}
