/* メインビジュアル */

.main-visual .wrapper {
    max-width: 1275px;
    margin: 0 auto;
}

.main-visual .content-block {
    display: flex;
    justify-content: center;
    gap: 50px;
}

.main-visual .content-block .left .text-box {
    max-width: 472px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}

.main-visual .content-block .left .cta-box {
    margin-top: 50px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.main-visual .content-block .left .cta-box .cta-text {
    width: 375px;
    text-align: center;
    display: inline-block;
    position: relative;
}

.main-visual .content-block .left .cta-box .cta-text::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 31px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="33" viewBox="0 0 14 33" fill="none"><path d="M13 32L1 1" stroke="%234E4E4E" stroke-linecap="round"/></svg>') no-repeat center center / contain;
}

.main-visual .content-block .left .cta-box .cta-text::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 31px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="33" viewBox="0 0 14 33" fill="none"><path d="M1 32L13 1" stroke="%234E4E4E" stroke-linecap="round"/></svg>') no-repeat center center / contain;
}

.main-visual .content-block .left .cta-box .button-red {
    width: 375px;
}

.main-visual .content-block .right {
    flex-shrink: 0;
}

.main-visual .content-block .right .image-box {
    max-width: 703px;
}

@media screen and (max-width: 767px) {
    .main-visual .content-block {
        flex-direction: column;
    }

    .main-visual .content-block .left .cta-box .cta-text,
    .main-visual .content-block .left .cta-box .button-red {
        width: 100%;
    }

    .main-visual .content-block .left .cta-box .cta-text::before,
    .main-visual .content-block .left .cta-box .cta-text::after {
        width: 20px;
        height: 42px;
    }
}

/* とは */

.about {
    background: #f2f2f2;
}

.about .hedding-block p {
    margin-top: 30px;
}

.about .content-block {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}

.about .content-block .item {
    display: flex;
    justify-content: center;
    gap: 50px;
}

.about .content-block .item .text-box {
    max-width: 462px;
}

.about .content-block .item .text-box p {
    margin-top: 30px;
}

.about .content-block .item .image-box {
    max-width: 452px;
    flex-shrink: 0;
}

@media screen and (max-width: 767px) {
    .about .content-block {
        gap: 4rem;
    }

    .about .content-block .item {
        flex-direction: column;
        gap: 1rem;
    }

    .about .content-block .item:last-child {
        flex-direction: column-reverse;
    }
}

/* 特長 */

.feature .content-block {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}

.feature .content-block .item {
    display: flex;
    justify-content: center;
    gap: 48px;
}

.feature .content-block .item .text-box {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    min-width: 0;
}

.feature .content-block .item .text-box .point {
    color: #c02;
}

.feature .content-block .item .text-box p strong {
    font-size: 15px;
    font-weight: 700;
}

.feature .content-block .item .image-box {
    max-width: 393px;
    flex-shrink: 0;
}

.feature .button-block {
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .feature .content-block {
        gap: 4rem;
    }

    .feature .content-block .item {
        flex-direction: column;
        gap: 1rem;
    }
}

/* その他の特長 */

.other-feature .content-block ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 45px;
    row-gap: 50px;
}

.other-feature .content-block ul li {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-content: baseline;
}

.other-feature .content-block ul li .image-box {
    max-width: 460px;
}

@media screen and (max-width: 767px) {
    .other-feature .content-block ul {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .other-feature .content-block ul li {
        gap: 1rem;
    }
}

/* 流れ */

.service-flow-video .hedding-block p {
    margin-top: 30px;
}

.service-flow-video .content-block .video-box {
    max-width: 460px;
    margin: 0 auto;
    text-align: center;
}

.service-flow-video .content-block .video-box iframe {
    width: 100%;
    aspect-ratio: 452 / 255; /* 約1.77:1 */
    height: auto;
    border: 0;
}


/* 活用例 */

.use-case {
    padding-top: 0;
}

.use-case .content-block .list {
    margin-top: 30px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

.use-case .content-block .list .item {
    border: 1px #b1c4c9 solid;
}

.use-case .content-block .list .item .head {
    padding: 20px 30px;
    background-color: #f2f2f2;
}

.use-case .content-block .list .item .body {
    padding: 50px 40px;
    background: #fff;
}

.use-case .content-block .list .item .body .title {
    font-size: var(--font-size-h5);
    font-weight: var(--font-weight-h5);
    line-height: var(--line-height-h5);
}

.use-case .content-block .list .item .body .text {
    font-size: var(--font-size-p2);
    font-weight: var(--font-weight-p2);
    line-height: var(--line-height-p2);
    letter-spacing: var(--letter-spacing-p2);
}

.use-case .content-block .list .item .body .lead .title {
    padding-left: 0;
    margin-bottom: 20px;
}

.use-case .content-block .list .item .body .lead .title span {
    padding-left: 61px;
}

.use-case .content-block .list .item .body .lead p,
.use-case .content-block .list .item .body .lead ul {
    padding-left: 61px;
}

.use-case .content-block .list .item .body .lead ul li {
    padding-left: 20px;
    position: relative;
}

.use-case .content-block .list .item .body .lead ul li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

.use-case .content-block .list .item .body .lead .link-box {
    text-align: right;
}

.use-case .content-block .list .item .body .description {
    display: none;
}

.use-case .content-block .list .item .body .description .title {
    margin-top: 50px;
}

.use-case .content-block .list .item .body .description .text {
    margin-top: 20px;
    padding-left: 61px;
}

.use-case .content-block .list .item .body .description dl {
    display: flex;
    flex-direction: column;
}

.use-case .content-block .list .item .body .description dl div {
    display: flex;
    align-items: flex-start;
}

.use-case .content-block .list .item .body .description dl div dt {
    position: relative;
}

.use-case .content-block .list .item .body .description dl div dt::after {
    content: "：";
}

.use-case .content-block .list .item .body .description dl div dd {
    margin: 0;
    flex: 1;
}

.use-case .content-block .list .item .body .description .image-box {
    margin-top: 30px;
    text-align: center;
}

.use-case .content-block .list .item .body .button-box {
    margin-top: 50px;
}

.use-case .content-block .list .item .body .button-box .button {
    margin: 0 auto;
    width: 370px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 3px solid #ddd;
    border-radius: 30px;
    color: #333;
    font-size: 18px;
    text-decoration: none;
    cursor: pointer;
}

.use-case .content-block .list .item .body .button-box .button:hover {
    opacity: .8;
}

.use-case .content-block .list .item .body .button-box .button::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    transform: translateY(-50%);
    width: 3px;
    height:22px;
    background: #333;
    transition: all 0.5s ease;
}

.use-case .content-block .list .item .body .button-box .button.open::before {
    transform: translateY(-50%) rotate(270deg);
}

.use-case .content-block .list .item .body .button-box .button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
    width: 22px;
    height: 3px;
    background: #333;
}

@media screen and (max-width: 767px) {
    .use-case .content-block .list .item .head,
    .use-case .content-block .list .item .body {
        padding: 1rem;
    }

    .use-case .content-block .list .item .body .title {
        font-size: var(--sp-font-size-h5);
        font-weight: var(--sp-font-weight-h5);
        line-height: var(--sp-line-height-h5);
    }

    .use-case .content-block .list .item .body .text {
        font-size: var(--sp-font-size-p2);
        font-weight: var(--sp-font-weight-p2);
        line-height: var(--sp-line-height-p2);
        letter-spacing: var(--sp-letter-spacing-p2);
    }

    .use-case .content-block .list .item .body .button-box .button {
        width: 100%;
    }

    .use-case .content-block .list .item .body .lead p,
    .use-case .content-block .list .item .body .lead .title span,
    .use-case .content-block .list .item .body .description .title,
    .use-case .content-block .list .item .body .description .title.first,
    .use-case .content-block .list .item .body .description .text {
        padding-left: 0;
    }

    .use-case .content-block .list .item .body .lead .link-box {
        margin-top: 1rem;
        text-align: left;
    }
}

/* 注記 */

.footer-note {
    padding-bottom: 30px;
}