.main .wrapMain .wrapCatchphrase {
    width: 205px;
    top: 61.2%;
    z-index: 13;
    right: 115px;
}
.conceptArea {
    padding: 28px 0 81px;
    position: relative;
    overflow: hidden;
    z-index: 11;
}

.conceptArea .inner {
    margin: 0 auto;
    padding: 0;
    max-width: unset;
}

.conceptBlock {
    margin-bottom: 141px;
}

.conceptBlock:last-child {
    margin-bottom: 0;
    margin-top: -90px;
}

.conceptTop {
    display: flex;
    align-items: center;
    /* justify-content: space-between; */
    position: relative;
    z-index: 2;
}

.conceptTop .imgWrap {
    width: 58%;
}

.conceptTop .imgWrap img {
    width: 100%;
    height: auto;
    display: block;
}

.conceptTop .textWrap {
    width: 40.3%;
    max-width: 516px;
    margin-top: 65px;
    margin-left: -14px;
    align-self: start;
}

.conceptTop .subTitle {
    font-size: 32px;
    margin-bottom: 5px;
    line-height: 1.2;
    font-weight: bold;
}

.conceptTop .title {
    font-size: 60px;
    margin-bottom: 26px;
    font-weight: bold;
    letter-spacing: -1px;
    line-height: 1.2;
    text-shadow: 7px 7px 8px rgba(0, 0, 0, 0.3);
}

.conceptTop .conceptMainText {
    font-size: 20px;
    line-height: 1.8;
    text-align: justify;
    padding-left: 19px;
    padding-right: 76px;
}

.conceptRow {
    display: flex;
    align-items: flex-end;
    /* Align to bottom so the line matches the image bottom or text bottom */
    justify-content: space-between;
    margin-top: -90px;
    /* Negative margin for interlocking */
    position: relative;
    z-index: 3;
}

.conceptRow.imgLeft {
    margin-top: -83px;
}

.conceptRow .imgWrap {
    max-width: 626px;
    width: calc(48.906% + 15px);
}

.conceptRow .imgWrap img {
    width: 100%;
    height: auto;
    display: block;
}

.conceptRow .textWrap {
    flex: 1;
    border-bottom: 2px solid #000;
    padding-bottom: 14px;
    padding-right: 34px;
    padding-left: 2px;
    margin-bottom: 135px;
    max-width: 516px;
    text-align: justify;
    width: 100%;
    letter-spacing: -0.4px;
}

.conceptRow.imgLeft .textWrap {
    margin-bottom: 42px;
    padding-left: 48px;
    padding-bottom: 9px;
    padding-right: 18px;
}

.conceptRow.imgRight .imgWrap {
    max-width: 620px;
    width: calc(48.438% + 15px);
}


.conceptRow .conceptText {
    font-size: 18px;
    line-height: 1.74;
    text-align: justify;
}

.conceptRow.imgRight {
    justify-content: end;
    padding-left: 30px;
}

.conceptRow.imgLeft {
    justify-content: start;
    padding-right: 30px;
}

.concept1 .conceptTop.imgLeft {
    padding-left: 31px;
}

.concept1 .conceptTop.imgLeft .imgWrap {
    max-width: 693px;
    width: 54.141vw;
}

.conceptTop.imgRight {
    justify-content: center;
}

/* --- Concept 1 --- */
.conceptTop.imgLeft {
    padding-left: 31px;
}

.conceptTop.imgLeft .imgWrap {
    max-width: 693px;
    width: 54.141vw;
}


/* --- Concept 2 --- */
.concept2 {
    margin-bottom: 166px;
}

.concept2 .conceptTop.imgRight {
    padding-left: 13px;
}

.concept2 .conceptTop.imgRight .imgWrap {
    max-width: 620px;
    width: 48.459vw;
    transform: translateY(-1px);
}

.concept2 .conceptTop.imgRight .textWrap {
    max-width: 375px;
    width: 100%;
    align-self: end;
    margin-top: 0;
    margin-bottom: 12px;
}

.concept2 .conceptTop .conceptMainText {
    padding-right: 0;
    padding-left: 25px;
}

.concept2 .conceptRow.imgLeft {
    margin-top: 32px;
}

.concept2 .conceptRow.imgLeft .textWrap {
    margin-bottom: auto;
    margin-top: 29px;
}

.concept2 .conceptRow.imgRight {
    margin-top: -84px;
}

.concept2 .conceptRow.imgRight .textWrap {
    margin-top: auto;
    margin-bottom: 42px;
}


/* --- Concept 3 --- */
.concept3 .conceptTop.imgLeft {
    padding-left: 60px;
}
.concept3 .conceptTop.imgLeft .textWrap {
    margin-top: 126px;
    margin-left: -36px;
}

.concept3 .conceptRow.imgRight {
    margin-top: -45px;
}


.concept3 .conceptRow.imgRight .textWrap {
    margin-bottom: 136px;
}

.concept3 .conceptRow.imgLeft .textWrap {
    margin-bottom: 43px;
}
.conceptWrap.bgDiamond:before {
    background: url(../images/concept/bg-diamond.svg) no-repeat center;
    background-size: 100%;
    top: 55.8%;
    left: -339px;
    max-width: 665px;
    width: 100%;
}
.conceptWrap.bgRainBow::after {
    top: -30px;
    right: -51px;
}
.conceptArea.bgTriangle:after {
    top: 16.5%;
}
.conceptArea.bgRainBow::before {
    content: "";
    position: absolute;
    background: url(../images/common/bg-rain-bow.svg) no-repeat;
    background-size: 100%;
    background-position: bottom;
    width: 827px;
    height: 100%;
    bottom: -49px;
    right: -164px;
}
/* Safari */
.Safari .conceptTop .title{
    font-weight: normal;
}

@media (min-width: 1281px) {
    .conceptArea .inner {
        padding: 0;
        max-width: 1280px;
    }
}
@media (min-width: 769px) {
    .concept1 .conceptTop .conceptMainText {
        padding-bottom: 128px;
    }
    .concept3 .conceptTop .conceptMainText {
        padding-bottom: 86px;
    }
    .main .wrapMain .mainPhoto img {
        aspect-ratio: 1280 / 645;
        min-height: 645px;
    }
    .main .wrapMain {
        overflow: unset;
    }
    #header:after {
        height: 223%;
    }
    .conceptBlock.concept3.bgTriangle:after {
        display: none;
    }
    .conceptBlock.concept2.bgDiamond::before {
        display: none;
    }
}
@media (max-width: 1280px) and (min-width: 769px) {
    .conceptTop .conceptMainText {
        padding-right: clamp(0px, 14.556vw - 114.32px, 76px);
    }
    .conceptRow .imgWrap {
        /* width: calc(48.906% + 3%); */
    }
    .conceptBlock {
        margin-bottom: 11.016vw;
    }

    .conceptTop .subTitle {
        margin-bottom: 0.391vw;
    }

    .conceptTop .title {
        margin-bottom: 2.031vw;
    }

    .conceptTop .textWrap {
        margin-top: 5.078vw;
        margin-left: -1.09vw;
    }

    .conceptRow {
        margin-top: clamp(-89px, calc(97.95px - 14.684vw), -15px);
    }

    .conceptRow .textWrap {
        margin-bottom: 10.547vw;
    }

    .conceptRow.imgLeft {
        margin-top: clamp(-83px, calc(97.95px - 14.684vw), -15px);
    }

    .conceptRow.imgLeft .textWrap {
        margin-bottom: 3.381vw;
        padding-left: 3.85vw;
        padding-top: 3vw;
    }
    .conceptRow.imgRight .textWrap {
        padding-right: 2.65vw;
    }
    html[lang="en"] .conceptRow.imgLeft .textWrap {
        padding-top: 7vw;
    }
    html[lang="en"] .concept2 .conceptRow.imgLeft .textWrap {
        padding-top: 0;
    }
    .concept2 {
        margin-bottom: 12.938vw;
    }

    .concept2 .conceptTop.imgRight .textWrap {
        margin-bottom: 0.738vw;
    }

    .concept2 .conceptRow.imgLeft {
        margin-top: 2.3vw;
    }

    .concept2 .conceptRow.imgLeft .textWrap {
        margin-top: 2.266vw;
        padding-top: 0;
    }

    .concept2 .conceptRow.imgRight {
        margin-top: clamp(-83px, calc(15px + (-98 * (100vw - 769px) / 511)), 15px);
    }
    html[lang="en"] .concept2 .conceptRow.imgRight {
        margin-top: clamp(-84px, calc(146.47px - 16.4vw), 21px);
    }
    html[lang="ko"] .concept2 .conceptRow.imgRight {
        margin-top: clamp(-83px, calc(15px + (-98 * (100vw - 769px) / 511)), 15px);
    }
    .concept2 .conceptRow.imgRight .textWrap {
        margin-bottom: 3.281vw;
    }
    .concept3 .conceptTop.imgLeft {
        padding-left: 4.67vw;
    }
    .concept3 .conceptTop.imgLeft .textWrap {
        margin-top: 9.844vw;
        margin-left: -2.8128vw;
    }

    .concept3 .conceptRow.imgRight {
        margin-top: clamp(-45px, calc(75.28px - 9.397vw), 3px);
    }

    .concept3 .conceptRow.imgRight .textWrap {
        margin-bottom: 10.625vw;
    }
    .concept3 .conceptRow.imgLeft {
        margin-top: clamp(-83px, calc(89.86px - 13.58vw), -14px);
    }
    .concept3 .conceptRow.imgLeft .textWrap {
        margin-bottom: 3.378vw;
        padding-top: 5vw;
    }
    .concept1 .conceptTop .conceptMainText {
        padding-bottom: clamp(48px, -195.4px + 25.18vw, 128px);
    }
    .concept3 .conceptTop .conceptMainText {
        padding-bottom: 6.71vw;
    }
}

@media (max-width: 989px) and (min-width: 769px) {
    html[lang="en"] .concept2 .conceptRow.imgRight {
        margin-top: 3vw
    }
    html[lang="en"] .conceptRow.imgRight .textWrap {
        margin-bottom: 4.625vw;
    }
    html[lang="en"] .concept3 .conceptRow.imgRight .textWrap {
        margin-bottom: 6.625vw
    }
    .conceptArea.bgRainBow::before {
        width: 550px;
    }
    .conceptWrap.bgDiamond:before {
        width: 370px;
        left: -176px;
    }
}
@media (max-width: 900px) and (min-width: 769px) {
    .conceptTop .subTitle {
        font-size: 30px;
    }
    .conceptTop .title {
        font-size: 50px;
    }
    html[lang="en"] .conceptTop .title {
        font-size: 47px;
    }
    html[lang="en"] .conceptTop .subTitle {
        font-size: 26px;
    }
    html[lang="ko"] .conceptTop .subTitle { 
        font-size: 26px;
    }
    html[lang="ko"] .conceptTop .title { 
        font-size: 47px;
    }
    .conceptTop .conceptMainText {
        font-size: 18px;
    }
    .conceptRow .textWrap,
    .concept3 .conceptRow.imgRight .textWrap {
        margin-bottom: 62px;
    }
    html[lang="en"] .conceptRow .textWrap, 
    html[lang="en"] .concept3 .conceptRow.imgRight .textWrap {
        margin-bottom: 40px;
    }   
    .conceptRow .conceptText {
        font-size: 16px;
    }
    .concept2 .conceptRow.imgLeft .textWrap {
        margin-top: 4.6vw;
        margin-bottom: 29px;
    }
    .conceptRow.imgLeft .textWrap {
        padding-left: 2.85vw;
    }
}
@media (max-width: 800px) and (min-width: 769px) {
    .conceptRow .textWrap,
    .concept3 .conceptRow.imgRight .textWrap {
        margin-bottom: 38px;
    }
    html[lang="en"] .conceptRow .textWrap, 
    html[lang="en"] .concept3 .conceptRow.imgRight .textWrap {
        margin-bottom: 25px;
    }   
    html[lang="en"] .conceptRow.imgLeft .textWrap {
        padding-top: 5vw;
    }
    html[lang="en"] .concept2 .conceptRow.imgLeft .textWrap {
        margin-bottom: 25px;
    }
}
@media (max-width: 768px) {
    .main .wrapMain .mainPhoto img {
        aspect-ratio: 450/325.5;
    }
    .main .wrapMain .wrapCatchphrase {
        right: auto;
        top: 12.88vw;
        left: 42px;
        width: 18.2vw;
    }
    .conceptArea {
        padding: 1px 0 5.333vw;
    }

    .conceptArea .inner {
        padding: 0;
    }

    .conceptBlock {
        margin-bottom: 2.889vw;
    }

    .conceptTop,
    .conceptRow,
    .conceptTop.imgLeft,
    .conceptTop.imgRight,
    .conceptRow.imgLeft,
    .conceptRow.imgRight {
        flex-direction: column;
        margin-top: 0;
        margin-bottom: 6.767vw;
        align-items: start;
        padding-left: 0;
        padding-right: 0;
    }

    .conceptTop.imgLeft,
    .conceptTop.imgRight,
    .conceptRow.imgLeft,
    .conceptRow.imgRight {
        padding: 0 10.2%;
    }

    .conceptRow.imgRight .imgWrap,
    .conceptRow.imgLeft .imgWrap {
        width: 100%;
        margin-bottom: 0;
    }

    .conceptRow.imgLeft,
    .conceptRow.imgRight {
        margin-bottom: 4.967vw;
    }

    .conceptRow.imgLeft:last-child,
    .conceptRow.imgRight:last-child {
        margin-bottom: 0;
    }

    .conceptTop .imgWrap,
    .conceptTop .textWrap,
    .conceptRow .imgWrap,
    .conceptRow .textWrap {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .conceptTop .imgWrap,
    .conceptRow .imgWrap {
        order: -1;
        margin-bottom: 4.444vw;
    }

    .conceptTop .textWrap {
        margin-top: -14.444vw;
        margin-left: 0;
        margin-right: 0;
        position: relative;
        z-index: 5;
        display: flex;
        flex-direction: column;
        padding: 0 3.333vw;
        width: 100%;
    }

    /* .conceptTop.imgLeft .subTitle,
    .conceptTop.imgLeft .title {
        text-align: left;
        justify-self: end;
    } */

    .conceptTop.imgRight .textWrap {
        align-items: flex-end;
    }

    .conceptTop.imgRight .subTitle,
    .conceptTop.imgRight .title {
        text-align: right;
    }

    .conceptTop .subTitle {
        font-size: 3.889vw;
        margin-bottom: 1.111vw;
        letter-spacing: -0.089vw;
        font-weight: bold;
    }
    .concept1 .conceptTop .subTitle {
        max-width:  30.889vw;
    }
    .concept2 .conceptTop.imgRight .subTitle {
        font-size: 3.28vw;
        letter-spacing: 0;
        max-width:  46.5%;
        width: 100%;
    }
    .conceptTop .title {
        font-size: 7.111vw;
        margin-bottom: 0;
        letter-spacing: 0.222vw;
        padding-right: 1.111vw;
        text-shadow: 2px 2px 4px rgba(0,0,0,.3);
    }
    html[lang="zh-CN"] .concept1 .conceptTop .title {
        max-width: 30.889vw;
        width: 100%;
    }
    .conceptTop .conceptMainText {
        font-size: 2.889vw;
        width: 100%;
        text-align: justify;
        padding: 0;
        margin-top: 4.444vw;
    }

    .conceptRow .textWrap,
    .conceptRow.imgLeft .textWrap {
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        border-bottom: none;
        border-left: 2px solid #000;
        padding-bottom: 1.111vw;
        padding-top: 1.7vw;
        padding-left: 2.167vw;
        padding-right: 10.444vw;
        width: 92.9%;
        align-self: flex-end;
    }

    .conceptRow .conceptText {
        font-size: 2.667vw;
    }

    .concept1 .conceptTop.imgLeft {
        padding-left: 0;
        align-items: start;
        padding-right: 0;
    }

    .concept1 .conceptTop.imgLeft .imgWrap {
        max-width: 83.6vw;
        width: 100%;
        margin-left: -23.778vw;
        margin-top: -2.667vw;
        margin-bottom: 0;
    }

    .conceptTop.imgLeft .textWrap {
        align-items: end;
        padding: 0 10.2%;
        max-width: unset;
        margin-top: -21.778vw;
    }

    .concept2 .conceptTop.imgRight {
        padding-left: 0;
        padding-right: 0;
    }

    .concept2 .conceptTop.imgRight .imgWrap {
        max-width: 58.289vw;
        width: 100%;
        margin-left: auto;
        transform: translate(1px,-1px);
    }

    .concept2 .conceptTop.imgRight .subTitle, 
    .concept2 .conceptTop.imgRight .title {
        text-align: left;
    }

    .concept2 .conceptTop.imgRight .textWrap {
        align-self: flex-start;
        align-items: flex-start;
        max-width: unset;
        padding: 0 10.22% 0 9.02%;
        margin-top: -20vw;
        margin-bottom: 0;
    }
    html[lang="en"] .concept2 .conceptTop.imgRight .textWrap {
        margin-top: -36.2vw;
    }
    .concept2 .conceptTop.imgRight .title {
        font-size: 6vw;
        max-width: 39.4vw;
    }

    .concept2 .conceptTop.imgRight .subTitle {
        padding-left: 1.111vw;
    }

    .concept2 .conceptTop .conceptMainText {
        margin-top: 7.111vw;
        padding-left: 0.889vw;
    }

    .concept2 .conceptRow.imgLeft {
        margin-bottom: 5.111vw;
    }

    .concept2 .conceptRow.imgLeft .textWrap {
        margin-top: 0;
    }

    .concept2 .conceptRow.imgRight {
        margin-top: 0;
    }

    .concept3 .conceptTop.imgLeft {
        padding: 0;
        margin-bottom: 5.2vw;
    }

    .conceptTop.imgLeft .imgWrap {
        max-width: 94.444vw;
        width: 100%;
        margin-bottom: 0;
        margin-left: -20.833vw;
    }

    .concept3 .conceptTop.imgLeft .textWrap {
        margin-top: -17.033vw;
        margin-left: 0;
        max-width: unset;
    }
    html[lang="en"] .concept3 .conceptTop.imgLeft .textWrap {
        margin-top: -27.844vw;
    }
    .concept3 .conceptTop.imgLeft .title {
        font-size: 6.398vw;
        letter-spacing: 0;
    }

    .concept3 .conceptTop.imgLeft .subTitle {
        font-size: 3.413vw;
    }

    .concept3 .conceptTop.imgLeft .title,
    .concept3 .conceptTop.imgLeft .subTitle {
        width: 100%;
        padding-left: 41vw;
        padding-right: 0;
    }
    html[lang="en"] .concept3 .conceptTop.imgLeft .title,
    html[lang="en"] .concept3 .conceptTop.imgLeft .subTitle {
        padding-left: 52vw;
    }
    .concept3 .conceptTop .conceptMainText {
        margin-top: 2.711vw;
        text-indent: -1.778v;
    }

    .concept3 .conceptRow.imgRight {
        margin-top: 0;
        margin-bottom: 4.367vw;
    }

    .concept3 .conceptRow.imgRight .textWrap {
        margin-bottom: 0;
    }

    .concept3 .conceptRow.imgLeft .textWrap {
        margin-bottom: 0;
    }
    .conceptArea.bgTriangle:after {
        top: 9.4%;
        /* bottom: -54.7vw; */
        right: 0;
        width: 90.8%;

    }
    .conceptWrap.bgRainBow::after {
        top: -3.4vw;
        right: -15.7vw;
        width: 64.44%;
    }
    .conceptWrap.bgDiamond:before {
        top: 49.5%;
        left: unset;
        width: 79.77%;
        right: -34vw;
        max-width: unset;
    }
    .conceptArea.bgRainBow::before {
        max-width: unset;
        width: 98.49%;
        bottom: 6.9%;
        right: -25.9%;
    }
    .conceptBlock:last-child {
        margin-top: -87px;
    }
    .concept3.bgTriangle:after {
        width: 73.11%;
        left: 0;
        top: 6.3%;
        bottom: unset;
        background: url("../images/concept/bg-triangle.png") no-repeat;
        background-size: 100%;
    }
    .conceptBlock.concept2.bgDiamond::before {
        display: block;
        width: 79.7%;
        height: 50%;
        left: -23%;
        top: 2.5%;
    }
}
@media (max-width: 449px) {
    .conceptTop .subTitle { 
        font-size: 17.5px; 
    }
    .conceptTop .title { 
        font-size: 32px;
     }
    .conceptTop .conceptMainText { 
        font-size: 13px; 
    }
    .conceptRow .conceptText { 
        font-size: 12px; 
    }
    .concept2 .conceptTop.imgRight .title { 
        font-size: 27px; 
    }
    .concept2 .conceptTop.imgRight .subTitle {
        font-size: 14.7px;
    }
    .concept3 .conceptTop.imgLeft .title { 
        font-size: 28.79px; 
    }
    .concept3 .conceptTop.imgLeft .subTitle { 
        font-size: 15.36px; 
    }
}
@media (max-width: 430px) {
    .conceptTop .subTitle {
        font-size: 15px;
    }
    .concept2 .conceptTop.imgRight .subTitle {
        font-size: 13px;
    }
    .concept1 .conceptTop .subTitle {
        max-width: 131.47px;
        width: 100%;
    }
    .conceptTop .title {
        padding-right: 0;
    }
    .concept3 .conceptTop.imgLeft .title {
        font-size: 27px;
    }
    .concept2 .conceptTop.imgRight .subTitle,
    .concept3 .conceptTop.imgLeft .subTitle {
        font-size: 13px;
    }
    html[lang="ko"] .conceptTop .title {
        letter-spacing: -0.5px;
        font-size: 30px;
    }
    html[lang="ko"] .concept2 .conceptTop.imgRight .subTitle {
        letter-spacing: -1.5px;
    }
    html[lang="ko"] .concept1 .conceptTop .subTitle {
        max-width: 160px;
        letter-spacing: -1px;
    }
    html[lang="ko"] .concept1 .conceptTop.imgLeft .textWrap {
        margin-top: -75px;
    }
}
@media (max-width: 414px) {
    .conceptTop.imgLeft,
    .conceptTop.imgRight,
    .conceptRow.imgLeft,
    .conceptRow.imgRight {
        padding: 0 6%;
    }
    .conceptTop.imgLeft .textWrap {
        padding: 0 6%;
    }
    .concept2 .conceptTop.imgRight .textWrap {
        padding: 0 6%;
    }
    html[lang="ko"] .concept1 .conceptTop .subTitle {
        letter-spacing: -0.6px;
        max-width: 162px;
    }
    html[lang="ko"] .concept2 .conceptTop.imgRight .subTitle {
        letter-spacing: -1.1px;
        padding-left: 2px;
    }
}
@media (max-width: 390px) {
    .concept1 .conceptTop .title {
        font-size: 31px;
    }
    .concept1 .conceptTop .subTitle {
        font-size: 14px;
        padding-left: 3px;
        max-width: 130px;
    }
    html[lang="zh-CN"] .concept1 .conceptTop .title {
        max-width: 130px;
    }
    html[lang="ko"] .concept1 .conceptTop .subTitle {
        letter-spacing: -1.1px;
        align-self: flex-start;
        padding-left: 0;
    }
    html[lang="ko"] .concept1 .conceptTop .title {
        font-size: 29px;
        align-self: flex-start;
        letter-spacing: -0.8px;
    }
    html[lang="ko"] .concept1 .conceptTop .subTitle,
    html[lang="ko"] .concept1 .conceptTop .title {
        margin-left: 51%;
    }
    html[lang="en"] .concept1 .conceptTop .subTitle {
        padding-left: 7px;
        max-width: 217px;
    }
    html[lang="en"] .concept1 .conceptTop.imgLeft .textWrap {
        margin-top: -20px;
    }
    html[lang="ko"] .concept1 .conceptTop.imgLeft .textWrap {
        margin-top: -54px;
    }
    html[lang="ko"] .concept2 .conceptTop.imgRight .subTitle {
        letter-spacing: -1.4px;
    }
    .concept2 .conceptTop.imgRight .subTitle {
        max-width: 50.8%;
        letter-spacing: 0
    }
    html[lang="en"] .concept2 .conceptTop.imgRight .subTitle {
        max-width: 50%;
    }

    .concept2 .conceptTop.imgRight .imgWrap {
        max-width: 54vw;
    }
    .conceptTop .subTitle {
        letter-spacing: -0.5px;
    }
    .concept2 .conceptTop.imgRight .title {
        letter-spacing: -0.1px;
        max-width: 41.8vw;
    }
    
    html[lang="en"] .concept2 .conceptTop.imgRight .title {
        letter-spacing: -1.7px;
    }
    .concept3 .conceptTop.imgLeft .title {
        letter-spacing: -0.6px;
    }
}   