@charset "UTF-8";
/* CSS Document */
#wrapper {
  overflow: hidden; }

.inner {
  width: 83%;
  margin: 0 auto; }
  @media screen and (max-width: 991px) {
    .inner {
      width: 90%; } }
  @media screen and (max-width: 767px) {
    .inner {
      width: 100%; } }

.eng {
  font-family: "Kumbh Sans", sans-serif;
  font-weight: 800; }

.flex-container {
  display: flex; }

header img, footer img {
  width: 180px;
  height: auto; }

header {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%; }
  header .flex-container {
    justify-content: space-between;
    align-items: center;
    padding: 1rem; }
    @media screen and (max-width: 575px) {
      header .flex-container {
        padding: 0.75rem; } }
    header .flex-container .header-logo.headerLogoScroll.-before {
      display: none; }
    header .flex-container .header-logo.-after {
      display: none; }
    header .flex-container .header-logo.headerLogoScroll.-after {
      display: block; }
    header .flex-container h1 {
      font-size: 1px;
      opacity: 0; }
    header .flex-container ul {
      gap: 10px;
      margin: 0; }
      @media screen and (max-width: 575px) {
        header .flex-container ul {
          gap: 7px; } }
      header .flex-container ul a {
        padding: 1rem 2rem;
        color: #fff;
        letter-spacing: 0.1em;
        transition: 0.3s; }
        header .flex-container ul a:hover {
          opacity: 0.7; }
        @media screen and (max-width: 575px) {
          header .flex-container ul a {
            padding: 0.75rem 1.5rem;
            font-size: 13px;
            font-size: 1.3rem; } }
      header .flex-container ul .catalog {
        background: #0053a3; }
      header .flex-container ul .contact {
        background: #be0000; }

#contact header .flex-container ul {
  flex-direction: row-reverse; }

#contact header .contact {
  pointer-events: none;
  opacity: 0; }

.tel {
  width: 650px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .tel {
      width: 520px; } }
  @media screen and (max-width: 575px) {
    .tel {
      width: 100%; } }
  .tel > p {
    text-align: center;
    font-weight: 600; }
  .tel .tel-content {
    text-align: center;
    background: #f0f0f0;
    padding: 3rem; }
    @media screen and (max-width: 575px) {
      .tel .tel-content {
        padding: 2.5rem 0 2rem; } }
    .tel .tel-content .phone {
      display: inline-block;
      text-align: justify;
      font-size: 2.5rem;
      font-size: 25px;
      font-weight: 600;
      line-height: 1.25em; }
      @media screen and (max-width: 575px) {
        .tel .tel-content .phone {
          font-size: 2.3rem;
          font-size: 23px; } }
      .tel .tel-content .phone i {
        margin-right: 0.5rem; }
      .tel .tel-content .phone .phone-number:link {
        color: #333; }
      .tel .tel-content .phone span {
        font-size: 1.4rem;
        font-size: 14px; }
        @media screen and (max-width: 575px) {
          .tel .tel-content .phone span {
            font-size: 1.2rem;
            font-size: 12px; } }
    .tel .tel-content .other {
      text-align: center; }

footer {
  background: #333;
  color: #fff;
  text-align: center;
  padding: 6rem 0;
  position: relative; }
  footer img {
    margin-bottom: 1rem; }
  footer p {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 3rem; }
  footer .flex-container {
    justify-content: center;
    gap: 20px; }
    @media screen and (max-width: 575px) {
      footer .flex-container {
        flex-direction: column;
        align-items: center;
        gap: 10px; } }
    footer .flex-container a {
      font-size: 12px;
      font-size: 1.2rem;
      color: #fff;
      width: 250px;
      border: 1px solid #fff;
      padding: 1rem;
      transition: .2s; }
      footer .flex-container a:hover {
        background-color: #fff;
        color: #333; }
  footer .arrow-up {
    display: flex;
    justify-content: center;
    padding-left: 3rem;
    height: 50px;
    width: 65px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 2rem;
    color: #737373;
    position: absolute;
    right: 2rem;
    bottom: 3rem; }
  footer .arrow-up::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
    transition: 0.3s; }
  footer .arrow-up::after {
    content: "";
    display: block;
    position: absolute;
    height: 50px;
    width: 65px;
    top: -1px;
    right: 1px;
    border-top: solid 1px;
    transition: 0.3s; }
  footer .arrow-up:hover::before {
    transform: rotate(35deg) translateX(-6px) translateY(5px); }
  footer .arrow-up:hover::after {
    transform: translateX(-8px); }

/* トップへ戻るボタン */
#page-top {
  position: fixed;
  bottom: 0;
  right: 0;
  margin-bottom: 0;
  background-color: #fff; }
  #page-top a {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #A0A0A0;
    text-decoration: none;
    color: #fff;
    width: 65px;
    height: 65px;
    transition: 0.3s; }
    #page-top a:hover {
      opacity: 0.7; }
    #page-top a img {
      width: 22px;
      height: 14px; }
