@charset "utf-8"; //========================================================================== //_header.scss //========================================================================== body.is-locked { position: fixed; } //----------------------------------------------------------------- //.l-header //----------------------------------------------------------------- .l-header { position: fixed; top: 0; width: 100%; z-index: 100; height: 88px; background-color: #fff; @include lgMin { @include transition; } @include lgMax { min-width: 100%; background-color: #222; height: 60px; @include smMax { height: sm_vw(120); } &.is-open { height: 100%; overflow-y: scroll; } } &__inner { position: relative; height: 88px; border-bottom: 1px solid $colorBorder; @include lgMin { @include transition; } @include lgMax { background-color: #fff; border-bottom: none; height: 60px; @include smMax { height: sm_vw(120); } &::before { content: ""; position: absolute; bottom: 0; width: 100%; height: 1px; border-bottom: 1px solid $colorBorder; } } } &__logo { position: absolute; top: 0; left: 0; width: 213px; height: 100%; font-size: 0; z-index: 2; @include smMin { @include transition; } @include lgMax { width: 152px; @include smMax { width: sm_vw(304); } } a { display: flex; justify-content: center; align-items: center; padding: 0 30px; width: 100%; height: 100%; @include lgMax { padding: 0 15px; @include smMax { padding: 0 sm_vw(30); } } } } &__logo-Anniversary { width: 140px; position: absolute; top: 0; left: 210px; height: 100%; display: flex; @include smMin { @include transition; } @include lgMax { width: 120px; left: 155px; @include smMax { left: sm_vw(300); width: sm_vw(170); } } } &__btn { position: absolute; top: 0; right: 0; width: 96px; height: 100%; font-size: 14px; font-weight: 500; text-align: center; z-index: 2; @include smMin { @include transition; } @include lgMax { width: 65px; right: 60px; font-size: 10px; @include smMax { width: sm_vw(130); right: sm_vw(120); font-size: sm_vw(21); } } a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; color: #fff; background-color: $colorBlue; @include hover { opacity: 0.7; } } } &__btnMenu { display: none; @include lgMax { position: absolute; top: 0; right: 0; font-size: 0; width: 60px; height: 100%; display: block; @include smMax { width: sm_vw(120); } } a { @include hover { opacity: 0.7; } @include lgMax { position: relative; display: block; width: 100%; height: 100%; background-color: #222; &::before { content: ""; position: absolute; bottom: 50%; right: 50%; width: 20px; height: 2px; transform: translate(50%,50%); background-color: #fff; @include transition; @include smMax { width: sm-vw(40); } } } span { @include lgMax { position: relative; display: block; width: 100%; height: 100%; color: #222; &::before { content: ""; position: absolute; bottom: calc(50% + 7px); right: 50%; transform: translate(50%,50%); width: 20px; height: 2px; background-color: #fff; @include transition; @include smMax { width: sm-vw(40); } } &::after { content: ""; position: absolute; bottom: calc(50% - 7px); right: 50%; transform: translate(50%,50%); width: 20px; height: 2px; background-color: #fff; @include transition; @include smMax { width: sm-vw(40); } } } } &.is-open { &::before { opacity: 0; } span { @include lgMax { &::before { bottom: 50%; transform: translate(50%,50%) rotate(45deg); } &::after { bottom: 50%; transform: translate(50%,50%) rotate(-45deg); } } } } } } &__menuSP { @include lgMax { background-color: #222; padding: 25px 30px 67px; display: none; @include smMax { padding: sm_vw(50) sm_vw(80) sm_vw(135); background-color: #222; } } } &.fixed { @include smMin { height: 60px; .l-header__inner { height: 60px; } @include lgMin { height: 52px; .l-header__inner { height: 52px; } .l-header__logo { z-index: 3; } .l-header__btn { z-index: 3; line-height: 1.2; } .l-gnav { z-index: 2; } .l-gnav__menu { height: 38px; } .l-gnav .hoverMenuBox { top: 38px; } .l-otherMenu { opacity: 0; z-index: 1; } } } } } #dropOverlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 60; display: none; background-color: rgba(0,0,0,0.7); @include lgMax { display: none !important; } } .l-gnav { @include lgMin { position: absolute; width: 100%; bottom: 0; } &__menu { @include lgMin { display: flex; float: right; padding-right: 75px; height: 40px; >li { margin-right: 50px; font-size: 17px; font-weight: 400; height: 100%; @include transition; &:last-child { margin-right: 0; } > a { position: relative; display: block; padding-bottom: 12px; height: 100%; &::before { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background-color: $colorBlue; opacity: 0; @include transition; } > .ico { &.is-down { position: relative; padding-right: 20px; &::before { content: ""; position: absolute; bottom: 50%; right: 0; width: 7px; height: 12px; transform: translateY(50%) rotate(-90deg); background: transparent url("../images/ico_arrow01.svg") 0 0 no-repeat; } } } } @include hover { > a { color: $colorBlue; &::before { opacity: 1; } } } } } @include lgMax { > li { font-size: 16px; @include smMax { font-size: sm_vw(32); } + li { margin-top: 10px; @include smMax { margin-top: sm_vw(20); } } > a { color: #fff; display: block; width: 100%; padding: 10px 0; @include smMax { padding: sm_vw(20) 0; } .ico { position: relative; padding-right: 20px; @include smMax { padding-right: sm_vw(40); } &::before { content: ""; position: absolute; right: 0; background: transparent url("../images/ico_arrow02-s_w_sp.png") 0 0 no-repeat; background-size: 100% auto; transform: translateY(50%); bottom: calc(50% + 1px); width: 12px; height: 9px; @include smMin { @include lgMax { bottom: calc(50% - 3px); } } @include smMax { bottom: calc(50% + 0.267vw); width: sm_vw(25); height: sm_vw(9); } } &.is-down { &::before { content: ""; position: absolute; bottom: 50%; right: 0; transform: translateY(50%); height: 1px; background: #fff; width: 12px; @include smMax { width: sm_vw(25); } } &::after { content: ""; position: absolute; bottom: 50%; right: 0; transform: translateY(50%) rotate(90deg); height: 1px; background: #fff; @include transition; width: 12px; @include smMax { width: sm_vw(25); } } } } &.active { .ico { &.is-down { &::after { opacity: 0; } } } } } } } } .hoverMenuBox { position: absolute; width: 100%; top: 40px; left: 0; //overflow-y: auto; max-height: 100% !important; display: none; @include lgMax { display: none !important; } &__outer { padding: 40px 0 60px; background-color: #fff; } &__inner01 { display: flex; margin: 0 auto; width: 1220px; } &__inner02 { margin: 30px auto 0; width: 1220px; } &__subMenuPC01 { position: relative; flex: 1; &:nth-child(1) { padding-right: 30px; &::before { content: ""; position: absolute; top: 0; right: 0; width: 1px; height: 100%; border-right: 1px solid $colorBorder; } } &:nth-child(2) { padding-left: 30px; } dt { margin-bottom: 10px; font-size: 24px; font-weight: 500; text-align: center; } &__list { display: flex; flex-wrap: wrap; li { width: 140px; padding-bottom: 10px; font-size: 14px; font-weight: 400; text-align: center; white-space: nowrap; a { position: relative; display: block; text-align: center; .thumbs { display: block; padding: 10px 15px 5px; @include transition; } .ico { position: relative; display: inline-block; padding-left: 14px; &::before { content: ""; position: absolute; top: 0.00em; 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 hover { color: $colorBlue; .thumbs { opacity: 0.7; } } } &:nth-child(3n) { margin-right: 0; } &:nth-child(n+5) { margin-top: 25px; } } } } &__banner { padding: 0 30px; dt { margin-bottom: 10px; font-size: 18px; font-weight: 500; } ul { display: flex; justify-content: center; align-items: center; } li { flex: 1; overflow: hidden; border-radius: 6px; margin-right: 30px; &:last-child { margin-right: 0; } a { display: flex; background-color: #f7f7f7; .thumbs { position: relative; width: 130px; height: 120px; display: block; img { position: absolute; left: 0; bottom: 50%; transform: translateY(50%); display: block; } } .txtBox { position: relative; display: flex; justify-content: center; flex-direction: column; flex: 1; padding:0 20px 0 30px; &::before { content: ""; position: absolute; bottom: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 22px 22px; } &.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; } } } @include hover { opacity: 0.7; } } &.bnr01 { a { .txtBox { .ttl { flex: 1; display: flex; justify-content: center; flex-direction: column; width: 100%; .logo { width: 156px; line-height: 1; } .txt { padding: 8px 0 0 0; font-size: 16px !important; font-weight: 500; color: $colorBlue; line-height: 1; } } } } } &.bnr02 { a { .txtBox { .ttl { flex: 1; display: flex; justify-content: center; flex-direction: column; width: 100%; .logo { width: 99px; line-height: 1; } .txt { padding: 8px 0 0 0; font-size: 16px !important; font-weight: 500; color: $colorRed; line-height: 1; } } } } } &.bnr03 { a { .txtBox { .ttl { flex: 1; display: flex; justify-content: center; flex-direction: column; width: 100%; .logo { padding-top: 8px; width: 156px; line-height: 1; } .txt { padding: 8px 0 0 0; font-size: 16px !important; font-weight: 500; color: #6b6969; line-height: 1; } } } } } } } &__subMenuPC02 { margin: 0 auto; width: 1080px; display: flex; > li { padding-bottom: 30px; dt { margin-bottom: 25px; font-size: 24px; font-weight: 500; } dd { ul { display: flex; li { width: 360px; height: 80px; font-size: 18px; font-weight: 500; margin-left: 30px; &:nth-child(1) { margin-left: 0; } a { position: relative; display: flex; align-items: center; width: 100%; height: 100%; border: 1px solid #999; border-radius: 4px; overflow: hidden; &::before { content: ""; position: absolute; right: 0; bottom: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 14px 14px; border-color: transparent transparent $colorBlue transparent; } @include hover { border-color: $colorBlue; } .ico { position: relative; width: 100%; display: block; &::before { content: ""; position: absolute; bottom: 50%; transform: translateY(50%); } &.ico01 { padding-left: 122px; &::before { left: 30px; width: 41px; height: 35px; background: transparent url("../images/ico_catalogue.png") 0 0 no-repeat; background-size: 100% auto; } } &.ico02 { padding-left: 95px; &::before { left: 30px; width: 41px; height: 43px; background: transparent url("../images/ico_instructions.png") 0 0 no-repeat; background-size: 100% auto; } } &.ico03 { padding-left: 100px; &::before { left: 30px; width: 47px; height: 40px; bottom: calc(50% - 3px); background: transparent url("../images/ico_dfx.png") 0 0 no-repeat; background-size: 100% auto; } } } } } } } } } } .clickMenuBox { @include lgMin { display: none !important; } @include lgMax { display: none; &__subMenuSP { margin-top: 5px; @include smMax { margin-top: sm_vw(10); } > li { font-size: 14px; @include smMax { font-size: sm_vw(28); } + li { margin-top: 0; } > a { color: #ccc; display: block; padding: 9px 0; @include smMax { padding: sm_vw(18) 0; } .ico { position: relative; padding-left: 20px; @include smMax { padding-left: sm_vw(40); } &::before { content: ""; position: absolute; bottom: 50%; transform: translateY(50%); height: 1px; background: #fff; left: 2px; width: 10px; @include smMax { left: sm_vw(4); width: sm_vw(20); } } } } } } } } } .l-otherMenu { @include lgMin { position: absolute; top: 15px; right: 120px; @include transition; &__list { margin: 3px 10px 0 0; float: right; display: flex; li { padding: 0 20px; height: 26px; font-size: 13px; height: 18px; border-right: 1px solid $colorBorder; a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; color: #777; .txt { position: relative; padding-left: 20px; .ico { position: absolute; left: 0; bottom: calc(50% - 1px); line-height: 0; transform: translateY(50%); &::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background-color: transparent; background-position: 0 0; background-repeat: no-repeat; background-size: 100% auto; @include transition; } img { vertical-align: middle; @include transition; } &.is-shop { width: 14px; &::before { background-image: url("../images/ico_shop01.png"); } } &.is-mail { width: 15px; &::before { background-image: url("../images/ico_mail01.png"); } } } } @include hover { color: $colorBlue; .txt { .ico { &::before { opacity: 1; } img { opacity: 0; } } } } } } } .l-search { float: right; display: flex; height: 26px; &__btn { width: 34px; height: 26px; font-size: 0; a { position: relative; display: block; width: 100%; height: 100%; border-radius: 0 13px 13px 0; .ico { display: block; position: absolute; bottom: 50%; right: 50%; transform: translate(50%,50%); width: 14px; height: 13px; img { @include transition; } &::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; opacity: 0; background: transparent url("../images/ico_search01.png") 0 0 no-repeat; background-size: 100% auto; @include transition; } } &.active { background-color: $colorBlue; .ico { display: block; position: absolute; bottom: 50%; right: 50%; transform: translate(50%,50%); width: 14px; height: 13px; img { opacity: 0 !important; } &::before { opacity: 1 !important; background: transparent url("../images/ico_search01_w.png") 0 0 no-repeat; background-size: 100% auto; } } } @include hover { .ico { &::before { opacity: 1; } img { opacity: 0; } } } } } &__box { display: block; width: 0; height: 26px; font-size: 12px; border-radius: 13px 0 0 13px; background-color: $colorGray02; overflow: hidden; @include transition; &.active { width: 135px; } > div { height: 100% !important; padding: 0 0 0 10px !important; } } .gsc-control-cse { padding: 0; border: none; width: 100%; height: 100% !important; background-color: transparent !important; } .gsc-control-wrapper-cse { height: 100% !important; } .gsc-search-box-tools { margin: 0 !important; height: 100% !important; } .gsc-search-box { position: relative; margin: 0 !important; height: 100% !important; } .gsc-input-box { border: none; padding: 0 !important; height: 100% !important; background-color: transparent !important; } .gsc-input { width: 100% !important; height: 100% !important; padding: 0 !important; } input.gsc-input { padding: 0 !important; line-height: 1 !important; display: block !important; width: 100% !important; height: 100% !important; font-size: 12px !important; outline: none !important; border: none !important; background-color: transparent !important; } .gsib_a { padding: 0; height: 100% !important; } .gsib_b { display: none; } .gsc-search-button { width: 1%; button.gsc-search-button { position: absolute; top: 0; left: 100px; width: 25px; height: 100%; padding: 0; border: none; background: none; svg { display: none; } &::before { content: ""; display: block; position: absolute; bottom: 50%; right: 50%; transform: translate(50%,50%); width: 14px; height: 13px; background: transparent url("../images/ico_search01_gr.png") 0 0 no-repeat; background-size: 100% auto; display: none; } } } } } @include lgMax { display: flex !important; flex-direction: column-reverse; &__list { margin-top: 17px; @include smMax { margin-top: sm_vw(34); } li { a { color: #ccc; display: block; padding: 8px 0; @include smMax { padding: sm_vw(17) 0; } .txt { position: relative; padding-left: 20px; @include smMax { padding-left: sm_vw(40); } } .ico { position: absolute; bottom: 50%; left: 0; transform: translateY(50%); background-repeat: no-repeat; background-position: 0 0; background-size: 100% auto; img { display: none; } &.is-shop { width: 13px; height: 14px; background-image: url("../images/ico_shop01_gr.png"); @include smMax { width: sm_vw(26); height: sm_vw(28); } } &.is-catalogue { width: 13px; height: 11px; background-image: url("../images/ico_catalogue01_gr.png"); @include smMax { width: sm_vw(26); height: sm_vw(22); } } &.is-mail { width: 13px; height: 10px; background-image: url("../images/ico_mail01_gr.png"); @include smMax { width: sm_vw(26); height: sm_vw(20); } } } } } } .l-search { display: flex; height: 45px; margin-top: 26px; @include smMax { height: sm_vw(90); margin-top: sm_vw(53); } &__btn { display: none; } &__box { display: block; width: 100%; height: 45px; font-size: 12px; border-radius: 4px; background-color: $colorGray02; overflow: hidden; @include smMax { height: sm_vw(90); font-size: sm_vw(24); border-radius: sm_vw(8); } > div { height: 100% !important; padding: 0 0 0 10px !important; } } .gsc-control-cse { padding: 0; border: none; width: 100%; height: 100% !important; font-size: 12px; background-color: transparent !important; @include smMax { font-size: sm_vw(24); } } .gsc-control-wrapper-cse { height: 100% !important; font-size: 12px; @include smMax { font-size: sm_vw(24); } } .gsc-search-box-tools { margin: 0 !important; height: 100% !important; font-size: 12px; @include smMax { font-size: sm_vw(24); } } .gsc-search-box { margin: 0 !important; height: 100% !important; font-size: 12px; @include smMax { font-size: sm_vw(24); } } .gsc-input-box { border: none; padding: 0 !important; height: 100% !important; background-color: transparent !important; font-size: 12px; @include smMax { font-size: sm_vw(24); } } .gsc-input { width: auto !important; height: 100% !important; padding: 0 !important; font-size: 12px; @include smMax { font-size: sm_vw(24); } } table.gsc-input { width: 100% !important; } input.gsc-input { padding: 0 !important; line-height: 1 !important; display: block !important; width: 100% !important; height: 100% !important; font-size: 12px !important; outline: none !important; border: none !important; background-color: transparent !important; font-size: 12px !important; @include smMax { font-size: sm_vw(24) !important; } } .gsib_a { padding: 0; width: auto !important; height: 100% !important; font-size: 12px; @include smMax { font-size: sm_vw(24); } } .gsib_b { line-height: 1; padding: 0; width: 60px; @include smMax { width: sm_vw(60); } .gsst_a { line-height: 1; padding: 0; .gscb_a { line-height: 1; } } } .gsc-search-button { width: 52px !important; height: 100%; @include smMax { width: sm_vw(105) !important; } button { display: block !important; width: 100% !important; height: 100% !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background-image: url("../images/ico_search01_w.png") !important; background-repeat: no-repeat !important; background-position: 50% 50% !important; background-size: 15px auto !important; background-color: $colorBlue !important; @include smMax { background-size: sm_vw(30) auto !important; } svg { display: none !important; } } } } } } @media print{ .is-print { .l-header { display: none; } } }