@charset "UTF-8";
/* gsarp */
.main-hero .lead {
  width: fit-content;
  margin-inline: auto;
  text-align: left;
}
.main-hero .lead p {
  margin-bottom: 1em;
}
.main-hero .lead p:last-child {
  margin-bottom: 0;
}
.main-hero .map-image {
  margin-top: 6rem;
  padding: 6rem;
  background-color: var(--bg-color-gray);
  border-radius: 0.8rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main-hero .map-image {
    margin-top: 4rem;
    padding: 2rem;
  }
}
.main-hero .map-image h2 {
  margin-bottom: 2rem;
  font-size: var(--heading-md);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .main-hero .map-image h2 {
    margin-bottom: 1.4rem;
    font-size: 2.4rem;
  }
}
.main-hero .map-image img {
  border-radius: 0.8rem;
}

.section-link {
  position: relative;
  padding-top: 20px;
}
.section-link .sub-heading {
  margin-bottom: 2rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--color-red);
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.4;
}

.page-inner-nav {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .page-inner-nav {
    position: sticky;
    top: 55px;
    left: 0;
    z-index: 90;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    padding-block: 1rem;
  }
}
.page-inner-nav .nav-list {
  display: flex;
  align-items: center;
  line-height: 1.6;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .page-inner-nav .nav-list {
    flex-wrap: wrap;
    row-gap: 2.4rem;
  }
}
@media screen and (min-width: 768px) {
  .page-inner-nav .nav-list {
    width: fit-content;
    margin-inline: auto;
    padding: 1rem;
    background-color: var(--bg-color-gray);
    border-radius: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .page-inner-nav .nav-list li {
    width: 50%;
  }
}
.page-inner-nav .nav-list li:not(:last-child) {
  border-right: 1px solid #d3d3d3;
}
@media screen and (max-width: 767px) {
  .page-inner-nav .nav-list li:nth-child(even) {
    border-right: none;
  }
}
.page-inner-nav .nav-list a {
  display: flex;
  align-items: center;
  padding: 0 2.4rem;
  gap: 1rem;
  color: inherit;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .page-inner-nav .nav-list a {
    flex-direction: column;
    row-gap: 0.7rem;
    padding: 0 0.6rem;
  }
}
.page-inner-nav .nav-list a::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 1.2rem;
  height: 0.8rem;
  background: no-repeat center center/contain;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 1L6.70711 5.29289C6.31658 5.68342 5.68342 5.68342 5.29289 5.29289L1 1' stroke='%23E72D10' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.page-inner-nav .nav-list a:hover {
  opacity: 0.5;
}

.card-group {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 960px) {
  .card-group {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 640px) {
  .card-group {
    grid-template-columns: 1fr;
  }
}
.card-group:has(.area-item) {
  grid-template-rows: auto 1fr;
  row-gap: 6rem;
}
.card-group .area-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
@media screen and (min-width: 641px) {
  .card-group .area-item.-grow2 {
    grid-column: span 2;
    grid-template-columns: subgrid;
    gap: 0 2rem;
  }
}
@media screen and (min-width: 641px) {
  .card-group .area-item.-grow2 .sub-heading {
    grid-column: 1/-1;
  }
}
.card-group .area-item .sub-heading {
  align-self: flex-end;
}
.card-group .card-item {
  display: flex;
  flex-direction: column;
  gap: 0;
  background-color: var(--bg-color-gray);
  border-radius: 0.8rem;
  overflow: hidden;
}
.card-group .card-item .img {
  flex: 0 0 auto;
}
.card-group .card-item .img img {
  display: block;
  width: 100%;
}
.card-group .card-item .content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 2rem;
  line-height: 1.6;
}
.card-group .card-item .ttl {
  margin-bottom: 0.8rem;
  font-size: 2rem;
  font-weight: bold;
}
.card-group .card-item .txt {
  margin-bottom: 2rem;
  font-size: 1.4rem;
}
.card-group .card-item .btn-group {
  margin-top: auto;
}
.card-group .card-item .btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 4.2rem;
  padding: 0.6rem 2rem;
  border: 1px solid var(--color-red);
  border-radius: 0.4rem;
  font-size: 1.4rem;
  font-weight: bold;
  transition: opacity 0.3s ease;
}
.card-group .card-item .btn.-red {
  background-color: var(--color-red);
  color: #fff;
}
.card-group .card-item .btn.-white {
  background-color: #fff;
  color: var(--color-red);
}
.card-group .card-item .btn.-disable {
  pointer-events: none;
  opacity: 0.3;
}
.card-group .card-item .btn:not(:has(.pdf-icon))::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  right: 1rem;
  width: 12px;
  height: 12px;
  background: no-repeat center center/contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 12 12' width='12' height='12' fill='%23ffffff'%3E%3Cpath d='M11.2,4.6l-3.3-3.3c-.4-.4-1-.4-1.4,0s-.4,1,0,1.4l2.3,2.3H1.2c-.6,0-1,.4-1,1s.4,1,1,1h7.6l-2.3,2.3c-.4.4-.4,1,0,1.4s.5.3.7.3.5,0,.7-.3l3.3-3.3c.8-.8.8-2,0-2.8Z'/%3E%3C/svg%3E");
  transition: transform 0.25s ease;
}
@media screen and (max-width: 767px) {
  .card-group .card-item .btn:not(:has(.pdf-icon))::after {
    right: 1.6rem;
  }
}
.card-group .card-item .btn:hover {
  opacity: 0.5;
}
.card-group .card-item .btn:not(:last-child) {
  margin-bottom: 0.6rem;
}