@charset "UTF-8";



.page__header .headline .en_ttl.huge7 {
  line-height: 1.25;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.70);
}
.page__header .headline .ttl.h4 {
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.70);
}


@media (max-width: 767px) {
  main .read p br {
    display: none;
  }
}


main .headline + .section_M {
  margin-top: 0;
}



main .large_card.bg-l-gray2 .card-body {
  padding: 0 max(2em, 4%) max(2em, 4%);
}
@media (min-width: 992px) {
  main .large_card .card-body {
    padding: 0 0 0 7.5%;
  }
  main .large_card .card-body.order-lg-first {
    padding: 0 7.5% 0 0;
  }
  main .large_card.bg-l-gray2 .card-body {
    padding: 4.5%;
  }
}


main .card .card-body {
  margin-top: .375em;
}
main .card p {
  font-size: 1em;
}


main .btn_set {
  text-align: center;
}
main .btn_set .btn {
  justify-content: center;
  font-size: 1.231rem;
  padding: 1.25em 2em;
}
@media (max-width: 991px) {
  main .btn_set p {
    text-align: left;
  }
}


.layout--list__number ol.counter {
  background: var(--white);
  padding: max(1.5rem, 3%) max(2rem, 4%);
}
.layout--list__number ol.counter li._item:not(:last-child) {
  border-bottom: 1px solid var(--border1);
}
.layout--list__number ol.counter li._item ._count {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: 1.231rem;
  padding: 2rem 0;
}
.layout--list__number ol.counter li._item ._count::before {
  content: counter(numbers);
  font-family: var(--font2);
  font-size: 1.375em;
  width: 2em;
  flex: 0 0 2em;
  aspect-ratio: 1 / 1;
  border-radius: 100%;
  background: var(--color1);
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}



main .hero > picture {
  aspect-ratio: 39 / 50;
}
main .hero + .container .imgBox picture {
  aspect-ratio: 35 / 51;
}
main .hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 576px) {
  main .hero > picture {
    aspect-ratio: 7 / 3
  }
}



.layout--slider .slick-slide .headline {
  margin: 1.5rem 0 0;
}
.layout--slider .slick-slide p {
  margin: 1rem 0 0;
}
.layout--slider .slideSize-medium picture {
  aspect-ratio: 1 / 1;
}
.layout--slider .slideSize-medium .headline,
.layout--slider .slideSize-medium p {
  padding: 0 4%;
}
.layout--slider .slick-slide[data-number]::before {
  content: attr(data-number);
  font-family: var(--font1);
  font-size: 1.25em;
  padding-top: .2em;
  width: 2.5em;
  flex: 0 0 2.5em;
  aspect-ratio: 1 / 1;
  background: var(--color1);
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  position: absolute;
  top: 0;
  z-index: 3;
}
@media (max-width: 767px) {
  .layout--slider .slideSize-small p,
  .layout--slider .slideSize-medium p {
    font-size: .923rem;
  }
}
@media (min-width: 992px) {
  .layout--slider .over-right .carousel-slider[data-column="2"] .slick-list {
    padding-right: 30vw;
  }
}


.layout--plan .card-img picture {
  aspect-ratio: 23 / 25;
}
.layout--plan .price-box {
  background: var(--white);
  color: var(--color1);
  margin: 2rem 0 .923rem;
  padding: 4% 4.5%;
  display: flex;
  flex-direction: column;
  letter-spacing: .2em;
}
.layout--plan .price-box span {
  display: block;
}
.layout--plan .price-box .price {
  display: flex;
  align-items: center;
  gap: 1.5em;
  font-weight: 500;
  letter-spacing: .1em;
}
.layout--plan .price-box .price h3 {
  font-weight: 700;
}
.layout--plan .price-box .price .badge {
  font-size: 1rem;
  padding: .5em 1.5em;
  border-radius: 1.5em;
}
.layout--plan .btn {
  margin: 2rem 0 0;
}




.layout--fair picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.layout--fair .row.no-gutters {
  row-gap: 0;
}
.layout--fair .panel {
  position: relative;
}
.layout--fair .panel picture {
  aspect-ratio: 1 / 1;
}
.layout--fair .panel .caption {
  color: var(--white);
  text-align: center;
  line-height: 1;
  padding: 2em 0;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 2;
}
.layout--fair .panel .caption::before {
  content: '';
  background: var(--color1);
  opacity: .8;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.layout--fair .panel .caption .en_ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,-50%);
}

.layout--fair .moreover {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4.5rem 0;
  position: relative;
  z-index: 1;
}
.layout--fair .moreover::before {
  content: '';
  display: block;
  width: 1px;
  background: var(--color1);
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
}
.layout--fair .moreover::after {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background: var(--color1);
  position: absolute;
  bottom: -1px;
}
.layout--fair .moreover .badge {
  font-size: 1rem;
  padding: .5em 1.5em;
  border-radius: 1.5em;
}

.layout--fair .box {
  background: var(--white);
  border: 1px solid var(--color1);
  color: var(--color1);
  line-height: 1.5;
}
.layout--fair .box .box_ttl {
  color: var(--white);
  background: var(--color1);
  letter-spacing: .2em;
  padding: 1.25rem;
  text-align: center;
}
.layout--fair .box .box_inner {
  padding: min(5%, 2.75rem);
}
.layout--fair .box .row {
  margin-right: -5px;
  margin-left: -5px;
}
.layout--fair .box .row > [class*="col"] {
  padding-right: 5px;
  padding-left: 5px;
}
.layout--fair .box .row .ttl {
  font-size: 1rem;
  margin-top: .5em;
}
@media (max-width: 767px) {
  .layout--fair .box .row .ttl {
    font-size: .846rem;
  }
}
@media (max-width: 575px) {
  .layout--fair .panel .caption {
    padding: 1.5em 0;
  }
  .layout--fair .panel .ttl {
    font-size: .846rem;
  }
}
@media (min-width: 768px) {
  .layout--fair .box .row {
    margin-right: -10px;
    margin-left: -10px;
    text-align: center;
  }
  .layout--fair .box .row > [class*="col"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}


.layout--voice .slick-track:has(.box) {
  display: flex;
}
.layout--voice .slick-slide:has(.box) {
  height: auto !important;
}
.layout--voice .slick-slide .box {
  height: 100%;
  background: var(--l-gray);
  border-radius: 1rem;
  padding: 7.5%;
}

.layout--headline.headline {
    margin-top: 7.5rem;
}





