@charset "UTF-8";
/* ============================================================================
header
============================================================================== */
.header {
  background-color: white;
  z-index: 10;
  width: 100%;
  transition: all 0.5s; }
  @media screen and (max-width: 991px) {
    .header {
      position: fixed;
      top: 0;
      width: 100%;
      left: 0;
      height: 4.5rem;
      } }

.header.is-scroll {
  background-color: white; }
  .header.is-scroll .header_logo img:nth-child(1) {
    opacity: 1; }
  .header.is-scroll .header_logo img:nth-child(2) {
    opacity: 0; }
  .header.is-scroll .header_translate img {
    filter: unset; }
  .header.is-scroll .header_translate a {
    color: #03356c; }
  .header.is-scroll .hamburger {
    border-color: #cacad6; }
  .header.is-scroll .hamburger span {
    background-color: #03356c; }

@media screen and (max-width: 991px) {
  .header_inner {
    height: 100%; } }

.header_top {
  display: flex;
  align-items: center;
  width: 100%;
  height: 84px;
  max-width: 1170px;
  padding: 0 16px;
  margin: 0 auto; }
  @media screen and (max-width: 991px) {
    .header_top {
      height: 100%;
      padding: 0;
      padding-left: 1.6rem; } }

.header_logo {
  position: relative;
  width: 7.8125vw;
  max-width: 15rem; }
  @media screen and (max-width: 991px) {
    .header_logo {
      width: 9.25rem; } }

.header_logo img {
  display: inline-block;
  width: 100%; }
  @media screen and (max-width: 991px) {
    .header_logo img {
      opacity: 0; } }

.header_logo img:nth-child(2) {
  display: none; }
  @media screen and (max-width: 991px) {
    .header_logo img:nth-child(2) {
      opacity: 1;
      display: block;
      position: absolute;
      width: 9.25rem;
      left: 0;
      top: 0; } }

.header_lead {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  gap: 0.4rem;
  margin-left: 1.6rem; }
  @media screen and (max-width:1200px) {
    .header_lead {
      font-size: 1.4rem;
    }
  }
  @media screen and (max-width: 991px) {
    .header_lead {
      font-weight: 700; } }
  @media screen and (max-width: 991px) {
    .header_lead {
      display: none; } }

.en .header_lead {
  letter-spacing: normal;
  font-size: 1.4rem; }

.header_lead img {
  width: 7rem; }

.header_links {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  gap: 1.25vw;
  margin-left: auto; }
  @media screen and (max-width:1200px) {
    .header_links {
      gap: 1vw;
    }
  }
  @media screen and (max-width: 991px) {
    .header_links {
      display: none; } }

.en .header_link_tel {
  display: none; }

.header_link_company a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: #03356c;
  transition: all 0.3s; }
  @media screen and (max-width: 991px) {
    .header_link_company a {
      font-weight: 700; } }
  .header_link_company a:hover {
    opacity: 0.7; }

.header_link_company img {
  width: 2.8rem; }

.header_link_tel img {
  width: 2rem; }

.header_link_tel a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  line-height: 1; }

.header_link_tel span {
  font-size: 2.5rem;
  font-weight: 900; }
  @media screen and (max-width:1200px) {
    .header_link_tel span {
      font-size: 2.2rem;
    }
  }
  @media screen and (max-width: 991px) {
    .header_link_tel span {
      font-weight: 700; } }

.en .header_link_tel span {
  font-size: 2rem; }

.header_link_tel small {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  margin-top: 4px; }

.header_linke_contact {
  width: 16rem; }

.header_globalNav {
  width: 100%;
  height: 55px; }
  @media screen and (max-width: 991px) {
    .header_globalNav {
      display: none; } }

.header_globalNav_follow {
  position: fixed;
  top: -55px;
  left: 0;
  width: 100%;
  transition: all 0.5s;
  z-index: 10; }

.header_globalNav_follow.is-scroll {
  top: 0; }

@media screen and (max-width:991px) {
  .header_youtube {
    width: 2.5rem;
    margin-left: auto;
  }
  .header_youtube a {
    display: block;
  }
}

.header_translate {
  display: none; }
  @media screen and (max-width: 991px) {
    .header_translate {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-left: 1.6rem; }
      .header_translate a {
        color: #03356c;
        font-size: 1.4rem;
        font-weight: 900;
        letter-spacing: 0.1em;
        margin-top: 3px;
        transition: all 0.3s; } }
    @media screen and (max-width: 991px) and (max-width: 991px) {
      .header_translate a {
        font-weight: 700; } }
  @media screen and (max-width: 991px) {
      .header_translate img {
        /*filter: brightness(0) invert(1);*/
        width: 1.3rem;
        transition: all 0.3s; } }

.header_hamburger {
  display: none; }
  @media screen and (max-width: 991px) {
    .header_hamburger {
      position: relative;
      z-index: 1;
      display: block;
      width: 5rem;
      height: 100%;
      margin-left: 1.2rem; } }

/* ============================================================================
globalNav
============================================================================== */
.globalNav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  height: 100%;
  background-color: #f9f9f9; }
@media screen and (max-width:1200px) {
  .globalNav {
    gap: 1rem;
  }
}

.globalNav > ul {
  display: flex;
  height: 100%;
  align-items: center; }

.globalNav > ul > li {
  height: 100%; }

.globalNav > ul > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  padding-inline: 26px;
  transition: all 0.3s; }
  @media screen and (max-width:1200px) {
    .globalNav > ul > li > a {
      font-size: 1.4rem;
      padding-inline: 1.8rem;
    }
    .header_globalNav_follow .globalNav > ul > li > a {
      padding-inline: 1.5rem;
    }
  }
  @media screen and (max-width: 991px) {
    .globalNav > ul > li > a {
      font-weight: 700; } }

.en .globalNav > ul > li > a {
  padding-inline: 20px;
  letter-spacing: normal; }

.globalNav > ul > li > a::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 38px;
  left: 0;
  background-color: #e3e3e3;
  top: 50%;
  transform: translateY(-50%); }

.globalNav > ul > li > a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 6px;
  bottom: 0;
  left: 0;
  background-color: #03356c;
  opacity: 0;
  transition: all 0.3s; }

.globalNav > ul > li.is-active > a {
  color: #03356c; }
  .globalNav > ul > li.is-active > a::after {
    opacity: 1; }

.globalNav > ul > li > a:hover {
  color: #03356c;
  background: rgba(3, 53, 108, 0.05); }
  .globalNav > ul > li > a:hover::after {
    opacity: 1; }

.globalNav > ul > li:hover .megaMenu {
  visibility: visible;
  opacity: 1; }

.globalNav > ul > li:last-child {
  position: relative; }
  .globalNav > ul > li:last-child::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 38px;
    right: 0;
    background-color: #e3e3e3;
    top: 50%;
    transform: translateY(-50%); }

.globalNav_translate {
  display: flex;
  align-items: center;
  gap: 5px; }

.globalNav_translate img {
  width: 18px; }

.globalNav_translate ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 70px; }

.globalNav_translate li {
  position: relative; }

.globalNav_translate li a {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 1.4rem;
  color: white;
  background-color: #bbbbbb;
  padding-block: 0px; }

.globalNav_translate li.current a {
  background-color: #03356c; }

/* ============================================================================
メガメニュー
============================================================================== */
.megaMenu {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  left: 0;
  min-height: 300px;
  background: rgba(0, 65, 136, 0.92);
  gap: 34px;
  padding-block: 40px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s; }

.megaMenu::before {
  position: absolute;
  content: "";
  width: 334px;
  height: 303px;
  background: url(../img/img-common/bg_mega.png) center center/contain no-repeat;
  left: 280px;
  bottom: 0; }

.megaMenu_title {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 900;
  color: white;
  letter-spacing: 0.2em; }
  @media screen and (max-width: 991px) {
    .megaMenu_title {
      font-weight: 700; } }

.megaMenu_btn {
  position: relative;
  z-index: 1;
  width: 200px;
  margin-top: 24px; }

.megaMenu_btn:hover a {
  opacity: 1;
  color: white;
  background-color: #03356c; }

.megaMenu_links {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 200px 200px 280px;
  grid-template-rows: 90px 90px;
  gap: 20px; }

.megaMenu_link:nth-child(1) {
  grid-row: 1/3; }
  .megaMenu_link:nth-child(1) a {
    padding: 10px;
    text-align: center;
    font-size: 1.6rem;
    line-height: calc(20/16);
    letter-spacing: 0.05em; }
  .megaMenu_link:nth-child(1) img {
    margin-bottom: 10px; }

.megaMenu_link:nth-child(2) {
  grid-row: 1/3; }
  .megaMenu_link:nth-child(2) a {
    padding: 10px;
    text-align: center;
    font-size: 1.6rem;
    line-height: calc(20/16);
    letter-spacing: 0.05em; }
  .megaMenu_link:nth-child(2) img {
    margin-bottom: 10px; }

.megaMenu_link:nth-child(3) a,
.megaMenu_link:nth-child(4) a {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  gap: 16px;
  padding: 10px 0px 10px 15px; }

.megaMenu_link a {
  display: inline-block;
  background-color: white;
  font-size: 1.6rem;
  font-weight: 900;
  height: 100%;
  width: 100%;
  line-height: calc(26/16);
  letter-spacing: 0.05em;
  color: #03356c;
  border-radius: 5px;
  transition: all 0.3s; }
  @media screen and (max-width: 991px) {
    .megaMenu_link a {
      font-weight: 700; } }

.megaMenu_link a:hover {
  background-color: #03356c;
  color: white; }

.megaMenu_link a img {
  display: block; }

/* ============================================================================
footer
============================================================================== */
.footer {
  background-color: #03356c;
  color: white;
  overflow: hidden;
  padding-top: 52px; }

.footer_inner.inner {
  max-width: 950px; }

.footer_head {
  position: relative;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.2em;
  background-color: white;
  padding-block: 8px;
  padding-left: 120px; }
  @media screen and (max-width: 991px) {
    .footer_head {
      font-weight: 700;
      text-align: left;
      max-width: 25rem;
      font-size: 1.4rem;
      line-height: calc(32/28);
      margin-inline: auto;
      padding-left: 7rem; } }

.en .footer_head {
  letter-spacing: 0.1em; }

.footer_head::before {
  position: absolute;
  content: "";
  background: url(../img/img-common/footer_01.png) center center/contain no-repeat;
  width: 157px;
  height: 116px;
  top: 50%;
  transform: translateY(-50%);
  left: 68px; }
  @media screen and (max-width: 991px) {
    .footer_head::before {
      width: 7.8rem;
      height: 5.8rem;
      left: -1.6rem; } }

.footer_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 48px; }
  @media screen and (max-width: 991px) {
    .footer_wrap {
      display: block; } }

@media screen and (max-width: 991px) {
  .footer_left {
    max-width: 25rem;
    margin-inline: auto; } }

.footer_company {
  position: relative; }
  .footer_company p {
    font-size: 1.8rem;
    font-weight: 900;
    color: white;
    margin-top: 14px; }
    @media screen and (max-width: 991px) {
      .footer_company p {
        font-weight: 700; } }
    @media screen and (max-width: 991px) {
      .footer_company p {
        font-size: 1.3rem; } }

.footer_company a {
  transition: all 0.3s; }

.footer_company a:hover {
  opacity: 0.8; }

.footer_company::after {
  position: absolute;
  bottom: 0;
  display: block;
  content: "";
  background: url(../img/img-common/footer_02.png) center center/contain no-repeat;
  width: 152px;
  height: 127px;
  left: 170px; }
  @media screen and (max-width: 991px) {
    .footer_company::after {
      width: 10rem;
      height: 8.56rem;
      left: 13.7rem; } }

.footer_company img {
  width: 177px; }
  @media screen and (max-width: 991px) {
    .footer_company img {
      width: 13rem; } }

.footer_address {
  color: white;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 991px) {
    .footer_address {
      font-size: 1.1rem; } }

.footer_tel {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px; }
  .footer_tel img {
    width: 15px;
    filter: brightness(0) invert(1); }
    @media screen and (max-width: 991px) {
      .footer_tel img {
        width: 0.9rem; } }
  .footer_tel a {
    color: white; }
    @media screen and (max-width: 991px) {
      .footer_tel a {
        font-weight: 900;
        font-size: 1.7rem; } }
  @media screen and (max-width: 991px) and (max-width: 991px) {
    .footer_tel a {
      font-weight: 700; } }

.en .footer_tel {
  display: none; }

.footer_links_pc {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 16px; }
  @media screen and (max-width: 991px) {
    .footer_links_pc {
      display: none; } }

.footer_links_sp {
  display: none; }
  @media screen and (max-width: 991px) {
    .footer_links_sp {
      width: 100vw;
      background-color: #0d3159;
      margin-left: calc(50% - 50vw);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 24px;
      margin-top: 2rem;
      padding-block: 0.8rem; } }

.footer_link a {
  position: relative;
  display: inline-block;
  color: white;
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  transition: all 0.3s; }
  @media screen and (max-width: 991px) {
    .footer_link a {
      font-weight: 700; } }
  .footer_link a:hover {
    opacity: 0.7; }
  @media screen and (max-width: 991px) {
    .footer_link a {
      font-size: 1rem; } }

.footer_link:nth-child(n+2) a::before {
  position: absolute;
  content: "";
  height: 13px;
  width: 1px;
  background-color: white;
  top: 50%;
  transform: translateY(-50%);
  left: -12px; }

.footer_nav {
  display: grid;
  grid-template-columns: 68% 1fr; }
  @media screen and (max-width: 991px) {
    .footer_nav {
      margin-top: 3.3rem;
      grid-template-columns: 60% 1fr; } }

.footer_nav li + li {
  margin-top: 6px; }
  @media screen and (max-width: 991px) {
    .footer_nav li + li {
      margin-top: 1.5rem; } }

.footer_nav li a {
  position: relative;
  display: inline-block;
  color: white;
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 991px) {
    .footer_nav li a {
      font-weight: 700; } }
  @media screen and (max-width: 991px) {
    .footer_nav li a {
      text-indent: -1em;
      margin-left: 1em;
      font-size: 1rem;
      line-height: calc(25/20); } }

.footer_nav li a::before {
  position: absolute;
  content: "";
  bottom: -1px;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: white;
  transition: all 0.3s; }

.footer_nav li a:hover::before {
  width: 100%; }

.footer_copy {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  text-align: center;
  background-color: #232323;
  color: white;
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  padding-block: 10px 70px;
  margin-top: 40px; }
  @media screen and (max-width: 991px) {
    .footer_copy {
      font-weight: 700; } }
  @media screen and (max-width: 991px) {
    .footer_copy {
      margin-top: 0;
      font-size: 0.8rem;
      padding-block: 10px; } }

/* ============================================================================
hamburger
============================================================================== */
.hamburger {
  position: relative;
  width: 100%;
  height: 100%;
  border-left: 1px solid #03356c; }

.hamburger.is-active {
  border: none;
  background-color: #fff; }

.hamburger span {
  position: absolute;
  display: inline-block;
  background-color: #03356c;
  height: 0.2rem;
  width: 2.1rem;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s; }

.hamburger span:nth-child(1) {
  top: calc(50% - 0.55rem); }

.hamburger span:nth-child(2) {
  top: 50%; }

.hamburger span:nth-child(3) {
  top: calc(50% + 0.55rem); }

/*.hamburger.is-active span {
  background-color: white !important; }*/

.hamburger.is-active span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(40deg); }

.hamburger.is-active span:nth-child(2) {
  opacity: 0; }

.hamburger.is-active span:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-40deg); }

/* ============================================================================
drawer
============================================================================== */
.header_drawer {
  display: none; }
  @media screen and (max-width: 991px) {
    .header_drawer {
      display: block; } }

.drawer {
  position: fixed;
  width: 100%;
  height: 100dvh;
  min-height: 100dvh;
  top: 0;
  left: 0;
  background-color: #03356c;
  padding: 1.7rem 2rem 5rem;
  overflow-y: scroll;
  display: none; }

.drawer::before {
  position: absolute;
  content: "";
  width: 17.2rem;
  height: 17rem;
  right: 1rem;
  top: -3.25rem;
  background: url(../img/img-common/bg_drawer.png) center center/contain no-repeat; }

.drawer_head {
  display: flex;
  align-items: center;
  gap: 1.2rem; }

.drawer_logo {
  width: 9.25rem; }
  .drawer_logo img {
    width: 100%; }

.drawer_img {
  width: 5rem; }
  .drawer_img img {
    width: 100%; }

.drawer_nav {
  margin-top: 2rem; }

.drawer_nav > ul > li {
  position: relative;
  border-top: 1px dotted white; }

.drawer_nav > ul > li:first-child {
  border-top: none; }

.drawer_nav > ul > li:last-child {
  border-bottom: 1px dotted white; }

.drawer_nav > ul > li > a {
  display: inline-block;
  width: 100%;
  position: relative;
  color: white;
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: 0.3em;
  line-height: 1;
  padding-block: 1.5rem;
  padding-left: 1.4rem; }
  @media screen and (max-width: 991px) {
    .drawer_nav > ul > li > a {
      font-weight: 700; } }
.drawer_nav > ul > li.youtube > a {
  letter-spacing: 0.1em;
  font-size: 1.35rem;
}
.drawer_nav > ul > li.youtube > a img.youtube {
  width: 2.35rem;
  margin-right: 1rem;
}
.drawer_nav > ul > li.youtube > a img.outer {
  width: 1.5rem;
  margin-left: 1rem;
}

.en .drawer_nav > ul > li > a {
  line-height: 1.25; }

.drawer_nav > ul > li > a::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/img-common/arrow.png) center center/contain no-repeat;
  right: 1.4rem;
  width: 0.7rem;
  height: 1rem; }

.drawer_nav > ul > li:nth-child(2) > a::before {
  display: none; }

.drawer_nav > ul > li:nth-child(2) > span {
  position: absolute;
  display: block;
  width: 2.2rem;
  height: 4.2rem;
  top: 0rem;
  right: 0.9rem;
  z-index: 1; }

.drawer_nav > ul > li:nth-child(2) > span::before {
  position: absolute;
  content: "";
  background: none;
  width: 1.1rem;
  height: 0.15rem;
  background-color: white;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.drawer_nav > ul > li:nth-child(2) > span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  transform: translate(-50%, -50%) rotate(90deg);
  right: 1.4rem;
  width: 1.1rem;
  height: 0.15rem;
  background-color: white;
  transition: all 0.3s; }

.drawer_nav > ul > li:nth-child(2).is-active > span::after {
  transform: translate(-50%, -50%); }

.drawer_contact {
  margin-top: 4rem;
  border: 1px dotted white;
  background-color: white;
  padding: 2.5rem 3rem; }
  .drawer_contact h3 {
    color: #03356c;
    text-align: center;
    font-size: 1.7rem;
    font-weight: 900;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 991px) {
      .drawer_contact h3 {
        font-weight: 700; } }

.drawer_tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  margin-top: 1.5rem; }
  .drawer_tel a {
    color: #333;
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 991px) {
      .drawer_tel a {
        font-weight: 700; } }
    .drawer_tel a span {
      display: block;
      font-size: 1rem;
      line-height: 1;
      text-align: center;
      font-feature-settings: "palt"; }
  .drawer_tel img {
    width: 1.25rem; }

.en .drawer_tel {
  display: none; }

.en .drawer_tel a {
  text-align: center;
  font-size: 1.6rem; }

.drawer_link {
  margin-top: 1rem;
  margin-left: 1.8rem; }
  .drawer_link a {
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    color: white;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 991px) {
      .drawer_link a {
        font-weight: 700; } }
  .drawer_link img {
    width: 0.5rem;
    display: inline-block;
    margin-left: 1.6rem; }

.drawer_close {
  margin-top: 2rem;
  border: 1px solid white;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13rem;
  height: 3rem;
  margin-inline: auto; }
  .drawer_close img {
    width: 5rem; }

.drawer_nav_link.is-active a::after {
  transform: translateY(-50%) !important; }

.subNav {
  margin-left: 2.75rem; }

.subNav > li > a {
  display: inline-flex;
  align-items: center;
  width: 100%;
  position: relative;
  color: white;
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 0.3em;
  line-height: 1;
  padding-block: 1rem;
  padding-left: 0.4rem;
  gap: 1.5rem;
  line-height: calc(30/26);
  border-top: 1px dotted white; }
  @media screen and (max-width: 991px) {
    .subNav > li > a {
      font-weight: 700; } }
  .subNav > li > a img {
    width: 4rem; }

.en .subNav > li > a {
  letter-spacing: 0.05em;
  padding-right: 3rem; }

.subNav > li > a::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/img-common/arrow.png) center center/contain no-repeat;
  right: 1.4rem;
  width: 0.7rem;
  height: 1rem; }

/* ============================================================================
pageTop
============================================================================== */
.pageTop {
  position: fixed;
  width: 46px;
  bottom: 80px;
  right: 20px;
  z-index: 4;
  cursor: pointer; }
  @media screen and (max-width: 991px) {
    .pageTop {
      bottom: 20px; } }

/* ============================================================================
float
============================================================================== */
.float {
  position: fixed;
  width: 100%;
  left: 0;
  bottom: -60px;
  background: rgba(3, 53, 108, 0.92);
  z-index: 10;
  transition: all 0.5s;
  height: 60px; }
  @media screen and (max-width: 991px) {
    .float {
      display: none; } }

.float.is-scroll {
  bottom: 0; }

.float_inner {
  display: flex;
  align-items: center;
  height: 100%; }

.float_en .inner {
  max-width: 1200px; }

.float_en .float_link_document {
  width: 22rem; }

.float_logo {
  max-width: 140px; }

.float_logo a {
  transition: all 0.3s; }

.float_logo a:hover {
  opacity: 0.8; }

.float_img {
  max-width: 50px;
  margin-left: 14px; }

.float_links {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  gap: 1.25vw;
  margin-left: auto; }
  @media screen and (max-width: 991px) {
    .float_links {
      display: none; } }

.en .float_link_tel {
  display: none; }
.float_link_youtube {
  width: 36px;
}
.float_link_youtube a {
  transition: all .45s;
}
.float_link_youtube a:hover {
  opacity: 0.7;
}
.float_link_company a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: white;
  transition: all 0.3s; }
  @media screen and (max-width: 991px) {
    .float_link_company a {
      font-weight: 700; } }
  .float_link_company a:hover {
    opacity: 0.7; }

.float_link_company img {
  width: 2rem;
  filter: brightness(0) invert(1); }

.float_link_tel img {
  width: 2rem; }

.float_link_tel a {
  display: flex;
  color: white;
  align-items: center;
  gap: 0.8rem;
  line-height: 1; }

.float_link_tel span {
  font-size: 2.5rem;
  font-weight: 900; }
  @media screen and (max-width: 991px) {
    .float_link_tel span {
      font-weight: 700; } }

.float_link_tel small {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  margin-top: 4px; }

.float_link_tel img {
  filter: brightness(0) invert(1); }

.float_link_contact {
  width: 16rem; }

.float_link_contact a {
  justify-content: center;
  gap: 0.8rem; }

.float_link_document {
  width: 14rem; }

.float_link_document a {
  justify-content: center;
  gap: 0.8rem; }

.float_link_document a.btn_en {
  font-size: 1.4rem; }
