/* LESS Document */ /* ハンバーガーメニュー */ /********/ .sp_header { position: fixed; z-index: 5; top: 0px; left: 0px; width: 100%; height: 60px; background: #fff; } .sp_head_logo { position: fixed; z-index: 101; top: 15px; left: 20px; max-width: 280px; } /********/ .outer-menu { position: fixed; top: 0vh; right: 60px; z-index: 100; } .outer-menu .checkbox-toggle { position: absolute; top: 0; left: 0; z-index: 2; cursor: pointer; width: 60px; height: 60px; opacity: 0; } .outer-menu .checkbox-toggle:checked + .hamburger > div { transform: rotate(135deg); } .outer-menu .checkbox-toggle:checked + .hamburger > div:before, .outer-menu .checkbox-toggle:checked + .hamburger > div:after { top: 0; transform: rotate(90deg); } .outer-menu .checkbox-toggle:checked + .hamburger > div:after { opacity: 0; } .outer-menu .checkbox-toggle:checked ~ .menu { pointer-events: auto; visibility: visible; background:#fff url("../images/shared/bg_nav.jpg") no-repeat center top/100% auto; height: 100vh; } .outer-menu .checkbox-toggle:checked ~ .menu > div { /*transform: scale(1);*/ opacity: 1; transform: translate(0%, 0%); transition-duration: 0.4s; } .outer-menu .checkbox-toggle:checked ~ .menu > div > div { opacity: 1; transition: opacity 0.4s ease 0.4s; } .outer-menu .checkbox-toggle:hover + .hamburger { /*box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);*/ } .outer-menu .checkbox-toggle:checked:hover + .hamburger > div { transform: rotate(225deg); } .outer-menu .hamburger { position: absolute; top: 0px; left: 0px; z-index: 1; width: 60px; height: 60px; padding: 0.5em 1em; background: #4C8F26; cursor: pointer; transition: box-shadow 0.4s ease; -webkit-backface-visibility: hidden; backface-visibility: hidden; display: flex; align-items: center; justify-content: center; } .outer-menu .hamburger > div { position: relative; flex: none; width: 100%; height: 3px; background: #fff; transition: all 0.4s ease; display: flex; align-items: center; justify-content: center; } .outer-menu .hamburger > div:before, .outer-menu .hamburger > div:after { content: ''; position: absolute; z-index: 1; top: -12px; left: 0; width: 100%; height: 3px; background: inherit; transition: all 0.4s ease; } .outer-menu .hamburger > div:after { top: 12px; } .outer-menu .menu { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; visibility: hidden; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; outline: 1px solid transparent; /* flexbox */ display: flex; justify-content: center; align-items: flex-start; } .outer-menu .menu > div { width: 80vw; height: auto; background: rgba(255, 255, 255, 0);/*メニュー背景*/ transition: all 0.2s ease; flex: none; /*transform: scale(0);*/ transform: translate(0%, 0%); opacity: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; overflow: hidden; margin: 200px; /* flexbox */ display: flex; justify-content: center; align-items: flex-start; } .outer-menu .menu > div > div { max-width: 100vw; max-height: 100vh; opacity: 0; transition: opacity 0.4s ease; overflow-y: auto; flex: none; /* flexbox */ display: flex; justify-content: center; align-items: flex-start; margin: 0px auto; } .outer-menu .menu > div > div > ul { list-style: none; padding: 0 45px; margin: 0; display: block; max-height: 100vh; } .outer-menu .menu div ul .ttl{ font-size: 1.8rem; font-weight: bold; color:#4C9F38; border-bottom: solid 1px #4C9F38; padding: 0 0 10px; margin: 0 0 10px; } .outer-menu .menu > div > div > ul > li { padding: 0; margin: 1.0em 0em; font-size: 1.6rem; display: block; } .outer-menu .menu > div > div > ul > li.no_link { opacity: .5; } .outer-menu .menu > div > div > ul > li > a { position: relative; display: inline; cursor: pointer; transition: color 0.4s ease; display: block; } .outer-menu .menu > div > div > ul > li > a:hover { text-decoration: none; } .outer-menu .menu > div > div > ul > li > a:hover:after { width: 100%; } .outer-menu .menu > div > div > ul > li > a:after { content: ''; position: absolute; z-index: 1; bottom: -0.15em; left: 0; width: 0; height: 2px; background: #4C9F38; transition: width 0.4s ease; } @media only screen and (max-width: 800px) { .sp_head_logo { max-width: 240px; top: 10px; left: 15px; } .sp_header { height: 50px; } .outer-menu { right: 50px; } .outer-menu .checkbox-toggle { width: 50px; height: 50px; } .outer-menu .hamburger { width: 50px; height: 50px; } /****/ .outer-menu .hamburger > div { height: 2px; } .outer-menu .hamburger > div:before, .outer-menu .hamburger > div:after { top: -10px; height: 2px; } .outer-menu .hamburger > div:after { top: 10px; } /****/ .outer-menu .menu { display: block; padding: 50px 0 0; height: 200vh; } .outer-menu .menu > div { margin: 0px 0 0; width: 100vw; height: 100vh; } .outer-menu .menu > div > div { /*width: 100%; padding: 0 10%; height: 100vh; display: block; margin: 0px 0 0;*/ width: 100%; padding: 0 10%; height: 100vh; display: flex; margin: -50px 0 0; flex-wrap: wrap; align-items: center; align-content: center; flex-direction: row; } .outer-menu .menu div ul .ttl{ font-size: 1.4rem; padding: 0 0 5px; margin: 0 0 5px; } .outer-menu .menu > div > div > ul { padding: 7px 0px; width: 100%; } .outer-menu .menu > div > div > ul > li { margin: .3em 0em; font-size: 1.3rem; } .outer-menu .menu > div > div > ul > li > a { display: block; } }