// ブレイクポイントを指定 $tab: 960px; $sp: 767px; @mixin tab { @media screen and (max-width: ($tab)) { @content; } } @mixin sp { @media screen and (max-width: ($sp)) { @content; } } .l-header { position: fixed; width: 100vw; top: 0; left: 50%; transform: translateX(-50%); max-width: 1600px; padding: 9px 24px 0; display: flex; justify-content: space-between; align-items: center; gap: 100px; z-index: 100; @media screen and (max-width: 1199px) { gap: 20px; padding: 9px 12px 0; } .l-header_bar { display: flex; align-items: center; justify-content: space-between; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.16); max-width: 1200px; width: 100%; border-radius: 50px; height: 67px; padding: 0 17px 0 26px; background: #fff; @include tab { position: relative; justify-content: center; } img { width: 180px; } @include sp { height: 51px; img { width: 130px; } } .l-header_function { @include tab { display: none; } .l-header_nav_items { display: flex; gap: 8px; .l-header_nav_item { border-radius: 50px; border: 2px solid #ECECEC; a { font-size: 16px; font-weight: bold; position: relative; border-radius: 50px; padding: 12px 27px 12px 47px; transition: 0.3s; display: block; @media screen and (max-width: 1199px) { padding: 12px 22px 12px 40px; } @media screen and (max-width: 1050px) { font-size: 14px; } &:hover { color: #1717FD; &:before { background: #1717FD; } } &:before { position: absolute; content: ""; width: 14px; height: 14px; border-radius: 50px; background: #969696; left: 27px; top: 50%; transform: translateY(-50%); transition: 0.3s; @media screen and (max-width: 1199px) { left: 20px; } } } } } } } .l-header_toggleDrawer { display: none; @include tab { display: block; height: 100%; width: 30px; right: 25px; position: absolute; cursor: pointer; .l-header_toggleDrawer_btn { span { display: block; position: absolute; top: 0px; bottom: 0; right: 0; left: 0; width: 30px; height: 1.7px; margin: auto; background-color: #4D4D4D; border-radius: 50px; -webkit-transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, -webkit-transform 0.15s ease; transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, -webkit-transform 0.15s ease; transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, transform 0.15s ease; transition: background-color 0.25s ease, top 0.15s 0.15s ease, bottom 0.15s 0.15s ease, transform 0.15s ease, -webkit-transform 0.15s ease; cursor: pointer; &:first-child { top: -15px } &:last-child { top: 15px; } @include sp { width: 20px; } } } &.open { .l-header_toggleDrawer_btn{ span { &:first-child { top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); } &:nth-child(2) { -webkit-transform: rotate(45deg); transform: rotate(45deg); opacity: 0; } &:last-child { top: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } } } } } } .contact_link { background: #fff; flex-shrink: 0; font-size: 16px; font-weight: bold; position: relative; border-radius: 50px; padding: 0 27px 0 50px; height: 67px; transition: 0.3s; display: flex; align-items: center; box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16); @media screen and (max-width: 1199px) { padding: 0 20px 0 40px; } @media screen and (max-width: 1050px) { font-size: 14px; } @include tab { display: none; } &:hover { color: #fff; background: #FF0000; &:before { background: #fff; } } &:before { position: absolute; content: ""; width: 14px; height: 14px; border-radius: 50px; background: #FF0000; left: 24px; top: 50%; transform: translateY(-50%); transition: 0.3s; @media screen and (max-width: 1199px) { left: 17px; } } } .l-spmenu { opacity: 0; top: 0; z-index: -1; position: fixed; width: 80vw; right: 0; height: 100vh; pointer-events: none; transition: 0.3s; &.open { opacity: 1; z-index: 1000; pointer-events: auto; } .l-spmenu_overlay { top: 0; width: 100%; left: -20vw; height: 100%; background: hsla(0, 0%, 0%, 0.314); position: absolute; cursor: pointer; } .l-spmenuNav_item { background: #fff; z-index: 1; position: absolute; width: 100%; height: 100%; padding: 20px 30px; .l-spmenuNav_item_head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px; img { @include sp { width: 130px; } } } .l-spmenuNav_list { .l-spmenuNav_listGroup_item_head { a { font-size: 16px; font-weight: bold; letter-spacing: 0.04em; margin-bottom: 10px; display: block; width: fit-content; padding-left: 17px; position: relative; &:before { position: absolute; content: ""; width: 10px; height: 10px; border-radius: 50px; background: #FF0000; left: 0; top: 50%; transform: translateY(-50%); } } } } } } }