@charset "UTF-8";

/* ============================== 
SITE MENU 
============================== */
#head_menu_btn {
  display: none;
}

@media only screen and (max-width:600px) {
  /* head_menu_btn */
  #head_menu_btn,
  #head_menu_btn::before,
  #head_menu_btn::after {
    border-style: solid;
    border-width: 2px;
  }
  #head_menu_btn {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 1em;
    width: 3em;
    height: 3em;
    text-align: center;
    overflow: hidden;
    z-index: 4800;
  }
  #head_menu_btn::before,
  #head_menu_btn::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    width: 60%;
    height: 25%;
    border-right: 0;
    border-left: 0;
    -webkit-transition: height 0.2s 0.2s, -webkit-transform 0.2s 0s;
    -o-transition: height 0.2s 0.2s, -o-transform 0.2s 0s;
    transition: height 0.2s 0.2s, transform 0.2s 0s;
  }
  #head_menu_btn::before {
    margin-bottom: -1px;
    bottom: 50%;
  }
  #head_menu_btn::after {
    margin-top: -1px;
    top: 50%;
  }
  #head_menu_switch:checked ~ #head_menu_btn {
    position: fixed;
  }
  #head_menu_switch:checked ~ #head_menu_btn::before,
  #head_menu_switch:checked ~ #head_menu_btn::after {
    height: 0;
    border-width: 1px 0;
    -webkit-transition: height 0.2s 0s, -webkit-transform 0.2s 0.2s;
    -o-transition: height 0.2s 0s, -o-transform 0.2s 0.2s;
    transition: height 0.2s 0s, transform 0.2s 0.2s;
  }
  #head_menu_switch:checked ~ #head_menu_btn::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #head_menu_switch:checked ~ #head_menu_btn::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  #head_menu_btn .btn_txt {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    font-size: 0.625em;
    font-weight: bold;
  }
  @media print, (min-width:601px) {
    #head_menu_btn {
      font-size: 1em;
    }
  }

  /* head_menu */
  #head_menu {
    color: inherit;
  }
  #head_menu {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: auto;
    height: 0;
    overflow-y: auto;
    opacity: 0;
    background-color: rgba( 255, 255, 255, 0.95 );
    z-index: 4000;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  #head_menu_switch:checked ~ #head_menu {
    height: 100%;
    height: 100vh;
    opacity: 1;
  }
  #head_menu .menu_inner {
    padding: 2em 5em 2em 1em;
  }
  #head_menu .menu_list > li {
    padding-bottom: 0.75em;
    margin-bottom: 0.75em;
    border-style: solid;
    border-width: 0 0 thin;
  }
  
}
