@charset "UTF-8";
@media screen and (max-width: 480.98px) {
  :root {
    --viewport-type: sm;
  }
}
@media screen and (min-width: 481px) and (max-width: 960.98px) {
  :root {
    --viewport-type: md;
  }
}
@media screen and (min-width: 961px) and (max-width: 1199.98px) {
  :root {
    --viewport-type: lg;
  }
}
@media print, screen and (min-width: 1200px) {
  :root {
    --viewport-type: xl;
  }
}
@keyframes __fadeIn {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}
@keyframes __fadeOut {
  0% {
    visibility: visible;
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
body {
  overflow-y: scroll;
}
body::after {
  content: "";
  display: block;
  background: url("../images/loading.gif") no-repeat 50% 50% #FFF;
  width: 26px;
  height: 26px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: fixed;
  opacity: 0;
}
body.is-loading {
  position: fixed;
}
body.is-loading::after {
  animation: __fadeIn 1000ms ease 1000ms forwards;
}
body.is-loading #Container {
  pointer-events: none;
  opacity: 0;
}
body.is-loaded #Container {
  animation: __fadeIn 1000ms forwards;
}

/* 非表示用（画面サイズ小） */
@media screen and (max-width: 480.98px) {
  .u-none-sm {
    display: none;
  }
}

/* 非表示用（画面サイズ中） */
@media screen and (min-width: 481px) and (max-width: 960.98px) {
  .u-none-md {
    display: none;
  }
}

/* 非表示用（画面サイズ大） */
@media screen and (min-width: 961px) and (max-width: 1199.98px) {
  .u-none-lg {
    display: none;
  }
}

/* 非表示用（画面サイズ特大） */
@media print, screen and (min-width: 1200px) {
  .u-none-xl {
    display: none;
  }
}

#Container {
  min-width: 320px;
  position: relative;
}

/***************/
/* .footerArea */
/***************/
.footerArea {
  background-color: #000;
}
@media screen and (max-width: 960.98px) {
  .footerArea {
    padding: clamp(0px, calc(0px + (70 * max(0px, ((100dvw - 0px) / (768))))), 70px) 0 clamp(0px, calc(0px + (80 * max(0px, ((100dvw - 0px) / (768))))), 80px);
  }
}
@media print, screen and (min-width: 961px) {
  .footerArea {
    padding: clamp(0px, calc(0px + (60 * max(0px, ((100dvw - 0px) / (1200))))), 60px) 0 clamp(0px, calc(0px + (80 * max(0px, ((100dvw - 0px) / (1200))))), 80px);
  }
}
.footerArea .l-link-pagetop {
  width: clamp(0px, calc(0px + (46 * max(0px, ((100dvw - 0px) / (384))))), 46px);
  height: clamp(0px, calc(0px + (46 * max(0px, ((100dvw - 0px) / (384))))), 46px);
  visibility: hidden;
  opacity: 0;
  border-radius: 50%;
  position: fixed;
  right: clamp(0px, calc(0px + (30 * max(0px, ((100dvw - 0px) / (768))))), 30px);
  bottom: clamp(0px, calc(0px + (30 * max(0px, ((100dvw - 0px) / (768))))), 30px);
  transition: background-color 400ms, opacity 400ms, visibility 400ms;
  background-color: #111111;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .footerArea .l-link-pagetop:hover {
    background-color: #222222;
  }
}
.footerArea .l-link-pagetop.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.footerArea .l-link-pagetop img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  width: clamp(0px, calc(0px + (14 * max(0px, ((100dvw - 0px) / (384))))), 14px);
}
.footerArea .l-wrapper {
  display: flex;
}
@media screen and (max-width: 960.98px) {
  .footerArea .l-wrapper {
    flex-direction: column;
    row-gap: clamp(0px, calc(0px + (70 * max(0px, ((100dvw - 0px) / (768))))), 70px);
    padding: 0 clamp(0px, calc(0px + (50 * max(0px, ((100dvw - 0px) / (768))))), 50px);
  }
}
@media print, screen and (min-width: 961px) {
  .footerArea .l-wrapper {
    justify-content: space-between;
    width: clamp(0px, calc(0px + (1000 * max(0px, ((100dvw - 0px) / (1200))))), 1000px);
    margin: 0 auto;
  }
}
.footerArea .footerArea_address {
  color: #FFF;
  font-style: normal;
  text-align: left;
}
.footerArea .footerArea_address .footerArea_address_name {
  font-size: clamp(1.22rem, calc(12.2px + (3.8 * max(0px, ((100dvw - 384px) / (384))))), 1.6rem);
  line-height: 1.6;
  letter-spacing: 0.15em;
  margin-bottom: 0.4em;
}
.footerArea .footerArea_address .footerArea_address_address {
  font-size: clamp(0.92rem, calc(9.2px + (2.8 * max(0px, ((100dvw - 384px) / (384))))), 1.2rem);
  line-height: 1.6;
  letter-spacing: 0.15em;
  margin-bottom: 0.4em;
}
.footerArea .footerArea_address .footerArea_address_tel {
  font-size: clamp(0.92rem, calc(9.2px + (2.8 * max(0px, ((100dvw - 384px) / (384))))), 1.2rem);
  line-height: 1.6;
  letter-spacing: 0.15em;
}
.footerArea .footerArea_address .footerArea_address_tel a {
  color: #FFF;
  text-decoration: none;
}
.footerArea .footerArea_contact {
  text-align: left;
}
.footerArea .footerArea_contact .footerArea_contact_heading {
  color: #FFF;
  font-size: clamp(1.22rem, calc(12.2px + (3.8 * max(0px, ((100dvw - 384px) / (384))))), 1.6rem);
  line-height: 1.6;
  letter-spacing: 0.15em;
  margin-bottom: 0.4em;
}
.footerArea .footerArea_contact .footerArea_contact_mail {
  text-align: center;
  color: #FFF;
  font-size: clamp(1.33rem, calc(13.3px + (0.7 * max(0px, ((100dvw - 384px) / (384))))), 1.4rem);
  letter-spacing: 0.15em;
  text-decoration: none;
  border: 1px solid #FFF;
  margin-top: 0.2em;
  transition: background-color 400ms;
}
@media screen and (max-width: 480.98px) {
  .footerArea .footerArea_contact .footerArea_contact_mail {
    display: block;
    padding: 0.8em 1em;
  }
}
@media print, screen and (min-width: 481px) {
  .footerArea .footerArea_contact .footerArea_contact_mail {
    display: inline-block;
    padding: 0.8em 4em;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footerArea .footerArea_contact .footerArea_contact_mail:hover {
    background-color: #222222;
  }
}
.footerArea .l-copyright {
  color: #FFF;
  font-size: clamp(1rem, calc(10px + (2 * max(0px, ((100dvw - 384px) / (384))))), 1.2rem);
  line-height: 1.6;
  letter-spacing: 0.15em;
  text-align: center;
  margin-top: clamp(0px, calc(0px + (60 * max(0px, ((100dvw - 0px) / (768))))), 60px);
}

/*# sourceMappingURL=common.css.map */
