/* =================================================
  Base
================================================= */
html {
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    font-family: 'Noto Sans JP', sans-serif;
    color: #000;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
}


/* =================================================
  FV
================================================= */

.fv {
    background-image: url(../img/fv-bg.png);
    background-size: cover;
}

.fv__inner {
    display: flex;
    max-width: 144rem;
    margin: 0 auto;
}

.fv__wrapper {
    margin-bottom: 12rem;
}

.fv__icon {
    max-width: 24rem;
    width: 100%;
    margin-top: 3rem;
    margin-left: 2.7rem;
}

.fv__content {
    max-width: 80rem;
    width: 100%;
    background-color: #fff;
    margin-top: 8rem;
    margin-left: 6rem;
    padding: 4rem 0 4rem 3rem;
}

.fv__title {
    font-size: 6rem;
    font-weight: 600;
    padding-right: 6.7rem;
    line-height: 1.33;
}

.fv__title-top {
    font-size: 4rem;
    line-height: 2;
}

.fv__title-main {
    color: #FF6B00;
}

.fv__lead {
    font-size: 2rem;
    font-weight: 600;
    margin-top: 2rem;
    padding-right: 2.2rem;
    line-height: 1.75;
}

.fv__cta {
    font-size: 3.2rem;
    font-weight: bold;
    margin: 3rem;
}

.fv__cta-button {
    display: inline-block;
    color: #fff;
    background-color: #FF6B00;
    padding: 2.2rem 8.5rem;
    border-radius: 9999px;
    box-shadow: inset 0px 8px 8px 0px #FFFFFF80, 0px 4px 4px 0px #00000066;
}

.fv__img {
    display: flex;
    flex-direction: column;
    max-width: 64rem;
    width: 100%;
    margin-top: auto;
    margin-left: auto;
}

@media screen and (max-width: 1440px) {
    .fv__wrapper {
        margin-bottom: 8.333vw;
    }

    .fv__icon {
        max-width: 16.667vw;
        width: 100%;
        margin-top: 2.083vw;
        margin-left: 1.875vw;
    }

    .fv__content {
        max-width: 55.556vw;
        width: 100%;
        background-color: #ffffff;
        margin-top: 5.556vw;
        margin-left: 4.167vw;
        padding: 2.778vw 0 2.778vw 2.083vw;
    }

    .fv__title {
        font-size: 4.167vw;
        font-weight: 600;
        padding-right: 4.653vw;
        line-height: 1.33;
    }

    .fv__title-top {
        font-size: 2.778vw;
        line-height: 2;
    }

    .fv__title-main {
        color: #FF6B00;
    }

    .fv__lead {
        font-size: 1.389vw;
        font-weight: 600;
        margin-top: 1.389vw;
        padding-right: 1.528vw;
        line-height: 1.75;
    }

    .fv__cta {
        font-size: 2.222vw;
        font-weight: bold;
        margin: 2.083vw;
    }

    .fv__cta-button {
        display: inline-block;
        color: #fff;
        background-color: #22BA4F;
        padding: 1.528vw 5.903vw;
        border-radius: 694.375vw;
        box-shadow: inset 0px 0.556vw 0.556vw 0px #FFFFFF80, 0px 0.278vw 0.278vw 0px #00000066;
    }

    .fv__img {
        display: flex;
        flex-direction: column;
        max-width: 44.444vw;
        width: 100%;
        margin-top: auto;
        margin-left: auto;
    }

}

@media screen and (max-width: 768px){
    .fv__title {
        font-size: 4.5vw;
        white-space: nowrap;
    }

    .fv__title-top {
        font-size: 3.5vw;
    }

    .fv__lead {
        font-size: 2.5vw;
    }

    .fv__cta {
        font-size: 3vw;
    }
}


/* =================================================
  Worries
================================================= */

.worries {
    background-image: url(../img/bg02.png);
    background-size: cover;
}

.worries__inner {
    padding-top: 8rem;
    padding-bottom: 8rem;
}

.worries__title {
    font-size: 4rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
}

.worries__img {
    max-width: 115rem;
    width: 100%;
    margin: 6rem auto 0;
    padding: 2rem;
}

.worries__img-sp {
    display: none;
}

.worries__img02 {
    max-width: 44rem;
    width: 100%;
    margin: -3.6rem auto 0;
}

.worries__catch {
    font-size: 3.6rem;
    font-weight: bold;
    text-align: center;
    margin-top: 3.6rem;
}

@media screen and (max-width: 1440px) {
    .worries__inner {
        padding-top: 5.556vw;
        padding-bottom: 5.556vw;
    }

    .worries__title {
        font-size: 2.778vw;
        font-weight: 600;
        text-align: center;
    }

    .worries__img {
        max-width: 79.861vw;
        width: 100%;
        margin: 4.167vw auto 0;
        padding: 1.389vw;
    }

    .worries__img02 {
        max-width: 30.556vw;
        width: 100%;
        margin: -2.5vw auto 0;
    }

    .worries__catch {
        font-size: 2.5vw;
        font-weight: bold;
        text-align: center;
        margin-top: 2.5vw;
    }
}

@media screen and (max-width: 768px){
    .worries__img {
        display: none;
    }

    .worries__img-sp {
        display: block;
        max-width: 78vw;
        width: 100%;
        margin:4.167vw auto 0;
        padding: 1.389vw;
    }

    .worries__title {
        font-size: 3.5vw;
    }
    .worries__img {
        max-width: 95vw;
    }

    .worries__img02 {
        max-width: 35vw;
    }

    .worries__catch {
        font-size: 3vw;
    }
}

/* =================================================
  about
================================================= */
.about-minute {
    background-image: url(../img/about-bg.png);
    background-size: cover;
}

.about-minute__inner {
    padding-top: 11.3rem;
    padding-bottom: 9.9rem;
}

.about-minute__title {
    font-size: 4rem;
    font-weight: 600;
    text-align: center;
}

.about__title-item01, .about__title-item02 {
    font-size: 7.2rem;
    font-weight: bold;
    color: #FF6B00;
}

.about__title-item02 {
    display: inline-block;
    transform: rotate(30deg);
}

.about-minute__img {
    max-width: 54.8rem;
    width: 100%;
    margin: 6.3rem auto 0;
}

.about-minute__lead {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    margin-top: 4.5rem;
}

@media screen and (max-width: 1440px) {

    .about-minute__inner {
        padding-top: 7.847vw;
        padding-bottom: 6.875vw;
    }

    .about-minute__title {
        font-size: 2.778vw;
        font-weight: 600;
        text-align: center;
    }

    .about__title-item01, .about__title-item02 {
        font-size: 5vw;
        font-weight: bold;
        color: #FF6B00;
    }

    .about-minute__img {
        max-width: 38.056vw;
        width: 100%;
        margin: 4.375vw auto 0;
    }

    .about-minute__lead {
        font-size: 1.667vw;
        font-weight: 600;
        text-align: center;
        margin-top: 3.125vw;
    }
}

/* =================================================
  why
================================================= */
.why {
    background: linear-gradient(180deg, rgba(247, 255, 103, 1), rgba(140, 246, 124, 1));
}

.why__inner {
    max-width: 124rem;
    margin: 0 auto;
    padding: 12rem 2rem 12.2rem;
}

.why__title {
    font-size: 4rem;
    font-weight: 600;
    text-align: left;
}

.why__title-item01 {
    font-size: 5.2rem;
    color: #FF6B00;
}

.why__title--text {
    font-size: 2rem;
    font-weight: 600;
    text-align: left;
    margin-top: 4rem;
	line-height: 1.4;
}

.why__item {
    margin-top: 8rem;
    display: flex;
}

.why__item.reverse {
    flex-direction: row-reverse;
}

.why__img {
    max-width: 64rem;
    width: 100%;
}

.why__content {
    position: relative;
    max-width: 59.2rem;
    width: 100%;
    background: #fff;
    padding: 3rem 0 4.5rem 3rem;
}

.why__content::before {
    content: "";
    position: absolute;
    top: -15px;
    right: 15px;
    bottom: 15px;
    left: -15px;
    border: solid 3px #000000;
    z-index: 1;
}

.why__content01 {
    margin-top: 16rem;
    margin-right: -4rem;
}

.why__content02 {
    margin-top: 9.5rem;
    margin-left: -4rem;
}

.why__content03 {
    margin-top: 11.3rem;
    margin-right: -4rem;
}

.why__content04 {
    margin-top: 15.2rem;
    margin-left: -4rem;
}

.why__content--title {
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.5;
}

.content__title-item {
    font-size: 3rem;
    color: #FF6B00;
}

.content__title-item02 {
    font-size: 3.6rem;
    color: #FF6B00;
}

.why__content--text {
    margin-right: 8rem;
}

.why__text {
    font-size: 2.1rem;
    margin-top: 2rem;
    line-height: 1.75;
}

.why__cta {
    font-size: 2.2rem;
    font-weight: 600;
    margin-top: 4rem;
    line-height: 1.5;
}

.why__cta-button {
    display: inline-block;
    color: #fff;
    background-color: #FF6B00;
    padding: 1rem 7.5rem;
    border-radius: 9999px;
    box-shadow: 0px 4px 4px 0px #00000040;
}

.why__content--list {
    margin-top: 2rem;
}

.item__text {
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.727;
}

.list__text {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.75;
}


@media screen and (max-width: 1440px) {
    .why__inner {
        max-width: 86.111vw;
        margin: 0 auto;
        padding: 8.333vw 1.389vw 8.472vw;
    }

    .why__title {
        font-size: 2.778vw;
        font-weight: 600;
        text-align: left;
    }

    .why__title-item01 {
        font-size: 3.611vw;
        color: #FF6B00;
    }

    .why__title--text {
        font-size: 1.389vw;
        font-weight: 600;
        text-align: left;
        margin-top: 2.778vw;
        padding: 0 1.389vw;
    }

    .why__container {
        max-width: 86.111vw;
        margin: 0 auto;
        padding: 0 1.389vw;
    }

    .why__item {
        margin-top: 5.556vw;
        display: flex;
    }

    .why__img {
        max-width: 44.444vw;
        width: 100%;
    }

    .why__content {
        position: relative;
        max-width: 41.111vw;
        width: 100%;
        background: #fff;
        padding: 2.083vw 0 3.125vw 2.083vw;
    }

    .why__content::before {
        content: "";
        position: absolute;
        top: -1.042vw;
        right: 1.042vw;
        bottom: 1.042vw;
        left: -1.042vw;
        border: solid 0.208vw #000000;
        z-index: 1;
    }

    .why__content01 {
        margin-top: 11.111vw;
        margin-right: -2.778vw;
    }

    .why__content02 {
        margin-top: 6.597vw;
        margin-left: -2.778vw;
    }

    .why__content03 {
        margin-top: 7.847vw;
        margin-right: -2.778vw;
    }

    .why__content04 {
        margin-top: 10.556vw;
        margin-left: -2.778vw;
    }

    .why__content--title {
        font-size: 2.083vw;
        font-weight: 600;
        line-height: 1.5;
    }

    .content__title-item {
        font-size: 2.083vw;
        color: #FF6B00;
    }

    .content__title-item02 {
        font-size: 2.5vw;
        color: #FF6B00;
    }

    .why__content--text {
        margin-right: 5.556vw;
    }

    .why__text {
        font-size: 1.48vw;
        margin-top: 1.389vw;
        line-height: 1.75;
    }

    .why__cta {
        font-size: 1.528vw;
        font-weight: 600;
        margin-top: 2.778vw;
        line-height: 1.5;
    }

    .why__cta-button {
        display: inline-block;
        color: #fff;
        background-color: #FF6B00;
        padding: 0.694vw 5.208vw;
        border-radius: 9999px;
        box-shadow: 0px 0.278vw 0.278vw 0px #00000040;
    }

    .why__content--list {
        margin-top: 1.389vw;
    }

    .item__text {
        font-size: 1.528vw;
        font-weight: 600;
        line-height: 1.727;
    }

    .list__text {
        font-size: 1.389vw;
        font-weight: 600;
        line-height: 1.75;
    }
}

@media screen and (max-width: 768px){
    .why__title {
        font-size: 3.5vw;
    }

    .why__title-item01 {
        font-size: 4.5vw;
    }

    .why__title--text {
        font-size: 2vw;
    }

    .why__item {
        display: block;
        margin-top: 6.5vw;
    }

    .why__img {
        max-width: 75%;
        margin: 0 auto;
    }

    .why__content {
        max-width: 75%;
        margin: 3.125vw auto;
    }

    .why__content--title {
        font-size: 3vw;
    }

    .content__title-item {
        font-size: 3vw;
    }

    .content__title-item02 {
        font-size: 3.5vw;
    }

    .why__text {
        font-size: 2vw;
    }

    .why__Cta {
        font-size: 2.2vw;
    }

    .item__text {
        font-size: 2.2vw;
    }

    .list__text {
        font-size: 2vw;
    }
}

/* =================================================
  voices
================================================= */
.voices__inner {
    margin-top: 18.7rem;
}

.voices__title {
    font-size: 4rem;
    font-weight: 600;
    text-align: center;
}

.voice__title-item {
    font-size: 5.2rem;
    color: #FF6B00;
}

.voices__list {
    max-width: 94rem;
    width: 100%;
    margin: 8rem auto 0;
    padding: 0 2rem;
}

.voice-card {
    display: flex;
    align-items: center;
    max-width: 90rem;
    width: 100%;
    margin: 0 auto;
    padding: 3rem 3rem 3.1rem 6rem;
    border: solid 2px #000000;
}

.voice-card:not(:first-child) {
    margin-top: 4rem;
}

.voice-card__img {
    max-width: 22rem;
    width: 100%;
    object-fit: cover;
    /* aspect-ratio: 22 / 27;
    width: 100%;
    height: 100%; */
}

.voice-card__content {
    max-width: 59rem;
    width: 100%;
    margin-left: 3rem;
}

.voice-card__title {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.5;
}

.voice-card__meta {
    font-size: 2.6rem;
    font-weight: 600;
    margin-top: 1rem;
    text-align: right;
}

.voice-card__text {
    font-size: 2rem;
    font-weight: 500;
    margin-top: 2.5rem;
    line-height: 1.75;
}

@media screen and (max-width: 1440px) {
    .voices__inner {
        margin-top: 12.986vw;
    }

    .voices__title {
        font-size: 2.778vw;
        font-weight: 600;
        text-align: center;
    }

    .voice__title-item {
        font-size: 3.611vw;
        color: #FF6B00;
    }

    .voices__list {
        max-width: 65.278vw;
        width: 100%;
        margin: 5.556vw auto 0;
        padding: 0 1.389vw;
    }

    .voice-card {
        display: flex;
        align-items: center;
        max-width: 62.5vw;
        width: 100%;
        margin: 0 auto;
        padding: 2.083vw 2.083vw 2.153vw 4.167vw;
        border: solid 0.139vw #000000;
    }

    .voice-card:not(:first-child) {
        margin-top: 2.778vw;
    }

    .voice-card__img {
        max-width: 15.278vw;
        width: 100%;
        /* aspect-ratio: 22 / 27;
        width: 100%;
        height: 100%; */
    }

    .voice-card__content {
        margin-left: 2.083vw;
    }

    .voice-card__title {
        font-size: 1.944vw;
        font-weight: 600;
        line-height: 1.5;
    }

    .voice-card__meta {
        font-size: 1.806vw;
        font-weight: 600;
        margin-top: 0.694vw;
        text-align: right;
    }

    .voice-card__text {
        font-size: 1.389vw;
        font-weight: 500;
        margin-top: 1.736vw;
        line-height: 1.75;
    }
}

@media screen and (max-width: 768px){
    .voices__title {
        font-size: 3.5vw;
    }

    .voice__title-item {
        font-size: 4.5vw;
    }

    .voices__list {
        max-width: 100%;
    }

    .voice-card {
        max-width: 90%;
    }

    .voice-card__img {
        max-width: 20vw;
    }

    .voice-card__title {
        font-size: 2.7vw;
    }

    .voice-card__meta {
        font-size: 2.6vw;
    }

    .voice-card__text {
        font-size: 2vw;
    }
}

/* =================================================
  works
================================================= */
.works__inner {
    margin-top: 12rem;
    margin-bottom: 12rem;
}

.works__title {
    font-size: 4rem;
    font-weight: 600;
    text-align: center;
}

.works__title-item {
    font-size: 5.2rem;
    color: #FF6B00;
}

.works__cards {
    display: flex;
    max-width: 133rem;
    width: 100%;
    margin: 3.8rem auto 0;
    padding: 0 1.5rem;
    justify-content: space-between;
}

.works__card {
    display: flex;
    flex-direction: column;
    max-width: 40.3rem;
    width: 100%;
    padding-top: 4rem;
    padding-left: 2.3rem;
    border: 1px solid #000000;
    border-radius: 20px;
}

.work-card01 {
    box-shadow: 10px 10px #FF6B00;
}

.work-card02 {
    box-shadow: 10px 10px #FFE500;
}

.work-card03 {
    box-shadow: 10px 10px #8CF67C;
}

.works__card-title {
    font-size: 3.2rem;
    font-weight: 600;
    text-align: center;
}

.works__card-text {
    font-size: 2rem;
    margin-top: 2.5rem;
    margin-right: 2.4rem;
    line-height: 1.75;
}

.works__img01 {
    max-width: 17rem;
    width: 100%;
    margin-top: auto;
    margin-left: auto;
}

.works__img02 {
    max-width: 14rem;
    width: 100%;
    margin-top: auto;
    margin-left: auto;
}

.works__img03 {
    max-width: 21rem;
    width: 100%;
    margin-top: auto;
    margin-left: auto;
}

.works__cta {
    font-size: 3.2rem;
    font-weight: bold;
    margin-top: 6rem;
    text-align: center;
}

.works__cta-button {
    display: inline-block;
    color: #fff;
    background-color: #22BA4F;
    padding: 2.3rem 8.6rem;
    border-radius: 9999px;
    box-shadow: inset 0px 8px 8px 0px #FFFFFF80, 0px 4px 4px 0px #00000066;
}

@media screen and (max-width: 1440px) {
    .works__inner {
        margin-top: 8.333vw;
        margin-bottom: 8.333vw;
    }

    .works__title {
        font-size: 2.778vw;
        font-weight: 600;
        text-align: center;
    }

    .works__title-item {
        font-size: 3.611vw;
        color: #FF6B00;
    }

    .works__cards {
        display: flex;
        max-width: 92.361vw;
        width: 100%;
        margin: 2.639vw auto 0;
        padding: 0 1.042vw;
        justify-content: space-between;
    }

    .works__card {
        display: flex;
        flex-direction: column;
        max-width: 27.986vw;
        width: 100%;
        padding-top: 2.778vw;
        padding-left: 1.597vw;
        border: 0.069vw solid #000000;
        border-radius: 1.389vw;
    }

    .work-card01 {
        box-shadow: 0.694vw 0.694vw #FF6B00;
    }

    .work-card02 {
        box-shadow: 0.694vw 0.694vw #FFE500;
    }

    .work-card03 {
        box-shadow: 0.694vw 0.694vw #8CF67C;
    }

    .works__card-title {
        font-size: 2.222vw;
        font-weight: 600;
        text-align: center;
    }

    .works__card-text {
        font-size: 1.389vw;
        margin-top: 1.736vw;
        margin-right: 1.667vw;
        line-height: 1.75;
    }

    .works__img01 {
        max-width: 11.806vw;
        width: 100%;
        margin-top: auto;
        margin-left: auto;
    }

    .works__img02 {
        max-width: 9.722vw;
        width: 100%;
        margin-top: auto;
        margin-left: auto;
    }

    .works__img03 {
        max-width: 14.583vw;
        width: 100%;
        margin-top: auto;
        margin-left: auto;
    }

    .works__cta {
        font-size: 2.222vw;
        font-weight: bold;
        margin-top: 4.167vw;
        text-align: center;
    }

    .works__cta-button {
        display: inline-block;
        color: #fff;
        background-color: #22BA4F;
        padding: 1.597vw 5.972vw;
        border-radius: 9999px;
        box-shadow: inset 0px 0.556vw 0.556vw 0px #FFFFFF80, 0px 0.278vw 0.278vw 0px #00000066;
    }
}

@media screen and (max-width: 768px){
    .works__title {
        font-size: 3.5vw;
    }

    .works__cards {
        display: block;
    }

    .works__card {
        max-width: 45vw;
        margin: 4vw auto;
    }

    .works__card-title {
        font-size: 3vw;
    }

    .works__card-text {
        font-size: 2vw;
    }

    .works__img01 {
        max-width: 13vw;
    }

    .works__img02 {
        max-width: 11vw;
    }

    .works__img03 {
        max-width: 16vw;
    }

    .works__cta {
        font-size: 3vw;
    }
}

/* =================================================
  Flow
================================================= */

.flow {
    background-image: url(../img/flow-bg.png);
    background-size: cover;
}

.flow__inner {
    padding: 8rem 0;
}

.flow__title {
    font-size: 4rem;
    text-align: center;
}

.flow__row {
    margin-top: 8rem;
}

.flow__step {
    display: flex;
    max-width: 94rem;
    width: 100%;
    background-color: #ffffff;
    margin: 0 auto;
    padding: 3.2rem 0 3.2rem 4.5rem;
    border: 1px solid #000000;
    border-radius: 20px;
    align-items: center;
}

.flow__step:not(:first-child) {
    margin-top: 3rem;
}

.flow__step-label {
    padding: 2.8rem 4.5rem 2.8rem 0;
    border-right: 2px solid #000000;
}

.step-label {
    font-size: 3.2rem;
}

.step-number {
    font-size: 4.8rem;
    margin-top: 1rem;
    text-align: center;
}

.flow__step-img {
    max-width: 9rem;
    width: 100%;
    margin-left: 4.7rem;
}

.flow__step-content {
    margin-left: 5.5rem;
    padding-right: 2.4rem;
}

.flow__step-title {
    font-size: 3.2rem;
}

.flow__step-text {
    font-size: 2.4rem;
    margin-top: 3rem;
	line-height: 1.4;
}

@media screen and (max-width: 1440px) {
    .flow__inner {
        padding: 5.556vw 0;
    }

    .flow__title {
        font-size: 2.778vw;
        text-align: center;
    }

    .flow__row {
        margin-top: 5.556vw;
    }

    .flow__step {
        display: flex;
        max-width: 65.278vw;
        width: 100%;
        background-color: #ffffff;
        margin: 0 auto;
        padding: 2.222vw 0 2.222vw 3.125vw;
        border: 0.069vw solid #000000;
        border-radius: 1.389vw;
        align-items: center;
    }

    .flow__step:not(:first-child) {
        margin-top: 2.083vw;
    }

    .flow__step-label {
        padding: 1.944vw 3.125vw 1.944vw 0;
        border-right: 0.139vw solid #000000;
    }

    .step-label {
        font-size: 2.222vw;
    }

    .step-number {
        font-size: 3.333vw;
        margin-top: 0.694vw;
        text-align: center;
    }

    .flow__step-img {
        max-width: 6.25vw;
        width: 100%;
        margin-left: 3.264vw;
    }

    .flow__step-content {
        margin-left: 3.819vw;
    }

    .flow__step-title {
        font-size: 2.222vw;
    }

    .flow__step-text {
        font-size: 1.667vw;
        margin-top: 2.083vw;
    }
}

@media screen and (max-width: 768px){
    .flow__step {
        max-width: 80%;
    }

    .flow__title {
        font-size: 3.5vw;
    }

    .step-label {
        font-size: 2.8vw;
    }

    .step-number {
        font-size: 3.7vw;
    }

    .flow__step-content {
        padding-right: 1.8rem;
    }

    .flow__step-title {
        font-size: 2.8vw;
    }

    .flow__step-text {
        font-size: 2.3vw;
    }
}

/* =================================================
  FAQ
================================================= */
.faq__inner {
    margin-top: 12rem;
    margin-bottom: 10rem;
}

.faq__title {
    font-size: 4rem;
    text-align: center;
}

.faq__items {
    margin-top: 6rem;
}

.faq__item {
    max-width: 88rem;
    width: 100%;
    margin: 0 auto;
}

.faq__item:not(:first-child) {
    margin-top: 4rem;
}

.faq__q-content {
    display: flex;
    color: #ffffff;
    background-color: #FF6B00;
    border-radius: 10px;
    padding: 3.1rem 3rem;
}

.faq__q-label {
    font-size: 3.6rem;
    font-weight: 500;
}

.faq__q-title {
    font-size: 3.2rem;
    margin-left: 4rem;
    line-height: 1.3;
}

.faq__a-content {
    display: flex;
    border: 3px solid #FFE500;
    border-radius: 10px;
    margin-top: 1.5rem;
    padding: 3.2rem 9.6rem 3.2rem 3rem;
}

.faq__a-label {
    font-size: 3.6rem;
    color: #FF6B00;
}

.faq__a-text {
    font-size: 2.4rem;
    margin-left: 4.2rem;
    line-height: 1.458;
}

/* クリック開閉 */
.accordion-title {
    position: relative;
}

.accordion-title:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 93%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 3.5rem;
    height: 2px;
    border-radius: 10px;
    background: #ffffff;
    display: block;
}

.accordion-title:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 93%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 2px;
    height: 3.5rem;
    border-radius: 10px;
    background: #ffffff;
    display: block;
    transition: 0.3s cubic-bezier(0.76, 0, 0.24, 1);
    will-change: transform;
}

.accordion-title.open:before {
    opacity: 0;
}

.accordion-title.open:after {
    transform: translateY(-50%) rotate(90deg);
}


@media screen and (max-width: 1440px) {
    .faq__inner {
        margin-top: 8.333vw;
        margin-bottom: 6.944vw;
    }

    .faq__title {
        font-size: 2.778vw;
        text-align: center;
    }

    .faq__items {
        margin-top: 4.167vw;
    }

    .faq__item {
        max-width: 61.111vw;
        width: 100%;
        margin: 0 auto;
    }

    .faq__item:not(:first-child) {
        margin-top: 2.778vw;
    }

    .faq__a-contents {
        display: none;
    }

    .faq__q-content {
        display: flex;
        color: #ffffff;
        background-color: #FF6B00;
        border-radius: 0.694vw;
        padding: 2.153vw 2.083vw;
    }

    .faq__q-label {
        font-size: 2.5vw;
        font-weight: 500;
    }

    .faq__q-title {
        font-size: 2.222vw;
        margin-left: 2.778vw;
    }

    .faq__a-content {
        display: flex;
        border: 3px solid #FFE500;
        border-radius: 0.694vw;
        margin-top: 1.042vw;
        padding: 2.222vw 6.667vw 2.222vw 2.083vw;
    }

    .faq__a-label {
        font-size: 2.5vw;
        color: #FF6B00;
    }

    .faq__a-text {
        font-size: 1.667vw;
        margin-left: 2.917vw;
    }

    /* クリック開閉 */
    .accordion-title {
        position: relative;
    }

    .accordion-title:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 93%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 2.431vw;
        height: 0.139vw;
        border-radius: 0.694vw;
        background: #ffffff;
        display: block;
    }

    .accordion-title:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 93%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 0.139vw;
        height: 2.431vw;
        border-radius: 0.694vw;
        background: #ffffff;
        display: block;
        transition: 0.3s cubic-bezier(0.76, 0, 0.24, 1);
        will-change: transform;
    }
}

@media screen and (max-width: 768px){
    .faq__item {
        max-width: 75%;
    }

    .faq__title {
        font-size: 3.5vw;
    }

    .faq__q-label {
        font-size: 3.2vw;
    }

    .faq__q-title {
        font-size: 2.9vw;
    }

    .faq__a-label {
        font-size: 3.2vw;
    }

    .faq__a-text {
        font-size: 2.3vw;
    }
}

/* =================================================
  Final CTA
================================================= */
.final-cta__wrapper {
    display: flex;
}

.final-cta__content {
    background-color: #FFE500;
    max-width: 62.5vw;
    width: 100%;
    padding: 4.167vw 0;
}

.final-cta__title {
    font-size: 2.222vw;
    font-weight: 600;
    text-align: center;
	line-height: 1.5;
}

.final-cta__text {
    font-size: 1.667vw;
    font-weight: 500;
    text-align: center;
    margin-top: 2.083vw;
	line-height: 1.5;
}

.final__button {
    font-size: 2.222vw;
    font-weight: bold;
    margin-top: 4.167vw;
    text-align: center;
}

.final-cta__button {
    display: inline-block;
    color: #fff;
    background-color: #22BA4F;
    padding: 1.597vw 5.972vw;
    border-radius: 694.375vw;
    box-shadow: inset 0px 0.556vw 0.556vw 0px #FFFFFF80, 0px 0.278vw 0.278vw 0px #00000066;
}

.final-cta__img01 {
    max-width: 18.75vw;
    width: 100%;
	display: flex;
}

.final-cta__img02 {
    max-width: 18.75vw;
    width: 100%;
	display: flex;
}

@media screen and (max-width: 768px){
    .final-cta__title {
        font-size: 2.9vw;
    }

    .final-cta__text {
        font-size: 2vw;
        padding: 0 5vw;
    }

    .final__button {
        font-size: 2.9vw;
    }
}

/* =================================================
  footer
================================================= */
.footer__inner {
    padding-top: 60px;
    padding-bottom: 38px;
}

.footer__content {
    display: flex;
    justify-content: center;
}

.footer__text {
    font-size: 18px;
    line-height: 1.944;
}

.footer__text a {
color: #333;
}


@media screen and (max-width: 1440px) {
    .footer__inner {
        padding-top: 4.167vw;
        padding-bottom: 2.639vw;
    }

    .footer__text {
        font-size: 1.25vw;
        line-height: 1.944;
    }
}


/* =================================================
privacy-policy
================================================= */

.privacy {
    max-width: 94rem;
    width: 100%;
    margin: 12rem auto;
    padding: 0 4rem;
}

@media screen and (max-width: 768px) {
    .privacy {
        padding: 0 2rem;
        margin: 8rem auto;
    }
}

.privacy__title {
    font-size: 3.2rem;
    font-weight: bold;
    padding-bottom: 6rem;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .privacy__title {
        font-size: 2.8rem;
    }
}

.privacy__sub {
    font-size: 2.2rem;
    font-weight: bold;
    padding-bottom: 4rem;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .privacy__sub {
        font-size: 2rem;
    }
}

.privacy__list {
    line-height: 1.5;
}

.privacy__item {
    margin-top: 4rem;
}