
.home-page {
  padding:
    max(66px, calc(48px + env(safe-area-inset-top)))
    16px
    calc(var(--nav-height) + 28px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 0% 0%,rgba(230,211,255,.72),transparent 19%),
    radial-gradient(circle at 100% 3%,rgba(215,224,255,.75),transparent 24%),
    radial-gradient(circle at 0% 86%,rgba(220,255,246,.82),transparent 25%),
    linear-gradient(180deg,#fdfcff 0%,#f5fbff 100%);
}

.home-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}

.home-card {
  position: relative;
  aspect-ratio: .77;
  overflow: hidden;
  border-radius: 18px;
  color: #fff;
  background-size: cover;
  background-position: center;
  box-shadow: 0 14px 28px rgba(102,109,165,.14);
}

.home-card-copy {
  position: relative;
  z-index: 2;
  padding: 28px 19px 0;
  text-shadow: 0 2px 8px rgba(75,52,110,.08);
}

.home-card h2 {
  margin: 0 0 13px;
  font-size: clamp(21px,6vw,28px);
  line-height: 1.15;
  font-weight: 800;
}

.home-card p {
  margin: 0;
  font-size: clamp(14px,4.1vw,18px);
  line-height: 1.5;
  font-weight: 600;
}

.home-card-1 { background-image: url("../images/a01.png"); }
.home-card-2 { background-image: url("../images/a02.png"); }
.home-card-3 { background-image: url("../images/a03.png"); }
.home-card-4 { background-image: url("../images/a04.png"); }
.home-card-5 { background-image: url("../images/a05.png"); }
.home-card-6 { background-image: url("../images/a06.png"); }

@media (max-width:360px) {
  .home-page { padding-left: 11px; padding-right: 11px; }
  .home-grid { gap: 10px; }
  .home-card-copy { padding: 22px 14px 0; }
  .home-card h2 { font-size: 20px; }
  .home-card p { font-size: 13px; }
}
