.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; }
/* $B%Q%M%k$r4p=`$K$9$k(B */
.p-top-about__benefits__panel{
  position: relative;
  /* $B3Q4]$,$"$k$J$i9g$o$;$k!JG$0U!K(B */
  /* border-radius: 12px; */
}

/* hover/focus$B$G=P$9%U%l!<%`!J5<;wMWAG!K(B */
.p-top-about__benefits__panel::after{
  content: "";
  position: absolute;
  inset: 0;
  border: 8px solid rgba(160, 220, 255, 0.9); /* $BGv$$?e?'(B */
  /* border-radius: 12px; */ /* $B3Q4]$,$"$k$J$iF1$8CM$K(B */
  opacity: 0;
  transform: scale(0.995);
  transition: opacity .3s ease, transform .3s ease;
  pointer-events: none; /* $BOH$O%/%j%C%/$r<YKb$7$J$$(B */
}

/* $BF)L@%/%j%C%/LL!J:GA0LL$G%Q%M%kA4BN$rJ$$&!K(B */
.benefits-panel__hit{
  position: absolute;
  inset: 0;
  z-index: 5;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

/* $BOH$r!H$U$o$C!I$H=P$9!J(Bhover$B$H%-!<%\!<%I(Bfocus$BN>BP1~!K(B */
.p-top-about__benefits__panel:hover::after,
.p-top-about__benefits__panel:focus-within::after{
  opacity: 1;
  transform: scale(1);
}

.p-illust__bottom a{
  background-color: #0090ff;
  border-radius: 100vh;
  color: #fff;
  display: inline-block;
  font-size: 2rem;
  line-height: 40px;
  width: 460px;
  text-align: center;
  text-decoration: none;
  transition: opacity .2s ease, transform .2s ease;
}

/* hover$B!J(BPC$B!K(B */
.p-illust__bottom a:hover{
  opacity: .85;
  transform: translateY(-2px);
}

/* SP */
@media screen and (max-width: 767px){
  .p-illust__bottom a{
    font-size: 3.2vw;
    line-height: 7vw;
    width: 70vw;
  }
}
.p-top-about__benefits__panel p:last-of-type{
  text-align: center;
  font-weight: bold;
  color: #0090ff;
}

