/* ========== PC新規ドロップダウンメニュー（ニュース）========== */
.news .navChildInner {
width: 550px;
margin-left: -225px;
}

/*　表示　*/
.pc_gnavi .naviParents>li.news>a:hover::before
{
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translate(-50%, 100%);
width: calc(100% + 150px);
height: 50px;
}

/*　上向き三角　*/
.pc_gnavi .naviParents .parent.news:hover::before{
content: "";
position: absolute;
bottom: 0;
left: 50%;
z-index: 1;
transform: translate(-50%, calc(100% + 2px));
background-color: var(--c1);
width: 14px;
height: 14px;
clip-path: polygon(50% 0, 0 100%, 100% 100%);
}

/* デフォルト状態下線なし */
.pc_gnavi .naviParents>li.company>a {
border-bottom: none !important;
}
/* アクティブ時下線を表示 */
.pc_gnavi .naviParents>li.company>a.active {
border-bottom: 2px solid blue;
}


/* ========== SPナビゲーション更新 ========== */


/* ===== ナビゲーション項目 ===== */

/* 配置（アコーディオンメニューあり）*/
@media (max-width: 800px) {
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
    padding: 12px 30px;
}
.item.service summary,
.item.howto summary,
.item.news summary,
.item.company summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 12px 20px;
  user-select: none;
}

/* 配置（アコーディオンメニューなし）*/
.spModalMenu .modalNavilistA li.case a.link,
.spModalMenu .modalNavilistA li.ir a.link,
.spModalMenu .modalNavilistA li.search a.link {
  display: flex;
  gap: 10px;
  padding-left: 0 !important;
  padding: 12px 20px 12px 50px !important; 
  margin-left: 0 !important;
  justify-content: flex-start;
}
.item.case span.tx,
.item.ir span.tx,
.item.search span.tx {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* ===== トグルアイコン ===== */
/* 横線と縦線の共通スタイル */
.item.service summary::before,
.item.howto summary::before,
.item.news summary::before,
.item.company summary::before,
.item.service summary::after,
.item.howto summary::after,
.item.news summary::after,
.item.company summary::after {
  position: absolute;
  background-color: currentColor;
  left: 100px;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* 横線 */
.item.service summary::before,
.item.howto summary::before,
.item.news summary::before,
.item.company summary::before {
  content: '';
  width: 14px;
  height: 1.5px;
  margin-left: 50%;
  margin-top: -13px;
  order: 2;
}
/* 縦線 */
.item.service summary::after,
.item.howto summary::after,
.item.news summary::after,
.item.company summary::after {
  content: '';
  width: 1.5px;
  height: 14px;
  margin-left: 50%;
  transition: transform 0.3s ease;
  order: 2;
}
/* 配置 */
.item.service details[open] summary::after,
.item.howto details[open] summary::after,
.item.news details[open] summary::after,
.item.company details[open] summary::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
#SPModalMenu .modalNavilistA {
  max-width: 278px;
}

/* ===== アコーディオンメニュー ===== */

/* 配置（アコーディオンメニューあり） */
.item.service .spToggleMenu a,
.item.howto .spToggleMenu a,
.item.news .spToggleMenu a,
.item.company .spToggleMenu a {
  display: block;
  padding: 10px 20px 10px 40px;
  text-decoration: none;
}
}

/* ↓◆◆◆◆◆◆◆アコーデオン動作◆◆◆◆◆◆◆↓ */
#SPModalMenu .item details .spToggleMenu > ul {
  overflow-y: hidden;
}
#SPModalMenu .item details .spToggleMenu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid!important;
  transition: grid-template-rows 0.2s!important;
}
#SPModalMenu .item details[open] .spToggleMenu {
  grid-template-rows: 1fr!important;
}
#SPModalMenu .item details:not([open]) .spToggleMenu {
  grid-template-rows: 0fr!important;
}

/* 文字太さ */
#SPModalMenu .item.service summary .tx,
#SPModalMenu .item.howto summary .tx,
#SPModalMenu .item.news summary .tx,
#SPModalMenu .item.company summary .tx,
#SPModalMenu .item.ir .tx,
#SPModalMenu .item.search .tx{
  font-weight: bold;
}

/* 「会社情報一覧」 */
.item.company .spToggleMenu li:first-child a {
  font-weight: 600; 
}

/* ===== アイコン ===== */
.item.service summary .icon-circle,
.item.howto summary .icon-circle,
.item.news summary .icon-circle,
.item.ir .icon-circle,
.item.company summary .icon-circle,
.item.case .icon-circle,
.item.search .icon-circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.item.service summary .icon-circle {
  background-color: #007BFF; 
}
.item.howto summary .icon-circle {
  background-color: #FF9800; 
}
.item.news summary .icon-circle {
  background-color: #DC3545; 
}
.item.company summary .icon-circle {
  background-color: #A9A9A9;
}
.item.ir .icon-circle {
  background-color: #28A745;
}
.item.search .icon-circle {
  background-color: #333333;
}

/* 配置（アコーディオンメニューなし） */
.item.case .icon-circle,
.item.ir .icon-circle,
.item.search .icon-circle {
  margin-top: 20px; 
}

/* ナビゲーション項目配置（アコーディオンメニューあり） */
.item.service summary .icon-circle,
.item.howto summary .icon-circle,
.item.news summary .icon-circle,
.item.company summary .icon-circle {
  margin-right: 10px;
}


/* ===== サブタイトル ===== */
.item.service summary .subtitle,
.item.howto summary .subtitle,
.item.news summary .subtitle,
.item.company summary .subtitle,
.item.ir a.link .subtitle,
.item.search a.link .subtitle {
  display: block;
  font-weight: normal;
  font-size: 0.75em;
  color: #666;
  margin-top: 2px;
}


/* ===== アコーディオン全体のスクロール設定 ===== */
@media (max-width: 800px) {
  #SPModalMenu .menuWrap {
    max-height: 80vh;             
    overflow-y: auto;             
  }
}

@media screen and (max-width: 800px) {
    html.on .sp_header {
        padding: 0 !important;
        transition: none !important;
    }
}