/* Bootstrapの場合は不要
body {
	margin: 0px;
	padding: 0px;
}
*/

/** メニューを中央に配置するためのインナー */
.section-inner {
  width: 1000px;
  max-width: 100%;
  margin: auto;
}

/** PC 用 */
@media (min-width: 1001px) {

  .global_menu {
  background-color: #FFFFFF;
  }

  .g_menu_hr {
      padding: 22px 0px;
      color: #CCCCCC;
  }

  /** グローバルナビリスト (1階層目) */
  .g_menu_list {
      display: flex;
      justify-content: space-between;
  }

  /** グローバルナビ項目 (1階層目) */
  .g_menu {
      display: flex;
      position: relative;
  /* background-color: #E7BCBD; */
  margin: 5px;
      text-align: center;
  }
  .g_menu > a {
      display: block;
      position: relative;
      width: 100%;
      padding: 15px;
      font-size: 14px;
  font-weight: 400;
      color: #444444;
      text-decoration: none;
      transform: rotate(0.05deg);
  }
  .g_menu > a::after {
      display: block;
      content: '';
      position: absolute;
      bottom: 0;
      right: 0;
      left: 0;
      height: 2px;
      background: #999999;
  opacity: 0;
      transition: 0.2s opacity;
  }
  .g_menu:hover > a::after {
      opacity: 1;
  }

  /** グローバルナビリスト (2階層目) */
  .g_menu2_list {
      position: absolute;
      top: 100%;
      width: calc(100% + 30px);
      min-width: 200px;
      left: 50%;
      border-radius: 2px;
      background: white;
      box-shadow: 0 5px 5px rgba(0, 0, 0, 0.15);
      overflow: hidden;
      opacity: 0;
      transform: translateX(-50%);
      transition: 0.2s opacity;
      pointer-events: none;
      z-index: 100;
  }
  .g_menu:hover > .g_menu2_list,
  .g_menu2_list:hover {
      opacity: 1;
      pointer-events: all;
  }

  /** グローバルナビ項目 (2階層目) */
  .g_menu2 > a {
      display: flex;
      align-items: center;
      position: relative;
      padding: 11px 30px 11px 10px;
      border-top: 1px dotted #F5F5F5;
      font-size: 12px;
      color: #333333;
  font-weight: 400;
      text-align: left;
      text-decoration: none;
      transform: rotate(0.05deg);
  }
  .g_menu2 > a::before {
      box-sizing: border-box;
      content: "";
      display: block;
      margin-right: 5px;
      width: 7px;
      height: 7px;
      border: solid  #CCCCCC;
      border-width: 0 3px 3px 0;
      transform-origin: center;
      transform: translateX(-25%) rotate(-45deg);
  }
  .g_menu2:first-child > a {
      border-top: none;
  }
  .g_menu2 > a:hover {
      background: #F5F5F5;
  outline: 1px solid #FFFFFF; /* 線幅、線のスタイル、カラー */
  outline-offset: -1px; /* 対象の要素からの距離、マイナス(内側)にも対応 */
  }
  .global_menu_toggle {
      display: none;
  }
}
  


@media (max-width: 1200px) {
.section-inner {
  width: 800px;
  max-width: 100%;
  margin: auto;
}
}





/** スマホ 用 */
@media (max-width: 1000px) {	
  .g_menu_hr {
      display: none;
  }
  /** グローバルナビリスト (1階層目) */
  .g_menu_list {
      width: 100%;
      height: 100vh;
      position: fixed;
      top: 0;
      left: 100%;
      margin: auto;
      overflow: auto;
      z-index: 100;
      background:rgba(37,37,37,0.9); 
      transition: 0.2s all;
      pointer-events: none;
  }
  .global_menu.open .g_menu_list {
      left: 0;
      pointer-events: all;
  }
  /** グローバルナビ項目 (1階層目, 2階層目) のリンク */
  .g_menu a {
      display: flex;
      align-items: center;
      box-sizing: border-box;
      position: relative;
      width: 100%;
      padding: 10px 20px 10px;
      font-size: 16px;
  font-weight: 400;
      color: #222222;
      text-decoration: none;
      transform: rotate(0.05deg);
      transition: 0.2s all;
  border-bottom: 1px solid #CCCCCC;
  background-color: #FFFFFF;
  }
  .g_menu a:hover {
      background: #FFFFFF;
  }
  .g_menu > a::before,
  .g_menu2_list.open a::before {
      box-sizing: border-box;
      content: "";
      display: block;
      margin-right: 10px;
      width: 7px;
      height: 7px;
      border: solid  #CCCCCC;
  border-width: 0 3px 3px 0;
      transform-origin: center;
      transform: translateX(-25%) rotate(-45deg);
      transition: 0.2s all;
  }
  .g_menu > a.open::before {
      transform: translate(-25%, -2.5px) rotate(45deg);
  }
  .g_menu2 a {
      font-size: 14px;
      padding: 10px 0px 10px 35px;
  }
  /** グローバルナビリスト (2階層目) */
  .g_menu2_list:not(.open),
  .g_menu2_list:not(.open) * {
      overflow: hidden;
      opacity: 1;
      margin-top: 0;
      margin-bottom: 0;
      padding-top: 0;
      padding-bottom: 0;
      border-top-width: 0;
      border-bottom-width: 0;
      color: transparent;
      line-height: 0;
      transition: 0.2s margin, 0.2s padding, 0.2s border-width, 0.2s line-height, 0.2s opacity;
  }
  .g_menu2_list.open,
  .g_menu2_list.open * {
      transition: 0.2s margin, 0.2s padding, 0.2s border-width, 0.2s line-height, 0.2s opacity;
  }





  /** トグルボタン */
  .g_btn {
      box-sizing: border-box;
      position: fixed;
      top: 10px;
      right: 20px;
      width: 45px;
      height: 45px;
      border-radius: 4px;
      background: #222222;
      z-index: 101;
      cursor: pointer;
  }
  .g_btn_icon {
      position: absolute;
      top: calc(50% - 1px);
      left: 0;
      width: calc(100% - 18px);
      height: 2px;
      margin-left: 9px;
      background: white;
      z-index: 100;
  }
  .g_btn_icon::before {
      position: relative;
      top: -8px;
      display: block;
      content: "";
      height: 2px;
      background: white;
      transition: 0.1s all;
  }
  .g_btn_icon::after {
      position: relative;
      top: 6px;
      display: block;
      content: "";
      height: 2px;
      background: white;
      transition: 0.1s all;
  }
  .g_btn.open .g_btn_icon {
      background: transparent;
  }
  .g_btn.open .g_btn_icon::before {
      top: -6px;
      transform: translateY(6px) rotate(45deg);
  }
  .g_btn.open .g_btn_icon::after {
      top: 3px;
      transform: translateY(-5px) rotate(-45deg);
  }
}