@charset "UTF-8";
/*responsive----------------------------------------------------*/
/*color*/
/*common*/
html {
  scroll-behavior: smooth; }

body {
  font-family: "Lora", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 600;
  color: #231815;
  background: #e6e6e6; }
  body.active main {
    position: relative;
    z-index: -1; }
  body.active .container {
    z-index: 0; }
  body.fixed {
    overflow: hidden; }
  body.jp {
    font-family: "Noto Serif JP", serif !important; }
    body.jp#second, body.jp#second #articles,
    body.jp .objective_wrap .objective {
      font-family: "Noto Serif JP", serif !important; }
    body.jp .objective_wrap .objective {
      font-size: 3.6rem;
      font-family: "Noto Serif JP", serif !important;
      line-height: 1.6em; }
      @media (max-width: 1600px) {
        body.jp .objective_wrap .objective {
          font-size: 3.4rem; } }
      @media (max-width: 1440px) {
        body.jp .objective_wrap .objective {
          font-size: 3.2rem; } }
      @media (max-width: 1336px) {
        body.jp .objective_wrap .objective {
          font-size: 3rem; } }
      @media (max-width: 1280px) {
        body.jp .objective_wrap .objective {
          font-size: 2.8rem; } }
      @media (max-width: 1136px) {
        body.jp .objective_wrap .objective {
          font-size: 2.6rem; } }
      @media (max-width: 1024px) {
        body.jp .objective_wrap .objective {
          font-size: 2.2rem; } }
      @media (max-width: 768px) {
        body.jp .objective_wrap .objective {
          font-size: 1.6rem; } }
      @media (max-width: 599px) {
        body.jp .objective_wrap .objective {
          font-size: 1.1rem; } }
    body.jp p,
    body.jp dt,
    body.jp dd,
    body.jp ul,
    body.jp ol {
      font-size: 1.1rem; }
      @media (max-width: 599px) {
        body.jp p,
        body.jp dt,
        body.jp dd,
        body.jp ul,
        body.jp ol {
          font-size: 1rem; } }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description p {
      font-size: 1.1rem; }
      @media (max-width: 599px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description p {
          font-size: 1rem; } }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description p {
      margin-top: 1em; }
    body.jp #global_menu,
    body.jp #who,
    body.jp #glance,
    body.jp #news,
    body.jp #articles,
    body.jp #op,
    body.jp #ot,
    body.jp #sv {
      font-family: "Lora", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif; }
    body.jp #global_menu .nav_content nav .nav_l .language_menu,
    body.jp #global_menu .language_content .language_menu,
    body.jp #global_menu .cu_content .title,
    body.jp .btn,
    body.jp #global_menu .nav_content nav .nav_l .menu_list .title,
    body.jp #global_menu .nav_content nav .nav_r .menu_list .title {
      font-size: 1.1rem; }
      @media (max-width: 1024px) {
        body.jp #global_menu .nav_content nav .nav_l .language_menu,
        body.jp #global_menu .language_content .language_menu,
        body.jp #global_menu .cu_content .title,
        body.jp .btn,
        body.jp #global_menu .nav_content nav .nav_l .menu_list .title,
        body.jp #global_menu .nav_content nav .nav_r .menu_list .title {
          font-size: 0.95rem; } }
      @media (max-width: 599px) {
        body.jp #global_menu .nav_content nav .nav_l .language_menu,
        body.jp #global_menu .language_content .language_menu,
        body.jp #global_menu .cu_content .title,
        body.jp .btn,
        body.jp #global_menu .nav_content nav .nav_l .menu_list .title,
        body.jp #global_menu .nav_content nav .nav_r .menu_list .title {
          font-size: 0.85rem; } }
    @media (max-width: 1024px) {
      body.jp #global_menu .nav_content nav ul {
        padding: 24px 0 18px; } }
    @media (max-width: 768px) {
      body.jp #global_menu .nav_content nav ul {
        padding: 14px 0 8px; } }
    body.jp #global_menu .nav_content nav ul li {
      padding: 0.75em 0.2em; }
      @media (max-width: 1024px) {
        body.jp #global_menu .nav_content nav ul li {
          padding: 0.35em 0.2em; } }
      @media (max-width: 768px) {
        body.jp #global_menu .nav_content nav ul li {
          padding: 0.3em 0.2em; } }
    body.jp #global_menu .nav_content nav .nav_l .menu_list {
      padding-left: 0.3em; }
    body.jp #global_menu .nav_content nav .nav_l .menu_list ul,
    body.jp #global_menu .nav_content nav .nav_r .menu_list ul,
    body.jp footer .footer_inner .footer_grid .item ul {
      gap: 10px; }
    @media (max-width: 599px) {
      body.jp #global_menu .nav_content nav .nav_l .menu_list ul,
      body.jp #global_menu .nav_content nav .nav_r .menu_list ul {
        padding: 10px 0; } }
    @media (max-width: 599px) {
      body.jp #global_menu .nav_content nav .nav_l ul {
        gap: 11px; } }
    @media (max-width: 599px) {
      body.jp #global_menu .nav_content nav .nav_r {
        padding-left: 0.4em; } }
    body.jp .list_grid .item {
      padding: 4em 6.5% 3em; }
      body.jp .list_grid .item:nth-of-type(3) .description {
        margin-top: 2.75em; }
      body.jp .list_grid .item .list_box div {
        font-size: 2.2rem; }
        body.jp .list_grid .item .list_box div.img_1910 {
          width: 74%; }
          body.jp .list_grid .item .list_box div.img_1910 div {
            background: url("../images/jp/1910.svg") no-repeat top center/cover;
            padding-top: 63.29%;
            width: 100%; }
        body.jp .list_grid .item .list_box div.img_10m {
          width: 80%; }
          body.jp .list_grid .item .list_box div.img_10m div {
            background: url("../images/jp/10m.svg") no-repeat top center/cover;
            padding-top: 67.26%;
            width: 100%; }
        body.jp .list_grid .item .list_box div.usd18b {
          width: 80%; }
          body.jp .list_grid .item .list_box div.usd18b div {
            background: url("../images/jp/usd18b.svg") no-repeat top center/cover;
            padding-top: 58.59%;
            width: 100%; }
        body.jp .list_grid .item .list_box div.img_50per {
          width: 80%; }
          body.jp .list_grid .item .list_box div.img_50per div {
            background: url("../images/jp/50per.svg") no-repeat top center/cover;
            padding-top: 57%;
            width: 100%; }
        body.jp .list_grid .item .list_box div.img_3700 {
          width: 80%; }
          body.jp .list_grid .item .list_box div.img_3700 div {
            background: url("../images/jp/3700plus.svg") no-repeat top center/cover;
            padding-top: 55.35%;
            width: 100%; }
        body.jp .list_grid .item .list_box div.img_400 {
          width: 74%; }
          body.jp .list_grid .item .list_box div.img_400 div {
            background: url("../images/jp/400plus.svg") no-repeat top center/cover;
            padding-top: 57.9%;
            width: 100%; }
        body.jp .list_grid .item .list_box div.img_40 {
          width: 60%; }
          body.jp .list_grid .item .list_box div.img_40 div {
            background: url("../images/jp/40plus.svg") no-repeat top center/cover;
            padding-top: 82.4%;
            width: 100%; }
    body.jp .list_grid .description {
      font-size: 1.4rem;
      font-family: "Noto Serif JP", serif !important; }
      @media (max-width: 1600px) {
        body.jp .list_grid .description {
          font-size: 1.2rem; } }
      @media (max-width: 1024px) {
        body.jp .list_grid .description {
          font-size: 1rem; } }
    body.jp .btn {
      font-family: "Lora", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif; }
    body.jp .btn2 {
      font-size: 1rem; }
    body.jp .prd_grid a div .prd_box .prd_title {
      font-size: 2.2rem; }
      @media (max-width: 1440px) {
        body.jp .prd_grid a div .prd_box .prd_title {
          font-size: 2rem; } }
      @media (max-width: 1024px) {
        body.jp .prd_grid a div .prd_box .prd_title {
          font-size: 1.6rem; } }
      @media (max-width: 768px) {
        body.jp .prd_grid a div .prd_box .prd_title {
          font-size: 1.1rem; } }
      @media (max-width: 599px) {
        body.jp .prd_grid a div .prd_box .prd_title {
          font-size: 0.85rem; } }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
      font-size: 2rem; }
      @media (max-width: 1024px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
          font-size: 1.8rem; } }
      @media (max-width: 599px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
          font-size: 1.4rem; } }
    body.jp .area dl dt {
      font-size: 1.4rem; }
      @media (max-width: 1024px) {
        body.jp .area dl dt {
          font-size: 1.2rem; } }
      @media (max-width: 599px) {
        body.jp .area dl dt {
          font-size: 1rem; } }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h2 {
      font-size: 2.6rem; }
      @media (max-width: 1440px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h2 {
          font-size: 2.4rem; } }
      @media (max-width: 1024px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h2 {
          font-size: 2.2rem; } }
      @media (max-width: 599px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h2 {
          font-size: 1.6rem; } }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 {
      font-size: 2rem; }
      @media (max-width: 1440px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 {
          font-size: 1.8rem; } }
      @media (max-width: 1024px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 {
          font-size: 1.6rem; } }
      @media (max-width: 599px) {
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 {
          font-size: 1.4rem; } }
    body.jp.form h3 {
      font-family: "Noto Serif JP", serif; }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap {
      font-family: "Noto Serif JP", serif;
      font-weight: bold;
      font-size: 1.8rem; }
      body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap .aas span {
        font-size: 1.8rem; }
        @media (max-width: 1024px) {
          body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap .aas span {
            font-size: 1.6rem; } }
      body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap .aas .font_l {
        font-size: 2.4rem; }
        @media (max-width: 1024px) {
          body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap .aas .font_l {
            font-size: 2rem; } }
      body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap .aas .font_s {
        font-size: 1.2rem; }
      body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap .ace ul {
        padding-left: 1.6em; }
        body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .cross_wrap .ace ul li {
          font-size: 1.2rem; }
    @media (max-width: 599px) {
      body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .item {
        padding-top: 10em; } }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .item::before {
      width: 4rem; }
    body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .item h3 {
      font-family: "Noto Serif JP", serif;
      font-weight: bold; }
      body.jp .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description .tech_wrap .item h3 span {
        font-size: 1.3rem; }
    body.jp footer {
      font-family: "Lora", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif;
      font-weight: 600; }
  body.ch #global_menu,
  body.ch .prd_title,
  body.ch #eu dt,
  body.ch #eu dd,
  body.ch #sv_h,
  body.ch #history th,
  body.ch #history td,
  body.ch #awards th,
  body.ch #awards td,
  body.ch .tab a,
  body.ch .abbreviation_box {
    font-family: "Lora", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif; }
  body.ch p,
  body.ch th,
  body.ch td,
  body.ch dt,
  body.ch dd, body.ch#second {
    font-family: "Noto Serif SC", serif;
    font-weight: 600; }
  body.ch .objective_wrap .objective {
    font-family: "Noto Serif SC", serif;
    font-weight: 600; }
  body.ch h2,
  body.ch h3,
  body.ch h4,
  body.ch h5 {
    font-family: "Lora", "Noto Serif SC", serif, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif; }
  body.ch .list_grid .item {
    padding: 4em 6.5% 3em; }
    body.ch .list_grid .item .list_box div {
      font-size: 2.2rem; }
      body.ch .list_grid .item .list_box div.img_1910 {
        width: 74%; }
        body.ch .list_grid .item .list_box div.img_1910 div {
          background: url("../images/ch/1910.svg") no-repeat top center/cover;
          padding-top: 63.29%;
          width: 100%; }
      body.ch .list_grid .item .list_box div.img_10m {
        width: 80%; }
        body.ch .list_grid .item .list_box div.img_10m div {
          background: url("../images/ch/10m.svg") no-repeat top center/cover;
          padding-top: 67.26%;
          width: 100%; }
      body.ch .list_grid .item .list_box div.usd18b {
        width: 80%; }
        body.ch .list_grid .item .list_box div.usd18b div {
          background: url("../images/ch/usd18b.svg") no-repeat top center/cover;
          padding-top: 58.59%;
          width: 100%; }
      body.ch .list_grid .item .list_box div.img_50per {
        width: 80%; }
        body.ch .list_grid .item .list_box div.img_50per div {
          background: url("../images/ch/50per.svg") no-repeat top center/cover;
          padding-top: 57%;
          width: 100%; }
      body.ch .list_grid .item .list_box div.img_3700 {
        width: 80%; }
        body.ch .list_grid .item .list_box div.img_3700 div {
          background: url("../images/ch/3700plus.svg") no-repeat top center/cover;
          padding-top: 55.35%;
          width: 100%; }
      body.ch .list_grid .item .list_box div.img_400 {
        width: 74%; }
        body.ch .list_grid .item .list_box div.img_400 div {
          background: url("../images/ch/400plus.svg") no-repeat top center/cover;
          padding-top: 57.9%;
          width: 100%; }
      body.ch .list_grid .item .list_box div.img_40 {
        width: 60%; }
        body.ch .list_grid .item .list_box div.img_40 div {
          background: url("../images/ch/40plus.svg") no-repeat top center/cover;
          padding-top: 82.4%;
          width: 100%; }
  body.ch .list_grid .item::before,
  body.ch .list_grid .item2::before {
    font-family: "Lora", "Noto Serif SC", serif, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif; }
  body.ch footer {
    font-family: "Lora", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W6", HiraKakuPro-W6, "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 600; }

.number {
  font-family: "Martel", serif; }

.poly {
  font-family: "Poly", serif; }

.pc {
  display: block; }
  @media (max-width: 599px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media (max-width: 599px) {
    .sp {
      display: block; } }

a {
  text-decoration: none;
  color: #231815;
  font-weight: bold; }
  a:hover {
    color: #231815;
    text-decoration: none; }

p,
dt,
dd {
  font-size: 1.2rem;
  line-height: 1.8em;
  font-weight: 600; }
  @media (max-width: 599px) {
    p,
    dt,
    dd {
      font-size: 1rem; } }

ul,
ol {
  font-size: 1.2rem;
  padding-left: 1.4em; }
  @media (max-width: 599px) {
    ul,
    ol {
      font-size: 1rem; } }

.bold {
  font-weight: bold; }

.font-s {
  font-size: 1.2rem !important; }
  @media (max-width: 1024px) {
    .font-s {
      font-size: 1rem !important; } }
  @media (max-width: 599px) {
    .font-s {
      font-size: 0.85rem !important; } }

.cf {
  display: block; }
  .cf::before, .cf::after {
    content: "";
    display: block;
    clear: both; }

.alignright {
  display: block;
  float: right;
  margin-left: 20px;
  margin-bottom: 20px; }

.alignleft {
  display: block;
  float: left;
  margin-right: 20px;
  margin-bottom: 20px; }

.aligncenter {
  display: block !important;
  text-align: center !important;
  margin: 0 auto 20px; }

.alignright,
.alignleft {
  object-fit: contain; }
  @media (max-width: 768px) {
    .alignright,
    .alignleft {
      float: none;
      display: block;
      text-align: center;
      margin: 0 auto; } }

.pc {
  display: block; }
  @media (max-width: 1024px) {
    .pc {
      display: none; } }
  @media (max-width: 599px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media (max-width: 1024px) {
    .sp {
      display: block; } }
  @media (max-width: 599px) {
    .sp {
      display: block; } }

.sp2 {
  display: none; }
  @media (max-width: 1024px) {
    .sp2 {
      display: none; } }
  @media (max-width: 599px) {
    .sp2 {
      display: block; } }

/*見出し*/
h2 {
  display: inline-block;
  font-size: 2.6rem;
  font-weight: 600;
  padding-bottom: 0.15em;
  margin: 0.8em 0 0.3em;
  border-bottom: solid 5px #fff; }
  @media (max-width: 1440px) {
    h2 {
      font-size: 2.3rem; } }
  @media (max-width: 1336px) {
    h2 {
      font-size: 2rem; } }
  @media (max-width: 1280px) {
    h2 {
      font-size: 1.8rem; } }
  @media (max-width: 1024px) {
    h2 {
      font-size: 1.5rem; } }
  @media (max-width: 599px) {
    h2 {
      font-size: 1.3rem; } }
  @media (max-width: 599px) {
    h2 {
      border-bottom: solid 3px #fff; } }

h3 {
  font-size: 2.1rem;
  font-weight: 600;
  margin: 2em 0 0.3em; }
  @media (max-width: 1024px) {
    h3 {
      font-size: 1.6rem;
      font-weight: 700; } }
  @media (max-width: 768px) {
    h3 {
      font-size: 1.4rem; } }
  @media (max-width: 599px) {
    h3 {
      font-size: 1.2rem; } }

h4 {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 1.2em 0 1em; }
  @media (max-width: 1024px) {
    h4 {
      font-size: 1.3rem;
      margin: 1em 0 0.5em; } }
  @media (max-width: 599px) {
    h4 {
      font-size: 1.1rem; } }
  h4 span {
    font-size: 1.4rem;
    font-weight: normal;
    margin-left: 0.6em; }
    @media (max-width: 1024px) {
      h4 span {
        font-size: 1.2rem; } }
    @media (max-width: 599px) {
      h4 span {
        font-size: 0.9rem; } }

h5 {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 2em 0 0.3em; }

/*table*/
table {
  width: 100%;
  border-bottom: solid 3px #e5e5e5; }
  table th {
    width: 30%; }
  table td {
    width: 70%; }
  table th,
  table td {
    font-size: 1.2rem;
    border-top: solid 3px #e5e5e5;
    padding: 1em 0 1em 1em; }
    @media (max-width: 599px) {
      table th,
      table td {
        font-size: 1rem; } }

/*囲み*/
.wrap {
  max-width: 96%;
  width: 100%;
  margin: 0 auto; }
  @media (max-width: 1024px) {
    .wrap {
      max-width: 94%; } }
  @media (max-width: 599px) {
    .wrap {
      max-width: 92%; } }

.wrap2 {
  max-width: 80%;
  width: 100%;
  margin: 0 auto; }
  @media (max-width: 599px) {
    .wrap2 {
      max-width: 96%; } }
  .wrap2 h4:first-of-type {
    margin-top: 1.4em; }

/*上に戻るボタン*/
#upper_btn {
  background: #3e3a39;
  width: 70px;
  height: 70px;
  position: fixed;
  right: 8%;
  z-index: 999999;
  opacity: 0;
  transition: 0.5s;
  cursor: pointer; }
  @media (max-width: 1024px) {
    #upper_btn {
      width: 50px;
      height: 50px; } }
  @media (max-width: 599px) {
    #upper_btn {
      width: 40px;
      height: 40px; } }
  #upper_btn::before {
    content: "";
    padding: 14px;
    border-top: solid 4px #fff;
    border-right: solid 4px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 35%;
    left: 28%; }
    @media (max-width: 1024px) {
      #upper_btn::before {
        padding: 10px; } }
    @media (max-width: 599px) {
      #upper_btn::before {
        padding: 8px;
        border-top: solid 3px #fff;
        border-right: solid 3px #fff; } }

/*header*/
header .header_inner {
  display: block;
  margin: 0 auto;
  max-width: 96%;
  width: 100%; }
  header .header_inner .header_wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    padding-right: 1.2em; }
    header .header_inner .header_wrap .logo {
      background: url("../images/common/logo.svg") no-repeat top center/cover;
      width: 260px;
      height: auto;
      margin: 0.95em 0; }
      @media (max-width: 1024px) {
        header .header_inner .header_wrap .logo {
          width: 210px;
          margin: 0.85em 0; } }
      @media (max-width: 768px) {
        header .header_inner .header_wrap .logo {
          width: 164px;
          margin: 0.75em 0; } }
      @media (max-width: 599px) {
        header .header_inner .header_wrap .logo {
          width: 140px;
          margin: 0.6em 0; } }
      header .header_inner .header_wrap .logo a {
        display: block;
        width: 100%;
        padding-top: 16%; }

/*container*/
.container {
  max-width: 100%;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-around;
  position: relative; }

/*global_menu*/
#global_menu {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  height: 100svh;
  background: #efefef;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 8rem;
  z-index: 999; }
  @media (max-width: 1024px) {
    #global_menu {
      width: 6rem; } }
  @media (max-width: 599px) {
    #global_menu {
      width: 3.6rem; } }
  #global_menu .nav_wrap {
    width: 100%;
    height: 100svh;
    background: #efefef;
    position: relative;
    z-index: 99999; }
    @media (max-width: 599px) {
      #global_menu .nav_wrap {
        padding: 0 4px; } }
  #global_menu .item:last-child {
    border-bottom: none; }
  #global_menu button.menu_btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 25px;
    width: 100%;
    height: 120px;
    z-index: 99999;
    border: none;
    outline: none;
    padding-top: 2em;
    cursor: pointer;
    position: relative; }
    #global_menu button.menu_btn::before {
      content: "";
      width: calc(100% - 20px);
      position: absolute;
      bottom: 0;
      left: 8%;
      border-bottom: solid 3px #fff; }
      @media (max-width: 1024px) {
        #global_menu button.menu_btn::before {
          width: calc(100% - 14px); } }
      @media (max-width: 599px) {
        #global_menu button.menu_btn::before {
          width: calc(100% - 6px);
          border-bottom: solid 2px #fff; } }
    @media (max-width: 1024px) {
      #global_menu button.menu_btn {
        height: 100px;
        gap: 20px; } }
    @media (max-width: 599px) {
      #global_menu button.menu_btn {
        height: 76px;
        padding-top: 1.4em; } }
    #global_menu button.menu_btn:hover .humberger_line {
      background: transparent; }
      #global_menu button.menu_btn:hover .humberger_line::before, #global_menu button.menu_btn:hover .humberger_line::after {
        width: 32px;
        border-right: 8px solid transparent;
        background: transparent; }
        @media (max-width: 1024px) {
          #global_menu button.menu_btn:hover .humberger_line::before, #global_menu button.menu_btn:hover .humberger_line::after {
            width: 28px;
            border-right: 6px solid transparent; } }
        @media (max-width: 599px) {
          #global_menu button.menu_btn:hover .humberger_line::before, #global_menu button.menu_btn:hover .humberger_line::after {
            width: 20px;
            border-right: 4px solid transparent; } }
      #global_menu button.menu_btn:hover .humberger_line::before {
        transform: translateY(-6px) rotate(33deg);
        border-top: 5px solid #231815; }
        @media (max-width: 1024px) {
          #global_menu button.menu_btn:hover .humberger_line::before {
            border-top: 4px solid #231815; } }
        @media (max-width: 599px) {
          #global_menu button.menu_btn:hover .humberger_line::before {
            transform: translate(-4px, -4px) rotate(33deg);
            border-top: 3px solid #231815; } }
      #global_menu button.menu_btn:hover .humberger_line::after {
        transform: translateY(6px) rotate(-33deg);
        border-bottom: 5px solid #231815; }
        @media (max-width: 1024px) {
          #global_menu button.menu_btn:hover .humberger_line::after {
            border-bottom: 4px solid #231815; } }
        @media (max-width: 599px) {
          #global_menu button.menu_btn:hover .humberger_line::after {
            transform: translate(-4px, 4px) rotate(-33deg);
            border-bottom: 3px solid #231815; } }
    #global_menu button.menu_btn:hover .humberger_title::before {
      content: "open"; }
    #global_menu button.menu_btn:hover.active .humberger_line::before, #global_menu button.menu_btn:hover.active .humberger_line::after {
      width: 2.2rem;
      border-right: none; }
      @media (max-width: 1024px) {
        #global_menu button.menu_btn:hover.active .humberger_line::before, #global_menu button.menu_btn:hover.active .humberger_line::after {
          width: 2rem; } }
      @media (max-width: 599px) {
        #global_menu button.menu_btn:hover.active .humberger_line::before, #global_menu button.menu_btn:hover.active .humberger_line::after {
          width: 1.8rem; } }
    #global_menu button.menu_btn.active .humberger_line {
      background: transparent; }
      #global_menu button.menu_btn.active .humberger_line::before, #global_menu button.menu_btn.active .humberger_line::after {
        transition: none; }
      #global_menu button.menu_btn.active .humberger_line::before {
        transform: rotate(45deg); }
      #global_menu button.menu_btn.active .humberger_line::after {
        transform: rotate(-45deg); }
    #global_menu button.menu_btn.active .humberger_title::before {
      content: "close"; }
    #global_menu button.menu_btn .humberger_line {
      display: inline-block;
      position: relative;
      top: 0;
      left: 0;
      width: 2.2rem;
      height: 5px;
      background-color: #231815; }
      @media (max-width: 1024px) {
        #global_menu button.menu_btn .humberger_line {
          width: 2rem;
          height: 4px; } }
      @media (max-width: 599px) {
        #global_menu button.menu_btn .humberger_line {
          width: 1.8rem;
          height: 3px; } }
      #global_menu button.menu_btn .humberger_line::before, #global_menu button.menu_btn .humberger_line::after {
        content: "";
        position: absolute;
        right: 0;
        width: 2.2rem;
        height: 100%;
        background-color: #231815;
        transition: 0.5s; }
        @media (max-width: 1024px) {
          #global_menu button.menu_btn .humberger_line::before, #global_menu button.menu_btn .humberger_line::after {
            width: 2rem; } }
        @media (max-width: 599px) {
          #global_menu button.menu_btn .humberger_line::before, #global_menu button.menu_btn .humberger_line::after {
            width: 1.8rem; } }
      #global_menu button.menu_btn .humberger_line::before {
        transform: translateY(-12px); }
        @media (max-width: 599px) {
          #global_menu button.menu_btn .humberger_line::before {
            transform: translateY(-10px); } }
      #global_menu button.menu_btn .humberger_line::after {
        transform: translateY(12px); }
        @media (max-width: 599px) {
          #global_menu button.menu_btn .humberger_line::after {
            transform: translateY(10px); } }
    #global_menu button.menu_btn .humberger_title {
      font-family: "Lora", sans-serif;
      font-weight: bold;
      font-size: 1rem;
      text-align: center; }
      @media (max-width: 599px) {
        #global_menu button.menu_btn .humberger_title {
          transform: scale(0.8); } }
      #global_menu button.menu_btn .humberger_title::before {
        content: "menu";
        transition: all 0.5s;
        white-space: nowrap;
        color: #231815; }
  #global_menu nav {
    width: 100%;
    height: 100%;
    background: #efefef; }
    #global_menu nav .item {
      padding: 32px; }
      @media (max-width: 1024px) {
        #global_menu nav .item {
          padding: 24px; } }
      @media (max-width: 599px) {
        #global_menu nav .item {
          padding: 12px; } }
      #global_menu nav .item:nth-child(3), #global_menu nav .item:last-child {
        border-bottom: none;
        padding: 40px 32px 10px; }
        @media (max-width: 1024px) {
          #global_menu nav .item:nth-child(3), #global_menu nav .item:last-child {
            padding: 26px 22px 10px; } }
        @media (max-width: 599px) {
          #global_menu nav .item:nth-child(3), #global_menu nav .item:last-child {
            padding: 18px 12px 6px; } }
      #global_menu nav .item:last-child {
        padding: 10px 30px;
        margin-top: 20px; }
        @media (max-width: 1024px) {
          #global_menu nav .item:last-child {
            padding: 12px 20px;
            margin-top: 10px; } }
        @media (max-width: 599px) {
          #global_menu nav .item:last-child {
            padding: 10px 12px;
            margin-top: 5px; } }
      #global_menu nav .item .language {
        background: url("../images/common/icon_language.svg") no-repeat top center/cover;
        padding-top: 54%;
        width: 54%;
        margin: 0 auto; }
        @media (max-width: 599px) {
          #global_menu nav .item .language {
            padding-top: 80%;
            width: 80%; } }
      #global_menu nav .item .contact {
        background: url("../images/common/icon_contact.svg") no-repeat top center/cover;
        padding-top: 54%;
        width: 68%;
        margin: 0 auto; }
        @media (max-width: 599px) {
          #global_menu nav .item .contact {
            padding-top: 80%;
            width: 100%; } }
      #global_menu nav .item .scroll {
        background: url("../images/common/icon_scroll.svg") no-repeat top center/cover;
        padding-top: 95%;
        width: 75%;
        margin: 0 auto;
        cursor: pointer; }
        @media (max-width: 599px) {
          #global_menu nav .item .scroll {
            padding-top: 126%;
            width: 100%; } }
    #global_menu nav .cursor {
      cursor: pointer; }
    #global_menu nav ul {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px; }
      @media (max-width: 1024px) {
        #global_menu nav ul {
          gap: 14px; } }
      @media (max-width: 599px) {
        #global_menu nav ul {
          gap: 12px; } }
      #global_menu nav ul.item {
        margin: 0;
        padding: 15px 0 30px; }
        @media (max-width: 1024px) {
          #global_menu nav ul.item {
            padding: 22px 0 20px; } }
        @media (max-width: 768px) {
          #global_menu nav ul.item {
            padding: 15px 0 20px; } }
        #global_menu nav ul.item li {
          width: 100%;
          margin: 0 auto;
          padding: 0.7em 1.2em; }
          @media (max-width: 1024px) {
            #global_menu nav ul.item li {
              padding: 0.48em 1.2em; } }
          @media (max-width: 599px) {
            #global_menu nav ul.item li {
              padding: 0.38em 0.35em; } }
          #global_menu nav ul.item li div {
            margin: 0 auto; }
            #global_menu nav ul.item li div.who {
              background: url("../images/common/icon_who.svg") no-repeat top center/cover;
              padding-top: 35%;
              width: 35%; }
              @media (max-width: 599px) {
                #global_menu nav ul.item li div.who {
                  padding-top: 40%;
                  width: 40%; } }
            #global_menu nav ul.item li div.products {
              background: url("../images/common/icon_products.svg") no-repeat top center/cover;
              padding-top: 38%;
              width: 52%; }
              @media (max-width: 599px) {
                #global_menu nav ul.item li div.products {
                  padding-top: 40%;
                  width: 58%; } }
            #global_menu nav ul.item li div.tech {
              background: url("../images/common/icon_tech.svg") no-repeat top center/cover;
              padding-top: 40%;
              width: 56%; }
              @media (max-width: 599px) {
                #global_menu nav ul.item li div.tech {
                  padding-top: 42%;
                  width: 62%; } }
            #global_menu nav ul.item li div.network {
              background: url("../images/common/icon_network.svg") no-repeat top center/cover;
              padding-top: 42%;
              width: 32%; }
              @media (max-width: 599px) {
                #global_menu nav ul.item li div.network {
                  padding-top: 48%;
                  width: 36%; } }
            #global_menu nav ul.item li div.sav {
              background: url("../images/common/icon_sav.svg") no-repeat top center/cover;
              padding-top: 33%;
              width: 45%; }
              @media (max-width: 599px) {
                #global_menu nav ul.item li div.sav {
                  padding-top: 36%;
                  width: 50%; } }
      #global_menu nav ul.nav_list {
        position: relative; }
        #global_menu nav ul.nav_list::before, #global_menu nav ul.nav_list::after {
          content: "";
          position: absolute;
          border-bottom: solid 3px #fff;
          width: calc(100% - 20px);
          margin: 0 auto;
          left: 8%; }
          @media (max-width: 1024px) {
            #global_menu nav ul.nav_list::before, #global_menu nav ul.nav_list::after {
              width: calc(100% - 14px); } }
          @media (max-width: 599px) {
            #global_menu nav ul.nav_list::before, #global_menu nav ul.nav_list::after {
              border-bottom: solid 2px #fff;
              width: calc(100% - 6px); } }
        #global_menu nav ul.nav_list::before {
          top: 0; }
        #global_menu nav ul.nav_list::after {
          bottom: 0; }
  #global_menu .nav_content {
    position: absolute;
    top: 0;
    left: -820px;
    background: #efefef;
    width: 820px;
    padding-bottom: 3em;
    transition: 0.3s; }
    #global_menu .nav_content.active {
      left: 0;
      padding-right: 6em;
      overflow-y: auto; }
      @media (max-width: 1024px) {
        #global_menu .nav_content.active {
          padding-right: 3em;
          padding-left: 0.5em;
          height: fit-content; } }
      @media (max-width: 599px) {
        #global_menu .nav_content.active {
          left: -5px; } }
      @media (max-width: 599px) {
        #global_menu .nav_content.active nav {
          grid-template-columns: auto;
          grid-template-rows: max-content; } }
    #global_menu .nav_content nav {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: start;
      justify-items: start;
      gap: 5em;
      width: 100%; }
      @media (max-width: 1024px) {
        #global_menu .nav_content nav {
          gap: 3em; } }
      @media (max-width: 599px) {
        #global_menu .nav_content nav {
          gap: 0; } }
      #global_menu .nav_content nav .nav_l,
      #global_menu .nav_content nav .nav_r {
        display: flex;
        flex-direction: column;
        align-items: flex-start; }
        #global_menu .nav_content nav .nav_l .language_menu,
        #global_menu .nav_content nav .nav_r .language_menu {
          display: flex;
          flex-direction: row;
          flex-wrap: nowrap;
          align-items: center;
          gap: 10px;
          padding: 32px 32px 32px 0.1em;
          font-size: 1.2rem;
          white-space: nowrap; }
          @media (max-width: 1024px) {
            #global_menu .nav_content nav .nav_l .language_menu,
            #global_menu .nav_content nav .nav_r .language_menu {
              padding: 20px 20px 20px 0.1em;
              font-size: 1rem; } }
          @media (max-width: 768px) {
            #global_menu .nav_content nav .nav_l .language_menu,
            #global_menu .nav_content nav .nav_r .language_menu {
              padding: 22px 0; } }
          @media (max-width: 599px) {
            #global_menu .nav_content nav .nav_l .language_menu,
            #global_menu .nav_content nav .nav_r .language_menu {
              font-size: 0.8rem;
              padding: 10px 10px 10px 0.1em; } }
          #global_menu .nav_content nav .nav_l .language_menu div,
          #global_menu .nav_content nav .nav_r .language_menu div {
            padding-right: 0.6em;
            position: relative; }
            @media (max-width: 599px) {
              #global_menu .nav_content nav .nav_l .language_menu div,
              #global_menu .nav_content nav .nav_r .language_menu div {
                padding-right: 0.8em; } }
            #global_menu .nav_content nav .nav_l .language_menu div:last-child::before,
            #global_menu .nav_content nav .nav_r .language_menu div:last-child::before {
              content: none; }
            #global_menu .nav_content nav .nav_l .language_menu div::before,
            #global_menu .nav_content nav .nav_r .language_menu div::before {
              content: "";
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%);
              background: #231815;
              width: 2px;
              height: 20px; }
              @media (max-width: 599px) {
                #global_menu .nav_content nav .nav_l .language_menu div::before,
                #global_menu .nav_content nav .nav_r .language_menu div::before {
                  width: 1px; } }
            #global_menu .nav_content nav .nav_l .language_menu div a.current,
            #global_menu .nav_content nav .nav_r .language_menu div a.current {
              color: #727171; }
        #global_menu .nav_content nav .nav_l .btn.net a::before,
        #global_menu .nav_content nav .nav_r .btn.net a::before {
          -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
          top: 0; }
          @media (max-width: 599px) {
            #global_menu .nav_content nav .nav_l .btn.net a::before,
            #global_menu .nav_content nav .nav_r .btn.net a::before {
              width: 10px; } }
        #global_menu .nav_content nav .nav_l .btn a::before,
        #global_menu .nav_content nav .nav_r .btn a::before {
          content: url(../images/common/arrow3.svg);
          width: 16px;
          top: 4px; }
          @media (max-width: 1024px) {
            #global_menu .nav_content nav .nav_l .btn a::before,
            #global_menu .nav_content nav .nav_r .btn a::before {
              width: 12px; } }
          @media (max-width: 599px) {
            #global_menu .nav_content nav .nav_l .btn a::before,
            #global_menu .nav_content nav .nav_r .btn a::before {
              width: 10px;
              top: 2px; } }
        #global_menu .nav_content nav .nav_l .menu_list,
        #global_menu .nav_content nav .nav_r .menu_list {
          margin-top: 0.3em; }
          #global_menu .nav_content nav .nav_l .menu_list .title,
          #global_menu .nav_content nav .nav_r .menu_list .title {
            padding: 0.85em 0 0;
            font-size: 1.2rem;
            font-weight: bold; }
            @media (max-width: 1024px) {
              #global_menu .nav_content nav .nav_l .menu_list .title,
              #global_menu .nav_content nav .nav_r .menu_list .title {
                font-size: 1rem;
                padding: 0.95em 0 0; } }
            @media (max-width: 768px) {
              #global_menu .nav_content nav .nav_l .menu_list .title,
              #global_menu .nav_content nav .nav_r .menu_list .title {
                padding: 1.8em 0 0; } }
            @media (max-width: 599px) {
              #global_menu .nav_content nav .nav_l .menu_list .title,
              #global_menu .nav_content nav .nav_r .menu_list .title {
                font-size: 0.8rem;
                padding: 1.4em 0 0; } }
          #global_menu .nav_content nav .nav_l .menu_list ul,
          #global_menu .nav_content nav .nav_r .menu_list ul {
            display: flex;
            flex-direction: column;
            flex-wrap: nowrap;
            align-items: flex-start;
            gap: 5px; }
            @media (max-width: 599px) {
              #global_menu .nav_content nav .nav_l .menu_list ul,
              #global_menu .nav_content nav .nav_r .menu_list ul {
                padding: 6px 0 10px; } }
            #global_menu .nav_content nav .nav_l .menu_list ul li,
            #global_menu .nav_content nav .nav_r .menu_list ul li {
              font-size: 1.1rem;
              padding: 0; }
              @media (max-width: 1024px) {
                #global_menu .nav_content nav .nav_l .menu_list ul li,
                #global_menu .nav_content nav .nav_r .menu_list ul li {
                  font-size: 0.9rem; } }
              @media (max-width: 768px) {
                #global_menu .nav_content nav .nav_l .menu_list ul li,
                #global_menu .nav_content nav .nav_r .menu_list ul li {
                  font-size: 0.85rem; } }
              @media (max-width: 599px) {
                #global_menu .nav_content nav .nav_l .menu_list ul li,
                #global_menu .nav_content nav .nav_r .menu_list ul li {
                  font-size: 0.7rem; } }
              #global_menu .nav_content nav .nav_l .menu_list ul li.btn a::before,
              #global_menu .nav_content nav .nav_r .menu_list ul li.btn a::before {
                width: 12px; }
                @media (max-width: 599px) {
                  #global_menu .nav_content nav .nav_l .menu_list ul li.btn a::before,
                  #global_menu .nav_content nav .nav_r .menu_list ul li.btn a::before {
                    width: 10px; } }
      @media (max-width: 599px) {
        #global_menu .nav_content nav .nav_l ul {
          gap: 16px;
          padding: 23px 0 20px; } }
      #global_menu .nav_content nav .nav_r .item {
        padding-left: 0;
        border-bottom: none; }
        @media (max-width: 1024px) {
          #global_menu .nav_content nav .nav_r .item {
            padding: 20px 0; } }
        @media (max-width: 599px) {
          #global_menu .nav_content nav .nav_r .item {
            padding: 8px 8px 8px 0; } }
        #global_menu .nav_content nav .nav_r .item a {
          display: inline-block; }
      #global_menu .nav_content nav ul {
        align-items: flex-start;
        padding: 15px 0 30px 0; }
        @media (max-width: 1024px) {
          #global_menu .nav_content nav ul {
            align-items: flex-start;
            padding: 28px 0;
            margin: 0; } }
        @media (max-width: 768px) {
          #global_menu .nav_content nav ul {
            padding: 14px 0 14px; } }
        @media (max-width: 599px) {
          #global_menu .nav_content nav ul {
            padding: 16px 0 16px;
            margin-bottom: 0; } }
        #global_menu .nav_content nav ul li {
          padding: 0.6em 1.2em;
          padding-left: 0; }
          @media (max-width: 1024px) {
            #global_menu .nav_content nav ul li {
              padding: 0.24em 1.2em 0.24em 0; } }
          @media (max-width: 599px) {
            #global_menu .nav_content nav ul li {
              padding: 0.12em 0; } }
  #global_menu .lang.active,
  #global_menu .wwa.active,
  #global_menu .prod.active,
  #global_menu .ot.active,
  #global_menu .on.active,
  #global_menu .sv.active,
  #global_menu .cu.active {
    pointer-events: none; }
  #global_menu .language_content,
  #global_menu .wwa_content,
  #global_menu .products_content,
  #global_menu .ot_content,
  #global_menu .on_content,
  #global_menu .sv_content,
  #global_menu .cu_content {
    position: absolute;
    background: #efefef;
    transition: 0.3s;
    width: max-content; }
  #global_menu .language_content {
    top: 8.4em;
    left: -345px; }
    @media (max-width: 1024px) {
      #global_menu .language_content {
        top: 6.7em; } }
    @media (max-width: 768px) {
      #global_menu .language_content {
        top: 6.4em; } }
    @media (max-width: 599px) {
      #global_menu .language_content {
        top: 5.2em; } }
    #global_menu .language_content .language_menu {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      gap: 10px;
      padding: 1em 1em 1em 0.2em;
      font-size: 1.2rem;
      white-space: nowrap; }
      @media (max-width: 1024px) {
        #global_menu .language_content .language_menu {
          font-size: 1rem; } }
      @media (max-width: 599px) {
        #global_menu .language_content .language_menu {
          padding: 0.3em 0.6em 0.3em 0.2em;
          font-size: 0.8rem; } }
      #global_menu .language_content .language_menu div {
        padding-right: 0.6em;
        position: relative; }
        @media (max-width: 599px) {
          #global_menu .language_content .language_menu div {
            padding-right: 1em; } }
        #global_menu .language_content .language_menu div:last-child::before {
          content: none; }
        #global_menu .language_content .language_menu div::before {
          content: "";
          position: absolute;
          top: 50%;
          right: 0;
          transform: translateY(-50%);
          background: #231815;
          width: 2px;
          height: 20px; }
          @media (max-width: 599px) {
            #global_menu .language_content .language_menu div::before {
              width: 1px; } }
        #global_menu .language_content .language_menu div .current {
          color: #727171; }
  #global_menu .wwa_content {
    top: 230px;
    left: -300px;
    padding: 0.6em 1em 0.6em 0.2em;
    border-radius: 0; }
    @media (max-width: 1024px) {
      #global_menu .wwa_content {
        top: 186px; } }
    @media (max-width: 768px) {
      #global_menu .wwa_content {
        top: 176px; } }
    @media (max-width: 599px) {
      #global_menu .wwa_content {
        top: 132px; } }
    #global_menu .wwa_content.btn a::before {
      content: url("../images/common/arrow3.svg");
      width: 16px;
      top: 3px; }
      @media (max-width: 599px) {
        #global_menu .wwa_content.btn a::before {
          width: 10px;
          top: 2px; } }
  #global_menu .products_content {
    top: 300px;
    left: -180px;
    padding: 0.6em 1em 0.6em 0.2em;
    border-radius: 0; }
    @media (max-width: 1024px) {
      #global_menu .products_content {
        top: 233px; } }
    @media (max-width: 768px) {
      #global_menu .products_content {
        top: 223px; } }
    @media (max-width: 599px) {
      #global_menu .products_content {
        top: 170px; } }
    #global_menu .products_content.btn a::before {
      content: url("../images/common/arrow3.svg");
      width: 16px;
      top: 3px; }
      @media (max-width: 599px) {
        #global_menu .products_content.btn a::before {
          width: 10px;
          top: 2px; } }
  #global_menu .ot_content {
    top: 375px;
    left: -230px;
    padding: 0.6em 1em 0.6em 0.2em;
    border-radius: 0; }
    @media (max-width: 1024px) {
      #global_menu .ot_content {
        top: 280px; } }
    @media (max-width: 768px) {
      #global_menu .ot_content {
        top: 270px; } }
    @media (max-width: 599px) {
      #global_menu .ot_content {
        top: 210px; } }
    #global_menu .ot_content.btn a::before {
      content: url("../images/common/arrow3.svg");
      width: 16px;
      top: 3px; }
      @media (max-width: 599px) {
        #global_menu .ot_content.btn a::before {
          width: 10px;
          top: 2px; } }
  #global_menu .on_content {
    top: 450px;
    left: -180px;
    padding: 0.6em 1em 0.6em 0.2em;
    border-radius: 0; }
    @media (max-width: 1024px) {
      #global_menu .on_content {
        top: 330px; } }
    @media (max-width: 768px) {
      #global_menu .on_content {
        top: 320px; } }
    @media (max-width: 599px) {
      #global_menu .on_content {
        top: 250px; } }
    #global_menu .on_content.btn a::before {
      content: url("../images/common/arrow3.svg");
      width: 16px;
      top: 3px; }
      @media (max-width: 599px) {
        #global_menu .on_content.btn a::before {
          width: 10px;
          top: 2px; } }
  #global_menu .sv_content {
    top: 523px;
    left: -260px;
    padding: 0.6em 1em 0.6em 0.2em;
    border-radius: 0; }
    @media (max-width: 1024px) {
      #global_menu .sv_content {
        top: 377px; } }
    @media (max-width: 768px) {
      #global_menu .sv_content {
        top: 367px; } }
    @media (max-width: 599px) {
      #global_menu .sv_content {
        top: 293px; } }
    #global_menu .sv_content.btn a::before {
      content: url("../images/common/arrow3.svg");
      width: 16px;
      top: 3px; }
      @media (max-width: 599px) {
        #global_menu .sv_content.btn a::before {
          width: 10px;
          top: 2px; } }
  #global_menu .cu_content {
    top: 614px;
    left: -300px;
    padding-right: 8em; }
    @media (max-width: 1024px) {
      #global_menu .cu_content {
        top: 436px; } }
    @media (max-width: 768px) {
      #global_menu .cu_content {
        top: 428px; } }
    @media (max-width: 599px) {
      #global_menu .cu_content {
        top: 348px; } }
    #global_menu .cu_content .title {
      padding: 1.35em 0 0 0;
      font-size: 1.2rem;
      font-weight: bold; }
      @media (max-width: 1024px) {
        #global_menu .cu_content .title {
          font-size: 1rem; } }
      @media (max-width: 599px) {
        #global_menu .cu_content .title {
          padding: 1em 0 0 0;
          font-size: 0.8rem; } }
    #global_menu .cu_content ul {
      padding: 1em 0 0 0;
      display: flex;
      flex-flow: column nowrap;
      align-items: flex-start; }
      @media (max-width: 599px) {
        #global_menu .cu_content ul {
          padding: 0.3em 0 0 0; } }
      #global_menu .cu_content ul li {
        font-size: 1.1rem;
        padding: 0.2em 0; }
        @media (max-width: 1024px) {
          #global_menu .cu_content ul li {
            font-size: 0.9rem; } }
        @media (max-width: 599px) {
          #global_menu .cu_content ul li {
            font-size: 0.7rem; } }
        #global_menu .cu_content ul li a::before {
          content: url("../images/common/arrow3.svg");
          width: 12px;
          top: 3px; }

/*main*/
main {
  padding-bottom: 10%;
  width: 100%; }
  main article {
    padding-top: 5%; }
    main article:first-of-type {
      padding-top: 0; }
    @media (max-width: 1024px) {
      main article:nth-of-type(2) {
        padding-top: 20%; } }

.modal_video {
  display: block;
  width: 100%;
  height: 100%; }

.video {
  position: relative;
  aspect-ratio: 16/9;
  width: 100%;
  overflow: hidden;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
  z-index: -1; }
  .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.btn {
  font-size: 1.2rem; }
  @media (max-width: 1024px) {
    .btn {
      font-size: 1rem; } }
  @media (max-width: 599px) {
    .btn {
      font-size: 0.8rem; } }
  .btn a {
    display: block;
    padding-right: 1.4em;
    position: relative; }
    .btn a::before {
      content: url("../images/common/arrow.svg");
      width: 20px;
      position: absolute;
      top: -3px;
      right: 0; }
      @media (max-width: 1024px) {
        .btn a::before {
          width: 12px;
          top: 0; } }
  .btn.seemore {
    margin-top: 0.7em;
    padding-left: 0.1em;
    cursor: pointer; }
    @media (max-width: 1024px) {
      .btn.seemore {
        margin-top: 0.2em; } }
    @media (max-width: 599px) {
      .btn.seemore {
        padding-left: 0; } }
    .btn.seemore span {
      display: block;
      font-weight: bold;
      padding-right: 0;
      padding-left: 2.8rem;
      position: relative; }
      @media (max-width: 1024px) {
        .btn.seemore span {
          font-size: 0.85rem;
          padding-left: 2rem; } }
      @media (max-width: 599px) {
        .btn.seemore span {
          font-size: 0.75rem;
          padding-left: 1.6rem; } }
      .btn.seemore span::before {
        content: url("../images/common/arrow.svg");
        width: 20px;
        position: absolute;
        top: -8px;
        right: inherit;
        left: 0;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg); }
        @media (max-width: 1024px) {
          .btn.seemore span::before {
            width: 16px;
            top: -5px; } }
        @media (max-width: 599px) {
          .btn.seemore span::before {
            width: 12px;
            top: -4px; } }
      .btn.seemore span::after {
        content: "See More"; }
      .btn.seemore span.open::before {
        left: 10%;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg); }
      .btn.seemore span.open::after {
        content: "Close"; }

/*Who We Are*/
.objective_wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 1rem;
  margin-top: 1em; }
  @media (max-width: 599px) {
    .objective_wrap {
      padding: 0 0.6rem; } }
  .objective_wrap .objective {
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.42em; }
    @media (max-width: 1600px) {
      .objective_wrap .objective {
        font-size: 3.6rem; } }
    @media (max-width: 1440px) {
      .objective_wrap .objective {
        font-size: 3rem; } }
    @media (max-width: 1336px) {
      .objective_wrap .objective {
        font-size: 2.8rem; } }
    @media (max-width: 1280px) {
      .objective_wrap .objective {
        font-size: 2.4rem; } }
    @media (max-width: 1136px) {
      .objective_wrap .objective {
        font-size: 2.2rem; } }
    @media (max-width: 1024px) {
      .objective_wrap .objective {
        font-size: 1.6rem;
        font-weight: 600; } }
    @media (max-width: 768px) {
      .objective_wrap .objective {
        font-size: 1.3rem;
        font-weight: 700; } }
    @media (max-width: 599px) {
      .objective_wrap .objective {
        font-size: 1rem; } }
    @media (max-width: 375px) {
      .objective_wrap .objective {
        font-size: 0.85rem; } }
  @media (max-width: 1024px) {
    .objective_wrap .btn {
      font-size: 0.85rem; } }
  @media (max-width: 599px) {
    .objective_wrap .btn {
      font-size: 0.75rem;
      padding-left: 0; } }

/*At a Glance*/
.list_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5em 3em;
  width: 100%; }
  @media (max-width: 1024px) {
    .list_grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 3.5em 2em; } }
  @media (max-width: 768px) {
    .list_grid {
      gap: 2.5em 1.5em; } }
  @media (max-width: 599px) {
    .list_grid {
      grid-template-columns: repeat(1, 1fr);
      gap: 1.5em; } }
  .list_grid.glance .item::before {
    content: "At a Glance"; }
  .list_grid.news, .list_grid#articles {
    margin-top: 2.4em; }
    @media (max-width: 1024px) {
      .list_grid.news, .list_grid#articles {
        margin-top: 1.4em; } }
    @media (max-width: 599px) {
      .list_grid.news, .list_grid#articles {
        gap: 2.5em; } }
  .list_grid .item {
    background: #fff;
    padding: 4em 6.5% 1em;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: -1; }
    @media (max-width: 1024px) {
      .list_grid .item {
        height: auto; } }
    @media (max-width: 599px) {
      .list_grid .item {
        padding-top: 1.5em;
        padding-left: 10%; } }
    .list_grid .item::before {
      content: "";
      font-size: 1.4rem;
      font-weight: 700;
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg);
      position: absolute;
      top: 56px;
      left: -42px; }
      @media (max-width: 1440px) {
        .list_grid .item::before {
          font-size: 1.3rem;
          top: 52px;
          left: -38px; } }
      @media (max-width: 1280px) {
        .list_grid .item::before {
          font-size: 1.2rem;
          top: 50px; } }
      @media (max-width: 1024px) {
        .list_grid .item::before {
          font-size: 1rem;
          top: 40px;
          left: -32px; } }
      @media (max-width: 768px) {
        .list_grid .item::before {
          font-size: 0.95rem;
          left: -30px; } }
      @media (max-width: 599px) {
        .list_grid .item::before {
          font-size: 0.75rem;
          top: 30px;
          left: -24px; } }
    .list_grid .item:nth-child(n + 4) {
      display: none; }
    .list_grid .item.open {
      display: block; }
    .list_grid .item .list_box div {
      font-size: 2.2rem; }
      .list_grid .item .list_box div.img_1910 {
        width: 74%; }
        .list_grid .item .list_box div.img_1910 div {
          background: url("../images/common/1910.svg") no-repeat top center/cover;
          padding-top: 63.29%;
          width: 100%; }
      .list_grid .item .list_box div.img_10m {
        width: 86%; }
        .list_grid .item .list_box div.img_10m div {
          background: url("../images/common/10m.svg") no-repeat top center/cover;
          padding-top: 65.78%;
          width: 100%; }
      .list_grid .item .list_box div.usd18b {
        width: 80%; }
        .list_grid .item .list_box div.usd18b div {
          background: url("../images/common/usd18b.svg") no-repeat top center/cover;
          padding-top: 73.1%;
          width: 100%; }
      .list_grid .item .list_box div.img_50per {
        width: 80%; }
        .list_grid .item .list_box div.img_50per div {
          background: url("../images/common/50per.svg") no-repeat top center/cover;
          padding-top: 57.5%;
          width: 100%; }
      .list_grid .item .list_box div.img_3700 {
        width: 80%; }
        .list_grid .item .list_box div.img_3700 div {
          background: url("../images/common/3700plus.svg") no-repeat top center/cover;
          padding-top: 55.7%;
          width: 100%; }
      .list_grid .item .list_box div.img_400 {
        width: 74%; }
        .list_grid .item .list_box div.img_400 div {
          background: url("../images/common/400plus.svg") no-repeat top center/cover;
          padding-top: 57.9%;
          width: 100%; }
      .list_grid .item .list_box div.img_40 {
        width: 60%; }
        .list_grid .item .list_box div.img_40 div {
          background: url("../images/common/40plus.svg") no-repeat top center/cover;
          padding-top: 94%;
          width: 100%; }
  .list_grid .description {
    font-size: 1.8rem;
    margin-top: 3em;
    display: inline-block; }
    @media (max-width: 1600px) {
      .list_grid .description {
        font-size: 1.6rem; } }
    @media (max-width: 1440px) {
      .list_grid .description {
        font-size: 1.4rem; } }
    @media (max-width: 1280px) {
      .list_grid .description {
        font-size: 1.2rem; } }
    @media (max-width: 1024px) {
      .list_grid .description {
        font-size: 1.4rem;
        margin-top: 2.5em; } }
    @media (max-width: 768px) {
      .list_grid .description {
        font-size: 1rem; } }
    @media (max-width: 599px) {
      .list_grid .description {
        margin-top: 1.5em; } }
    .list_grid .description.des_10m {
      margin-top: 1.5em; }
      .list_grid .description.des_10m .font-l {
        font-size: 2rem; }
        @media (max-width: 768px) {
          .list_grid .description.des_10m .font-l {
            font-size: 1.3rem; } }
        @media (max-width: 599px) {
          .list_grid .description.des_10m .font-l {
            font-size: 1.2rem; } }
  .list_grid .item2 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
    padding-left: 6.5%;
    padding-bottom: 1em;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: -1; }
    @media (max-width: 599px) {
      .list_grid .item2 {
        padding-left: 5.5%; } }
    .list_grid .item2::before {
      content: "News";
      font-size: 1.4rem;
      font-weight: 700;
      position: absolute;
      top: 22px;
      left: -12px;
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }
      @media (max-width: 1440px) {
        .list_grid .item2::before {
          font-size: 1.3rem;
          top: 20px;
          left: -12px; } }
      @media (max-width: 1280px) {
        .list_grid .item2::before {
          font-size: 1.2rem; } }
      @media (max-width: 1024px) {
        .list_grid .item2::before {
          font-size: 1rem;
          top: 16px;
          left: -8px; } }
      @media (max-width: 768px) {
        .list_grid .item2::before {
          font-size: 0.95rem;
          left: -10px; } }
      @media (max-width: 599px) {
        .list_grid .item2::before {
          font-size: 0.75rem;
          top: 14px;
          left: -8px; } }
    .list_grid .item2 .thumb {
      width: 100%;
      box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.4);
      margin-top: -5%;
      overflow: hidden;
      aspect-ratio: 25/14; }
      .list_grid .item2 .thumb img {
        max-width: 100%;
        width: 100%; }
    .list_grid .item2 .article_content {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      height: 100%;
      padding-right: 2%;
      margin-top: 1em; }
      .list_grid .item2 .article_content .description {
        margin-top: 0; }

/*News*/
#news .list_grid a:nth-child(n + 4),
#articles .list_grid a:nth-child(n + 4) {
  display: none; }
  #news .list_grid a:nth-child(n + 4).open,
  #articles .list_grid a:nth-child(n + 4).open {
    display: block; }

#news .description {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }

.list_flex {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 2em; }
  @media (max-width: 599px) {
    .list_flex .date {
      font-size: 0.5em; } }

.btn2 {
  font-size: 1.2rem;
  padding-right: 1.6em;
  position: relative;
  letter-spacing: 1px; }
  @media (max-width: 599px) {
    .btn2 {
      font-size: 0.7rem; } }
  .btn2::before {
    content: url("../images/common/arrow2.svg");
    width: 14px;
    position: absolute;
    top: 1px;
    right: 10px; }
    @media (max-width: 599px) {
      .btn2::before {
        width: 8px;
        top: 0;
        right: 5px; } }

.search_wrap {
  display: none; }
  .search_wrap.open {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-top: 3em; }

.wp-pagenavi {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 70%; }
  @media (max-width: 599px) {
    .wp-pagenavi {
      gap: 10px;
      margin-top: 2em; } }
  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 0.5em 1em; }
    @media (max-width: 599px) {
      .wp-pagenavi a,
      .wp-pagenavi span {
        font-size: 0.85rem;
        padding: 0em 0.3em; } }
  .wp-pagenavi a {
    background: #8b8b8b; }
    .wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
      background: none; }
    .wp-pagenavi a.last {
      order: 1; }
    .wp-pagenavi a.nextpostslink {
      order: 2; }
  .wp-pagenavi span.current {
    background: #fff; }

form .search_box {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px; }
  form .search_box .item {
    position: relative; }
    @media (max-width: 599px) {
      form .search_box .item {
        justify-content: space-evenly;
        font-size: 0.75rem; } }
    form .search_box .item::after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 5px 5px 0 5px;
      border-color: #3e3a39 transparent transparent transparent;
      position: absolute;
      top: 50%;
      right: 10px;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
    form .search_box .item select {
      cursor: pointer;
      border: none;
      padding: 0.4em 2em 0.4em 1em;
      -webkit-appearance: none;
      appearance: none; }
  form .search_box input[type="submit"] {
    background: #3e3a39;
    color: #fff;
    border: none;
    padding: 0.5em 1em;
    cursor: pointer; }
    @media (max-width: 599px) {
      form .search_box input[type="submit"] {
        font-size: 0.75rem; } }

/*Articles*/
#articles .item2::before {
  content: "Article";
  top: 30px;
  left: -20px; }
  @media (max-width: 1024px) {
    #articles .item2::before {
      top: 22px;
      left: -15px; } }
  @media (max-width: 599px) {
    #articles .item2::before {
      top: 20px;
      left: -12px; } }
#articles a:nth-of-type(3) {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative; }
  #articles a:nth-of-type(3)::before, #articles a:nth-of-type(3)::after {
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  #articles a:nth-of-type(3)::before {
    content: "";
    background: rgba(0, 0, 0, 0.6);
    height: 105%;
    top: 48%; }
  #articles a:nth-of-type(3)::after {
    content: "COMING SOON";
    color: #fff;
    text-align: center;
    font-size: 2rem;
    letter-spacing: 0.1rem;
    top: 50%; }
    @media (max-width: 1024px) {
      #articles a:nth-of-type(3)::after {
        font-size: 1.6rem; } }
    @media (max-width: 599px) {
      #articles a:nth-of-type(3)::after {
        font-size: 1.4rem; } }
#articles .seemore {
  display: none; }

.author_date {
  display: flex;
  flex-direction: column;
  margin-top: 1.5em;
  gap: 5px; }
  .author_date .author {
    font-size: 1.2rem;
    font-weight: 700; }
    @media (max-width: 599px) {
      .author_date .author {
        font-size: 1rem; } }
  .author_date .list_flex {
    margin-top: 0; }

/*Our Network*/
.tech_bg {
  background: url("../images/common/tech_bg.svg") no-repeat top center/cover;
  width: 100%; }
  .tech_bg .tech_content {
    width: 100%;
    height: 100%;
    padding: 3.5em 3% 3%; }
    @media (max-width: 1024px) {
      .tech_bg .tech_content {
        padding-top: 1.6em; } }
    @media (max-width: 599px) {
      .tech_bg .tech_content {
        padding-top: 0.6em; } }
    .tech_bg .tech_content .tech_box {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-items: stretch;
      gap: 5px;
      width: 100%;
      height: 100%; }
      .tech_bg .tech_content .tech_box h2 {
        display: inline;
        text-align: right;
        font-size: 4rem;
        font-weight: 500;
        color: #fff;
        border-bottom: none;
        margin: 0 0 0 auto;
        padding: 0 5% 0 0;
        width: 100%; }
        @media (max-width: 1280px) {
          .tech_bg .tech_content .tech_box h2 {
            font-size: 2.6rem; } }
        @media (max-width: 1024px) {
          .tech_bg .tech_content .tech_box h2 {
            font-size: 2.4rem; } }
        @media (max-width: 768px) {
          .tech_bg .tech_content .tech_box h2 {
            font-size: 1.75rem; } }
        @media (max-width: 599px) {
          .tech_bg .tech_content .tech_box h2 {
            font-size: 1rem; } }
      .tech_bg .tech_content .tech_box .worldmap {
        width: 100%; }
        .tech_bg .tech_content .tech_box .worldmap img {
          max-width: 90%;
          width: 100%;
          height: 100%; }
          @media (max-width: 768px) {
            .tech_bg .tech_content .tech_box .worldmap img {
              max-width: 70%; } }
          @media (max-width: 599px) {
            .tech_bg .tech_content .tech_box .worldmap img {
              max-width: 100%; } }

.btn3 {
  width: 24%;
  background: rgba(255, 255, 255, 0.2);
  border: solid 2px #fff; }
  @media (max-width: 1440px) {
    .btn3 {
      width: 30%; } }
  @media (max-width: 768px) {
    .btn3 {
      width: 32%; } }
  @media (max-width: 599px) {
    .btn3 {
      width: 66%;
      border: solid 1px #fff; } }
  .btn3 a {
    display: block;
    width: 100%;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 1px;
    padding: 0.2em 0.5em;
    margin-bottom: 0; }
    @media (max-width: 1280px) {
      .btn3 a {
        font-size: 1.2rem; } }
    @media (max-width: 1136px) {
      .btn3 a {
        font-size: 1.1rem; } }
    @media (max-width: 1024px) {
      .btn3 a {
        font-size: 0.85rem; } }
    @media (max-width: 768px) {
      .btn3 a {
        font-size: 0.75rem; } }

/*footer*/
footer {
  background: #8b8b8b;
  padding: 3em 0;
  position: relative;
  z-index: 999999; }
  @media (max-width: 1024px) {
    footer {
      padding: 2em 0; } }
  @media (max-width: 599px) {
    footer {
      padding: 1.6em 0; } }
  footer .footer_inner {
    display: block;
    max-width: 90%;
    width: 100%;
    margin: 0 auto; }
    footer .footer_inner .footer_grid {
      display: grid;
      grid-template-columns: 3fr 1fr;
      align-items: start;
      gap: 3em; }
      @media (max-width: 1024px) {
        footer .footer_inner .footer_grid {
          grid-template-columns: 1fr 1fr; } }
      @media (max-width: 599px) {
        footer .footer_inner .footer_grid {
          grid-template-columns: auto;
          gap: 1em; } }
      footer .footer_inner .footer_grid .item {
        color: #fff;
        height: 100%; }
        footer .footer_inner .footer_grid .item.contact {
          padding-left: 4.5em;
          border-left: solid 1px #fff; }
          @media (max-width: 1024px) {
            footer .footer_inner .footer_grid .item.contact {
              padding-left: 2.5em; } }
          @media (max-width: 768px) {
            footer .footer_inner .footer_grid .item.contact {
              padding-left: 1.5em; } }
          @media (max-width: 599px) {
            footer .footer_inner .footer_grid .item.contact {
              border-left: none;
              padding-left: 4%; } }
        footer .footer_inner .footer_grid .item.pt {
          padding-top: 0.6em; }
        footer .footer_inner .footer_grid .item .title {
          font-size: 1.3rem;
          font-weight: 500;
          letter-spacing: 0.01em; }
          @media (max-width: 1024px) {
            footer .footer_inner .footer_grid .item .title {
              font-size: 1rem; } }
        footer .footer_inner .footer_grid .item ul {
          display: flex;
          flex-direction: column;
          flex-wrap: nowrap;
          align-items: flex-start;
          gap: 5px;
          padding-left: 0;
          margin: 1.2em 0;
          list-style: none; }
          @media (max-width: 1024px) {
            footer .footer_inner .footer_grid .item ul {
              margin: 0.6em 0;
              gap: 0; } }
          @media (max-width: 599px) {
            footer .footer_inner .footer_grid .item ul {
              margin: 0.4em 0; } }
          footer .footer_inner .footer_grid .item ul a,
          footer .footer_inner .footer_grid .item ul li {
            color: #fff;
            font-size: 1.1rem;
            font-weight: 500;
            letter-spacing: 0.5px; }
            @media (max-width: 1024px) {
              footer .footer_inner .footer_grid .item ul a,
              footer .footer_inner .footer_grid .item ul li {
                font-size: 0.85rem; } }
        footer .footer_inner .footer_grid .item .footer_grid2 {
          display: grid;
          grid-template-columns: 1fr 1fr 1fr;
          gap: 15px;
          width: 92%;
          margin: 0 auto; }
          @media (max-width: 1024px) {
            footer .footer_inner .footer_grid .item .footer_grid2 {
              grid-template-columns: auto; } }
        footer .footer_inner .footer_grid .item .copyright {
          grid-row: 2/2;
          grid-column: 1/4;
          font-weight: 500;
          letter-spacing: 1px;
          margin-top: 3em; }
          @media (max-width: 1024px) {
            footer .footer_inner .footer_grid .item .copyright {
              font-size: 0.85rem; } }
          @media (max-width: 599px) {
            footer .footer_inner .footer_grid .item .copyright {
              font-size: 0.7rem; } }
        footer .footer_inner .footer_grid .item .footer_flex {
          display: flex;
          flex-direction: column;
          flex-wrap: nowrap;
          gap: 10px; }
        footer .footer_inner .footer_grid .item .footer_flex2 {
          display: flex;
          flex-direction: row;
          flex-wrap: nowrap;
          justify-content: space-between;
          align-items: center;
          gap: 15px;
          width: 82%;
          margin-top: 0.5em; }
          @media (max-width: 1024px) {
            footer .footer_inner .footer_grid .item .footer_flex2 {
              gap: 10px;
              width: 70%; } }
          @media (max-width: 599px) {
            footer .footer_inner .footer_grid .item .footer_flex2 {
              width: 90%; } }
          footer .footer_inner .footer_grid .item .footer_flex2 a {
            display: block;
            width: 24%; }
            footer .footer_inner .footer_grid .item .footer_flex2 a div {
              width: 100%;
              padding-top: 50%; }
              footer .footer_inner .footer_grid .item .footer_flex2 a div.instagram {
                background: url("../images/common/icon_insta.svg") no-repeat top center/cover; }
              footer .footer_inner .footer_grid .item .footer_flex2 a div.facebook {
                background: url("../images/common/icon_facebook.svg") no-repeat top center/cover;
                width: 100%; }
              footer .footer_inner .footer_grid .item .footer_flex2 a div.twitter {
                background: url("../images/common/icon_twitter.svg") no-repeat top center/cover;
                width: 100%; }
              footer .footer_inner .footer_grid .item .footer_flex2 a div.youtube {
                background: url("../images/common/icon_youtube.svg") no-repeat top center/cover;
                width: 100%; }

/*モーダル*/
.modal {
  z-index: 999999 !important; }
  .modal.show {
    padding-right: 0 !important;
    padding-left: 0 !important; }
  .modal .modal-dialog {
    max-width: 98%;
    width: 100%;
    height: 100%;
    margin: 0 auto; }
    .modal .modal-dialog .modal-content {
      border-radius: 0 !important;
      width: 100%;
      height: 100%;
      position: relative;
      overflow: auto;
      display: block; }
      .modal .modal-dialog .modal-content.article_child {
        max-width: 90%;
        width: 100%;
        max-height: 90%;
        height: auto;
        margin: 0 auto;
        top: 5%; }
        .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box {
          padding: 1.6em 1.6em 0;
          background: #fff;
          width: 100%; }
          @media (max-width: 599px) {
            .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box {
              padding: 0.6em 1em 0; } }
          .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box .modal_child {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            width: 100%; }
            .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box .modal_child div {
              width: 100%;
              height: 100%; }
              .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box .modal_child div img {
                max-width: 100%;
                width: 100%; }
            .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box .modal_child p {
              font-size: 1.4rem;
              font-weight: bold; }
              @media (max-width: 1024px) {
                .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box .modal_child p {
                  font-size: 1.2rem; } }
              @media (max-width: 599px) {
                .modal .modal-dialog .modal-content.article_child .modal_wrap .modal_box .modal_child p {
                  font-size: 1rem; } }
      .modal .modal-dialog .modal-content button {
        width: 7rem;
        height: 7rem;
        position: fixed;
        top: 0;
        right: 1%;
        padding: 1rem;
        outline: none;
        z-index: 10;
        text-indent: inherit; }
        @media (max-width: 1024px) {
          .modal .modal-dialog .modal-content button {
            width: 6rem;
            height: 6rem; } }
        @media (max-width: 768px) {
          .modal .modal-dialog .modal-content button {
            width: 5rem;
            height: 5rem; } }
        @media (max-width: 599px) {
          .modal .modal-dialog .modal-content button {
            width: 3.5rem;
            height: 3.5rem;
            padding: 0.6rem; } }
        .modal .modal-dialog .modal-content button:hover, .modal .modal-dialog .modal-content button.close {
          opacity: 1; }
        .modal .modal-dialog .modal-content button span {
          position: relative;
          width: 100%;
          height: 100%;
          background: transparent;
          display: inline-block; }
          .modal .modal-dialog .modal-content button span::before, .modal .modal-dialog .modal-content button span::after {
            content: "";
            position: absolute;
            background: #7eb367;
            width: 5rem;
            height: 6px;
            top: 50%;
            right: 2%; }
            @media (max-width: 1024px) {
              .modal .modal-dialog .modal-content button span::before, .modal .modal-dialog .modal-content button span::after {
                width: 3.5rem;
                height: 4px;
                top: 46%;
                right: 3%; } }
            @media (max-width: 768px) {
              .modal .modal-dialog .modal-content button span::before, .modal .modal-dialog .modal-content button span::after {
                width: 3rem; } }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content button span::before, .modal .modal-dialog .modal-content button span::after {
                width: 2rem;
                top: 44%;
                right: 2%; } }
          .modal .modal-dialog .modal-content button span::before {
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
          .modal .modal-dialog .modal-content button span::after {
            -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
      .modal .modal-dialog .modal-content .modal_wrap {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap; }
        .modal .modal-dialog .modal-content .modal_wrap .video {
          z-index: 1; }
        .modal .modal-dialog .modal-content .modal_wrap .modal_box {
          background: #d3d3d2;
          padding: 2em 2em 5%; }
          @media (max-width: 1024px) {
            .modal .modal-dialog .modal-content .modal_wrap .modal_box {
              padding: 2em 1.3em 5%; } }
          @media (max-width: 599px) {
            .modal .modal-dialog .modal-content .modal_wrap .modal_box {
              padding: 2em 1em 5%; } }
          @media (max-width: 599px) {
            .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description {
              gap: 16px; } }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h2 {
            font-size: 2rem; }
            @media (max-width: 1024px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h2 {
                font-size: 1.6rem; } }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h2 {
                font-size: 1.2rem; } }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
            display: flex;
            flex-flow: row wrap;
            justify-content: space-between;
            align-items: flex-end;
            font-size: 2.8rem;
            gap: 10px; }
            @media (max-width: 1440px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
                font-size: 2.6rem; } }
            @media (max-width: 1336px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
                font-size: 2.4rem; } }
            @media (max-width: 1024px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
                font-size: 2.2rem; } }
            @media (max-width: 768px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
                font-size: 1.8rem; } }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 {
                font-size: 1.2rem; } }
            @media (max-width: 768px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 span {
                font-size: 1.4rem; } }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles h3 span {
                font-size: 0.85rem; } }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles a {
            font-size: 1.2rem;
            margin-top: 2%;
            display: inline-block; }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles a {
                font-size: 1rem; } }
            .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles a.close {
              opacity: 1;
              float: left; }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles .box2 {
            padding-bottom: 0; }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles .articles_grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            align-items: center;
            justify-items: center;
            gap: 2em;
            width: 100%; }
            @media (max-width: 1024px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles .articles_grid {
                gap: 1em; } }
            .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles .articles_grid a {
              display: block;
              width: 100%; }
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description.articles .articles_grid a img {
                max-width: 100%;
                width: 100%; }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h2 {
            display: inline-block;
            width: fit-content;
            font-size: 3.2rem;
            font-weight: 600; }
            @media (max-width: 1024px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h2 {
                font-size: 2.6rem; } }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h2 {
                font-size: 1.8rem; } }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 {
            font-size: 2.4rem;
            margin-top: 0.4em; }
            @media (max-width: 1024px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 {
                font-size: 2rem;
                font-weight: 600; } }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 {
                font-size: 1.6rem; } }
            .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 span {
              font-size: 1.8rem;
              font-weight: bold; }
              @media (max-width: 1024px) {
                .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 span {
                  font-size: 1.6rem; } }
              @media (max-width: 599px) {
                .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description h3 span {
                  font-size: 1.2rem; } }
          .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description p {
            font-size: 1.2rem; }
            @media (max-width: 599px) {
              .modal .modal-dialog .modal-content .modal_wrap .modal_box .modal_description p {
                font-size: 1rem; } }
  .modal.modal2 .modal-dialog {
    max-width: 90%; }
    .modal.modal2 .modal-dialog .modal-content button {
      width: 6rem;
      height: 6rem; }
      @media (max-width: 1024px) {
        .modal.modal2 .modal-dialog .modal-content button {
          width: 5rem;
          height: 5rem; } }
      @media (max-width: 599px) {
        .modal.modal2 .modal-dialog .modal-content button {
          width: 3.5rem;
          height: 3.5rem;
          top: 1%; } }
      .modal.modal2 .modal-dialog .modal-content button span::before,
      .modal.modal2 .modal-dialog .modal-content button span::after {
        width: 4rem; }
        @media (max-width: 1024px) {
          .modal.modal2 .modal-dialog .modal-content button span::before,
          .modal.modal2 .modal-dialog .modal-content button span::after {
            width: 3rem; } }
        @media (max-width: 599px) {
          .modal.modal2 .modal-dialog .modal-content button span::before,
          .modal.modal2 .modal-dialog .modal-content button span::after {
            width: 2.5rem; } }
    .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box {
      background: #fff;
      padding-top: 1.6em; }
      @media (max-width: 1024px) {
        .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box {
          padding-top: 1.5em; } }
      @media (max-width: 599px) {
        .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box {
          padding-top: 1.4em; } }
      .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box h3 {
        font-size: 2.4rem;
        margin-top: 0; }
        @media (max-width: 1024px) {
          .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box h3 {
            font-size: 2rem; } }
        @media (max-width: 599px) {
          .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box h3 {
            font-size: 1.6rem; } }
      @media (max-width: 1024px) {
        .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box .prd_grid2 {
          grid-template-columns: auto; } }
      @media (max-width: 599px) {
        .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box .prd_grid2 {
          gap: 0.8em; } }
      .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box .prd_grid2 p {
        font-size: 1.2rem;
        font-weight: 500; }
        @media (max-width: 599px) {
          .modal.modal2 .modal-dialog .modal-content .modal_wrap .modal_box .prd_grid2 p {
            font-size: 1rem; } }

.modal-open {
  padding-right: 0 !important; }
  .modal-open .modal {
    overflow-y: hidden; }

/*modal_who*/
#modal h2 {
  margin-top: 1em; }

.who_wrap {
  max-width: 60%;
  width: 100%;
  margin: 4em auto 6em; }
  @media (max-width: 1024px) {
    .who_wrap {
      max-width: 86%;
      margin: 4em auto 3em; } }
  @media (max-width: 599px) {
    .who_wrap {
      margin: 2em auto; } }
  .who_wrap table {
    width: 100%;
    border-bottom: none; }
    .who_wrap table th,
    .who_wrap table td {
      padding: 0.3em;
      border-top: none;
      font-size: 1.2rem; }
      @media (max-width: 1024px) {
        .who_wrap table th,
        .who_wrap table td {
          font-size: 0.9rem; } }
      @media (max-width: 599px) {
        .who_wrap table th,
        .who_wrap table td {
          font-size: 0.85rem; } }
    .who_wrap table th {
      width: 45%; }
    .who_wrap table td {
      width: 55%;
      padding-left: 5%;
      border-left: solid 2px #231815; }

/*modal_prd*/
.prd_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2em; }
  @media (max-width: 1024px) {
    .prd_grid {
      gap: 1.5em; } }
  @media (max-width: 599px) {
    .prd_grid {
      gap: 0.5em; } }
  .prd_grid a {
    height: 100%; }
    .prd_grid a div {
      width: 100%;
      position: relative; }
      .prd_grid a div.fi .thumb, .prd_grid a div.ub .thumb, .prd_grid a div.ec .thumb, .prd_grid a div.ts .thumb, .prd_grid a div.ds .thumb, .prd_grid a div.covers .thumb, .prd_grid a div.accessories .thumb, .prd_grid a div.fi01 .thumb, .prd_grid a div.fi02 .thumb, .prd_grid a div.ub01 .thumb, .prd_grid a div.ub02 .thumb, .prd_grid a div.ub03 .thumb {
        width: 100%;
        padding-top: 56.5%; }
      .prd_grid a div.fi .thumb {
        background: url("../images/common/fi.png") no-repeat top center/cover; }
      .prd_grid a div.ub .thumb {
        background: url("../images/common/ub.png") no-repeat top center/cover; }
      .prd_grid a div.ec .thumb {
        background: url("https://dev.hayashi-telempu.com/wp-content/uploads/2023/04/ec.jpg") no-repeat top center/cover; }
      .prd_grid a div.ts .thumb {
        background: url("../images/common/ts.png") no-repeat top center/cover; }
      .prd_grid a div.ds .thumb {
        background: url("../images/common/ds.png") no-repeat top center/cover; }
      .prd_grid a div.covers .thumb {
        background: url("../images/common/covers.png") no-repeat top center/cover; }
      .prd_grid a div.accessories .thumb {
        background: url("../images/common/accessories.png") no-repeat top center/cover; }
      .prd_grid a div .prd_box {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: flex-end;
        position: absolute;
        bottom: 4%;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: fit-content;
        max-width: 90%;
        margin: 0 auto; }
        .prd_grid a div .prd_box .prd_title {
          color: #fff;
          width: fit-content;
          height: fit-content;
          font-size: 2.6rem;
          font-weight: 500;
          line-height: 1.1em;
          letter-spacing: 1.5px;
          width: 100%; }
          @media (max-width: 1440px) {
            .prd_grid a div .prd_box .prd_title {
              font-size: 2.4rem; } }
          @media (max-width: 1336px) {
            .prd_grid a div .prd_box .prd_title {
              font-size: 2.2rem; } }
          @media (max-width: 1280px) {
            .prd_grid a div .prd_box .prd_title {
              font-size: 2rem; } }
          @media (max-width: 1136px) {
            .prd_grid a div .prd_box .prd_title {
              font-size: 1.8rem; } }
          @media (max-width: 1024px) {
            .prd_grid a div .prd_box .prd_title {
              font-size: 1.6rem; } }
          @media (max-width: 768px) {
            .prd_grid a div .prd_box .prd_title {
              font-size: 1.2rem; } }
          @media (max-width: 599px) {
            .prd_grid a div .prd_box .prd_title {
              font-size: 0.9rem; } }
        .prd_grid a div .prd_box .btn2 {
          color: #fff;
          text-align: right;
          font-size: 1.4rem;
          font-weight: 400;
          color: #fff;
          letter-spacing: 2px; }
          @media (max-width: 1024px) {
            .prd_grid a div .prd_box .btn2 {
              font-size: 1rem; } }
          @media (max-width: 599px) {
            .prd_grid a div .prd_box .btn2 {
              font-size: 0.65rem; } }
          .prd_grid a div .prd_box .btn2::before {
            content: url("../images/common/arrow2-w.svg");
            width: 16px; }
            @media (max-width: 1024px) {
              .prd_grid a div .prd_box .btn2::before {
                font-size: 1rem;
                width: 12px; } }
            @media (max-width: 599px) {
              .prd_grid a div .prd_box .btn2::before {
                top: -4px; } }
  .prd_grid .covers {
    grid-column: 1/3; }

.prd_grid2 {
  grid-template-rows: auto; }

.prd_grid3 {
  grid-template-rows: 1fr 1fr;
  height: 100%;
  gap: 1.5em;
  margin-top: 1.2em; }
  @media (max-width: 1024px) {
    .prd_grid3 {
      gap: 1.2em;
      margin-top: 0.8em; } }
  @media (max-width: 599px) {
    .prd_grid3 {
      gap: 0.8em;
      margin-top: 0; } }
  .prd_grid3 .item {
    position: relative;
    width: 100%;
    height: 100%; }
    .prd_grid3 .item:nth-of-type(4) {
      grid-row: 4/4;
      grid-column: 1/1; }
    .prd_grid3 .item:nth-of-type(5) {
      grid-row: 4/4;
      grid-column: 2/3; }
    .prd_grid3 .item.fi01 .thumb, .prd_grid3 .item.fi02 .thumb, .prd_grid3 .item.ec01 .thumb, .prd_grid3 .item.ec02 .thumb, .prd_grid3 .item.acce01 .thumb, .prd_grid3 .item.acce02 .thumb {
      width: 100%;
      height: 100%;
      padding-top: 117.6%; }
    .prd_grid3 .item.fi01 .thumb {
      background: url("../images/op/fi_01.png") no-repeat top center/cover; }
    .prd_grid3 .item.fi02 .thumb {
      background: url("../images/op/fi_02.png") no-repeat top center/cover; }
    .prd_grid3 .item.ub01 {
      grid-row: 1/3;
      grid-column: 1/2; }
      .prd_grid3 .item.ub01 .thumb {
        background: url("../images/op/ub_01.png") no-repeat top center/cover;
        width: 100%;
        height: 100%;
        padding-top: 117.6%; }
    .prd_grid3 .item.ub02 .thumb, .prd_grid3 .item.ub03 .thumb {
      width: 100%;
      height: 100%;
      padding-top: 56.5%; }
    .prd_grid3 .item.ub02 .thumb {
      background: url("../images/op/ub_02.png") no-repeat top center/cover; }
    .prd_grid3 .item.ub03 {
      grid-row: 2/3;
      grid-column: 2/3; }
      .prd_grid3 .item.ub03 .thumb {
        background: url("../images/op/ub_03.png") no-repeat top center/cover; }
    .prd_grid3 .item.ub04 {
      grid-row: 3/4;
      grid-column: 1/2; }
    .prd_grid3 .item.ub05 {
      grid-row: 3/4;
      grid-column: 2/3; }
    .prd_grid3 .item.ec01 .thumb {
      background: url("https://dev.hayashi-telempu.com/wp-content/uploads/2023/04/ec_01.jpg") no-repeat top center/cover; }
    .prd_grid3 .item.ec02 .thumb {
      background: url("../images/op/ec_02.png") no-repeat top center/cover; }
    .prd_grid3 .item.ts01 .thumb {
      background: url("../images/op/ts_01.png") no-repeat top center/cover; }
    .prd_grid3 .item.ts02 .thumb {
      background: url("../images/op/ts_02.png") no-repeat top center/cover; }
    .prd_grid3 .item.ts03 .thumb {
      background: url("../images/op/ts_03.png") no-repeat top center/cover; }
    .prd_grid3 .item.ts04 .thumb {
      background: url("../images/op/ts_04.png") no-repeat top center/cover; }
    .prd_grid3 .item.covers {
      grid-column: 1/3 !important; }
      .prd_grid3 .item.covers .thumb {
        background: url("../images/op/covers.png") no-repeat top center/cover;
        padding-top: 57.4%; }
    .prd_grid3 .item.acce01 .thumb {
      background: url("../images/op/accessories_01.png") no-repeat top center/cover; }
    .prd_grid3 .item.acce02 .thumb {
      background: url("../images/op/accessories_02.png") no-repeat top center/cover; }
    .prd_grid3 .item .prd_title {
      position: absolute;
      bottom: 5%;
      left: 5%;
      color: #fff;
      font-size: 2.6rem;
      font-weight: 500;
      line-height: 1.1em;
      letter-spacing: 1.5px;
      text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.6); }
      @media (max-width: 1440px) {
        .prd_grid3 .item .prd_title {
          font-size: 2.4rem; } }
      @media (max-width: 1024px) {
        .prd_grid3 .item .prd_title {
          font-size: 2rem; } }
      @media (max-width: 768px) {
        .prd_grid3 .item .prd_title {
          font-size: 1.2rem; } }
      @media (max-width: 599px) {
        .prd_grid3 .item .prd_title {
          font-size: 0.9rem; } }

/*modal_tech*/
.tech_wrap {
  max-width: 96%;
  width: 100%;
  margin: 3% auto 0;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .tech_wrap .cross_wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.5em;
    width: 100%;
    height: 100%;
    font-size: 2.1rem;
    position: relative;
    width: 100%; }
    @media (max-width: 1024px) {
      .tech_wrap .cross_wrap {
        flex-direction: column;
        align-items: center;
        gap: 1.5em;
        font-size: 1.8rem; } }
    @media (max-width: 599px) {
      .tech_wrap .cross_wrap {
        font-size: 1.4rem; } }
    .tech_wrap .cross_wrap .aas {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      width: 38%;
      height: 100%;
      margin-bottom: auto;
      text-align: right; }
      @media (max-width: 1024px) {
        .tech_wrap .cross_wrap .aas {
          flex-direction: column;
          font-size: 1.8rem; } }
      @media (max-width: 599px) {
        .tech_wrap .cross_wrap .aas {
          width: 80%; } }
      .tech_wrap .cross_wrap .aas .font_l {
        font-size: 2.6rem;
        padding-right: 3%;
        letter-spacing: 0.15em; }
        @media (max-width: 1024px) {
          .tech_wrap .cross_wrap .aas .font_l {
            font-size: 2.2rem; } }
        @media (max-width: 599px) {
          .tech_wrap .cross_wrap .aas .font_l {
            font-size: 1.6rem; } }
      .tech_wrap .cross_wrap .aas .font_s {
        font-size: 1.6rem; }
        @media (max-width: 1024px) {
          .tech_wrap .cross_wrap .aas .font_s {
            font-size: 1.3rem; } }
        @media (max-width: 599px) {
          .tech_wrap .cross_wrap .aas .font_s {
            font-size: 1rem; } }
    .tech_wrap .cross_wrap .cross_box {
      width: 12%;
      margin-top: 2em; }
      @media (max-width: 1024px) {
        .tech_wrap .cross_wrap .cross_box {
          margin-top: 0; } }
      @media (max-width: 599px) {
        .tech_wrap .cross_wrap .cross_box {
          width: 24%; } }
      .tech_wrap .cross_wrap .cross_box div {
        background: url("../images/common/cross.svg") no-repeat top center/cover;
        width: 100%;
        padding-top: 101%; }
    .tech_wrap .cross_wrap .ace {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 38%;
      height: 100%;
      margin-top: 4.5em; }
      @media (max-width: 1024px) {
        .tech_wrap .cross_wrap .ace {
          margin-top: 0; } }
      @media (max-width: 599px) {
        .tech_wrap .cross_wrap .ace {
          width: 80%; } }
      .tech_wrap .cross_wrap .ace ul {
        padding-left: 1.2em;
        margin-top: 0.6em; }
        .tech_wrap .cross_wrap .ace ul li {
          font-size: 1.8rem;
          position: relative; }
          @media (max-width: 1024px) {
            .tech_wrap .cross_wrap .ace ul li {
              font-size: 1.5rem; } }
          @media (max-width: 599px) {
            .tech_wrap .cross_wrap .ace ul li {
              font-size: 1.2rem; } }
          .tech_wrap .cross_wrap .ace ul li::marker {
            font-size: 0; }
          .tech_wrap .cross_wrap .ace ul li::before {
            content: "";
            background: #231815;
            width: 8px;
            height: 3px;
            position: absolute;
            top: 50%;
            left: -1.2em;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tech_wrap .item {
    padding-top: 8em;
    position: relative; }
    @media (max-width: 599px) {
      .tech_wrap .item {
        padding-top: 6em; } }
    .tech_wrap .item::before {
      content: "";
      position: absolute;
      top: 15%;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 4rem; }
      @media (max-width: 1024px) {
        .tech_wrap .item::before {
          top: 20%;
          width: 3rem; } }
      @media (max-width: 599px) {
        .tech_wrap .item::before {
          top: 22%;
          width: 2.4rem; } }
    .tech_wrap .item.equal::before {
      content: url("../images/common/equal.svg"); }
    .tech_wrap .item.plus::before {
      content: url("../images/common/plus.svg"); }

/*Our Network*/
#modal_on .modal-content {
  background: #d3d3d2; }
  #modal_on .modal-content .on_box {
    padding: 2em 4em 5%; }
    @media (max-width: 1024px) {
      #modal_on .modal-content .on_box {
        padding: 2em 3em 5%; } }
    @media (max-width: 768px) {
      #modal_on .modal-content .on_box {
        padding: 2em 2em 5%; } }
    @media (max-width: 599px) {
      #modal_on .modal-content .on_box {
        padding: 1.2em 1.5em 5%; } }
    #modal_on .modal-content .on_box h2 {
      margin-top: 0; }
      @media (max-width: 1024px) {
        #modal_on .modal-content .on_box h2 {
          font-size: 1.5rem; } }

/*tabの形状*/
.tab {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  padding-left: 0;
  margin-top: 3em; }
  @media (max-width: 768px) {
    .tab {
      row-gap: 2em; } }
  @media (max-width: 599px) {
    .tab {
      margin-top: 1em; } }
  .tab li {
    width: 25%;
    text-align: center; }
    @media (max-width: 768px) {
      .tab li {
        width: 50%; } }
    .tab li.active a {
      border: solid 3px #fff;
      border-bottom: none;
      border-radius: 10px 10px 0 0;
      color: #231815; }
      @media (max-width: 599px) {
        .tab li.active a {
          border: solid 2px #fff;
          border-bottom: none; } }
    .tab li a {
      display: block;
      padding: 1rem 0.6rem;
      border-bottom: solid 3px #fff;
      font-size: 1.4rem;
      color: #4a4330; }
      @media (max-width: 1024px) {
        .tab li a {
          font-size: 1.2rem; } }
      @media (max-width: 599px) {
        .tab li a {
          padding: 0.4rem 0.6rem;
          border-bottom: solid 2px #fff;
          font-size: 1rem; } }
  .tab.tab2 li {
    width: 50%; }

/*エリアの表示非表示と形状*/
.area {
  display: none;
  opacity: 0;
  padding: 3em 0; }
  @media (max-width: 599px) {
    .area {
      padding-top: 1em; } }
  .area#click_na {
    position: relative; }
    .area#click_na:hover::before {
      content: url("../images/common/na_detail.svg");
      width: 100%;
      height: 100%;
      position: absolute;
      top: 20%;
      left: 10%; }
  .area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards; }
  .area .on_list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1em; }
  .area h3 {
    font-size: 1.4rem;
    margin: 0.3em 0 1em;
    padding-bottom: 0.4em;
    border-bottom: solid 2px #fff;
    display: inline-block; }
    @media (max-width: 1024px) {
      .area h3 {
        font-size: 1.2rem; } }
  .area .rh_wrap {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4em; }
    @media (max-width: 1024px) {
      .area .rh_wrap {
        flex-direction: column;
        gap: 0; } }
    .area .rh_wrap div a {
      display: block;
      margin-top: 8.6%;
      padding-right: 1.4em;
      position: relative; }
      @media (max-width: 1024px) {
        .area .rh_wrap div a {
          margin-top: 0; } }
      .area .rh_wrap div a::after {
        content: url("../images/common/link.svg");
        width: 15px;
        height: 15px;
        position: absolute;
        top: 14%;
        right: 0; }
  .area dl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 0; }
    @media (max-width: 599px) {
      .area dl {
        gap: 5px; } }
    .area dl dt {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 0.8em;
      font-size: 1.6rem;
      font-weight: 600; }
      @media (max-width: 1024px) {
        .area dl dt {
          font-size: 1.4rem; } }
      @media (max-width: 599px) {
        .area dl dt {
          flex-direction: column;
          align-items: flex-start;
          gap: 0.3em;
          font-size: 1.2rem;
          line-height: 1.3em; } }
      .area dl dt span {
        font-size: 1.4rem; }
        @media (max-width: 1024px) {
          .area dl dt span {
            font-size: 1.2rem; } }
        @media (max-width: 599px) {
          .area dl dt span {
            font-size: 1rem; } }
    .area dl dd {
      font-weight: 600; }
      @media (max-width: 599px) {
        .area dl dd {
          font-size: 0.85rem;
          line-height: 1.5em; } }
      .area dl dd.pin {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1em;
        width: 100%; }
        .area dl dd.pin .pin_img {
          width: 15px; }
          .area dl dd.pin .pin_img div {
            background: url("../images/common/pin.svg") no-repeat top center/cover;
            width: 100%;
            padding-top: 147%; }
      .area dl dd span {
        margin-left: 14px; }

@keyframes displayAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
#colorbox,
#cboxOverlay,
#cboxWrapper {
  z-index: 999999; }

#cboxOverlay {
  background: rgba(0, 0, 0, 0.4); }

#colorbox {
  width: 100%; }
  #colorbox #cboxContent {
    background: none; }

#cboxMiddleRight,
#cboxMiddleLeft {
  width: 10px; }

.modal_outer {
  display: block; }
  .modal_outer .modal-dialog {
    max-width: 100%; }
    .modal_outer .modal-dialog .modal-content {
      border: none; }

#cboxClose {
  top: 2%;
  right: 2%;
  bottom: inherit;
  background: url("../images/common/close.svg") no-repeat top center/cover;
  width: 4rem;
  height: 4rem;
  font-size: 0;
  text-indent: inherit; }
  #cboxClose:hover {
    background-position: inherit; }
  @media (max-width: 599px) {
    #cboxClose {
      right: 3%;
      width: 3rem;
      height: 3rem; } }
  @media (max-width: 599px) {
    #cboxClose {
      right: 5%;
      width: 2rem;
      height: 2rem; } }

#cboxTopLeft,
#cboxTopCenter,
#cboxTopRight {
  height: 10px; }

#second.who h3 {
  position: relative;
  padding-left: 15px;
  margin-top: 2em; }
  #second.who h3::before {
    content: "";
    background: #231815;
    width: 5px;
    height: 80%;
    position: absolute;
    top: 3px;
    left: 0; }
#second.who h4 {
  position: relative;
  padding-left: 15px;
  margin-bottom: 0.6em; }
  #second.who h4::before {
    content: "";
    background: #7eb367;
    width: 5px;
    height: 25px;
    position: absolute;
    top: 2px;
    left: 0; }
    @media (max-width: 1024px) {
      #second.who h4::before {
        height: 23px;
        top: 0; } }
    @media (max-width: 599px) {
      #second.who h4::before {
        height: 22px; } }
#second.news h3 {
  margin-top: 0;
  padding-left: 0; }
  #second.news h3::before {
    content: none; }
#second.form {
  background: none; }
#second main {
  padding-bottom: 0; }
#second #upper_btn {
  display: none; }
#second .wrap {
  padding-bottom: 10em; }
#second .list_grid a:nth-child(n + 4) {
  display: block; }
#second .search_wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-top: 3em; }
  @media (max-width: 1024px) {
    #second .search_wrap {
      flex-direction: column;
      row-gap: 1em; } }
  @media (max-width: 599px) {
    #second .search_wrap {
      margin-top: 1em; } }
#second .wp-pagenavi {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 70%; }
  @media (max-width: 1024px) {
    #second .wp-pagenavi {
      width: 90%; } }
  @media (max-width: 599px) {
    #second .wp-pagenavi {
      justify-content: space-between;
      gap: 5px;
      width: 100%; } }
  @media (max-width: 599px) {
    #second .wp-pagenavi a {
      padding: 0em 0.5em; } }
#second .prd_grid h3 {
  padding-left: 0; }
  #second .prd_grid h3::before {
    content: none; }

.modal_outer.modal2 .modal-dialog {
  max-width: 100%;
  margin: 0 auto; }
  .modal_outer.modal2 .modal-dialog h2 {
    border-bottom: none; }
    @media (max-width: 1024px) {
      .modal_outer.modal2 .modal-dialog h2 {
        font-size: 1.8rem; } }
    @media (max-width: 599px) {
      .modal_outer.modal2 .modal-dialog h2 {
        font-size: 1.4rem; } }
  .modal_outer.modal2 .modal-dialog .modal-content .modal_wrap .modal_box h3 {
    font-size: 1.4rem;
    font-weight: 600;
    padding-bottom: 0.25em;
    margin: 1.4em 0 0.6em; }
    @media (max-width: 1024px) {
      .modal_outer.modal2 .modal-dialog .modal-content .modal_wrap .modal_box h3 {
        font-size: 1.3rem;
        margin: 1em 0 0.3em; } }
    @media (max-width: 599px) {
      .modal_outer.modal2 .modal-dialog .modal-content .modal_wrap .modal_box h3 {
        font-size: 1.1rem; } }
.modal_outer .row1 {
  grid-template-rows: 1fr; }
  .modal_outer .row1 .item {
    grid-row: inherit;
    grid-column: inherit; }
.modal_outer .row2 .item {
  grid-row: inherit;
  grid-column: inherit; }
  .modal_outer .row2 .item .thumb {
    padding-top: 56%; }

#top {
  margin-top: 5em; }

.sdgs_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  justify-items: stretch;
  gap: 1.5em;
  padding: 0 6%;
  margin: 2em 0; }
  .sdgs_grid div {
    text-align: center; }
    .sdgs_grid div img {
      width: 70%; }
      @media (max-width: 1024px) {
        .sdgs_grid div img {
          width: 100%; } }

.sdgs_grid2 {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 4%; }

#history table th {
  width: 10%; }
  @media (max-width: 1024px) {
    #history table th {
      width: 30%; } }
#history table td {
  width: 90%; }
  @media (max-width: 1024px) {
    #history table td {
      width: 70%; } }

#awards #scroll {
  overflow-x: scroll; }
  #awards #scroll table {
    width: 100%; }
    @media (max-width: 1024px) {
      #awards #scroll table {
        width: 1200px; } }
    #awards #scroll table th {
      border-top: none;
      font-weight: bold; }
    #awards #scroll table th,
    #awards #scroll table td {
      width: fit-content;
      padding: 1em; }
      #awards #scroll table th:nth-of-type(2),
      #awards #scroll table td:nth-of-type(2) {
        width: 20%; }
      #awards #scroll table th:nth-of-type(3),
      #awards #scroll table td:nth-of-type(3) {
        width: 40%; }

.abbreviation_box {
  border: solid 3px #231815;
  margin: 1em 0 clamp(2em, 6vw, 4em);
  padding: 2em 1.6em; }
  @media (max-width: 599px) {
    .abbreviation_box {
      padding: 1em 0.6em; } }
  .abbreviation_box ul {
    display: flex;
    flex-flow: column nowrap;
    gap: 6px;
    padding-left: 0;
    margin-bottom: 0;
    width: 50%; }
    @media (max-width: 1440px) {
      .abbreviation_box ul {
        width: 70%; } }
    @media (max-width: 1024px) {
      .abbreviation_box ul {
        width: 100%; } }
    .abbreviation_box ul li {
      display: grid;
      grid-template-columns: 1fr 8fr;
      align-items: center;
      justify-items: start;
      gap: 1em;
      padding-left: 1em;
      position: relative;
      width: 100%; }
      @media (max-width: 1024px) {
        .abbreviation_box ul li {
          grid-template-columns: 1fr 6fr; } }
      @media (max-width: 599px) {
        .abbreviation_box ul li {
          grid-template-columns: 1fr 4fr;
          gap: 10px; } }
      .abbreviation_box ul li::before {
        content: "・";
        font-size: 1.2rem;
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }

.scroll-hint-icon-wrap {
  height: 10%; }
  .scroll-hint-icon-wrap .scroll-hint-icon {
    width: 200px;
    height: 100px;
    left: calc(50% - 90px); }
    .scroll-hint-icon-wrap .scroll-hint-icon .scroll-hint-text {
      font-size: 1.2rem;
      margin-top: 8px; }

/*Contact*/
#contact h4:first-of-type {
  margin-top: 2em; }
#contact .language_menu {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: center;
  gap: 10px;
  background: #80c279;
  outline: 3px solid #fff;
  outline-offset: -8px;
  height: fit-content;
  padding: 6px; }
  @media (max-width: 1024px) {
    #contact .language_menu {
      flex-flow: column nowrap; } }
  #contact .language_menu div {
    width: 33%;
    position: relative; }
    @media (max-width: 1024px) {
      #contact .language_menu div {
        width: 100%; } }
    #contact .language_menu div:last-of-type::after {
      content: none; }
    #contact .language_menu div::after {
      content: "";
      background: #fff;
      width: 1px;
      height: 40%;
      position: absolute;
      top: 50%;
      right: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media (max-width: 1024px) {
        #contact .language_menu div::after {
          width: 80%;
          height: 1px;
          top: inherit;
          right: inherit;
          bottom: 0;
          left: 50%;
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%); } }
    #contact .language_menu div a {
      display: block;
      color: #fff;
      text-align: center;
      font-size: 1.8rem;
      font-weight: bold;
      padding: 1.6em 1em; }
      @media (max-width: 1024px) {
        #contact .language_menu div a {
          font-size: 1.4rem;
          padding: 1em; } }
      @media (max-width: 599px) {
        #contact .language_menu div a {
          font-size: 1.2rem; } }

.greeting p:last-of-type {
  margin-top: clamp(1.6em, 4vw, 2em); }

.btn_contact {
  background: #80c279;
  margin: 0.8em 0 3em; }
  .btn_contact a,
  .btn_contact input {
    display: block;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 1.6em 1em;
    outline: 3px solid #fff;
    outline-offset: -8px; }
    @media (max-width: 1024px) {
      .btn_contact a,
      .btn_contact input {
        font-size: 1.4rem; } }
    @media (max-width: 599px) {
      .btn_contact a,
      .btn_contact input {
        font-size: 1.2rem; } }

.form #formwrap {
  width: 60%;
  margin: 2em auto 0; }
  @media (max-width: 1024px) {
    .form #formwrap {
      width: 86%; } }
  .form #formwrap h2,
  .form #formwrap h3 {
    color: #80c279; }
  .form #formwrap h2 {
    padding-bottom: 1.2em;
    position: relative; }
    @media (max-width: 1336px) {
      .form #formwrap h2 {
        font-size: 2.3rem; } }
    @media (max-width: 1024px) {
      .form #formwrap h2 {
        font-size: 2rem; } }
    @media (max-width: 599px) {
      .form #formwrap h2 {
        font-size: 1.6rem; } }
    .form #formwrap h2::before {
      content: "";
      background: #80c279;
      width: 5%;
      height: 2px;
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); }
  .form #formwrap h3 {
    padding-left: 0;
    margin: 1.4em 0 3em; }
    .form #formwrap h3::before {
      content: none; }
  @media (max-width: 1024px) {
    .form #formwrap h4::before {
      top: 0;
      height: 23px; } }
  @media (max-width: 599px) {
    .form #formwrap h4::before {
      height: 22px; } }
  .form #formwrap .required {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    background: #ff2050;
    border-radius: 3px;
    font-size: 0.8rem;
    text-align: center;
    vertical-align: middle;
    letter-spacing: 5px;
    color: #fff;
    height: 25px;
    padding: 0 0.4em;
    margin-right: 0.5em;
    margin-bottom: 0.4em; }
  .form #formwrap form {
    margin-top: 1em; }
    .form #formwrap form input[type="text"],
    .form #formwrap form input[type="email"],
    .form #formwrap form input[type="tel"] {
      width: 100%;
      height: 40px; }
      .form #formwrap form input[type="text"].p-postal-code, .form #formwrap form input[type="text"].unit,
      .form #formwrap form input[type="email"].p-postal-code,
      .form #formwrap form input[type="email"].unit,
      .form #formwrap form input[type="tel"].p-postal-code,
      .form #formwrap form input[type="tel"].unit {
        max-width: 160px;
        width: 40%; }
    .form #formwrap form input[type="text"],
    .form #formwrap form input[type="email"],
    .form #formwrap form input[type="tel"],
    .form #formwrap form input[type="checkbox"],
    .form #formwrap form input[type="number"],
    .form #formwrap form select,
    .form #formwrap form textarea {
      border: solid 1px #efefef;
      padding: 0.3em; }
    .form #formwrap form input[type="checkbox"],
    .form #formwrap form input[type="radio"] {
      width: 18px;
      height: 18px;
      vertical-align: middle; }
      @media (max-width: 599px) {
        .form #formwrap form input[type="checkbox"],
        .form #formwrap form input[type="radio"] {
          width: 16px;
          height: 16px; } }
    .form #formwrap form input[type="radio"] {
      margin-right: 0.3em; }
    .form #formwrap form input[type="file"],
    .form #formwrap form input[type="number"] {
      width: 100%; }
    .form #formwrap form .btn_contact {
      background: none; }
    .form #formwrap form textarea {
      width: 100%;
      height: 200px; }
    .form #formwrap form select {
      display: block;
      max-width: 120px;
      width: 100%;
      height: 40px;
      text-align: center; }
      .form #formwrap form select.p-region {
        max-width: fit-content;
        margin-bottom: 1em; }
      @media (max-width: 1024px) {
        .form #formwrap form select.addr {
          max-width: 120px; } }
      @media (max-width: 1024px) {
        .form #formwrap form select {
          max-width: 100%; } }
    .form #formwrap form .p-postal-code,
    .form #formwrap form .addr {
      margin-bottom: 0.8em; }
    .form #formwrap form .several {
      padding: 3em 0;
      border-bottom: solid 1px #efefef;
      margin-bottom: 1em; }
    .form #formwrap form dl {
      margin-top: 2em; }
      .form #formwrap form dl:first-of-type {
        border-bottom: solid 1px #efefef;
        padding-bottom: 0.6em; }
      .form #formwrap form dl:nth-of-type(3) {
        margin-top: 0; }
      .form #formwrap form dl:last-of-type dt {
        margin-top: 2em; }
        .form #formwrap form dl:last-of-type dt:first-of-type {
          margin-top: 0; }
      .form #formwrap form dl dt {
        font-weight: bold;
        margin-bottom: 0.4em; }
        .form #formwrap form dl dt span {
          font-weight: normal; }
          .form #formwrap form dl dt span.required {
            margin: 0 0.5em; }
      .form #formwrap form dl dd {
        margin-bottom: 1em; }
        .form #formwrap form dl dd .required {
          margin-left: 0.5em; }
        .form #formwrap form dl dd .ex {
          font-size: 0.85rem;
          margin-left: 1em; }
        .form #formwrap form dl dd label {
          margin: 0 0.6em 0 0.1em;
          vertical-align: middle; }
    .form #formwrap form div.h-adr2 dl:first-of-type {
      border-bottom: none; }
  .form #formwrap .h-adr dl {
    margin-bottom: 0;
    border-bottom: none; }
  .form #formwrap .acquired_flex {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    gap: 10px;
    border-bottom: solid 1px #efefef;
    padding-bottom: 1.4em; }
    @media (max-width: 1024px) {
      .form #formwrap .acquired_flex {
        flex-direction: column;
        align-items: flex-start; } }
    .form #formwrap .acquired_flex span {
      font-size: 0.85rem; }
      @media (max-width: 1024px) {
        .form #formwrap .acquired_flex span {
          width: 10%; } }
      @media (max-width: 599px) {
        .form #formwrap .acquired_flex span {
          width: 15%; } }
    .form #formwrap .acquired_flex div {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-around;
      align-items: center;
      width: 40%; }
      @media (max-width: 599px) {
        .form #formwrap .acquired_flex div {
          width: 100%; } }
      @media (max-width: 599px) {
        .form #formwrap .acquired_flex div:first-of-type {
          width: 98%; } }
      .form #formwrap .acquired_flex div .wpcf7-form-control-wrap {
        width: 100%; }
    .form #formwrap .acquired_flex select {
      max-width: 100%; }
  .form #formwrap .codedropz-upload-inner span:nth-of-type(2n) {
    display: none; }
  .form #formwrap .agreement {
    font-size: 1.2rem; }
  .form #formwrap .btn_contact {
    max-width: 500px;
    width: 100%;
    margin: 3em auto 2em; }
    .form #formwrap .btn_contact input {
      background: #80c279;
      border: none;
      width: 100%;
      font-size: 1.6rem;
      padding: 1em 1em 1em calc(1em + 30px);
      letter-spacing: 30px;
      cursor: pointer; }
      @media (max-width: 1024px) {
        .form #formwrap .btn_contact input {
          padding: 1.6em 1em 1.6em calc(1em + 30px); } }
      @media (max-width: 599px) {
        .form #formwrap .btn_contact input {
          font-size: 1.3rem;
          padding: 1.3em 1em 1.3em calc(1em + 15px);
          letter-spacing: 15px; } }
    .form #formwrap .btn_contact.btn_close {
      margin-top: 6em;
      display: none; }
      .form #formwrap .btn_contact.btn_close input {
        padding: 1em;
        letter-spacing: 10px; }
  .form #formwrap .btn_reset {
    max-width: 350px;
    width: 100%; }
    @media (max-width: 599px) {
      .form #formwrap .btn_reset {
        width: 70%; } }
    .form #formwrap .btn_reset input {
      display: block;
      width: 100%;
      border: none;
      color: #fff;
      background: #ccc;
      font-size: 1.6rem;
      padding: 0.5em 3em;
      margin: 0 auto;
      cursor: pointer; }
      @media (max-width: 1024px) {
        .form #formwrap .btn_reset input {
          padding: 1em 3em; } }
      @media (max-width: 599px) {
        .form #formwrap .btn_reset input {
          font-size: 1.3rem;
          padding: 0.6em 3em; } }
  .form #formwrap .pi_box {
    margin-top: 6em; }
    .form #formwrap .pi_box .title {
      color: #80c279;
      font-size: 1.8rem;
      margin-bottom: 2.4em; }
      @media (max-width: 599px) {
        .form #formwrap .pi_box .title {
          font-size: 1.6rem;
          margin-bottom: 1.4em; } }
    .form #formwrap .pi_box .title2 {
      font-size: 1.4rem;
      margin: 1em 0; }
      @media (max-width: 599px) {
        .form #formwrap .pi_box .title2 {
          font-size: 1.2rem; } }
  .form #formwrap.formen .btn_contact input {
    letter-spacing: 5px; }
  .form #formwrap.formen .required {
    letter-spacing: 1px; }

.copyright {
  margin-top: 10em;
  padding: 1em 0; }
  @media (max-width: 599px) {
    .copyright {
      font-size: 0.75rem; } }

.img_description {
  margin-left: 2em; }

.img_grid,
.img_grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: flex-start;
  justify-items: center;
  gap: 30px;
  width: 100%; }
  .img_grid .item,
  .img_grid2 .item {
    width: 100%; }
    .img_grid .item img,
    .img_grid2 .item img {
      width: 100%;
      margin-bottom: 10px; }
  .img_grid .title,
  .img_grid2 .title {
    display: flex;
    flex-flow: row nowrap;
    gap: 1.5em;
    justify-content: space-around;
    align-items: center; }
    .img_grid .title p:nth-of-type(2),
    .img_grid2 .title p:nth-of-type(2) {
      font-size: 1.8rem !important; }
      @media (max-width: 1440px) {
        .img_grid .title p:nth-of-type(2),
        .img_grid2 .title p:nth-of-type(2) {
          font-size: 1.6rem !important; } }
      @media (max-width: 1024px) {
        .img_grid .title p:nth-of-type(2),
        .img_grid2 .title p:nth-of-type(2) {
          font-size: 1.4rem !important; } }
      .img_grid .title p:nth-of-type(2) strong,
      .img_grid2 .title p:nth-of-type(2) strong {
        font-size: 2.2rem !important; }
        @media (max-width: 1440px) {
          .img_grid .title p:nth-of-type(2) strong,
          .img_grid2 .title p:nth-of-type(2) strong {
            font-size: 2rem !important; } }
        @media (max-width: 1024px) {
          .img_grid .title p:nth-of-type(2) strong,
          .img_grid2 .title p:nth-of-type(2) strong {
            font-size: 1.8rem !important; } }

.img_grid2 {
  margin: 1em 0 3em; }
  .img_grid2 .item img {
    width: auto; }
  @media (max-width: 1024px) {
    .img_grid2 {
      grid-template-columns: auto; } }

.column2,
.column3 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 1.5em;
  margin: 1em 0; }
  .column2 div,
  .column2 p,
  .column3 div,
  .column3 p {
    display: inline-block; }
  .column2 img,
  .column3 img {
    width: 100%; }

.column2 div {
  width: 30%; }
  @media (max-width: 599px) {
    .column2 div {
      width: auto; } }

.column3 div {
  width: 15%; }
  @media (max-width: 599px) {
    .column3 div {
      width: auto; } }

.nb h2 {
  border-bottom: none; }
  .nb h2:nth-child(n + 2) {
    margin-top: 3.6em; }

.no_bg {
  background: #d3d3d2; }

.cookie-consent {
  display: flex;
  justify-content: inherit;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 13px;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  padding: 1.2em;
  box-sizing: border-box;
  visibility: hidden;
  z-index: 999998; }
  @media (max-width: 599px) {
    .cookie-consent {
      font-size: 10px;
      flex-direction: column; } }
  .cookie-consent.is-show {
    visibility: visible; }
  .cookie-consent a {
    color: #fff !important; }

@media (max-width: 599px) {
  .cookie-text {
    margin-bottom: 1em; } }

.cookie-agree {
  color: black;
  background: white;
  padding: 0.5em 1.5em;
  margin-left: 20px; }
  .cookie-agree:hover {
    cursor: pointer; }

.cc-hide2 {
  animation: hide 0.5s linear 0s;
  animation-fill-mode: forwards; }

@keyframes hide {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    visibility: hidden; } }
.dawnload {
  margin-top: 1.6em; }
  .dawnload a {
    color: #3f75d9;
    position: relative;
    padding: 0 1.2em 0 0.2em; }
    .dawnload a::after {
      content: "";
      background: url("../images/common/pdf.png") no-repeat top center/cover;
      width: 5%;
      padding-top: 5%;
      position: absolute;
      top: -6px;
      right: 0; }

.ch .list_grid {
  font-family: "Noto Serif SC", serif; }
  @media (min-width: 2000px) {
    .ch .list_grid .description {
      margin-top: 3em; } }
  @media (max-width: 1024px) {
    .ch .list_grid .description {
      margin-top: 2.9em; } }
  .ch .list_grid .description.des_10m {
    margin-top: 2em; }
    @media (min-width: 2000px) {
      .ch .list_grid .description.des_10m {
        margin-top: 1.5em; } }
  .ch .list_grid .item:nth-child(3) .description.des_10m {
    margin-top: 3em; }

.news_wrap table {
  width: 100%;
  border-bottom: solid 1px #231815;
  border-left: solid 1px #231815; }
  .news_wrap table th {
    background: #e6e6e6; }
  .news_wrap table td {
    background: #fff; }
  .news_wrap table th,
  .news_wrap table td {
    font-weight: normal;
    padding: 1em;
    border-top: solid 1px #231815;
    border-right: solid 1px #231815; }
    .news_wrap table th.line_top,
    .news_wrap table td.line_top {
      border: solid 3px #231815;
      border-bottom: solid 1px #231815; }
    .news_wrap table th.line_side,
    .news_wrap table td.line_side {
      border-right: solid 3px #231815;
      border-left: solid 3px #231815;
      border-top: none;
      border-bottom: solid 1px #231815; }
    .news_wrap table th.line_bottom,
    .news_wrap table td.line_bottom {
      border: solid 3px #231815;
      border-top: solid 1px #231815; }
  .news_wrap table.table3 th,
  .news_wrap table.table3 td {
    width: 33%; }
  .news_wrap table.table4 th,
  .news_wrap table.table4 td {
    width: 25%; }

.sdgs_img img {
  width: 100%;
  max-width: 1600px; }

#whoweare,
#ourproducts,
#ourtechnologies {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%); }
