@keyframes aniStroke {
    0% {
        stroke-dashoffset: 1050
    }

    to {
        stroke-dashoffset: 0
    }
}

@keyframes DrawStroke {
    0% {
        stroke-dashoffset: 800;
        transform: scale(1.4)
    }

    50% {
        transform: none
    }

    to {
        stroke-dashoffset: 0
    }
}

@keyframes Loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.container,
.footer,
.header,
.project-register {
    visibility: hidden
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
canvas,
caption,
center,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
iframe,
img,
ins,
kbd,
label,
legend,
li,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline
}

body,
html {
    border: 0;
    vertical-align: baseline
}

cite,
em,
i,
mark,
sup {
    margin: 0;
    padding: 0;
    border: 0
}

*,
:after,
:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

:root {
    --color-normal: #186376;
    --color-normal-light: #338d9e;
    --color-normal-dark: #04193a;
    --color-highlight: #f2baa8;
    --color-white: #fff;
    --color-red: #d82727;
    --color-pink: #ee849f;
    --color-black: #333;
    --color-grey: #646875;
    --color-grey-light: #aaa;
    --color-light: #ddd;
    --color-white-grey: #efefef;
    --color-bg: #ececec;
    --color-bg-black: #000;
    --color-text-scroll: #f2f2f2;
    --color-green-dark: #186376;
    --color-white-alpha: rgba(255, 255, 255, 0.5);
    --color-black-alpha: rgba(0, 0, 0, 0.5);
    --color-normal-alpha-03: rgba(24, 99, 118, 0.3);
    --color-normal-alpha: rgba(24, 99, 118, 0.5);
    --color-highlight-alpha: rgba(242, 186, 168, 0.5);
    --color-white-zero: rgba(255, 255, 255, 0);
    --color-white-alpha-01: rgba(255, 255, 255, 0.1);
    --color-white-alpha-02: rgba(255, 255, 255, 0.2);
    --color-white-alpha-03: rgba(255, 255, 255, 0.3);
    --color-white-alpha-04: rgba(255, 255, 255, 0.4);
    --color-white-alpha-05: rgba(255, 255, 255, 0.5);
    --color-white-alpha-06: rgba(255, 255, 255, 0.6);
    --color-white-alpha-07: rgba(255, 255, 255, 0.7);
    --color-white-alpha-08: rgba(255, 255, 255, 0.8);
    --color-white-alpha-09: rgba(255, 255, 255, 0.9);
    --color-black-zero: rgba(0, 0, 0, 0);
    --color-black-alpha-01: rgba(0, 0, 0, 0.1);
    --color-black-alpha-02: rgba(0, 0, 0, 0.2);
    --color-black-alpha-03: rgba(0, 0, 0, 0.3);
    --color-black-alpha-04: rgba(0, 0, 0, 0.4);
    --color-black-alpha-05: rgba(0, 0, 0, 0.5);
    --color-black-alpha-06: rgba(0, 0, 0, 0.6);
    --color-black-alpha-07: rgba(0, 0, 0, 0.7);
    --color-black-alpha-08: rgba(0, 0, 0, 0.8);
    --color-black-alpha-09: rgba(0, 0, 0, 0.9);
    --color-border-gradient: linear-gradient(135deg, #f2baa8 0%, rgba(255, 255, 255, 0.5) 50%, #f2baa8 100%);
    --color-white-circle: radial-gradient(circle, #fff 0%, rgba(255, 255, 255, 0) 70%);
    --color-grey-gradient: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 90%, #fff 100%);
    --color-normal-gradient: linear-gradient(90deg, rgba(24, 99, 118, 1) 20%, rgba(24, 99, 118, 0) 60%);
    --color-load-gradient: linear-gradient(0deg, #f2baa8 0%, #fff 80%);
    --color-black-multi: linear-gradient(135deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 50%);
    --color-normal-hide: linear-gradient(0deg, rgba(24, 99, 118, 1) 20%, rgba(24, 99, 118, 0) 80%);
    --color-white-gradient: linear-gradient(115deg, #fff 0%, #fff 45%, rgba(255, 255, 255, 0) 70%);
    --color-white-spec: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 30%, rgba(255, 255, 255, 0.95) 60%, rgba(255, 255, 255, 0) 100%);
    --color-a1: #cebaaf;
    --color-a2: #9b8b83;
    --color-b1: #38b4c1;
    --color-b1-2: #60c3cd;
    --color-b2: #2a8791;
    --color-b3: #1c5a61;
    --color-c1: #f1baa6;
    --elevator: #cfeaff;
    --fire-ladder: #ffd7e2;
    --open-floor: #8e8e8e;
    --lobby: #cccccc;
    --titleBig: 4vw;
    --titleFont: clamp(38px, 10vw, 3vw);
    --titleMedium: clamp(32px, 10vw, 2.5vw);
    --titleSmall: clamp(28px, 10vw, 2vw);
    --titleMin: clamp(22px, 10vw, 1.5vw);
    --titleScale: clamp(16px, 10vw, 1vw)
}

blockquote,
q {
    quotes: none
}

blockquote::after,
blockquote::before,
q::after,
q::before {
    content: none
}

:focus {
    outline: 0;
    border: 0
}

a {
    color: currentColor
}

p {
    line-height: 1.5
}

strong {
    font-family: SVN-Gilroy-Bold
}

cite,
em,
i {
    font-style: italic
}

a,
cite,
code,
dd,
dl dt,
em,
i,
ins,
mark,
p,
pre,
strong,
sup {
    text-decoration: none
}

cite,
em,
i,
mark,
sup {
    vertical-align: baseline
}

sup {
    bottom: 5px;
    font-size: 70%;
    position: relative
}

button,
mark {
    background-color: transparent
}

mark {
    font-style: italic
}

del {
    text-decoration: line-through
}

[title],
img[alt],
img[title] {
    font-size: 0
}

cite,
em,
h1,
h3,
h4,
h5,
h6,
i {
    line-height: 1.4
}

h2 {
    line-height: 1.1
}

h2,
h2 strong {
    font-weight: 400;
    font-style: normal
}

h1,
h3 {
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

button {
    border: 0;
    cursor: pointer;
    padding-inline: 0
}

button,
input,
select,
textarea {
    -webkit-appearance: none;
    appearance: none
}

img:not([src]) {
    visibility: hidden
}

body,
html {
    width: 100%;
    margin: 0;
    padding: 0
}

html {
    user-select: none;
    height: 100%
}

body {
    height: auto;
    min-height: 100vh;
    font-family: SVN-Gilroy-Regular;
    font-weight: 400;
    color: var(--color-normal);
    background-color: var(--color-highlight)
}

body,
html {
    font-size: .9vw;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

* {
    scrollbar-width: none;
    overflow-anchor: none
}

* ::-webkit-scrollbar,
::-webkit-scrollbar {
    width: 0;
    display: none
}

::-webkit-scrollbar-track {
    background-color: transparent
}

::-webkit-scrollbar-thumb {
    background-color: var(--color-normal)
}

.splitting .char,
.splitting .word {
    display: inline-block
}

.splitting .char {
    position: relative
}

.splitting .char::after,
.splitting .char::before {
    content: attr(data-char);
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    transition: inherit;
    user-select: none
}

.splitting {
    --word-center: calc((var(--word-total) - 1)/2);
    --char-center: calc((var(--char-total) - 1)/2);
    --line-center: calc((var(--line-total) - 1)/2)
}

.splitting .word {
    --word-percent: calc(var(--word-index)/var(--word-total));
    --line-percent: calc(var(--line-index)/var(--line-total))
}

.splitting .char {
    --char-percent: calc(var(--char-index)/var(--char-total));
    --char-offset: calc(var(--char-index) - var(--char-center));
    --distance: calc((var(--char-offset) * var(--char-offset))/var(--char-center));
    --distance-sine: calc(var(--char-offset)/var(--char-center));
    --distance-percent: calc((var(--distance)/var(--char-center)))
}

.mask,
.mask-inner {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-highlight);
    z-index: 2000
}

.mask-inner>span,
.mask>span {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--color-load-rotate);
    animation-name: fadeIn;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    z-index: 1
}

.wrap-logo {
    width: 50vw;
    height: calc(600/150*50vw);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

.load-present,
.loadicon {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible
}

.stroke-line {
    fill: var(--color-normal);
    fill-opacity: 0;
    stroke: var(--color-normal);
    stroke-miterlimit: 10;
    stroke-width: .3;
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    transition: all .6s ease-in-out
}

.loader .stroke-line {
    animation-name: DrawStroke;
    animation-duration: 5s;
    animation-fill-mode: forwards;
    transform-origin: center center
}

.showed .stroke-line {
    stroke-opacity: 0;
    fill-opacity: 1
}

.showed .load-img {
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-fill-mode: forwards
}

.loadx.white .stroke-ani,
.mask-inner.hide,
.mask.hide {
    animation-name: fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards
}

.loadx {
    position: fixed;
    width: 180px;
    height: 180px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: none;
    z-index: 110000
}

.load-text .div-iframe iframe,
.load-text .inside-video video,
.loadx svg,
.logo svg {
    position: relative;
    width: 100%;
    height: 100%;
    display: block
}

.stroke-ani {
    fill: none;
    stroke: var(--color-highlight);
    stroke-miterlimit: 10;
    stroke-width: 1;
    stroke-dasharray: 1050;
    stroke-dashoffset: 1050;
    animation: aniStroke 2s alternate infinite
}

.loadx.white {
    width: 20vw;
    height: 20vw
}

.loadx.white .stroke-ani {
    stroke-width: .5;
    stroke: var(--color-normal);
    animation-name: aniStroke;
    animation-duration: 1s
}

.logo {
    position: absolute;
    width: 16vw;
    height: calc(150/600*16vw);
    top: .8vw;
    left: 2vw;
    pointer-events: none;
    color: var(--color-highlight);
    transition: all .3s ease-in-out;
    z-index: 50
}

.logo.onclick {
    cursor: pointer;
    pointer-events: auto
}

.logo.light {
    color: var(--color-white)
}

.logo.normal {
    color: var(--color-normal)
}

.logo-a,
.logo-a>span {
    position: absolute;
    height: 100%
}

.logo-a {
    width: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
    z-index: 5
}

.logo-a>span {
    opacity: 0
}

.header,
.right-header {
    position: fixed;
    height: auto;
    z-index: 100
}

.header,
.header::after,
.logo-a>span {
    top: 0;
    left: 0;
    width: 100%
}

.header::after {
    content: '';
    position: absolute;
    height: 80px;
    background-color: var(--color-white-alpha-09);
    pointer-events: none;
    transition: opacity .3s ease-in-out;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    opacity: 0
}

.right-header {
    right: var(--off-right);
    top: calc(1vw + 5px);
    width: auto;
    display: flex;
    align-items: center
}

#error-page .title-page,
#home-page .title-page,
#thankyou-page .title-page,
.hotline .icon-ani,
.option-head,
.subscribe.active span {
    display: none
}

.hotline,
.link-home,
.subscribe,
.top-menu {
    position: relative;
    width: auto;
    height: auto;
    display: flex;
    align-items: center
}

.hotline,
.link-home,
.subscribe {
    margin: 0;
    color: var(--color-normal);
    padding: 0 5px
}

.hotline span {
    position: relative;
    display: block;
    font-size: 1.2rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.hotline svg,
.link-home svg {
    position: relative;
    width: 1.8rem;
    height: 1.8rem;
    display: block
}

.hotline svg {
    width: 2.2rem;
    height: 2.2rem;
    margin-right: 15px
}

.subscribe span,
.subscribe svg {
    position: relative;
    width: 2.2rem;
    height: 2.2rem;
    display: none
}

.subscribe span {
    display: block
}

.link-home.current {
    color: var(--color-highlight);
    pointer-events: none
}

.subscribe.active svg {
    display: block
}

.subscribe.hide {
    width: 0;
    overflow: hidden;
    padding: 0
}

.language,
.tooltip {
    width: auto;
    height: auto
}

.tooltip {
    position: absolute;
    left: 50%;
    bottom: -40px;
    font-size: .7rem;
    background: var(--color-white);
    color: var(--color-normal);
    white-space: nowrap;
    border-radius: 25px;
    pointer-events: none;
    transform: translateX(-50%) scale(0);
    opacity: 0;
    transition: opacity .3s ease-in-out, transform .3s cubic-bezier(.57, .21, .69, .95);
    padding: 8px 12px
}

.tooltip::before {
    content: '';
    position: absolute;
    left: calc(50% - 10px);
    top: -8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px;
    border-color: transparent transparent var(--color-white)
}
.tooltip.tooltip-bottom{
	 bottom: 40px;
}
.tooltip.tooltip-bottom::before{
	top:100%;
    border-width: 10px 10px 0;
    border-color: var(--color-white) transparent transparent;
}
.language {
    text-align: center;
    padding: 0 8px;
    z-index: 5
}

.language,
.language li,
.language ul,
.nav-click .line {
    position: relative;
    display: block
}

.language ul {
    width: 100%;
    height: auto
}

.language li {
    align-items: center;
    width: 2.2rem;
    height: 2.2rem;
    display: none;
    color: var(--color-normal);
    border: 1px solid var(--color-normal-alpha);
    border-radius: 50%
}

.language li a,
.language li button,
.nav-click .nav-text span,
.nav-click .nav-text::before {
    display: block;
    font-size: .7rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    color: currentColor;
    text-transform: uppercase
}

.language li a,
.language li button {
    position: relative;
    width: 100%;
    margin: 0;
    text-align: center;
    line-height: 2rem
}

.language li.active {
    display: flex
}

.nav-click,
.nav-click rect {
    transition: all .3s ease-in-out
}

.nav-click {
    position: fixed;
    top: 1vw;
    right: 2vw;
    width: auto;
    height: auto;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-grey);
    padding: 10px 25px;
    background-color: var(--color-highlight);
    border-radius: 2.5rem;
    z-index: 120
}

.nav-click .line {
    width: 2.2rem;
    height: 1.8rem
}

.nav-click rect {
    fill: currentColor;
    transform-origin: center center
}

.nav-click .nav-text {
    position: relative;
    display: block;
    width: auto;
    margin: 0 10px 0 0;
    overflow: hidden
}

.nav-click .nav-text span,
.nav-click .nav-text::before {
    white-space: nowrap;
    transition: transform .5s cubic-bezier(.5, .5, .3, 1)
}

.nav-click .nav-text span {
    letter-spacing: 1px;
    position: relative
}

.nav-click .nav-text::before {
    content: 'Close';
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: 100% 50%;
    transform: translate3d(-120%, 0, 0)
}

.nav-click.active .nav-text span {
    transform: translate3d(0, 100%, 0)
}

.nav-click.active .nav-text::before {
    transform: none
}

.nav-click.active .one {
    transform: translate(10px, 25px) rotate(45deg);
    width: 70px
}

.nav-click.active .four {
    transform: translate(10px, -25px) rotate(-45deg);
    width: 70px
}

.nav-click.active .three,
.nav-click.active .two {
    width: 0
}

.header.active .right-header .language li,
.right-header.light .language li {
    color: var(--color-white);
    border: 1px solid var(--color-white-alpha)
}

.header.active .right-header .hotline,
.header.active .right-header .link-home:not(.current),
.header.active .right-header .subscribe,
.right-header.light .hotline,
.right-header.light .link-home:not(.current),
.right-header.light .subscribe {
    color: var(--color-white)
}

.navigation {
    position: fixed;
    width: 100%;
    height: 100%;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    text-align: center;
    pointer-events: none;
    transform: translate(-100%);
    z-index: 80
}

.navigation>.logo-a {
    width: 50vw;
    height: 100vh
}

.navigation .bg-color {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
    transition: opacity .5s ease-in-out;
    opacity: 0;
    background: var(--color-normal)
}

.nav {
    position: absolute;
    width: 55vw;
    height: auto;
    right: 0;
    display: block;
    text-align: left;
    z-index: 30
}

.main-menu,
.main-menu-bottom {
    position: relative;
    height: auto;
    list-style: none;
    opacity: 0
}

.main-menu {
    width: auto;
    display: inline-block;
    margin: 0;
    padding: 0 15vw 0 0
}

.main-menu li,
.main-menu-bottom li {
    position: relative;
    display: block;
    text-align: left;
    color: var(--color-highlight)
}

.main-menu li {
    margin: 1vh 0;
    padding: 2vh 5vw 2vh 0;
    border-bottom: 1px solid var(--color-highlight-alpha)
}

.main-menu li>a {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    font-size: 3.5vw;
    font-family: SVN-Gilroy-Light;
    font-weight: 300;
    color: currentColor
}

.main-menu li>a small {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    font-size: 1rem;
    margin: 0 15px 0 0;
    color: currentColor;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.main-menu li.current {
    color: var(--color-white)
}

.main-menu-bottom {
    width: calc(100% - 3vw);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3vh 0 4vh;
    border-bottom: 1px solid var(--color-white-alpha-05)
}

.main-menu-bottom li {
    margin: 0 2vw 0 0
}

.main-menu-bottom li:last-child {
    margin: 0
}

.main-menu-bottom li>a {
    display: flex;
    align-items: flex-start;
    font-size: 1.2vw;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    overflow: hidden
}

.main-menu li.active,
.main-menu-bottom li.current {
    color: var(--color-white);
    text-shadow: none
}

.main-menu li.current>a,
.main-menu-bottom li.current>a {
    pointer-events: none;
    text-shadow: none
}

.link-hoz {
    white-space: nowrap;
    overflow: hidden
}

.link-hoz .text-nav {
    font-size: inherit;
    position: relative;
    display: block;
    overflow: visible
}

.link-hoz .text-nav::after {
    content: attr(data-text);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
    transform-origin: 100% 50%;
    transform: translate3d(-120%, 0, 0);
    pointer-events: none;
    font-size: inherit;
    color: var(--color-white)
}

.navigation.show {
    pointer-events: auto
}

.navigation.show .bg-color {
    opacity: 1
}

.navigation.show .logo-a span {
    animation-name: scaleLarge;
    animation-duration: 1.5s;
    animation-delay: .6s;
    animation-fill-mode: forwards
}

.navigation.show .main-menu,
.navigation.show .main-menu-bottom,
.title-page.active::after {
    animation-name: goRight;
    animation-duration: 1s;
    animation-delay: .3s;
    animation-fill-mode: forwards
}

.navigation.show .main-menu-bottom,
.title-page.active::after {
    animation-name: fadeInUp
}

.container {
    position: relative;
    width: 100%;
    height: 100vh;
    display: block;
    margin: 0;
    padding: 0;
    overflow: hidden
}

.title-page {
    position: absolute;
    width: 100%;
    height: auto;
    left: 0;
    top: calc(var(--top-height)/4);
    text-align: left;
    padding: 0 2vw;
    display: none;
    pointer-events: none;
    z-index: 10
}

.title-page::after {
    content: '';
    position: relative;
    width: 10vw;
    height: 1px;
    background-color: var(--color-white-alpha-08);
    display: block;
    margin: 2vh 0;
    transform: scale3d(0, 1, 1);
    transform-origin: left center
}

.title-main,
.title-page .text-inner strong,
.title-page.active {
    display: block
}

.title-page.active::after {
    animation-name: aniWidth;
    animation-delay: 1s
}

.title-page .text-inner span {
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    font-size: 1rem;
    color: var(--color-white);
    text-transform: uppercase;
    line-height: 1.3
}

.title-page .text-inner strong span {
    font-family: SVN-Gilroy-Light;
    font-weight: 300;
    font-size: 8vw;
    line-height: 1.3
}

.text-ani-item .char,
.text-break .char,
.text-inner .char,
.title-page .text-inner .char {
    opacity: 0
}

.title-main {
    position: relative;
    width: auto;
    height: auto;
    line-height: 1;
    z-index: 5
}

.text-ani-item,
.title-page h1 {
    position: absolute;
    width: 0;
    height: 0;
    left: 0;
    top: 0;
    opacity: 0;
    overflow: hidden
}

.main-menu-bottom li>a,
.title-main h2,
.title-main h2 span {
    position: relative;
    color: currentColor
}

.title-main h2 {
    width: auto;
    height: auto;
    font-size: var(--titleFont);
    margin: 1rem 0;
    overflow: hidden;
    z-index: 1;
    display: inline-block
}

.title-main h2 span {
    font-size: inherit;
    display: block;
    line-height: 1.3
}

.title-main h2 strong {
    font-family: SVN-Gilroy-Regular;
    font-weight: 400
}

.title-main h2 strong,
.title-main h3 strong {
    color: var(--color-highlight)
}

.text-inner,
.title-main h3 {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    z-index: 1
}

.title-main h3 {
    font-size: var(--titleMin);
    color: currentColor;
    margin: 0 0 10px
}

.text-inner {
    line-height: 1.3
}

.title-main .text-inner span {
    font-size: var(--titleSmall);
    color: currentColor;
    line-height: 1.3
}

.scroll-text,
.scroll-text span {
    position: relative;
    white-space: nowrap
}

.scroll-text {
    width: 100%;
    height: 14vw;
    display: flex;
    align-items: flex-start;
    pointer-events: none;
    overflow: hidden;
    z-index: 1
}

.scroll-text span {
    display: none;
    font-size: 14vw;
    line-height: .8;
    padding: 0 2vw;
    color: var(--color-text-scroll);
    text-transform: uppercase;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.scroll-text.fade span:nth-child(1) {
    display: block;
    animation: Horizontal 40s linear -40s infinite
}

.scroll-text.fade span:nth-child(2) {
    display: block;
    animation: Horizontal2 40s linear -20s infinite
}

.footer {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    display: block;
    padding: 0;
    margin: 0;
    z-index: 5
}

.bottom,
.social {
    position: relative
}

.bottom {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1vw 2vh calc(5.5vw + 2rem);
    transition: padding .3s ease-in-out
}

.footer.auto {
    width: auto
}

.footer.auto .bottom {
    padding: 0 1vw 1.5rem 0
}

.footer.single .bottom {
    padding: 0 1vw 1.5rem 2vw
}

.social {
    margin: 0;
    order: 2;
    z-index: 20
}

.social ul,
.social-second ul {
    position: relative;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    list-style: none
}

.social li,
.social-second li {
    position: relative;
    margin: 0 .3rem
}

.social li a,
.social-second li a {
    position: relative;
    padding: .5rem
}

.social li span,
.social-second li span {
    position: relative;
    width: 2rem;
    height: 2rem;
    display: block
}

.social li span svg,
.social-second li span svg {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain
}

.social,
.social.light {
    color: var(--color-white)
}

.social.normal {
    color: var(--color-normal)
}

.copyright,
.social,
.social li,
.social li a,
.social-second,
.social-second li,
.social-second li a {
    width: auto;
    height: auto;
    display: block
}

.navigation .social,
.social-second {
    position: absolute;
    right: 1vw;
    z-index: 10
}

.social-second {
    top: calc(50% - 1.5rem);
    color: var(--color-white)
}

.footer.invisible .social {
    display: none
}

.navigation .social {
    bottom: 20px;
    color: var(--color-highlight)
}

.copyright {
    position: relative;
    align-items: center
}

.copyright a,
.copyright p {
    position: relative;
    font-size: .7rem;
    text-transform: uppercase;
    color: currentColor;
    white-space: nowrap
}

.copyright p {
    padding: 1rem 0;
    display: block
}

.copyright a {
    margin: 0 .5rem;
    display: none
}

.go-top,
.srcoll-down {
    position: fixed;
    width: 4vw;
    height: 4vw;
    left: 2vw;
    bottom: 2vw;
    pointer-events: none;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    z-index: 15
}

.go-top span,
.srcoll-down span {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 50%;
    border: 1px solid transparent;
    background: var(--color-border-gradient) border-box;
    -webkit-mask: linear-gradient(var(--color-white) 0 0) padding-box, linear-gradient(var(--color-white) 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude
}

.go-top svg,
.srcoll-down svg {
    position: relative;
    width: 60%;
    height: 60%;
    margin: 20%;
    display: block
}

.go-top::before,
.srcoll-down::before {
    content: '';
    width: 80%;
    height: 80%;
    position: absolute;
    left: 10%;
    top: 10%;
    border-radius: 50%
}

.srcoll-down.show {
    pointer-events: auto;
    cursor: pointer
}

.srcoll-down.show svg {
    animation: trackBall 3s alternate infinite
}

.srcoll-down.show span {
    animation: Preloader 3s alternate infinite
}

.srcoll-down.center {
    left: calc(50% - 2vw)
}

.srcoll-down.height {
    bottom: calc(100vh/8);
    top: auto
}

.srcoll-down.left {
    bottom: auto;
    top: calc(var(--top-height)/2 + 2rem);
    color: var(--color-white)
}

.srcoll-down.left.show svg {
    animation: trackBallWhite 3s alternate infinite
}

.srcoll-down.left span {
    border-width: 2px
}

.srcoll-down.left::before {
    background-color: var(--color-black-alpha-02);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px)
}

.srcoll-down.show {
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-delay: 1s;
    animation-fill-mode: forwards
}

.go-top {
    color: var(--color-highlight)
}

.go-top.show {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer
}

.go-top.show span {
    animation: Preloader 3s alternate infinite
}

.go-top.height {
    bottom: 90px
}

@media screen and (min-width:1100px) and (max-height:720px) {
    .navigation .social {
        left: 2vw;
        right: auto
    }
}

@media screen and (max-width:1600px) {

    body,
    html {
        font-size: 1vw
    }
}

@media screen and (max-width:1300px) {

    body,
    html {
        font-size: 1.1vw
    }

    .logo {
        width: 18vw;
        height: calc(150/600*18vw)
    }

    :root {
        --titleBig: 5vw
    }
}

@media screen and (max-width:1100px) {
    :root {
        --titleBig: 6vw;
        --titleFont: 5vw;
        --titleMedium: 4vw;
        --titleSmall: 3vw;
        --titleMin: 2.5vw;
        --titleScale: 2vw
    }

    body,
    html {
        font-size: 17px
    }

    body {
        height: auto;
        overflow-x: hidden;
        overflow-y: auto
    }

    .go-top,
    .social-second,
    .srcoll-down {
        display: none
    }

    .stroke-line {
        stroke-width: .5
    }

    .logo,
    .logo.light,
    .logo.normal {
        width: 15rem;
        height: calc(150/600*15rem);
        top: 1rem;
        left: 2rem;
        color: var(--color-white)
    }

    .right-header {
        top: 1.7rem;
        transition: top .2s ease-in-out
    }

    .hotline svg {
        margin-right: 10px
    }

    .hotline,
    .language,
    .link-home,
    .subscribe {
        padding: 0 5px
    }

    .language li {
        color: var(--color-white);
        border: 1px solid var(--color-white-alpha-05)
    }

    .hotline,
    .link-home:not(.current),
    .subscribe {
        color: var(--color-white)
    }

    .nav-click {
        top: 1.5rem;
        padding: 5px 15px;
        right: 1rem;
        color: var(--color-white)
    }

    .navigation {
        z-index: 110
    }

    .nav {
        width: 100%;
        height: 100%;
        overflow-y: auto
    }

    .main-menu {
        width: 100%;
        max-width: 600px
    }

    .main-menu li {
        margin: 2vh 0;
        padding: 0
    }

    .main-menu li>a {
        font-size: var(--titleFont)
    }

    .main-menu-bottom {
        width: 100%;
        padding: 5vw 5vw 10vh;
        border: 0
    }

    .main-menu-bottom li {
        margin: 2vh 0
    }

    .main-menu-bottom li>a {
        font-size: var(--titleScale);
        display: inline-block
    }

    .navigation>.logo-a {
        left: auto;
        right: 0
    }

    .navigation .social {
        display: none
    }

    .header::after {
        height: 70px
    }

    .header.hide::after {
        opacity: 1
    }

    .header.hide .logo,
    .header.hide .logo.light,
    .header.hide .logo.normal {
        width: 12rem;
        height: calc(150/600*12rem);
        top: .7rem;
        left: 1rem;
        color: var(--color-normal)
    }

    .header.hide .nav-click {
        top: 15px
    }

    .header.hide .right-header {
        top: 17px
    }

    .header.hide .language li {
        color: var(--color-normal);
        border-color: var(--color-normal-alpha)
    }

    .header.hide .hotline,
    .header.hide .subscribe {
        color: var(--color-normal)
    }

    .header.hide .link-home:not(.current) {
        color: var(--color-normal)
    }

    .title-page {
        top: calc(var(--top-height) - 50px);
        padding: 0 5vw;
        display: block
    }

    .text-top,
    .title-page .text-inner span {
        font-size: .8rem
    }

    .title-page .text-inner strong {
        padding-left: 0
    }

    .title-page .text-inner strong span {
        font-size: var(--titleBig);
        line-height: 1.4
    }

    .title-page::after {
        display: none
    }

    .title-main .text-inner span {
        font-size: var(--titleMedium);
        line-height: 1.4
    }

    .title-main h2>span {
        line-height: 1.4
    }

    .footer,
    .footer.auto,
    .footer.single {
        position: relative;
        width: 100%;
        right: auto;
        bottom: auto;
        padding: 20px 0;
        background-color: var(--color-white)
    }

    .bottom,
    .footer.auto .bottom,
    .footer.single .bottom {
        padding: 0 5vw;
        color: var(--color-normal);
        flex-wrap: wrap
    }

    .social,
    .social.light,
    .social.light.normal {
        width: 100%;
        color: var(--color-normal);
        flex: none;
        order: 1
    }

    .social ul {
        width: 100%;
        justify-content: center
    }

    .copyright,
    .copyright.color-white {
        width: 100%;
        display: block;
        text-align: center;
        padding: 20px 0;
        flex: none;
        color: var(--color-normal) !important;
        text-transform: none;
        order: 2
    }

    .copyright.color-white strong {
        color: var(--color-normal) !important;
        text-shadow: none !important
    }

    .copyright p {
        padding: 0
    }

    .copyright a {
        margin: 10px 0
    }

    .container {
        height: auto
    }
}
.page-news-details .subscribe span {
	background: url(../images/subscribe-but.svg) no-repeat center center / contain;
}
@media only screen and (max-width:1100px){
.option-head {
        position: fixed;
        left: -100%;
        bottom: 10vh;
        width: auto;
        height: auto;
        padding: 5px;
        opacity: 0;
        pointer-events: none;
        transition: all .3s ease-in-out;
        z-index: 50;
		display:block;
    }

    .option-head::after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        background-color: var(--color-normal);
        border-radius: 0 10px 10px 0;
        opacity: .8;
        -webkit-backdrop-filter: blur(5px);
        backdrop-filter: blur(5px)
    }

    .option-head .hotline,
    .option-head .subscribe {
        width: 35px;
        height: 35px;
        padding: 0;
        display: block;
        margin: 10px 0;
        z-index: 10
    }

    .option-head::after,
    .subscribe span,
    .subscribe svg {
        width: 100%;
        height: 100%
    }

    .hotline svg {
        display: none
    }
 
    .hotline .icon-ani {
        position: relative;
        width: 84%;
        height: 84%;
        margin: 8%;
        display: block
    }

    .option-head.show {
        pointer-events: auto;
        left: 0;
        opacity: 1
    }
	.hotline span:not(.icon-ani) {
        position: absolute;
        width: 0;
        overflow: hidden;
        opacity: 0
    }

    .hotline svg {
        margin: 0
    }
	 .subscribe span {
        background: url(../images/subscribe-but.svg) no-repeat center center / contain;
    }	
}
@media only screen and (max-width:1100px) and (orientation:portrait) {
    .main-menu {
        padding: 10vh 5vw 0
    }

    .wrap-logo {
        width: 70vw;
        height: calc(150/600*70vw)
    }

    .mask-inner::before,
    .mask::before {
        width: 60vh;
        height: 60vh;
        left: -20vh;
        bottom: 0
    }

    .navigation .bg-color>span {
        width: 60vh;
        height: 60vh;
        right: -20vh;
        top: -15vh
    }

    .loadx.white {
        width: 25vh;
        height: 25vh;
        max-width: 320px;
        max-height: 320px
    }

    .navigation>.logo-a {
        width: 70vw;
        right: -15vw
    }
	
}

@media only screen and (max-width:1100px) and (orientation:landscape) {
    .main-menu {
        padding: 5vw 5vw 0
    }

    .wrap-logo {
        width: 50vw;
        height: calc(150/600*50vw)
    }

    .mask-inner::before,
    .mask::before {
        width: 80vw;
        height: 80vw;
        left: -5vw;
        bottom: -40vw
    }

    .navigation .bg-color>span {
        width: 60vw;
        height: 60vw;
        right: -5vw;
        top: -15vw
    }

    .loadx.white {
        width: 30vw;
        height: 30vw
    }
}

@media screen and (max-width:900px) {
    .main-menu-bottom {
        display: block;
        padding: 0 5vw 10vh
    }
}

@media screen and (max-width:780px) {

    body,
    html {
        font-size: 16px
    }

    :root {
        --titleBig: 7vw;
        --titleFont: 6vw;
        --titleMedium: 5vw;
        --titleSmall: 4vw;
        --titleMin: 3.5vw;
        --titleScale: 3vw
    }
	
}

@media screen and (max-width:680px) {
    :root {
        --titleBig: 8vw;
        --titleFont: 7vw;
        --titleMedium: 6vw;
        --titleSmall: 5vw;
        --titleMin: 4.5vw;
        --titleScale: 4vw
    }

    
}

@media screen and (max-width:580px) {

    .logo,
    .logo.light,
    .logo.normal {
        width: 12rem;
        height: calc(150/600*12rem);
        top: 1.4rem;
        left: 1.2rem
    }

    .loadx.white .stroke-ani,
    .stroke-line {
        stroke-width: 1
    }

    .nav-click {
        padding: 5px 10px;
        border-radius: 10px;
        background-color: transparent
    }

    .nav-click .nav-text {
        display: none
    }

    .nav-click.active .nav-text{
        display: block
    }

    .header.hide .nav-click.active,
    .nav-click.active {
        background-color: var(--color-highlight);
        border-radius: 20px;
        border: 0;
        color: var(--color-white)
    }

    .header.hide .nav-click {
        color: var(--color-normal)
    }

    
}

@media screen and (max-width:440px) {
    :root {
        --titleBig: 9vw;
        --titleFont: 8vw;
        --titleMedium: 7vw;
        --titleSmall: 6vw;
        --titleMin: 5.5vw;
        --titleScale: 5vw
    }

    .title-page {
        top: calc(var(--top-height) - 10px)
    }
}

@media screen and (max-width:380px) {

    body,
    html {
        font-size: 15px
    }

    .logo,
    .logo.light,
    .logo.normal {
        width: 11rem;
        height: calc(150/600*11rem);
        top: 1.5rem;
        left: 1rem
    }

    .header.hide .logo,
    .header.hide .logo.light,
    .header.hide .logo.normal {
        width: 11rem;
        height: calc(150/600*11rem);
        top: .9rem;
        left: .8rem
    }
}

.slidebox {
    position: relative;
    visibility: hidden
}

.slidebox-container {
    position: relative;
    box-sizing: border-box
}

.slidebox-track {
    position: relative;
    overflow: hidden;
    transition: height .2s ease
}

.slidebox-list {
    position: relative;
    display: flex;
    backface-visibility: hidden;
    height: 100%;
    margin: 0;
    padding: 0
}

.slidebox.is-initialized:not(.is-active) .slidebox-list {
    display: block
}

.slidebox:not(.is-overflow) .slidebox-pagination {
    display: none
}

.slidebox.is-initialized,
.slidebox.is-rendered {
    visibility: visible
}

.slidebox-item {
    position: relative;
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    list-style-type: none;
    margin: 0
}

.slidebox-spinner {
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    border: 2px solid var(--color-bg-grey);
    border-left-color: transparent;
    border-radius: 50%;
    contain: strict;
    display: inline-block;
    margin: auto;
    animation: Loading 1s linear infinite
}

.slidebox-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    border: 0;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    clip: rect(0 0 0 0)
}

.slidebox-track-draggable {
    -webkit-touch-callout: none;
    user-select: none
}

.slidebox-track-fade>.slidebox-list>.slidebox-item {
    margin: 0;
    opacity: 0;
    z-index: 0
}

.slidebox-track-fade>.slidebox-list>.slidebox-item.is-active {
    opacity: 1;
    z-index: 1
}

.slidebox-rtl {
    direction: rtl
}

.slidebox-draggable:active {
    cursor: grab
}

.slidebox-track-ttb>.slidebox-list {
    display: block
}

.slidebox-pagination {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1rem 0;
    list-style-type: none
}

.slidebox-pagination li {
    position: relative;
    display: inline-block;
    line-height: 1
}

.slidebox-pagination-page {
    position: relative;
    width: .5rem;
    height: .5rem;
    margin: 3px;
    display: inline-block;
    border-radius: 50%;
    padding: 0;
    transition: all .3s ease-in-out;
    cursor: pointer;
    background: var(--color-white);
    z-index: 1
}

.slidebox-pagination-page.is-active {
    transform: scale(1.5);
    background: var(--color-highlight);
    pointer-events: none
}

.slidebox-pagination-ttb {
    position: absolute;
    left: -3em;
    top: 0;
    bottom: 0;
    flex-direction: column;
    padding: 1em
}

.pagination-custom,
.pagination-custom .number-left,
.pagination-custom .number-right {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700
}

.pagination-custom {
    font-size: 1rem;
    line-height: 1;
    margin: 30px 0
}

.pagination-custom .number-left,
.pagination-custom .number-right {
    margin: 0;
    color: var(--color-highlight)
}

.pagination-custom .number-right {
    color: var(--color-grey-light)
}

.pagination-custom .number-right::before {
    content: "";
    position: relative;
    display: block;
    width: 30px;
    height: 1px;
    margin: 0 20px;
    background-color: var(--color-grey-light)
}

.pagination-custom.disabled {
    opacity: .2
}

.slidebox-arrows {
    position: absolute;
    width: 100%;
    height: auto;
    top: calc(50% - 2vw);
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10
}

.slidebox-arrow,
.slidebox-arrow::before {
    position: absolute;
    border-radius: 50%;
    transition: all .3s ease-in-out
}

.slidebox-arrow {
    width: 4vw;
    height: 4vw;
    color: var(--color-white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    z-index: 1;
    top: 0
}

.slidebox-arrow::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50%;
    border: 1px solid var(--color-white-alpha-05)
}

.slidebox-arrow::before {
    content: '';
    width: 120%;
    height: 120%;
    left: -10%;
    top: -10%;
    background-color: var(--color-highlight-alpha)
}

.slidebox-arrow svg {
    position: absolute;
    width: 60%;
    height: 60%;
    display: block;
    left: 20%;
    top: 20%;
    transform-origin: center center;
    z-index: 2
}

.slidebox-arrow-prev svg {
    transform: scaleX(-1)
}

.slidebox-arrow-prev {
    left: 2vw
}

.slidebox-arrow-next {
    right: 2vw
}

.slidebox-arrow:hover::before {
    background-color: var(--color-highlight)
}

.slidebox-arrow:disabled {
    opacity: .5;
    pointer-events: none
}

.slidebox-arrow:focus-visible {
    outline: 3px solid var(--color-highlight);
    outline-offset: 3px
}

.slidebox.is-focus-in .slidebox-arrow:focus,
.slidebox.is-focus-in .slidebox-pagination-page:focus {
    outline: 3px solid var(--color-highlight);
    outline-offset: 3px
}

.slidebox-arrows-ttb {
    width: auto;
    height: 100%;
    top: 0;
    left: calc(100% + 1em)
}

.slidebox-arrows-ttb .slidebox-arrow-prev {
    top: 1em;
    left: 0
}

.slidebox-arrows-ttb .slidebox-arrow-next {
    bottom: 1em;
    left: 0;
    top: auto;
    right: auto
}

.slidebox-arrows-ttb .slidebox-arrow-prev svg {
    transform: rotate(-90deg)
}

.slidebox-arrows-ttb .slidebox-arrow-next svg {
    transform: rotate(90deg)
}

.numberx .slidebox-pagination {
    margin: 2rem 0;
    font-size: .6rem
}

.numberx .slidebox-pagination-page::after {
    display: none
}

.numberx .slidebox-pagination-page {
    width: 1.5rem;
    height: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: .6rem;
    line-height: 1;
    margin: 0 3px;
    background-color: transparent
}

.numberx .slidebox-pagination-page.is-active,
[data-color=color-light] .numberx .slidebox-pagination-page.is-active,
[data-color=color-white-grey] .numberx .slidebox-pagination-page.is-active {
    background: var(--color-highlight);
    border: 0;
    color: var(--color-white);
    transform: none
}

[data-color=color-white-grey] .numberx .slidebox-pagination {
    color: var(--color-grey)
}

[data-color=color-white-grey] .numberx .slidebox-pagination-page {
    border: 1px solid var(--color-black-alpha-03);
    color: var(--color-grey)
}

[data-color=color-light] .slidebox-arrow,
[data-color=color-white-grey] .slidebox-arrow {
    color: var(--color-black-alpha-04)
}

.box-nav.light li::before,
[data-color=color-white-grey] .slidebox-arrow::before {
    background-color: var(--color-white-alpha-05)
}

[data-color=color-white-grey] .slidebox-arrow::after {
    border-color: var(--color-black-alpha-04)
}

[data-color=color-white-grey] .slidebox-arrow:hover::before {
    background-color: var(--color-white)
}

[data-color=color-light] .numberx .slidebox-pagination {
    color: var(--color-grey)
}

[data-color=color-light] .numberx .slidebox-pagination-page {
    border: 1px solid var(--color-black-alpha-03);
    color: var(--color-grey)
}

[data-color=color-light] .slidebox-arrow::before {
    background-color: var(--color-white-grey)
}

[data-color=color-light] .slidebox-arrow::after {
    border-color: var(--color-black-alpha-04)
}

[data-color=color-load-gradient] .numberx .slidebox-pagination,
[data-color=color-load-gradient] .slidebox-arrow {
    color: var(--color-white)
}

[data-color=color-load-gradient] .numberx .slidebox-pagination-page {
    border: 1px solid var(--color-white-alpha);
    color: var(--color-white)
}

[data-color=color-load-gradient] .numberx .slidebox-pagination-page.is-active,
[data-color=color-normal] .numberx .slidebox-pagination-page.is-active {
    background: var(--color-white);
    border: 0;
    color: var(--color-highlight);
    transform: none
}

[data-color=color-load-gradient] .slidebox-arrow::before {
    background-color: var(--color-white-alpha-01)
}

[data-color=color-load-gradient] .slidebox-arrow::after {
    border-color: var(--color-white-alpha)
}

[data-color=color-normal] .numberx .slidebox-pagination,
[data-color=color-normal] .slidebox-arrow {
    color: var(--color-white)
}

[data-color=color-normal] .numberx .slidebox-pagination-page {
    border: 1px solid var(--color-white-alpha);
    color: var(--color-white)
}

[data-color=color-normal] .slidebox-arrow::before {
    background-color: var(--color-white-alpha-01)
}

[data-color=color-normal] .slidebox-arrow::after {
    border-color: var(--color-white-alpha)
}

.slidebox-toggle {
    position: relative;
    width: 5vw;
    height: 5vw;
    background: var(--color-black-alpha-05);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto
}

.slidebox-toggle svg {
    position: relative;
    height: 30%;
    width: 30%;
    stroke: var(--color-white);
    stroke-width: 2;
    fill: none
}

.slidebox-toggle-pause,
.slidebox-toggle.is-active .slidebox-toggle-play {
    display: none
}

.slidebox-toggle.is-active .slidebox-toggle-pause {
    display: inline
}

.slidebox-arrows-rtl .slidebox-arrow-prev {
    left: auto;
    right: 1em
}

.slidebox-arrows-rtl .slidebox-arrow-prev svg {
    transform: scaleX(1)
}

.slidebox-arrows-rtl .slidebox-arrow-next {
    left: 1em;
    right: auto
}

.slidebox-arrows-rtl .slidebox-arrow-next svg {
    transform: scaleX(-1)
}

.slidebox-toggle:focus-visible {
    outline: 3px solid var(--color-highlight);
    outline-offset: 3px
}

.slidebox.is-focus-in .slidebox-toggle:focus {
    outline: 3px solid var(--color-highlight);
    outline-offset: 3px
}

.slidebox-track-nav>.slidebox-list>.slidebox-slide {
    border: 3px solid transparent;
    cursor: pointer
}

.slidebox-track-nav>.slidebox-list>.slidebox-slide.is-active {
    border: 3px solid var(--color-highlight)
}

.slidebox-progress,
.slidebox-progress-bar {
    position: relative;
    background: var(--color-highlight)
}

.slidebox-progress {
    margin: 2rem auto;
    width: 100%;
    height: 1px
}

.slidebox-progress-bar {
    width: 0;
    height: 2px;
    overflow: hidden
}

.thumbs {
    width: 640px;
    height: auto;
    margin: 20px auto;
    z-index: 5
}

.thumbs.align-middle .slidebox-list {
    justify-content: center
}

.thumb-item,
.thumb-item img,
.thumbs {
    position: relative;
    display: block
}

.thumb-item {
    margin: 0;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    width: 74px;
    height: 50px
}

.thumb-item::after {
    content: '';
    position: absolute;
    border: 3px solid var(--color-white)
}

.thumb-item img,
.thumb-item.is-active {
    pointer-events: none
}

.thumb-item.is-active::after {
    border-color: var(--color-highlight)
}

.thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center
}

.thumbs .slidebox-arrows {
    width: 100%;
    top: 5px;
    left: 0;
    height: 0;
    z-index: 5
}

.thumbs .slidebox-arrow {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0
}

.thumb-item::after,
.thumbs .slidebox-arrow svg {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.thumbs .slidebox-arrow::before {
    background-color: var(--color-white-zero)
}

.thumbs .slidebox-arrow-prev {
    left: -50px
}

.thumbs .slidebox-arrow-next {
    right: -50px
}

.video-slider {
    width: 50vw;
    height: calc(1125/2000*50vw);
    display: block;
    margin: auto
}

.slidebox-video {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.slidebox-video-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    background: var(--color-black)
}

.slidebox-video-wrapper div,
.slidebox-video-wrapper iframe,
.slidebox-video-wrapper video {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%
}

.slidebox-item-container-has-video,
.slidebox-item-has-video {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.slidebox-item-container-has-video:hover .slidebox-video-play,
.slidebox-item-has-video:hover .slidebox-video-play {
    background: var(--color-white);
    opacity: 1
}

.slidebox-item-container-has-video {
    position: relative;
    width: 100%;
    height: 100%;
    display: block
}

.slidebox-video-play {
    position: absolute;
    width: 4vw;
    height: 4vw;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-white-alpha-02);
    border-radius: 50%;
    opacity: .7;
    transition: all .3s ease-in-out;
    cursor: pointer;
    z-index: 10
}

.slidebox-video-play::after {
    content: "";
    display: inline-block;
    border-color: transparent transparent transparent var(--color-black);
    border-style: solid;
    border-width: 9px 0 9px 17px;
    margin-left: 4px
}

.slidebox-item-row {
    position: relative
}

.slidebox-item-col {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.single-slide .slidebox-track {
    overflow: visible
}

.single-slide .slidebox-list,
.slide-news.single-slide .wrap-news {
    justify-content: center
}

.single-banner .slidebox-arrows,
.single-banner .slidebox-pagination,
.single-slide .slidebox-arrows,
.single-slide .slidebox-pagination,
.single-slide .slidebox-progress {
    display: none !important
}

.extend.is-initialized:not(.is-active) .slidebox-list {
    display: flex;
    flex-wrap: wrap !important
}

.extend .slidebox-track {
    height: auto !important
}

.extend .slidebox-list,
.extend:active .slidebox-list {
    cursor: default
}

.extend .slidebox-progress {
    display: none
}

.extend .slidebox-item {
    margin: auto !important;
    animation-name: fadeInUp;
    animation-duration: 1s;
    animation-fill-mode: forwards
}

.extend .slidebox-arrows {
    display: none !important
}

.album-center .slidebox-list,
.album-center .slidebox-track {
    width: 100%
}

.album-center .slidebox-arrow::before {
    width: 80%;
    height: 80%;
    left: 10%;
    top: 10%;
    background-color: var(--color-white-zero)
}

.album-center .slidebox-arrow-next {
    right: 15px
}

.album-center .slidebox-arrow-prev {
    left: 15px
}

.album-load .thumbs {
    position: absolute;
    bottom: 70px;
    line-height: 0;
    height: 0;
    margin: auto;
    opacity: 0
}

.album-load.show .thumbs {
    animation-name: fadeInUp;
    animation-duration: 1s;
    animation-delay: .6s;
    animation-fill-mode: forwards
}

body.zoom-active .slidebox-arrows,
body.zoom-active .slidebox-item:not(.is-active),
body.zoom-active .slidebox-pagination,
body.zoom-active .thumb-item,
body.zoom-active .thumbs {
    z-index: -999 !important;
    opacity: 0;
    pointer-events: none
}

body.zoom-active .slidebox-item:not(.thumb-item).is-active,
body.zoom-active .slidebox-slide:not(.thumbs),
body.zoom-active .zoom-active {
    z-index: 9999
}

@media screen and (max-width:1100px) {

    .thumb-item,
    .thumb-item::after {
        border-radius: 5px
    }

    .album-center .slidebox-arrow,
    .album-center .slidebox-pagination,
    .slidebox-arrow::before,
    .thumbs .slidebox-arrows {
        display: none
    }

    .pagination-custom {
        margin: 1rem 0;
        font-size: .8rem
    }

    .pagination-custom .number-right::before {
        width: 20px
    }

    .slidebox-arrows {
        top: calc(50% - 1.5rem)
    }

    .slidebox-arrow {
        width: 3rem;
        height: 3rem
    }

    .slidebox-arrow svg {
        width: 90%;
        height: 90%;
        left: 5%;
        top: 5%
    }

    .single-slide .slidebox-item {
        margin: 0 15px !important
    }

    [data-color=color-light] .slidebox-arrow::before {
        background-color: var(--color-white)
    }
}

@media screen and (max-width:580px) {
    .thumbs {
        width: 90%
    }

    .slidebox-arrows {
        top: calc(50% - 15px)
    }

    .slidebox-arrow {
        width: 30px;
        height: 30px
    }

    .pagination-custom {
        margin: .3rem 0;
        font-size: .8rem
    }

    .slidebox-pagination-page {
        width: 5px;
        height: 5px;
        margin: 2px
    }

    .single-slide .slidebox-item {
        margin: 0 10px !important
    }
}

@media only screen and (max-width:1100px) and (orientation:portrait) {
    .album-load .thumbs {
        bottom: 15vh
    }
}

@media screen and (min-width:1100px) and (hover:hover) and (pointer:fine) {

    .slidebox-arrow,
    .slidebox-arrow svg,
    .slidebox-arrow::after,
    .slidebox-pagi-item,
    .slidebox-pagi-item::after,
    .slidebox-toggle,
    .slidebox-toggle svg,
    .switch-nav li button,
    .thumb-item::after {
        transition: all .3s ease-in-out
    }

    .slidebox-arrow:hover::before,
    .slidebox-pagi-item:hover,
    .slidebox-pagination-page:hover::after {
        background: var(--color-highlight)
    }

    .slidebox-pagination-page:hover {
        transform: scale(1.5);
        border-color: var(--color-highlight-alpha)
    }

    .slidebox-arrow:hover::before {
        box-shadow: 0 1rem 2rem 0 var(--color-black-alpha-01)
    }

    .thumb-item:hover::after {
        border-color: var(--color-highlight);
        border-width: .2rem
    }

    .switch-nav li:hover button {
        color: var(--color-white)
    }

    .slidebox-toggle:hover,
    .switch-nav li:hover button {
        background-color: var(--color-highlight)
    }

    .slidebox-toggle:hover svg {
        stroke-opacity: 0;
        fill: var(--color-white)
    }

    [data-color=color-light] .numberx .slidebox-pagination-page:hover,
    [data-color=color-white-grey] .numberx .slidebox-pagination-page:hover {
        transform: none;
        background: var(--color-highlight);
        color: var(--color-white);
        border-color: transparent;
        box-shadow: 0 10px 20px 5px var(--color-black-alpha-01)
    }

    #library-page [data-color=color-light] .slidebox-arrow:hover::after,
    [data-color=color-normal] .pin-wrap .slidebox-arrow:hover::after {
        border-color: var(--color-white-alpha)
    }

    [data-color=color-load-gradient] .numberx .slidebox-pagination-page:hover,
    [data-color=color-normal] .numberx .slidebox-pagination-page:hover {
        transform: none;
        background: var(--color-white);
        color: var(--color-highlight);
        border-color: transparent;
        box-shadow: 0 10px 20px 5px var(--color-black-alpha-01)
    }

    [data-color=color-load-gradient] .slidebox-arrow:hover::before {
        background-color: var(--color-white)
    }

    [data-color=color-load-gradient] .slidebox-arrow:hover::after {
        border-color: var(--color-highlight-alpha)
    }

    [data-color=color-load-gradient] .slidebox-arrow:hover,
    [data-color=color-normal] .slidebox-arrow:hover {
        color: var(--color-highlight)
    }

    [data-color=color-normal] .slidebox-arrow:hover::before {
        background-color: var(--color-white)
    }

    [data-color=color-normal] .slidebox-arrow:hover::after {
        border-color: var(--color-highlight-alpha)
    }

    #library-page [data-color=color-light] .slidebox-arrow:hover,
    [data-color=color-normal] .pin-wrap .slidebox-arrow:hover {
        color: var(--color-white)
    }

    .album-center .slidebox-arrow:hover {
        color: var(--color-white);
        border-color: var(--color-white-alpha-05)
    }
}

.smooth-scroll {
    scroll-behavior: auto;
    overflow-x: hidden;
    overflow-y: auto
}

.smooth-scroll [data-prevent] {
    overscroll-behavior: contain
}

.smooth-stop {
    overflow: hidden
}

.smooth-scrolling iframe {
    pointer-events: none
}

.scrollbar,
.scrollbar-body {
    position: fixed;
    right: 0;
    top: 0;
    width: 3px;
    height: 100%;
    transform-origin: center right
}

.scrollbar {
    z-index: 200
}

.scrollbar-body {
    z-index: 150
}

.scrollbar-body-thumb,
.scrollbar-thumb {
    position: absolute;
    top: 0;
    right: 5px;
    background-color: var(--color-highlight);
    transition: opacity .3s ease-in-out;
    width: 5px;
    border-radius: 5px;
    opacity: 0
}

[data-orientation=horizontal] .scrollbar,
[data-orientation=horizontal] .scrollbar-body {
    width: 100%;
    height: 5px;
    top: auto;
    right: auto;
    left: 0;
    bottom: 5px;
    transform: scaleY(1);
    border-radius: 5px
}

[data-orientation=horizontal] .scrollbar-body-thumb,
[data-orientation=horizontal] .scrollbar-thumb {
    right: auto;
    bottom: 0
}

.smooth-scrolling .scrollbar .scrollbar-thumb,
.smooth-scrolling .scrollbar-body .scrollbar-body-thumb {
    opacity: 1
}

.is-mobile .scrollbar,
.is-mobile .scrollbar-body {
    opacity: 0;
    display: none
}

.color-white,
.home-masterplan .icon-svg svg,
.note-block .icon-svg svg {
    color: var(--color-white)
}

.color-grey {
    color: var(--color-grey)
}

.color-white-grey {
    color: var(--color-white-grey)
}

.color-highlight {
    color: var(--color-highlight)
}

.color-pink {
    color: var(--color-pink)
}

.color-normal {
    color: var(--color-normal)
}

.color-normal-light {
    color: var(--color-normal-light)
}

.bg-white {
    background-color: var(--color-white)
}

.blur {
    filter: blur(10px);
    transition: filter .5s ease
}

[data-color=color-white] {
    background-color: var(--color-white)
}

[data-color=color-highlight] {
    background-color: var(--color-highlight)
}

[data-color=color-normal] {
    background-color: var(--color-normal)
}

[data-color=color-normal-light] {
    background-color: var(--color-normal-light)
}

[data-color=color-normal-dark] {
    background-color: var(--color-normal-dark)
}

[data-color=color-normal-gradient] {
    background: var(--color-normal-gradient)
}

[data-color=color-white-grey] {
    background-color: var(--color-white-grey)
}

[data-color=color-light] {
    background-color: var(--color-light)
}

[data-color=color-load-gradient] {
    background: var(--color-load-gradient)
}

.tagline {
    position: absolute;
    width: auto;
    height: 60vh;
    display: block;
    top: calc(50% - 30vh);
    pointer-events: none;
    text-align: left;
    padding: 0 8vw;
    z-index: 10
}

.tagline::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    -webkit-mask: linear-gradient(90deg, transparent 5%, #000 52%, #000 44%, transparent 95%);
    opacity: 0
}

.tagline-inner {
    position: relative;
    display: block;
    text-align: right
}

.tagline.align-right {
    right: 8vw
}

.text-pink,
.text-spec {
    position: relative;
    display: block;
    line-height: 1.3;
    text-shadow: 0 1px 1px var(--color-black-alpha-01);
    z-index: 5
}

.text-spec {
    margin: -.5rem 0;
    font-family: SVN-Gilroy-Regular;
    font-weight: 400;
    font-size: 7vw
}

.text-pink {
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    font-size: 2vw;
    margin: 0 1vw
}

.text-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    line-height: 1.4
}

.tagline span,
.text-group {
    position: relative;
    z-index: 5
}

.tagline .char {
    opacity: 0;
    transform-origin: center center
}

.tagline .text-pink,
.tagline span {
    line-height: 1.1
}

.tagline .text-spec {
    line-height: 1.3;
    margin: -1.3rem 0
}

.tagline .text-spec span {
    line-height: 1.3
}

.tagline .text-pink .char:nth-child(odd) {
    transform: translateY(-50%)
}

.tagline .text-pink .char:nth-child(even) {
    transform: translateY(50%)
}

.tagline.move::after {
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-delay: 1.5s;
    animation-fill-mode: forwards
}

.text-group span {
    white-space: nowrap
}

.title-main .text-group span:nth-child(2) {
    margin: 0 1rem
}

[data-tower=true] .title-main h2 {
    font-size: var(--titleMedium)
}

[data-tower=true] .title-main h2 small {
    font-size: var(--titleMin)
}

[data-tower=true] .text-group {
    flex-wrap: unset
}

html[lang=en] .tagline .text-spec span,
html[lang=en] .tagline span {
    line-height: 1
}

html[lang=en] .tagline .text-pink {
    font-family: SVN-Gilroy-Light;
    font-weight: 300;
    font-size: 5vw;
    text-align: justify;
    margin: 0
}

html[lang=en] .tagline .text-spec {
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    font-size: 6vw;
    text-align: justify;
    margin: 0
}

html[lang=en] .tagline .text-pink:nth-child(1) {
    letter-spacing: 2vw
}

html[lang=en] .tagline .text-pink:nth-child(2) {
    letter-spacing: 1vw
}

html[lang=en] .tagline .text-spec:nth-child(3) {
    letter-spacing: .5vw
}

html[lang=en] .tagline .text-spec:nth-child(4) {
    letter-spacing: 0
}

.logo-a-content {
    position: absolute;
    width: 25vh;
    height: 25vh;
    bottom: 0;
    left: 20%;
    pointer-events: none
}

.logo-a-content svg {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible
}

.logo-a-content svg path {
    stroke: var(--color-highlight);
    stroke-width: .5px;
    fill: none;
    stroke-dasharray: 1050;
    stroke-dashoffset: 1050
}

.logo-a-content.show path {
    animation-name: aniStroke;
    animation-duration: 3s;
    animation-delay: .6s;
    animation-fill-mode: forwards
}

.box-nav,
.box-nav li {
    width: auto;
    height: auto
}

.box-nav {
    position: absolute;
    right: 0;
    top: 50%;
    padding: 0;
    margin-right: 2vw;
    transform: translateY(-50%);
    z-index: 20
}

.box-nav ul {
    width: 100%;
    height: auto;
    position: relative;
    list-style: none
}

.box-nav li,
.box-nav li .click {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.box-nav li {
    text-align: right
}

.box-nav li::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: var(--color-normal-alpha-03);
    pointer-events: none
}

.box-nav li .click {
    width: 3rem;
    height: 5vh;
    min-height: 2.5rem
}

.box-nav li .click::after {
    content: '';
    position: absolute;
    width: .4rem;
    height: 100%;
    top: 0;
    right: -.2rem;
    border-radius: .2rem;
    overflow: hidden;
    transition: all .3s ease-in-out;
    transform-origin: center center;
    transform: scale3d(1, 0, 1);
    background-color: var(--color-highlight)
}

.box-nav li .click span {
    position: relative;
    font-size: .7rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    display: block;
    text-align: right;
    margin: 0 1rem 0 0;
    color: var(--color-normal);
    text-shadow: none;
    transform: translateY(100%);
    transition: all .3s ease-in-out
}

.box-nav li .click small {
    display: block
}

.box-nav li.current {
    pointer-events: none;
    opacity: 1
}

.box-nav li.current .click span {
    opacity: 1;
    transform: none
}

.box-nav li.current .click::after {
    transform: scale3d(1, 1, 1)
}

.box-nav li.current .click::before {
    opacity: 0
}

.box-nav.light li .click span {
    color: var(--color-white);
    text-shadow: 0 1px 1px var(--color-black-alpha-02)
}

.box-slider,
.group-central {
    width: 100%;
    height: 100vh;
    overflow: hidden
}

.box-slider {
    display: block;
    user-select: none;
    position: relative
}

.group-central {
    position: absolute;
    left: 0;
    top: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 100%, 0);
    pointer-events: none
}

.group-central.show-text {
    pointer-events: auto
}

.group-central:first-child {
    transform: translate3d(0, 0, 0)
}

.content-main {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    z-index: 5
}

.bg-cover::after,
.content-main::after,
.content-main::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    display: none
}

.content-group {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.bg-cover {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.bg-cover img,
.pic-cover img {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
    pointer-events: none
}

.bg-cover img.col-y {
    min-height: 120vh;
    margin-top: -10vh
}

.bg-cover img.col-x {
    min-width: 110vw;
    margin-left: -5vw
}

.pic-content {
    position: relative;
    width: 100%;
    height: auto;
    display: block
}

.pic-cover {
    width: 100%;
    height: auto;
    overflow: hidden;
    z-index: 2
}

.pic-cover,
.pic-cover>p,
.pic-img {
    position: relative;
    display: block
}

.pic-img {
    width: 100%;
    height: 100%;
    pointer-events: none
}

.pic-cover>p {
    font-size: .8rem;
    padding: 10px
}

.banner,
.picleft,
.picright {
    position: relative;
    width: auto;
    height: auto;
    display: block
}

.pic-img.column {
    width: 120%;
    left: -10%
}

.banner {
    width: 100%;
    height: 100%;
    overflow: hidden
}

.full-banner .slidebox-arrows {
    display: none
}

.full-banner .slidebox-toggle {
    position: absolute;
    top: calc(50% - 2.5vw);
    left: calc(50% - 2.5vw);
    opacity: 0;
    pointer-events: none
}

.full-banner .slidebox-toggle.is-active {
    opacity: 0;
    pointer-events: none
}

.overlay-hover {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 5vw;
    top: 0;
    opacity: 0;
    display: none;
    z-index: 5
}

.next-right,
.prev-left {
    width: 20vw;
    height: 60vh;
    top: 20vh;
    display: block
}

.next-right {
    left: auto;
    right: 5vw
}

.box-text,
.box-txt {
    height: auto;
    display: block;
    margin: 0;
    text-align: left;
    z-index: 5
}

.box-align h3,
.box-text h3,
.box-text p,
.box-txt h3,
.box-txt p {
    position: relative;
    display: block;
    margin: 0 0 .8rem
}

.box-txt ul {
    margin: 0;
    list-style: none
}

.box-align,
.box-text,
.box-txt,
.box-txt ul,
.box-txt ul>li {
    position: relative;
    width: 100%
}

.box-txt ul,
.box-txt ul>li {
    display: block
}

.box-align li p,
.box-align p,
.box-text>ul,
.box-txt li p,
.text-content li span,
.text-content li>p {
    position: relative;
    display: block
}

.box-text>ul {
    width: 100%;
    margin: 1vh 0;
    list-style: none
}

.box-align {
    height: auto;
    display: flex;
    align-items: center;
    margin: .8rem 0;
    text-align: left;
    z-index: 5
}

.box-align p {
    padding: 0 2rem 0 0
}

.box-align ul {
    margin: 0;
    list-style: none
}

.box-align ul,
.box-align ul>li,
.text-content,
.text-content>ul {
    position: relative;
    width: 100%;
    display: block
}

.box-align ul>li {
    margin: 0 0 .8rem
}

.box-align strong,
.box-txt strong {
    font-size: 140%;
    color: var(--color-highlight)
}

.text-content {
    width: auto;
    height: auto;
    text-align: left;
    z-index: 5
}

.text-content>ul {
    margin: 1vh 0;
    list-style: none
}

.text-content ul>li {
    justify-content: flex-start;
    margin: 0 0 .8rem
}

.text-content li>p {
    font-size: 130%
}

.text-content li span {
    width: 2vw;
    height: 2vw;
    flex: none;
    margin: 0 1.2rem 0 0
}

.text-quote {
    padding-left: 5rem
}

.text-quote::before {
    content: '';
    width: 4rem;
    height: 4rem;
    position: absolute;
    left: 0;
    top: -1rem
}

.banner-home,
.home-intro .content-main,
.home-video .content-main {
    display: block
}

.home-intro .bg-cover img {
    object-position: center top
}

.banner-home {
    width: 100%;
    height: 100vh;
    position: relative;
    background-color: var(--color-normal);
    overflow: hidden
}

.home-info .content-main {
    padding: 2vw
}

.home-info .content-group {
    display: block;
    width: 35vw;
    padding: 0 7vw 0 0
}

.home-info .text-content {
    width: 100%
}

.home-info .text-content p {
    font-size: 110%;
    margin: 0 0 1rem
}

.home-info .text-content p strong {
    font-size: 140%;
    color: var(--color-white)
}

.home-info .wrap-view-more {
    margin: 2rem 0 0 4rem
}

.home-info .bg-cover {
    left: auto;
    right: 0
}

.home-info .logo-a-content {
    width: 35vh;
    height: 35vh;
    bottom: 0;
    left: 10%
}

.home-info .logo-a-content svg path {
    stroke: var(--color-normal-alpha)
}

.home-location .content-main {
    display: block
}

.home-location .content-main::before {
    width: 25vw;
    display: block;
    background: var(--color-normal-light);
    z-index: 5
}

.home-location .text-content {
    position: absolute;
    top: 1rem;
    left: 30vw
}

.box-cover-right {
    width: 80vw;
    height: 80vh;
    position: absolute;
    right: 0;
    top: 10vh;
    overflow: hidden;
    z-index: 3
}

.box-cover-right::after {
    content: '';
    position: absolute;
    width: 75vw;
    height: 100%;
    right: 0;
    top: 0;
    pointer-events: none;
    background: var(--color-grey-gradient)
}

.map-img,
.panzoom,
.viewer {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: block
}

.box-text-group ul>li span img,
.info-box li .icon img,
.map-img>img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center center
}

.map-img>img,
.map-svg {
    position: absolute;
    top: 0
}

.map-img>img {
    left: 0
}

.map-svg {
    width: 100%;
    height: 100%;
    display: block;
    right: 0;
    object-fit: contain;
    object-position: center center;
    z-index: 2
}

.pointer-map {
    transform: translate(820px, 525px);
    pointer-events: none;
    filter: drop-shadow(.3rem 1rem 1.5rem var(--color-black-alpha-02))
}

.st-line {
    fill: none;
    stroke-miterlimit: 5;
    stroke-width: 4px;
    stroke-dasharray: 5;
    stroke-dashoffset: 0;
    stroke: var(--color-white-alpha-05)
}

.dot-num.show circle,
.map-img.show .st-line {
    animation: StrokeLine 3s infinite linear
}

.compass {
    position: absolute;
    left: 10vw;
    top: 60%;
    width: 8vh;
    height: 10vh;
    z-index: 10
}

.dot-p {
    cursor: pointer;
    transform-origin: center center
}

.dot-p.showup .icon-color,
.map-img.show .line-color {
    stroke-width: 3px;
    stroke-dasharray: 3;
    stroke-dashoffset: 0;
    stroke: var(--color-white);
    animation: StrokeLine 3s infinite linear
}

.map-img.show .line-color {
    filter: drop-shadow(5px 10px 20px var(--color-black-alpha-02))
}

.dot-p .icon,
.dot-p .icon-color {
    transition: all .2s ease-in-out
}

.dot-p.showup .icon-color {
    fill: var(--color-highlight)
}

.hover-block.showbox>.text text,
.inner .dot-p.showup .icon {
    fill: var(--color-white)
}

.ratio-4-3 .box-cover-right {
    height: 100vh;
    top: 0
}

.button-zoom {
    position: absolute;
    left: 50vw;
    bottom: 2.5vw;
    height: auto;
    width: auto;
    display: flex;
    align-items: center;
    z-index: 20
}

.pic-zoom-in,
.pic-zoom-out {
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    margin: 0 15px;
    border-radius: 50%
}

.pic-zoom-in::after,
.pic-zoom-out::after {
    content: '';
    width: 140%;
    height: 140%;
    position: absolute;
    left: -20%;
    top: -20%
}

.pic-zoom-in::before,
.pic-zoom-out::before,
.time-number::before {
    content: '';
    position: absolute;
    background-color: var(--color-highlight);
    border-radius: 50%
}

.pic-zoom-in::before,
.pic-zoom-out::before {
    display: none;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.pic-zoom-out {
    pointer-events: none;
    opacity: .5
}

.pic-zoom-out.no-disable {
    pointer-events: auto;
    opacity: 1
}

.info-box {
    position: absolute;
    left: 15vw;
    bottom: 1rem;
    width: auto;
    height: auto;
    padding: 1rem 2rem;
    background: var(--color-white);
    border-radius: 1vw;
    border: 1px solid var(--color-grey-light);
    z-index: 5
}

.home-info .text-content p,
.info-box li p,
.info-box ul {
    position: relative;
    display: block
}

.info-box ul {
    width: 100%;
    margin: 1vh 0;
    list-style: none;
    column-count: 3;
    column-gap: .5rem
}

.info-box li,
.note-list li,
.text-content ul>li {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center
}

.info-box li {
    justify-content: flex-start;
    margin: 0 1rem .5rem 0
}

.info-box li p {
    font-size: .8rem
}

.info-box li .icon {
    position: relative;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    flex: none;
    margin: 0 .5rem 0 0
}

.box-text-group ul>li span img,
.info-box li .icon img {
    position: relative
}

.faci-list,
.note-list,
.scroll-list {
    position: relative;
    width: 100%;
    height: auto;
    display: block
}

.faci-list {
    position: absolute;
    width: auto;
    max-width: 21vw;
    left: 2vw;
    top: 50%;
    transform: translateY(-60%);
    z-index: 5
}

.note-list h3 {
    width: 100%;
    height: auto;
    font-size: 1vw;
    margin: .5vh 0
}

.note-list ul {
    list-style: none;
    width: auto;
    height: auto;
    padding: 0
}

.note-list li {
    margin: 0 0 2vh;
    padding: 0;
    text-align: left
}

.note-list .text,
.note-list h3,
.note-list p,
.note-list ul {
    position: relative;
    display: block
}

.note-list .text {
    width: auto;
    height: auto;
    padding-left: .5rem;
    color: var(--color-white)
}

.note-list p {
    color: currentColor;
    flex: none;
    font-size: .8rem
}

.pic-grid,
.time-number {
    position: relative;
    justify-content: center
}

.time-number {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    flex-shrink: 0;
    width: 10vh;
    text-align: center;
    border: 1px solid var(--color-highlight);
    border-radius: 50%;
    margin: 0;
    overflow: hidden;
    line-height: 1;
    color: var(--color-grey);
    padding: 2vh 0;
    height: 10vh
}

.time-number::before {
    width: 80%;
    height: 80%;
    left: 10%;
    top: 10%
}

.time-number small,
.time-number strong {
    position: relative;
    width: 100%;
    display: block;
    font-size: .7rem;
    line-height: 1;
    z-index: 3
}

.time-number strong {
    font-size: 1.5rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.ratio-4-3 .time-number {
    width: 5.5vw;
    height: 5.5vw;
    padding: 1vw 0
}

.home-hilife .content-main {
    padding: 2vw
}

.home-hilife .text-content {
    width: 40%;
    padding: 0 2vw;
    margin: 5vh 0
}

.home-hilife .pic-cover {
    border-radius: 1vw;
    box-shadow: 0 1rem 2rem 0 var(--color-black-alpha-01)
}

.pic-grid {
    width: 60%;
    height: 70vh;
    display: grid;
    grid-gap: 1vw;
    grid-template-columns: 31vh 31vh 44vh;
    padding: 0 5vw 0 2vw;
    order: 2
}

.home-hilife .pic-cover:nth-child(1) {
    grid-column: 2;
    grid-row: 1
}

.home-hilife .pic-cover:nth-child(2) {
    grid-column: 3;
    grid-row: 1/span 2
}

.home-hilife .pic-cover:nth-child(3) {
    grid-column: 1/span 2
}

.ratio-4-3 .home-hilife .pic-grid {
    grid-template-columns: 15vh 25vh 35vh
}

.home-usp .content-main {
    padding: 2vw;
    justify-content: flex-end
}

.home-usp .bg-cover::after {
    display: block;
    mix-blend-mode: multiply;
    background-color: var(--color-grey)
}

.wrap-slide {
    position: relative;
    width: 65vw;
    height: 60vh;
    order: 2
}

.usp-item,
.usp-slide,
.wrap-slide {
    display: block;
    margin: 0
}

.usp-slide {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 5
}

.usp-item {
    width: 30vh;
    height: 50vh;
    aspect-ratio: 1;
    filter: brightness(50%);
    padding: 0;
    transform-origin: left center;
    transition: filter 1s ease-in-out, box-shadow .3s ease-in-out, border-color .3s ease-in-out, height .3s ease-in-out;
    overflow: hidden
}

.usp-item .pic-cover {
    height: 100%;
    border-radius: 1vw;
    transform-origin: center center
}

.usp-item::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--color-black-gradient);
    border-radius: 1vw;
    z-index: 3
}

.usp-item .box-txt {
    position: absolute;
    width: 100%;
    height: auto;
    left: 0;
    bottom: 0;
    display: block;
    padding: 20px 20px 30px;
    margin: 0;
    transition: bottom .5s ease-in-out
}

.usp-item .box-txt h3 {
    margin: 0;
    font-size: .7rem;
    text-transform: uppercase;
    font-family: SVN-Gilroy-Regular;
    font-weight: 400;
    color: var(--color-white)
}

.usp-item,
.usp-item .box-txt h3 span {
    position: relative
}

.number-usp,
.usp-item .box-txt h3 strong {
    position: relative;
    color: var(--color-highlight);
    font-weight: 400
}

.number-usp {
    display: block;
    font-size: 1rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.usp-item.is-active {
    width: 80vh;
    height: 60vh;
    aspect-ratio: 1.4;
    filter: brightness(100%);
    box-shadow: 10px 30px 30px 5px var(--color-black-alpha-03)
}

.usp-item.is-active:last-child {
    width: calc(2000/1125*60vh);
    aspect-ratio: 1.7
}

.usp-item.is-active .box-txt {
    bottom: -100%
}

.usp-item.is-active::after {
    opacity: 0
}

.ratio-4-3 .wrap-slide {
    width: 67vw;
    height: 50vh
}

.ratio-4-3 .usp-item {
    width: 22vh;
    height: 40vh
}

.ratio-4-3 .usp-item.is-active {
    width: 65vh;
    height: 50vh
}

.ratio-4-3 .usp-item.is-active:last-child {
    width: calc(2000/1125*50vh)
}

.bg-slide {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0
}

.bg-slide .bg-cover {
    position: relative
}

.bg-slide,
.bg-slide .bg-cover img {
    height: 100vh
}

.text-slide {
    width: auto;
    max-width: 30vw;
    height: auto;
    margin: 0;
    padding: 0 2vw 0 0;
    order: 1;
    z-index: 10
}

.text-slide,
.tilte-slide,
.tilte-slide h3 {
    position: relative;
    display: block
}

.tilte-slide {
    width: 100%;
    height: auto;
    text-align: right;
    overflow: hidden
}

.tilte-slide h3,
.tilte-slide h3 span strong {
    font-family: SVN-Gilroy-Regular;
    font-weight: 400;
    font-style: normal
}

.tilte-slide h3 {
    font-size: var(--titleMedium);
    line-height: 1.2;
    color: var(--color-white)
}

.tilte-slide h3 span {
    position: relative;
    display: block;
    opacity: 0;
    transition: opacity 1s ease-in-out, transform .6s ease-in-out
}

.tilte-slide h3 span strong {
    color: var(--color-highlight)
}

.tilte-slide h3 span:nth-child(odd) {
    transform: translateX(-100%)
}

.tilte-slide h3 span:nth-child(even) {
    transform: translateX(100%)
}

.tilte-slide.is-active h3 span {
    opacity: 1;
    transform: none
}

.tilte-slide h3 span:nth-child(1) {
    transition-delay: .1s
}

.tilte-slide h3 span:nth-child(2) {
    transition-delay: .15s
}

.tilte-slide h3 span:nth-child(3) {
    transition-delay: .2s
}

.tilte-slide h3 span:nth-child(4) {
    transition-delay: .25s
}

.tilte-slide h3 span:nth-child(5) {
    transition-delay: .3s
}

.tilte-slide h3 span:nth-child(6) {
    transition-delay: .35s
}

.tilte-slide h3 span:nth-child(7) {
    transition-delay: .4s
}

.tilte-slide h3 span:nth-child(8) {
    transition-delay: .45s
}

.tilte-slide h3 span:nth-child(9) {
    transition-delay: .5s
}

.ratio-4-3 .text-slide {
    width: 25vw
}

.pin-wrap .slidebox-track {
    height: 100%
}

.pin-wrap .slidebox-list {
    align-items: center;
    transition: transform .5s ease-in-out
}

.pin-wrap .slidebox-arrows {
    width: 80%;
    left: 0;
    top: calc(100% + 2vw);
    justify-content: flex-start
}

.pin-wrap .slidebox-arrow {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    min-width: 4vw;
    margin-right: 1.5vw
}

.pin-wrap .slidebox-arrow-prev::before {
    background-color: transparent
}

.pin-wrap .slidebox-arrow:hover::before {
    background: var(--color-highlight)
}

.pin-wrap .pagination-custom .number-right,
.pin-wrap .slidebox-pagination {
    display: none
}

.pin-wrap .pagination-custom .number-left {
    color: var(--color-highlight);
    font-family: SVN-Gilroy-Regular;
    font-weight: 400;
    font-style: normal;
    font-size: 3vw
}

.pin-wrap .pagination-custom .number-left::before {
    content: "";
    position: relative;
    display: block;
    width: 20vw;
    height: 1px;
    margin: 0 2vw 0 0;
    background-color: var(--color-white-alpha-05)
}

.home-masterplan .content-main,
.ratio-56 .home-masterplan .content-main::after {
    display: block
}

.home-masterplan .content-main::after {
    height: 20%;
    bottom: 0;
    top: auto;
    background: var(--color-normal-hide)
}

.home-masterplan .text-content {
    width: 30%;
    padding: 0 0 0 2vw
}

.home-masterplan .box-txt {
    margin: 2vh 0;
    padding-right: 2vw
}

.home-masterplan .text-group {
    flex-wrap: unset
}

.home-masterplan .text-group:last-child {
    margin-left: 4rem
}

html[lang=en] .home-masterplan .text-group {
    flex-wrap: wrap
}

html[lang=en] .home-masterplan .text-group:last-child {
    margin: 0
}

html[lang=en] .home-masterplan .text-group span {
    white-space: normal
}

.home-masterplan .wrap-view-more {
    display: inline-block;
    margin: 1rem 0 0 5rem
}

.master-map {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden
}

.master-bg,
.master-bg>svg {
    position: absolute;
    left: 0;
    top: 0
}

.master-bg {
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 1200px
}

.home-masterplan .master-bg {
    width: 2200px
}

.master-bg>svg {
    width: 100%;
    height: 100%
}

.obj {
    pointer-events: none
}

.t-name {
    font-size: 30px;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.t-tower {
    font-size: 16px;
    font-family: SVN-Gilroy-Regular;
    font-weight: 400
}

.hover-svg {
    pointer-events: none
}

.hover-svg.show {
    pointer-events: auto
}

.hover-block {
    cursor: pointer
}

.hover-block,
.hover-block path {
    transition: all .3s ease-in-out
}

.hover-block.showbox {
    filter: drop-shadow(1rem 1rem .2rem var(--color-black-alpha))
}

.hover-block.showbox>path:not(.after) {
    fill: var(--color-highlight);
    opacity: 1
}

.hover-block.showbox>.after {
    fill: var(--color-highlight)
}

.all-dot {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10
}

.note-faci {
    bottom: 10vh;
    left: 0;
    text-align: center;
    z-index: 9
}

.note-faci span {
    position: relative;
    height: auto;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    font-size: .7rem;
    text-transform: uppercase;
    padding: 10px 15px;
    color: var(--color-white)
}

.note-block,
.note-block::after,
.note-faci,
.wrap-note {
    position: absolute;
    width: 100%;
    height: auto
}

.note-block {
    width: auto;
    transition: all .3s ease-in-out;
    padding: 1vw 1.5vw;
    opacity: 0;
    visibility: hidden;
    z-index: 20
}

.note-block::after {
    content: '';
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 1rem;
    background-color: var(--color-normal);
    box-shadow: 0 1rem 2rem 0 var(--color-black-alpha-02)
}

.note-block .info,
.note-block h3 {
    position: relative;
    height: auto;
    z-index: 5
}

.note-block h3 {
    display: inline-block;
    font-size: 1rem;
    width: auto
}

.note-block .info {
    width: 100%;
    display: flex;
    align-items: center
}

.note-block .info p {
    position: relative;
    display: block;
    font-size: .8rem;
    text-align: justify;
    line-height: 1.4
}

.note-01 {
    left: 32%;
    top: 2%
}

.note-02 {
    left: 68%;
    top: 17%
}

.note-03 {
    left: 23%;
    top: 36%
}

.note-04 {
    left: 58%;
    top: 38%
}

.line-group {
    position: absolute;
    width: 1rem;
    height: 4rem;
    top: 100%;
    left: calc(50% - .5rem);
    pointer-events: none;
    display: none
}

.line-group::after,
.oval {
    position: absolute;
    background-color: var(--color-white)
}

.line-group::after {
    content: '';
    width: 1px;
    height: 100%;
    right: .5rem;
    top: 0
}

.oval {
    top: 100%;
    right: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    z-index: 3
}

.note-01,
.note-03,
.note-04 {
    max-width: 30vw
}

.note-02 {
    max-width: 27vw
}

.note-02 .line-group {
    height: 1px;
    width: 4rem;
    left: -4rem;
    top: 60%
}

.note-02 .line-group::after {
    width: 100%;
    height: 1px;
    left: 0;
    top: 0;
    right: auto
}

.note-02 .oval {
    right: auto;
    left: 0;
    top: -.5rem
}

.note-block.showbox {
    opacity: 1;
    visibility: visible
}

.note-block .wrap-view-more {
    margin: 1vw 0 1vw 1.5vw
}

.note-block .icon-svg {
    width: 3vw;
    height: 3vw
}

.note-block .view-more span {
    font-size: .6rem;
    margin: 0 -.8rem 0 0
}

#library-page>.first-banner,
.is-touch .line-group,
.scrollB {
    display: none
}

.ratio-4-3 .note-01 {
    top: 7%
}

.ratio-4-3 .note-02 {
    top: 15%
}

.scrollB {
    position: relative;
    width: 100%;
    height: auto;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    z-index: 10
}

.home-promotion .content-main {
    justify-content: center;
    padding: 3vw 0;
    flex-wrap: wrap
}

.home-promotion .box-txt {
    text-align: center;
    max-width: 70vw;
    margin: auto
}

.home-promotion .box-txt p {
    font-size: 1.5rem
}

.contact .text-content ul>li p,
.home-contact .text-content ul>li p,
.home-promotion .box-txt strong {
    font-size: 120%
}

.offer-item,
.slide-offer {
    position: relative;
    display: block
}

.slide-offer {
    width: calc((2000/1125*70vh) + 4vw);
    margin: 1rem auto;
    z-index: 10;
    height: auto
}

.offer-item {
    width: 100%;
    height: 100%;
    opacity: .3;
    transition: opacity .3s ease-in-out;
    pointer-events: none
}

.offer-pic {
    width: calc(2000/1125*70vh);
    height: 70vh;
    overflow: hidden;
    border-radius: 1vw;
    transform: scale(.8);
    transition: transform .3s ease-in-out;
    margin: auto
}

.offer-pic,
.offer-pic img,
.title-pic h3 {
    position: relative;
    display: block
}

.offer-pic img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    pointer-events: none
}

.slide-offer .slidebox-track {
    overflow: visible
}

.offer-item.is-active {
    opacity: 1;
    pointer-events: auto
}

.offer-item.is-active .offer-pic {
    transform: none
}

.slide-offer .slidebox-arrow-prev {
    left: -3vw
}

.slide-offer .slidebox-arrow-next {
    right: -3vw
}

.ratio-4-3 .home-promotion .content-main {
    padding: 5vw 0
}

.ratio-4-3 .slide-offer {
    width: calc((2000/1125*60vh) + 4vw)
}

.ratio-4-3 .offer-pic {
    width: calc(2000/1125*60vh);
    height: 60vh
}

.home-library .content-main {
    text-align: center;
    align-items: flex-start;
    justify-content: center;
    padding: 5vw 0;
    flex-wrap: wrap
}

.home-library .logo-a-content {
    width: 50vh;
    height: 50vh;
    left: -20vh;
    bottom: 21vh
}

.home-library .wrap-view-more {
    position: absolute;
    bottom: 20px
}

.home-library .title-main,
.wrap-library {
    display: flex;
    align-items: center
}

.home-library .title-main h2,
.note-faci span,
.ratio-4-3 .library .title-main h2 {
    display: inline-block;
    width: auto
}

.home-library .title-main::after,
.home-library .title-main::before,
.ratio-4-3 .library .title-main::after,
.ratio-4-3 .library .title-main::before {
    content: '';
    position: relative;
    width: 15vw;
    height: 1px;
    background-color: var(--color-normal-alpha-03);
    display: block;
    margin: 0 2vw
}

.wrap-library {
    position: relative;
    width: 80%;
    max-width: 65vw;
    height: 55vh;
    justify-content: center;
    margin: 0 auto;
    z-index: 5
}

.library-item {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
    margin: 0
}

.home-library .library-item {
    cursor: pointer
}

.library-item::after,
.slide-bro .item-brochure::after,
.slide-vid .item-video::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--color-black-gradient);
    border-radius: 1vw;
    z-index: 3
}

.library-item::before,
.slide-bro .item-brochure::before,
.slide-vid .item-video::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-white-zero);
    border-radius: 1vw;
    pointer-events: none;
    z-index: 5
}

.library-item .pic-cover {
    height: 100%;
    border-radius: 1vw
}

.home-library .item-brochure {
    width: 120%;
    margin: 0 1vw
}

.title-pic,
.title-pic p {
    position: absolute;
    width: 100%;
    height: auto;
    left: 0
}

.title-pic {
    bottom: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 1rem;
    z-index: 10
}

.title-pic h3 {
    font-size: 1.2rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    margin-left: .6rem;
    text-transform: uppercase;
    z-index: 5
}

.title-pic p {
    top: -30%;
    text-align: center;
    display: block
}

.ratio-4-3 .wrap-library {
    max-width: 75vw;
    height: 50vh
}

.ratio-4-3 .home-library .content-main {
    padding: 8vw 0
}

.library .content-main {
    padding: 2vw
}

.library .logo-a-content {
    width: 30vh;
    height: 30vh;
    left: 25%
}

.library .logo-a-content svg path {
    stroke: var(--color-highlight)
}

.library .pic-grid {
    width: 80%;
    height: 70vmin;
    --img-size: 30vmin;
    --item-size: calc(var(--img-size)/3);
    display: grid;
    gap: 1vmin;
    grid-template: repeat(7, var(--item-size))/repeat(15, var(--item-size));
    padding: 0;
    z-index: 10
}

.library .library-item {
    margin: 0
}

.library .library-item,
.slide-bro,
.slide-vid {
    grid-column: var(--x1, auto)/var(--x2, auto);
    grid-row: var(--y1, auto)/var(--y2, auto)
}

.library .item-album {
    --x1: 7;
    --x2: 11;
    --y1: 1;
    --y2: 4;
    cursor: pointer
}

.library .item-degree {
    --x1: 7;
    --x2: 11;
    --y1: 4;
    --y2: 7;
    cursor: pointer
}

.library .slide-vid {
    --x1: 11;
    --x2: 16;
    --y1: 3;
    --y2: 7
}

.library .slide-bro {
    --x1: 2;
    --x2: 7;
    --y1: 1;
    --y2: 6;
    width: 100%
}

.slide-bro,
.slide-bro .item-brochure,
.slide-vid,
.slide-vid .item-video {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    margin: 0;
    padding: 0
}

.slide-vid::after,
.slide-vid::before {
    display: none
}

.slide-bro .item-brochure,
.slide-vid .item-video {
    cursor: pointer
}

.slide-bro .pic-cover,
.slide-vid .pic-cover {
    height: 100%;
    border-radius: 1vw
}

.slide-bro .slidebox-track,
.slide-vid .slidebox-track {
    width: 100%;
    height: 100%
}

.ratio-4-3 .keyplan>svg,
.slide-bro .slidebox-list,
.slide-vid .slidebox-list {
    width: 100%
}

.slide-vid .slidebox-arrows {
    width: auto;
    top: auto;
    bottom: calc(100% + 20px);
    left: auto;
    right: 20px;
    justify-content: flex-end
}

.slide-bro .slidebox-arrows {
    width: auto;
    top: calc(100% + 20px);
    left: 20px;
    justify-content: flex-start
}

.slide-bro .slidebox-arrow,
.slide-vid .slidebox-arrow {
    width: 2.5vw;
    height: 2.5vw;
    min-width: 40px;
    min-height: 40px;
    margin: 0 10px
}

.slide-bro .slidebox-arrow-next,
.slide-bro .slidebox-arrow-prev,
.slide-vid .slidebox-arrow-next,
.slide-vid .slidebox-arrow-prev {
    position: relative;
    left: auto;
    right: auto
}

.slide-bro .slidebox-arrow:disabled,
.slide-vid .slidebox-arrow:disabled {
    opacity: .3
}

.ratio-4-3 .library .logo-a-content {
    left: 18%
}

.ratio-4-3 .library .content-main {
    padding: 5vw 0;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center
}

.ratio-4-3 .library .title-main {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px
}

.ratio-4-3 .library .pic-grid {
    height: 46vw;
    --img-size: 15vw;
    grid-template: repeat(7, var(--item-size))/repeat(16, var(--item-size))
}

.ratio-4-3 .library .item-brochure {
    --y2: 7
}

.ratio-4-3 .library .item-album {
    --y2: 5
}

.ratio-4-3 .library .item-degree {
    --y1: 5;
    --y2: 9
}

.ratio-4-3 .library .slide-vid {
    --x2: 16;
    --y1: 2
}

.home-news .content-main {
    justify-content: center;
    padding: 2vw
}

.home-news .logo-a-content {
    width: 30vh;
    height: 30vh;
    left: 10%
}

.home-news .title-main {
    width: 20%
}

.home-news .title-main h2 {
    font-size: var(--titleFont)
}

.home-news .wrap-view-more {
    position: absolute;
    bottom: 20px
}

.wrap-news {
    position: relative;
    width: 80%;
    max-width: 70vw;
    height: auto;
    display: grid;
    grid-template-columns: 50vh auto;
    grid-gap: 1vw;
    padding: 0 10vw 0 0;
    z-index: 5
}

.item-news-home {
    padding: .8vw;
    cursor: pointer;
    border-radius: 1vw;
    overflow: hidden
}

.item-news-home::after,
.item-news::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 1vw
}

.item-news-home,
.pic-news {
    position: relative;
    width: 100%;
    height: auto;
    display: block
}

.item-news-home .pic-cover {
    height: 28vh;
    border-radius: .8vw
}

.item-news-home .box-txt {
    margin: 1vh 0;
    white-space: normal;
    overflow: hidden
}

.item-news .box-txt p,
.item-news-home .box-txt p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.item-news-home:nth-child(1) {
    grid-column: 1;
    grid-row: 1/3
}

.item-news-home:nth-child(1) .box-txt {
    padding: 0 .8vw
}

.item-news-home:nth-child(1) .box-txt h3 {
    font-size: var(--titleMin)
}

.item-news-home:nth-child(2),
.item-news-home:nth-child(3) {
    grid-column: 2;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start
}

.item-news-home:nth-child(2) {
    grid-row: 1
}

.item-news-home:nth-child(3) {
    grid-row: 2
}

.item-news-home:nth-child(2) .pic-news,
.item-news-home:nth-child(3) .pic-news {
    width: 50%
}

.item-news-home:nth-child(2) .pic-cover,
.item-news-home:nth-child(3) .pic-cover {
    height: 25vh
}

.item-news-home:nth-child(2) .box-txt,
.item-news-home:nth-child(3) .box-txt {
    width: 50%;
    padding: 0 1vw
}

.item-news-home:nth-child(2) .box-txt h3,
.item-news-home:nth-child(3) .box-txt h3 {
    font-size: var(--titleScale)
}

.item-news-home .link-load {
    position: relative;
    padding: 10px 0;
    margin: 10px 0;
    font-size: .8rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    text-align: left;
    color: var(--color-highlight);
    text-transform: uppercase;
    white-space: nowrap;
    display: none;
    z-index: 10
}

.item-news-home .link-load::after {
    content: ' ';
    position: relative;
    width: 10vw;
    height: 1px;
    margin: 0 0 0 10px;
    display: inline-block;
    background-color: currentColor;
    opacity: .5
}

.ratio-4-3 .home-news .title-main {
    width: 15%
}

.ratio-4-3 .home-news .wrap-news {
    max-width: 80vw;
    padding: 3vw 5vw 0 0
}

.ratio-4-3 .item-news-home:nth-child(1) .pic-cover {
    height: 30vh
}

.events .content-main,
.news .content-main,
.progress .content-main {
    justify-content: center;
    padding: 0;
    flex-wrap: wrap
}

.events .title-main,
.news .title-main,
.progress .title-main {
    position: absolute;
    left: 0;
    top: 8vh;
    width: 100%;
    text-align: center;
    pointer-events: none
}

#news-page .slidebox-arrow:disabled {
    opacity: 0
}

#news-page .slidebox-arrow-next {
    right: 0
}

#news-page .slidebox-arrow-prev {
    left: 0
}

.item-news,
.slide-news {
    height: auto;
    display: block
}

.slide-news {
    max-width: 70vw;
    margin: 13vh 0 0;
    z-index: 10;
    width: 70%
}

.slide-news .slidebox-track {
    overflow: visible
}

.slide-news .slidebox-item {
    pointer-events: none;
    opacity: .3;
    transition: opacity .3s ease-in-out
}

.slide-news .slidebox-item.is-prev {
    opacity: 0
}

.slide-news .slidebox-item.is-active {
    pointer-events: auto;
    opacity: 1
}

.slide-news .slidebox-arrows {
    width: calc(100% + 6vw);
    top: calc(50% - 5vw);
    left: -3vw
}

.slide-news .wrap-news {
    width: 100%;
    display: flex;
    justify-content: start;
    max-width: inherit;
    padding: 0 5vw
}

.slide-news .item-news {
    max-width: 33.3%
}

.item-news {
    position: relative;
    width: 100%;
    padding: .8vw;
    cursor: pointer;
    border-radius: 1vw;
    overflow: hidden
}

.item-news .pic-cover {
    height: 28vh;
    border-radius: .8vw
}

.item-news .box-txt {
    margin: 1vh 0;
    white-space: normal;
    overflow: hidden
}

.item-news .box-txt h3 {
    font-size: var(--titleScale)
}

.go-news {
    position: relative;
    padding: 10px 0;
    margin: 10px 0;
    font-size: .8rem;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    text-align: left;
    color: var(--color-highlight);
    text-transform: uppercase;
    white-space: nowrap;
    display: none;
    z-index: 10
}

.go-news::after {
    content: '';
    position: relative;
    width: 10vw;
    height: 1px;
    margin: 0 0 0 10px;
    display: inline-block;
    background-color: currentColor;
    opacity: .5
}

.news .logo-a-content {
    width: 25vw;
    height: 25vw;
    left: -10%
}

.contact .wrap-form .input-text input[type=text],
.events .item-news {
    border: 1px solid var(--color-white-alpha);
    color: var(--color-white)
}

.events .logo-a-content {
    width: 20vw;
    height: 20vw;
    left: -5%
}

.contact .logo-a-content svg path,
.events .logo-a-content svg path {
    stroke: var(--color-white-alpha)
}

.progress .bg-cover::after {
    display: block;
    mix-blend-mode: multiply;
    background-color: var(--color-grey);
    opacity: 0
}

.slide-progress {
    width: 50%;
    max-width: 40vw;
    height: auto;
    display: block;
    margin: 13vh 0 0;
    z-index: 10
}

.slide-progress .slidebox-track {
    overflow: visible
}

.slide-progress .slidebox-item {
    pointer-events: none;
    opacity: .3;
    transition: opacity .3s ease-in-out
}

.slide-progress .slidebox-item.is-prev {
    opacity: 0
}

.slide-progress .slidebox-item.is-active {
    pointer-events: auto;
    opacity: 1
}

.slide-progress .slidebox-arrows {
    width: calc(100% + 6vw);
    top: calc(50% - 5vw);
    left: -3vw
}

.slide-progress .item-news::after {
    background-color: var(--color-white)
}

.slide-progress .wrap-news {
    width: 100%;
    display: block;
    max-width: inherit;
    padding: 0 5vw
}

.slide-progress .box-txt {
    padding: 0 .5vw
}

.slide-progress .box-txt h3>span {
    font-size: .8rem;
    color: var(--color-grey-light)
}

.slide-progress .box-txt h3 {
    font-size: var(--titleMin)
}

.slide-progress .pic-cover {
    height: auto;
    max-height: 45vh;
    aspect-ratio: 12/9
}

.slide-progress .go-news {
    display: block;
    padding: 0
}

.home-partner .content-main {
    padding: 10vw;
    justify-content: center
}

.home-partner .title-main {
    width: 100%;
    text-align: center
}

.home-partner .box-txt {
    text-align: center;
    max-width: 50vw;
    margin: auto
}

.about-partner .box-txt p,
.home-partner .box-txt p {
    font-size: 150%
}

.box-partner {
    width: 100%;
    display: block;
    z-index: 5
}

.box-partner,
.group-logo,
.logo-partner {
    position: relative;
    height: auto
}

.logo-partner {
    width: 12vw;
    max-width: 300px;
    display: block;
    margin: 5vh auto 0
}

.logo-item img,
.logo-partner img {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center center;
    pointer-events: none
}

.group-logo {
    width: 100%;
    max-width: 60vw;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: auto;
    padding: 10vh 0 0;
    z-index: 5
}

.group-logo::after,
.group-logo::before {
    content: '';
    width: 100%;
    height: 1px;
    position: relative;
    background-color: var(--color-black-alpha-01)
}

.group-logo .logo-partner {
    width: 8vw;
    max-width: 250px;
    margin: 5vh 0
}

.contact .content-main,
.home-contact .content-main {
    padding: 8vw 15vw
}

.contact .text-content,
.home-contact .text-content {
    width: 55%
}

.contact .text-content .title-main::after,
.home-contact .text-content .title-main::after {
    content: '';
    position: relative;
    width: 10vw;
    height: 1px;
    display: block;
    margin: 20px 0
}

.home-contact .text-content .title-main::after {
    background-color: var(--color-normal-alpha-03)
}

.contact .text-content ul>li,
.home-contact .text-content ul>li {
    margin: 0 0 50px
}

.contact .text-content ul>li::after,
.home-contact .text-content ul>li::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -25px;
    width: 10vw;
    height: 1px;
    display: block
}

.home-contact .text-content ul>li::after {
    background-color: var(--color-normal-alpha-03)
}

.contact .text-content ul>li a,
.home-contact .text-content ul>li a {
    font-size: 160%
}

.contact .logo-a-content,
.home-contact .logo-a-content {
    width: 40vh;
    height: 40vh;
    left: auto;
    right: 15%
}

.logo-group,
.logo-item {
    position: relative;
    display: inline-block
}

.logo-group {
    height: auto;
    margin: 20px 0;
    width: 100%
}

.logo-item {
    width: auto;
    max-width: 200px;
    height: 8vh
}

.logo-item.large {
    height: 12vh;
    margin-bottom: 20px
}

.logo-item.small {
    height: 70px;
    margin-right: 5vw
}

.logo-item img {
    height: 100%
}

.contact .text-content .title-main::after,
.contact .text-content ul>li::after {
    background-color: var(--color-white-alpha)
}

.contact .bg-cover {
    z-index: 2
}

.contact .bg-cover::after {
    display: block;
    background-color: var(--color-black-alpha-02);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 0
}

.contact .wrap-form .holder {
    color: var(--color-highlight)
}

.contact .wrap-form .input-text input[type=text]:focus {
    color: var(--color-black)
}

#hilife-page .title-page .text-inner strong,
.contact .left-scale .title-main::after {
    margin: 10px 0
}

.left-scale .title-main h2 {
    font-size: var(--titleSmall);
    margin: 0
}

.contact .text-group span,
.wrap-form .text-group span {
    white-space: normal
}

.wrap-form {
    position: relative;
    width: 45%;
    height: auto;
    margin-right: 5%;
    z-index: 5
}

.wrap-form,
.wrap-form .text-group {
    display: block
}

.about-intro .title-main .text-group span:nth-child(2),
.wrap-form .title-main .text-group span:nth-child(2) {
    margin: 0
}

.wrap-form .require-col {
    width: 100%;
    display: block;
    margin: 0
}

.wrap-form .holder {
    color: var(--color-normal);
    font-size: 1rem;
    line-height: 3rem;
    left: 1rem
}

.contact .wrap-form .input-but,
.home-contact .wrap-form .input-but,
.wrap-form .input-text {
    width: 100%;
    margin: 1.5rem 0;
    display: block
}

.wrap-form .input-text input[type=text] {
    padding: 1.2rem;
    border: 1px solid var(--color-normal-alpha-03);
    line-height: 3rem;
    height: 3rem;
    border-radius: .5rem
}

.wrap-form .input-but button {
    color: var(--color-normal);
    text-shadow: none;
    border-color: var(--color-normal-alpha);
    font-size: .9rem
}

.contact .wrap-form .input-but button {
    color: var(--color-highlight);
    border-color: var(--color-highlight-alpha)
}

.about-intro .content-main {
    padding: 5vw 5vw 5vw 2vw
}

.about-intro .content-main::before {
    width: 30vw;
    display: block;
    background: var(--color-normal-light)
}

.about-intro .text-content {
    width: 45%;
    padding: 2rem;
    color: var(--color-white);
    overflow: hidden
}

.about-intro .text-content::after,
.about-project .text-content::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 1vw;
    background: var(--color-normal)
}

.about-intro .title-main h2,
.about-investor .title-main h3,
.faci-intro .title-main h2 {
    font-size: var(--titleSmall)
}

.about-intro .text-group {
    display: block
}

.about-intro .box-text strong {
    font-size: 140%;
    color: var(--color-highlight)
}

.about-intro .pic-cover {
    border-radius: 1vw
}

.about-intro .pic-grid {
    width: 55%;
    height: 80vh;
    grid-template-columns: 0 32vh 45vh;
    padding: 0
}

.about-intro .pic-cover:nth-child(1) {
    grid-column: 3;
    grid-row: 1
}

.about-intro .pic-cover:nth-child(2) {
    grid-column: 3;
    grid-row: 2
}

.about-intro .pic-cover:nth-child(3) {
    grid-column: 1/span 2;
    grid-row: 1;
    width: 80%;
    height: 70%;
    left: 20%;
    top: 30%
}

.about-intro .pic-cover:nth-child(4) {
    grid-column: 1/span 2;
    grid-row: 2/span 2
}

.about-intro .logo-a-content {
    left: auto;
    right: 15%
}

.about-intro .logo-a-content svg path {
    stroke: var(--color-highlight)
}

.ratio-4-3 .about-intro .pic-grid {
    grid-template-columns: 0 20vw 20vw
}

.about-project .content-main {
    justify-content: flex-end;
    padding: 5vw 8vw
}

.about-project .text-group {
    flex-wrap: unset
}

.about-project .text-content {
    width: 30vw;
    padding: 2rem
}

.about-project .box-text {
    color: var(--color-white)
}

.about-project .box-text strong {
    font-size: 140%;
    color: var(--color-highlight);
    line-height: 1.2
}

.about-project .logo-a-content {
    left: auto;
    right: 15%
}

.about-project .logo-a-content svg path {
    stroke: var(--color-white)
}

.about-investor .content-main {
    padding: 5vw
}

.about-investor .text-content {
    width: 40%;
    padding: 0 5vw
}

.about-investor .box-text {
    margin-top: 2vh;
    font-size: 120%
}

.about-investor .logo-partner {
    width: 8vw;
    margin: 0 2rem 0 0
}

.about-investor .pic-content {
    width: 60%;
    height: 85vh;
    margin-top: 5vh;
    order: 2
}

.about-investor .pic-cover {
    height: 100%
}

.about-investor .pic-cover img {
    width: auto;
    object-fit: contain;
    border-radius: 2vw;
    margin: auto
}

.about-investor .text-group {
    flex-wrap: unset
}

.content-flex {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto
}

.ratio-4-3 .about-investor .pic-content {
    height: 75vh
}

.ratio-4-3 .about-investor .text-content {
    padding: 0
}

.about-partner .content-main {
    padding: 10vw;
    justify-content: center
}

.about-partner .box-txt {
    text-align: center;
    max-width: 40vw;
    margin: auto
}

.about-partner .box-txt h3 {
    font-family: SVN-Gilroy-Regular;
    font-weight: 400;
    font-size: 150%;
    margin: 0 0 15px
}

.about-partner .logo-partner {
    margin: 3vh 0
}

.about-partner .group-logo {
    padding: 3vh 0
}

.group-agent,
.logo-slide {
    width: 100%;
    height: auto;
    z-index: 5
}

.group-agent {
    position: relative;
    max-width: 60vw;
    display: block;
    padding: 3vh 0;
    margin: 3vh auto
}

.group-agent::before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--color-black-alpha-01);
    display: block
}

.logo-slide {
    padding: 10px 0
}

.logo-agent,
.logo-agent img,
.logo-slide {
    position: relative;
    display: block
}

.logo-agent {
    width: 10vw;
    max-width: 200px;
    height: auto;
    margin: 0
}

.logo-agent img {
    width: auto;
    max-width: 100%;
    height: 100%;
    margin: auto;
    object-fit: contain;
    object-position: center center;
    pointer-events: none
}

.about-partner .logo-a-content {
    width: 50vh;
    height: 50vh;
    bottom: 25vh;
    left: -20vh
}

.hilife-intro .content-main {
    padding: 5vw
}

.hilife-intro .text-content {
    width: 50%;
    padding-right: 5vw
}

.hilife-intro .logo-a-content {
    left: 30%
}

.hilife-intro .pic-cover {
    border-radius: 1vw
}

.hilife-intro .pic-grid {
    width: 50%;
    grid-template-columns: 0 32vh 45vh;
    padding: 0 5vw 0 0
}

.hilife-intro .pic-cover:nth-child(1) {
    grid-column: 2;
    grid-row: 1/span 2
}

.hilife-intro .pic-cover:nth-child(2) {
    grid-column: 3;
    grid-row: 1/span 2
}

.hilife-intro .pic-cover:nth-child(3) {
    grid-column: 2/span 2
}

.hilife-intro .wrap-view-more {
    display: inline-flex;
    align-items: center
}

.hilife-intro .wrap-view-more img {
    position: relative;
    width: 6vw;
    height: auto;
    display: block;
    margin-left: 3vw
}

.ratio-4-3 .hilife-intro .pic-grid {
    grid-template-columns: 0 20vw 20vw
}

.hilife-prosper .content-main {
    padding: 5vw
}

.hilife-prosper .text-content {
    width: 40%;
    padding-right: 5vw
}

.box-text-group,
.box-text-group>ul {
    position: relative;
    width: 100%;
    height: auto
}

.box-text-group {
    display: block
}

.box-text-group>ul {
    display: flex;
    margin: 15px 0 0
}

.box-text-group ul>li {
    position: relative;
    display: block;
    padding-right: 20px
}

.box-text-group ul>li>p {
    position: relative;
    font-size: .8rem;
    display: block
}

.box-text-group ul>li span {
    position: relative;
    width: 5vw;
    height: 5vw;
    display: block;
    margin: 0 20px 0 0
}

.hilife-prosper .pic-grid {
    width: 60%;
    height: 65vmin;
    --img-size: 30vmin;
    --item-size: calc(var(--img-size)/3);
    display: grid;
    gap: 1vmin;
    grid-template: repeat(11, var(--item-size))/repeat(11, var(--item-size));
    padding: 0
}

.hilife-prosper .pic-cover {
    grid-column: var(--x1, auto)/var(--x2, auto);
    grid-row: var(--y1, auto)/var(--y2, auto);
    border-radius: 15px
}

.hilife-prosper .pic-cover:nth-child(1) {
    --x1: 2;
    --x2: 7;
    --y1: 1;
    --y2: 4
}

.hilife-prosper .pic-cover:nth-child(2) {
    --x1: 7;
    --x2: 11;
    --y1: 1;
    --y2: 3
}

.hilife-prosper .pic-cover:nth-child(3) {
    --x1: 3;
    --x2: 7;
    --y1: 4;
    --y2: 7
}

.hilife-prosper .pic-cover:nth-child(4) {
    --x1: 7;
    --x2: 10;
    --y1: 7;
    --y2: 3
}

.hilife-prosper .pic-cover:nth-child(5) {
    display: none
}

.hilife-prosper .logo-a-content {
    left: 25%
}

.ratio-4-3 .hilife-prosper .pic-grid {
    height: 35vw;
    --img-size: 15vw
}

.ratio-4-3 .hilife-prosper .pic-cover:nth-child(1) {
    --y2: 5
}

.ratio-4-3 .hilife-prosper .pic-cover:nth-child(2) {
    --y2: 4
}

.ratio-4-3 .hilife-prosper .pic-cover:nth-child(3) {
    --y1: 5;
    --y2: 8
}

.ratio-4-3 .hilife-prosper .pic-cover:nth-child(4) {
    --y1: 4;
    --y2: 8
}

.hilife-investment .content-main::before {
    width: 50vw;
    display: block;
    background: var(--color-normal-light)
}

.hilife-investment .text-content {
    width: 80%;
    max-width: 70rem;
    margin: auto;
    padding: 2rem
}

.hilife-investment .text-content::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--color-normal);
    border: 1px solid var(--color-white-alpha);
    border-radius: 1vw
}

.hilife-investment .box-text-group ul {
    display: block;
    margin: 10px 0
}

.hilife-investment .box-text-group ul>li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0
}

.hilife-investment .box-text-group ul>li span {
    width: 3rem;
    height: 3rem;
    flex: none;
    margin-right: 1rem
}

.hilife-investment .logo-a-content {
    width: 30vw;
    height: 30vw;
    left: -15%;
    z-index: 1
}

.hilife-investment .logo-a-content svg path {
    stroke: var(--color-white-alpha)
}

.hilife-content {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    gap: 0 5vw;
    column-count: 2;
    z-index: 5
}

.hilife-content .box-text-group ul>li>p {
    font-size: .8rem
}

.block-intro .box-text strong,
.hilife-content .box-text strong,
.print-box a {
    color: var(--color-highlight)
}

.hilife-map .pic-cover {
    height: 80vh
}

.faci-intro .content-main {
    padding: 5vw 5vw 5vw 2vw
}

.faci-intro .content-main::before {
    width: 30vw;
    display: block;
    background: var(--color-normal-light)
}

.faci-intro .text-content {
    width: 48%;
    padding: 2rem 3rem 2rem 2rem;
    margin-right: 2%;
    color: var(--color-white);
    overflow: hidden
}

.faci-intro .text-content::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 1vw;
    background: var(--color-normal)
}

.faci-intro .logo-a-content {
    left: 55%
}

.faci-intro .pic-cover {
    border-radius: 1vw
}

.faci-intro .pic-grid {
    width: 50%;
    grid-template-columns: 0 32vh 38vh;
    padding: 0
}

.faci-intro .pic-cover:nth-child(1) {
    grid-column: 2;
    grid-row: 1/span 4
}

.faci-intro .pic-cover:nth-child(2) {
    grid-column: 3;
    grid-row: 2/span 4;
    width: 80%
}

.faci-intro .pic-cover:nth-child(3) {
    grid-column: 3;
    grid-row: 6/span 6
}

.faci-intro .pic-cover:nth-child(4) {
    grid-column: 2;
    grid-row: 5/span 5;
    width: 140%;
    left: -40%
}

.ratio-4-3 .faci-intro .pic-grid {
    grid-template-columns: 0 25vh 30vh
}

.ratio-4-3 .faci-intro .text-content {
    width: 45%
}

.ratio-4-3 .faci-intro .pic-grid {
    width: 55%
}

.faci-intro-2 .content-main {
    padding: 5vw 5vw 5vw 2vw
}

.faci-intro-2 .content-main::before {
    width: 50vw;
    display: block;
    background: var(--color-highlight);
    left: auto;
    right: 0
}

.faci-intro-2 .content-main::after {
    width: 50vw;
    display: block;
    background: var(--color-normal)
}

.faci-intro-2 .text-content {
    width: 40%;
    padding: 2rem;
    color: var(--color-white);
    overflow: hidden
}

.faci-intro-2 .logo-a-content {
    left: 55%
}

.faci-intro-2 .pic-cover {
    border-radius: 1vw
}

.faci-intro-2 .pic-grid {
    width: 60%;
    grid-template-columns: 0 32vh 38vh;
    padding: 0
}

.faci-intro-2 .pic-cover:nth-child(1) {
    grid-column: 2;
    grid-row: 1/span 4
}

.faci-intro-2 .pic-cover:nth-child(2) {
    grid-column: 3;
    grid-row: 2/span 4;
    width: 80%
}

.faci-intro-2 .pic-cover:nth-child(3) {
    grid-column: 3;
    grid-row: 6/span 6
}

.faci-intro-2 .pic-cover:nth-child(4) {
    grid-column: 2;
    grid-row: 5/span 5;
    width: 140%;
    left: -40%
}

.ratio-4-3 .faci-intro-2 .pic-grid {
    grid-template-columns: 0 25vh 30vh
}

.ratio-4-3 .faci-intro-2 .text-content {
    width: 45%
}

.ratio-4-3 .faci-intro-2 .pic-grid {
    width: 55%
}

.floor-ground .content-main,
.floor-top .content-main,
.load-text .table-double tbody {
    display: block
}

.facilities .title-main {
    position: absolute;
    width: 100%;
    left: 0;
    top: 4vw;
    text-align: center
}

.floor-ground .master-bg {
    width: 2600px
}

.floor-ground .master-map {
    background-color: var(--color-green-dark)
}

.floor-top .master-bg,
.floor-twenty .master-bg,
.floor-two .master-bg {
    width: 2000px
}

.floor-top .logo-a-content {
    width: 25vh;
    height: 25vh
}

.floor-two .logo-a-content {
    width: 30vh;
    height: 30vh;
    left: 50%
}

.floor-twenty .pic-content .pic-cover,
.floor-two .pic-content .pic-cover {
    height: 80vh
}

.floor-twenty .pic-content .pic-cover img,
.floor-two .pic-content .pic-cover img {
    object-fit: contain
}

.floor-twenty .logo-a-content {
    width: 30vh;
    height: 30vh;
    left: 30%
}

.dot-num {
    cursor: pointer;
    transform-origin: center center
}

.dot-num circle {
    fill: var(--color-normal);
    stroke-width: 1;
    stroke-dasharray: 3;
    stroke-dashoffset: 0;
    stroke: var(--color-white);
    filter: drop-shadow(.3rem 1rem 1.5rem var(--color-black-alpha-01))
}

.dot-num text {
    fill: var(--color-white);
    font-size: 14px;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.dot-num.current circle {
    fill: var(--color-highlight);
    filter: drop-shadow(.3rem 1rem 1.5rem var(--color-black-alpha-03));
    animation-play-state: paused;
    stroke-dasharray: 0;
    stroke: var(--color-highlight)
}

.dot-num.current text {
    fill: var(--color-black)
}

.faci-note,
.list-inner {
    display: flex;
    justify-content: flex-start
}

.faci-note {
    width: 20vw;
    height: 100vh;
    left: 5vw;
    top: 0;
    padding: 15vh 0;
    z-index: 5;
    position: absolute;
    align-items: center
}

.list-inner {
    position: relative;
    width: 100%;
    height: auto;
    align-items: flex-start;
    flex-wrap: wrap
}

.list-inner .empty {
    position: relative;
    display: none;
    width: calc(5vw + 1.5rem)
}

.list-inner ul {
    padding: 0;
    list-style: none
}

.faci-note h3,
.hover-text,
.list-inner ul {
    position: relative;
    display: block;
    width: 100%;
    height: auto
}

.hover-text {
    text-align: left;
    padding-left: 1.5rem;
    margin: .3rem 0
}

.faci-note h3 {
    margin: 0 0 .5rem;
    font-size: .7rem;
    color: var(--color-highlight);
    font-weight: 700
}

.faci-note h3 strong {
    display: block;
    color: var(--color-white);
    font-size: 1rem;
    white-space: nowrap
}

.faci-note:not(.normal) h3 {
    margin: 0 0 .5rem -1.5rem
}

.list-inner ul:nth-child(2) {
    padding: 0
}

.list-inner ul:nth-child(2) .t-head h3 {
    margin: 1rem 0 .5rem -1.5rem
}

.hover-text p {
    position: relative;
    display: block;
    font-size: .8rem
}

.hover-text p>strong {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    left: -1.8rem;
    top: calc(50% - .7rem);
    font-size: .6rem;
    text-align: center;
    border-radius: 50%;
    transition: all .3s ease-in-out
}

.hover-text p>strong::after {
    content: '';
    border: 1px solid currentColor;
    opacity: .5;
    border-radius: 50%
}

.hover-text.current p>strong {
    color: var(--color-black);
    background-color: var(--color-highlight)
}

.hover-text.current p>strong::after {
    border-color: transparent
}

.floor-ground .faci-note {
    width: 40vw;
    left: 2vw;
    pointer-events: none
}

.floor-ground .list-inner ul {
    width: 33%;
    padding: 0 1.5rem 0 0
}

.ratio-4-3 .floor-ground .faci-note {
    width: 36vw;
    align-items: flex-start
}

.floor-top .list-inner h3,
.floor-twenty .list-inner h3,
.floor-two .list-inner h3 {
    font-size: 1rem;
    margin: 0 0 1rem
}

.floor-top .hover-text {
    margin: .5rem 0
}

.floor-twenty .hover-text,
.floor-two .hover-text {
    margin: .5rem 0;
    padding-left: 0
}

.hover-text p>strong::after,
.info-box-list,
.show-box-info {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.show-box-info {
    width: auto;
    max-width: 300px;
    height: auto;
    left: auto;
    top: auto;
    padding: 10px 0;
    box-shadow: 0 1rem 2rem 0 var(--color-black-alpha-01);
    background-color: var(--color-white);
    text-align: center;
    cursor: pointer;
    color: var(--color-normal);
    text-shadow: 0 1px 1px var(--color-black-alpha-01);
    border-radius: 15px;
    z-index: 500
}

.show-box-inner {
    position: relative;
    width: auto;
    height: auto;
    display: block;
    font-size: .8rem
}

.show-box-inner p {
    position: relative;
    display: block;
    text-align: left;
    padding: 0 15px;
    white-space: normal
}

#diamond-A-tower-page>.first-banner,
#diamond-B-tower-page>.first-banner,
#ruby-tower-page>.first-banner,
#sapphire-tower-page>.first-banner,
.show-box-inner p strong {
    display: none
}

.show-box-info {
    opacity: 0;
    transform: scale(0);
    transition: opacity .3s ease-in-out, transform .3s ease, left .1s ease, top .1s ease
}

.show-box-info.showup {
    transform: scale(1);
    opacity: 1
}

.block-intro .content-main {
    padding: 5vw
}

.block-house .title-main h2 span,
.block-intro .title-main h2>span {
    display: inline-block
}

.block-intro .text-content {
    width: 60%;
    padding: 0 7vw 0 5vw
}

.block-intro .text-content ul>li {
    width: 48%;
    padding: 0 2vw 0 0;
    margin: 0;
    display: inline-block
}

.block-floor .text-content li>p,
.block-house .text-content li>p,
.block-intro .text-content li>p {
    font-size: inherit
}

.block-intro .logo-a-content {
    left: 55%
}

.block,
.block-intro .pic-content {
    width: 40%;
    aspect-ratio: 1.07
}

.block-intro .pic-cover {
    border-radius: 1vw
}

.block {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: block;
    z-index: 5
}

.block .line {
    pointer-events: none
}

.block .text {
    font-size: 60px;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    opacity: .2;
    cursor: pointer
}

.block .polygon {
    cursor: pointer;
    fill-opacity: .2;
    stroke-width: 4px;
    stroke-dasharray: 45 5;
    stroke-dashoffset: 0;
    stroke: var(--color-white);
    animation: StrokeBlock 3s infinite linear
}

.block .polygon.active,
.block .polygon.on-block {
    fill-opacity: 1;
    animation: none;
    stroke-opacity: 0
}

.block .polygon.on-block {
    pointer-events: none
}

.block .text.active {
    opacity: 1
}

.block .text.on-block {
    pointer-events: none;
    opacity: 1
}

.block-floor .content-main {
    padding: 5vw
}

.block-floor .text-content {
    width: 30%
}

.block-floor .title-main h3 {
    margin: 1vh 0;
    padding: 1vh 0;
    white-space: nowrap
}

.block-floor .title-main h3::before,
.block-house .title-main h3::before {
    content: '';
    position: absolute;
    width: 12vw;
    height: 1px;
    left: 0;
    top: 0;
    background-color: currentColor;
    opacity: .5
}

.block-svg,
.block-typical {
    position: relative;
    display: block;
    z-index: 5
}

.block-typical {
    max-width: 80vw;
    height: 80vh;
    margin: auto;
    width: auto
}

.block-svg {
    width: 100%;
    height: 100%;
    left: -10vw;
    filter: drop-shadow(10px 10px 2px var(--color-black-alpha-01))
}

.block-svg.show {
    pointer-events: auto
}

.block-svg,
.block-svg .frame,
.block-svg .text-house rect,
.keyplan .block-area.current {
    pointer-events: none
}

.block-svg .text-house text {
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    font-size: 14px;
    fill: var(--color-white);
    pointer-events: none
}

.block-svg .text-block text {
    font-family: SVN-Gilroy-Regular;
    font-weight: 400;
    font-size: 18px;
    fill: var(--color-grey);
    pointer-events: none
}

.block-area {
    cursor: pointer
}

.compass-2 {
    position: absolute;
    right: 10%;
    top: 10%;
    width: 8vh;
    height: 10vh;
    z-index: 5
}

.house-note {
    display: inline-block
}

.house-note,
.house-note li,
.house-note ul {
    position: relative;
    width: 100%;
    height: auto
}

.house-note ul {
    display: block
}

.house-note li {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start
}

.house-note li span,
.num-block span {
    position: relative;
    width: 3rem;
    height: 1.5rem;
    display: block;
    border-radius: .3rem
}

.house-note li strong {
    font-size: 130%;
    line-height: 1
}

.house-a1 {
    background-color: var(--color-a1)
}

.house-a2 {
    background-color: var(--color-a2)
}

.house-b1 {
    background-color: var(--color-b1)
}

.house-b1-2 {
    background-color: var(--color-b1-2)
}

.house-b2 {
    background-color: var(--color-b2)
}

.house-b3 {
    background-color: var(--color-b3)
}

.house-c1 {
    background-color: var(--color-c1)
}

.elevator {
    background-color: var(--elevator)
}

.fire-ladder {
    background-color: var(--fire-ladder)
}

.open-floor {
    background-color: var(--open-floor)
}

.lobby {
    background-color: var(--lobby)
}

.house-text,
.info-house {
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 60
}

.house-text {
    background-color: var(--color-white);
    color: var(--color-black);
    width: auto;
    max-width: 300px;
    left: 50%;
    top: 50%;
    text-align: left;
    box-shadow: 0 10px 30px var(--color-black-alpha-02);
    opacity: 0;
    transform: scale(0);
    padding: 5px;
    border-radius: 1rem;
    overflow: hidden;
    z-index: 120
}

.area-des,
.num-block {
    position: relative;
    width: 100%;
    height: auto
}

.num-block {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    text-transform: uppercase;
    padding: 5px 10px
}

.num-block span {
    display: inline-block;
    width: 1.5rem;
    height: 1rem;
    border-radius: .2rem;
    margin-left: 10px
}

.area-des {
    display: block;
    padding: 0 10px;
    margin-bottom: 10px
}

.area-des h3,
.house-note li strong {
    font-family: SVN-Gilroy-Regular;
    font-weight: 400
}

.area-des h3,
.area-des p {
    font-size: .8rem
}

.area-des p strong,
.error-info .box-txt p,
.thank-you .box-txt p {
    font-size: 120%
}

.go-link {
    width: 100%;
    font-size: .7rem;
    color: var(--color-white);
    background-color: var(--color-normal);
    text-align: center;
    padding: 5px 10px;
    border-radius: 0 0 .8rem .8rem
}

.house-text.show {
    transform: scale(1);
    animation-name: fadeInUp;
    animation-duration: .5s;
    animation-delay: 0s;
    animation-fill-mode: forwards;
    pointer-events: auto
}

.block-house .content-main {
    justify-content: center
}

.block-house .text-content {
    position: absolute;
    right: 7vw;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    max-width: 20vw;
    padding-right: 0
}

.block-house .title-main h3 {
    margin: 1vh 0;
    padding: 1vh 0
}

.block-house .text-content li {
    margin: 0 0 .5rem
}

.block-house .logo-a-content {
    left: 65%;
    z-index: 10
}

.area-des h3,
.area-des p,
.go-link,
.house-pic,
.house-typical {
    position: relative;
    display: block
}

.house-typical {
    width: 80vh;
    height: auto;
    margin: 0 15vw 5vh 10vw;
    z-index: 5
}

.house-pic {
    width: 100%;
    height: 80vh
}

.house-pic .overlay-hover {
    width: 50%;
    height: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block
}

.house-pic .pic-img,
.house-pic .pic-img img {
    height: 100%;
    pointer-events: auto
}

.house-pic .pic-img img {
    position: relative;
    width: 100%;
    display: block;
    object-fit: contain;
    object-position: center center
}

.keyplan {
    position: absolute;
    width: 15vw;
    height: auto;
    left: 2vw;
    top: calc(50%);
    transform: translateY(-50%);
    z-index: 6
}

.keyplan>svg {
    width: 28vh;
    height: auto;
    color: var(--color-light);
    overflow: visible
}

.keyplan svg>* {
    stroke: var(--color-white);
    stroke-width: 1px
}

.keyplan-top {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 10px 0 0;
    padding: 0 10px
}

.keyplan-top>.compass-2 {
    position: relative !important;
    display: block;
    right: auto !important;
    top: auto !important;
    left: auto !important;
    bottom: auto !important;
    width: 3vw;
    min-width: 3vw;
    height: 3vw;
    margin: 0 0 15px 5px
}

.keyplan-top p,
.keyplan>svg,
.load-text em {
    position: relative;
    display: block
}

.block-house .text-content .print-box,
.keyplan .print-box {
    box-shadow: none;
    border: 1px solid var(--color-light);
    margin-top: 2vh
}

#diamond-A-tower-page .block-svg {
    top: -10vh
}

#diamond-B-tower-page .block-svg {
    top: -5vh
}

#diamond-A-tower-page .keyplan-top,
#diamond-B-tower-page .keyplan-top {
    margin: 10px 0 -20px
}

.block-typical>.pic-content {
    width: 15vw;
    position: absolute;
    right: 0;
    bottom: 3vh;
    z-index: 10
}

.block-typical .pic-cover {
    border-radius: .8rem
}

.keyplan>.pic-content {
    margin-bottom: 2vh;
    width: 28vh
}

.keyplan .pic-cover {
    border-radius: .8rem;
    height: 100%
}

.ratio-4-3 .house-typical {
    width: 47vw;
    margin: 0 18vw 5vh 5vw
}

.ratio-4-3 .block-house .text-content {
    right: 8vw
}

.ratio-4-3 .block-typical>.pic-content {
    bottom: 0
}

.ratio-4-3 .keyplan>.pic-content {
    width: 100%
}

.ratio-4-3 .block-svg {
    left: 0
}

.ratio-4-3 #diamond-B-tower-page .block-svg {
    top: 0
}

.house-typical .slidebox-arrows {
    color: var(--color-black-alpha-03)
}

.house-typical .slidebox-arrow::after {
    border-color: var(--color-black-alpha-03)
}

.house-typical .slidebox-arrow::before {
    background-color: var(--color-white-alpha-05)
}

.house-typical .slidebox-arrow:hover::before {
    background-color: var(--color-white)
}

.house-typical .slidebox-arrow:disabled {
    opacity: 0
}

.house-typical .slidebox-arrow-next {
    right: -3vw
}

.house-typical .slidebox-arrow-prev {
    left: -3vw
}

.house-typical .slidebox-pagination {
    margin: 0
}

.house-typical .slidebox-pagination-page:not(.is-active) {
    background-color: var(--color-grey-light)
}

.ratio-4-3 .house-typical .slidebox-arrow-next {
    right: 0
}

.ratio-4-3 .house-typical .slidebox-arrow-prev {
    left: 0
}

.notice {
    position: absolute;
    width: 50vw;
    height: auto;
    left: 50%;
    bottom: 0;
    transform: translateX(-55%);
    padding: 3vh 5vw;
    pointer-events: none;
    color: var(--color-grey);
    display: flex;
    align-items: center;
    z-index: 5
}

.notice p,
.notice::before {
    position: relative;
    display: block;
    color: currentColor;
    opacity: .5
}

.notice::before {
    content: '“';
    font-family: Arial, sans-serif;
    font-size: 40px;
    width: 40px;
    line-height: 40px;
    margin-right: 15px
}

.notice p {
    font-size: .6rem;
    font-style: italic
}

.thank-you .content-main {
    align-items: flex-start;
    padding: 2vw
}

.error-info .content-main::after,
.thank-you .content-main::after {
    background: var(--color-white-gradient);
    width: 50vw;
    filter: blur(5vw);
    top: -5vw;
    left: -3vw;
    display: block
}

.thank-you .text-content {
    width: 30vw;
    padding: 10vw 2vw
}

.error-info .title-main h2,
.thank-you .title-main h2 {
    font-size: var(--titleBig)
}

.error-info .content-main {
    align-items: flex-start;
    padding: 2vw
}

.error-info .text-content {
    width: 30vw;
    padding: 10vw 2vw
}

.download-pdf,
.view-360deg,
.view-album,
.view-video {
    position: relative;
    width: 5vw;
    height: 5vw;
    min-height: 60px;
    min-width: 60px;
    border-radius: 50%;
    display: block;
    z-index: 100
}

.download-pdf::after,
.view-360deg::after,
.view-album::after,
.view-video::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.download-pdf::before,
.view-360deg::before,
.view-album::before,
.view-video::before {
    content: '';
    position: absolute;
    width: 70%;
    height: 70%;
    left: 15%;
    top: 15%;
    background: var(--color-gradient);
    border-radius: 50%
}

.chapeau {
    width: 100%;
    height: auto;
    padding: 2rem 5%;
    font-style: italic;
    margin: 0 0 20px;
    background-color: var(--color-white-grey)
}

.chapeau,
.load-text,
.load-text p {
    display: block;
    position: relative
}

.load-text {
    width: 100%;
    height: auto;
    padding: 0 0 30px;
    text-align: left;
    z-index: 5;
    margin: 0
}

.load-text ul {
    list-style-type: disc;
    padding: 0 3vw 20px 4vw
}

.load-text li {
    position: relative;
    width: auto;
    height: auto
}

.load-text h2,
.load-text h3,
.load-text h4 {
    position: relative;
    display: block;
    margin: 0 0 15px;
    padding: 0 3vw;
    color: var(--color-normal-light)
}

.load-text em strong,
.load-text h3 em,
.load-text h3 span,
.load-text p span,
.load-text p strong,
.load-text p strong em {
    font-size: inherit !important
}

.load-text p {
    padding: 0 3vw 20px;
    margin: auto
}

.load-text div:not(.div-figure):not(.div-iframe):not(.chapeau):not(.thumbs),
.load-text span {
    margin: auto
}

.load-text img {
    max-width: 100%;
    margin: auto;
    pointer-events: none
}

.load-title,
.load-title h2 {
    position: relative;
    width: 100%;
    height: auto;
    display: block
}

.load-title {
    padding: 1vw 5%;
    margin: 0 0 20px
}

.load-title h2 {
    color: var(--color-normal);
    font-size: var(--titleMedium)
}

.load-title>p,
.load-title>span {
    position: relative;
    display: block;
    font-size: 1rem;
    text-transform: uppercase;
    margin: 10px 0
}

.load-text table {
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    display: table;
    border-spacing: 1px;
    margin: 0 auto 20px;
    table-layout: fixed
}

.load-text table tbody {
    min-width: 320px
}

.load-text table td,
.load-text table th {
    background-color: var(--color-bg);
    text-align: left;
    line-height: 1.6;
    padding: 10px 20px;
    border: 1px solid var(--color-white);
    border-radius: 5px;
    vertical-align: middle
}

.load-text table em,
.load-text table p,
.load-text table p:last-child,
.load-text table span {
    padding: 0 !important
}

.load-text .table-double {
    font-size: 15px;
    width: calc(50% - 1px) !important;
    display: inline-block;
    vertical-align: top
}

.load-text .table-double tr {
    width: 100% !important;
    height: auto !important;
    display: table
}

.figure-img,
.figure-two-img {
    position: relative;
    width: 100%;
    height: auto;
    text-align: center;
    margin: 15px 0
}

.figure-img {
    display: block
}

.figure-two-img {
    display: flex;
    gap: 10px;
    justify-content: center
}

.img-one,
.img-two {
    width: calc(50% - 5px);
    height: auto;
    display: inline-block;
    object-fit: cover;
    object-position: center center
}

.figure-img img:not(.img-one):not(.img-two) {
    width: 100%;
    height: auto !important;
    max-width: 100%;
    margin: auto;
    display: block;
    border-radius: 1vw
}

.figure-img+p:not(.height-zero),
.figure-two-img+p:not(.height-zero) {
    margin: 20px 0 0
}

.load-text figcaption {
    position: relative;
    width: 80%;
    margin: 15px auto;
    text-align: center;
    font-size: 14px;
    font-style: italic;
    display: block
}

.div-figure,
.figure-caption {
    position: relative;
    width: 100%;
    height: auto
}

.div-figure {
    text-align: center;
    margin: 0 auto 20px;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 1fr 1fr
}

.figure-caption {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: center;
    grid-column: 1/2
}

.figure-caption img {
    position: relative;
    width: 100%;
    height: calc(100% - 40px);
    display: block;
    object-fit: cover;
    object-position: center center
}

.figure-caption:nth-child(2n+3),
.figure-caption:nth-child(3n+2) {
    grid-column: 2/2
}

.figure-caption:nth-child(3n+3) {
    grid-column: 1/3
}

.load-text .div-iframe,
.load-text .inside-video,
.load-text audio {
    position: relative;
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block
}

.load-text audio {
    min-height: 50px;
    margin: 20px auto
}

.load-text .div-iframe,
.load-text .inside-video {
    aspect-ratio: 16/9;
    margin: 20px 0
}

.content-popup{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}
@media(max-width:1100px){
	.content-popup{position:static;}
	body .news .content-main{padding-top:0;}
}
.content-popup {
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 9990
}

.content-popup>span {
    z-index: 1
}

.content-popup.no-after {
    align-items: flex-start;
    overflow-y: auto
}

.is-iOS .content-popup.no-after {
    overflow-y: auto
}

.album-center .pinch-zoom>img,
.details-center,
.full img,
.scroll-popup {
    position: relative;
    display: block;
    width: 100%;
    height: auto
}

.details-center {
    width: 80%;
    max-width: 60vw;
    margin: auto;
    background-color: var(--color-white);
    opacity: 0;
    z-index: 5
}

.details-center .load-text {
    padding: 0 5% 5%
}

.details-center .load-text ul {
    position: relative;
    list-style-type: circle;
    padding: 0 0 0 20px
}

.details-center .load-text li {
    position: relative;
    margin: 0 0 15px
}

.details-center .load-text li>a,
.details-center .load-text li>p {
    padding: 0
}

.details-center .load-text h2,
.details-center .load-text h3,
.details-center .load-text h4 {
    margin: 0 0 15px;
    padding: 0
}

.details-center .load-text p {
    position: relative;
    padding: 0 0 15px
}

.details-news {
    padding-bottom: 5vw
}

.wrap-view-more {
    position: relative;
    display: block;
    margin: 2vh 0;
    z-index: 5
}

.view-more {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 5
}

.view-more span {
    position: relative;
    display: inline-block;
    font-size: .7rem;
    text-transform: uppercase;
    white-space: nowrap;
    margin: 0 -1.5rem 0 0;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    z-index: 5
}

.icon-svg,
.icon-svg svg {
    position: relative;
    display: block
}

.icon-svg {
    width: 5vw;
    height: 5vw;
    max-width: 140px;
    max-height: 140px;
    border-radius: 50%
}

.icon-svg::before {
    content: '';
    width: 70%;
    height: 70%;
    position: absolute;
    left: 15%;
    top: 15%;
    border-radius: 50%
}

.icon-svg svg {
    width: 100%;
    height: 100%;
    color: var(--color-normal)
}

.icon-svg .before {
    stroke: currentColor;
    stroke-width: 1;
    opacity: .5
}

.icon-svg .after {
    stroke: var(--color-white-zero);
    stroke-width: 1;
    stroke-dasharray: 570;
    stroke-dashoffset: 570;
    transform-origin: 50% 50%
}

.success,
.warning {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 1.5rem 2rem;
    font-size: 1rem;
    line-height: 1.6;
    width: 90%;
    max-width: 30rem;
    height: auto;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 1rem 2rem var(--color-black-alpha-02);
    cursor: pointer;
    z-index: 110000
}

.warning {
    background-color: var(--color-highlight);
    color: var(--color-black)
}

.success {
    background: var(--color-normal);
    color: var(--color-white)
}

.form-error {
    position: absolute;
    top: -2rem;
    left: 1rem;
    display: block;
    cursor: pointer;
    z-index: 99999
}

.form-error-content {
    background-color: var(--color-highlight);
    display: inline-block;
    position: relative;
    color: var(--color-black);
    width: auto;
    height: auto;
    max-width: 20rem;
    font-size: .8rem;
    line-height: 1.4;
    box-shadow: 0 1rem 2rem var(--color-black-alpha-02);
    padding: .5rem .8rem;
    border-radius: .5rem;
    z-index: 9999
}

.form-error-content::after {
    content: '';
    position: absolute;
    left: 1rem;
    bottom: -.5rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: .7rem .6rem 0;
    border-color: var(--color-highlight) transparent transparent
}

.all-pics {
    height: 100%;
    width: 100%;
    display: none;
    z-index: 9999
}

.all-pics.show {
    display: block
}

.all-pics .text-length {
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    top: 0;
    text-align: center;
    opacity: 0;
    z-index: 9998
}

.album-pic-center .pic-name h3,
.all-pics .text-length h3 {
    position: relative;
    display: inline-block;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase
}

.all-pics .text-length h3 {
    font-size: 16px;
    color: var(--color-white);
    text-shadow: 0 1px 2px var(--color-black-alpha-02);
    padding: 15px 20px
}

.all-album,
.all-pics,
.full {
    position: fixed;
    left: 0;
    top: 0;
    overflow: hidden
}

.full,
.full>span {
    width: 100vw;
    height: 100vh
}

.full {
    display: flex;
    align-items: center;
    justify-content: center
}

.full .img-cover {
    position: relative;
    display: block;
    width: auto;
    height: auto;
    z-index: 5
}

.album-center .pinch-zoom>img,
.full img {
    width: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center center;
    pointer-events: none
}

.full img {
    max-height: 100vh;
    outline: 0;
    border: 0;
    opacity: 0;
    z-index: 5;
    margin: 0 auto
}

.full>span {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1
}

.fullscreen .overlay-dark {
    z-index: 99995
}

.all-album {
    width: 100%;
    height: 100%;
    display: none;
    -webkit-user-select: none;
    user-select: none;
    z-index: 99999
}

.all-album.show {
    display: block
}

.album-load {
    position: relative;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    text-align: center;
    z-index: 100
}

.title-album {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    pointer-events: none;
    color: var(--color-white);
    padding: 10px 5vw;
    opacity: 0;
    z-index: 5
}

.album-center,
.title-album h2 {
    position: relative;
    display: block
}

.title-album h2 {
    font-size: 18px;
    text-transform: uppercase
}

.album-center {
    width: 100%;
    height: 100vh;
    opacity: 0
}

.album-pic-center {
    position: relative;
    width: 100% !important;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto !important;
    overflow: hidden
}

.album-pic-center .pic-name {
    position: absolute;
    width: 100%;
    height: auto;
    left: 0;
    top: 0;
    padding: 25px 5vw;
    overflow: hidden;
    color: var(--color-white);
    z-index: 5
}

.album-pic-center .pic-name h3 {
    font-size: .8rem
}

.album-pic-center .pic-name .char,
.zoom-active .pic-name {
    opacity: 0
}

.album-pic-center.is-active .pic-name .char {
    animation-name: fadeIn;
    animation-duration: .5s;
    animation-delay: calc(10ms*var(--char-index));
    animation-fill-mode: forwards
}

.pic-content.zoom-pic {
    pointer-events: none
}

.album-center .pinch-zoom {
    display: flex;
    align-items: center;
    justify-content: center
}

.album-center .pinch-zoom>img {
    max-height: 100%;
    margin: auto
}

.container-zoom {
    position: relative;
    width: 100%;
    height: 100vh;
    display: block
}

.container-zoom>img {
    box-shadow: 0 10px 30px 0 var(--color-black-alpha-02)
}

.pinch-zoom>div,
.pinch-zoom>img {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.pinch-zoom>.zoom-transition {
    transition: transform ease 250ms
}

.pinch-zoom {
    overflow: hidden
}

.pinch-zoom.zoom-active {
    cursor: grab
}

.pinch-zoom.zoom-active:active {
    cursor: grabbing
}

.full-screen {
    position: fixed;
    right: 15px;
    bottom: 15px;
    width: 80px;
    height: 80px;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    display: none
}

.full-screen::before {
    content: '';
    position: absolute;
    left: 10%;
    top: 10%;
    display: block;
    width: 80%;
    height: 80%;
    border-radius: 50%;
    z-index: 1
}

.allvideo,
.full-screen::after {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.full-screen::after {
    content: '';
    border-radius: 50%;
    border: 1px solid var(--color-white-alpha);
    position: absolute;
    display: block;
    z-index: 1
}

.full-screen.show {
    animation-name: fadeInUp;
    animation-duration: 1s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    pointer-events: auto
}

.fullsreen-support .full-screen {
    display: block;
    z-index: 999999
}

.allvideo {
    position: fixed;
    overflow: hidden;
    display: none;
    z-index: 2200
}

.allvideo.show {
    display: block
}

.video-list,
.video-wrap {
    position: absolute;
    z-index: 100
}

.video-list {
    width: 100%;
    height: 100%;
    text-align: center;
    top: 0;
    left: 0
}

.video-wrap {
    width: 80vmax;
    height: calc(1125/2000*80vmax);
    left: 50%;
    top: 50%;
    display: block;
    transform: translate(-50%, -50%);
    overflow: hidden;
    background-color: var(--color-bg-black)
}

.video-skin,
.video-wrap iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.video-skin {
    z-index: 10
}

.video-wrap iframe {
    display: block
}

.close,
.close-album,
.close-pics,
.close-popup,
.close-video {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4vw;
    height: 4vw;
    cursor: pointer;
    position: fixed;
    right: 15px;
    top: 15px;
    opacity: 0;
    border-radius: 50%;
    border: 1px solid var(--color-white-alpha);
    z-index: 999999
}

.close-album::after,
.close-pics::after,
.close-popup::after,
.close-video::after,
.close::after {
    content: '';
    position: relative;
    display: block;
    width: 90%;
    height: 90%;
    margin: 5%;
    border-radius: 50%;
    z-index: 1
}

.close-album::before,
.close-pics::before {
    background-color: var(--color-highlight);
    opacity: 0
}

.close-album::before,
.close-pics::before,
.close-popup::before,
.close-video::before,
.close::before {
    content: '';
    position: absolute;
    display: block;
    width: 80%;
    height: 80%;
    left: 10%;
    top: 10%;
    border-radius: 50%
}

.close-video::before,
.close::before {
    background-color: var(--color-highlight);
    opacity: 0
}

.close svg,
.close-album svg,
.close-pics svg,
.close-popup svg,
.close-video svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    border-radius: 50%;
    display: block;
    z-index: 5
}

.close .c-rotate,
.close-album .c-rotate,
.close-pics .c-rotate,
.close-popup .c-rotate,
.close-video .c-rotate {
    fill: none;
    stroke: var(--color-white-zero);
    stroke-width: 1;
    stroke-dasharray: 537;
    stroke-dashoffset: 537;
    transform: rotate(-90deg);
    transform-origin: 50% 50%
}

.close-video {
    top: calc(50% - 40px);
    margin-right: 15px
}

.close-video.degree::before,
.close.not-alpha::before,
.is-touch .close-album::before,
.is-touch .close-pics::before,
.is-touch .close-popup::before,
.is-touch .close-video::before,
.is-touch .close::before {
    opacity: 1
}

.ratio-4-3 .close-video:not(.degree) {
    top: 15px
}

.close-popup::before {
    background-color: var(--color-black-alpha);
    opacity: 1
}

.close.not-alpha .c-rotate {
    stroke: var(--color-highlight-alpha)
}

.overlay-dark,
.trans-x,
.trans-y {
    height: 100%;
    top: 0;
    overflow: hidden
}

.overlay-dark {
    -webkit-user-select: none;
    user-select: none;
    clip-path: circle(0 at 50% 50%);
    background: var(--color-highlight);
    opacity: .9;
    transition: clip-path .9s ease-in-out;
    pointer-events: none;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    z-index: 500;
    position: fixed;
    width: 100%;
    left: 0
}

.overlay-dark.bg-dark {
    background: var(--color-normal);
    opacity: .9
}

.overlay-dark.show {
    clip-path: circle(150% at 50% 50%);
    pointer-events: auto
}

.trans-x,
.trans-y {
    position: absolute;
    width: 120%;
    left: -10%;
    display: block
}

.trans-y {
    width: 100%;
    height: 120%;
    left: 0;
    top: -10%
}

.transform-x,
.transform-y {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.trans-x img,
.trans-y img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none
}

.is-iOS .trans-x,
.is-mobile .trans-x {
    position: relative;
    width: 100%;
    left: 0;
    transform: none !important
}

.is-iOS .trans-y,
.is-mobile .trans-y {
    position: relative;
    height: 100%;
    top: 0;
    transform: none !important
}

.is-iOS .transform-x,
.is-iOS .transform-y,
.is-mobile .transform-x,
.is-mobile .transform-y {
    transform: none !important
}

.cursor-bg,
.cursor-zoom {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    opacity: 0
}

.cursor-zoom {
    width: 5vw;
    height: 5vw;
    pointer-events: none;
    z-index: 10
}

.cursor-bg {
    width: 100%;
    height: 100%;
    background: var(--color-black-alpha-02);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .6s ease-in-out;
    transform: scale(0);
    backdrop-filter: blur(3px)
}

.cursor-text,
.form,
form {
    position: relative;
    display: block
}

.cursor-text {
    text-align: center;
    font-weight: 700;
    line-height: 1.6;
    text-transform: uppercase;
    color: var(--color-white)
}

.cursor-zoom.active,
.project-register .close::before {
    opacity: 1
}

.cursor-zoom.active .cursor-bg {
    opacity: 1;
    transform: none
}

.zoom-active .cursor-zoom {
    display: none
}

.is-mobile .cursor-zoom,
.is-touch .cursor-zoom {
    display: none !important
}

.form,
form {
    width: 100%;
    height: auto;
    z-index: 5
}

.require-col {
    text-align: left;
    margin: 0
}

.input-text,
.require-col {
    width: 100%;
    height: auto;
    position: relative;
    display: block
}

.input-text input[type=text] {
    color: var(--color-white);
    font-size: .9rem;
    line-height: 2rem;
    padding: 0 1rem;
    border: 0;
    width: 100%;
    height: 2rem;
    min-height: 40px;
    transition: all .3s ease-in-out;
    border-bottom: 1px solid var(--color-white-alpha);
    background-color: transparent
}

.input-text input[type=text]:focus {
    opacity: 1;
    border: 0;
    background-color: var(--color-white);
    box-shadow: 0 1rem 2rem var(--color-black-alpha-01);
    border-radius: 10px;
    color: var(--color-normal)
}

.input-area {
    width: 100%;
    height: auto;
    position: relative;
    margin: 0;
    display: block
}

.input-area textarea {
    color: var(--color-white);
    font-size: .9rem;
    line-height: 1.4;
    padding: 1rem;
    border: 0;
    width: 100%;
    height: 150px;
    transition: all .3s ease-in-out;
    resize: none;
    border-bottom: 1px dotted var(--color-white-alpha);
    background-color: transparent
}

.input-area textarea:focus {
    opacity: 1;
    border: 0;
    box-shadow: 0 1rem 2rem var(--color-black-alpha-01);
    border-radius: 10px;
    background-color: var(--color-white);
    color: var(--color-normal)
}

.input-but {
    position: relative;
    width: auto;
    height: auto;
    display: inline-block;
    z-index: 5
}

.input-but button {
    position: relative;
    display: inline-flex;
    font-size: .8rem;
    padding: 10px 20px 10px 10px;
    color: var(--color-white);
    font-family: SVN-Gilroy-Bold;
    font-weight: 700;
    text-transform: uppercase;
    border: 1px solid var(--color-white-alpha);
    border-radius: 3rem
}

.input-but button span {
    position: relative;
    width: 1.2rem;
    height: 1.2rem;
    display: block;
    margin-right: 10px
}

.holder,
.project-register {
    left: 0;
    pointer-events: none;
    color: var(--color-white)
}

.holder {
    top: 0;
    font-size: .9rem;
    line-height: 2rem;
    min-height: 40px;
    overflow: hidden;
    position: absolute;
    transition: opacity .3s ease-in-out;
    z-index: 1
}

.holder.hide {
    opacity: 0;
    width: 0
}

.project-register {
    position: fixed;
    width: 100%;
    height: 200px;
    bottom: -100%;
    opacity: 0;
    transition: all .6s ease-in-out;
    z-index: 120
}

.project-register::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    background: var(--color-normal-alpha)
}

.wrap-register {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 15px
}

.wrap-register .require-col {
    display: flex;
    width: 70vw;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
    margin: auto
}

.title-small,
.title-small h2 {
    position: relative;
    display: block
}

.title-small {
    width: auto;
    margin: 0;
    padding: 0 20px 0 0;
    color: var(--color-white)
}

.title-small h2 {
    font-size: 1rem;
    white-space: nowrap;
    text-transform: uppercase;
    font-family: SVN-Gilroy-Bold;
    font-weight: 700
}

.title-small h2 strong {
    position: relative;
    font-family: unset;
    margin: 0 .3rem
}

.wrap-register .input-text {
    width: 25%;
    margin: 0 15px
}

.logo-nho {
    position: absolute;
    left: 0;
    top: 0;
    width: 10vw;
    height: 100%;
    z-index: 10
}

.project-register.show {
    pointer-events: auto;
    opacity: 1;
    bottom: 0
}

.project-register .close {
    position: absolute;
    width: 2rem;
    height: 2rem;
    top: -1rem;
    right: calc(1vw + 1rem);
    display: block
}

.project-register.show .close {
    opacity: 1
}

.project-register.onbanner {
    min-height: 70px;
    height: calc(100vh/13)
}

.project-register.onbanner::after {
    background: var(--color-white-zero)
}

.project-register.need-color.onbanner::after {
    background: var(--color-normal-light)
}

.onbanner .close {
    display: none
}

.onbanner .logo-nho {
    width: 7.5vw
}

.project-register.oncolor {
    height: 200px
}

.project-register.oncolor .logo-nho {
    width: 10vw
}

.print,
.project-register.oncolor .close {
    display: block
}

.print {
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 5%;
    text-align: right
}

.print-box,
.share-but {
    display: inline-block;
    width: auto
}

.print-box {
    position: relative;
    height: auto;
    margin: 0;
    border-radius: .8rem;
    box-shadow: 0 10px 20px var(--color-black-alpha-01);
    padding: .5rem
}

.share-but {
    padding: 0 .5rem 0 0;
    line-height: 2.2rem;
    font-size: .6rem;
    text-transform: uppercase;
    z-index: 1
}

.share-but,
.share-but::before,
.share-item {
    position: relative;
    vertical-align: middle
}

.share-but::before {
    content: '';
    width: 2.2rem
}

.share-but::before,
.share-item,
.share-item a {
    display: inline-block;
    height: 2.2rem
}

.share-item {
    width: auto;
    white-space: nowrap
}

.share-item ul {
    position: relative;
    list-style: none
}

.share-item a,
.share-item a svg,
.share-item li,
.updating span {
    position: relative;
    display: block
}

.share-item a {
    width: 2.2rem;
    margin: 0 .3rem;
    color: var(--color-highlight);
    border-radius: .5rem;
    border: 1px solid var(--color-highlight-alpha)
}

.share-item a svg {
    width: 80%;
    height: 80%;
    margin: 10%
}

.no-scroll {
    overflow-x: hidden;
    overflow-y: hidden !important;
    overflow: hidden
}

.no-link {
    pointer-events: none !important
}

.display-none,
.hidden {
    display: none !important
}

.display-block {
    display: block !important
}

.disable-link {
    cursor: none
}

.mobile-view {
    display: none
}

.level-index-out {
    z-index: -9999;
    pointer-events: none;
    opacity: 0
}

.level-index-in {
    z-index: 9990
}

.onclick {
    cursor: pointer
}

.height-zero {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden
}

.updating {
    position: fixed;
    width: auto;
    height: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 3vw;
    background-color: var(--color-white);
    border-radius: 15px;
    box-shadow: 0 1rem 2rem 0 var(--color-black-alpha-01);
    border: 1px solid var(--color-highlight-alpha);
    visibility: hidden;
    opacity: 0;
    cursor: pointer;
    z-index: 1000
}

.updating span {
    width: 100%;
    height: auto;
    font-size: 1.2rem
}

.updating .close {
    position: absolute;
    width: 2rem;
    height: 2rem;
    top: .5rem;
    right: .5rem;
    opacity: 1
}

.updating .close::before {
    opacity: 1
}

.updating.show {
    visibility: visible;
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-delay: 0s;
    animation-fill-mode: forwards
}

.details-center.prodes {
    background-color: transparent
}

@media screen and (min-width:1100px) and (min-height:1100px) {
    .line-group {
        height: 4rem
    }

    .note-01 {
        top: 8%;
        left: 30%
    }

    .note-02 {
        top: 19%
    }

    .note-03 {
        top: 38%
    }

    .pic-grid {
        height: 65vh;
        grid-template-columns: 28vh 28vh 42vh
    }

    .wrap-library {
        height: 50vh
    }
}

@media screen and (min-width:1100px) and (max-height:720px) {
    .note-01 {
        top: 1%
    }

    .note-02 {
        top: 14%
    }

    .line-group {
        height: 2rem
    }

    .note-01 .line-group {
        left: 60%
    }

    .note-02 .line-group {
        width: 3rem;
        left: -3rem
    }

    .item-news-home .pic-cover {
        height: 30vh
    }

    .item-news-home:nth-child(2) .pic-cover,
    .item-news-home:nth-child(3) .pic-cover {
        height: 28vh
    }

    .item-news-home:nth-child(2) .box-txt p,
    .item-news-home:nth-child(3) .box-txt p {
        -webkit-line-clamp: 3
    }
}

@media screen and (max-width:1600px) {
    .box-nav li .click span {
        font-size: .6rem
    }

    .details-center {
        max-width: 1000px
    }

    .note-01,
    .note-03,
    .note-04 {
        max-width: 35vw
    }

    .note-01 {
        left: 25%
    }

    .note-02 {
        left: 68%
    }

    .note-03 {
        left: 20%
    }

    .note-04 {
        left: 54%
    }
}

@media screen and (max-width:1500px) {
    .block-house .text-content {
        right: 8vw
    }
}

@media screen and (max-width:1300px) {
    .ratio-4-3 .note-01 {
        top: 7%
    }

    .ratio-4-3 .note-02 {
        top: 12%;
        left: 65%
    }

    .ratio-4-3 .note-03 {
        top: 40%;
        left: 20%
    }

    .ratio-4-3 .note-04 {
        top: 42%
    }

    .text-quote {
        padding-left: 4rem
    }

    .text-quote::before {
        width: 3rem;
        height: 3rem;
        top: -.5rem
    }

    .slide-news .wrap-news {
        padding: 0 3vw
    }

    .slide-bro .slidebox-arrow,
    .slide-vid .slidebox-arrow {
        width: 2.5rem;
        height: 2.5rem
    }
	.details-center {
        max-width: 720px
    }
}
@media screen and (max-width:1200px) {
	.details-center {
        max-width: 660px
    }
}
@media screen and (max-width:1100px) {
    .cursor-zoom {
        display: none !important
    }

    .close,
    .close-album,
    .close-pics,
    .close-popup,
    .close-video {
        right: 10px;
        top: 10px;
        width: 50px;
        height: 50px;
        margin: 0
    }

    .close-video {
        margin: 0 10px 0 0
    }

    .close svg,
    .close-album svg,
    .close-pics svg,
    .close-popup svg,
    .close-video svg {
        display: none
    }

    .ratio-4-3 .close-video {
        top: 10px
    }

    .column {
        transform: none !important
    }

    .bg-cover img.col-y {
        min-height: inherit;
        margin-top: 0
    }

    .bg-cover img.col-x {
        min-width: inherit;
        margin-left: 0
    }

    .full-screen {
        right: 10px;
        bottom: 10px;
        width: 50px;
        height: 50px
    }

    .allvideo {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: 5000
    }

    .video-skin,
    .video-wrap {
        position: absolute;
        transform: none
    }

    .video-wrap {
        width: 100vw;
        height: 100vh;
        left: 0;
        top: 0
    }

    .video-skin {
        width: 100%;
        height: 100%;
        min-height: 100%;
        z-index: 10
    }

    .overlay-video.show {
        height: 100%
    }

    .all-pics .text-length h3,
    .title-album h2 {
        font-size: 14px
    }

    .album-pic-center img {
        max-width: 98%;
        max-height: inherit
    }

    .title-album {
        width: 100%;
        text-align: center;
        left: 0;
        top: 0;
        padding: 10px 5vw
    }

    .album-pic-center .pic-name {
        padding: 10px 80px
    }

    .container-zoom {
        height: auto
    }

    .container-zoom.zoomin {
        height: 90vh
    }

    .album-center .container-zoom {
        height: 100vh
    }

    .details-center {
        width: 100%;
        max-width: inherit
    }

    .wrap-view-more {
        margin: 15px 0;
        z-index: 5
    }

    .icon-svg {
        width: 80px;
        height: 80px
    }

    .logo-a-content {
        position: absolute;
        width: 30vw;
        height: 30vw;
        left: 70vw
    }

    .logo-a-content svg path {
        stroke: var(--color-white-grey);
        stroke-width: 1
    }

    .content-group {
        flex-wrap: wrap
    }

    .box-slider {
        position: relative;
        height: auto;
        left: auto;
        top: auto;
        display: block
    }

    .box-nav,
    .content-main::after,
    .content-main::before {
        display: none
    }

    .content-main,
    .group-central {
        position: relative;
        height: auto;
        left: auto;
        top: auto;
        display: block;
        transform: none !important
    }

    .group-central {
        width: 100%;
        pointer-events: auto;
        z-index: auto !important
    }

    .content-main {
        padding: 0
    }

    .text-slide {
        display: none
    }

    .text-content>ul {
        margin: 20px 0
    }

    .text-quote {
        padding: 0
    }

    .text-quote::before {
        width: 3rem;
        height: 3rem;
        left: -4rem
    }

    .tagline .text-spec {
        margin: -.8rem 0
    }

    html[lang=en] .tagline .text-pink {
        font-size: 3rem
    }

    html[lang=en] .tagline .text-spec {
        font-size: 3.8rem;
        margin: 0
    }

    html[lang=en] .tagline .text-pink:nth-child(1) {
        letter-spacing: 1.45rem
    }

    html[lang=en] .tagline .text-pink:nth-child(2) {
        letter-spacing: .75rem
    }

    html[lang=en] .tagline .text-spec:nth-child(3) {
        letter-spacing: .35rem
    }

    .bg-cover {
        position: relative;
        left: auto;
        top: auto;
        height: auto
    }

    #news-page,
    .home-intro {
        background-color: var(--color-normal)
    }

    .home-info .content-main::after,
    .home-info .content-main::before,
    .next-right,
    .prev-left {
        display: none
    }

    .home-intro .bg-cover img {
        object-position: center center
    }

    .banner-home,
    .home-intro .bg-cover img {
        min-height: calc(100vh - 90px)
    }

    .banner {
        margin-top: 90px
    }

    .banner img {
        height: calc(1125/2000*100vw);
        min-height: 320px
    }

    .home-info .content-main {
        padding: 0
    }

    .home-info {
        background-color: var(--color-highlight)
    }

    .home-info .content-group {
        width: 100%;
        padding: 10vw 8vw 5vw;
        max-width: 700px;
        margin: auto
    }

    .home-info .text-content {
        width: 100%
    }

    .home-info .title-main {
        flex: none;
        padding: 0 5vw 0 0
    }

    .home-info .wrap-view-more {
        text-align: right;
        margin: 2rem 0
    }

    .home-info .wrap-view-more::before {
        content: '';
        position: absolute;
        width: 70%;
        height: 1px;
        top: 50%;
        left: 0;
        background-color: var(--color-normal-alpha-03)
    }

    .home-location .content-main {
        display: block
    }

    .home-location .text-content {
        position: relative;
        bottom: auto;
        left: auto;
        top: auto;
        width: 100%;
        padding: 5vw 5vw 0;
        text-align: center
    }

    .box-cover-right::after,
    .home-location .content-main::before {
        display: none
    }

    .box-cover-right,
    .map-img {
        height: calc(1200/2000*100vw)
    }

    .box-cover-right {
        position: relative;
        width: 100%;
        right: auto;
        top: auto
    }

    .map-img {
        width: 100vw
    }

    .st-line {
        stroke: var(--color-white-alpha-08)
    }

    .compass {
        left: 5vw;
        top: 60%;
        width: 50px;
        height: 60px
    }

    .info-box {
        position: relative;
        left: auto;
        bottom: auto;
        width: 90%;
        max-width: 450px;
        height: auto;
        border-radius: .5rem;
        padding: 1rem 1.5rem;
        margin: 1rem
    }

    .info-box ul {
        margin: 0;
        column-count: 3;
        column-gap: .5rem
    }

    .info-box li .icon {
        width: 2rem;
        height: 2rem
    }

    .button-zoom {
        left: auto;
        bottom: auto;
        top: calc((1200/2000*100vw) + 180px);
        right: 5vw
    }

    .pic-zoom-in,
    .pic-zoom-out {
        width: 2.5rem;
        height: 2.5rem;
        margin: 0
    }

    .pic-zoom-in {
        margin-right: 1rem
    }

    .pic-zoom-in::before,
    .pic-zoom-out::before {
        display: block;
        background-color: var(--color-normal)
    }

    .faci-list {
        position: relative;
        width: 100%;
        max-width: inherit;
        left: auto;
        top: auto;
        padding: 5vw 0;
        transform: none;
        background: var(--color-normal-light)
    }

    .scroll-list {
        padding: 0 5vw
    }

    .note-list ul {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap
    }

    .note-list li {
        width: auto;
        margin: 0 30px 0 0;
        display: inline-flex
    }

    .note-list li p {
        font-size: .8rem
    }

    .time-number {
        width: 100px;
        height: 100px;
        min-width: 100px;
        padding: 20px 0
    }

    .home-promotion .box-txt p,
    .time-number strong {
        font-size: 1.5rem
    }

    .home-hilife {
        background-color: var(--color-white)
    }

    .home-hilife .content-main {
        padding: 5vw 0 0
    }

    .home-hilife .text-content {
        width: 100%;
        padding: 5vw;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap
    }

    .box-align {
        width: 100%;
        flex: none
    }

    .box-align p {
        max-width: 500px;
        font-size: 100%;
        padding: 0 5vw 0 0
    }

    .pic-grid {
        width: 100%;
        padding: 0;
        justify-content: center
    }

    .home-hilife .pic-cover {
        border-radius: 2vw
    }

    .home-hilife .pic-cover:nth-child(1) {
        grid-column: 1/span 2;
        grid-row: 1
    }

    .home-hilife .pic-cover:nth-child(2) {
        grid-column: 3;
        grid-row: 1/span 2
    }

    .home-hilife .pic-cover:nth-child(3) {
        grid-column: 1/span 2
    }

    .home-usp .content-main {
        padding: 0 0 5vw
    }

    .wrap-slide {
        position: relative;
        margin: auto
    }

    .usp-item,
    .usp-slide,
    .wrap-slide {
        width: 100%;
        height: auto
    }

    .usp-slide {
        position: relative;
        display: block;
        margin: 0;
        z-index: 5
    }

    .usp-item {
        aspect-ratio: auto;
        filter: none;
        transition: inherit;
        overflow: visible;
        transform-origin: center center;
        margin-bottom: 40px
    }

    .bg-slide,
    .number-usp,
    .usp-item::after {
        display: none
    }

    .usp-item .pic-cover {
        height: calc(1125/2000*100vw);
        aspect-ratio: 16/9;
        border-radius: 0
    }

    .usp-item .box-txt {
        position: relative;
        padding: 1rem 5vw;
        left: auto;
        bottom: auto;
        text-align: center;
        transition: none
    }

    .usp-item .box-txt h3,
    .usp-item .box-txt strong {
        font-family: SVN-Gilroy-Regular;
        font-weight: 400;
        font-size: var(--titleMedium);
        line-height: 1.4;
        text-transform: inherit
    }

    .usp-item.is-active .box-txt {
        bottom: auto
    }

    .usp-item.is-active {
        width: 100%;
        height: auto;
        aspect-ratio: inherit;
        box-shadow: none
    }

    .usp-item.is-active:last-child {
        width: 100%;
        height: auto;
        aspect-ratio: inherit
    }

    .pin-wrap .slidebox-list {
        align-items: flex-start;
        transition: inherit
    }

    .pin-wrap .slidebox-arrows {
        position: relative;
        width: 100%;
        left: auto;
        top: auto;
        margin: 1rem 0 0;
        justify-content: center
    }

    .pin-wrap .slidebox-arrow {
        min-width: inherit;
        width: 50px;
        height: 50px;
        flex: none
    }

    .pin-wrap .slidebox-arrow-prev {
        margin-right: 15px
    }

    .pin-wrap .pagination-custom .number-left {
        font-size: 5vw;
        color: var(--color-highlight)
    }

    .pin-wrap .pagination-custom .number-left::before {
        width: 150px;
        margin: 0 15px
    }

    .home-masterplan .content-main {
        background: var(--color-normal-light)
    }

    .home-masterplan .text-content {
        width: 100%;
        max-width: 700px;
        margin: auto;
        padding: 5vw 8vw 1rem
    }

    .home-masterplan .title-main {
        width: 100%
    }

    .home-masterplan .text-group:last-child {
        margin: auto
    }

    .home-masterplan .wrap-view-more {
        margin: 1rem
    }

    .master-map {
        display: block;
        height: calc(1200/1600*100vw)
    }

    .note-faci {
        bottom: auto;
        top: 5vw
    }

    .master-map .note-block {
        display: none
    }

    .hover-svg {
        pointer-events: auto
    }

    #library-page>.first-banner,
    .scrollB {
        display: block
    }

    .all-wrap-dot {
        position: relative;
        width: 100%;
        height: auto;
        margin: 0;
        display: flex;
        padding: 10px 0 10px 5vw;
        z-index: 10
    }

    .all-wrap-dot .note-block {
        position: relative;
        left: auto;
        top: auto;
        flex: none;
        display: block;
        width: 90%;
        min-width: 300px;
        max-width: 440px;
        height: auto;
        transition: none;
        opacity: 1;
        margin-right: 10px;
        visibility: visible;
        padding: 10px 20px
    }

    .all-wrap-dot .note-block::after {
        border-radius: 10px;
        background-color: var(--color-normal);
        box-shadow: none
    }

    .all-wrap-dot .empty {
        position: relative;
        flex: none;
        display: block;
        width: calc(5vw + 10px)
    }

    .all-wrap-dot .note-block .info {
        opacity: 1;
        transform: none;
        transition: none;
        background: 0 0;
        display: block;
        white-space: normal
    }

    .all-wrap-dot .note-block h3 {
        width: 100%;
        font-size: 18px;
        padding: 10px 0;
        display: block
    }

    .all-wrap-dot .note-block .info p {
        font-size: 14px;
        text-align: left;
        line-height: 1.5
    }

    .all-wrap-dot .line-group {
        display: none
    }

    .all-wrap-dot .note-block .wrap-view-more {
        margin: 10px 0 0
    }

    .all-wrap-dot .note-block .icon-svg {
        width: 40px;
        height: 40px;
        margin: 0 0 0 .3rem
    }

    .all-wrap-dot .note-block.showbox::after {
        background-color: var(--color-highlight)
    }

    .all-wrap-dot .note-block.showbox,
    .all-wrap-dot .note-block.showbox .icon-svg svg {
        color: var(--color-black)
    }

    #news-page .footer,
    .home-promotion {
        background-color: var(--color-white)
    }

    .home-promotion .content-main {
        padding: 5vw 0
    }

    .home-promotion .box-txt {
        max-width: inherit;
        padding: 0 5vw
    }

    .contact .text-content ul>li p,
    .home-contact .text-content ul>li p,
    .home-promotion .box-txt strong {
        font-size: 120%
    }

    .slide-offer {
        width: 100%;
        margin: 20px auto 0
    }

    .offer-item {
        opacity: 1;
        transition: inherit;
        padding: 0 2vw
    }

    .offer-pic {
        width: 100%;
        height: auto;
        border-radius: 2vw;
        transform: none;
        transition: inherit;
        margin: 0
    }

    .slide-offer .slidebox-track {
        overflow: hidden
    }

    .slide-offer .slidebox-arrow-prev {
        left: 3vw
    }

    .slide-offer .slidebox-arrow-next {
        right: 3vw
    }

    .home-library .wrap-view-more {
        position: relative;
        bottom: auto;
        text-align: center;
        margin: 20px 0 0
    }

    .home-library .title-main {
        width: 100%;
        justify-content: center
    }

    .home-library .title-main::after,
    .home-library .title-main::before {
        width: 20vw;
        margin: 0 15px
    }

    .slide-bro .item-brochure::before,
    .slide-vid .item-video::before {
        display: none
    }

    .home-library .logo-a-content {
        width: 20vw;
        height: 20vw;
        left: 0;
        bottom: 0
    }

    .home-library .logo-a-content svg path,
    .library .logo-a-content svg path {
        stroke: var(--color-white)
    }

    .wrap-library {
        width: 100%;
        max-width: inherit;
        height: auto;
        padding: 0 2vw;
        margin: 20px 0 0
    }

    .library-item .pic-cover,
    .library-item::after {
        border-radius: 2vw
    }

    #news-page .title-page,
    .library-item::before {
        display: none
    }

    .home-library .item-brochure {
        width: 120%;
        margin: 0 1vw
    }

    .title-pic {
        padding: 15px;
        display: block
    }

    .title-pic h3 {
        margin: 0;
        text-align: left
    }

    .library::after {
        content: '';
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0
    }

    .library .content-main {
        padding: 5vw 5vw 100px
    }

    .library .title-main {
        width: 100%;
        text-align: center;
        display: none
    }

    .library .logo-a-content {
        width: 120px;
        height: 120px;
        right: 10vw;
        left: auto
    }

    .library .pic-grid {
        width: 100%;
        height: auto;
        max-width: 650px;
        margin: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .library .library-item,
    .slide-bro,
    .slide-vid {
        margin: 0 0 2rem
    }

    .library .item-brochure {
        aspect-ratio: 1;
        width: 100%;
        order: unset
    }

    .library .item-album,
    .library .item-degree {
        aspect-ratio: 12/9;
        width: 48%
    }

    .library .slide-vid {
        aspect-ratio: 16/9;
        width: 100%
    }

    .slide-vid .slidebox-arrows {
        bottom: auto;
        right: auto
    }

    .slide-bro .slidebox-arrows,
    .slide-vid .slidebox-arrows {
        width: 100%;
        top: calc(50% - 30px);
        left: 0;
        justify-content: space-between
    }

    .slide-bro .slidebox-arrow,
    .slide-vid .slidebox-arrow {
        margin: 0
    }

    .slide-bro .slidebox-arrow::before,
    .slide-vid .slidebox-arrow::before,
    .wrap-news {
        display: block
    }

    .slide-bro .slidebox-arrow-prev,
    .slide-vid .slidebox-arrow-prev {
        left: -15px;
        position: absolute
    }

    .slide-bro .slidebox-arrow-next,
    .slide-vid .slidebox-arrow-next {
        right: -15px;
        position: absolute
    }

    .home-news .content-main {
        padding: 5vw 0
    }

    .home-news .logo-a-content {
        width: 20vw;
        height: 20vw;
        left: auto;
        right: 0
    }

    .home-news .logo-a-content svg path {
        stroke: var(--color-highlight)
    }

    .home-news .title-main {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .home-news .title-main h2 {
        font-size: var(--titleMedium)
    }

    .home-news .title-main::after,
    .home-news .title-main::before {
        content: '';
        position: relative;
        width: 20vw;
        margin: 0 15px;
        height: 1px;
        background-color: var(--color-normal-alpha-03);
        display: block
    }

    .home-news .wrap-view-more {
        position: relative;
        bottom: auto;
        text-align: center;
        margin: 20px 0 0
    }

    .wrap-news {
        width: 100%;
        max-width: 800px;
        margin: 20px auto 0;
        padding: 0 5vw
    }

    .item-news-home {
        padding: 10px;
        margin: 0 0 20px
    }

    .item-news-home::after {
        background-color: var(--color-white);
        border-radius: 2vw
    }

    .pic-news {
        height: 220px
    }

    .item-news-home .box-txt p,
    .slide-news .item-news .box-txt p {
        -webkit-line-clamp: 3
    }

    .item-news-home:nth-child(1) .box-txt h3,
    .item-news-home:nth-child(2) .box-txt h3,
    .item-news-home:nth-child(3) .box-txt h3 {
        line-height: 1.4;
        font-size: 1.2rem
    }

    .item-news-home:nth-child(1),
    .item-news-home:nth-child(2),
    .item-news-home:nth-child(3) {
        display: flex;
        align-items: center;
        justify-content: flex-start
    }

    .item-news-home:nth-child(1) .pic-news,
    .item-news-home:nth-child(2) .pic-news,
    .item-news-home:nth-child(3) .pic-news {
        width: 50%
    }

    .item-news-home:nth-child(1) .pic-cover,
    .item-news-home:nth-child(2) .pic-cover,
    .item-news-home:nth-child(3) .pic-cover {
        height: 100%;
        border-radius: 1.5vw
    }

    .item-news-home:nth-child(1) .box-txt {
        width: 50%;
        padding: 0 5px 0 15px
    }

    .item-news-home:nth-child(2) .box-txt {
        width: 50%
    }

    .item-news-home:nth-child(3) .box-txt {
        width: 50%;
        padding: 0 5px 0 15px
    }

    .item-news-home:nth-child(2) .pic-news,
    .slide-news .item-news:nth-child(2) .pic-news {
        order: 2
    }

    .item-news-home:nth-child(2) .box-txt,
    .slide-news .item-news:nth-child(2) .box-txt {
        order: 1;
        padding: 0 15px 0 5px;
        text-align: right
    }

    .item-news-home .link-load {
        display: inline-block
    }

    .item-news-home .link-load::after {
        content: ' ';
        position: relative;
        width: 70px;
        height: 1px;
        margin: 0 0 0 10px;
        display: inline-block;
        background-color: currentColor;
        opacity: .5
    }

    .item-news-home:nth-child(2) .link-load::after,
    .slide-news .item-news:nth-child(2) .go-news::after {
        display: none
    }

    .item-news-home:nth-child(2) .link-load::before,
    .slide-news .item-news:nth-child(2) .go-news::before {
        content: ' ';
        position: relative;
        width: 70px;
        height: 1px;
        margin: 0 10px 0 0;
        display: inline-block;
        background-color: currentColor;
        opacity: .5
    }

    #news-page .box-slider {
        margin-top: 90px
    }

    .events .content-main,
    .news .content-main {
        padding: 5vw 0
    }

    .progress .content-main {
        padding: 0 0 5vw
    }

    .events .title-main,
    .news .title-main,
    .progress .title-main {
        position: relative;
        left: auto;
        top: auto
    }

    .slide-news {
        width: 90%;
        max-width: 800px;
        margin: auto
    }

    .slide-news .slidebox-arrows,
    .slide-progress .slidebox-arrows {
        display: none
    }

    .go-news {
        display: inline-block
    }

    .go-news::after {
        width: 70px
    }

    .slide-news .wrap-news {
        display: block;
        padding: 0
    }

    .slide-news .item-news {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 10px;
        margin: 0 0 20px;
        border-radius: 2vw;
        max-width: inherit
    }

    .slide-news .item-news::after {
        background-color: var(--color-white);
        border-radius: 2vw
    }

    .slide-news .item-news .pic-cover {
        height: 100%;
        border-radius: 1.5vw
    }

    .slide-news .item-news .pic-news {
        width: 50%
    }

    .slide-news .item-news .box-txt {
        width: 50%;
        margin: 0;
        padding: 0 5px 0 15px
    }

    .slide-news .item-news .box-txt h3 {
        line-height: 1.2;
        font-size: 1.2rem
    }

    .news .logo-a-content {
        display: none
    }

    .events .item-news {
        border: 0;
        color: var(--color-normal)
    }

    .events .logo-a-content,
    .progress .bg-cover::after {
        display: none
    }

    .progress .bg-cover {
        margin-bottom: 5vw
    }

    .slide-progress {
        width: 80%;
        margin: auto;
        max-width: inherit
    }

    .floor-twenty .hover-text p,
    .slide-progress .wrap-news {
        padding: 0
    }

    .slide-progress .item-news {
        padding: 10px;
        border-radius: 2vw
    }

    .slide-progress .item-news::after {
        border-radius: 2vw
    }

    .slide-progress .box-txt {
        padding: 0 20px
    }

    .slide-progress .box-txt h3>span {
        font-size: .7rem
    }

    .slide-progress .box-txt h3 {
        font-size: 1.5rem
    }

    .slide-progress .pic-news {
        height: auto
    }

    .slide-progress .pic-cover {
        aspect-ratio: 16/9;
        border-radius: 1.5vw
    }

    .load-title {
        padding: 20px 70px
    }

    .contact .box-txt h3,
    .home-contact .box-txt h3,
    .print {
        text-align: center
    }

    .home-partner {
        background-color: var(--color-white)
    }

    .home-partner .content-main {
        padding: 5vw
    }

    .home-partner .box-txt {
        max-width: inherit
    }

    .logo-partner {
        width: 150px;
        margin: 30px auto 0
    }

    .group-logo {
        max-width: inherit;
        padding: 30px 0 0
    }

    .group-logo .logo-partner {
        width: 100px;
        margin: 30px 0
    }

    .home-contact {
        background-color: var(--color-highlight)
    }

    .contact .content-main,
    .home-contact .content-main {
        padding: 5vw
    }

    .contact .text-content,
    .home-contact .text-content {
        width: 100%;
        text-align: center;
        margin: 0 0 5vw;
        color: var(--color-black)
    }

    .contact .title-main h2,
    .home-contact .title-main h2 {
        font-size: var(--titleMedium);
        margin: 0
    }

    .contact .text-content .title-main::after,
    .home-contact .text-content .title-main::after {
        width: 20vw;
        margin: 15px auto
    }

    .contact .text-content ul>li,
    .home-contact .text-content ul>li {
        display: inline-block;
        margin: 0 0 30px
    }

    .contact .text-content ul>li::after,
    .home-contact .text-content ul>li::after {
        position: relative;
        left: auto;
        top: auto;
        width: 20vw;
        margin: 15px auto
    }

    .contact .text-content ul>li a,
    .home-contact .text-content ul>li a {
        font-size: 150%
    }

    .contact .text-content ul>li span,
    .home-contact .text-content ul>li span {
        width: 30px;
        height: 30px;
        margin: 0 auto
    }

    .contact .logo-a-content,
    .home-contact .logo-a-content {
        width: 30vw;
        height: 30vw;
        left: 70vw
    }

    .contact .logo-a-content svg path,
    .home-contact .logo-a-content svg path {
        stroke: var(--color-highlight-alpha)
    }

    .contact .box-txt,
    .home-contact .box-txt {
        margin: 30px 0;
        display: inline-block
    }

    .logo-item {
        max-width: 150px;
        height: 70px
    }

    .logo-item.small {
        height: 70px;
        margin: 0 5vw
    }

    .logo-item.large {
        height: 100px
    }

    .wrap-form {
        width: 100%;
        max-width: 600px;
        background-color: var(--color-white);
        padding: 5vw;
        margin: 0 auto 5vw;
        border-radius: 2vw
    }

    .wrap-form .require-col {
        max-width: 600px;
        margin: auto
    }

    #contact-page::after {
        content: '';
        width: 100%;
        height: 90px;
        position: absolute;
        left: 0;
        top: 0;
        background-color: var(--color-normal);
        pointer-events: none;
        z-index: 1
    }

    .contact .bg-cover::after {
        display: none
    }

    .contact .wrap-form .input-text input[type=text] {
        border: 1px solid var(--color-normal-alpha-03);
        color: var(--color-normal)
    }

    .contact .wrap-form .input-but button {
        color: var(--color-normal);
        border-color: var(--color-normal-alpha)
    }

    .about-intro .text-group strong,
    .about-partner .title-main h2 strong,
    .contact .wrap-form .holder,
    .progress .title-main h2 strong,
    .wrap-form .contact .input-area textarea {
        color: var(--color-normal)
    }

    .about-intro .content-main {
        padding: 5vw 5vw 100px
    }

    .about-intro .content-main::before {
        width: 100%;
        background: var(--color-highlight)
    }

    .about-intro .text-content {
        width: 100%;
        padding: 0;
        margin: 0 0 1rem
    }

    .about-intro .text-content::after,
    .about-project .content-main::before,
    .about-project .text-content::after {
        display: none
    }

    .about-intro .title-main {
        width: 100%;
        margin-bottom: 1rem
    }

    .about-intro .title-main h2 {
        font-size: var(--titleMedium)
    }

    .about-intro .box-text,
    .about-intro .text-group {
        color: var(--color-black)
    }

    .about-intro .text-group span {
        white-space: normal
    }

    .about-intro .box-text {
        width: 100%
    }

    .about-intro .box-text strong,
    .faci-intro-2 .title-main h2 strong {
        color: var(--color-white)
    }

    .about-intro .pic-grid {
        width: 100%;
        padding: 0;
        justify-content: center
    }

    .about-intro .pic-cover {
        border-radius: 2vw
    }

    .about-intro .pic-cover:nth-child(1) {
        grid-column: 1/span 2;
        grid-row: 1
    }

    .about-intro .pic-cover:nth-child(2) {
        grid-column: 3;
        grid-row: 1
    }

    .about-intro .pic-cover:nth-child(3) {
        grid-column: 3/span 2;
        grid-row: 2/span 2;
        left: 0;
        top: 0
    }

    .about-intro .logo-a-content {
        width: 220px;
        height: 220px;
        right: 5%
    }

    .about-intro .logo-a-content svg path {
        stroke: var(--color-white)
    }

    .about-project .content-main {
        display: block;
        padding: 0
    }

    .about-project .text-content {
        width: 100%;
        max-width: 600px;
        padding: 5vw
    }

    .about-project .logo-a-content {
        right: 0
    }

    .about-investor .logo-a-content svg path,
    .about-project .logo-a-content svg path,
    .faci-intro .logo-a-content svg path,
    .hilife-prosper .logo-a-content svg path {
        stroke: var(--color-highlight)
    }

    .about-investor {
        background-color: var(--color-white)
    }

    .about-investor .content-main {
        padding: 5vw
    }

    .about-investor .text-content {
        width: 100%;
        padding: 0;
        margin: 5vw auto 0;
        max-width: 700px
    }

    .about-investor .title-main,
    .floor-twenty .list-inner li {
        text-align: center
    }

    .about-investor .box-text {
        margin: 1rem 0
    }

    .about-investor .logo-partner {
        width: 180px;
        margin: 1rem
    }

    .about-investor .pic-content {
        width: 100%;
        height: auto;
        margin: 0
    }

    .about-investor .pic-cover img {
        width: 100%;
        border-radius: 1rem
    }

    .about-investor .logo-a-content {
        width: 150px;
        height: 150px;
        right: 5%;
        left: auto
    }

    .about-partner {
        background-color: var(--color-highlight)
    }

    .about-partner .content-main {
        padding: 5vw
    }

    .about-partner .box-txt {
        max-width: inherit;
        color: var(--color-black)
    }

    .about-partner .logo-a-content {
        display: none
    }

    .about-partner .logo-partner {
        margin: 30px 0
    }

    .about-partner .group-logo,
    .group-agent {
        padding: 30px 0
    }

    .group-agent {
        max-width: inherit;
        margin: 30px 0
    }

    .logo-agent {
        width: 100px
    }

    .hilife-intro {
        background-color: var(--color-white)
    }

    .hilife-intro .content-main {
        padding: 5vw 5vw 10vw
    }

    .hilife-intro .text-content {
        width: 100%;
        padding: 0
    }

    .hilife-intro .wrap-view-more {
        margin: 30px 0
    }

    .hilife-intro .wrap-view-more img {
        width: 100px;
        margin: 0 0 1rem 2rem
    }

    .hilife-intro .pic-grid {
        width: 100%;
        padding: 0;
        justify-content: center
    }

    .hilife-intro .pic-cover,
    .hilife-investment .text-content::after {
        border-radius: 2vw
    }

    .hilife-intro .pic-cover:nth-child(1) {
        grid-column: 1/span 2;
        grid-row: 1
    }

    .hilife-intro .pic-cover:nth-child(2) {
        grid-column: 3;
        grid-row: 1/span 2
    }

    .hilife-intro .pic-cover:nth-child(3) {
        grid-column: 1/span 2
    }

    .hilife-intro .logo-a-content {
        display: none
    }

    .hilife-prosper {
        background-color: var(--color-white-grey)
    }

    .hilife-prosper .content-main {
        padding: 5vw 5vw 120px
    }

    .hilife-prosper .text-content {
        width: 100%;
        padding: 0 0 5vw
    }

    .block-floor .text-content li>p,
    .block-house .text-content li>p,
    .box-text-group ul>li>p {
        font-size: inherit
    }

    .box-text-group ul>li span {
        width: 80px;
        height: 80px;
        margin-right: 15px
    }

    .hilife-prosper .pic-grid {
        width: 100%
    }

    .hilife-prosper .pic-cover {
        border-radius: 10px
    }

    .hilife-prosper .pic-cover:nth-child(1),
    .hilife-prosper .pic-cover:nth-child(2) {
        --y2: 5
    }

    .hilife-prosper .pic-cover:nth-child(3) {
        --y1: 5;
        --y2: 10
    }

    .hilife-prosper .pic-cover:nth-child(4) {
        --y1: 5;
        --y2: 8
    }

    .hilife-prosper .logo-a-content {
        width: 220px;
        height: 220px;
        left: auto;
        right: 5%
    }

    .hilife-investment .content-main {
        padding: 5vw 3vw
    }

    .faci-intro .title-main h2,
    .hilife-investment .title-main h2 {
        font-size: var(--titleFont)
    }

    .hilife-investment .text-content {
        width: 100%;
        margin: 0;
        max-width: inherit;
        padding: 20px
    }

    .faci-intro .content-main::before,
    .faci-intro .text-content::after,
    .hilife-investment .logo-a-content {
        display: none
    }

    .hilife-content {
        column-count: 1;
        gap: 0
    }

    .hilife-map {
        background-color: var(--color-white)
    }

    .hilife-map .pic-cover {
        height: auto
    }

    .faci-intro {
        background-color: var(--color-normal)
    }

    .faci-intro .content-main {
        padding: 5vw 5vw 120px
    }

    .faci-intro .text-content {
        width: 100%;
        padding: 0 0 5vw
    }

    .faci-intro .text-quote::before {
        position: relative;
        left: auto;
        top: auto;
        margin: 0 0 1rem;
        display: block
    }

    .faci-intro .logo-a-content {
        width: 180px;
        height: 180px;
        left: 5%
    }

    .faci-intro .pic-cover {
        border-radius: 2vw
    }

    .faci-intro .pic-grid {
        width: 100%;
        padding: 0
    }

    .faci-intro .pic-cover:nth-child(1) {
        grid-column: 1/span 2;
        grid-row: 1
    }

    .faci-intro .pic-cover:nth-child(2) {
        grid-column: 3;
        grid-row: 1/span 1;
        width: 100%
    }

    .faci-intro .pic-cover:nth-child(3) {
        grid-column: 1/span 2;
        grid-row: 2/span 3;
        width: 80%;
        left: 20%
    }

    .faci-intro .pic-cover:nth-child(4) {
        grid-column: 3;
        grid-row: 2/span 6;
        width: 100%;
        left: 0
    }

    .faci-intro-2 {
        background-color: var(--color-highlight)
    }

    .faci-intro-2 .content-main {
        padding: 5vw 5vw 15vw
    }

    .faci-intro-2 .content-main::after,
    .faci-intro-2 .content-main::before,
    .faci-intro-2 .text-content::after {
        display: none
    }

    .faci-intro-2 .text-content {
        width: 100%;
        padding: 0 0 5vw;
        color: var(--color-black)
    }

    .faci-intro-2 .text-quote::before {
        position: relative;
        left: auto;
        top: auto;
        margin: 0 0 1rem;
        display: block
    }

    .faci-intro-2 .logo-a-content {
        width: 30vw;
        height: 30vw;
        right: 0;
        left: auto
    }

    .faci-intro-2 .logo-a-content svg path {
        stroke: var(--color-white)
    }

    .faci-intro-2 .pic-cover {
        border-radius: 2vw
    }

    .faci-intro-2 .pic-grid {
        width: 100%;
        padding: 0
    }

    .faci-intro-2 .pic-cover:nth-child(1) {
        grid-column: 1/span 2;
        grid-row: 1/span 2
    }

    .faci-intro-2 .pic-cover:nth-child(2) {
        grid-column: 3;
        grid-row: 1/span 2;
        width: 100%
    }

    .faci-intro-2 .pic-cover:nth-child(3) {
        grid-column: 1/span 2;
        grid-row: 4/span 4;
        width: 80%;
        left: 20%;
        aspect-ratio: 3/4
    }

    .faci-intro-2 .pic-cover:nth-child(4) {
        grid-column: 3;
        grid-row: 4/span 3;
        width: 100%;
        left: 0
    }

    .floor-ground .title-main,
    .floor-top .title-main {
        top: 1rem
    }

    .floor-twenty .title-main,
    .floor-two .title-main {
        position: relative;
        left: auto;
        top: auto
    }

    .floor-ground .title-main h2,
    .floor-top .title-main h2,
    .floor-twenty .title-main h2,
    .floor-two .title-main h2 {
        font-size: var(--titleSmall)
    }

    .alldot.show .dot-num circle {
        animation: StrokeLine 3s infinite linear
    }

    .floor-top .logo-a-content {
        width: 20vw;
        height: 20vw;
        left: calc(50% - 10vw);
        bottom: -5vw;
        z-index: 10
    }

    .block-house .logo-a-content svg path,
    .floor-top .logo-a-content svg path {
        stroke: var(--color-grey-light)
    }

    .floor-top,
    .floor-twenty,
    .floor-two {
        padding: 5vw 0;
        background-color: var(--color-white);
        border-bottom: 1px solid var(--color-light)
    }

    .floor-twenty .logo-a-content,
    .floor-two .logo-a-content,
    .hover-text p>strong::after {
        display: none
    }

    .floor-twenty .pic-content .pic-cover,
    .floor-twenty .pic-content .pic-cover img,
    .floor-two .pic-content .pic-cover,
    .floor-two .pic-content .pic-cover img {
        height: auto
    }

    .faci-note,
    .floor-ground .faci-note {
        background-color: var(--color-normal)
    }

    .faci-note,
    .floor-ground .faci-note,
    .floor-top .faci-note,
    .floor-twenty .faci-note {
        position: relative;
        width: 100%;
        height: auto;
        left: auto;
        top: auto;
        display: block;
        padding: 0 30px
    }

    .floor-twenty .faci-note {
        background-color: var(--color-normal)
    }

    .floor-top .faci-note {
        background-color: var(--color-white)
    }

    .faci-note .scroll-list {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-behavior: smooth;
        padding: 20px 30px
    }

    .list-inner {
        display: block;
        white-space: nowrap;
        padding: 0
    }

    .list-inner .empty {
        display: inline-block
    }

    .hover-text {
        width: auto;
        padding: 1px 0 1px 25px
    }

    .faci-note h3 {
        font-size: 16px;
        margin: 0 0 10px;
        color: var(--color-white)
    }

    .faci-note h3 strong {
        color: var(--color-highlight)
    }

    .faci-note:not(.normal) h3 {
        margin: 0 0 10px
    }

    .hover-text.t-head {
        margin: 0 0 15px
    }

    .list-inner ul:nth-child(2) .t-head h3 {
        margin: 15px 0 0
    }

    .hover-text p>strong {
        width: 20px;
        height: 20px;
        left: 0;
        top: calc(50% - 10px);
        font-size: 10px;
        border: 0;
        background-color: var(--color-normal-light);
        transition: none;
        color: var(--color-white)
    }

    .hover-text p {
        font-size: 13px;
        padding: 0 0 0 30px
    }

    .floor-ground .faci-note {
        pointer-events: auto
    }

    .floor-ground .list-inner ul {
        width: auto;
        padding: 0;
        column-count: 2;
        column-gap: 30px;
        display: inline-block;
        vertical-align: top;
        margin: 0;
        overflow: hidden
    }

    .floor-ground .list-inner ul li {
        break-inside: avoid
    }

    .floor-top .list-inner ul,
    .floor-twenty .list-inner ul {
        max-width: 600px;
        margin: auto;
        display: grid;
        grid-template-columns: auto auto
    }

    .floor-top .faci-note h3,
    .floor-twenty .faci-note h3 {
        text-align: center;
        color: var(--color-normal)
    }

    .floor-top .hover-text {
        margin: 5px 0
    }

    .floor-twenty .hover-text {
        margin: 5px 0;
        color: var(--color-white)
    }

    .block-intro {
        background-color: var(--color-white)
    }

    .block-intro .text-content {
        width: 100%;
        padding: 0
    }

    .block-intro .text-content ul>li {
        width: auto;
        padding: 0 5vw 0 0
    }

    .block-intro .logo-a-content {
        display: none
    }

    .block-intro .pic-content {
        width: 100%;
        max-width: 600px;
        margin: auto auto 2rem
    }

    .block-intro .pic-cover {
        border-radius: 2vw
    }

    .block-floor {
        background-color: var(--color-text-scroll)
    }

    .block-floor .text-content,
    .keyplan>svg {
        width: 100%
    }

    .block-floor .title-main {
        width: 100%;
        text-align: center
    }

    .block-floor .title-main h3 {
        margin: 0 0 1rem;
        padding: 0;
        white-space: normal
    }

    .block-floor .title-main h3::before {
        position: relative;
        width: 100px;
        left: auto;
        top: auto;
        display: block;
        margin: 0 auto 1rem
    }

    .block-floor .text-content ul>li {
        margin: 0 .5rem 1rem;
        justify-content: center;
        width: auto;
        max-width: 50%
    }

    .block-svg {
        pointer-events: auto;
        left: auto
    }

    .compass-2 {
        width: 50px;
        height: 60px;
        top: auto;
        bottom: 0
    }

    .house-note {
        margin: 1rem 0
    }

    .house-note ul {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap
    }

    .house-note li {
        width: auto;
        margin: 0 1rem 1rem;
        justify-content: center
    }

    .house-note li span {
        width: 1.5rem;
        height: 1.5rem;
        border-radius: .2rem;
        margin: 0 .5rem 0 0
    }

    .house-note li strong {
        font-size: 120%
    }

    .info-house {
        display: none
    }

    .block-typical {
        width: 110vw;
        max-width: inherit;
        height: auto;
        min-height: calc(800/1400*110vw);
        margin: 15px 0;
        left: -10vw
    }

    #ruby-tower-page .block-typical,
    #sapphire-tower-page .block-typical {
        width: 120vw;
        min-height: calc(800/1400*120vw);
        left: -15vw
    }

    #diamond-B-tower-page .compass-2,
    #ruby-tower-page .compass-2,
    #sapphire-tower-page .compass-2 {
        right: 15%;
        left: auto
    }

    #diamond-A-tower-page .compass-2 {
        right: auto;
        left: 15%
    }

    #diamond-A-tower-page .block-svg,
    #diamond-B-tower-page .block-svg,
    #ruby-tower-page .block-svg,
    #sapphire-tower-page .block-svg {
        top: auto
    }

    #diamond-A-tower-page>.first-banner,
    #diamond-B-tower-page>.first-banner,
    #ruby-tower-page>.first-banner,
    #sapphire-tower-page>.first-banner,
    .block-house .text-content ul>li {
        display: block
    }

    .block-house {
        background-color: var(--color-white);
        border-top: 1px solid var(--color-light)
    }

    .block-house:last-child {
        border-bottom: 1px solid var(--color-light)
    }

    .block-house .content-main {
        padding: 5vw;
        display: flex;
        flex-wrap: wrap
    }

    .block-house .text-content {
        position: relative;
        left: auto;
        top: auto;
        right: auto;
        transform: none;
        width: 100%;
        max-width: inherit;
        padding: 0;
        order: 1
    }

    .block-house .title-main {
        text-align: center
    }

    .block-house .title-main h3 {
        margin: 0 0 15px;
        padding: 0;
        white-space: normal
    }

    .block-house .title-main h3::before {
        position: relative;
        width: 100px;
        left: auto;
        top: auto;
        display: block;
        margin: 0 auto 15px
    }

    .block-house .logo-a-content {
        width: 150px;
        height: 150px;
        left: auto;
        right: 5%
    }

    .block-house .house-note ul {
        display: grid;
        grid-template-columns: auto auto;
        grid-gap: 0 30px;
        max-width: 700px;
        margin: 15px auto
    }

    .house-typical {
        width: 90%;
        height: auto;
        margin: 0 auto 5vw;
        order: 2
    }

    .house-pic {
        height: auto
    }

    .house-pic .pic-img {
        height: auto;
        max-width: 800px;
        margin: auto
    }

    .house-pic .pic-img img {
        height: auto;
        pointer-events: auto
    }

    .keyplan {
        position: relative;
        width: 280px;
        left: auto;
        bottom: auto;
        transform: none;
        display: block;
        margin: 15px auto;
        text-align: center;
        order: 3
    }

    .keyplan-top {
        justify-content: center;
        margin: 0 !important
    }

    .keyplan-top>.compass-2 {
        width: 50px;
        min-width: 50px;
        height: 50px
    }

    .keyplan .print-box {
        margin-top: 30px
    }

    .block-typical>.pic-content,
    .keyplan>.pic-content {
        display: none
    }

    .house-typical .slidebox-arrow-next {
        right: -3%
    }

    .house-typical .slidebox-arrow-prev {
        left: -3%
    }

    .notice,
    .notice::before {
        position: relative;
        left: auto
    }

    .notice {
        width: 100%;
        max-width: 600px;
        margin: auto;
        bottom: auto;
        transform: none;
        display: flex;
        align-items: center;
        padding: 20px;
        color: var(--color-white)
    }

    .notice::before {
        top: auto;
        display: block;
        margin-right: 15px;
        opacity: 1
    }

    .notice p {
        opacity: 1
    }

    .error-info,
    .thank-you {
        height: 100vh
    }

    .thank-you .bg-cover,
    .thank-you .content-main {
        position: absolute;
        height: calc(100vh - 90px);
        left: 0
    }

    .thank-you .content-main {
        display: flex;
        align-items: center;
        justify-content: center;
        top: 90px
    }

    .thank-you .bg-cover {
        top: 0
    }

    .thank-you .content-main::after {
        background: var(--color-white-spec);
        width: 100%;
        filter: none;
        top: 0;
        left: 0;
        display: block
    }

    .thank-you .content-main::before {
        width: 100%;
        height: 150px;
        left: 0;
        bottom: -50px
    }

    .thank-you .text-content {
        padding: 0 5vw;
        display: inline-block;
        vertical-align: middle
    }

    .thank-you .box-txt,
    .thank-you .text-content,
    .thank-you .title-main {
        width: 100%;
        text-align: center
    }

    .error-info .box-txt p,
    .thank-you .box-txt p {
        font-size: 130%
    }

    .error-info .bg-cover,
    .error-info .content-main {
        position: absolute;
        height: calc(100vh - 90px);
        left: 0
    }

    .error-info .content-main {
        display: flex;
        align-items: center;
        justify-content: center;
        top: 90px
    }

    .error-info .bg-cover {
        top: 0
    }

    .error-info .content-main::after {
        background: var(--color-white-spec);
        width: 100%;
        filter: none;
        top: 0;
        left: 0;
        display: block
    }

    .error-info .content-main::before {
        width: 100%;
        height: 150px;
        left: 0;
        bottom: -50px
    }

    .error-info .text-content {
        padding: 0 5vw;
        display: inline-block;
        vertical-align: middle
    }

    .error-info .box-txt,
    .error-info .text-content,
    .error-info .title-main {
        width: 100%;
        text-align: center
    }

    .project-register {
        width: auto;
        left: auto;
        right: 0
    }

    .project-register.need-color.onbanner::after,
    .project-register.onbanner::after,
    .project-register.oncolor::after,
    .project-register::after {
        border-radius: 1rem 0 0 0;
        background: var(--color-normal-alpha)
    }

    .project-register,
    .project-register.onbanner,
    .project-register.oncolor {
        height: auto;
        z-index: 90
    }

    .title-small h2 {
        font-size: 1.6rem
    }

    .wrap-register {
        display: block;
        height: auto;
        padding: 0 5vw 5vw
    }

    .wrap-register .require-col {
        width: 100%;
        display: block
    }

    .wrap-register .input-text {
        width: 280px;
        margin: 15px 0
    }

    .wrap-register .input-but {
        margin: 15px 0
    }

    .project-register .close,
    .project-register.onbanner .close,
    .project-register.oncolor .close {
        display: block;
        width: 30px;
        height: 30px
    }

    .project-register .logo-nho,
    .project-register.onbanner .logo-nho,
    .project-register.oncolor .logo-nho {
        width: 80px;
        height: calc(180/250*80px);
        display: block
    }
}

@media only screen and (max-width:1100px) and (orientation:portrait) {

    .banner-home,
    .tagline {
        height: auto
    }

    .tagline {
        top: 5vh;
        bottom: auto
    }

    .tagline.align-left {
        left: 0
    }

    .tagline.align-right {
        right: 20vw
    }

    .text-spec {
        font-size: 5rem;
        margin: 0
    }

    .text-pink {
        font-size: 1rem
    }

    .pic-grid {
        height: 80vw;
        grid-template-columns: 20vw 30vw 40vw
    }

    .about-intro .pic-grid,
    .hilife-intro .pic-grid {
        height: 80vw;
        grid-template-columns: 20vw 30vw 42vw
    }

    .hilife-prosper .pic-grid {
        height: 90vw;
        --img-size: 28vw
    }

    .faci-intro .pic-grid {
        height: 80vw;
        grid-template-columns: 20vw 30vw 40vw
    }

    .faci-intro-2 .pic-grid {
        height: auto;
        grid-template-columns: 20vw 30vw 40vw
    }

    .project-register::after {
        width: 100%;
        height: 100%
    }

    .project-register .close,
    .project-register.onbanner .close {
        top: 3vw;
        right: 3vw
    }

    .project-register .logo-nho,
    .project-register.onbanner .logo-nho {
        position: relative;
        left: auto;
        top: auto;
        margin: 20px
    }
}

@media only screen and (max-width:1100px) and (orientation:landscape) {
    .banner-home {
        height: calc(1125/2000*100vw)
    }

    .tagline {
        height: auto
    }

    .tagline.align-left {
        left: 5vw
    }

    .tagline.align-right {
        right: 5vw
    }

    .text-spec {
        font-size: 5rem;
        margin: 0
    }

    .text-pink {
        font-size: 1rem
    }

    .pic-grid {
        height: 60vw;
        grid-template-columns: 22vw 22vw 45vw
    }

    .about-intro .pic-grid,
    .hilife-intro .pic-grid {
        height: 70vw;
        grid-template-columns: 22.5vw 22.5vw 46vw
    }

    .hilife-prosper .pic-grid {
        height: 88vw;
        --img-size: 28vw
    }

    .faci-intro .pic-grid {
        height: 60vw;
        grid-template-columns: 22vw 22vw 45vw
    }

    .faci-intro-2 .pic-grid {
        height: auto;
        grid-template-columns: 22vw 22vw 45vw
    }

    .project-register::after {
        width: calc(100% + 100px);
        height: calc(100% + 20px)
    }

    .project-register .close,
    .project-register.onbanner .close {
        display: block;
        width: 30px;
        height: 30px;
        top: 0;
        right: 15px
    }

    .project-register .logo-nho,
    .project-register.onbanner .logo-nho {
        position: absolute;
        left: -80px;
        top: 0;
        margin: 0
    }
}

@media screen and (max-width:680px) {
    .text-quote::before {
        position: relative;
        display: block;
        width: 4rem;
        height: 4rem;
        left: auto;
        top: auto;
        margin: 0 0 1rem
    }

    .home-info .title-main {
        padding: 0;
        display: inline-block
    }

    .home-info .text-content ul {
        width: auto;
        display: inline-block
    }

    .info-box {
        max-width: inherit;
        margin: 1rem auto
    }

    .button-zoom {
        position: relative;
        top: auto;
        right: auto;
        margin: 1rem 0;
        justify-content: center
    }

    .box-text-group>ul,
    .home-hilife .text-content {
        display: block
    }

    .home-hilife .box-txt {
        width: 100%
    }

    .box-align p {
        max-width: inherit
    }

    .home-masterplan .box-txt {
        max-width: inherit;
        padding: 0
    }

    .master-map {
        height: calc(1125/1400*100vw)
    }

    .wrap-library {
        flex-wrap: wrap
    }

    .library-item {
        width: calc(50% - 10px);
        margin: 10px 5px;
        flex: none
    }

    .home-library .item-brochure {
        width: calc(100% - 10px);
        margin: 0 5px;
        order: 3
    }

    .about-investor .logo-partner {
        width: 150px
    }

    .content-flex {
        flex-wrap: wrap;
        justify-content: center
    }

    .dot-num circle {
        stroke-width: 5px
    }

    .block-svg .text-house text,
    .dot-num text {
        font-size: 18px
    }

    .house-typical {
        width: 100%
    }

    .keyplan svg {
        width: 180px;
        margin: auto
    }

    .block-house .logo-a-content {
        width: 120px;
        height: 120px
    }

    .block-house .house-note ul {
        display: block;
        text-align: center
    }

    .block-typical {
        width: 120vw;
        min-height: calc(800/1400*120vw);
        left: -15vw
    }

    #ruby-tower-page .block-typical,
    #sapphire-tower-page .block-typical {
        width: 140vw;
        min-height: calc(800/1400*140vw);
        left: -25vw
    }

    #ruby-tower-page .compass-2 {
        bottom: auto;
        top: 0;
        right: auto;
        left: 20%
    }

    #sapphire-tower-page .compass-2 {
        bottom: auto;
        top: 0;
        right: 20%;
        left: auto
    }

    #diamond-B-tower-page .compass-2 {
        right: 15%;
        left: auto
    }

    #diamond-A-tower-page .compass-2 {
        right: auto;
        left: 15%
    }

    .block-svg .text-block text {
        font-size: 24px
    }
}

@media screen and (max-width:580px) {

    .close,
    .close-album,
    .close-pics,
    .close-popup,
    .close-video,
    .pin-wrap .slidebox-arrow {
        width: 40px;
        height: 40px
    }

    .icon-svg {
        width: 60px;
        height: 60px;
        margin-left: 10px
    }

    .logo-a-content {
        width: 50vw;
        height: 50vw;
        left: 50vw
    }

    .pin-wrap .pagination-custom .number-left {
        font-size: 10vw
    }

    .pin-wrap .pagination-custom .number-left::before {
        width: 100px
    }

    .title-main .text-group span:nth-child(2) {
        margin: 0 .6rem
    }

    .about-intro .title-main h2 {
        font-size: var(--titleSmall)
    }

    .load-title {
        padding: 20px 50px
    }

    .master-map {
        height: calc(1200/1300*100vw)
    }

    .house-note ul {
        justify-content: flex-start
    }

    .library .item-album,
    .library .item-degree {
        aspect-ratio: 7/9
    }

    .pic-content.zoom-pic {
        pointer-events: auto
    }

    .pic-content.zoom-pic::after {
        content: '';
        width: 30px;
        height: 30px;
        position: absolute;
        right: 10px;
        top: 5px;
        border-radius: 50%;
        z-index: 20
    }

    .slide-bro .slidebox-arrow,
    .slide-vid .slidebox-arrow {
        width: 24px;
        height: 24px
    }

    .slide-bro .slidebox-arrow-prev,
    .slide-vid .slidebox-arrow-prev {
        left: -12px
    }

    .slide-bro .slidebox-arrow-next,
    .slide-vid .slidebox-arrow-next {
        right: -12px
    }
}

@media screen and (max-width:440px) {
    [data-color=color-load-gradient]::after {
        width: 150vw;
        height: 150vw;
        left: -25vw;
        bottom: -50vw
    }

    .text-spec {
        font-size: 4rem
    }

    .text-pink {
        font-size: .9rem
    }

    .text-content ul>li>p {
        font-size: 120%
    }

    .box-text-group ul>li>p {
        font-size: inherit
    }

    .tagline.align-right {
        right: 10vw
    }

    .tagline .text-spec {
        margin: -.5rem 0
    }

    html[lang=en] .tagline .text-pink {
        font-size: 2.1rem
    }

    html[lang=en] .tagline .text-spec {
        font-size: 2.8rem;
        margin: 0
    }

    html[lang=en] .tagline .text-pink:nth-child(1) {
        letter-spacing: 1.15rem
    }

    html[lang=en] .tagline .text-pink:nth-child(2) {
        letter-spacing: .65rem
    }

    html[lang=en] .tagline .text-spec:nth-child(3) {
        letter-spacing: .25rem
    }

    html[lang=en] .tagline .text-spec:nth-child(4) {
        letter-spacing: 0
    }

    .item-news-home .box-txt p,
    .slide-news .item-news .box-txt p {
        display: none
    }

    .item-news-home:nth-child(1) .box-txt h3,
    .item-news-home:nth-child(2) .box-txt h3,
    .item-news-home:nth-child(3) .box-txt h3 {
        font-size: 1.1rem;
        font-family: SVN-Gilroy-Regular;
        font-weight: 400
    }

    .item-news-home:nth-child(1),
    .item-news-home:nth-child(2),
    .item-news-home:nth-child(3) {
        display: block
    }

    .item-news-home:nth-child(1) .pic-news,
    .item-news-home:nth-child(2) .pic-news,
    .item-news-home:nth-child(3) .pic-news {
        width: 100%
    }

    .item-news-home:nth-child(1) .box-txt,
    .item-news-home:nth-child(3) .box-txt {
        width: 100%;
        padding: 15px 5px 0
    }

    .item-news-home:nth-child(2) .box-txt,
    .slide-news .item-news:nth-child(2) .box-txt {
        width: 100%;
        padding: 15px 5px 0;
        text-align: left
    }

    .slide-news .item-news {
        display: block
    }

    .slide-news .item-news .pic-news {
        width: 100%
    }

    .slide-news .item-news .box-txt {
        width: 100%;
        padding: 15px 5px 0
    }

    .slide-news .item-news .box-txt h3 {
        font-size: 1.1rem;
        font-family: SVN-Gilroy-Regular;
        font-weight: 400
    }

    .home-partner .box-txt p {
        font-size: 120%
    }

    .logo-partner {
        width: 120px
    }

    .group-logo {
        justify-content: center
    }

    .group-logo .logo-partner {
        width: 80px;
        margin: 30px 10px
    }

    .time-number {
        width: 80px;
        height: 80px;
        min-width: 80px;
        padding: 15px 0
    }

    .pic-zoom-in,
    .pic-zoom-out {
        width: 2rem;
        height: 2rem
    }

    .compass {
        left: 0
    }

    .about-intro .logo-a-content {
        width: 150px;
        height: 150px
    }

    .about-investor .logo-a-content {
        display: none
    }

    .faci-note,
    .floor-ground .faci-note,
    .floor-top .faci-note {
        padding: 0
    }

    .faci-note .scroll-list {
        padding: 20px 0
    }

    .hover-text {
        padding: 1px 0 1px 20px
    }

    .dot-num circle {
        stroke-width: 3px
    }

    .block-svg .text-house text,
    .dot-num text {
        font-size: 22px
    }

    .block-svg .text-block text {
        font-size: 30px
    }

    .keyplan-top>.compass-2 {
        width: 40px;
        min-width: 40px;
        height: 40px
    }

    .logo-item {
        max-width: 120px
    }

    .logo-item.small {
        height: 60px
    }

    .faci-intro .logo-a-content,
    .hilife-prosper .logo-a-content {
        width: 150px;
        height: 150px
    }

    .load-text p,
    .load-text ul {
        padding: 0 15px 20px
    }

    .load-text h2,
    .load-text h3,
    .load-text h4 {
        padding: 0 15px
    }

    .figure-img,
    .figure-two-img {
        margin: 0 0 6px
    }

    .figure-two-img {
        gap: 6px
    }

    .img-one,
    .img-two {
        width: calc(50% - 3px)
    }

    .load-text table td,
    .load-text table th {
        padding: 8px 10px
    }

    .load-text p:last-child {
        text-align: left !important
    }

    .load-text figcaption {
        margin: 10px 0
    }

    .div-figure {
        grid-gap: 6px
    }

    .updating {
        width: 90%
    }
}

@media print {

    .banner,
    .bread,
    .footer,
    .go-top,
    .header,
    .loadx,
    .overlay-dark,
    .print,
    .relative-page,
    .scrollbar,
    .srcoll-down,
    .sub-menu,
    .title-page {
        display: none
    }

    .ani-item,
    .chapeau,
    .container,
    .load-text,
    .load-title {
        opacity: 1 !important;
        visibility: visible;
        transform: none !important
    }

    .container {
        margin: auto
    }

    .ani-item,
    .chapeau,
    .load-text,
    .load-title {
        width: 100% !important;
        max-width: inherit
    }
}