
*,
*::before,
*::after{
  box-sizing:border-box;
}

/* ヘッダー */
.site-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background:#fff;
  border-bottom:1px solid #eee;
  z-index:1000;
  height:72px;
}

.header-inner{
  height:72px;
  width:100%;
  max-width:none;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
}

.logo a{
  font-weight:bold;
  font-size:20px;
  text-decoration:none;
  color:#111;
}

/* PCナビ */
.pc-nav ul{
  display:flex;
  gap:30px;
  list-style:none;
}

li.order a { background-color: #0e6af5; color: #fff; padding-left:14px; padding-right: 14px; padding-top:7px; padding-bottom:10px; border-radius: 8px; }
li.order a:hover { color: #0e6af5; background-color: #f5f5f5; }

.pc-nav a{
  text-decoration:none;
  color:#333;
  font-size:14px;
}

/* メガメニュー */



.has-mega{
  position:relative;
  padding-bottom:8px;
}



.mega-menu{
  top:100%;

}

.mega-menu{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  width:600px;
  background:#fff;
  border:1px solid #ddd;
  padding:20px;
  display:none;
  margin-top:-5px;
}

/* hover維持 */
.has-mega:hover .mega-menu,
.mega-menu:hover{
  display:block;
}

.mega-inner{
  display:flex;
  gap:30px;
}

.mega-col h4{
  font-size:15px;
  margin-bottom:4px;
  color:#888;
}

.mega-col h4.ver1 { color: cornflowerblue; border-bottom: 1px dotted #ccc;}

.mega-col a{
  display:block;
  margin:2px 0;
  font-size:14px;
}

/* ハンバーガー */
.hamburger{
  display:none;
  font-size:24px;
  cursor:pointer;
  margin-right:0;
}

/* SPメニュー */
.sp-style1 { margin:0 auto; text-align: center; }
.sp-style2 { margin:0 auto; text-align: center; font-size:16px; line-height: 150%; padding-bottom:12px; border-bottom:1px solid #888; }
.sp-style3 { margin:0 auto; text-align: center; font-size:18px; line-height: 150%; padding-bottom:12px; border-bottom:1px solid #ccc; }
.sp-menu{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:#fff;
  display:none;
  z-index:2000;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.sp-item { margin-top:40px; }

.sp-menu.active{
  display:block;
}

.sp-inner{
  padding:30px;
}

.sp-inner nav a{
  display:block;
  margin:0;
  padding:6px 0;
  font-size:16px;
  color:#333;
  border-bottom:1px solid #ddd;
}

.sp-close{
  position:absolute;
  right:20px;
  top:20px;
  font-size:26px;
  cursor:pointer;
}

/* 親 */
.sp-parent{
  font-size:18px;
  padding:14px 0;
  cursor:pointer;
  border-bottom:1px solid #eee;
  position:relative;
}

/* ▼アイコン */
.sp-parent::after{
  content:"▼";
  position:absolute;
  right:0;
  font-size:12px;
  transition:0.3s;
}

/* 開いた時 */
.sp-parent.active::after{
  transform:rotate(180deg);
}

/* 子（アニメーション対応） */
.sp-child{
  max-height:0;
  overflow:hidden;
  opacity:0;
  padding-left:10px;
  padding-right: 10px;
  background:#f9fafb;
  transition:all 0.3s ease;
}

.sp-child.open{
  max-height:300px;
  opacity:1;
}

.sp-child a{
  display:block;
  font-size:10px;
  color:#333;
  border-bottom: 1px solid #ccc;
}
/* レスポンシブ */
@media (max-width:768px){

  .site-header{
    height:72px;
  }

  .header-inner{
    height:72px;
    max-width:none;
    width:100%;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .pc-nav{
    display:none;
  }

  .hamburger{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    flex-shrink:0;
    transform:none;
  }

  .logo{
    max-width:calc(100% - 64px);
    display:flex;
    align-items:center;
    overflow:hidden;
  }

  .logo img{
    max-height:44px;
    width:auto;
    max-width:100%;
    display:block;
  }

}