.c-image-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.c-image-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.c-image-modal__inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.c-image-modal__inner img {
  max-width: 90vw;
  max-height: 90vh;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  pointer-events: auto;
}

@media screen and (max-width: 767px) {
  .c-image-modal__inner img {
    max-width: 94vw;
    max-height: 80vh;
  }
}
/* Close $B%\%?%s(B */
.c-image-modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 28px;
  color: #fff;
  cursor: pointer;
  z-index: 10000;
  font-family: sans-serif;
  background: rgba(0, 0, 0, 0.5);
  padding: 6px 12px;
  border-radius: 4px;
}

.c-image-modal__close:hover {
  background: rgba(0, 0, 0, 0.7);
}

/* $BLp0u%\%?%s(B */
.c-image-modal__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 48px;
  color: #fff;
  cursor: pointer;
  z-index: 10001;
  user-select: none;
  padding: 10px;
}

.c-image-modal__arrow--left {
  left: 20px;
}

.c-image-modal__arrow--right {
  right: 20px;
}

.c-image-modal__arrow:hover {
  color: #ffcc66;
}


/* $B%;%/%7%g%sA4BN$NM>Gr(B */
.p-top-visual {
  margin: 60px auto;
  text-align: center;
}

/* $B%?%$%H%k!J(B#993300$B!"Bg$-$a!"(BNoto Serif JP$B!K(B */
.p-top-visual__title {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  color: #003399;
  margin-bottom: 10px;
}

/* $BCm0U=q$-!J(B#555$B!">.$5$a!"(BNoto Serif JP$B!K(B */
.p-top-visual__note {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  color: #555555;
  margin-bottom: 20px;
}

/* $B2hA|%;%s%?!<B7$((B + $B%5%$%:0];}(B */
.p-top-visual__image img {
  display: block;
  margin: 0 auto;
  max-width: 800px;   /* $B<B%5%$%:(B */
  width: 100%;        /* $B%9%^%[$O=L>.$7$F%U%#%C%H(B */
  height: auto;
  cursor: pointer;
}

/* $B"'(B SP$B!J%9%^%[!KMQ!'I}(B767px$B0J2<(B */
@media screen and (max-width: 767px) {

  /* $B%;%/%7%g%s$N>e2<M>Gr$r>/$77Z$a$K(B */
  .p-top-visual {
    margin: 40px auto;
    padding: 0 10px;
  }

  /* $B%?%$%H%k$NJ8;z%5%$%:$r>/$7=L>.(B */
  .p-top-visual__title {
    font-size: 20px;
    line-height: 1.4;
  }

  /* $BCm0U=q$-$b>/$7>.$5$/(B */
  .p-top-visual__note {
    font-size: 12px;
    line-height: 1.5;
  }

  /* $B2hA|$r2hLLI}$K9g$o$;$F=L>.(B (90%) */
  .p-top-visual__image img {
    width: 90%;
    max-width: 90%;
  }
}

.p-top-visual__image--hotspot {
  position: relative;
}

.p-top-visual__hotspots {
  position: absolute;
  inset: 0; /* top/right/bottom/left:0 */
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
}

/* $BF)L@%\%?%s!J%/%j%C%/$@$1=&$&!K(B */
.p-top-visual__hotspot {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

/* $BG$0U!'%U%)!<%+%98+$($k$h$&$K!J$$$i$J$1$l$P:o=|(BOK$B!K(B */
.p-top-visual__hotspot:focus {
  outline: 2px solid #000;
  outline-offset: -2px;
}

.p-top-visual__hotspot:focus,
.p-top-visual__hotspot:focus-visible {
  outline: none;
}

.p-top-visual__image--hotspot{
  position: relative;
  display: inline-block; /* $B"+$3$l(B */
  line-height: 0;
}

.p-top-visual__image--hotspot > img{
  display:block;
  max-width:100%;
  height:auto;
}

/* $BCf1{4s$;$7$?$$>l9g(B */
.p-top-visual__image{ text-align:center; }