@charset "utf-8";

/* index.php */
/* hero */
.hero_img {
  position: relative;
}

.hero_img_taxi {
  position: absolute;
  width: min(800px, 50vw);
  height: auto;
  top: 50%;
  right: 5%;
  filter: drop-shadow(-1rem 0.5rem 1rem #666666);
  transform: translate(0 0) scale(1);
  animation: taxiZoom 1.8s ease-out forwards;
}

@keyframes taxiZoom {
  0% {
    transform: translate(50%, -50%) scale(0.1);
    opacity: 0;
  }
  50% {
    transform: translate(40%, -50%) scale(0.28);
    opacity: 1;
  }
  100% {
    transform: translate(0, -50%) scale(1);
    opacity: 1;
  }
}



/* section-service-info */
.section-service-info {
  background-color: var(--color-bg-red);
}

.section-service-info figure {
  background-color: #eee;
}

.section-service-info figcaption {
  background-color: var(--color-main);
  color: var(--color-text-white);
  font-size: var(--font-size-lg);
  padding: var(--space);
  width: 100%;
}

.section-service-info figcaption img {
  display: block;
  width: 100%;
}

/* section-contact */
.contact-center {
  margin-bottom: var(--space-lg);
}

.contact-center-title {
  font-size: var(--font-size-lg);
  text-align: center;
}

.contact-center-number {
  font-size: 2rem;
  text-align: center;
}

.fa-phone-volume {
  width: 3rem;
  height: 3rem;
  border-radius: 3rem;
  line-height: 3rem;
  background-color: var(--color-light-green);
  color: var(--color-text-white);
}

.section-contact .operation-title {
  color: var(--color-main);
  border-left: var(--color-main) 0.5rem solid;
  padding-left: 1rem;
  margin-bottom: var(--space);
}

.section-contact address {
  font-style: normal;
}

.section-contact__taxi a, .section-contact__midori a {
  color: inherit;
}

/* 3つのimage_boxを同じ場所に重ねるための親 */
.hero_slides{
  position: relative;
  height: 720px; /* ここを基準にする（image_box側のheightを親に寄せる） */
}

/* 2×2 image box */
.hero_slides .image_box{
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0; */
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: var(--space);

  opacity: 0;
  pointer-events: none;
  transition: opacity 600ms ease; /* フェード */
}

.hero_slides .image_box.is-active{
  opacity: 1;
  pointer-events: auto;
}

.hero_slides .image_box img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 動きを減らしたい設定の人向け */
@media (prefers-reduced-motion: reduce){
  .hero_slides .image_box{ transition: none; }
}
