body.loading { position: fixed; } .lazy_loading { position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 100; background: #e6d6fe; svg { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } .loading-bar { position: absolute; top: calc(50% + 80px); left: 50%; width: 160px; height: 8px; border-radius: 5px; border: #6A30B5 1px solid; background: #6A30B5; transform: translateX(-50%); &>div { position: absolute; width: 100%; right: 0; top: 0px; bottom: 0px; border-radius: 4px; background: #FFFFFF; transform-origin: right center; } } } body::-webkit-scrollbar { width: 2px; height: 2px; } body::-webkit-scrollbar-track { box-shadow: inset 0 0 6px #FFFFFF; } body::-webkit-scrollbar-thumb { background-color: #6A30B5; outline: 1px solid #6A30B5; } .visible-xs { @media (min-width: 1081px) { display: none !important; } @media (max-width: 1080px) { display: block !important; } } .hidden-xs { @media (max-width: 1080px) { display: none !important; } } .bg-center { background-position: center; background-size: contain; background-repeat: no-repeat; } h2 { position: relative; margin: 0; padding-bottom: calc(10vw / 19.2) 0; color: #6A30B5; font-size: calc(46vw / 19.2); line-height: 1.5; text-align: center; letter-spacing: 0.04em; @media (max-width: 1440px) { font-size: 34.5px; } @media (max-width: 767px) { font-size: calc(34.5vw / 7.68); } } .btn-custom { display: block; position: relative; padding: 14px 30px; color: #FFFFFF; font-size: 20px; line-height: 28px; text-align: center; text-decoration: none; background: #6A30B5; border-radius: 30px; } .grid-item { display: flex; display: -webkit-flex; position: relative; &[data-type=banner] { display: block; gap: calc(20vw / 19.2); margin-left: calc(360vw / 19.2); .item { padding: 0 calc(10vw / 19.2); width: calc(600vw / 19.2); height: calc(380vw / 19.2); .img { width: 100%; height: 100%; background-position: center; background-size: contain; background-size: cover; background-repeat: no-repeat; border-radius: calc(20vw / 19.2); } } .swiper-pagination { display: none; position: relative; margin: 50px 0 80px; @media (max-width: 768px) { display: block; } .swiper-pagination-bullet { margin: 0 10px; width: 14px; height: 8px; background: #EDEDED; border-radius: 10px; opacity: 1; transition: 300ms; &.swiper-pagination-bullet-active { width: 40px; background: #FEBF5D; } } } .swiper-button-prev, .swiper-button-next { display: none; width: 36px; height: 36px; background-position: center; background-size: contain; background-repeat: no-repeat; z-index: 5; &:after { display: none; content: ''; } @media (max-width: 1199px) { display: block; } @media (max-width: 768px) { top: calc((100vw - 80px - 60px) * 0.285); } } .swiper-button-prev { background-image: url('./../images/common/arrow-L.svg'); } .swiper-button-next { background-image: url('./../images/common/arrow-R.svg'); } } &[data-type=business] { display: inline-flex; display: -webkit-inline-flex; margin-top: calc(70vw / 19.2); gap: calc(20vw / 19.2); @media (max-width: 767px) { gap: calc(30vw / 7.68); } &>* { width: calc(460vw / 19.2); @media (max-width: 767px) { width: calc(200vw / 7.68); } img { width: calc(180vw / 19.2); height: calc(180vw / 19.2); } p { margin: calc(50vw / 19.2) 0 0; padding: 0; color: #5A2E94; font-size: calc(20vw / 19.2); font-weight: 500; line-height: 1.5; @media (max-width: 1440px) { font-size: 15px; } } } } &[data-type=events], &[data-type=venue] { display: inline-grid; display: -webkit-inline-grid; margin-top: calc(80vw / 19.2); gap: calc(40vw / 19.2); grid-template: "a b"; &>* { width: calc(680vw / 19.2); img { width: 100%; } } } &[data-type=gallery] { flex-wrap: wrap; -webkit-flex-wrap: wrap; margin-top: calc(70vw / 19.2); gap: calc(60vw / 19.2); img { width: 100%; } &>* { &.size-1 { width: 100%; } &.size-2 { width: calc(100% / 2 - 15px); } &.size-3 { width: calc(100% / 3 - 15px * 2); } &>div { display: flex; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; gap: calc(15vw / 19.2); &>* { flex: 1; -webkit-flex: 1; } &>.iframe { flex: auto; -webkit-flex: auto; position: relative; padding-top: 56.25%; width: 100%; height: 0; &>iframe { position: absolute; left: 0; right: 0; top: 0; bottom: 0; width: 100%; height: 100%; } } } } } } html, body { margin: 0; padding: 0; font-family: 'Noto Sans TC', sans-serif; } .btn-menu { position: fixed; cursor: pointer; } .menu-desktop { display: flex; display: -webkit-flex; position: fixed; align-items: center; margin: 0; padding: calc(12vw / 19.2) calc(42vw / 19.2); left: 50%; top: calc(34vw / 19.2); width: calc(1440vw / 19.2); height: calc(80vw / 19.2); background-color: #FFFFFF; border-radius: calc(200vw / 19.2); transform: translateX(-50%); z-index: 20; @media (max-width: 1440px) { padding: 9px 31.5px; top: 25.5px; width: 1080px; height: 60px; border-radius: 150px; box-sizing: border-box; } @media (max-width: 1080px) { flex-flow: column; -webkit-flex-flow: column; padding: 9px 0; top: 0; left: 0; right: 0; width: 100%; height: 42px; background: linear-gradient( #FFFFFF 0px , #FFFFFF 60px , transparent 60px, transparent 100% ); border-radius: 0; transform: none; box-sizing: content-box; overflow: hidden; transition: 300ms; } .logo { width: calc(210vw / 19.2); height: calc(56vw / 19.2); @media (max-width: 1440px) { width: 157.5px; height: 42px; } @media (max-width: 1080px) { width: 157.5px; height: 42px; } img { width: 100%; height: 100%; } } .content { flex: 1; -webkit-flex: 1; text-align: right; @media (max-width: 1080px) { position: absolute; right: 0; top: 60px; background-color: #FFFFFF; } .sitemap { display: inline-flex; display: -webkit-inline-flex; gap: calc(40vw / 19.2); align-items: center; @media (max-width: 1440px) { gap: 30px; } @media (max-width: 1080px) { flex-flow: column; -webkit-flex-flow: column; gap: 0; margin: 0; padding: 0; text-align: center; } &>* { position: relative; padding: calc(6vw / 19.2) calc(10vw / 19.2); color: #6A30B5; font-size: calc(18vw / 19.2); font-weight: 400; line-height: 1.5; list-style-type: none; text-align: center; cursor: pointer; @media (max-width: 1440px) { padding: 4.5px 7.5px; font-size: 16px; } @media (max-width: 1080px) { padding: 8px 20px; min-width: 280px; font-size: 16px; } &.active { @media (max-width: 1080px) { color: #FFFFFF; background-color: #6A30B5; } &:after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: calc(3vw / 19.2); background-color: #6A30B5; @media (max-width: 1080px) { display: none; } } } } } } &.active { @media (max-width: 1080px) { height: 260px; height: 266px; } } } .btn-menu { right: 0; top: 0; width: 60px; height: 60px; background: #6A30B5; z-index: 10; @media (max-width: 390px) { width: calc(60vw / 3.9); height: calc(60vw / 3.9); } &>i { display: block; position: absolute; left: 50%; top: 50%; width: calc(50vw / 19.2); height: calc(7.76vw / 19.2); background: #FFFFFF; border-radius: 4px; transform: translate(-50%, -50%); transition: 300ms; @media (min-width: 390px) and (max-width: 1080px) { width: 30px; height: 4.66px; } @media (max-width: 390px) { width: calc(30vw / 3.9); height: calc(4.66vw / 3.9); } &:before, &:after { content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; width: calc(50vw / 19.2); height: calc(7.76vw / 19.2); background: #FFFFFF; border-radius: 4px; transition: 300ms; @media (min-width: 390px) and (max-width: 1080px) { width: 30px; height: 4.66px; } @media (max-width: 390px) { width: calc(30vw / 3.9); height: calc(4.66vw / 3.9); } } &:before { transform: translateY(calc(-17.76vw / 19.2)); @media (min-width: 390px) and (max-width: 1080px) { transform: translateY(-10px); } @media (max-width: 390px) { transform: translateY(calc(-10vw / 3.9)); } } &:after { transform: translateY(calc(17.76vw / 19.2)); @media (min-width: 390px) and (max-width: 1080px) { transform: translateY(10px); } @media (max-width: 390px) { transform: translateY(calc(10vw / 3.9)); } } } &.active { z-index: 12; &>i { width: 0; height: 0; &:before{ transform: translateX(-50%) rotate(45deg); } &:after { transform: translateX(-50%) rotate(-45deg); } } } } .menu { position: fixed; left: calc(100% - 140vw / 19.2); right: 0; top: 0; bottom: calc(100% - 140vw / 19.2); min-height: 0; background-color: #B21B20; border-bottom-left-radius: 100%; transition: 200ms; transition-timing-function: cubic-bezier(1, 0.3, 0.3, 0.24); overflow: hidden; z-index: 9; &.active { left: 0; bottom: 0; min-height: 480px; border-bottom-left-radius: 0%; z-index: 11; } .lang { position: absolute; padding-left: 43px; left: calc(250vw / 19.2); top: calc(69vw / 19.2); background-image: url('./../images/common/lang.svg'); background-position: left center; background-size: 32px auto; background-repeat: no-repeat; @media (min-width: 390px) and (max-width: 1080px) { top: 40px; left: 40px; transform: translateY(-50%); } @media (max-width: 390px) { top: calc(40vw / 3.9); left: calc(40vw / 3.9); transform: translateY(-50%); } a { position: relative; color: rgba(255,255,255,.5); font-weight: 400; font-size: 24px; line-height: 34px; letter-spacing: 0.06em; text-decoration: none; &.active { color: rgba(255,255,255); } &+a { margin-left: 34px; &:before { content: '/'; position: absolute; left: -17px; color: #FFFFFF; transform: translateX(-50%); transform: translate(-50%, -50%); top: 50%; } } } } .content { position: relative; left: 50%; top: 50%; text-align: center; transform: translate(-50%, -50%); } ul { display: inline-flex; display: -webkit-inline-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; gap: calc(80vw / 19.2); padding: 0px; list-style-type: none; @media (min-width: 390px) and (max-width: 768px) { gap: 60px; } @media (max-width: 390px) { gap: calc(60vw / 3.9); } li { width: 100%; text-align: center; color: #FFFFFF; font-weight: 600; font-size: 36px; line-height: 50px; letter-spacing: 0.06em; white-space: nowrap; cursor: pointer; @media (max-width: 768px) { font-size: 28px; line-height: 39px; } } } .social { margin-top: 24px; text-align: right; display: inline-flex; display: -webkit-inline-flex; gap: 30px; text-align: right; &>a { width: 40px; height: 40px; } .fb { background-image: url('./../images/common/fb-white.svg'); } .ig { background-image: url('./../images/common/ig-white.svg'); } } } #banner { position: relative; height: calc(720vw / 19.2); background: url('./../images/homepage/banner-bg.jpg'); background-position: center center; background-size: cover; background-repeat: no-repeat; @media (max-width: 1080px) { margin-top: 60px; } .content { position: absolute; top: calc(236vw / 19.2); left: calc(370vw / 19.2); @media (max-width: 1440px) { /* top: 177px; */ } @media (max-width: 1080px) { top: calc(100vw / 10.8); } .title { margin: 0 0 calc(34vw / 19.2); padding: 0; color: #6A30B5; font-size: calc(66vw / 19.2); font-weight: 700; line-height: 1.5; letter-spacing: 0.1em; @media (max-width: 1440px) { font-size: 49.5px; } @media (max-width: 1080px) { font-size: 37.125px; } @media (max-width: 767px) { font-size: calc(37.125vw / 7.68); } } .desc { margin: 0; padding: 0; color: #6A30B5; font-size: calc(24vw / 19.2); font-weight: 400; line-height: 1.5; letter-spacing: 0.1em; @media (max-width: 1440px) { font-size: 18px; } @media (max-width: 1080px) { font-size: 13.5px; } @media (max-width: 575px) { font-size: calc(13.5 / 7.68); } } } } #banner-slide { position: relative; margin-bottom: calc(-130vw / 19.2); transform: translateY(-50%); .custom-swiper-button-prev, .custom-swiper-button-next { position: absolute; left: calc(268vw / 19.2); width: calc(64vw / 19.2); height: calc(64vw / 19.2); background-position: center; background-size: contain; background-repeat: no-repeat; cursor: pointer; } .custom-swiper-button-prev { bottom: calc(104vw / 19.2); background-image: url('./../images/homepage/btn-prev.svg'); } .custom-swiper-button-next { bottom: 0; background-image: url('./../images/homepage/btn-next.svg'); } } #gallery { position: relative; padding: 0 calc(370vw / 19.2); padding-top: calc(181vw / 19.2); } #about { position: relative; padding: calc(100vw / 19.2) 0 0; min-height: calc(582vw / 19.2); text-align: center; @media (max-width: 1080px) { } .content { text-align: left; text-align: center; } .sticker { position: absolute; background-position: center; background-repeat: no-repeat; border-radius: 50%; pointer-events: none; overflow: hidden; border-radius: 0; background-size: 100%; z-index: -1; &.sticker-0 { left: 0; top: 0; width: calc(450vw / 19.2); height: calc(540vw / 19.2); &.visible { background-image: url('./../images/homepage/sticker-bg-1.png'); } } &.sticker-1 { left: calc(170vw / 19.2); top: calc(366vw / 19.2); width: calc(360vw / 19.2); height: calc(360vw / 19.2); &.visible { background-image: url('./../images/homepage/sticker-bg-2.png'); } } &.sticker-2 { right: 0; top: calc(1065vw / 19.2); width: calc(350vw / 19.2); height: calc(400vw / 19.2); &.visible { background-image: url('./../images/homepage/sticker-bg-3.png'); } } &.sticker-3 { right: 0; top: calc(787vw / 19.2); width: calc(308vw / 19.2); height: calc(352vw / 19.2); &.visible { background-image: url('./../images/homepage/sticker-char-1.png'); } } } } #business { padding-top: calc(160vw / 19.2); text-align: center; } #venue { position: relative; text-align: center; margin-top: calc(86vw / 19.2); padding-top: calc(160vw / 19.2); .sticker { position: absolute; background-position: center; background-repeat: no-repeat; border-radius: 50%; pointer-events: none; overflow: hidden; border-radius: 0; background-size: 100%; z-index: -1; &.sticker-0 { left: 0; right: 0; top: calc(140vw / 19.2); height: calc(1176vw / 19.2); &.visible { background-image: url('./../images/homepage/venue-bg.png'); } } &.sticker-1 { left: calc(65vw / 19.2); top: calc(-15vw / 19.2); width: calc(220vw / 19.2); height: calc(476vw / 19.2); &.visible { background-image: url('./../images/homepage/sticker-char-2.png'); } } } } .col { padding: 0 15px; } .col-md-6 { width: 50%; @media (min-width: 1081px) { width: 50% !important; } } .col-xs-12 { width: 100%; @media (max-width: 1080px) { width: 100% !important; } } form { border: none; margin: auto; max-width: calc(1280 / 19.2); fieldset { border: none; padding: 0; } label { display: block; width: 100%; color: #333030; font-size: 14px; line-height: 1.4; letter-spacing: 0.04em; &.req { &:after { content: '*'; } } } input, textarea { display: block; padding: 4px 0; width: 100%; color: #333030; font-size: 16px; line-height: 1; background: transparent; border: none; border-bottom: 1px solid #333030; outline: none; } input { &[type=submit] { max-width: calc(240vw / 19.2); margin: 20px auto 20px; padding: 8px 20px; border-radius: 10px; float: left; @media (max-width: 767px) { max-width: 330px; } } } textarea { resize: none; } .input-group { display: flex; display: -webkit-flex; gap: calc(80vw / 19.2) calc(40vw / 19.2); @media (max-width: 768px) { gap: 44px; } @media (max-width: 767px) { flex-wrap: wrap; -webkit-flex-wrap: wrap; } .input { flex: 1; -webkit-flex: 1; @media (max-width: 767px) { flex: auto; -webkit-flex: auto; width: 100%; } } &+.input-group { margin-top: calc(40vw / 19.2); @media (max-width: 768px) { margin-top: 44px; } } } .input { display: inline-block; display: -webkit-inline-block; } } #contact { position: relative; padding: calc(260vw / 19.2) calc(610vw / 19.2) calc(60vw / 19.2) calc(250vw / 19.2); .content { .title { padding-left: calc(10vw / 19.2); text-align: left; } .info { margin-top: calc(70vw / 19.2); margin-bottom: calc(60vw / 19.2); div+div { margin-top: calc(24vw / 19.2); @media (max-width: 1440px) { margin-top: 24px; } } } .address, .email, .phone { display: block; padding-left: calc(33vw / 19.2); min-height: calc(23vw / 19.2); color: #383838; font-size: calc(16vw / 19.2); font-weight: 400; line-height: 1.5; text-decoration: none; background-position: left top; background-size: calc(23vw / 19.2) calc(23vw / 19.2); background-repeat: no-repeat; @media (max-width: 1440px) { padding-left: 33px; min-height: 23px; font-size: 16px; background-size: 23px 23px; } } .address { background-image: url('./../images/homepage/icon-address.svg'); } .email { background-image: url('./../images/homepage/icon-email.svg'); } .phone { background-image: url('./../images/homepage/icon-phone.svg'); } } iframe { width: calc(1060vw / 19.2); height: calc(480vw / 19.2); } .sticker { position: absolute; background-position: center; background-repeat: no-repeat; border-radius: 50%; pointer-events: none; overflow: hidden; border-radius: 0; background-size: 100%; z-index: -1; &.sticker-0 { left: calc(1430vw / 19.2); top: calc(319vw / 19.2); width: calc(360vw / 19.2); height: calc(360vw / 19.2); &.visible { background-image: url('./../images/homepage/sticker-bg-4.png'); } } &.sticker-1 { left: calc(1283vw / 19.2); top: calc(227vw / 19.2); width: calc(380vw / 19.2); height: calc(443.64vw / 19.2); &.visible { background-image: url('./../images/homepage/sticker-char-3.png'); } } } } .footer { position: relative; z-index: 10; .flex { display: flex; display: -webkit-flex; gap: calc(60vw / 19.2); align-items: center; &:last-child { padding: calc(36vw / 19.2) calc(30vw / 19.2); background: #6A30B5; @media (max-width: 768px) { padding: 14px 20px; } } } .copyright { flex: 1; -webkit-flex: 1; color: #FFFFFF; font-size: 13px; line-height: 1; text-align: center; @media (max-width: 768px) { text-align: center; } } }