@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=LINE+Seed+JP:wght@100;400;700;800&display=swap');
/* ===================================
   ハンバーガーメニュー (2026)
   header.html 専用
   =================================== */
/* ===== gNav scope reset ===== */
.gNav, .gNav * {
  box-sizing: border-box;
}
.gNav ul, .gNav li {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* ===== メニュー本体 ===== */
.gNav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 9999;
  transition: right 0.3s ease;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 400;
}
body.is-open .gNav {
  right: 0;
}
/* 背景固定 */
body.is-open {
  overflow: hidden;
}
/* メニュー内ヘッダー */
.gNav__header {
  padding: 0 25px 20px;
  height: 100px;
  border-bottom: 1px solid #005bac;
  display: flex;
  align-items: center;
  background-color: #fff;
}
.gNav__title .en {
  color: #e60012;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  font-size: 32px;
  margin-right: 15px;
  line-height: 1;
}
.gNav__title .jp {
  color: #005bac;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
}
/* ===== メニューボタン（外側の丸） ===== */
.menuBtn {
  position: fixed;
  top: 30px;
  right: 50px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #666;
  z-index: 10000;
  border: 0;
  cursor: pointer;
  padding: 0;
}
@media (max-width: 768px){
.menuBtn {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #666;
  z-index: 10000;
  border: 0;
  cursor: pointer;
  padding: 0;
}
}
/* 3本線 */
.menuIcon {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 4px;
  background: #fff;
  border-radius: 999px;
  transform: translate(-50%, -50%);
}
.menuIcon::before, .menuIcon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 44px;
  height: 4px;
  background: #fff;
  border-radius: 999px;
}
.menuIcon::before {
  top: -12px;
}
.menuIcon::after {
  top: 12px;
}
body.is-open .menuIcon {
  background: transparent;
}
body.is-open .menuIcon::before {
  top: 0;
  transform: rotate(45deg);
}
body.is-open .menuIcon::after {
  top: 0;
  transform: rotate(-45deg);
}
/* ===== 親行 ===== */
.gNav__inner {
  width: 100%;
}
.gNav__item {
  width: 100% !important;
}
.gNav__row {
  position: relative;
  display: flex;
  width: 100% !important;
}
.gNav__link {
  display: flex;
  align-items: center;
  width: 100% !important;
  padding: 18px 25px;
  padding-right: 80px;
  text-decoration: none;
  font-weight: 400;
  font-size: 18px;
}
/* 親（赤） */
.gNav__link.is-red {
  background: #e60012;
  color: #fff;
  border-bottom: 1px solid #fff;
}
.gNav__link.is-red::before {
  content: "●";
  margin-right: 12px;
  font-size: 12px;
}
/* 親（青） */
.gNav__link.is-blue {
  background: #175da5;
  color: #fff;
  border-bottom: 1px solid #fff;
}
.gNav__link.is-blue::before {
  content: "●";
  margin-right: 12px;
  font-size: 12px;
}
/* hover 下線を消す（basic.css対策） */
.gNav__link:hover, .gNav__child a:hover {
  text-decoration: none;
}
/* ===== トグルボタン（右の矢印） ===== */
.gNav__toggleBtn {
  position: absolute;
  right: 0;
  top: 0;
  width: 80px;
  height: 100%;
  background: transparent;
  border: 0;
  cursor: pointer;
  z-index: 2;
  appearance: none;
  -webkit-appearance: none;
  padding: 0;
  color: #fff;
}
.gNav__toggleBtn::before {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.gNav__toggleBtn[aria-expanded="true"]::before {
  transform: translateY(-50%) rotate(-135deg);
}
/* ===== 子メニュー（hidden方式） ===== */
.gNav__child[hidden] {
  display: none !important;
}
.gNav__child {
  width: 100% !important;
  background: #fff;
}
.gNav__child a {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  padding: 16px 25px 16px 50px;
  box-sizing: border-box;
  font-size: 17px;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #005bac;
}
.gNav__child a:hover {
  background: #f5f5f5;
}
/* PDFアイコン */
.ic_pdf:after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url('../../../common/2026/img/icon_pdf_01.webp');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 15px auto;
  margin: 0 5px;
}