/* --------------------
 About
-------------------- */
:root {
    --color-blue-steel: #6a8ac1;
    --color-blue-steel-rgb: 106, 138, 193;
    --color-blue-sky: #8ea8d5;
    --color-blue-sky-rgb: 142, 168, 213;
    --color-blue-pale: #b8caea;
    --color-blue-pale-rgb: 184, 202, 234;
    --color-purple-vivid: #9f00b8;
    --color-purple-vivid-rgb: 159, 0, 184;
    --color-gray-mid: #707070;
    --color-gray-mid-rgb: 112, 112, 112;
    --color-gray-light: #d9d9d9;
    --color-gray-light-rgb: 217, 217, 217;
    --color-gray-lighter: #e5e5e5;
    --color-gray-lighter-rgb: 229, 229, 229;
    --color-gray-offwhite: #f5f5f5;
    --color-gray-offwhite-rgb: 245, 245, 245;
    --color-gray-verylight: #f8f8f8;
    --color-gray-verylight-rgb: 248, 248, 248;
    --color-red-soft: #e37979;
    --color-red-soft-rgb: 227, 121, 121;
    --color-pink-pastel: #f2cdcd;
    --color-pink-pastel-rgb: 242, 205, 205;
    --color-pink-pale: #e59e9e;
    --color-pink-pale-rgb: 229, 158, 158;
    --color-white: #ffffff;
    --color-white-rgb: 255, 255, 255;
}

img {
    height: auto;
}

.target {
    background-color: var(--color-gray-verylight);
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .target {
        padding: 5.5555555556vw 0;
    }
}

.target-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .target-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.target__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .target__title {
        margin: 0 0 2.9166666667vw;
        padding: 2.2222222222vw 0 0;
    }
}

.target__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .target__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.target__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .target__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.target__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .target__title__en {
        font-size: 1.1666666667rem;
    }
}

.target__content {
    margin: 0 0 7.6923076923vw;
}

@media (min-width: 769px) {
    .target__content {
        margin: 0 0 2.0833333333vw;
    }
}

.target__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .target__content p {
        font-size: 1.3333333333rem;
        text-align: center;
    }
}

.target__main {
    background-color: var(--color-white);
    border-radius: 5.1282051282vw;
    margin: 0 0 10.2564102564vw;
    padding: 7.6923076923vw 5.1282051282vw;
}

@media (min-width: 769px) {
    .target__main {
        border-radius: 2.7777777778vw;
        margin: 0 0 4.1666666667vw;
        padding: 2.7777777778vw 4.1666666667vw;
    }
}

.target__main__title {
    border-bottom: 0.2564102564vw solid var(--color-gray-lighter);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin: 0 0 5.1282051282vw;
    padding: 0 0 3.0769230769vw;
    text-align: center;
}

@media (min-width: 769px) {
    .target__main__title {
        border-bottom-width: 0.0694444444vw;
        font-size: 1.6666666667rem;
        margin: 0 0 1.3888888889vw;
        padding: 0 0 0.8333333333vw;
    }
}

.target__main__list {
    align-items: stretch;
    display: flex;
    flex-flow: row wrap;
    gap: 0 5.1282051282vw;
    justify-content: space-between;
    margin: 0 0 7.6923076923vw;
}

@media (min-width: 769px) {
    .target__main__list {
        flex-wrap: nowrap;
        gap: 1.3888888889vw;
        margin: 0 0 2.0833333333vw;
    }
}

.target__main__list__item {
    flex: 0 0 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (min-width: 769px) {
    .target__main__list__item {
        flex: 0 0 calc(33.33333% - 0.92593vw);
    }
}

.target__main__list__item > li {
    font-size: 1rem;
    font-weight: 400;
    line-height: 2;
    margin: 0;
    padding: 0 0 0 5.1282051282vw;
    position: relative;
}

@media (min-width: 769px) {
    .target__main__list__item > li {
        font-size: 1.5rem;
        padding: 0 0 0 1.3888888889vw;
    }
}

.target__main__list__item > li:before {
    background-color: var(--color-pink-pale);
    border-radius: 50%;
    content: "";
    display: block;
    height: 2.5641025641vw;
    left: 0;
    position: absolute;
    top: 2.5641025641vw;
    width: 2.5641025641vw;
}

@media (min-width: 769px) {
    .target__main__list__item > li:before {
        height: 0.6944444444vw;
        top: 0.8333333333vw;
        width: 0.6944444444vw;
    }
}

.target__main__note p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .target__main__note p {
        font-size: 1.3333333333rem;
        text-align: center;
    }
}

.target__const {
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 769px) {
    .target__const {
        max-width: 60vw;
    }
}

.target__const__title {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin: 0 0 5.1282051282vw;
    text-align: center;
}

@media (min-width: 769px) {
    .target__const__title {
        font-size: 1.8333333333rem;
        margin: 0 0 1.3888888889vw;
    }
}

.target__const__main {
    align-items: stretch;
    background-color: var(--color-white);
    border-radius: 5.1282051282vw;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    padding: 3.0769230769vw 2.0512820513vw;
}

@media (min-width: 769px) {
    .target__const__main {
        border-radius: 2.7777777778vw;
        flex-wrap: nowrap;
        justify-content: space-between;
        padding: 1.3888888889vw 2.7777777778vw;
    }
}

.target__const__main__item {
    flex: 0 0 14.2857142857%;
}

@media (min-width: 769px) {
    .target__const__main__item {
        flex: 0 0 14.2857142857%;
    }
}

.target__const__main__item__title {
    border-bottom: 0.2564102564vw solid var(--color-gray-lighter);
    border-right: 0.2564102564vw solid var(--color-gray-lighter);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
    padding: 2.0512820513vw 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .target__const__main__item__title {
        border-bottom-width: 0.0694444444vw;
        border-right-width: 0.0694444444vw;
        font-size: 1.3333333333rem;
        padding: 1.25vw 0 1.25vw;
    }
}

.target__const__main__item__icon {
    align-items: center;
    border-right: 0.2564102564vw solid var(--color-gray-lighter);
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    padding: 3.0769230769vw 0 3.0769230769vw;
    text-align: center;
}

@media (min-width: 769px) {
    .target__const__main__item__icon {
        border-right-width: 0.0694444444vw;
        padding: 1.25vw 0 1.25vw;
    }
}

.target__const__main__item__icon img {
    width: 4.6153846154vw;
}

@media (min-width: 769px) {
    .target__const__main__item__icon img {
        width: 1.5277777778vw;
    }
}

.target__const__main__item:last-child .target__const__main__item__title,
.target__const__main__item:last-child .target__const__main__item__icon {
    border-right: none;
}

.service {
    background-color: var(--color-gray-verylight);
    padding: 15.3846153846vw 0;
}

@media (min-width: 769px) {
    .service {
        padding: 6.9444444444vw 0;
    }
}

.service-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .service-container {
        max-width: 82.3611111111vw;
        padding: 0;
    }
}

.service__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .service__title {
        margin: 0 0 4.1666666667vw;
        padding: 2.2222222222vw 0 0;
    }
}

.service__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .service__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.service__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .service__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.service__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .service__title__en {
        font-size: 1.1666666667rem;
    }
}

.service__content {
    margin: 0 0 15.3846153846vw;
}

@media (min-width: 769px) {
    .service__content {
        margin: 0 0 4.1666666667vw;
    }
}

.service__content p {
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0 0 1.5em;
    text-align: center;
}

@media (min-width: 769px) {
    .service__content p {
        font-size: 1.3333333333rem;
    }
}

.service__content p:last-child {
    margin-bottom: 0;
}

.service__list {
    align-items: stretch;
    display: flex;
    flex-flow: row wrap;
    gap: 10.2564102564vw;
    justify-content: space-between;
}

@media (min-width: 769px) {
    .service__list {
        flex-wrap: nowrap;
        gap: 4.1666666667vw;
    }
}

.service__list__item {
    background-color: var(--color-white);
    border-radius: 5.1282051282vw;
    flex: 0 0 100%;
    padding: 7.6923076923vw 5.1282051282vw;
}

@media (min-width: 769px) {
    .service__list__item {
        border-radius: 2.7777777778vw;
        flex: 0 0 calc(50% - 2.08333vw);
        padding: 2.7777777778vw 2.7777777778vw;
    }
}

.service__list__item__title {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin: 0 0 7.6923076923vw;
    padding: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .service__list__item__title {
        font-size: 2.3333333333rem;
        margin: 0 0 2.7777777778vw;
    }
}

.service__list__item__fig {
    margin: 0 0 5.1282051282vw;
}

@media (min-width: 769px) {
    .service__list__item__fig {
        margin: 0 0 2.0833333333vw;
    }
}

.service__list__item__fig img {
    border-radius: 2.5641025641vw;
    width: 100%;
}

@media (min-width: 769px) {
    .service__list__item__fig img {
        border-radius: 1.3888888889vw;
    }
}

.service__list__item__content {
    margin: 0 0 7.6923076923vw;
}

@media (min-width: 769px) {
    .service__list__item__content {
        margin: 0 0 2.0833333333vw;
    }
}

.service__list__item__content p {
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0 0 1.5em;
}

@media (min-width: 769px) {
    .service__list__item__content p {
        font-size: 1.3333333333rem;
    }
}

.service__list__item__content p:last-child {
    margin-bottom: 0;
}

.service__list__item__action a {
    align-items: center;
    border: 1px solid var(--color-gray-mid);
    border-radius: 7.6923076923vw;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 400;
    height: 13.8461538462vw;
    justify-content: center;
    margin: 0 auto;
    min-width: 61.5384615385vw;
    padding: 0 11.5384615385vw;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .service__list__item__action a {
        border-radius: 2.0833333333vw;
        font-size: 1.6666666667rem;
        height: 4.1666666667vw;
        min-width: 20.4861111111vw;
        padding: 0 3.125vw;
    }
}

.service__list__item__action a:after {
    background-color: var(--color-gray-mid);
    bottom: 0;
    content: "";
    display: block;
    height: 5.1282051282vw;
    margin: auto;
    -webkit-mask-image: url(../../img/common/icon-arrow-gray.png);
    mask-image: url(../../img/common/icon-arrow-gray.png);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: 5.1282051282vw;
    top: 0;
    width: 5.1282051282vw;
}

@media (min-width: 769px) {
    .service__list__item__action a:after {
        height: 1.3888888889vw;
        right: 1.3888888889vw;
        width: 1.3888888889vw;
    }
}

.service__list__item__action a[href^="javascript:"] {
    opacity: 0.3;
    pointer-events: none;
}

.flow {
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .flow {
        padding: 5.5555555556vw 0;
    }
}

.flow-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .flow-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.flow__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .flow__title {
        margin: 0 0 2.9166666667vw;
        padding: 2.2222222222vw 0 0;
    }
}

.flow__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .flow__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.flow__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .flow__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.flow__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .flow__title__en {
        font-size: 1.1666666667rem;
    }
}

.flow__content {
    margin: 0 0 10.2564102564vw;
}

@media (min-width: 769px) {
    .flow__content {
        margin: 0 0 4.1666666667vw;
    }
}

.flow__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .flow__content p {
        font-size: 1.3333333333rem;
        text-align: center;
    }
}

.flow__main__item {
    align-items: flex-start;
    background-color: var(--color-gray-verylight);
    border-radius: 5.1282051282vw;
    display: flex;
    flex-flow: row wrap;
    gap: 7.6923076923vw;
    margin: 0 0 7.6923076923vw;
    overflow: hidden;
    padding: 5.1282051282vw;
}

@media (min-width: 769px) {
    .flow__main__item {
        border-radius: 1.3888888889vw;
        flex-wrap: nowrap;
        gap: 3.4722222222vw;
        margin: 0 0 2.0833333333vw;
        padding: 0;
    }
}

.flow__main__item:last-child {
    margin-bottom: 0;
}

.flow__main__item__fig {
    flex: 0 0 100%;
    text-align: center;
}

@media (min-width: 769px) {
    .flow__main__item__fig {
        flex: 0 0 18.0555555556vw;
        min-height: 16.4583333333vw;
    }
}

.flow__main__item__fig img {
    border-radius: 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .flow__main__item__fig img {
        border-radius: 0;
    }
}

.flow__main__item__main {
    flex: 0 0 100%;
    padding: 0;
}

@media (min-width: 769px) {
    .flow__main__item__main {
        flex: 1 1 auto;
        padding: 3.125vw 4.1666666667vw 2.0833333333vw 0;
    }
}

.flow__main__item__main__title {
    align-items: center;
    border-bottom: 0.2564102564vw solid var(--color-gray-light);
    display: flex;
    flex-flow: row nowrap;
    gap: 4.1025641026vw;
    justify-content: flex-start;
    margin: 0 0 4.1025641026vw;
    padding: 0 0 4.1025641026vw;
}

@media (min-width: 769px) {
    .flow__main__item__main__title {
        align-items: flex-start;
        border-bottom-width: 0.0694444444vw;
        gap: 1.1111111111vw;
        margin: 0 0 1.3888888889vw;
        padding: 0 0 0.5555555556vw;
    }
}

.flow__main__item__main__title__number {
    align-items: center;
    background-color: var(--color-pink-pale);
    border-radius: 4.1025641026vw;
    display: flex;
    flex: 0 0 auto;
    flex-flow: row nowrap;
    font-size: 0.625rem;
    gap: 0.5128205128vw;
    justify-content: flex-start;
    line-height: 1.2;
    margin: 0;
    padding: 1.0256410256vw 2.5641025641vw;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .flow__main__item__main__title__number {
        border-radius: 1.1111111111vw;
        font-size: 0.8333333333rem;
        gap: 0.1388888889vw;
        padding: 0.2777777778vw 0.6944444444vw;
    }
}

.flow__main__item__main__title__number span {
    color: var(--color-white);
    display: block;
    font-family: var(--ff-tsukushi-b);
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 769px) {
    .flow__main__item__main__title__number span {
        font-size: 1rem;
    }
}

.flow__main__item__main__title__number em {
    color: var(--color-white);
    display: block;
    font-family: var(--ff-tsukushi-b);
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 769px) {
    .flow__main__item__main__title__number em {
        font-size: 1.5rem;
    }
}

.flow__main__item__main__title__text {
    flex: 1 1 auto;
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .flow__main__item__main__title__text {
        font-size: 2.1666666667rem;
        transform: translateY(-0.15em);
    }
}

.flow__main__item__main__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .flow__main__item__main__content p {
        font-size: 1.3333333333rem;
    }
}

.price {
    background-color: var(--color-gray-verylight);
    padding: 20.5128205128vw 0 15.3846153846vw;
}

@media (min-width: 769px) {
    .price {
        padding: 5.5555555556vw 0;
    }
}

.price-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .price-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.price__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .price__title {
        margin: 0 0 2.9166666667vw;
        padding: 2.2222222222vw 0 0;
    }
}

.price__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .price__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.price__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .price__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.price__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .price__title__en {
        font-size: 1.1666666667rem;
    }
}

.price__content {
    margin: 0 0 10.2564102564vw;
}

@media (min-width: 769px) {
    .price__content {
        margin: 0 0 4.1666666667vw;
    }
}

.price__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .price__content p {
        font-size: 1.3333333333rem;
        text-align: center;
    }
}

.price__main {
    align-items: stretch;
    background-color: var(--color-white);
    border-radius: 5.1282051282vw;
    display: flex;
    flex-flow: row wrap;
    gap: 23.0769230769vw;
    margin: 0 0 7.6923076923vw;
    padding: 7.6923076923vw 5.1282051282vw;
    position: relative;
}

@media (min-width: 769px) {
    .price__main {
        border-radius: 1.3888888889vw;
        flex-wrap: nowrap;
        gap: 6.25vw;
        margin: 0 0 2.0833333333vw;
        padding: 3.4722222222vw 7.7777777778vw 3.4722222222vw 7.7777777778vw;
    }
}

.price__main__item {
    align-items: stretch;
    display: flex;
    flex: 0 0 100%;
    flex-flow: column nowrap;
    justify-content: space-between;
    position: relative;
}

@media (min-width: 769px) {
    .price__main__item {
        flex: 0 0 calc(50% - 3.125vw);
    }
}

.price__main__item:after {
    background-image: url(../images/pages/residences//itonomori//itonomori-detail-price-icon-plus.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: -14.7435897436vw;
    content: "";
    display: block;
    height: 6.4102564103vw;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: auto;
    width: 6.4102564103vw;
}

@media (min-width: 769px) {
    .price__main__item:after {
        display: none;
    }
}

.price__main__item__title {
    align-items: center;
    background-color: var(--color-blue-sky);
    border-radius: 4.1025641026vw;
    color: var(--color-white);
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--ff-koburina-w6);
    font-size: 1.25rem;
    font-weight: 400;
    height: 17.9487179487vw;
    justify-content: center;
    letter-spacing: 0.02em;
    line-height: 1.3;
    margin: 0 0 4.6153846154vw;
    position: relative;
    text-align: center;
    width: 100%;
}

@media (min-width: 769px) {
    .price__main__item__title {
        border-radius: 1.1111111111vw;
        font-size: 2rem;
        height: 10.4166666667vw;
        margin: 0 0 1.25vw;
    }
}

.price__main__item__title:after {
    background-image: url(../images/pages/residences//itonomori//itonomori-detail-price-icon-plus.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    display: none;
    height: 1.7361111111vw;
    left: auto;
    margin: auto;
    position: absolute;
    right: -3.9930555556vw;
    top: 0;
    width: 1.7361111111vw;
}

@media (min-width: 769px) {
    .price__main__item__title:after {
        display: block;
    }
}

.price__main__item__detail {
    width: 100%;
}

.price__main__item__detail__table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0 auto;
    table-layout: fixed;
    width: 90%;
}

@media (min-width: 769px) {
    .price__main__item__detail__table {
        width: 100%;
    }
}

.price__main__item__detail__table > tbody > tr > th, .price__main__item__detail__table > tbody > tr > td {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
    padding: 1.5384615385vw 0;
    text-align: center;
    vertical-align: middle;
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tbody > tr > th, .price__main__item__detail__table > tbody > tr > td {
        font-size: 1.5rem;
        padding: 0.4166666667vw 0;
    }
}

.price__main__item__detail__table > tbody > tr > th:first-child, .price__main__item__detail__table > tbody > tr > td:first-child {
    padding-left: 7.1794871795vw;
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tbody > tr > th:first-child, .price__main__item__detail__table > tbody > tr > td:first-child {
        padding-left: 1.9444444444vw;
    }
}

.price__main__item__detail__table > tbody > tr > th:last-child, .price__main__item__detail__table > tbody > tr > td:last-child {
    padding-right: 7.1794871795vw;
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tbody > tr > th:last-child, .price__main__item__detail__table > tbody > tr > td:last-child {
        padding-right: 1.9444444444vw;
    }
}

.price__main__item__detail__table > tbody > tr > th {
    font-family: var(--ff-koburina-w6);
}

.price__main__item__detail__table > tbody > tr:first-child > th, .price__main__item__detail__table > tbody > tr:first-child > td {
    padding-top: 0;
}

.price__main__item__detail__table > tbody > tr:last-child > th, .price__main__item__detail__table > tbody > tr:last-child > td {
    padding-bottom: 3.0769230769vw;
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tbody > tr:last-child > th, .price__main__item__detail__table > tbody > tr:last-child > td {
        padding-bottom: 1.25vw;
    }
}

.price__main__item__detail__table > tfoot {
    border-top: 0.5128205128vw solid var(--color-blue-sky);
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tfoot {
        border-top-width: 0.1388888889vw;
    }
}

.price__main__item__detail__table > tfoot > tr > th, .price__main__item__detail__table > tfoot > tr > td {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
    padding: 3.0769230769vw 0 0;
    text-align: center;
    vertical-align: middle;
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tfoot > tr > th, .price__main__item__detail__table > tfoot > tr > td {
        font-size: 1.5rem;
        padding: 1.25vw 0 0;
    }
}

.price__main__item__detail__table > tfoot > tr > th:first-child, .price__main__item__detail__table > tfoot > tr > td:first-child {
    padding-left: 7.1794871795vw;
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tfoot > tr > th:first-child, .price__main__item__detail__table > tfoot > tr > td:first-child {
        padding-left: 1.9444444444vw;
    }
}

.price__main__item__detail__table > tfoot > tr > th:last-child, .price__main__item__detail__table > tfoot > tr > td:last-child {
    padding-right: 7.1794871795vw;
}

@media (min-width: 769px) {
    .price__main__item__detail__table > tfoot > tr > th:last-child, .price__main__item__detail__table > tfoot > tr > td:last-child {
        padding-right: 1.9444444444vw;
    }
}

.price__main__item__detail__table > tfoot > tr > th {
    font-family: var(--ff-koburina-w6);
}

.price__main__item__detail__case {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 5.1282051282vw;
    justify-content: center;
    margin: 0 0 4.1025641026vw;
}

@media (min-width: 769px) {
    .price__main__item__detail__case {
        gap: 1.3888888889vw;
        margin: 0 0 0.6944444444vw;
    }
}

.price__main__item__detail__case__title {
    align-items: center;
    background-color: var(--color-gray-lighter);
    border-radius: 3.8461538462vw;
    display: flex;
    flex: 0 0 19.2307692308vw;
    flex-flow: row nowrap;
    font-size: 0.875rem;
    font-weight: 400;
    justify-content: center;
    line-height: 1.2;
    padding: 1.0256410256vw;
    text-align: center;
}

@media (min-width: 769px) {
    .price__main__item__detail__case__title {
        border-radius: 1.1458333333vw;
        flex: 0 0 5.2083333333vw;
        font-size: 1.25rem;
        padding: 0.2777777778vw;
    }
}

.price__main__item__detail__case__content {
    flex: 0 1 auto;
}

.price__main__item__detail__case__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

@media (min-width: 769px) {
    .price__main__item__detail__case__content p {
        font-size: 1.3333333333rem;
    }
}

.price__main__item:last-child:after {
    display: none;
}

.price__main__item:last-child .price__main__item__title:after {
    display: none;
}

.price__note {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: fit-content;
}

.price__note p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .price__note p {
        font-size: 1.3333333333rem;
    }
}

.action {
    background-color: var(--color-gray-verylight);
    padding: 0 0 20.5128205128vw;
}

@media (min-width: 769px) {
    .action {
        padding: 0 0 5.5555555556vw;
    }
}

.action-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .action-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.action a {
    align-items: center;
    border: 1px solid var(--color-gray-mid);
    border-radius: 7.6923076923vw;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 400;
    height: 13.8461538462vw;
    justify-content: center;
    margin: 0 auto;
    min-width: 61.5384615385vw;
    padding: 0 11.5384615385vw;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .action a {
        border-radius: 2.0833333333vw;
        font-size: 1.6666666667rem;
        height: 4.1666666667vw;
        min-width: 20.4861111111vw;
        padding: 0 3.125vw;
    }
}

.action a:after {
    background-color: var(--color-gray-mid);
    bottom: 0;
    content: "";
    display: block;
    height: 5.1282051282vw;
    margin: auto;
    -webkit-mask-image: url(../../img/common/icon-arrow-gray.png);
    mask-image: url(../../img/common/icon-arrow-gray.png);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: 5.1282051282vw;
    top: 0;
    width: 5.1282051282vw;
}

@media (min-width: 769px) {
    .action a:after {
        height: 1.3888888889vw;
        right: 1.3888888889vw;
        width: 1.3888888889vw;
    }
}

.action a[href^="javascript:"] {
    opacity: 0.3;
    pointer-events: none;
}

.faq {
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .faq {
        padding: 5.5555555556vw 0;
    }
}

.faq-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .faq-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.faq__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .faq__title {
        margin: 0 0 4.1666666667vw;
        padding: 2.2222222222vw 0 0;
    }
}

.faq__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .faq__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.faq__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .faq__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.faq__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .faq__title__en {
        font-size: 1.1666666667rem;
    }
}

.faq__main__item {
    background-color: var(--color-white);
    border: 0.5128205128vw solid var(--color-gray-lighter);
    border-radius: 5.1282051282vw;
    margin: 0 0 5.1282051282vw;
    overflow: hidden;
}

@media (min-width: 769px) {
    .faq__main__item {
        border: 0.1388888889vw solid var(--color-gray-lighter);
        border-radius: 1.3888888889vw;
        margin: 0 0 2.2222222222vw;
    }
}

.faq__main__item:last-child {
    margin-bottom: 0;
}

.faq__main__item__head {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-flow: row wrap;
    gap: 3.0769230769vw;
    justify-content: flex-start;
    padding: 5.1282051282vw 3.0769230769vw;
    position: relative;
    transition: background-color var(--duration) var(--cubic) 0s;
}

@media (min-width: 769px) {
    .faq__main__item__head {
        flex-wrap: nowrap;
        gap: 0.8333333333vw;
        padding: 1.6666666667vw 2.0833333333vw;
    }
}

.faq__main__item__head__title {
    flex: 0 0 100%;
    font-family: var(--ff-tsukushi-b);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin: 0;
    padding: 0 0 0 8.2051282051vw;
    position: relative;
    transition: color var(--duration) var(--cubic) 0s;
}

@media (min-width: 769px) {
    .faq__main__item__head__title {
        flex: 1 1 auto;
        font-size: 1.6666666667rem;
        padding: 0 0 0 3.0555555556vw;
    }
}

.faq__main__item__head__title:before {
    background-color: var(--color-red-soft);
    bottom: 0;
    content: "";
    display: block;
    height: 5.1282051282vw;
    left: 0;
    margin: auto;
    -webkit-mask-image: url(../images/pages/residences/itonomori/itonomori-detail-faq-icon-q.svg);
    mask-image: url(../images/pages/residences/itonomori/itonomori-detail-faq-icon-q.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    top: 0;
    transition: background-color var(--duration) var(--cubic) 0s;
    width: 5.1282051282vw;
}

@media (min-width: 769px) {
    .faq__main__item__head__title:before {
        height: 2.0833333333vw;
        width: 2.0833333333vw;
    }
}

.faq__main__item__head__trigger {
    color: var(--color-red-soft);
    flex: 0 0 20.5128205128vw;
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 0 auto;
    padding: 0 9.2307692308vw 0 0;
    position: relative;
    text-align: right;
    transition: color var(--duration) var(--cubic) 0s;
}

@media (min-width: 769px) {
    .faq__main__item__head__trigger {
        flex: 0 0 7.6388888889vw;
        font-size: 1.3333333333rem;
        margin: 0;
        padding: 0 3.4722222222vw 0 0;
    }
}

.faq__main__item__head__trigger span {
    display: block;
}

.faq__main__item__head__trigger:before {
    background-color: var(--color-pink-pale);
    background-image: url(../images/pages/residences/itonomori/itonomori-detail-faq-icon-plus.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 3.5897435897vw 3.5897435897vw;
    border-radius: 50%;
    bottom: 0;
    content: "";
    display: block;
    height: 7.1794871795vw;
    left: auto;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    transition: transform var(--duration) var(--cubic) 0s, background-color var(--duration) var(--cubic) 0s;
    width: 7.1794871795vw;
}

@media (min-width: 769px) {
    .faq__main__item__head__trigger:before {
        background-size: 1.3888888889vw 1.3888888889vw;
        height: 2.7777777778vw;
        width: 2.7777777778vw;
    }
}

.faq__main__item__head__trigger:after {
    background-image: url(../images/pages/residences/itonomori/itonomori-detail-faq-icon-minus.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 3.5897435897vw 3.5897435897vw;
    bottom: 0;
    content: "";
    display: block;
    height: 7.1794871795vw;
    left: auto;
    margin: auto;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: transform var(--duration) var(--cubic) 0s, opacity var(--duration) var(--cubic) 0s;
    width: 7.1794871795vw;
}

@media (min-width: 769px) {
    .faq__main__item__head__trigger:after {
        background-size: 1.3888888889vw 1.3888888889vw;
        height: 2.7777777778vw;
        width: 2.7777777778vw;
    }
}

.faq__main__item__head:focus {
    background-color: rgba(var(--color-red-soft-rgb), 0.2);
}

@media (hover: hover) and (pointer: fine) {
    .faq__main__item__head:hover {
        background-color: rgba(var(--color-red-soft-rgb), 0.2);
    }
}

.faq__main__item__contents {
    display: none;
    padding: 5.1282051282vw 3.0769230769vw;
    position: relative;
}

@media (min-width: 769px) {
    .faq__main__item__contents {
        padding: 2.5vw 2.0833333333vw;
    }
}

.faq__main__item__contents__content {
    padding: 0 0 0 8.2051282051vw;
    position: relative;
}

@media (min-width: 769px) {
    .faq__main__item__contents__content {
        padding: 0 0 0 3.0555555556vw;
    }
}

.faq__main__item__contents__content:before {
    background-image: url(../images/pages/residences/itonomori/itonomori-detail-faq-icon-a.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: auto;
    content: "";
    display: block;
    height: 4.6153846154vw;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 4.6153846154vw;
}

@media (min-width: 769px) {
    .faq__main__item__contents__content:before {
        height: 1.8055555556vw;
        width: 1.8055555556vw;
    }
}

.faq__main__item__contents__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 0 1.7em;
}

@media (min-width: 769px) {
    .faq__main__item__contents__content p {
        font-size: 1.3333333333rem;
    }
}

.faq__main__item__contents__content p:last-child {
    margin-bottom: 0;
}

.faq__main__item.-active .faq__main__item__head {
    background-color: var(--color-pink-pale);
    color: var(--color-white);
}

.faq__main__item.-active .faq__main__item__head__title:before {
    background-color: var(--color-white);
}

.faq__main__item.-active .faq__main__item__head__trigger {
    color: var(--color-white);
}

.faq__main__item.-active .faq__main__item__head__trigger:before {
    background-color: var(--color-white);
}

.faq__main__item.-active .faq__main__item__head__trigger:after {
    opacity: 1;
}