/* fv */
.fv {
    margin: 120px 0 0;
}
@media screen and (max-width: 968px) {
    .fv {
        margin: 100px 0 0;
    }
    .fv picture img {
        width: 100%;
        max-width: none;
    }
}
@media screen and (max-width: 768px) {}

/* about */
.about {
    background: url(../../images/new/text.png) no-repeat;
    background-position: center bottom;
    background-size: contain;
    padding: 200px 0;
    position: relative;
}
.about::before,
.about::after {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    display: block;
    height: 117px;
    position: absolute;
    top: 5%;
    width: 117px;
}
.about::before {
    background-image: url(../../images/new/symbol-l-t-y.png);
    left: 5%;
}
.about::after {
    background-image: url(../../images/new/symbol-r-t-y.png);
    right: 5%;
}
.about-inner {
    margin: 0 auto;
    width: var(--main-w);
    max-width: 1120px;
}
.about-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.about-left {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    width: 480px;
}
.about-left h2 {
    font-size: 46px;
    font-weight: 700;
    line-height: 1.5em;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    text-align: center;
}
.about-image {
    margin-top: -80px;
}
.about-right {
    width: 520px;
}
.about-right h3 {
    color: var(--main-theme-color);
    font-family: var(--ft-urban);
    font-size: 48px;
    font-weight: 800;
    margin: 0 0 24px;
}
.about-right p {
    font-size: 18px;
    font-weight: 500;
    line-height: 2.3em;
}
.about-points {
    margin: 130px 0 0;
    position: relative;
}
.about-points::before {
    background: url(../../images/new/chara1.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 412px;
    position: absolute;
    left: 0;
    top: -170px;
    width: 189px;
}
.about-points h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 32px;
    text-align: center;
}
.about-points h3::before,
.about-points h3::after {
    background: var(--base-bk);
    content: "";
    height: 25px;
    width: 2px;
}
.about-points h3::before {
    margin-right: 10px;
    transform: rotate(-15deg);
}
.about-points h3::after {
    margin-left: 10px;
    transform: rotate(15deg);
}
.about-points h3 p {
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 1px;
}
.about-points h3 p span {
    background: var(--base-bk);
    color: #fff;
    display: inline-block;
    padding: 2px 5px;
}
.about-point__items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 35px;
}
.about-point__item {
    background: #fff;
    border: 2px dashed var(--base-bk);
    border-radius: 8px;
    padding: 35px 45px 24px;
    position: relative;
    text-align: center;
    width: calc((100% - (35px * 2)) / 3);
}
.point-item__num {
    font-family: var(--ft-poppin);
    font-size: 18px;
    font-weight: 600;
    position: absolute;
    left: 5px;
    top: 10px;
    writing-mode: vertical-rl;
}
.point-item__image {
    line-height: 0;
    margin: 0 auto;
    width: 68px;
}
.point-item__text {
    margin: 15px 0 0;
}
.point-item__ttl {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 8px;
}
.point-item__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8em;
}
@media screen and (max-width: 1168px) {
    .about-left,
    .about-right {
        width: 48.5%;
    }
    .about-left h2 {
        font-size: 38px;
    }
    .about-image {
        margin-top: -80px;
    }
}
@media screen and (max-width: 968px) {
    .about {
        background-size: 200%;
        background-position: left bottom;
        margin-top: 5vw;
        padding: 30vw 0 25vw;
    }
    .about::before, .about::after {
        height: 12vw;
        top: 2%;
        width: 12vw;
    }
    .about-left,
    .about-right {
        width: 100%;
    }
    .about-left {
        margin: 0 0 -5vw;
    }
    .about-left h2 {
        font-size: 8vw;
    }
    .about-image {
        margin-top: -20vw;
    }
    .about-points {
        margin: 25vw 0 0;
    }
    .about-point__items {
        gap: 3vw;
    }
    .about-point__item {
        padding: 35px 45px 24px;
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .about {
        background-size: 200%;
        background-position: left bottom;
        margin-top: 10vw;
        padding: 30vw 0;
    }
    .about::before, .about::after {
        top: 0;
    }
    .about-right h3 {
        font-size: 7.5vw;
        margin: 0 0 3vw;
    }
    .about-right p {
        font-size: 4vw;
    }
    .about-points {
        margin: 25vw 0 0;
    }
    .about-points::before {
        height: 65vw;
        top: -18vw;
        width: 30vw;
    }
    .about-points h3 {
        align-items: flex-end;
        margin: 0 0 5vw auto;
        width: 80%;
    }
    .about-points h3::before,
    .about-points h3::after {
        height: 5vw;
        position: relative;
        bottom: 6px;
    }
    .about-points h3 p {
        font-size: 5vw;
    }
    .about-point__item {
        padding: 8vw 6vw 6vw;
    }
    .point-item__image {
        width: 15vw;
    }
    .point-item__num {
        font-size: 4vw;
    }
    .point-item__text {
        margin: 3vw 0 0;
    }
    .point-item__ttl {
        font-size: 5vw;
        margin: 0 0 1vw;
    }
    .point-item__txt {
        font-size: 3.5vw;
    }
}

/* features */
.features {
    margin: 0 0 225px;
    padding: 120px 0 210px;
    position: relative;
}
.features::before,
.features::after {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    display: block;
    height: 117px;
    position: absolute;
    bottom: 5%;
    width: 117px;
}
.features::before {
    background-image: url(../../images/new/symbol-l-b-y.png);
    left: 5%;
}
.features::after {
    background-image: url(../../images/new/symbol-r-b-y.png);
    right: 5%;
}
.features-inner {
    margin: 0 auto;
    position: relative;
    width: var(--main-w);
    max-width: 1120px;
}
.features-inner::before {
    background: url(../../images/new/chara2.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 256px;
    position: absolute;
    right: -55px;
    top: -25px;
    width: 174px;
    z-index: 1;
}
.features-head {
    margin: 0 auto 80px;
    text-align: center;
}
.features-head p {
    color: var(--main-theme-color);
    font-family: var(--ft-urban);
    font-size: 32px;
    font-weight: 800;
}
.features-head h2 {
    font-size: 48px;
    font-weight: 700;
}
.featurs-cards {
    counter-reset: number 0;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 35px;
}
.features-card {
    text-align: center;
    width: calc((100% - (35px * 2)) / 3);
}
.features-card__image {
    margin: 0 auto;
    line-height: 0;
    position: relative;
    width: 100%;
    max-width: max-content;
}
.features-card__image::before {
    counter-increment: number 1;
    content: "0"counter(number);
    color: #fff;
    font-family: var(--ft-urban);
    font-size: 72px;
    font-weight: 800;
    line-height: 1;
    position: absolute;
    right: 10px;
    bottom: -10px;
}
.features-card__text {
    padding: 24px 0 0;
}
.features-card__ttl {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 8px;
}
.features-card__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8em;
}
@media screen and (max-width: 968px) {
    .features {
        margin: 0 0 15vw;
        padding: 20vw 0 30vw;
    }
    .features::before, .features::after {
        height: 12vw;
        width: 12vw;
    }
    .features-inner::before {
        height: 256px;
        right: 0;
        top: -185px;
        width: 174px;
    }
    .featurs-cards {
        gap: 5vw;
    }
    .features-card {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .features {
        margin: 0 0 15vw;
        padding: 30vw 0 35vw;
    }
    .features::before, .features::after {
        height: 12vw;
        width: 12vw;
    }
    .features::before {
        left: 12px;
    }
    .features::after {
        right: 12px;
    }
    .features-inner::before {
        height: 37vw;
        right: 2vw;
        top: -27vw;
        width: 27vw;
    }
    .features-head {
        margin: 0 auto 10vw;
    }
    .features-head p {
        font-size: 6vw;
    }
    .features-head h2 {
        font-size: 9vw;
    }
    .features-card__image::before {
        font-size: 20vw;
        right: 3vw;
        bottom: -3.5vw;
    }
    .features-card__ttl {
        font-size: 5vw;
        margin: 0 0 1vw;
    }
    .features-card__txt {
        font-size: 3.5vw;
    }
}

/* service */
.service {
    background: var(--main-theme-color);
    padding: 80px 0 200px;
    position: relative;
}
.service::before {
    background: url(../../images/new/cloud-top.png) no-repeat;
    background-position: center top;
    background-size: contain;
    content: "";
    height: 9vw;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((9vw - 1px) * -1);
    width: 100%;
}
.service::after {
    background: url(../../images/new/chara3.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 274px;
    position: absolute;
    left: 9%;
    top: -335px;
    width: 110px;
    z-index: 1;
}
.service-inner {
    margin: 0 auto;
    width: var(--main-w);
    max-width: 1120px;
}
.service-head {
    margin: 0 auto 28px;
    text-align: left;
}
.service-head p {
    color: #fff;
    font-family: var(--ft-urban);
    font-size: 32px;
    font-weight: 800;
}
.service-head h2 {
    font-size: 48px;
    font-weight: 700;
}
.service-body {
    position: relative;
}
.service-body::before {
    background: url(../../images/new/chara4.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 392px;
    position: absolute;
    right: 5px;
    top: -225px;
    width: 451px;
    z-index: 1;
}
.service-items {
    position: relative;
    z-index: 1;
}
.service-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
}
.service-item:not(:last-child) {
    border-bottom: 2px solid #fff;
    margin: 0 0 50px;
    padding: 0 0 50px;
}
.service-item__image {
    padding-right: 28px;
    position: relative;
    width: 50%;
}
.service-item:first-child .service-item__image {
    padding-right: 32px;
}
.service-item__img {
    line-height: 0;
    margin: 0 0 0 auto;
    width: 75%;
}
.service-item:first-child .service-item__img {
    width: 100%;
}
.service-item__id {
    color: #fff;
    font-family: var(--ft-urban);
    font-size: 20px;
    font-weight: 600;
    position: absolute;
    right: 0;
    top: 0;
    writing-mode: vertical-rl;
}
.service-item:first-child .service-item__id {
    font-size: 24px;
}
.service-item__name {
    font-size: 28px;
    font-weight: 600;
    margin: 0 0 12px;
}
.service-item:first-child .service-item__name {
    font-size: 32px;
}
.service-item__txt {
    font-size: 16px;
    font-weight: 400;
}
.service-item:first-child .service-item__txt {
    font-size: 20px;
}
.service-item__price {
    color: #fff;
    font-family: var(--ft-urban);
    font-size: 40px;
    font-weight: 600;
    margin-top: 48px;
}
.service-item:first-child .service-item__price {
    font-size: 56px;
}
@media screen and (max-width: 968px) {
    .service {
        padding: 15vw 0 18vw;
    }
    .service::before {
        background-image: url(../../images/new/cloud-top-sp.png);
        height: 18vw;
        top: calc((17vw - 1px) * -1);
    }
    .service::after {
        height: 28vw;
        left: 9%;
        top: -32vw;
        width: 14vw;
    }
    .service-head {
        margin: 0 auto 8vw;
    }
    .service-body::before {
        background-image: url(../../images/new/chara4-sp.png);
        height: 60vw;
        right: 5px;
        top: -39vw;
        width: 50vw;
    }
    .service-item {
        flex-direction: column-reverse;
        align-items: flex-start;
        margin: 0 auto;
        width: 100%;
        max-width: 680px;
    }
    .service-item:not(:last-child) {
        margin: 0 auto 50px;
    }
    .service-item__image {
        margin: 0 0 10px;
        padding-right: 0;
        width: 100%;
    }
    .service-item:first-child .service-item__image {
        padding-right: 0;
    }
    .service-item__img {
        margin: 0 auto;
        width: 100%;
    }
    .service-item__id {
        font-size: 20px;
        margin: 15px 0 0;
        position: static;
        writing-mode: horizontal-tb;
    }
    .service-item__price {
        margin-top: 15px;
    }
}
@media screen and (max-width: 768px) {
    .service {
        padding: 18vw 0 30vw;
    }
    .service::after {
        height: 36vw;
        left: 6vw;
        top: -40vw;
        width: 20vw;
    }
    .service-head {
        margin: 0 0 10vw;
    }
    .service-head p {
        font-size: 6vw;
    }
    .service-head h2 {
        font-size: 9vw;
    }
    .service-body::before {
        height: 85vw;
        right: 0;
        top: -56vw;
        width: 55vw;
    }
    .service-item:not(:last-child) {
        margin: 0 auto 8vw;
        padding: 0 0 8vw;
    }
    .service-item__id,
    .service-item:first-child .service-item__id {
        font-size: 5vw;
    }
    .service-item__name,
    .service-item:first-child .service-item__name {
        font-size: 7vw;
    }
    .service-item__txt,
    .service-item:first-child .service-item__txt {
        font-size: 4vw;
    }
    .service-item__price,
    .service-item:first-child .service-item__price {
        font-size: 12vw;
    }
}

/* results */
.results {
    background: var(--main-theme-color);
    padding: 190px 0 100px;
    position: relative;
}
.results::before {
    background: url(../../images/new/cloud-bottom.png) no-repeat;
    background-position: center top;
    background-size: contain;
    content: "";
    height: 9vw;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc((9vw - 1px) * -1);
    width: 100%;
}
.results-inner {
    margin: 0 auto;
    position: relative;
    width: var(--main-w);
    max-width: 1120px;
}
.results-inner::before,
.results-inner::after {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    display: block;
    height: 117px;
    position: absolute;
    top: 0;
    width: 117px;
}
.results-inner::before {
    background-image: url(../../images/new/symbol-l-t.png);
    left: 0;
}
.results-inner::after {
    background-image: url(../../images/new/symbol-r-t.png);
    right: 0;
}
.symbol {
    background: url(../../images/new/chara5.png) no-repeat, url(../../images/new/chara6.png) no-repeat;
    background-position: left bottom, right bottom 35px;
    background-size: 213px, 263px;
    height: 268px;
    position: absolute;
    left: 0;
    right: 0;
    top: -263px;
    width: 100%;
}
.results-head {
    margin: 0 auto 80px;
    text-align: center;
}
.results-head p {
    color: #fff;
    font-family: var(--ft-urban);
    font-size: 32px;
    font-weight: 800;
}
.results-head h2 {
    font-size: 48px;
    font-weight: 700;
}
.results-body {
    padding: 0 0 180px;
    position: relative;
}
.results-body::before,
.results-body::after {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    display: block;
    height: 117px;
    position: absolute;
    bottom: 0;
    width: 117px;
}
.results-body::before {
    background-image: url(../../images/new/symbol-l-b.png);
    left: 0;
}
.results-body::after {
    background-image: url(../../images/new/symbol-r-b.png);
    right: 0;
}
/* .results-slide.action .results-slide__image::after {
    opacity: 1;
}
.results-slide .results-slide__image::after {
    background: url(../../images/new/tap.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    cursor: pointer;
    display: block;
    height: 167px;
    margin: auto;
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition-duration: .3s;
    width: 222px;
} */
.results-slider {
    overflow-x: auto;
    /* Firefox */
    scrollbar-width: none;
    /* IE, Edge (旧版) */
    -ms-overflow-style: none;
}
.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before, .scroll-hint-shadow-wrap.is-left-scrollable::before,
.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after, .scroll-hint-shadow-wrap.is-right-scrollable::after {
    display: none !important;
}
.results-slider__wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 35px;
    width: max-content;
}
.results-slide {
    width: 439px;
}
.results-slide__image {
    position: relative;
}
.results-slide__text {
    padding: 25px 0 0;
}
.results-slide__img {
    line-height: 0;
}
.results-slide__type {
    background: var(--main-theme-color);
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--ft-urban);
    font-size: 16px;
    font-weight: 700;
    height: 32px;
    margin: auto;
    padding-top: 3px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 120px;
}
.results-slide__type.active {
    background: var(--base-bk);
    color: var(--main-theme-color);
}
.results-slide__date {
    color: #fff;
    font-family: var(--ft-urban);
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 16px
}
.results-slide__ttl {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 8px;
}
.results-slide__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
@media screen and (max-width: 968px) {
    .results {
        padding: 30vw 0 18vw;
    }
    .results::before {
        background-image: url(../../images/new/cloud-bottom-sp.png);
        height: 18vw;
        bottom: calc((17vw - 1px) * -1);
    }
    .symbol {
        background-position: left bottom, right bottom 35px;
        background-size: 20vw, 28vw;
        height: 26vw;
        top: -38vw;
    }
    .results-inner::before, .results-inner::after {
        height: 12vw;
        top: -14vw;
        width: 12vw;
    }
    .results-body {
        padding: 0 0 15vw;
    }
    .results-body::before, .results-body::after {
        height: 12vw;
        bottom: -5vw;
        width: 12vw;
    }
    .results-slider__wrapper {
        gap: 25px;
    }
    .results-slide {
        width: 350px;
    }
}
@media screen and (max-width: 768px) {
    .results {
        padding: 35vw 0 25vw;
    }
    .symbol {
        background-position: left bottom, right bottom 35px;
        background-size: 28vw, 38vw;
        height: 35vw;
        top: -48vw;
    }
    .results-inner::before, .results-inner::after {
        top: -15vw;
    }
    .results-head {
        margin: 0 auto 10vw;
    }
    .results-head p {
        font-size: 6vw;
    }
    .results-head h2 {
        font-size: 9vw;
    }
    .results-body {
        padding: 0 0 15vw;
    }
    .results-body::before, .results-body::after {
        bottom: -6vw;
    }
    .results-slide.action .results-slide__image::after {
        height: 23vw;
        width: 30vw;
    }
    .results-slide__date {
        font-size: 4vw;
        margin: 0 0 3vw;
    }
    .results-slide__ttl {
        font-size: 6vw;
        margin: 0 0 2vw;
    }
    .results-slide__txt {
        font-size: 4vw;
    }
    .results-slide {
        width: 80vw;
    }
}

/* voice */
.voice {
    background: url(../../images/new/bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 15vw 0 300px;
}
.voice-inner {
    margin: 0 auto;
    position: relative;
    width: var(--main-w);
    max-width: 1120px;
}
.voice-inner::after {
    background: url(../../images/new/chara7.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 319px;
    position: absolute;
    right: 15px;
    top: -225px;
    width: 203px;
}
.voice-head {
    margin: 0 auto 80px;
    text-align: left;
}
.voice-head p {
    color: var(--main-theme-color);
    font-family: var(--ft-urban);
    font-size: 32px;
    font-weight: 800;
}
.voice-head h2 {
    font-size: 48px;
    font-weight: 700;
}
.voice-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 82px 56px;
}
.voice-card {
    background: #fff;
    border: 2px dashed var(--base-bk);
    border-radius: 8px;
    padding: 52px 40px 29px;
    width: calc((100% - (82px * 1)) / 2);
}
.voice-card__ttl {
    margin: 0 0 24px;
    padding: 0 0 15px;
    position: relative;
}
.voice-card__ttl::before {
    background: var(--base-bk);
    content: "";
    display: block;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 1;
}
.voice-card__ttl::after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    right: 15px;
    bottom: 0;
    z-index: 0;
}
.voice-card:nth-child(1) .voice-card__ttl::after {
    background-image: url(../../images/new/voice1.png);
    height: 112px;
    width: 111px;
}
.voice-card:nth-child(2) .voice-card__ttl::after {
    background-image: url(../../images/new/voice2.png);
    height: 115px;
    width: 109px;
}
.voice-card:nth-child(3) .voice-card__ttl::after {
    background-image: url(../../images/new/voice3.png);
    height: 115px;
    width: 112px;
}
.voice-card:nth-child(4) .voice-card__ttl::after {
    background-image: url(../../images/new/voice4.png);
    height: 115px;
    width: 112px;
}
.voice-card__ttl p {
    font-size: 20px;
    font-weight: 600;
}
.voice-card__txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8em;
}
.voice-card__name {
    font-size: 16px;
    font-weight: 500;
    margin: 15px 0 0;
}
@media screen and (max-width: 968px) {
    .voice {
        padding: 30vw 0;
    }
    .voice-inner::after {
        height: 35vw;
        right: 5vw;
        top: -22vw;
        width: 22vw;
    }
    .voice-head {
        margin: 0 auto 8vw;
    }
    .voice-cards {
        gap: 5vw;
    }
    .voice-card {
        padding: 30px 30px 25px;
        width: calc((100% - (5vw * 1)) / 2);
    }
    .voice-card:nth-child(1) .voice-card__ttl::after {
        height: 87px;
        width: 86px;
    }
    .voice-card:nth-child(2) .voice-card__ttl::after {
        height: 90px;
        width: 83px;
    }
    .voice-card:nth-child(3) .voice-card__ttl::after,
    .voice-card:nth-child(4) .voice-card__ttl::after {
        height: 90px;
        width: 87px;
    }
}
@media screen and (max-width: 768px) {
    .voice-inner::after {
        height: 40vw;
        right: 5vw;
        top: -20vw;
        width: 26vw;
    }
    .voice-head {
        margin: 0 auto 8vw;
    }
    .voice-head p {
        font-size: 6vw;
    }
    .voice-head h2 {
        font-size: 9vw;
    }
    .voice-cards {
        gap: 7vw;
    }
    .voice-card {
        padding: 5vw 5vw 3.5vw;
        width: 100%;
    }
    .voice-card:nth-child(1) .voice-card__ttl::after {
        height: 16vw;
        width: 16vw;
    }
    .voice-card:nth-child(2) .voice-card__ttl::after {
        height: 17.5vw;
        width: 16vw;
    }
    .voice-card:nth-child(3) .voice-card__ttl::after,
    .voice-card:nth-child(4) .voice-card__ttl::after {
        height: 16.5vw;
        width: 16vw;
    }
    .voice-card__ttl {
        margin: 0 0 4vw;
        padding: 0 0 3vw;
    }
    .voice-card__ttl p {
        font-size: 4.5vw;
    }
    .voice-card__txt {
        font-size: 3.5vw;
    }
    .voice-card__name {
        font-size: 3.5vw;
        margin: 3.5vw 0 0;
    }
}

/* area */
.area {
    padding: 80px 0;
    position: relative;
}
.area::before {
    background: url(../../images/new/cloud-top-w.png) no-repeat;
    background-position: center top;
    background-size: contain;
    content: "";
    height: 9vw;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((9vw - 1px) * -1);
    width: 100%;
}
.area-inner {
    margin: 0 auto;
    width: var(--main-w);
    max-width: 1120px;
}
.area-head {
    margin: 0 auto 80px;
    text-align: left;
}
.area-head p {
    color: var(--main-theme-color);
    font-family: var(--ft-urban);
    font-size: 32px;
    font-weight: 800;
}
.area-head h2 {
    font-size: 48px;
    font-weight: 700;
}
.area-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.area-left {
    width: 48%;
}
.area-right {
    width: 50%;
}
.area-ttl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    margin: 0 0 42px;
}
.area-ttl::before {
    background: url(../../images/new/icon-map.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 28px;
    width: 28px;
}
.area-ttl p {
    font-size: 24px;
    font-weight: 600;
}
.area-information__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.area-information__item:not(:last-child) {
    border-bottom: 1px solid #CBCBCB;
    margin: 0 0 24px;
    padding: 0 0 24px;
}
.area-information__item dt {
    font-size: 16px;
    font-weight: 400;
}
.area-information__item dd {
    font-size: 16px;
    font-weight: 600;
}
@media screen and (max-width: 968px) {
    .area {
        padding: 40vw 0 10vw;
    }
    .area::before {
        background-image: url(../../images/new/cloud-top-w-sp.png);
        height: 18vw;
        top: calc((17vw - 1px) * -1);
    }
    .area-inner::after {
        height: 35vw;
        right: 5vw;
        top: -22vw;
        width: 22vw;
    }
    .area-head {
        position: relative;
    }
    .area-head::before {
        background: url(../../images/new/chara-area.png) no-repeat;
        background-position: center;
        background-size: contain;
        content: "";
        display: block;
        height: 49vw;
        position: absolute;
        right: 0;
        bottom: 0;
        width: 50vw;
    }
    .area-head {
        margin: 0 auto 8vw;
    }
    .area-left {
        margin: 0 0 50px;
        width: 100%;
    }
    .area-right {
        text-align: center;
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .area {
        padding: 22vw 0 12vw;
    }
    .eace-head {
        margin: 0 auto 8vw;
    }
    .area-head p {
        font-size: 6vw;
    }
    .area-head h2 {
        font-size: 9vw;
    }
    .area-left {
        margin: 0 0 10vw;
    }
    .area-ttl {
        gap: 2vw;
        margin: 0 0 8vw;
    }
    .area-ttl::before {
        height: 8vw;
        width: 8vw;
    }
    .area-ttl p {
        font-size: 6.5vw;
    }
    .area-information__item:not(:last-child) {
        margin: 0 0 5vw;
        padding: 0 0 5vw;
    }
    .area-information__item dt {
        font-size: 4vw;
    }
    .area-information__item dd {
        font-size: 4vw;
    }
}

/* information */
.information {
    background: var(--base-bk);
    padding: 120px 0;
}
.information-inner {
    margin: 0 auto;
    width: var(--main-w);
    max-width: 1120px;
}
.information-head {
    margin: 0 auto 80px;
    text-align: left;
}
.information-head p {
    color: var(--main-theme-color);
    font-family: var(--ft-urban);
    font-size: 32px;
    font-weight: 800;
}
.information-head h2 {
    color: #fff;
    font-size: 48px;
    font-weight: 700;
}
.information-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
}
.information-left {
    width: calc(100% - 480px);
}
.information-right {
    width: 440px;
}
.information-list__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.information-list__item:not(:last-child) {
    margin: 0 0 35px;
}
.information-list__item dt {
    border-bottom: 2px solid #fff;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 0 0 14px;
    width: 160px;
}
.information-list__item dd {
    border-bottom: 1px solid #646464;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    padding: 0 0 14px;
    width: calc(100% - 200px);
}
@media screen and (max-width: 968px) {
    .information-left {
        margin: 0 0 50px;
        width: 100%;
    }
    .information-right {
        text-align: center;
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .information {
        padding: 22vw 0;
    }
    .information-head {
        margin: 0 auto 10vw;
    }
    .information-head p {
        font-size: 6vw;
    }
    .information-head h2 {
        font-size: 9vw;
    }
    .information-left {
        margin: 0 0 10vw;
    }
    .information-list__item {
        align-items: stretch;
    }
    .information-list__item:not(:last-child) {
        margin: 0 0 5vw;
    }
    .information-list__item dt {
        font-size: 3.5vw;
        padding: 0 0 3vw;
        width: 24%;
    }
    .information-list__item dd {
        font-size: 3.5vw;
        padding: 0 0 3vw;
        width: calc(100% - 29%);
    }
}

/* photo */
.photo {
    line-height: 0;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


/* =====================================
   Results Slider Arrow
===================================== */

.results-sliders{
    position:relative;
}

/* ドラッグ時 */

@media (min-width:969px){

    .results-slider{
        cursor:grab;
        user-select:none;
    }

    .results-slider.dragging{
        cursor:grabbing;
    }

    .results-slider.dragging,
    .results-slider.dragging *{
        user-select:none;
    }

    .results-slider img{
        -webkit-user-drag:none;
        user-select:none;
    }

}

/* Arrow */

.results-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:56px;
    height:56px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0;

    border:none;
    border-radius:50%;

    background:#000;
    color:#fff;

    box-shadow:0 4px 20px rgba(0,0,0,.15);

    cursor:pointer;
    z-index:30;

    transition:
        background-color .25s ease,
        color .25s ease,
        opacity .25s ease,
        transform .25s ease;
}

.results-arrow span{
    display:block;
    font-size:34px;
    line-height:1;
    transform:translateY(-4px);
    color:#fff;
}

/* Hover */

.results-arrow:hover{
    background:#fff;
    color:#000;
    transform:translateY(-50%) scale(1.08);
}
.results-arrow span:hover{
    color:#000;
}

/* Position */

.results-arrow-prev{
    left:-28px;
}

.results-arrow-next{
    right:-28px;
}

/* Hide */

.results-arrow.is-hidden{
    opacity:0;
    pointer-events:none;
}

/* SP */

.results-arrow{
    display:none;
}

@media screen and (min-width:969px){
    .results-arrow{
        display:flex;
    }
}