@charset "UTF-8";


/* =============================================================================

Base CSS

・サイト用htmlベースCSS

上記はここに記述する

============================================================================= */

/* フォント
============================================================================= */

/* @font-face {
  font-family: "BIZ UDPGothic";
  src: url("../fonts/BIZ_UDPGothic/BIZUDPGothic-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "BIZ UDPGothic";
  src: url("../fonts/BIZ_UDPGothic/BIZUDPGothic-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "Lato";
  src: url("../fonts/Lato/Lato-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Lato";
  src: url("../fonts/Lato/Lato-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
} */

/* animation
============================================================================= */

@keyframes wave {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

.wave-button {
  position: relative;
}

.wave-button span {
  display: inline-block;
  transform: translateY(0);
  white-space: pre;
}

.wave-button span.animate {
  animation: wave 0.6s ease forwards;
}

/* Base CSS
============================================================================= */
html {
  font-family: var(--font-jp);
  font-size: 100px;
  font-feature-settings: "palt";
  -webkit-font-smoothing: subpixel-antialiased;
}

@media (width > 1024px) {
  html {
    min-width: var(--pc-min-width);
    font-size: clamp(var(--pc-min-size) / var(--base-size) * 10px, 10 / var(--variable-length), 10px);
  }
}

@media (width <=1024px) {
  html {
    -webkit-text-size-adjust: 100%;
    font-size: calc(10 / var(--variable-length));
  }
}

@media (orientation: landscape) {
  html {
    margin-inline-start: env(safe-area-inset-left);
  }
}

body {
  /* padding-top:var(--header-height); */
  font-size: var(--tg-text-A-fs);
  font-family: var(--font-jp);
  font-weight: var(--tg-text-A-fw);
  line-height: var(--tg-text-A-lh);
  letter-spacing: var(--tg-text-A-ls);
  color: var(--base-font-color);
  overflow-wrap: break-word;
  background-color: #fff;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  transition-property: opacity;
  transition-duration: var(--duration-hover-A);
}

@media (width <=1024px) {}

/* Scroll Margin
----------------------------------------------------------------------------- */
*[id]:target {
  scroll-margin-top: var(--header-height);
}

/* media pointer
----------------------------------------------------------------------------- */
@media (pointer) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

@media not (pointer) {
  * {
    -webkit-tap-highlight-color: transparent;
  }
}

/* hover basics
----------------------------------------------------------------------------- */
@media(hover) {
  :where(a[href]:not([class], [href^="tel:"]), ._link-external-A) {
    transition: opacity var(--duration-hover-A);
  }

  :where(a[href]:not([class], [href^="tel:"]), ._link-external-A):hover {
    opacity: .6;
  }
}