main {
    max-width: 1914px;
    margin: 0 auto;
}
section {
    position: relative;
}
section .title {
    color: #111;
    font-size: 3rem;
    line-height: 3.5rem;
    padding: 10px 0;
    font-weight: 600;
}
section .subTitle {
    color: #900020;
    font-size: 1.7rem;
}
section .message {
    color: #555;
    font-size: 1.5rem;
    line-height: 160%;
}

#mainBanner {}
#mainBanner .bannerText {
    position: absolute;
    top: 30%;
    left: 70%;
}
#mainBanner .bannerText .textGroup {
    color: #fff;
    font-size: 1.1rem;
    display: flex;
    margin-bottom: 1rem;
}
#mainBanner .bannerText .textGroup li {
}
#mainBanner .bannerText .textGroup .line {
    flex: 1;
    border-bottom: 1px solid #fff;
    height: 10px;
    opacity: 1;
}
#mainBanner .bannerText .textGroup .text {
    text-align: right;
    padding-left: 10px;
    opacity: 0;
}
#mainBanner .bannerText .logo {
    width: 15vw;
    max-width: 280px;
    min-width: 180px;
    opacity: 1;
}
#mainBanner .banner {}
#mainBanner .banner img {}
#mainBanner .makuake {
    position: absolute;
    width: 100%;
    bottom: 2%;
    display: flex;
    justify-content: center;
    z-index: 1;
}
#mainBanner .makuake a {}
#mainBanner .makuake a img {
    width: 100%;
}

#mainBannerText {
    padding: 10vh 0px 20vh;
}
#mainBannerText .logoBg {
    text-align: right;
}
#mainBannerText .logoBg img {
    width: 50%;
}
#mainBannerText .info {
    text-align: center;
}
#mainBannerText .info .title {line-height: 2rem;font-weight: 600;}
#mainBannerText .info .title strong {
    color: #900020;
}
#mainBannerText .info .subTitle {
    color: #555;
    margin-top: 10px;
}
#mainBannerText .info .subTitle strong {
    font-size: 1.8rem;
    color: #900020;
}

#oxidation {
    padding: 0 50px;
}
#oxidation .banner {
    display: flex;
    justify-content: center;
}
#oxidation .banner img {
    border-radius: 50px;
}
#oxidation .info {
    padding-top: 10vh;
    padding-bottom: 18vh;
    text-align: center;
}
#oxidation .info .subTitle {
}
#oxidation .info .title {
}
#oxidation .info .message {
}

#storage {
    background-color: #F8F8F8;
    padding: 18vh 50px;
}
#storage .info {
    max-width: 1500px;
    margin: 0 auto;
}
#storage .info .message {
    color: #111;
    font-size: 2.5rem;
    line-height: 3.5rem;
}
#storage .info .message strong {}
#storage .wineStorage {
    display: flex;
    justify-content: space-between;
    max-width: 1500px;
    margin: 8vh auto 0;
    flex-wrap: wrap;
}
#storage .wineStorage li {}
#storage .wineStorage li img {
    width: 20.5vw;
    max-width: 346px;
    border-radius: 25px;
    box-shadow: 11px 10px 37px 0px rgba(0, 0, 0, 0.11);
}

#vacuum {
    display: flex;
    align-items: center;
}
#vacuum .banner {
    width: 50%;
}
#vacuum .banner img {
    width: 100%;
}
#vacuum .info {
    padding-left: 100px;
    width: 50%;
    box-sizing: border-box;
}
#vacuum .info .subTitle {
}
#vacuum .info .title {
}
#vacuum .info .title strong {}
#vacuum .info .message {width: 50%;word-break: keep-all;}
#vacuum .info .message strong {
    color: #900020;
}

#repose {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    padding-bottom: 10vh;
}
#repose .banner {
    width: 50%;
}
#repose .banner img {}
#repose .info {
    width: 50%;
    text-align: right;
    padding-right: 100px;
    box-sizing: border-box;
}
#repose .info .subTitle {
}
#repose .info .title {
}
#repose .info .title br {}
#repose .info .message {
    word-break: keep-all;
}

#step {
    padding: 18vh 50px;
}
#step .info {
    max-width: 1500px;
    padding-bottom: 10vh;
    margin: 0 auto;
}
#step .info .subTitle {
    color: #111;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 3.5rem;
}
#step .info .title {
    padding: 0 0 20px;
}
#step .info .message {
}
#step .banner {
    text-align: center;
    max-width: 1500px;
    margin: 0 auto;
}
#step .banner .movie {
    width: 100%;
    position: relative;
    padding-bottom: 56.25%; /* 16:9 비율을 유지하기 위한 비율 */
    overflow: hidden;
}
#step .banner video {
    border-radius: 50px;position: absolute;top: 0;left: 0;width: 100%;height: 100%;
    cursor: pointer;
}
#step .banner .movie .play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.6);
    border: none;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: none;
    z-index: 10;
}
#step .banner .movie .play-btn::before {
    content: '';
    border-style: solid;
    border-width: 20px 0 20px 30px;
    border-color: transparent transparent transparent white;
    margin-left: 5px;
}
#step .banner .movie .hidden {
    display: none;
}

#time {
    padding: 18vh 0 0;
}
#time .info {
    padding: 0 50px 10vh;
    max-width: 1500px;
    margin: 0 auto;
    box-sizing: border-box;
}
#time .info .subTitle {}
#time .info .title {
}
#time .info .title img {
    width: 200px;
    margin-right: 5px;
}
#time .info .message {}
#time .banner {}
#time .banner img {}

#wash {
    padding: 18vh 50px;
    background-color: #f8f8f8;
}
#wash .info {
    text-align: center;
    padding-bottom: 8vh;
    max-width: 1500px;
    margin: 0 auto;
}
#wash .info .subTitle {
}
#wash .info .title {
    font-weight: 400;
}
#wash .info .title strong {}
#wash .info .message {
}
#wash .banner {
    display: flex;
    justify-content: space-evenly;
    max-width: 1500px;
    margin: 0 auto;
}
#wash .banner li {}
#wash .banner .left {}
#wash .banner .left img {
    border-radius: 16vw 16vw 8vw 0px;
    max-width: 632px;
    width: 36vw;
}
#wash .banner .right {}
#wash .banner .right img {
    border-radius: 8vw 0 16vw 16vw;
    max-width: 632px;
    width: 36vw;
}

#korea {
    padding: 18vh 50px;
}
#korea .info {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 8vh;
    max-width: 1500px;
    margin: 0 auto;
}
#korea .info .text {
    flex: 1;
}
#korea .info .text .subTitle {}
#korea .info .text .title {
}
#korea .info .text .message {}
#korea .info .certification {}
#korea .info .certification img {
    width: 48vw;
    max-width: 718px;
}
#korea .banner {
    display: flex;
    justify-content: space-between;
    max-width: 1500px;
    margin: 0 auto;
    gap: 50px;
}
#korea .banner li {border-radius: 20px;overflow: hidden;line-height: 0;}
#korea .banner li img {
    max-width: 720px;
    width: 43vw;
    border-radius: 15px;
}
#korea .banner li video {
    width: 100%;
}
#korea .banner .left {}
#korea .banner .right {}
#korea .banner .left video {}
#korea .banner .right video {
}

#shop {
    padding: 18vh 0px 0 50px;
    background-color: #F8F8F8;
}
#shop .info {max-width: 1500px;margin: 0 auto;}
#shop .info .subTitle {}
#shop .info .subTitle img {
    max-width: 160px;
    width: 11vw;
}
#shop .info .title {
    padding: 10px 0;
}
#shop .info .message {position: relative;z-index: 10;}
#shop .product {
    position: relative;
    padding-bottom: 50%;
}
#shop .product li {
    position: absolute;
    

/* product */
    cursor: pointer;
}
#shop .product li img {
    border-radius: 15px;
    box-shadow: 14px 11px 6px 0px rgb(0 0 0 / 2%);
    max-width: 280px;
    width: 15vw;
}
#shop .product li .info {
    max-height: 0;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    width: 100%;
    border-radius: 0 0 15px 15px;
    padding: 0px 2vw;
    box-sizing: border-box;
    font-size: 18px;
    font-size: 1rem;
    background-image: linear-gradient(to bottom, rgb(255 255 255 / 50%), rgba(255, 255, 255, 1));
    transition: max-height 0.5s ease-out;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
#shop .product li:hover .info {
    max-height: 100px;
}
#shop .product li .info dt {
    padding-top: 6%;
}
#shop .product li .info dd {
    display: flex;
    justify-content: space-between;
    padding-bottom: 6%;
}
#shop .product li .info dd span {}
#shop .product li .info dd i {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: #900020;
    border-radius: 12px;
    text-align: center;
    line-height: 24px;
    color: #fff;
}
#shop .product .goods1 {
    left: 65%;
    top: -10%;
    z-index: 6;
}
#shop .product .goods1 img {
    max-width: 470px;
    width: 25vw;
}
#shop .product .goods2 {
    top: 37%;
    left: 65%;
    z-index: 5;
}
#shop .product .goods3 {
    top: 18%;
    left: 48%;
    z-index: 4;
}
#shop .product .goods4 {
    top: 54%;
    left: 48%;
    z-index: 3;
}
#shop .product .goods5 {
    top: 30%;
    left: 31%;
    z-index: 2;
}
#shop .product .button {
    top: 66%;
    left: 31%;
    width: 15vw;
    max-width: 280px;
    z-index: 1;
}
#shop .product .button a {
    display: block;
    background-color: #900020;
    color: #fff;
    font-size: 19px;
    font-size: 1.1rem;
    padding: 10px 0;
    border-radius: 10px;
    text-align: center;
}

#app {
    background-color: #1D1D1F;
    padding: 18vh 50px;
}
#app .logoBg {
    position: absolute;
    width: 100%;
    left: 0;
    top: 300px;
    z-index: 1;
}
#app .logoBg img {}
#app .info {
    padding-bottom: 50px;
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
#app .info .subTitle {
    color: #B4B4B4;
}
#app .info .title {
    color: #fff;
    font-weight: 100;
    padding: 10px 0;
}
#app .info .title img {
    width: 160px;
    margin-right: 10px;
}
#app .info .message {
    color: #B4B4B4;
}
#app .info .appDown {
    /* color: #FFEB3B; */
    /* font-size: 14px; */
}
#app .info .appDown {
    display: flex;
    margin-top: 20px;
}
#app .info .appDown a {
    width: 150px;
    height: 50px;
    border-radius: 4px;
    border: 2px solid #E8E8E8;
    background: #FFF;
    box-shadow: 0px 1.495px 2.31px 0px rgba(0, 0, 0, 0.03), 0px 4.132px 6.386px 0px rgba(0, 0, 0, 0.04), 0px 9.949px 15.375px 0px rgba(0, 0, 0, 0.06), 0px 33px 51px 0px rgba(0, 0, 0, 0.08);
    display: inline-flex;
    justify-content: center;
}
#app .info .appDown .googleDown {
}
#app .info .appDown .googleDown .google {
    display: flex;
    align-items: center;
}
#app .info .appDown a .logoIcon {
    margin-right: 7px;
}
#app .info .appDown a .logoIcon img {
}
#app .info .appDown a .downText {
    display: flex;
    flex-direction: column;
}
#app .info .appDown a .downText .subTitle {
    color: #282828;
    font-size: 10px;
    font-weight: 500;
    line-height: normal;
}
#app .info .appDown a .downText .title {
    color: #282828;
    font-size: 14px;
    font-weight: 700;
    padding: 0;
    line-height: 15px;
}
#app .info .appDown .appleDown {margin-left: 10px;}
#app .info .appDown .appleDown .apple {
    display: flex;
    align-items: center;
}
#app .banner {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    max-width: 1500px;
    margin: 0 auto;
    align-items: center;
}
#app .banner li {}
#app .banner li img {
    border-radius: 30px;
    max-width: 360px;
    width: 21vw;
}
#app .banner .app {}
#app .banner .app img {
    max-width: 729px;
    width: 44vw;
}

/* pad 세로 및 모바일 */
@media only screen and (max-width: 1023px) {
    main {}
    section {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
    section .title {
    word-break: auto-phrase;
    font-size: 1.8rem;
    line-height: 2.3rem;
}
    section .subTitle {
    word-break: auto-phrase;
    font-size: 1rem;
}
    section .message {
    font-size: 1rem;
}

    #mainBanner {
    margin: 0 -180px 0 -120px;
}
    #mainBanner .bannerText {
    top: 60%;
    left: 50%;
    right: unset;
    z-index: 3;
}
    #mainBanner .bannerText .textGroup {
    font-size: 14px;
}
    #mainBanner .bannerText .textGroup li {
    }
    #mainBanner .bannerText .textGroup .line {}
    #mainBanner .bannerText .textGroup .text {}
    #mainBanner .bannerText .logo {width: 120px;min-width: unset;}
    #mainBanner .banner {transform: translateX(40px);}
    #mainBanner .banner img {}

    #makuake {}
    #makuake .makuake {}
    #makuake .makuake a {}
    #makuake .makuake img {}

    #mainBannerText {
    padding: 5vh 0px 10vh;
}
    #mainBannerText .logoBg {}
    #mainBannerText .logoBg img {
    width: 60vw;
}
    #mainBannerText .info {}
    #mainBannerText .info .title {
    font-size: 1.8rem;
    line-height: 2.3rem;
}
    #mainBannerText .info .title strong {}
    #mainBannerText .info .subTitle {}

    #oxidation {}
    #oxidation .banner {
    overflow: hidden;
    border-radius: 20px;
}
    #oxidation .banner img {
    max-width: 150%;
}
    #oxidation .info {
    padding-top: 5vh;
    padding-bottom: 10vh;
}
    #oxidation .info .subTitle {}
    #oxidation .info .title {}
    #oxidation .info .message {}

    #storage {
    padding: 10vh 50px;
}
    #storage .info {}
    #storage .info .message {
    font-size: 1.4rem;
    line-height: 2.5rem;
}
    #storage .info .message strong {}
    #storage .wineStorage {
    flex-wrap: wrap;
    margin-top: 5vh;
}
    #storage .wineStorage li {
    width: 48%;
    padding-bottom: 4%;
}
    #storage .wineStorage li img {
    width: 100%;
    border-radius: 10px;
}

    #vacuum {
    flex-direction: column-reverse;
    padding: 10vh 0;
}
    #vacuum .banner {
    width: 100%;
    margin-top: 5vh;
}
    #vacuum .banner img {
    border-radius: 20px;
}
    #vacuum .info {
    width: 100%;
    padding: 0;
}
    #vacuum .info .subTitle {}
    #vacuum .info .title {}
    #vacuum .info .title strong {}
    #vacuum .info .message {
    width: 100%;
}

    #repose {
    flex-direction: column-reverse;
    padding: 5vh 0 10vh;
}
    #repose .banner {
    width: 100%;
    margin-top: 5vh;
}
    #repose .banner img {
    border-radius: 20px;
}
    #repose .info {
    width: 100%;
    padding: 0;
}
    #repose .info .subTitle {}
    #repose .info .title {}
    #repose .info .title br {}
    #repose .info .message {}

    #step {
    padding: 9vh 50px;
}
    #step .info {
    padding-bottom: 5vh;
}
    #step .info .subTitle {
    font-size: 1.8rem;
    line-height: 2.5rem;
}
    #step .info .title {}
    #step .info .message {
}
    #step .banner {}
    #step .banner .movie {}
    #step .banner video {
    border-radius: 20px;
}

    #time {
    padding: 9vh 0 0 !important;
}
    #time .info {
    padding: 0 20px 5vh;
}
    #time .info .subTitle {}
    #time .info .title {}
    #time .info .title img {
    width: 30vw;
}
    #time .info .message {}
    #time .banner {}
    #time .banner img {}

    #wash {
    padding: 10vh 50px 9vh;
}
    #wash .info {
    padding-bottom: 5vh;
}
    #wash .info .subTitle {}
    #wash .info .title {}
    #wash .info .title strong {}
    #wash .info .message {}
    #wash .banner {
    justify-content: space-between;
}
    #wash .banner li {}
    #wash .banner .left {}
    #wash .banner .left img {
    width: 42vw;
}
    #wash .banner .right {}
    #wash .banner .right img {
    width: 42vw;
}

    #korea {
    padding: 9vh 50px;
}
    #korea .info {
    flex-direction: column;
    padding-bottom: 3vh;
}
    #korea .info .text {}
    #korea .info .text .subTitle {}
    #korea .info .text .title {}
    #korea .info .text .message {}
    #korea .info .certification {
    padding-top: 3vh;
}
    #korea .info .certification img {
    width: 100%;
}
    #korea .banner {
    flex-direction: column;
}
    #korea .banner li {}
    #korea .banner li img {}
    #korea .banner li video {}
    #korea .banner .left {}
    #korea .banner .right {}
    #korea .banner .left video {}
    #korea .banner .right video {}

    #shop {
    padding: 9vh 0px 9vh 50px;
}
    #shop .info {}
    #shop .info .subTitle {}
    #shop .info .subTitle img {
    width: 25vw;
}
    #shop .info .title {}
    #shop .info .message {}
    #shop .product {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 5vh;
    padding-bottom: unset;
}
    #shop .product li {position: relative;left: unset !important;top: unset !important;width: 47%;margin-bottom: 2vh;}
    #shop .product li img {
    width: 100%;
    border-radius: 10px;
    box-shadow: unset;
}
    #shop .product li .info {
    position: relative;
    max-height: unset;
    margin-top: -10px;
    border-radius: 0 0 10px 10px;
    font-size: 0.9rem;
}
    #shop .product li:hover .info {}
    #shop .product li .info dt {
    padding-top: 8%;
    padding-bottom: 10px;
}
    #shop .product li .info dd {}
    #shop .product li .info dd span {}
    #shop .product li .info dd i {}
    #shop .product .goods1 {
    width: 100%;
}
    #shop .product .goods1 img {
    width: 100%;
}
    #shop .product .goods2 {}
    #shop .product .goods3 {}
    #shop .product .goods4 {}
    #shop .product .goods5 {}
    #shop .product .button {
    width: 100%;
    max-width: 100%;
}
    #shop .product .button a {}

    #app {
    padding: 9vh 50px;
}
    #app .logoBg {}
    #app .logoBg img {}
    #app .info {
    padding-bottom: 5vh;
}
    #app .info .subTitle {}
    #app .info .title {}
    #app .info .title img {
    width: 30vw;
}
    #app .info .message {}
    #app .info .appDown {
        font-size: 12px;
    }
    #app .info .appDown a {
    width: 50%;
}
    #app .banner {
    flex-wrap: wrap;
}
    #app .banner li {
    width: 48%;
}
    #app .banner li img {
    width: 100%;
    border-radius: 10px;
}
    #app .banner .app {
    width: 100%;
    margin-top: 3%;
}
    #app .banner .app img {
    width: 100%;
}
}