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

.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;
  opacity: 1;
  /* ハンバーガー */
  /* ヘッダー状態別の配色 */
  /* =========================
   メニュー本体
   ========================= */
}
.slicknav_menu:before {
  content: "";
  width: 200px;
  height: 40px;
  background: url(../images/common/header/logo.jpg) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 10px;
  left: 10px;
  opacity: 1;
  -moz-transition: all 0.3s !important;
  -o-transition: all 0.3s !important;
  -webkit-transition: all 0.3s !important;
  transition: all 0.3s !important;
}
.page.t2 .slicknav_menu:before, .fixed .slicknav_menu:before {
  opacity: 1;
}
.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: #333;
  transition: background-color .3s ease;
}
.slicknav_menu .slicknav_btn.active .slicknav_icon-bar {
  background-color: #333 !important;
}
.fixed .slicknav_menu {
  background-color: white;
  opacity: 1;
}
.fixed .slicknav_menu .slicknav_btn .slicknav_icon-bar {
  background-color: #333;
}
.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: #d5d1cc;
}
.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: #F3F1EF;
  color: #333;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  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: 4vw;
  color: #333;
  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: #333;
  background-color: #e0ddda;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  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%;
}
