@charset "UTF-8";
/*---------------------------------------------------------- */
/* color */
/*---------------------------------------------------------- */
/*---------------------------------------------------------- */
/* width */
/*---------------------------------------------------------- */
/*---------------------------------------------------------- */
/* breakpoints */
/*---------------------------------------------------------- */
/*---------------------------------------------------------- */
/* font */
/*---------------------------------------------------------- */
/*---------------------------------------------------------- */
/* other */
/*---------------------------------------------------------- */
@media screen and (max-width: 768px) {
 /* =========================================================
SlickNav（スマホメニュー） 完全版 SCSS
・親項目は .slicknav_row にのみ余白/背景
・<a> 側は padding:0 で二重余白防止
・矢印は絶対配置で右固定（テキストが改行してもズレない）
========================================================= */
  .dummy_link {
    position: fixed;
    top: 17px;
    left: 17px;
    z-index: 10000020;
    width: 70%;
    height: 32px;
    overflow: hidden;
  }
  .dummy_link img {
    width: 100%;
    height: auto;
  }

  .slicknav_menu {
    *zoom: 1;
    width: 100%;
    z-index: 10000010;
    font-size: 4vw;
    box-sizing: border-box;
    padding: 5px;
    background-color: white;
    -moz-transition: all 0.3s !important;
    -o-transition: all 0.3s !important;
    -webkit-transition: all 0.3s !important;
    transition: all 0.3s !important;
    position: fixed;
    top: 0;
    left: 0;
    /* ハンバーガー */
    /* ヘッダー状態別の配色 */
   /* =========================
メニュー本体
========================= */
  }
  .slicknav_menu:before {
    content: "";
    width: 80%;
    height: 40px;
    background: url(../images/common/header/logo_smp.jpg) no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 10px;
    left: 12px;
    -moz-transition: all 0.3s !important;
    -o-transition: all 0.3s !important;
    -webkit-transition: all 0.3s !important;
    transition: all 0.3s !important;
  }
  .slicknav_menu a {
    text-decoration: none !important;
  }
  .slicknav_menu.menu_var_scroll {
    height: 100% !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background-color: #fff;
  }
  .slicknav_menu .slicknav_no-text {
    margin: 0;
  }
  .slicknav_menu .slicknav_btn {
    position: relative;
    display: block;
    float: right;
    padding: 5px 0 10px;
    line-height: 1.125em;
    cursor: pointer;
    margin: 13px 10px 10px;
  }
  .slicknav_menu .slicknav_btn .slicknav_icon-bar {
    margin-top: .188em;
    display: block;
    width: 1.125em;
    height: .125em;
    background-color: #7aa05b;
    transition: background-color .3s ease;
  }
  .slicknav_menu .slicknav_btn.active .slicknav_icon-bar {
    background-color: #333 !important;
  }
  .t2 .slicknav_menu, .fixed .slicknav_menu {
    background-color: white;
    border-bottom: 1px #e6e6e6 solid;
    opacity: 1;
  }
  .slicknav_menu .slicknav_nav {
    clear: both;
    color: #fff;
    margin: 0;
    padding: 0;
    font-size: 4vw;
    list-style: none;
    overflow: hidden;
    /* 第一階層 UL */
    /* ▼通常項目（サブなし）— <a> 自体が行本体 */
    /* 開閉矢印：右固定＆縦中央 */
    /* サブメニュー（デザイン） */
    /* テキストノード（必要なら） */
    /* 他CSSの干渉対策（念のため） */
  }
  .slicknav_menu .slicknav_nav ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 20px 20px 20px;
    position: relative;
    /* 第二階層以降は初期非表示（JSで開閉） */
  }
  .slicknav_menu .slicknav_nav ul ul {
    display: none;
    background-color: #565656;
  }
  .slicknav_menu .slicknav_nav ul ul li a.parent {
    padding: 0px 10px !important;
  }
  .slicknav_menu .slicknav_nav ul ul ul {
    background-color: #F0F0F0;
    padding: 0px;
  }
  .slicknav_menu .slicknav_nav ul ul ul li a {
    background-color: #617f49 !important;
  }
  .slicknav_menu .slicknav_nav ul li {
    display: block;
    border-bottom: 1px #fff solid;
    position: relative;
  }
  .slicknav_menu .slicknav_nav ul li:last-child {
    border-bottom: none;
  }
  .slicknav_menu .slicknav_nav ul > li > a {
    display: block;
    width: 100%;
    padding: 15px 20px;
    /* ← 高さの基準 */
    background-color: #F0F0F0;
    color: #454545;
    text-decoration: none;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 600;
    font-style: normal;
  }
  .slicknav_menu .slicknav_nav .slicknav_arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    float: none;
    /* デフォルトのfloat解除 */
    margin: 0;
    opacity: .3;
    font-size: 3vw;
    color: #454545;
    pointer-events: none;
    /* 行クリックで代理発火するため */
  }
  .slicknav_menu .slicknav_nav .sub_menu {
    padding: 0;
  }
  .slicknav_menu .slicknav_nav .sub_menu li {
    border-bottom: 1px #fff solid;
  }
  .slicknav_menu .slicknav_nav .sub_menu li a {
    display: block;
    width: 100%;
    padding: 15px 20px 15px 30px;
    /* 親より少しインデント */
    color: #fff;
    background-color: #7aa05b;
    text-decoration: none;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 600;
    font-style: normal;
  }
  .slicknav_menu .slicknav_nav .sub_menu li a.parent {
    padding: 0px;
  }
  .slicknav_menu .slicknav_nav .slicknav_txtnode {
    margin-left: 15px;
  }
  .slicknav_menu .slicknav_nav .slicknav_item > a {
    display: block;
    width: 100%;
  }
}
