@charset "utf-8"; @import "foundation/_setting.scss"; //========================================================================== //top.scss //========================================================================== .l-main { background-color: #fff; } //----------------------------------------------------------------- //.top //----------------------------------------------------------------- .mv { width: 100%; &__slider { position: relative; width: 100%; overflow: hidden; &__item { background-color: #fff; @include smMin { width: 100%; height: 650px; overflow: hidden; @media screen and (max-width: 1460px) { height: 44.52054794520548vw; } } a { @include smMin { position: relative; display: block; width: 100%; height: 100%; margin: 0 auto; background-color: #fff; img { position: absolute; right: 50%; transform: translateX(50%); width: 1920px; display: block; @media screen and (max-width: 1460px) { width: 131.50684931506848vw; } } } @include hover { opacity: 0.7; } } } } &__pager { position: absolute; bottom: 30px !important; z-index: 10; width: 100%; text-align: center; @media screen and (max-width: 1460px) { bottom: 2.054794520547945vw !important; } @include smMax { bottom: sm_vw(30) !important; } .swiper-pagination-bullet { margin: 0 5px !important; width: 8px; height: 8px; opacity: 1; background-color: #fff; } .swiper-pagination-bullet-active { background-color: #014099; } .swiper-notification { display: none !important; } } &__btnPrev { position: absolute; bottom: 50%; left: 30px; transform: translateY(50%); width: 70px; height: 70px; border-radius: 35px; background-image: url("../images/ico_arrow01_w.svg"); background-color: rgba(34,34,34,0.5); background-size: 14px 24px; background-position: center center; background-repeat: no-repeat; z-index: 10; cursor: pointer; @include transition; @media screen and (max-width: 1460px) { left: 2.054794520547945vw; width: 4.794520547945205vw; height: 4.794520547945205vw; background-size: 0.9589041095890412vw 1.643835616438356vw; } @include smMax { left: sm_vw(-55); width: sm_vw(110); height: sm_vw(110); background-position: right sm_vw(26) center; background-size: sm_vw(15) sm_vw(26); } @include hover { opacity: 0.7; } } &__btnNext { position: absolute; bottom: 50%; right: 30px; transform: translateY(50%) rotate(180deg); width: 70px; height: 70px; border-radius: 35px; background-image: url("../images/ico_arrow01_w.svg"); background-color: rgba(34,34,34,0.5); background-size: 14px 24px; background-position: center center; background-repeat: no-repeat; z-index: 10; cursor: pointer; @include transition; @media screen and (max-width: 1460px) { right: 2.054794520547945vw; width: 4.794520547945205vw; height: 4.794520547945205vw; background-size: 0.9589041095890412vw 1.643835616438356vw; } @include smMax { right: sm_vw(-55); width: sm_vw(110); height: sm_vw(110); background-position: right sm_vw(26) center; background-size: sm_vw(15) sm_vw(26); } @include hover { opacity: 0.7; } } } .topNews { background-color: #f2f2f2; border-bottom: 1px solid #ddd; @include smMax { display: none; } &__inner { display: flex; justify-content: center; align-items: center; margin: 0 auto; width: 1080px; } &__list { display: flex; width: 100%; padding: 17px 0; dt { width: 80px; font-size: 16px; font-weight: 700; font-family: $font-en01; } dd { flex: 1; ul { li { display: flex; .ttl { display: flex; } .date { width: 95px; font-size: 16px; font-weight: 400; font-family: $font-en01; } .cat { display: flex; justify-content: center; align-items: center; width: 80px; height: 22px; font-size: 12px; font-weight: 400; color: #fff; border-radius: 11px; padding-bottom: 2px; &.media { background-color: $colorPurple; } &.info { background-color: $colorRed02; } &.event { background-color: $colorOrange; } &.family { background-color: $colorBlue; } &.business { background-color: $colorGray; } } .txt { display: block; flex: 1; margin-left: 20px; font-size: 15px; font-weight: 400; a { display: inline-block; @include hover { color: $colorBlue; } } } } } } } } .product { &__outer01 { padding-top: 80px; background-color: #f2f2f2; @include smMax { padding-top: sm_vw(90); } } &__outer02 { margin-bottom: 160px; @include smMax { margin-bottom: sm_vw(140); } } &__inner { margin: 0 auto; padding: 0 20px; max-width: 1120px; @include smMax { padding: 0 sm_vw(40); width: 100%; } } &__ttl01 { margin-bottom: 30px; @include smMax { margin-bottom: sm_vw(40); } } &__txt01 { margin: 40px 0 20px; font-size: 26px; font-weight: 500; text-align: center; @include smMax { margin: sm_vw(90) 0 sm_vw(30); font-size: sm_vw(40); } } &__tabs { ul { display: flex; li { flex: 1; font-size: 26px; font-weight: 700; height: 72px; overflow: hidden; @include smMax { height: sm_vw(110); font-size: sm_vw(34); } &:first-child { border-radius: 8px 0 0 0; @include smMax { border-radius: sm_vw(8) 0 0 0; } } &:last-child { border-radius: 0 8px 0 0; @include smMax { border-radius: 0 sm_vw(8) 0 0; } } a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; color: #aaa; background-color: #e0e0e0; &.current { color: #fff; background-color: #014099; } @include hover { color: #fff; background-color: #014099; } } } } } &__tabBoxOuter { position: relative; } &__tabBox { position: absolute; width: 100%; padding-top: 45px; top: 0; left: 0; opacity: 0; background-color: #fff; transition: opacity 0.5s; &:nth-child(1) { position: relative; display: block; z-index: 2; opacity: 1; } @include smMax { padding-top: sm_vw(60); } } &__list01 { display: flex; flex-wrap: wrap; li { width: 25%; padding: 0 7.5px 18px; font-size: 16px; font-weight: 400; text-align: center; @include smMax { width: 50%; font-size: sm_vw(30); margin-right: 0; padding-bottom: sm_vw(20); } a { display: block; .thumbs { display: block; padding: 10px 25px 0; @include transition; @include smMax { padding: 0; } } .ico { position: relative; display: inline-block; padding-left: 17px; @include smMax { padding-left: sm_vw(32); white-space: nowrap; } &::before { content: ""; position: absolute; bottom: 50%; left: 0; transform: translateY(50%) rotate(180deg); width: 7px; height: 12px; background: transparent url("../images/ico_arrow01.svg") 0 0 no-repeat; background-size: 100% 100%; @include smMax { width: sm_vw(12); height: sm_vw(20); } } } @include hover { color: $colorBlue; .thumbs { opacity: 0.7; } } } @include smMin { &:nth-child(4n) { margin-right: 0; } &:nth-child(n+5) { margin-top: 25px; } } @include smMax { &:nth-child(n+3) { margin-top: sm_vw(20); } } } } &__banner { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 15px 30px; @include smMax { display: block; } li { width: 525px; overflow: hidden; border-radius: 6px; height: 180px; @include smMax { width: 100%; height: auto; + li { margin-top: sm_vw(34); } } a { display: flex; height: 100%; background-color: #f7f7f7; .thumbs { position: relative; width: 200px; height: 100%; @include smMax { width: sm_vw(200); height: auto; } img { @include smMin { position: absolute; bottom: 50%; transform: translateY(50%); } } } .txtBox { position: relative; display: flex; justify-content: center; flex-direction: column; flex: 1; padding:0 20px 0 30px; @include smMax { padding:0 0 0 sm_vw(30); } &::before { content: ""; position: absolute; bottom: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 22px 22px; @include smMax { border-width: 0 0 sm_vw(30) sm_vw(30); } } &.is-blue { &::before { border-color: transparent transparent $colorBlue transparent; } } &.is-red { &::before { border-color: transparent transparent $colorRed transparent; } } &.is-gray { &::before { border-color: transparent transparent $colorGray transparent; } } .ttl { height: 65px; @include smMax { height: auto; margin-bottom: sm_vw(15); } } .txt { font-size: 14px; font-weight: 500; @include smMax { font-size: sm_vw(22); } } } @include hover { opacity: 0.7; } } } } &__bnr01 { .ttl { display: flex; .logo { padding-top: 8px; width: 165px; @include smMax { width: sm_vw(211); padding-top: 0; } } .txt { padding: 10px 0 0 10px; font-size: 16px !important; font-weight: 500; color: $colorBlue; @include smMax { padding: sm_vw(6) 0 0 sm_vw(10); font-size: sm_vw(20) !important; } } } } &__bnr02 { .ttl { display: flex; .logo { width: 105px; @include smMax { width: sm_vw(132); padding-top: 0; } } .txt { padding: 10px 0 0 10px; font-size: 16px !important; font-weight: 500; color: $colorRed; @include smMax { padding: sm_vw(20) 0 0 sm_vw(10); font-size: sm_vw(20) !important; } } } } &__bnr03 { .ttl { display: flex; .logo { padding-top: 8px; width: 165px; @include smMax { width: sm_vw(211); padding-top: 0; } } .txt { padding: 10px 0 0 10px; font-size: 16px !important; font-weight: 500; color: #6b6969; @include smMax { padding: sm_vw(6) 0 0 sm_vw(10); font-size: sm_vw(20) !important; } } } } } .tvSearch { margin-top: 0; margin-bottom: 40px; @include smMax { margin-bottom: sm_vw(130); } &__slider { position: absolute; width: 100%; overflow: hidden; &__item { width: 500px; @include smMax { width: sm_vw(500); } } .swiper-wrapper { transition-timing-function: linear !important; } } &__inner { position: relative; padding: 100px 20px 0; margin: 0 auto; width: 100%; max-width: 1120px; z-index: 10; display: block; @include smMax { width: 100%; padding: sm_vw(240) 0 0 0; } } &__box { display: flex; justify-content: center; flex-direction: column; float: right; padding: 0 55px; width: 410px; height: 320px; background-color: rgba(34,34,34,0.9); @include smMax { margin: 0 auto; width: sm_vw(590); height: sm_vw(400); float: none; padding: 0; text-align: center; } } &__ttl { position: relative; font-size: 27px; font-weight: 400; color: #fff; margin-bottom: 15px; padding-bottom: 13px; @include smMax { font-size: sm_vw(40); margin-bottom: sm_vw(20); padding-bottom: sm_vw(20); } &::before { content: ""; position: absolute; bottom: 0; left: 0; width: 24px; height: 1; border-bottom: 1px solid #fff; @include smMax { left: auto; right: 50%; transform: translateX(50%); } } .ico { position: relative; padding-right: 47px; @include smMax { padding-right: sm_vw(80); } &::before { content: ""; position: absolute; bottom: 50%; right: 0; transform: translateY(50%); width: 39px; height: 26px; background: transparent url("../images/ico_search02_w.png") 0 0 no-repeat; background-size: 100% auto; @include smMax { width: sm_vw(62); height: sm_vw(42); } } } } &__txt { font-size: 14px; font-weight: 400; line-height: 2; color: #fff; margin-bottom: 15px; @include smMax { font-size: sm_vw(25); margin-bottom: sm_vw(30); } } &__btn { width: 220px; @include smMax { margin: 0 auto; width: sm_vw(350); } .c-btn-01 { border: 1px solid #fff; } } } .support { margin-bottom: 90px; @include smMax { margin-bottom: sm_vw(130); } &__inner { margin: 0 auto; width: 100%; max-width: 1120px; padding: 0 20px; @include smMax { width: 100%; padding: 0; } } &__ttl01 { margin-bottom: 30px; @include smMax { margin-bottom: sm_vw(10); } } &__list { display: flex; @include smMax { flex-direction: column; padding: 0 sm_vw(40); } li { flex: 1; font-size: 16px; font-weight: 400; border-left: 1px solid #ccc; @include smMax { font-size: sm_vw(30); border-left: none; border-bottom: 1px solid #ccc; } &:last-child { border-right: 1px solid #ccc; @include smMax { border-right: none; border-bottom: none; } } a { display: block; text-align: center; padding: 25px 0 20px; @include smMax { display: flex; justify-content: center; align-items: center; padding: 0; height: sm_vw(172); } &::before { content: ""; display: block; margin: 0 auto 30px; width: 90px; height: 90px; border-radius: 45px; border: 1px solid #999; @include smMax { width: sm_vw(110); height: sm_vw(110); border-radius: sm_vw(55); margin: 0; } } .ico { position: relative; display: inline-block; padding: 0 32px 0 10px; @include smMax { display: block; flex: 1; text-align: left; padding: 0 0 0 sm_vw(30); } &::before { content: ""; position: absolute; right: 0; bottom: calc(50% + 2px); transform: translate(0,50%); width: 23px; height: 7px; background: transparent url("../images/ico_arrow02.png") 0 0 no-repeat; background-size: 100% auto; backface-visibility: hidden; @include transition; @include smMax { right: sm_vw(20); width: sm_vw(45); height: sm_vw(14); bottom: calc(50% + 0.267vw); } } } @include hover { color: $colorBlue; .ico { &::before { transform: translate(10px,50%); } } } } } &__catalogue { a { &::before { background: transparent url("../images/ico_catalogue.png") 50% 50% no-repeat; background-size: 37px auto; @include smMax { background-size: sm_vw(40) auto; } } } } &__instructions { a { &::before { background: transparent url("../images/ico_instructions.png") 50% 50% no-repeat; background-size: 35px auto; @include smMax { background-size: sm_vw(40) auto; } } } } &__shop { a { &::before { background: transparent url("../images/ico_dfx.png") 53% 55% no-repeat; background-size: 47px auto; @include smMax { background-size: sm_vw(48) auto; } } } } } } .pickup { position: relative; overflow: hidden; margin-bottom: 130px; @include smMax { margin-bottom: sm_vw(130); } &__inner { position: relative; margin: 0 auto; max-width: 1120px; padding: 0 20px; height: 700px; @media screen and (max-width: 1096px) { height: 63.868613138686136vw; } @include smMax { width: 100%; height: auto; text-align: center; padding: sm_vw(80) 0 sm_vw(90); } &.noSlide { @include smMin { height: 640px; } .pickup__btnPrev { display: none; } .pickup__btnNext { display: none; } .pickup__pagerWrap { display: none; } } &::before { content: ""; position: absolute; top: 0; right: calc(100% - 540px); width: 2000px; height: 100%; background-color: $colorGray02; @include smMax { width: 100%; right: auto; left: sm_vw(-120); top: 0; } } } &__box { position: relative; padding-top: 270px; @media screen and (max-width: 1096px) { padding-top: 24.635036496350367vw; } @include smMax { padding-top: 0; } } &__ttl01 { margin-bottom: 25px; @include smMax { margin-bottom: sm_vw(30); } } &__slider { position: absolute; top: 100px; left: 240px; overflow: hidden; @media screen and (max-width: 1096px) { width: calc(100% - 240px) !important; } @include smMax { position: relative; top: 0; left: 0; width: 100% !important; } &__item { width: 880px; padding-right: 40px; @media screen and (max-width: 1096px) { width: 100%; padding-right: 0; } @include smMax { width: 100%; padding: 0 sm_vw(40); } a { @include hover { opacity: 0.7; } } } } &__pagerWrap { position: relative; padding-left: 60px; font-size: 16px; font-weight: 400; font-family: $font-en02; color: #999; @include smMax { display: inline-block; width: auto; margin-top: sm_vw(40); padding: 0 sm_vw(80); } .swiper-pagination-current { color: $colorBlue; } .border-active { position: absolute; bottom: 50%; left: 0; transform: translateY(50%); width: 50px; height: 1px; background-color: $colorBorder; @include smMax { width: sm_vw(60); } .border-current { position: absolute; bottom: 50%; left: 0; transform: translateY(50%); width: 0; height: 1px; background-color: $colorBlue; } } } &__btnPrev { z-index: 20; @include smMin { position: absolute; left: 240px; bottom: 80px; width: 60px; height: 60px; border-radius: 30px; background-color: rgba(247,247,247,1); border: 1px solid #999; cursor: pointer; @include transition; &::before { content: ""; position: absolute; bottom: 50%; right: 50%; transform: translate(50%,50%); width: 10px; height: 16px; background: transparent url("../images/ico_arrow01_gr.svg") 50% 50% no-repeat; background-size: 100% auto; } @include hover { opacity: 0.5; } @media screen and (max-width: 1096px) { width: 5.474452554744526vw; height: 5.474452554744526vw; bottom: 7.2992700729927vw; } } @include smMax { position: absolute; bottom: calc(50% - 4vw); left: sm_vw(-55); transform: translateY(50%); width: sm_vw(110); height: sm_vw(110); border-radius: sm_vw(55); background-image: url("../images/ico_arrow01_w.svg"); background-color: rgba(34,34,34,0.5); background-size: 14px 24px; background-position: right sm_vw(26) center; background-size: sm_vw(15) sm_vw(26); background-repeat: no-repeat; z-index: 10; } } &__btnNext { z-index: 20; @include smMin { position: absolute; left: 320px; bottom: 80px; width: 60px; height: 60px; border-radius: 30px; background-color: rgba(247,247,247,1); border: 1px solid #999; cursor: pointer; @include transition; &::before { content: ""; position: absolute; bottom: 50%; right: 50%; transform: translate(50%,50%) rotate(180deg); width: 10px; height: 16px; background: transparent url("../images/ico_arrow01_gr.svg") 50% 50% no-repeat; background-size: 100% auto; } @include hover { opacity: 0.5; } @media screen and (max-width: 1096px) { left: calc(240px + 7.2992700729927vw); width: 5.474452554744526vw; height: 5.474452554744526vw; bottom: 7.2992700729927vw; } } @include smMax { position: absolute; bottom: calc(50% - 4vw); right: sm_vw(-55); transform: translateY(50%) rotate(180deg); width: sm_vw(110); height: sm_vw(110); border-radius: sm_vw(55); background-image: url("../images/ico_arrow01_w.svg"); background-color: rgba(34,34,34,0.5); background-size: sm_vw(15) sm_vw(26); background-position: right sm_vw(26) center; background-repeat: no-repeat; z-index: 10; } } } .pride { &__ttl01 { margin-bottom: 25px; @include smMax { margin-bottom: sm_vw(40); } } &__ttl02 { margin-bottom: 20px; @include smMax { margin-bottom: sm_vw(30); } } &__txt01 { font-size: 16px; font-weight: 400; line-height: 2.1; @include smMax { font-size: sm_vw(28); line-height: 1.78; } &.is-white { color: #fff; } } &__box01 { position: relative; } &__bg01 { background-color: #f5f5f5; } &__bg02 { background-color: #e8e7e3; } &__btn { margin-top: 20px; width: 240px; @include smMax { width: sm_vw(590); margin: sm_vw(30) auto 0; } .c-btn-01 { @include smMax { height: sm_vw(100); border-radius: sm_vw(100); } } } &__txtBox { position: absolute; bottom: 50%; right: 50%; transform: translate(50%,50%); width: 100%; max-width: 1120px; z-index: 2; padding: 0 20px; @include smMin { &.is-left { //padding-right: 680px; } &.is-right { //padding-left: 680px; } } @include smMax { position: absolute; width: 100%; bottom: auto; top: 0; right: 0; padding: sm_vw(90) sm_vw(40) sm_vw(40); transform: translate(0); } } &__imageBox { @include smMin { min-width: 1000px; @media screen and (max-width: 1000px) { height: 416px; .pride__image { position: absolute; right: 50%; transform: translateX(50%); width: 100%; min-width: 1000px; } } } } } .news { background-color: #f7f7f7; padding: 90px 0 60px; @include smMax { padding: sm_vw(110) 0 sm_vw(120); } &__inner { margin: 0 auto; width: 100%; max-width: 1120px; padding: 0 20px; @include smMax { width: 100%; padding: 0 sm_vw(40); } } &__ttl01 { margin-bottom: 25px; } &__tabs { position: relative; z-index: 2; ul { font-size: 0; text-align: center; @include smMax { display: flex; } li { display: inline-block; font-size: 18px; font-weight: 500; margin: 0 12px; @include smMax { display: block; margin: 0; font-size: sm_vw(30); text-align: center; &:nth-child(2) { flex: 1; } } a { position: relative; display: block; padding: 0 24px 18px; @include smMax { padding: 0 sm_vw(20) sm_vw(25); } &::before { content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; opacity: 0; @include transition; background-color: transparent; } &.current { color: $colorBlue; &::before { opacity: 1; background-color: $colorBlue; } } @include hover { color: $colorBlue; &::before { opacity: 1; background-color: $colorBlue; } } } } } } &__tabBoxOuter { position: relative; @include smMax { overflow: hidden; } } &__tabBox { position: absolute; width: 100%; top: 0; left: 0; opacity: 0; background-color: #f7f7f7; transition: opacity 0.5s; &:nth-child(1) { position: relative; display: block; z-index: 2; opacity: 1; } @include smMax { height: auto !important; } } &__list { border-top: 1px solid $colorBorder; li { display: flex; padding: 20px 0 20px 20px; border-bottom: 1px solid $colorBorder; @include smMax { padding: sm_vw(40) 0 sm_vw(30); display: block; } .ttl { display: flex; } .date { width: 95px; font-size: 16px; font-weight: 400; font-family: $font-en01; @include smMax { font-size: sm_vw(30); width: sm_vw(170); } } .cat { display: flex; justify-content: center; align-items: center; width: 80px; height: 22px; font-size: 12px; font-weight: 400; color: #fff; border-radius: 11px; padding-bottom: 2px; @include smMax { font-size: sm_vw(21); width: sm_vw(130); padding-bottom: 0; } &.media { background-color: $colorPurple; } &.info { background-color: $colorRed02; } &.event { background-color: $colorOrange; } &.family { background-color: $colorBlue; } &.business { background-color: $colorGray; } } .txt { display: block; flex: 1; margin-left: 20px; font-size: 15px; font-weight: 400; @include smMax { margin: sm_vw(10) 0 0; font-size: sm_vw(28); } a { display: block; .ico { padding-right: 70px; @include smMax { padding-right: sm_vw(90); } &.is-arrow { position: relative; display: block; &::before { content: ""; position: absolute; bottom: calc(50% + 2px); right: 10px; width: 33px; height: 10px; transform: translate(0,50%); background-size: 100% 100%; background-repeat: no-repeat; background-position: 0 0; backface-visibility: hidden; @include transition; @include smMax { width: sm_vw(45); height: sm_vw(14); right: 0; bottom: calc(50% + 0.267vw); } } } &.is-arrow { &::before { background-image: url("../images/ico_arrow02_gr.png"); @include smMax { background-image: url("../images/ico_arrow02.png"); } } } } @include hover { color: $colorBlue; .ico { &.is-arrow { &::before { transform: translate(10px,50%); } } } } } } } } &__btn { margin: 50px auto 0; width: 360px; @include smMax { margin: sm_vw(60) auto 0; width: 100%; } } } .others { padding: 60px 0 130px; @include smMax { padding: sm_vw(80) 0 sm_vw(200); } &__inner { margin: 0 auto; width: 100%; max-width: 1120px; padding: 0 20px; @include smMax { width: 100%; padding: 0 sm_vw(40); } } &__ttl01 { margin-bottom: 25px; @include smMax { margin-bottom: sm_vw(50); } } &__bnr01 { margin: 0 auto; width: 100%; max-width: 760px; @include smMax { width: 100%; padding: 0 sm_vw(40); } a { position: relative; display: block; @include hover { opacity: 0.7; } .ttl { position: absolute; bottom: 30px; left: 40px; color: #fff; display: flex; flex-direction: column; letter-spacing: 0.04em; line-height: 1.7; @include smMax { bottom: sm_vw(40); left: sm_vw(46); letter-spacing: 0; } .txt { font-size: 16px; font-weight: 500; @include smMax { font-size: sm_vw(22); } } .ico { padding-right: 26px; font-size: 24px; font-weight: 700; @include smMax { padding-right: sm_vw(30); font-size: sm_vw(32); } &.is-blank { background: transparent url("../images/ico_blank01_w.png") 100% 65% no-repeat; background-size: 16px auto; @include smMax { background-size: sm_vw(22) auto; } } } } } } } .is-animate { &.fadeRight { opacity: 0; transform: translateX(90px); transition: all 1s; } &.fadeLeft { opacity: 0; transform: translateX(-90px); transition: all 1s; } &.fadeBottom { opacity: 0; transform: translateY(90px); transition: all 1s; } &.is-animated { &.fadeRight { opacity: 1; transform: translateX(0); } &.fadeLeft { opacity: 1; transform: translateX(0); } &.fadeBottom { opacity: 1; transform: translateY(0); } } }