// 資料庫 @import './partials/variable'; @import './partials/mixin'; @import './partials/import'; @import './partials/normalize'; @import './partials/keyframes'; @import './partials/base'; // 手機版按鈕 .mobileBtn { display: none; @include transition(all, 0.3); background: none; border: none; // @include screen('tablet') { width: 50px; height: 50px; z-index: 80; cursor: pointer; display: block; grid-area: button; position: relative; margin: 0 0 0 auto; @include screen('tabletMin') { display: none; } &::before, &::after { position: absolute; content: ''; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 20px; height: 2px; background: #000; box-shadow: #000 0 7px 0 0, #000 0 -7px 0 0; @include transition(all, 0.3); } &::after { box-shadow: none; opacity: 0; } span { position: absolute; right: 100%; top: 50%; transform: translateY(-50%); @include screen('tablet') { display: none; } } &:hover { &::before, &::after { background: #000; box-shadow: #000 0 7px 0 0, #000 0 -7px 0 0; } } } .mobileOpen { .mobileBtn { &::before { transform: translate(-50%, -50%) rotate(45deg); } &::after { opacity: 1; transform: translate(-50%, -50%) rotate(-45deg); } &::before, &::after { background: #000; box-shadow: #000 0 7px 0 0, #000 0 -7px 0 0; box-shadow: none; } } .menuBox { transform: translateX(0); } } body { position: relative; &::before { content: ''; position: fixed; top: 0; left: 0; z-index: 20; width: 100vw; background-color: rgba(0, 0, 0, .4); backdrop-filter: blur(10px); min-height: calc(100vh); max-height: calc(100vh); opacity: 0; pointer-events: none; @include transition(all, 0.3); } &.menuOpen, &.mobileOpen { &::before { opacity: 1; pointer-events: unset; } } } // head .siteHeader { left: 0; top: 0; width: 100%; isolation: isolate; z-index: 99; position: fixed; padding: 22px 0 0; background: #fff; @include screen('tablet') { padding-top: 0; } .contentBox { margin: 0 auto; // display: flex; // align-items: center; // justify-content: flex-end; // flex-wrap: wrap; position: relative; @include transition(all, 0.3); display: grid; grid-template-areas: "corp brand button" "menu menu menu"; align-items: center; grid-template-columns: 10rem minmax(0, 1fr) 10rem; @include screen('tablet') { height: 80px; grid-template-areas: "corp brand button"; grid-template-columns: 5rem minmax(0, 1fr) 5rem; } } .logoC { width: 100px; grid-area: corp; line-height: 0; @include screen('tablet') { max-width: 100%; } } .logo { grid-area: brand; width: 152px; aspect-ratio: 152/34; line-height: 0; position: relative; isolation: isolate; margin: 0 auto; @include transition(all, 0.3); @include screen('tablet') { width: 130px; } } } // wrapper .wrapper { padding-top: 115px; display: flex; flex-direction: column; min-height: 100vh; @include screen('tablet') { padding-top: 80px; } } // 選單 .menuBox { width: 100%; grid-area: menu; @include transition(all, 0.3); margin-top: 20px; @include screen('tablet') { position: fixed; left: auto; right: 0; top: 80px; bottom: 0; transform: translateX(100%); margin-top: 0; width: 300px; height: calc(100vh - 80px); height: calc(100dvh - 80px); overflow-y: auto; scrollbar-color: $secColor rgba(0, 0, 0, 0.2); scrollbar-width: thin; background: #fff; box-shadow: -5px 10px 10px 0 rgba(0, 0, 0, 0.2); &::-webkit-scrollbar { width: 5px; height: 5px; } &::-webkit-scrollbar-thumb { border-radius: 100px; box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); background: $secColor; } &::-webkit-scrollbar-track { box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); border-radius: 0; background: rgba(0, 0, 0, 0.1); } } .mainMenu { & > ul { // 第一層 display: flex; justify-content: center; @include screen('tablet') { flex-direction: column; margin-bottom: 30px; } li { position: unset; // 共用 & > a { color: #11181c; position: relative; display: block; padding: 18px 25px; font-size: Rem(16); display: flex; @include screen('tabletMin') { // font-size: Rem(18); justify-content: center; } } .nextMenuBox { position: fixed; max-height: 0; opacity: 0; left: 0; width: 100%; background: #f7f7f7; padding: 40px 60px; pointer-events: none; @include screen('tablet') { max-height: none; display: none; position: relative; padding: 0 20px; opacity: 1; pointer-events: unset; } .productSlider { max-width: 80vw; margin: 0 auto; @include screen('tablet') { padding: 20px 0; } .swiper { margin-bottom: 20px; } .item { padding: 20px; border-radius: 20px; background: #fff; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 20px; box-shadow: 0 2px 10px 0 rgba(0, 0, 0, .04); @include screenMax('1330') { padding: 20px 35px; gap: 10px; border-radius: 8px; } &:hover { .pic { img { transform: scale(1.05); } } } } .pic { max-width: 140px; max-height: 140px; overflow: visible; img { aspect-ratio: 1; @include transition(all, .3); } } .title { height: 16px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; img { max-height: 100%; object-fit: contain; } } } .controlBox { display: flex; justify-content: flex-end; align-items: center; gap: 30px; margin-bottom: 30px; @include screen('tablet') { margin-bottom: 0px; } .scrollbar { position: relative; flex-grow: 1; height: 1px; .swiper-scrollbar { bottom: 0; background: #FFF; } } .swiper-scrollbar.swiper-scrollbar-horizontal { height: 1px; } .swiper-scrollbar-drag { background: #acacac; } .control { display: flex; gap: 10px; } .swiperArrow { background: #000; @include transition(all, 0.3); border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; cursor: pointer; @include screenMax('1330') { width: 37px; height: 37px; } &::before { content: ''; width: 10px; height: 10px; display: block; mask: url('../images/icon/icon_arrow_page.svg') center no-repeat; background: #fff; } &.swiperNext { transform: rotate(180deg); } &:hover { background: #5d5d5d; } } } .moreBox { max-width: 1150px; margin: 0 auto; @include screenMax('1330') { max-width: 1062px; } @include screen('tablet') { display: none; } a { display: flex; align-items: center; justify-content: flex-end; gap: 10px; font-size: 16px; color: #000; &:hover { .icon { background: #5d5d5d; } } } .icon { width: 40px; height: 40px; background: #000; border-width: 1px; border-style: solid; border-image: initial; border-radius: 50%; display: flex; align-items: center; justify-content: center; @include screenMax('1330') { width: 37px; height: 37px; } &::before { content: ''; width: 15px; height: 15px; mask: url('../images/icon/icon_arrow.svg') center no-repeat; background: #fff; } } } ul { max-width: 1650px; margin: 0 auto 40px; display: flex; flex-wrap: wrap; gap: 8px 24px; @include screen('tablet') { gap: 0; flex-direction: column } li { @include itemWidth(40, 3); border-bottom: 1px solid #9d9d8f; @include screen('tablet') { border-bottom: 1px solid #c6c6c6; @include itemWidth(0, 1); } p { margin: 0; } } a { align-items: center; justify-content: space-between; width: 100%; padding: 1.6rem 0; display: flex; gap: 20px; font-size: Rem(16); @include screen('tablet') { padding: 15px 0; } &:hover { &::after { transform: translateX(10px); } } &::after { content: ''; width: 16px; height: 16px; flex-shrink: 0; margin-right: 20px; mask: url('../images/icon/icon_arrow.svg') center no-repeat; background: #2680ff; @include transition(all, 0.3); } } } } &.active { @include screen('tabletMin') { .nextMenuBox { max-height: none; display: block; animation: menuUse 0.3s ease-in-out forwards; pointer-events: unset; } } } } .nextMenuBox { position: absolute; transform: translateY(5px); @keyframes menuUse { to { opacity: 1; transform: translateY(0px); } } } //第一層 & > li { @include screen('tablet') { border-top: rgba(78, 132, 196, .3) 1px solid; } &:last-child { display: none; @include screen('tablet') { display: block; border-bottom: rgba(78, 132, 196, .3) 1px solid; } } & > a { line-height: 1; @include screen('tabletMin') { &::before { content: ''; position: absolute; bottom: 0; display: block; width: 0; height: 2px; left: 50%; background-color: #2680ff; transition: all 0.4s ease-in-out; transform: translateX(-50%); } &:hover { &::before { width: 100%; } } } } &.nextLv > a { @include screen('tablet') { justify-content: space-between; &::before { content: ''; width: 30px; height: 30px; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); border-radius: 50%; border: 1px solid #000; } &::after { content: ''; width: 16px; height: 16px; flex-shrink: 0; mask: url('../images/icon/icon_arrow.svg') center no-repeat; background: #000; transform: rotate(90deg); @include transition(all, 0.3); } } } &.active { & > a::after { transform: rotate(-90deg); } } } } .mobileTopNav { display: none; @include screen('tablet') { display: flex; flex-wrap: wrap; justify-content: center; } .title { width: 100%; display: flex; justify-content: center; font-size: 1rem; font-weight: 500; letter-spacing: .032em; } } } } // sliderDown .topNav, .mobileTopNav, footer .linkBox .box { display: flex; align-items: center; justify-content: flex-end; grid-area: button; gap: 10px 24px; @include transition(all, 0.3); @include screen('tablet') { &:not(.mobileTopNav, .topNav) { display: none; } } .btn { position: relative; display: flex; align-items: center; justify-content: center; font-size: Rem(14); padding: 0px; width: 28px; height: 28px; @include transition(all, 0.3); @include screen('tablet') { display: none; } &:first-child { margin: 0 -8px 0 0; } &::before { content: ''; width: 16px; height: 16px; background: #000; } &.fb { &::before { mask: url('../images/icon/icon_facebook.svg') center no-repeat; } } &.ig { &::before { mask: url('../images/icon/icon_instagram.svg') center no-repeat; } } &.yt { &::before { width: 21px; height: 16px; mask: url('../images/icon/icon_youtube.svg') center no-repeat; } } &:hover { &::before { background: $mainColor; } } } span { @include screenMax('1500') { display: none; } } } // head搜尋 .menuSearch { height: 100%; display: flex; align-items: center; justify-content: center; margin-left: 20px; & > .btn { display: none; position: absolute; right: 60px; @include screen('tablet') { height: auto; display: flex; height: 100%; } &::before { top: 0; mask: url('../images/icon/icon_search.svg') center no-repeat; @include screen('tablet') { width: 20px; height: 20px; } } } .searchOuter { top: 0; right: -20px; bottom: 0; z-index: 9; display: flex; align-items: center; overflow: hidden; background: #000; gap: 10px; @include transition(all, 0.3); border-radius: 50px; @include screen('tabletMin') { padding: 0 10px; } @include screen('tablet') { background: $mainColor; border-radius: 0px; width: 0; position: absolute; top: 100%; bottom: auto; height: 50px; } .searchClose { position: relative; width: 30px; aspect-ratio: 1; margin: 0; display: none; cursor: pointer; @include screen('tablet') { display: block; } &::before, &::after { content: ''; width: 15px; height: 3px; top: 50%; left: 50%; display: block; position: absolute; background: #fff; transform: translate(-50%, -50%) rotate(45deg); } &::after { transform: translate(-50%, -50%) rotate(-45deg); } } .searchBox { flex-grow: 1; input { border: none; height: 30px; color: #fff; @include screen('tabletMin') { width: 130px; } &::placeholder { color: #FFF; } } } .searchBtn { position: relative; width: 40px; aspect-ratio: 1; padding: 0; margin: 0; display: flex; align-items: center; justify-content: center; &::before { content: ''; width: 20px; height: 20px; display: block; mask: url('../images/icon/icon_search.svg') center no-repeat; background: #fff; } } &.active { width: calc(100% + 40px); } } } .goTop { width: 40px; height: 40px; color: #fff; cursor: pointer; @include transition(all, 0.3); background: #000; display: flex; flex-direction: column; align-items: center; justify-content: center; position: fixed; bottom: 50px; right: 50px; border-radius: 50%; z-index: 9; &::before { content: ''; width: 12px; height: 12px; display: block; mask: url('../images/icon/icon_arrow_page.svg') center no-repeat; mask-size: contain; transform: rotate(90deg); background: #FFF; } &:hover { background: #5d5d5d; } } // footer .footerBox { background: url('../images/fbg.webp') top center no-repeat; background-size: 100% auto; position: relative; z-index: 9; isolation: isolate; min-height: 478px; display: flex; flex-direction: column; justify-content: flex-end; @include screen('mobile') { background: url('../images/fbg_.webp') top center no-repeat; } .footer { padding: 50px 0; .contentBox { display: grid; grid-template-areas: "link menu menu"; @include screen('mobile') { grid-template-areas: "menu" "link"; } } } .menu { grid-area: menu; @include screen('mobile') { margin-bottom: 30px; } ul { display: flex; flex-wrap: wrap; justify-content: center; li { padding: 0 20px; position: relative; @include screen('mobile') { width: 100%; border-top: rgba(78, 132, 196, 0.3) 1px solid; &:last-child { border-bottom: rgba(78, 132, 196, 0.3) 1px solid; } } } a { // font-size: Rem(16); &:hover { color: $thirdColor; } @include screen('mobile') { justify-content: space-between; align-items: center; color: #11181c; position: relative; display: block; padding: 22px 0px 20px; font-size: 14px; text-align: center; } } } } .linkBox { grid-area: link; display: flex; align-items: center; gap: 40px; @include screen('mobile') { flex-direction: column; gap: 20px; } .box { display: flex !important; @include screen('mobile') { margin-right: 8px; } } .title { width: fit-content; position: relative; isolation: isolate; line-height: 1; @include screen('mobile') { width: 100%; display: flex; justify-content: center; font-size: 20px; letter-spacing: .032em; } } } .copyright { width: 100%; padding: 40px 0 60px; font-size: 13px; text-align: center; color: #666666; text-align: center; margin: 0 auto; border-top: #3D3C3A 1px solid; @include screen('tablet') { padding: 30px 0; } span { display: none; } a { color: #666666; &:nth-last-of-type(1) { font-size: Rem(15); text-decoration: underline; } &:hover { color: $secColor; } } } } // insidePages -------------------------------------------------------------------------------------------------- .insidePages { .inBanner { position: relative; isolation: isolate; z-index: 2; .container { display: flex; justify-content: space-between; align-items: flex-end; } .title { font-size: var(--clamp48); font-weight: 700; letter-spacing: 2px; line-height: 1.2; position: relative; margin: 0; @include screen('tablet') { font-size: Rem(40); } @include screen('mobile') { font-size: Rem(42); margin-bottom: 5px; } @include screen('xs_mobile') { font-size: Rem(32); } span { font-size: var(--clamp28); font-weight: 500; display: block; } } } .pageTitleBox { margin-bottom: 50px; @include screen('tablet') { margin-bottom: 50px; } .title { font-weight: 300; font-size: var(--clamp48); position: relative; line-height: 1; text-align: center; & + .description { max-width: 1290px; margin-top: 80px; color: #999999; @include screen('tablet') { margin-top: 40px; } } } } .pageMenu { position: relative; z-index: 9; @include screen('mobile') { width: 100%; } button { width: 100%; padding: 10px 20px; font-size: Rem(18); font-weight: 700; color: #fff; display: block; background: #565656; display: none; line-height: 1.75; position: relative; cursor: pointer; display: none; @include screen('mobile') { display: flex; align-items: center; justify-content: space-between; } &::after { content: ''; position: absolute; right: 20px; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(135deg); display: block; } &.active { &::after { transform: rotate(-45deg); } } } nav { display: none; @include screen('mobileMin') { display: block !important; } ul { height: 100%; display: none; display: flex; flex-direction: row; justify-content: center; @include screen('mobile') { flex-direction: column; background: #858585; } li { position: relative; &::before { content: ''; position: absolute; left: 0; top: 10px; bottom: 10px; width: 1px; display: block; background: rgba(#fff, 0.5); @include screen('mobile') { display: none; } } &:last-child { &::after { content: ''; position: absolute; right: 0; top: 10px; bottom: 10px; width: 1px; display: block; background: rgba(#fff, 0.5); @include screen('mobile') { display: none; } } } } a { display: flex; align-items: center; justify-content: center; font-weight: 900; color: #858585; font-size: var(--clamp21); position: relative; padding: 0 40px; @include transition(all, 0.3); @include screen('mobile') { color: #fff; padding: 10px 20px; border-top: rgba(#fff, 0.3) 1px solid; } &.active, &:hover { color: $secColor; @include screen('mobile') { color: #fff; background: $secColor; } } } .active a { color: $secColor; &::before { width: 100%; } } } } } .mainBox { position: relative; padding-bottom: clamp(50px, 10vw, 100px); section { position: relative; z-index: 3; } .contentBox { max-width: $domWidth; margin: 0 auto; .container { max-width: none; } } } .contentTopNav { margin-bottom: 30px; ul { display: flex; gap: 15px; @include screen('mobile') { gap: 5px; } li { a, button { display: flex; align-items: center; justify-content: center; font-size: var(--clamp18); padding: 8px 20px; margin: 0; font-weight: 700; color: #666666; background: none; border-radius: 8px; border: #CCCCCC 1px solid; @include transition(all, 0.3); @include screen('mobile') { padding: 8px 10px; } &:hover { color: $mainColor; border-color: $mainColor; } } &.active { a, button { color: $mainColor; border-color: $mainColor; } } } } } .hasSide { position: relative; display: flex; align-items: flex-start; flex-direction: column; justify-content: space-between; gap: 30px; @include screen('tabletMin') { flex-direction: row; gap: 50px; } &.active { .sideBox { & > button { background: $secColor; &::after { transform: translateY(40%) rotate(225deg); } } ul { border-color: $secColor; } } } .sideBox { position: relative; z-index: 9; width: 100%; @include screen('tabletMin') { width: 180px; flex-shrink: 0; margin: 0; } & > button { color: #FFF; background: $mainColor; display: flex; align-items: center; justify-content: center; width: 100%; border: none; padding: 15px 40px; text-align: center; font-size: Rem(20); font-weight: 500; position: relative; border-radius: 10px; @include screen('tabletMin') { display: none; } &::after { content: ''; display: block; width: 10px; height: 10px; transform: translateY(-10%) rotate(45deg); margin: 0 0 0 20px; border: 2px solid #FFF; border-width: 0 2px 2px 0; @include transition(all, 0.3); } } .content { display: none; position: absolute; z-index: 9; background: #FFF; width: 100%; border-radius: 10px; border: 1px solid $mainColor; overflow: hidden; @include screen('tabletMin') { display: block !important; position: relative; background: none; border-radius: 10px; } } ul { li { a, button { width: 100%; text-align: left; display: block; padding: 10px 15px; font-size: var(--clamp18); font-weight: 500; color: #666666; position: relative; isolation: isolate; @include screen('tablet') { text-align: center; } @include screen('xs_mobile') { font-weight: 400; text-align: center; padding: 5px 20px; } &::before { content: ''; position: absolute; inset: 0; display: block; background: linear-gradient(to right, rgba($mainColor, 1) 0%, rgba($secColor, 1) 100%); opacity: 0; z-index: -1; @include transition(all, 0.3); } &:hover { color: #FFF; &::before { opacity: 1; } } } &.active { a, button { color: #FFF; &::before { opacity: 1; } } } } } } .contentBox { position: relative; @include screen('tabletMin') { width: calc(100% - 180px - 50px); margin: 0 0 0 auto; } } } } // breadcrumb .breadcrumbBox { z-index: 5; overflow: hidden; margin-bottom: 30px; .container { position: relative; } .breadcrumb { max-width: 1230px; margin: 0 auto; font-size: 14px; z-index: 3; display: flex; align-items: center; flex-wrap: wrap; font-weight: 400; color: #878788; line-height: 1; opacity: 0.8; padding: 20px 0; @include screen('tablet') { font-size: 14px; } @include screen('mobile') { padding: 10px 10px 10px 0; } li { position: relative; display: flex; align-items: center; &:first-child { a { color: #878788; // &::before { // content: ''; // display: block; // width: 14px; // height: 14px; // mask: url('../images/icon/icon_home.svg') center no-repeat; // background: #FFF; // display: none; // } } &:hover { color: $secColor; } } a { color: #878788; display: inline; @include transition(all, 0.3); &:hover { color: $secColor; } } &::after { content: '>'; margin: 0px 10px; font-weight: bold; display: block; position: relative; font-weight: bolder; font-weight: normal; color: #878788; } &:last-child { color: #878788; &::after { display: none; } } } } } // pagination .pageBox { padding-top: 50px; margin-top: 50px; @include screen('tablet') { padding-top: 30px; margin-top: 30px; } .pagination { display: flex; justify-content: center; align-items: center; gap: 5px; @include screen('tablet') { gap: 5px; } li { line-height: 1.5; text-align: center; a { display: block; width: 36px; height: 36px; font-weight: 500; line-height: 1; font-size: Rem(18); color: #444444; border: 1px solid transparent; @include transition(all, 0.3); display: flex; justify-content: center; align-items: center; @include screen('tablet') { width: 30px; height: 30px; font-size: Rem(16); } &:hover { color: #fff; background: $thirdColor; } } &.active { a { color: #fff; background: $thirdColor; } } &.controls { &:first-child { margin: 0 10px 0 0; @include screen('tablet') { margin: 0 10px 0 0; } } &:last-child { margin: 0 0 0 10px; @include screen('tablet') { margin: 0 0 0 10px; } } a { width: auto; display: flex; align-items: center; justify-content: center; position: relative; font-size: Rem(15); font-weight: 500; border-radius: 100%; border: none; @include transition(all, 0.3); width: 38px; aspect-ratio: 1; border-radius: 50%; &::before { content: ''; width: 15px; height: 15px; display: block; mask: url('../images/icon/icon_arrow_page.svg') center no-repeat; background: #444444; @include transition(all, 0.3); } &.next { &::before { transform: scaleX(-1); } } &:hover { background: none; &::before { background: $thirdColor; } } } } } } } // formBox .formBox { // @include screen('mobile') { // padding: 20px; // } ul { display: flex; flex-wrap: wrap; justify-content: space-between; // margin: 0 auto; gap: 30px; & + ul { padding-top: 40px; border-top: 1px solid $mainColor; // gap: 35px; } li { display: flex; text-align: left; } } .textareaItem, .inputItem { width: calc(50% - 25px); position: relative; align-items: center; border-bottom: 1px solid #A6A6A6; border-width: 0 0 1px 0; gap: 15px; @include screen('tablet') { width: 100%; flex-direction: column; align-items: flex-start; } &.flexStart { align-items: flex-start; } & > label, .label { width: 158px; color: #000000; line-height: 1; flex-shrink: 0; font-weight: 700; // border-right: 1px solid #ddd; display: flex; align-items: flex-start; // padding: 0 0 0 20px; font-size: var(--clamp18); } .select { flex-grow: 1; width: 100%; height: 100%; height: 44px; &::before { width: 8px; height: 8px; top: 50%; right: 20px; transform: translateY(-50%) rotate(45deg); border: 2px solid #000; border-width: 0 2px 2px 0; } select.selectControl { padding: 10px 35px 10px 10px; height: 100%; &::-ms-expand { display: none; } } } select.selectControl, input.inputControl, textarea.textareaControl { font-size: Rem(16); line-height: 1; flex-grow: 1; // margin-left: 15px; padding: 12px 15px; color: #000; border-radius: 0; background: transparent; // border: #DDDDDD 1px solid; border: none; background: none; // border-width: 0 0 1px; &::placeholder { color: $thirdColor; } &:focus { // border: $thirdColor 1px solid; box-shadow: 0 0 10px 0 $mainColor; } } &.full { width: 100%; } &.required { & > label, & > .label { &::after { content: '※'; color: $secColor; display: block; margin: 0 0 0 2px; // position: absolute; // left: 0; } } } } .textareaItem { align-items: flex-start; } .flex { display: flex; @include screen('xs_mobile') { flex-direction: column; } } .itemBox { ul { margin: 0; gap: 25px; } &.checkBox { label { padding-left: 22px; &::before { width: 15px; height: 15px; background: url('../images/icon/checkbox.png') bottom no-repeat; } } &.full { ul { gap: 15px; } li { width: 100%; } } &.half { ul { gap: 10px; } li { width: calc((100% - 10px)/2); &.other { width: 100%; display: flex; align-items: center; gap: 10px; .label { width: fit-content; } } } } } &.radio { label { &::before { background: url('../images/icon/radio.png') bottom no-repeat; } } } label { font-size: var(--clamp18); display: block; padding-left: 24px; position: relative; line-height: 1.2; &::before { content: ''; position: absolute; width: 18px; height: 18px; display: block; left: 0px; top: 2px; z-index: 9; } } input { &[type='checkbox'] { position: absolute; margin-right: 5px; opacity: 0; &:checked + label::before { background: url('../images/icon/checkbox.png') top no-repeat; } } &[type='radio'] { position: absolute; margin-right: 5px; opacity: 0; &:checked + label::before { background: url('../images/icon/radio.png') top no-repeat; } } } } a { color: #666666; font-size: 13px; text-decoration: underline; &:nth-child(2) { margin: 0 auto 0 10px; } &:hover { color: $secColor; } } .checkImg { position: absolute; bottom: 12px; // transform: translateY(-50%); right: 50px; line-height: 0; // margin-top: 10px; } .reBtn { width: 15px; height: 15px; // margin-top: 10px; bottom: 16px; // transform: translateY(-50%); right: 15px; z-index: 2; position: absolute; cursor: pointer; background: none; &::before { content: ''; width: 15px; height: 15px; top: 0; left: 0; mask: url('../images/icon/icon_re.svg') no-repeat; background: #000; position: absolute; @include transition(all, 0.3); } &:hover { &::before { transform: rotate(180deg); background: #e50012; } } } } // pageBtnBox .pageBtnBox { max-width: 1150px; margin: 40px auto 0; padding-top: 20px; display: flex; align-items: center; justify-content: flex-end; border-top: #ededed 1px solid; @include screenMax('1330') { max-width: 1062px; } @include screen('notebook') { margin: 40px 0 0; } @include screen('tablet') { margin: 30px 0 0; } .send, .back { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 16px; color: #000; &:hover { .icon { background: #5d5d5d; } } .icon { width: 40px; height: 40px; background: #000; border-width: 1px; border-style: solid; border-image: initial; border-radius: 50%; display: flex; align-items: center; justify-content: center; &::before { content: ''; width: 15px; height: 15px; mask: url('../images/icon/icon_arrow.svg') center no-repeat; background: #fff; } } } .send { &::before { order: 5; transform: rotate(0deg); } } } .productNav { margin-bottom: 120px; position: sticky; top: 0; z-index: 9; .contentBox { display: flex; gap: 0 20px; align-items: center; justify-content: space-between; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; background: #FFF; @include screen('mobile') { flex-wrap: wrap; } .title { height: 23px; flex-shrink: 0; @include screen('tablet') { height: 18px; } img { height: 100%; } } .btnBox { display: flex; @include screen('mobile') { order: 5; width: 100%; border-top: 1px solid #ddd; } a { white-space: nowrap; display: flex; align-items: center; justify-content: center; position: relative; padding: 22px 25px; @include screen('tablet') { padding: 10px 10px; } &::before { content: ''; position: absolute; bottom: 0; display: block; width: 0; height: 2px; left: 50%; background-color: #2680ff; transition: all 0.4s ease-in-out; transform: translateX(-50%); } &:hover { &::before { width: 100%; } } } } a.button { max-width: 240px; width: 100%; border-radius: 50px; display: flex; align-items: center; justify-content: center; padding: 12px 20px 10px; white-space: nowrap; background: #000; color: #fff; gap: 12px; @include transition(all, 0.3); @include screen('tablet') { max-width: 140px; padding: 6px 20px 5px; margin: 10px 0; } &::after { content: '+'; } &:hover { background: #5d5d5d; } } } }