﻿.esg-action .sustain-tab-wrap + .sustain-section {
    margin-bottom: 6.25vmax;
}

.esg-action
.sustain-title-wrap:has(.sustain-title-wrap-tit-desc)
.sustain-title-wrap-tit {
    margin-bottom: 0.1875em;
}

main {
    width: 100%;
    min-height: fit-content;
    box-sizing: border-box;
    overflow: hidden;
    padding-top: calc(40px + (1.25vw + 8px) * 2 + 1px);
}

    main * {
        box-sizing: border-box;
    }

@media screen and (max-width: 1280px) {
    main {
        padding-top: 7.2rem;
    }
}

@media screen and (max-width: 767px) {
    main {
        padding-top: 6.4rem;
    }
}

main br.web {
    display: block;
}

@media screen and (max-width: 1024px) {
    main br.web {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    main br.web {
        display: none;
    }
}

main [data-color="orange"] {
    color: #7ab9ff;
}
main [data-color="gold"] {
    color: #c28f35;
}
main [data-color="secondary"] {
    color: #616161;
}

main .subkv-container {
    margin-bottom: 4.16666vmax !important;
}

main picture {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

main .sustain-tab-wrap {
    margin-bottom: 6.25vmax;
}

    main .sustain-tab-wrap + .sustain-section {
        padding-top: 0;
        border-top: none;
    }

    main .sustain-tab-wrap::-webkit-scrollbar {
        display: none;
    }

main .sustain-section {
    padding-top: 8.33333vmax;
    margin-bottom: 8.33333vmax;
    border-top: 1px solid #e5e5e5;
}

    main .sustain-section:has(.sustain-acco-container) {
        margin-bottom: 0;
    }

main .sustain-title-wrap {
    width: max(72rem, 60.83333vw);
    margin-bottom: calc(0.0479166667 * var(--vw, 100vw));
}

@media screen and (max-width: 1024px) {
    main .sustain-title-wrap {
        width: max(72rem, 60.83333vw);
    }
}

@media screen and (max-width: 767px) {
    main .sustain-title-wrap {
        width: 100%;
    }
}

@media screen and (max-width: 1024px) {
    main .sustain-title-wrap {
        margin-bottom: calc(0.0634765625 * var(--vw, 100vw) + 16px);
    }
}

@media screen and (max-width: 767px) {
    main .sustain-title-wrap {
        margin-bottom: calc(0.0634765625 * var(--vw, 100vw) + 16px);
    }
}


.commit-subcont {
    font-size: max(1.7rem, 1.6666vw);
    font-weight: 1.3;
    line-height: -0.01em;
    letter-spacing: 0;
    width: 100%;
    padding: 6.25vmax 0;
    padding-left: 2em;
    padding-right: 2em;
}

@media screen and (max-width: 1024px) {
    .commit-subcont {
        font-size: 500;
    }
}

@media screen and (max-width: 1024px) {
    .commit-subcont {
        padding-left: 2em;
    }
}

@media screen and (max-width: 767px) {
    .commit-subcont {
        padding-left: max(1.6rem, 4.16666vw);
    }
}

@media screen and (max-width: 1024px) {
    .commit-subcont {
        padding-right: 2em;
    }
}

@media screen and (max-width: 767px) {
    .commit-subcont {
        padding-right: max(1.6rem, 4.16666vw);
    }
}

.commit-subcont:not(:last-child) {
    border-bottom: 1px solid #dbdbdb;
}

.commit-subcont-title-wrap {
    text-align: center;
    margin-bottom: 4.16666vmax;
    padding: 0;
}

    .commit-subcont-title-wrap.dis-margin-bottom {
        margin-bottom: 0;
    }

    .commit-subcont-title-wrap .tit {
        margin-bottom: 1.66667vmax;
        padding-left: 0;
        padding-right: 0;
    }

.commit-acco-wrap {
    align-items: start;
}

.commit-acco-box {
    font-size: max(1.7rem, 1.6666vw);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    padding: 1.5em 2em 0;
    text-align: left;
}

@media screen and (max-width: 1024px) {
    .commit-acco-box {
        padding: 1.5em 2em 0;
    }
}

@media screen and (max-width: 767px) {
    .commit-acco-box {
        padding: 1.5em 1.5em 0;
    }
}

.commit-acco-box .titles {
    display: flex;
    align-items: center;
    gap: 0.625em;
}

    .commit-acco-box .titles img {
        width: 1.75em;
        height: 1.75em;
    }

.commit-acco-box .arrow {
    width: 1.5em;
    height: 1.5em;
    transition: transform 350ms ease;
    margin-bottom: 0;
    cursor: pointer;
}

    .commit-acco-box .arrow svg {
        width: 100%;
        height: 100%;
    }

main .sustain-title-wrap.dis-mb {
    margin-bottom: 0 !important;
}

main .sustain-title-wrap.mb-s {
    margin-bottom: 4.16666vmax !important;
}

main .sustain-title-wrap[data-width="wide"] {
    width: 100% !important;
}

main .sustain-title-wrap[text-align="center"] {
    text-align: center;
}

main .sustain-title-wrap[text-display="flex"] .sustain-title-wrap-tit {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.3636363636em;
}

main .sustain-title-wrap-sub[data-width="fixed"] {
    width: max(72rem, 60.83333vw);
}

@media screen and (max-width: 1024px) {
    main .sustain-title-wrap-sub[data-width="fixed"] {
        width: max(72rem, 60.83333vw);
    }
}

@media screen and (max-width: 767px) {
    main .sustain-title-wrap-sub[data-width="fixed"] {
        width: 100%;
    }
}

main .sustain-title-wrap-tit + .sustain-title-wrap-sub {
    margin-top: 1.66667vmax;
}

main .sustain-title-wrap-tit-desc {
    color: #222222;
    margin-bottom: 1.25em;
}

main .sustain-title-wrap-icon-box {
    display: inline-flex;
    width: 1.25em;
    height: 1.25em;
    padding: 0.25em;
    margin-right: 0.125em;
    background-color: #7ab9ff;
    border-radius: 100%;
    overflow: hidden;
    flex-shrink: 0;
}

    main .sustain-title-wrap-icon-box img,
    main .sustain-title-wrap-icon-box svg {
        width: 100%;
        height: 100%;
    }

main .sustain-title-wrap-subtit {
    margin-top: 1.66667vmax;
    margin-bottom: 1.66667vmax;
}

@media screen and (max-width: 767px) {
    main .sustain-title-wrap-tit,
    main .sustain-title-wrap-sub {
        padding-right: 0.2rem;
        padding-left: 0.2rem;
    }
}

main .sustain-cont-wrap {
    display: grid;
    gap: max(0.8rem, 0.83333vw);
}

    main .sustain-cont-wrap[data-colum="2"] {
        grid-template-columns: repeat(2, 1fr);
    }

@media screen and (max-width: 767px) {
    main .sustain-cont-wrap[data-colum="2"] {
        grid-template-columns: repeat(1, 1fr);
    }
}

main .sustain-cont-wrap[data-colum="2"] [data-grid-row="left"] {
    grid-row: 1 / span 2;
}

@media screen and (max-width: 767px) {
    main .sustain-cont-wrap[data-colum="2"] [data-grid-row="left"] {
        grid-row: initial;
    }
}

main .sustain-cont-wrap[data-colum="2"] [data-grid-colum="bottom"] {
    grid-column: 1 / span 2;
}

@media screen and (max-width: 767px) {
    main .sustain-cont-wrap[data-colum="2"] [data-grid-colum="bottom"] {
        grid-column: initial;
    }
}

main .sustain-cont-wrap[data-colum="3"] {
    grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 767px) {
    main .sustain-cont-wrap[data-colum="3"] {
        grid-template-columns: repeat(1, 1fr);
    }
}

main .sustain-box {
    border-radius: max(0.8rem, 0.83333vw);
}

    main .sustain-box[data-bg="light-grey"] {
        background-color: #f5f5f5;
    }

    main .sustain-box[data-bg="gery"] {
        background-color: #e5e5e5;
    }

    main .sustain-box[data-padding="large"] {
        font-size: max(1.7rem, 1.6666vw);
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0;
        padding: 2em;
    }

@media screen and (max-width: 1024px) {
    main .sustain-box[data-padding="large"] {
        padding: 2em;
    }
}

@media screen and (max-width: 767px) {
    main .sustain-box[data-padding="large"] {
        padding: 0.94118em;
    }
}

main .sustain-box-inner {
    font-size: max(1.7rem, 1.6666vw);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 1.25em;
    padding-top: 1.25em;
    border-top: 1px solid #cccccc;
}

    main .sustain-box-inner .subtit {
        margin-bottom: 1em;
    }

    main .sustain-box-inner .img-box {
        width: 100%;
        height: fit-content;
    }

        main .sustain-box-inner .img-box img {
            width: 100%;
            height: auto;
        }

main .sustain-contcard {
    font-size: max(1.7rem, 1.6666vw);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    padding: 2em;
    height: auto;
}

    main .sustain-contcard .img-wrap {
        width: 100%;
        height: auto;
        aspect-ratio: 449/264;
        border-radius: max(0.6rem, 0.41667vw);
        overflow: hidden;
    }

        main .sustain-contcard .img-wrap + .tit {
            margin: 1.25em 0 0.5em;
        }

    main .sustain-contcard .tit {
        margin-top: 0;
        margin-bottom: 0.5em;
    }

@media screen and (max-width: 767px) {
    main .sustain-contcard {
        padding: 1.52941em;
    }
}

main .sustain-acco-container {
    max-height: 0;
    overflow: hidden;
}

    main .sustain-acco-container.open {
        max-height: var(--max-height);
    }

main .sustain-acco-wrap {
    height: max-content;
}

main .sustain-acco-button {
    display: flex;
    justify-content: space-between;
    gap: 0.3333333333em;
    cursor: pointer;
}

    main .sustain-acco-button a.tagging {
        display: flex;
        justify-content: space-between;
        gap: 0.3333333333em;
        cursor: pointer;
    }

    main .sustain-acco-button[data-type="text"] {
        margin-bottom: 1.66667vmax;
    }

    main .sustain-acco-button + .sustain-acco-container.open {
        margin-bottom: 8.33333vmax;
    }

    main .sustain-acco-button i {
        display: block;
        width: 1.5em;
        height: 1.5em;
        flex-shrink: 1;
        transform: rotate(0deg);
    }

        main .sustain-acco-button i svg {
            width: 100%;
            height: 100%;
        }

    main .sustain-acco-button .close {
        display: none;
    }

    main .sustain-acco-button.open .more {
        display: none;
    }

    main .sustain-acco-button.open .close {
        display: block;
    }

    main .sustain-acco-button.open i {
        transform: rotate(180deg);
    }

.subkv-container[data-type="img"] {
    position: relative;
    height: max(44.2rem, 29.4792vw);
    margin-bottom: 6.25vmax;
}

    .subkv-container[data-type="img"] .subkv-wrap {
        height: 100%;
    }

    .subkv-container[data-type="img"] .subkv-img-wrap {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
        border-radius: max(0.8rem, 0.83333vw);
    }

        .subkv-container[data-type="img"] .subkv-img-wrap:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #000000;
            opacity: 0.45;
            z-index: 1;
        }

        .subkv-container[data-type="img"] .subkv-img-wrap picture {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

            .subkv-container[data-type="img"] .subkv-img-wrap picture img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

    .subkv-container[data-type="img"] .subkv-title-wrap {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        margin: 0;
        text-align: center;
        z-index: 2;
    }

    .subkv-container[data-type="img"] .subkv-text-box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        color: white;
        padding: 0 max(4rem, 4.16667vw);
    }

        .subkv-container[data-type="img"] .subkv-text-box .title {
            max-width: 60.83333vw;
        }

            .subkv-container[data-type="img"] .subkv-text-box .title + h2 {
                margin-top: 1.25vmax;
            }

        .subkv-container[data-type="img"] .subkv-text-box .sub-txt {
            color: #cecece;
            max-width: 60.83333vw;
        }

@media screen and (max-width: 1024px) {
    .subkv-container[data-type="img"] .subkv-text-box .title {
        max-width: 68.65234vw;
    }

    .subkv-container[data-type="img"] .subkv-text-box .sub-txt {
        max-width: 68.65234vw;
    }
}

@media screen and (max-width: 767px) {
    .subkv-container[data-type="img"] .subkv-text-box .title {
        max-width: 71.28205vw;
    }

    .subkv-container[data-type="img"] .subkv-text-box .sub-txt {
        max-width: 71.28205vw;
    }
}

.square-tab-list {
    display: flex;
    justify-content: center;
    gap: max(0.8rem, 0.83333vw);
    width: 100%;
}

    .square-tab-list + .sustain-section {
        padding-top: 0;
        border-top: none;
    }

@media screen and (min-width: 768px) {
    .square-tab-list[data-tab-num="2"] .square-tab-item {
        width: calc((100% - 0.6666666667em) / 2);
    }

    .square-tab-list[data-tab-num="3"] .square-tab-item {
        width: calc((100% - 1.3333333333em) / 3);
    }
}

.square-tab-item > a {
    display: block;
    padding: 0.9166666667em;
    border: 1px solid #e5e5e5;
    border-radius: max(0.6rem, 0.41667vw);
    text-align: center;
    cursor: pointer;
    text-wrap: nowrap;
}

.square-tab-item.active > a {
    color: #ffffff;
    background-color: #222222;
    border-color: #222222;
}

@media screen and (min-width: 1025px) {
    .square-tab-item > a {
        transition: border-color 350ms ease;
    }

    .square-tab-item:hover > a {
        border-color: #222222;
    }
}

@media screen and (max-width: 767px) {
    .square-tab-list {
        width: 100%;
        overflow: auto;
        justify-content: flex-start;
    }

        .square-tab-list[data-tab-num="2"] .square-tab-item > a {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0.93333em 0.5em;
            height: 100%;
            box-sizing: border-box;
        }

        .square-tab-list[data-tab-num="3"] .square-tab-item {
            min-width: fit-content;
        }

    .square-tab-item {
        width: calc((100% - 0.5333333333em) / 2);
    }

        .square-tab-item > a {
            padding: 0.9333333333em 1.86667em;
        }
}

.subkv-container[data-type="img"] .subkv-title-wrap,
.container-s,
.container-m,
.container,
.container-l {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 max(1.6rem, 4.16666vw);
}

@media screen and (max-width: 1024px) {
    .subkv-container[data-type="img"] .subkv-title-wrap,
    .container-s,
    .container-m,
    .container,
    .container-l {
        padding: 0 max(1.6rem, 4.16666vw);
    }
}

@media screen and (max-width: 767px) {
    .subkv-container[data-type="img"] .subkv-title-wrap,
    .container-s,
    .container-m,
    .container,
    .container-l {
        padding: 0 max(1.6rem, 4.16666vw);
    }
}

.row {
    box-sizing: border-box;
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    margin-left: calc(max(0.8rem, 0.83333vw) * 0.5 * -1);
    margin-right: calc(max(0.8rem, 0.83333vw) * 0.5 * -1);
}

.col-offset-2 {
    margin-left: calc(100% / 12 * 2);
}

.col-offset-1 {
    margin-left: calc(100% / 12 * 1);
}

.col-8 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-left: calc(max(0.8rem, 0.83333vw) * 0.5);
    padding-right: calc(max(0.8rem, 0.83333vw) * 0.5);
    flex-basis: calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
}

.col-6 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-left: calc(max(0.8rem, 0.83333vw) * 0.5);
    padding-right: calc(max(0.8rem, 0.83333vw) * 0.5);
    flex-basis: calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
}

@media screen and (max-width: 1024px) {
    .row {
        margin-left: calc(max(0.8rem, 0.83333vw) * 0.5 * -1);
        margin-right: calc(max(0.8rem, 0.83333vw) * 0.5 * -1);
    }

    .col-md-0 {
        box-sizing: border-box;
        flex: 0 0 auto;
        padding-left: calc(max(0.8rem, 0.83333vw) * 0.5);
        padding-right: calc(max(0.8rem, 0.83333vw) * 0.5);
        flex-basis: calc(100% / 8 * 0);
        max-width: calc(100% / 8 * 0);
    }
}

@media screen and (max-width: 1024px) and (max-width: 1024px) and (min-width: 767px) {
    .col-offset-md-0 {
        margin-left: calc(100% / 8 * 0);
    }
}

@media screen and (max-width: 1024px) {
    .col-md-1 {
        box-sizing: border-box;
        flex: 0 0 auto;
        padding-left: calc(max(0.8rem, 0.83333vw) * 0.5);
        padding-right: calc(max(0.8rem, 0.83333vw) * 0.5);
        flex-basis: calc(100% / 8 * 1);
        max-width: calc(100% / 8 * 1);
    }
}

@media screen and (max-width: 1024px) and (max-width: 1024px) and (min-width: 767px) {
    .col-offset-md-1 {
        margin-left: calc(100% / 8 * 1);
    }
}

@media screen and (max-width: 1024px) {
    .col-6 {
        box-sizing: border-box;
        flex: 0 0 auto;
        padding-left: calc(max(0.8rem, 0.83333vw) * 0.5);
        padding-right: calc(max(0.8rem, 0.83333vw) * 0.5);
        flex-basis: calc(100% / 8 * 6);
        max-width: calc(100% / 8 * 6);
    }
}

@media screen and (max-width: 1024px) and (max-width: 1024px) and (min-width: 767px) {
    .col-offset-md-6 {
        margin-left: calc(100% / 8 * 6);
    }
}

@media screen and (max-width: 767px) {
    .row {
        margin-left: calc(max(0.8rem, 0.83333vw) * 0.5 * -1);
        margin-right: calc(max(0.8rem, 0.83333vw) * 0.5 * -1);
    }

    .col-sm-0 {
        box-sizing: border-box;
        flex: 0 0 auto;
        padding-left: calc(max(0.8rem, 0.83333vw) * 0.5);
        padding-right: calc(max(0.8rem, 0.83333vw) * 0.5);
        flex-basis: calc(100% / 4 * 0);
        max-width: calc(100% / 4 * 0);
    }

    .col-offset-sm-0 {
        margin-left: calc(100% / 4 * 0);
    }

    .col-sm-4 {
        box-sizing: border-box;
        flex: 0 0 auto;
        padding-left: calc(max(0.8rem, 0.83333vw) * 0.5);
        padding-right: calc(max(0.8rem, 0.83333vw) * 0.5);
        flex-basis: calc(100% / 4 * 4);
        max-width: calc(100% / 4 * 4);
    }
}


.headline1 {
    font-size: max(4.8rem, 4.16666vw);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

@media screen and (max-width: 1024px) {
    .headline1 {
        font-size: max(3.4rem, 5.46875vw);
    }
}

.headline2 {
    font-size: max(3.6rem, 3.33333vw);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

@media screen and (max-width: 1024px) {
    .headline2 {
        font-size: max(3.2rem, 4.6875vw);
    }
}

.subtitle2 {
    font-size: max(1.6rem, 1.25vw);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
}

@media screen and (max-width: 1024px) {
    .subtitle2 {
        font-size: max(1.5rem, 1.5625vw);
    }
}

.subtitle1-1 {
    font-size: max(1.7rem, 1.6666vw);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
}

@media screen and (max-width: 1024px) {
    .subtitle1-1 {
        font-size: max(1.8rem, 2.53906vw);
    }
}

.body1-4 {
    font-size: max(1.8rem, 1.25vw);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}

@media screen and (max-width: 1024px) {
    .body1-4 {
        font-size: 1.6rem;
    }
}

.body1 {
    font-size: max(1.3rem, 1.04166vw);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}

.button {
    cursor: pointer;
}

    .button[data-type="text"] {
        position: relative;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-family: "canada-type-gibson";
        padding: 1.1em 1.5em;
        border-radius: 30rem;
        border: 1px solid #e5e5e5;
        color: #222222;
        transition: 350ms ease;
    }

        .button[data-type="text"]:not(.active):hover {
            border-color: #222222;
        }

        .button[data-type="text"].active {
            background-color: #222222;
            color: #ffffff;
            border-color: transparent;
        }

        .button[data-type="text"][data-color="orange"]:hover {
            border-color: #7ab9ff;
        }

        .button[data-type="text"][data-color="orange"].active {
            border-color: #7ab9ff;
            background-color: #ffffff;
            color: #222222;
        }

    .button[data-type="icon"] {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100%;
        box-sizing: border-box;
        overflow: hidden;
        transition: background-color 350ms ease;
        font-size: max(1.3rem, 0.83333vw);
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0;
        width: 2em;
        height: 2em;
        padding: 0.25em;
    }

@media screen and (max-width: 1024px) {
    .button[data-type="icon"] {
        width: 2.3076923077em;
    }
}

@media screen and (max-width: 1024px) {
    .button[data-type="icon"] {
        height: 2.3076923077em;
    }
}

@media screen and (max-width: 1024px) {
    .button[data-type="icon"] {
        padding: 0.2884615385em;
    }
}

.button[data-type="icon"] img,
.button[data-type="icon"] svg,
.button[data-type="icon"] i {
    width: 100%;
    height: 100%;
}

    .button[data-type="icon"] svg path {
        transition: stroke 350ms ease;
    }

.button[data-type="icon"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    border: 1px solid #e5e5e5;
    box-sizing: border-box;
    transition: opacity 350ms ease;
}

@media screen and (min-width: 1025px) {
    .button[data-type="icon"]:hover {
        background-color: #7ab9ff;
    }

        .button[data-type="icon"]:hover::before {
            opacity: 0;
        }

        .button[data-type="icon"]:hover svg path {
            stroke: #ffffff;
        }
}

.button[data-type="icon-line"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-sizing: border-box;
    transition: 350ms ease;
    transition-property: border-color, background-color;
    font-size: max(4.8rem, 4.16666vw);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    width: max(2.9rem, 0.7em);
    height: max(2.9rem, 0.7em);
}

@media screen and (max-width: 1024px) {
    .button[data-type="icon-line"] {
        font-size: max(3.4rem, 5.46875vw);
    }
}

.button[data-type="icon-line"]:not([data-hover-type="fill"]) svg {
    width: max(1.1rem, 0.225em);
    height: auto;
    transition: transform 350ms ease;
}

    .button[data-type="icon-line"]:not([data-hover-type="fill"]) svg path {
        vector-effect: non-scaling-stroke;
    }

.button[data-type="icon-line"][data-hover-type="fill"] {
    border: none;
    width: 0.7em;
    height: 0.7em;
}

@media screen and (max-width: 1024px) {
    .button[data-type="icon-line"][data-hover-type="fill"] {
        width: 0.6964285714em;
    }
}

@media screen and (max-width: 767px) {
    .button[data-type="icon-line"][data-hover-type="fill"] {
        width: 0.8235294118em;
    }
}

@media screen and (max-width: 1024px) {
    .button[data-type="icon-line"][data-hover-type="fill"] {
        height: 0.6964285714em;
    }
}

@media screen and (max-width: 767px) {
    .button[data-type="icon-line"][data-hover-type="fill"] {
        height: 0.8235294118em;
    }
}

.button[data-type="icon-line"][data-hover-type="fill"] svg {
    width: 100%;
    height: auto;
    overflow: visible;
}

    .button[data-type="icon-line"][data-hover-type="fill"] svg circle {
        transition: 350ms ease;
        transition-property: stroke;
    }

@media screen and (min-width: 1025px) {
    .button[data-type="icon-line"]:hover:not([data-hover-type="fill"]) {
        border-color: #7ab9ff;
        background-color: #7ab9ff;
    }

        .button[data-type="icon-line"]:hover:not([data-hover-type="fill"]) svg {
            transform: rotate(-45deg);
        }

    .button[data-type="icon-line"]:hover[data-hover-type="fill"] {
        background-color: #7ab9ff;
    }

        .button[data-type="icon-line"]:hover[data-hover-type="fill"] svg circle {
            stroke: #7ab9ff;
        }
}

.button[data-type="icon-fill"] {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: max(1.3rem, 0.83333vw);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    width: 2.5em;
    height: 2.5em;
}

@media screen and (max-width: 1024px) {
    .button[data-type="icon-fill"] {
        width: 2.4615384615em;
    }
}

@media screen and (max-width: 1024px) {
    .button[data-type="icon-fill"] {
        height: 2.4615384615em;
    }
}

.button[data-type="icon-fill"] svg {
    width: 100%;
    height: 100%;
}

    .button[data-type="icon-fill"] svg circle {
        transition: fill 350ms ease;
    }

@media screen and (min-width: 1025px) {
    .button[data-type="icon-fill"]:hover svg circle {
        fill: #e5e5e5;
    }
}

.wrapper[data-inmotion="true"] {
    transition: opacity 0.1s;
}

    .wrapper[data-inmotion="true"]:not(.complete) {
        opacity: 0;
    }

    .wrapper[data-inmotion="true"].complete {
        opacity: 1;
    }

.tab-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: max(0.8rem, 0.6em);
    font-size: max(1.3rem, 1.04166vw);
}

    .tab-list[data-active-type="line"] .active {
        border-color: #222222;
        background-color: #ffffff;
        color: #222222;
    }

    .tab-list[data-align="left"] {
        justify-content: flex-start;
    }

    .tab-list[data-align="right"] {
        justify-content: flex-end;
    }

    .tab-list[data-align="center"] {
        justify-content: center;
    }

.sustain-title-wrap .sustain-title-wrap-tit {
    padding-left: 0;
    padding-right: 0;
}
