@charset "UTF-8";
/* Body base styles */
body {
  max-width: 1920px;
  margin: 0 auto;
  width: 100%;
  min-width: 1200px;
  font-size: 16px;
  line-height: 1.625;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
               "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

img {
  height: auto;
}

/* Container width utility */
.w1200 {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

/* Section title styles */
.l-title {
  font-size: 33px;
  line-height: 1.7575757576;
  text-align: center;
}
.l-title span {
  display: block;
  font-size: 16px;
}

/* Flexbox utility */
.flex {
  display: flex;
}

/* Anchor and link behaviors */
a {
  color: inherit;
  display: inline-block;
}
a[href^="tel:"] {
  pointer-events: none;
}

/* Responsive display toggles */
.sp {
  display: none !important;
}
.pc {
  display: block !important;
}

/* Responsive adjustments for mobile (max-width: 767px) */
@media screen and (max-width: 767px) {
  body {
    min-width: auto;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  [class$=l_wrap] {
    min-width: initial;
  }
  .l-title {
    font-size: clamp(22px, 6vw, 45px);
  }
  .l-title span {
    display: block;
    font-size: clamp(12px, 3.3333333333vw, 25px);
  }
  a[href^="tel:"] {
    pointer-events: all;
  }
}

/* Floating side banner buttons (LINE and Contact) */
.sky-bnr .line {
  position: fixed;
  right: 0;
  top: 25%;
  z-index: 100;
}
.sky-bnr .contact {
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .sky-bnr .line {
    position: fixed;
    right: 0;
    top: auto;
    bottom: 0;
    width: 50vw;
    display: block;
  }
  .sky-bnr .line img {
    width: 100%;
  }
  .sky-bnr .contact {
    position: fixed;
    left: 0;
    top: auto;
    bottom: 0;
    width: 50vw;
    display: block;
  }
  .sky-bnr .contact img {
    width: 100%;
  }
}
