@charset "utf-8";

/* ============== #case_study ここから ==============  */
.case_study {
    position: relative;
    margin-block: 6em 8em;
    margin-inline: auto;
}

.case__img {
    display: block;
    width: 504px;
    margin-inline: auto;
}

.case__text {
    position: absolute;
    box-sizing: border-box;
    width: 30%;
    padding: 1.8em;
    background-color: var(--gray_bg);
    border-radius: 10px;
    box-shadow: var(--shadow_strong);
}

.case__text--feedback {
    top: 20px;
    left: 0;
}

.case__text--last {
    top: 335px;
    left: 0;
}

.case__text--after {
    top: -30px;
    right: 0;
}

.case__text--before {
    top: 300px;
    right: 0;
}

.case__text h4 {
    margin-bottom: 0.2em;
    font-size: clamp(14px, calc(14px + (24px - 14px) * var(--w-ratio-full)), 24px);
}

.case__text h4:not(:lang(ja), :lang(ko), :lang(zh-cmn-Hans), :lang(zh-cmn-Hant)) {
    font-size: clamp(12px, calc(12px + (20px - 12px) * var(--w-ratio-full)), 20px);
}

.case__text p {
    font-size: clamp(12px, calc(12px + (14px - 12px) * var(--w-ratio-md)), 14px);
}

.case__check {
    position: absolute;
    top: -26px;
    left: 0;
}

.case_merit {
    margin: 5em 0;
}

.case_merit__box--head {
    width: 46%;
    padding-block: 1em;
    padding-inline: 1em;
    font-size: clamp(20px, calc(20px + (24px - 20px) * var(--w-ratio-md)), 24px); /* [最大]1260pxの時：24px～ [最小]960pxの時：20px */
    font-weight: bold;
    color: #fff;
    text-align: center;
    border-radius: 10px 10px 0 0;
}

.case_merit__box--head:not(:lang(ja), :lang(ko), :lang(zh-cmn-Hans), :lang(zh-cmn-Hant)) {
    font-size: clamp(16px, calc(16px + (18px - 16px) * var(--w-ratio-md)), 18px); /* [最大]1260pxの時：18px～ [最小]960pxの時：16px */
}

.case_merit__box--head_before {
    background-color: var(--gray_main);
}

.case_merit__box--head_aftter {
    background-color: var(--blue_atg);
}

.case_merit__inner {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.case_merit__box--before {
    width: 42%;
    border: 1px solid var(--gray_border);
    border-radius: 10px;
    box-shadow: var(--shadow_weak);
}

.case_merit__box--after {
    width: 42%;
    border: 3px solid var(--blue_atg);
    border-radius: 15px;
    box-shadow: 5px 5px 10px -3px var(--blue_atg);
}

.case_merit__box--text {
    display: flex;
    align-items: center;
    width: 46%;
    padding: 1.4em 2em;
    margin: 0.4em 0 0 0;
}

.case_merit__box--text_before {
    background-color: #f1f1f1;
}

.case_merit__box--text_after {
    background-color: #f4f8ff;
}

.case_merit__box--text p {
    font-size: clamp(14px, calc(14px + (18px - 14px) * var(--w-ratio-md)), 18px); /* [最大]1260pxの時：18px～ [最小]960pxの時：14px */
    font-weight: bold;
    color: var(--black_main);
    word-break: keep-all;
}

.case_merit__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8%;
}

.case_merit__mark {
    width: 40px;
    margin-inline-end: 1em;
}

.case_merit__mark--check {
    padding-bottom: 3px;
}

.dli-arrow-right {
    position: relative;
    display: inline-block;
    width: 72%;
    height: 3px;
    line-height: 1;
    vertical-align: middle;
    color: #666;
    background: currentcolor;
}

.dli-arrow-right::before {
    position: absolute;
    top: 50%;
    right: -2px;
    box-sizing: border-box;
    width: 15px;
    height: 15px;
    content: "";
    border: 3px solid currentcolor;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
    transform-origin: top right;
}

.dli-arrow-right:lang(ar)::before {
    right: auto;
    left: -18px;
    transform: rotate(225deg);
}

/* ============== #case_study ここまで ==============  */

/* ============== point ここから ============== */

#point h2 {
    margin-bottom: 1em;
}

.point__function--wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8em;
}

.point__function--text_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    width: 68%;
}

.point__img--function {
    width: 25%;
    border-radius: 10px;
}

.point__function--text_box {
    width: 50%;
    padding-block: 3em;
    padding-inline: 0;
    border-block-end: 1px solid var(--gray_border);
}

.point__function--text_box h4 {
    margin-bottom: 0.8em;
}

.point__function--text_box:nth-child(2n + 1) {
    padding-inline: 0 4%;
    border-inline-end: 1px solid var(--gray_border);
}

.point__function--text_box:nth-child(2n) {
    padding-inline: 4% 0;
}

.point__function--text_box:nth-child(1),
.point__function--text_box:nth-child(2) {
    padding-block: 0 3em;
}

.point__function--text_box:nth-last-child(1),
.point__function--text_box:nth-last-child(2) {
    padding-block: 3em 0;
    border-bottom: none;
}

.point__intro--wrap {
    width: 315px;
    background-image: url("/images/products/inline/point-free.png");
    background-position: center;
    background-size: cover;
    border-radius: 10px;
}

.point__intro {
    background-color: rgb(0 0 0 / 62%);
    border-radius: 10px;
}

.point__intro--text {
    padding-block: clamp(2em, calc(2em + (4em - 2em) * var(--w-ratio-md)), 4em); /* [最大]1260pxの時：4em ～ [最小]960pxの時：2em */
    padding-inline: clamp(1.2em, calc(1.2em + (1.6em - 1.2em) * var(--w-ratio-md)), 1.6em); /* [最大]1260pxの時：1.6em ～ [最小]960pxの時：1.2em */
    margin-bottom: 0;
    font-size: clamp(20px, calc(20px + (24px - 20px) * var(--w-ratio-md)), 24px); /* [最大]1260pxの時：24px～ [最小]960pxの時：20px */
    line-height: 2;
    color: #fff;
}

.point__intro--text_big {
    margin: 0 0.1em;
    font-size: clamp(36px, calc(36px + (48px - 36px) * var(--w-ratio-md)), 48px); /* [最大]1260pxの時：48px～ [最小]960pxの時：36px */
}

.point__intro--text_big_head {
    margin: 0 0.1em 0 0;
}

/* ============== point ここまで ============== */

/* ============== application ここまで ============== */
#application h2 {
    margin-bottom: 1em;
}

.app__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.app__box {
    width: 11.2%;
    margin-bottom: 2.2em;
    transition: 0.3s;
}

.app__box:hover {
    opacity: 0.7;
    transform: translateY(-4px);
}

.app__box img {
    margin-bottom: 0.4em;
    border-radius: 10px;
    box-shadow: var(--shadow_strong);
}

.app__box p {
    font-size: clamp(10px, calc(10px + (12px - 10px) * var(--w-ratio-full)), 12px); /* [最大]1260pxの時：12px～ [最小]322pxの時：10px */
}

.app__box p:lang(de) {
    font-size: clamp(8px, calc(8px + (12px - 8px) * var(--w-ratio-full)), 12px); /* [最大]1260pxの時：12px～ [最小]322pxの時：8px */
}

/* ============== application ここまで ============== */

/* ============== cleaner ここまで ============== */

#clean h2 {
    margin-bottom: 1em;
}

#clean h2:lang(de) {
    font-size: clamp(24px, calc(24px + (40px - 24px) * var(--w-ratio-full)), 40px);
}

#clean h3 {
    margin-bottom: 1.8em;
}

#clean h4 {
    margin-bottom: 0.8em;
}

.clean__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 8em;
}

.clean__box--wrap {
    width: 48%;
}

.clean__box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.cleaner__img {
    width: 40%;
}

.cleaner__text {
    width: 55%;
}

.cleaner__text--option {
    padding: 3em;
    background-color: var(--white);
    border-radius: 20px;
    box-shadow: var(--shadow_weak);
}

#clean .u--link_button {
    margin-top: 2em;
}

.c_option {
    width: 100%;
}

.c_option--head__mini {
    margin-left: 1em;
    font-size: clamp(16px, calc(16px + (22px - 16px) * var(--w-ratio-md)), 22px); /* [最大]1260pxの時：22px～ [最小]960pxの時：16px */
}

.c_option--lineup__head {
    position: relative;
    padding-inline: 1em 0;
    padding-left: 1em;
    margin-block: 3em 0;
    font-size: 18px;
    font-weight: bold;
    color: #666;
}

.c_option--lineup__head::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 6px;
    height: 100%;
    content: "";
    background-color: #666;
}

.c_option--lineup__head:lang(ar)::after {
    right: 0;
    left: auto;
}

.c_option--lineup__wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    margin: 2em 0 3em;
}

.c_option--lineup__box {
    width: 19%;
    margin-right: 2.5%;
    text-align: center;
}

.c_option--lineup__box:hover {
    opacity: 0.75;
}

.c_option--lineup__product_sub {
    font-size: 12px;
}

.c_option--lineup__product_name {
    padding-bottom: 1em;
    margin-bottom: 1.2em;
    font-size: 14px;
    font-weight: bold;
    border-bottom: 1px solid #c5c5c5;
}

.c_option--lineup__product_img {
    width: 72%;
}

/* ============== cleaner ここまで ============== */

/* ============== cusomize ここから ============== */

#customize h2 {
    margin-bottom: 1em;
    word-break: keep-all;
}

.customize__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.customize__box {
    width: 48%;
    padding: 2.6em 3.2em;
    margin-bottom: 4em;
    border: 1px solid var(--gray_border);
    border-radius: 10px;
    box-shadow: var(--shadow_weak);
}

.customize__box h4 {
    margin-bottom: 0;
}

.customize__about--wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-top: 1em;
}

.customize__box--acd {
    padding: 0;
}

.customize__about--img-box {
    width: 17%;
}

.customize__text {
    width: 79%;
}

.customize__text--bold {
    padding-bottom: 0.4em;
    font-size: clamp(16px, calc(16px + (14px - 16px) * var(--w-ratio-full)), 14px); /* [最大]1260pxの時：14px～ [最小]322pxの時：16px */
    font-weight: 700;
    color: var(--black_main);
}

.customize__subtext--gray {
    width: 100%;
    padding: 2em;
    margin-top: 2em;
    border-radius: 10px;
}

.customize__subtext--material {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2em;
}

.customize__subtext--material-textbox {
    width: 64%;
}

.customize__subtext--material_name {
    font-weight: 700;
    color: #333;
}

#customize .u--acd__label {
    padding-block: 2.6em;
    padding-inline: 3.6em 5em;
    border-radius: 10px;
}

#customize .u--acd__label::after {
    right: 1.7em;
}

#customize .u--acd__label:lang(ar)::after {
    right: auto;
    left: 1.7em;
}

#customize .u--acd__content {
    padding: 0 3.6em;
}

#customize .u--acd__check:checked + .u--acd__label + .u--acd__content {
    padding: 0 3.6em 2.6em 3.6em;
}

#customize .u--link_button {
    margin-top: 2em;
}

.ja-only:not(:lang(ja)) {
    display: none;
}

/* ============== cusomize ここまで ============== */

/* ============== piping ここから ============== */

#piping h3:lang(de) {
    font-size: clamp(20px, calc(20px + (30px - 20px) * var(--w-ratio-full)), 30px);
}

.piping__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.piping__image--wrap {
    width: 30%;
}

.pipng__text--wrap {
    width: 65%;
}

.piping__link--wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 4em;
}

#piping .u--link_text {
    width: 47%;
    font-size: clamp(14px, calc(14px + (18px - 14px) * var(--w-ratio-full)), 18px); /* [最大]1260pxの時：18px～ [最小]322pxの時：14px */
}

/* ============== piping ここまで ============== */

@media screen and (max-width: 1260px) {
    .case_study {
        width: calc(960px * 0.92);
    }

    .case__img {
        width: 400px;
    }

    .case__text {
        padding: 1.2em;
    }

    .case_study h4 {
        font-size: 16px;
    }

    .case__check {
        width: 42px;
    }

    .case__text--last {
        top: 255px;
    }

    .case__text--before {
        top: 255px;
    }

    /* #point */
    .point__function--text_wrap {
        width: 100%;
    }

    .point__function--wrap {
        flex-direction: column;
        justify-content: center;
    }

    .point__function--wrap-column_reverse {
        flex-direction: column-reverse;
    }

    .point__img--function {
        width: 40%;
        margin: 2em 0 0 0;
    }

    .point__intro--wrap {
        width: 50%;
        margin: 2em 0 0 0;
    }

    .point__intro--text {
        text-align: center;
    }
}

@media screen and (max-width: 960px) {
    .case_study {
        width: calc(770px * 0.92);
        margin-block: 5em 12em;
    }

    .case__img {
        width: 320px;
    }

    .case__text {
        padding: 1.4em 1em;
    }

    .case__text--last {
        top: 240px;
    }

    .case__text--before {
        top: 210px;
    }

    .case_merit__mark {
        width: 30px;
    }

    .case_merit__box--head {
        width: 100%;
    }

    .case_merit__box--head_before {
        display: none;
    }

    .case_merit__inner {
        flex-direction: column;
        margin-bottom: 1.5em;
    }

    .case_merit__inner:first-child {
        margin-bottom: 0;
    }

    .case_merit__box--text {
        width: 100%;
        padding: 1.2em 1.4em;
    }

    .case_merit__arrow {
        margin: 0 auto;
        transform: rotate(90deg);
    }

    .dli-arrow-right {
        width: 35px;
        height: 5px;
    }

    .dli-arrow-right::before {
        border: 5px solid currentcolor;
        border-bottom: 0;
        border-left: 0;
    }

    .dli-arrow-right:lang(ar)::before {
        right: auto;
        left: auto;
        transform: rotate(45deg);
    }

    /* 検出部と演算表示部 ここから */

    .point_prm__separate--text {
        width: 100%;
        margin-top: 4em;
    }

    /* 検出部と演算表示部 ここまで */

    /* #clean */

    #clean h3 {
        margin-bottom: 1em;
    }

    #clean h4 {
        margin-bottom: 0.4em;
    }

    .clean__wrap {
        flex-direction: column;
        margin-bottom: 4em;
    }

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

    .clean__wrap img {
        max-width: 400px;
    }

    .clean__box {
        align-items: center;
    }

    .clean__box--wrap {
        width: 100%;
        margin-bottom: 4em;
    }

    .clean__box--wrap:last-child {
        margin-bottom: 0;
    }

    .cleaner__img {
        width: 30%;
    }

    .cleaner__text {
        width: 65%;
    }

    .clean__box--option_img {
        width: 80%;
        margin: 1em auto 3em;
    }

    .c_option--head__mini {
        margin-left: 0;
    }

    .c_option--lineup__box {
        width: 24%;
        margin-right: 1%;
    }

    /* #cutomize */
    .customize__wrap {
        flex-direction: column;
    }

    .customize__box {
        width: 100%;
    }

    .customize__subtext--material-textbox {
        width: 72%;
    }

    .customize__about--img-box {
        width: 40%;
        margin: 1em 0;
        text-align: center;
    }

    .customize__about--wrap {
        flex-direction: column;
        margin-top: 0;
    }

    .customize__text {
        width: 100%;
    }

    /* #piping */
    .piping__wrap {
        flex-direction: column;
        align-items: center;
    }

    .piping__image--wrap {
        width: 40%;
        margin-bottom: 4em;
    }

    .pipng__text--wrap {
        width: 100%;
    }
}

@media screen and (max-width: 770px) {
    .case_study {
        width: 100%;
        max-width: calc(322px * 0.92);
        margin: 95px auto 240px;
    }

    .case__img {
        width: 100%;
    }

    .case__text {
        width: 86%;
        padding: 1.2em 0.8em;
    }

    .case__text--feedback {
        top: -75px;
    }

    .case__text--feedback:is(:lang(ar), :lang(bn), :lang(hi), :lang(ko), :lang(vi), :lang(zh-cmn-Hans), :lang(zh-cmn-Hant)) {
        top: -40px;
    }

    .case__text--after {
        top: 88px;
    }

    .case__text--after:is(:lang(ar), :lang(bn), :lang(hi), :lang(ko), :lang(vi), :lang(zh-cmn-Hans), :lang(zh-cmn-Hant)) {
        top: 122px;
    }

    .case__text--before {
        top: 640px;
    }

    .case__text--last {
        top: 825px;
    }

    .case__check {
        top: -10px;
        width: 24px;
    }

    /* #point */

    .point__function--wrap {
        margin-bottom: 4em;
    }

    .point__function--text_box {
        width: 100%;
        padding-block: 0 2em;
        padding-inline: 0;
        margin-block: 0 2em;
        margin-inline: 0;
    }

    .point__function--text_box:nth-child(2n + 1) {
        padding-inline: 0;
        border-inline-end: none;
    }

    .point__function--text_box:nth-child(2n) {
        padding-inline: 0;
    }

    .point__function--text_box:nth-child(1),
    .point__function--text_box:nth-child(2) {
        padding-block: 0 3em;
    }

    .point__function--text_box:nth-last-child(1),
    .point__function--text_box:nth-last-child(2) {
        padding-block: 0 2em;
        border-block-end: 1px solid var(--gray_border);
    }

    .point__intro--wrap {
        width: 84%;
        max-width: 300px;
    }

    /* #app */
    .app__box {
        width: 23%;
        margin-bottom: 1.6em;
    }

    /* #clean */
    .clean__box {
        flex-direction: column-reverse;
    }

    .clean__box img {
        max-width: 400px;
    }

    .cleaner__img {
        width: 80%;
        margin-top: 2em;
    }

    .cleaner__text {
        width: 100%;
    }

    .cleaner__text--option {
        padding: 1.6em 1.2em;
    }

    .c_option--lineup__box {
        width: 48%;
        margin-right: 4%;
    }

    .c_option--lineup__box:nth-child(2n) {
        margin-right: 0;
    }

    /* #customize */
    .customize__box {
        padding: 1.6em 1.2em;
    }

    #customize .u--acd__label {
        padding-block: 1.6em;
        padding-inline: 1.2em 2em;
    }

    #customize .u--acd__check:checked + .u--acd__label + .u--acd__content {
        padding: 1.6em 1.2em;
    }

    #customize .u--acd__content {
        padding: 0 1.2em;
    }

    .customize__box--acd {
        padding: 0;
        margin-bottom: 2em;
    }

    label.acd-label_repair {
        padding: 2em 1.2em;
    }

    label.acd-label_repair::after {
        right: 0.8em;
        width: 26px;
        height: 26px;
        line-height: 24px;
    }

    .acd-content_all_repair {
        padding: 0 1.1em 0;
    }

    .acd-check_repair:checked + .acd-label_repair + .acd-content_all_repair {
        padding: 0 1.1em 1.2em;
    }

    .customize__subtext--gray {
        padding: 1.6em 1.2em;
        margin-top: 1em;
    }

    .customize__subtext--material {
        justify-content: center;
    }

    .customize__subtext--material-textbox {
        width: 100%;
        margin-top: 1em;
    }

    #customize .u--acd__label::after {
        right: 0.5em;
    }

    #customize .u--acd__label:lang(ar)::after {
        right: auto;
        left: 0.5em;
    }

    /* #piping */
    #piping .u--link_text {
        width: 100%;
    }

    .piping__link--wrap {
        margin-top: 2em;
    }

    .piping__image--wrap {
        width: 65%;
    }
}
