@charset "utf-8";

/*----------------------
header
----------------------*/
header.fixed {
   position: fixed;
   top:0;
   transition: all .5s ease;
}
header.fixed #header_notice {
   display: none;
}
header.fixed * {
   transition: all .3s ease;
}
header.fixed #appGMenu_style {
   height: 60px;
}

header.fixed #logo {
   padding: 0;
}
header.fixed #logo > a {
   display: flex;
   align-items: center;
   height: 60px;
}
header.fixed #logo img.kaldiLogo_style {
   display: block;
}
header.fixed #logo img.kaldiLogo_style {
   width: 80px;
   height: auto;
   padding: 0;
}
header.fixed #logo img.online_style{
   padding: 0 0 0 12px;
   width: 105px;
   height: auto;
}

/*----------------------
gnav
----------------------*/

.g-nav-logo a{
   width: 95%;
   display: block;
   margin: 0 auto;
}
.g-nav-logo img {
   width: 100%;
}

#g-nav{
   position:fixed;
   z-index:999999;
   top:0;
   right: -120%;
   width:78%;
   height: 100vh;
   background:#fff;
   transition: all 0.6s;

   box-sizing: border-box;
}
#g-nav:after{
   content: "";
   display: block;
   background-image: url(../images/icedcoffee01/wave-menu-sp.svg);
   background-repeat: no-repeat;
   background-size: cover;
   position:absolute;
   left:-8vh;
   top: -2px;
   height: calc(100vh + 4px);
   width: calc(100vh * 0.08);
   z-index: -1;
}

.gnav-inner {
   overflow-y: scroll;
   height: 90vh;
   padding-right: 10%;
   padding-top: 52px;
}

.warp-overlay:after {
   content: "";
   display: block;
   background: rgb(23,158,167,0.4);
   position:fixed;
   left:0;
   top: 0;
   height: 100vh;
   width: 100vw;
   z-index:999998;
}

#g-nav.panelactive{
   right: 0;
}
#g-nav li a{
   color: #214871;
   text-decoration: none;
   padding:8px 0 8px 7px;
   display: block;
   text-transform: uppercase;
   letter-spacing: 0.1em;
   font-weight: bold;
   position: relative;
   font-size: 1.2em;
 }

#g-nav.panelactive #g-nav-list{
   overflow: auto;
   -webkit-overflow-scrolling: touch;
}

#g-nav-list, .g-nav-logo, .gnav-submenu {
   background-image: url(../images/icedcoffee01/line-menu.png);
   background-size: 100%;
   background-repeat: no-repeat;
   background-position: bottom 0 left 0;
   padding-bottom: 10px;
   margin-bottom: 10px;
}
#g-nav-list > ul > li {
   position: relative;
}
#g-nav-list ul li ul {
   padding:0 0 10px 30px;
}
#g-nav-list ul li ul li a:before{
   content: "";
   position: absolute;
   width: 7px;
   height: 7px;
   background-image: url(../images/icedcoffee01/circle.png);
   background-size:10px;
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
   left:-10px;
   top:0;
   bottom: 0;
   margin: auto;
}
#g-nav-list ul li ul li a{
   padding:7px 0 7px 5px;
   line-height: 1em;
   font-size: 1em;
   position: relative;
}
#g-nav .gnav-submenu a {
   font-size: 0.9em;
   font-weight: normal;
   padding: 5px 0 5px 28px;
   position: relative;
   display: block;
}
#g-nav .gnav-submenu li {
   position: relative;
}
#g-nav .gnav-submenu li a::before {
   content: "";
   display: block;
   position: absolute;
   background-repeat: no-repeat;
   background-size: 100%;
   top:0;
   bottom: 0;
   margin: auto;
   left:4px;
   width: 15px;
   height: 20px;
}
#g-nav .gnav-submenu li.gnav-submenu-home a::before {
   background-image: url(../images/icedcoffee01/icon-home.svg);
   width: 18px;
}
#g-nav .gnav-submenu li.gnav-submenu-shop a::before {
   background-image: url(../images/icedcoffee01/icon-map.svg);
}

.gnav-sns ul {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 5%;
}
#g-nav .gnav-sns ul li a{
   width: 30px;
   height: 30px;
   display: block;
   margin: 0;
   padding-left: 0;
}
.gnav-sns ul li img {
   width: 100%;
}

.icedcoffee2023 .gnav-lead {
   font-size: 0.9em;
   line-height: 1.7em;
   padding-top: 10px;
   margin-top: 0;
}


.menu-btn {
   position:fixed;
   z-index: 9999999;
   top:-18px;
   right: -17px;
   cursor: pointer;
   width: 90px;
   height:90px;
   background-image: url(../images/icedcoffee01/menu-btn.png);
   background-size: cover;
   background-repeat: no-repeat;
}

.menu-btn span{
   display: inline-block;
   transition: all .4s;
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   height: 3px;
   border-radius: 2px;
   background-color: #004097;
   width: 25px;
}

.menu-btn span:nth-of-type(1) {
  top:32px;
}

.menu-btn span:nth-of-type(2) {
  top:38px;
}

.menu-btn span:nth-of-type(3) {
  top:44px;
}
.menu-btn span:nth-of-type(4) {
   background-color: transparent;
   top:50px;
   font-weight: bold;
   font-size: 9px;
   text-align: center;
   height: auto;
   line-height: 1em;
   width: auto;
   color: #004097;
}

.menu-btn.active span:nth-of-type(1) {
   top: 32px;
   transform: translateY(6px) rotate(-45deg);
   width: 25px;
}

.menu-btn.active span:nth-of-type(2) {
  opacity: 0;
  height: 0!important;
  display: none!important;
}
.menu-btn.active span:focus-visible,.menu-btn span:focus{
   outline: 0px none!important;
}
.menu-btn.active span:nth-of-type(3){
   top: 44px;
   transform: translateY(-6px) rotate(45deg);
   width: 25px;
}

@media screen and (min-width: 749px) {

   .menu-btn {
      width: 130px;
      height:130px;
      top: -32px;
      right: -33px;
   }
   .menu-btn span {
      width: 30px;
      height: 4px;
   }
   .menu-btn span:nth-of-type(1) {
      top:49px;
   }
   .menu-btn span:nth-of-type(2) {
      top:58px;
   }
   .menu-btn span:nth-of-type(3) {
      top:67px;
   }
   .menu-btn span:nth-of-type(4) {
      top:77px;
      font-size: 12px;
   }
   .menu-btn.active span:nth-of-type(1){
      top:52px;
      width: 30px;

   }
   .menu-btn.active span:nth-of-type(3) {
      top:64px;
      width: 30px;


   }

   #g-nav {
      width: 550px;
   }
   .gnav-inner {
      height: 100vh;
      padding-right: 20%;
      padding-left: 5%;
   }

   .g-nav-logo a {
      width: 80%;
   }
   #g-nav .gnav-submenu {
      padding-bottom: 1px;

   }
   #g-nav .gnav-submenu ul{
      display: flex;
      width: 100%;
   }

   #g-nav .gnav-submenu li {
      width: auto;
      margin-left: 5px;
      margin-right: 15px;
   }
   #g-nav li a {
      transition: all .5s ease;
   }
   #g-nav li a:hover {
      color: #2b9fee;
      transition: all .5s ease;
   }
   #g-nav-list ul li ul {
      padding:0 0 10px 30px;
      margin-top: 0;
      margin-bottom: 0;
   }
   #g-nav .gnav-sns ul li a{
      width: 35px;
      transition: all .5s ease;
   }
   #g-nav .gnav-sns ul li a:hover img{
      opacity: .5;
      transition: all .5s ease;
   }
   .gnav-sns ul {
      margin-top: 30px;
      margin-bottom: 20px;
   }
}

