/**
 * 20261014_橋口修正_Instrument Sansの@importを削除し、グループ紹介用の書体をfunctions.phpで読み込むよう統一しました。
 * このCSSでは、取得した書体を使用箇所のfont-family・font-weightで指定します。
 */

/* グループ紹介ページだけに適用するスタイル */
.group-page {
  color: #151515;
  background: #fbe9da;
}

/* PC版のメインビジュアル */
.group-hero {
  background: #fff6ec url("../img/group/hero-background.jpg") center / cover no-repeat;
}
/* PC版の背景画像を左から右、右から左へゆっくり往復させる */
@media (min-width: 700px) {
  .group-hero {
    /* 横幅の110%と、高さ108remを覆う画像幅のうち、大きい方を採用する */
    background-size: max(110%, 158.4rem) auto;
    animation: group-hero-background-pan 20s ease-in-out infinite alternate;
  }
}
@keyframes group-hero-background-pan {
  from {
    background-position: left center;
  }
  to {
    background-position: right center;
  }
}
.group-hero__inner {
  position: relative;
  width: min(100%, 144rem);
  height: 108rem;
  margin-inline: auto;
  overflow: hidden;
}
.group-hero__company {
  position: absolute;
  top: 4.5rem;
  left: 50%;
  color: #ff791d;
  font-family: "Mplus 1p Bold", sans-serif;
  font-size: 6.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  transform: translateX(-50%);
}
.group-hero__message {
  position: absolute;
  z-index: 2;
  color: #ff781c;
  font-family: "Kaisei Tokumin";
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.55;
}
.group-hero__message--left {
  top: 19rem;
  left: 16.2rem;
}
.group-hero__message--right {
  top: 37rem;
  right: 5.4rem;
}
/* JavaScript読込時だけ、PC版のメッセージを下からじわっと順番に浮かび上がらせる */
.group-hero__message.is-fade-up-ready {
  opacity: 0;
  filter: blur(0.4rem);
  transform: translateY(4rem);
}
.group-hero__message.is-fade-up-visible {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
  transition:
    opacity 2.2s ease-out var(--group-message-delay, 0s),
    filter 2.2s ease-out var(--group-message-delay, 0s),
    transform 2.2s cubic-bezier(0.22, 1, 0.36, 1) var(--group-message-delay, 0s);
}
.group-hero__title {
  position: absolute;
  top: 68.2rem;
  left: 50%;
  z-index: 4;
  padding: 0.7rem 2.2rem;
  color: #44348d;
  font-family: serif;
  font-size: 3.6rem;
  line-height: 1.2;
  white-space: nowrap;
  transform: translateX(-50%);
}
.group-hero__diagram {
  position: absolute;
  inset: 0;
}
/* PC版は三角形全体を初期表示に収め、中央へRITABELLを配置する */
@media (min-width: 700px) {
  .group-hero__inner {
    height: 108.3rem;
  }
  .group-hero__diagram {
    transform: translateY(-16rem);
  }
  .group-hero__company {
    top: 52.2rem;
    z-index: 4;
    font-size: 4.8rem;
  }
  .group-hero__title {
    display: none;
  }
}
.group-hero__item {
  position: absolute;
  z-index: 3;
  margin: 0;
}
/* PNGの透明部分になじむ薄い円形背景とシャドウ */
.group-hero__item::before {
  position: absolute;
  inset: 1%;
  z-index: -1;
  background: #fff8ef;
  border-radius: 50%;
  box-shadow: 0 0.8rem 0.8rem rgb(0 0 0 / 55%);
  content: "";
}
.group-hero__item img {
  width: 100%;
}
.group-hero__item > a {
  display: block;
  border-radius: 50%;
}
.group-hero__item > a:focus-visible {
  outline: 0.4rem solid #ff781c;
  outline-offset: 0.5rem;
}
.group-hero__item figcaption {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  display: block;
  color: #2f2f2f;
  font-family: "Instrument Sans", sans-serif;
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 1;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.group-hero__item--kanto {
  top: 28rem;
  left: 50%;
  width: 36rem;
  transform: translateX(-50%);
}
.group-hero__item--seta {
  top: 69rem;
  left: 27.5rem;
  width: 36rem;
}
.group-hero__item--utari {
  top: 70rem;
  right: 26.5rem;
  width: 36rem;
}

/* PC版では、リンクになっているSETA・UTARIを浮かせてクリック可能だと伝える */
@media (min-width: 700px) {
  .group-hero__item--seta,
  .group-hero__item--utari {
    transition:
      transform 0.35s ease,
      filter 0.35s ease;
  }

  .group-hero__item--seta:hover,
  .group-hero__item--seta:focus-within,
  .group-hero__item--utari:hover,
  .group-hero__item--utari:focus-within {
    filter: drop-shadow(0 1.2rem 1rem rgb(0 0 0 / 20%));
    transform: translateY(-1rem) scale(1.03);
  }
}

/* 支給画像を使って3事業を二重線で結ぶ */
.group-hero__line {
  position: absolute;
  z-index: 1;
}
.group-hero__line--left-1 {
  top: 55.5rem;
  left: 45rem;
  width: 10%;
}
.group-hero__line--left-2 {
  top: 55rem;
  left: 47.5rem;
  width: 10%;
}
.group-hero__line--right-1 {
  top: 57rem;
  right: 45.5rem;
  width: 10%;
}
.group-hero__line--right-2 {
  top: 56rem;
  right: 44.5rem;
  width: 10%;
}
.group-hero__line--bottom {
  top: 84.5rem;
  left: 50%;
  width: 20rem;
  transform: translateX(-50%);
}

/* Seta・UTARI紹介カード */
.group-services {
  padding: 8rem 3.2rem 5rem;
}
.group-service {
  width: min(100%, 131.5rem);
  margin-inline: auto;
  /* padding: 6rem 5.5rem 6.5rem; */
  border-radius: 3.2rem;
  box-shadow: 0.9rem 0.9rem 0.3rem rgb(0 0 0 / 25%);
  height: 88.9rem;
  /* 上部の事業画像から移動した際、固定headerに見出しが隠れない位置で止める */
  scroll-margin-top: 13rem;
}
.group-service + .group-service {
  margin-top: 8rem;
}
.group-service--seta {
  background: #fafaa5;
  height: 94rem;
}
.group-service--utari {
  background: #d6efd1;
}
.group-service__title {
  font-family: serif;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
  font-family: "Rampart One", sans-serif;
  padding-top: 6rem;
}
.group-service__title-sp {
  display: none;
}

.group-service__gallery {
  display: grid;
  align-items: center;
  margin-top: 6rem;
}
.group-service__gallery--seta {
  grid-template-columns: repeat(4, 26.7rem);
  justify-content: space-between;
  gap: 5rem;
  margin: 8rem 6rem -3.5rem;
}
.group-service__gallery--seta figure {
  margin: 0;
}
.group-service__gallery--seta img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5rem;
}
/* 右端の縦長画像は、正方形に切り抜く際に上側が見える位置へ調整 */
.group-service__gallery--seta figure:nth-child(4) img {
  object-position: center top;
}
/* Setaの4画像を一番左の画像と同じ267px四方に統一する（1rem＝10px） */
.group-service__gallery--seta figure {
  width: 26.7rem;
  height: 26.7rem;
}
.group-service__gallery figcaption {
  display: none;
}
.group-service__gallery--utari {
  grid-template-columns: repeat(3, 36.8rem);
  justify-content: space-between;
  gap: 2rem;
  margin: 3rem 5rem 9rem;
}
@media screen and (max-width: 699.98px) {
  .group-service__gallery--utari {
    margin: 0rem;
  }
}

.group-service__gallery--utari img {
  object-fit: cover;
  border-radius: 5rem;
}
/* UTARIの3画像を一番左の画像と同じサイズに統一する（1rem＝10px） */
.group-service__gallery--utari img:nth-child(n) {
  width: 36.8rem;
  height: 24.5rem;
}
@media (min-width: 700px) {
  .group-service--utari {
    height: 93.9rem;
  }
  .group-service--utari .group-service__title {
    padding-top: 5rem;
  }
  .group-service__gallery--utari img:nth-child(1) {
    margin-top: 5rem;
  }
  .group-service__gallery--utari img:nth-child(2),
  .group-service__gallery--utari img:nth-child(3) {
    margin-top: 5rem;
  }
}
.group-service__catch {
  margin-top: 4rem;
  font-family: "M PLUS 1", sans-serif;
  font-size: 4.8rem;
  line-height: 1.4;
  text-align: center;
}
.group-service--seta .group-service__catch {
  margin-top: 12rem;
}
.group-service--utari .group-service__catch {
  margin-top: -2rem;
}
.group-service__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 35rem;
  align-items: end;
  gap: 5rem;
  margin-top: 6rem;
}
.group-service--seta .group-service__content {
  margin-top: 3.6rem;
}
.group-service--utari .group-service__content {
  margin-top: 3.6rem;
}
.group-service--seta .group-service__copy p {
  margin-top: 0;
  width: 72rem;
  height: 23rem;
  margin-left: 11rem;
}
@media screen and (max-width: 699.98px) {
  .group-service--seta .group-service__copy p {
    width: 31.8rem;
  }
}

.group-service--utari .group-service__copy p {
  margin-top: 0;
  margin-left: 12rem;
  width: 72rem;
}
.group-service--seta .group-service__link {
  position: relative;
  top: -5rem;
  right: 8rem;
}
@media (min-width: 700px) {
  .group-service--utari .group-service__link {
    position: relative;
    top: -5rem;
    right: 8rem;
  }
}
.group-service__copy h3 {
  font-family: serif;
  font-size: 3.6rem;
  line-height: 1.4;
  text-align: center;
}
.group-service__copy p {
  margin-top: 3.6rem;
  /* Seta・UTARIの紹介文にM PLUS 1を使用する */
  font-family: "M PLUS 1", sans-serif;
  font-size: 3.2rem;
  line-height: 1.45;
}
.group-service__link {
  display: grid;
  min-height: 16.5rem;
  place-items: center;
  padding: 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  background: #fff0f2;
  border: 0.2rem solid #e8b1b6;
  border-radius: 2.5rem;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.group-service__link:hover,
.group-service__link:focus-visible {
  box-shadow: 0 0.8rem 1.5rem rgb(0 0 0 / 15%);
  transform: translateY(-0.4rem);
}
.group-service__link:focus-visible {
  outline: 0.3rem solid #6d5098;
  outline-offset: 0.3rem;
}
/* PC版のHPリンクは、ホバー・キーボード操作時に中央から少し拡大する */
@media (min-width: 700px) {
  .group-service__link:hover,
  .group-service__link:focus-visible {
    transform: translateY(-0.4rem) scale(1.08);
  }
}
.group-service__link-label-sp {
  display: none;
}
/* PC版のリンク文言は指定位置で改行し、2行とも中央へ揃える */
.group-service__link-label-pc {
  text-align: center;
  line-height: 1.5;
  white-space: nowrap;
}

/* 1440px未満のPCでは、画像と周辺の配置を同じ比率で縮める。
   1単位は1440px時に1remとなり、htmlの文字サイズや他ページには影響しない。 */
@media (min-width: 700px) and (max-width: 1439.98px) {
  .group-page {
    --group-unit: min(0.6944444444vw, 1rem);
  }
  .group-hero__inner {
    height: calc(108.3 * var(--group-unit));
  }
  .group-hero__company {
    top: calc(52.2 * var(--group-unit));
    font-size: calc(4.8 * var(--group-unit));
  }
  .group-hero__diagram {
    transform: translateY(calc(-16 * var(--group-unit)));
  }
  .group-hero__message {
    font-size: calc(4 * var(--group-unit));
  }
  .group-hero__message--left {
    top: calc(19 * var(--group-unit));
    left: calc(16.2 * var(--group-unit));
  }
  .group-hero__message--right {
    top: calc(37 * var(--group-unit));
    right: calc(5.4 * var(--group-unit));
  }
  .group-hero__title {
    top: calc(68.2 * var(--group-unit));
    font-size: calc(3.6 * var(--group-unit));
    padding: calc(0.7 * var(--group-unit)) calc(2.2 * var(--group-unit));
  }
  .group-hero__item--kanto {
    top: calc(28 * var(--group-unit));
    width: min(25vw, 36rem);
  }
  .group-hero__item--seta {
    top: calc(69 * var(--group-unit));
    left: calc(27.5 * var(--group-unit));
    width: min(25vw, 36rem);
  }
  .group-hero__item--utari {
    top: calc(70 * var(--group-unit));
    right: calc(26.5 * var(--group-unit));
    width: min(25vw, 36rem);
  }
  .group-hero__line--left-1 {
    top: calc(55.5 * var(--group-unit));
    left: calc(45 * var(--group-unit));
  }
  .group-hero__line--left-2 {
    top: calc(55 * var(--group-unit));
    left: calc(47.5 * var(--group-unit));
  }
  .group-hero__line--right-1 {
    top: calc(57 * var(--group-unit));
    right: calc(45.5 * var(--group-unit));
  }
  .group-hero__line--right-2 {
    top: calc(56 * var(--group-unit));
    right: calc(44.5 * var(--group-unit));
  }
  .group-hero__line--bottom {
    top: calc(84.5 * var(--group-unit));
    width: calc(20 * var(--group-unit));
  }

  .group-services {
    padding: calc(8 * var(--group-unit)) calc(3.2 * var(--group-unit))
      calc(5 * var(--group-unit));
  }
  .group-service {
    width: min(91.319444vw, 131.5rem);
    height: auto;
    padding-bottom: calc(4 * var(--group-unit));
  }
  .group-service--seta {
    min-height: calc(94 * var(--group-unit));
  }
  .group-service--utari {
    min-height: calc(93.9 * var(--group-unit));
  }
  .group-service + .group-service {
    margin-top: calc(8 * var(--group-unit));
  }
  .group-service__title {
    font-size: calc(4.8 * var(--group-unit));
    padding-top: calc(6 * var(--group-unit));
  }
  .group-service--utari .group-service__title {
    padding-top: calc(5 * var(--group-unit));
  }
  .group-service__gallery {
    gap: calc(2 * var(--group-unit));
  }
  .group-service__gallery--seta {
    grid-template-columns: repeat(4, calc(26.7 * var(--group-unit)));
    justify-content: space-between;
    gap: calc(5 * var(--group-unit));
    margin: calc(8 * var(--group-unit)) calc(6 * var(--group-unit))
      calc(-3.5 * var(--group-unit));
  }
  .group-service__gallery--seta figure:nth-child(n) {
    width: min(18.541667vw, 26.7rem);
    height: auto;
    aspect-ratio: 1;
  }
  .group-service__gallery--utari {
    grid-template-columns: repeat(3, calc(36.8 * var(--group-unit)));
    justify-content: space-between;
    margin: calc(3 * var(--group-unit)) calc(5 * var(--group-unit))
      calc(9 * var(--group-unit));
  }
  .group-service__gallery--utari img:nth-child(n) {
    width: min(25.555556vw, 36.8rem);
    height: auto;
    aspect-ratio: 368 / 245;
  }
  .group-service__gallery--utari img:nth-child(n) {
    margin-top: calc(5 * var(--group-unit));
  }
  .group-service__gallery img {
    border-radius: calc(5 * var(--group-unit));
  }
  .group-service__catch {
    font-size: calc(4.8 * var(--group-unit));
  }
  .group-service--seta .group-service__catch {
    margin-top: calc(12 * var(--group-unit));
  }
  .group-service--utari .group-service__catch {
    margin-top: calc(-2 * var(--group-unit));
  }
  /* 説明文の固定幅が画像・ボタンに重ならないよう、下段も同じ比率で可変にする */
  .group-service__content {
    grid-template-columns: minmax(0, 1fr) calc(35 * var(--group-unit));
    gap: calc(5 * var(--group-unit));
  }
  .group-service--seta .group-service__content,
  .group-service--utari .group-service__content {
    margin-top: calc(3.6 * var(--group-unit));
  }
  .group-service__copy p {
    font-size: calc(3.2 * var(--group-unit));
  }
  .group-service--seta .group-service__copy p {
    width: calc(72 * var(--group-unit));
    height: calc(23 * var(--group-unit));
    margin-left: calc(11 * var(--group-unit));
  }
  .group-service--utari .group-service__copy p {
    width: calc(72 * var(--group-unit));
    margin-left: calc(12 * var(--group-unit));
  }
  .group-service__link {
    min-height: calc(16.5 * var(--group-unit));
    padding: calc(2 * var(--group-unit));
    font-size: calc(3.2 * var(--group-unit));
    border-radius: calc(2.5 * var(--group-unit));
  }
  .group-service--seta .group-service__link,
  .group-service--utari .group-service__link {
    top: calc(-5 * var(--group-unit));
    right: calc(8 * var(--group-unit));
  }
}

/* 横幅699.98px以下はSP版の縦長レイアウト */
@media (max-width: 699.98px) {
  .group-hero {
    background: #fae7d6;
    padding-bottom: 3rem;
  }
  .group-hero__inner {
    height: 112rem;
  }
  .group-hero__company,
  .group-hero__message,
  .group-hero__line {
    display: none;
  }
  .group-hero__title {
    top: 4.8rem;
    padding: 0;
    color: #a234a3;
    font-size: 3.6rem;
    background: transparent;
  }
  .group-hero__diagram {
    inset: 0;
  }
  .group-hero__item {
    left: 50%;
    right: auto;
    width: auto;
    transform: translateX(-50%);
  }
  .group-hero__item::before {
    display: none;
  }
  .group-hero__item img {
    width: auto;
    height: 22rem;
    max-width: none;
    margin-inline: auto;
  }
  /* SP版上部3画像は、変更後のデザインに合わせて同じサイズに統一 */
  .group-hero__item--kanto img,
  .group-hero__item--seta img,
  .group-hero__item--utari img {
    width: 24.4rem;
    height: 22.2rem;
  }
  .group-hero__item--seta img {
    margin-top: -3rem;
  }
  .group-hero__item figcaption {
    position: static;
    display: block;
    margin-top: 1.7rem;
    font-family: "Instrument Sans", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    transform: none;
  }
  .group-hero__item--seta figcaption {
    margin-top: 2.7rem;
  }
  .group-hero__item--utari figcaption {
    margin-top: 1.8rem;
  }
  .group-hero__item--kanto {
    top: 13rem;
  }
  .group-hero__item--seta {
    top: 45.5rem;
  }
  .group-hero__item--utari {
    top: 73rem;
  }

  .group-services {
    padding: 0;
  }
  .group-service {
    width: 100%;
    scroll-margin-top: 10rem;
    padding: 0 0 5rem;
    border-radius: 0;
    box-shadow: none;
  }
  .group-service + .group-service {
    margin-top: 0;
    height: 146rem;
  }
  .group-service--seta {
    background: #fafaa5;
    height: 222.7rem;
  }
  .group-service--utari {
    background: #d6efd1;
  }
  .group-service__title {
    padding: 3.1rem 1rem;
    font-size: 2.4rem;
    font-weight: 500;
    white-space: nowrap;
    background: #ffd39c;
    margin-top: 0rem;
  }
  .group-service__title-pc {
    display: none;
  }
  .group-service__title-sp {
    display: inline;
  }
  .group-service__gallery {
    display: block;
    margin-top: 4rem;
    padding-inline: 4.5rem;
  }
  .group-service__gallery--seta {
    margin: 4rem 0;
  }
  .group-service__gallery--seta figure + figure {
    margin-top: 5.5rem;
  }
  .group-service__gallery--seta img {
    width: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: cover;
    border-radius: 5rem;
  }
  /* SP版もSetaの4画像を267px四方に統一 */
  .group-service__gallery--seta figure:nth-child(n) {
    width: 26.7rem;
    height: 26.7rem;
    margin-inline: auto;
  }
  .group-service__gallery--seta figure:nth-child(2) {
    margin-top: 3rem;
  }
  .group-service__gallery--seta figure:nth-child(n) img {
    width: 100%;
    height: 100%;
  }
  .group-service__gallery figcaption {
    display: block;
    margin-top: 1.5rem;
    font-family: serif;
    font-size: 3.2rem;
    text-align: center;
  }
  /* 施設名はPHPに残し、現在のSP版Setaでは一時的に非表示にする */
  .group-service__gallery--seta figcaption {
    display: none;
  }
  .group-service__gallery--utari img {
    width: 100%;
    height: auto;
    max-height: 24rem;
    object-fit: cover;
    border-radius: 5rem;
  }
  .group-service__gallery--utari img:nth-child(n) {
    margin-inline: auto;
    width: 31.9rem;
    height: 21.2rem;
  }
  .group-service__gallery--utari img + img {
    margin-top: 6rem;
  }
  /* JavaScript有効時は、縦並びの画像を同じ位置で1枚ずつフェード表示する */
  .group-service__gallery.is-slideshow {
    display: grid;
    place-items: center;
  }
  /* SP版Setaのスライドを、画像幅を基準にセクション中央へ配置する */
  .group-service__gallery--seta.is-slideshow {
    position: relative;
    left: 50%;
    width: 26.7rem;
    margin-right: 0;
    margin-left: 0;
    padding-inline: 0;
    transform: translateX(-50%);
  }
  .group-service__gallery.is-slideshow > * {
    grid-area: 1 / 1;
    margin-top: 0 !important;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.7s ease,
      visibility 0s linear 0.7s;
  }
  .group-service__gallery.is-slideshow > *.is-active {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }
  .group-service__content {
    display: block;
    margin-top: 7rem;
  }
  .group-service__catch {
    margin-top: 7rem;
    padding-inline: 2rem;
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .group-service--seta .group-service__content {
    margin-top: 3.5rem;
  }
  .group-service--seta .group-service__catch {
    /* スライド画像下の施設名とキャッチコピーが重ならないよう間隔を確保 */
    margin-top: 4rem;
  }
  .group-service--utari .group-service__content {
    margin-top: 3rem;
  }
  /* SP版UTARIの写真・キャッチコピー・説明文の間隔を3remずつに揃える */
  .group-service--utari .group-service__catch {
    margin-top: 3rem;
  }

  /* PC用の固定寸法を解除し、SPでは文章量に合わせて自然に伸ばす */
  .group-service--seta .group-service__copy p,
  .group-service--utari .group-service__copy p {
    width: auto;
    height: auto;
    margin-left: 0;
    font-size: 2rem;
    margin: 4rem 2rem;
  }
  .group-service--seta .group-service__copy p {
    margin: -1rem 4rem;
    width: 33rem;
  }
  .group-service--utari .group-service__copy p {
    margin: 0 3.5rem;
    width: 33rem;
  }
  .group-service__copy h3 {
    font-size: 2rem;
    line-height: 1.5;
  }
  .group-service__copy p {
    margin-top: 3.5rem;
    font-size: 1.5rem;
    line-height: 1.55;
  }
  .group-service__link {
    width: 35rem;
    height: 8.2rem;
    min-height: 0;
    margin: 3rem auto 0;
    padding: 1.7rem 2.4rem;
    font-size: 2rem;
    background: #ffb9bd;
    /* 実機でもボタンと分かるよう、通常時から輪郭と立体的な影を表示する */
    border: 0.2rem solid #a85f73;
    border-radius: 1.5rem;
    box-shadow:
      0 0.5rem 0 #a85f73,
      0 0.8rem 1.2rem rgb(83 48 62 / 22%);
    transition:
      transform 0.12s ease,
      box-shadow 0.12s ease;
  }
  /* タッチ端末でhover状態を残さず、押している間だけボタンを沈ませる */
  .group-service__link:hover {
    transform: none;
    box-shadow:
      0 0.5rem 0 #a85f73,
      0 0.8rem 1.2rem rgb(83 48 62 / 22%);
  }
  .group-service__link:active {
    box-shadow:
      0 0.2rem 0 #a85f73,
      0 0.4rem 0.7rem rgb(83 48 62 / 18%);
    transform: translateY(0.3rem);
  }
  /* SP版はUTARIのホームページボタンだけ、Setaより1rem下へ配置する */
  .group-service--utari .group-service__link {
    margin-top: 5rem;
  }
  .group-service--seta .group-service__link {
    /* PC版で使っている位置調整を解除し、完成イメージどおり説明文の下に配置 */
    position: static;
    top: auto;
    right: auto;
    width: 35rem;
    max-width: calc(100% - 1.9rem);
    height: 8.2rem;
    min-height: 0;
    padding: 1rem;
    font-size: 2rem;
    white-space: nowrap;
    background: #ffeded;
  }
  .group-service__link-label-pc {
    display: none;
  }
  .group-service__link-label-sp {
    display: inline;
    text-align: center;
  }
}

/* SP画像は390px時の指定サイズを上限にして縮小し、縦横比を維持する */
@media (max-width: 699.98px) {
  .group-page {
    --group-sp-unit: min(2.5641025641vw, 1rem);
  }
  .group-hero__item--kanto img,
  .group-hero__item--seta img,
  .group-hero__item--utari img {
    width: calc(24.4 * var(--group-sp-unit));
    height: calc(22.2 * var(--group-sp-unit));
  }
  .group-service__gallery {
    padding-inline: calc(2 * var(--group-sp-unit));
  }
  .group-service__gallery--seta figure:nth-child(n) {
    width: calc(26.7 * var(--group-sp-unit));
    height: calc(26.7 * var(--group-sp-unit));
  }
  .group-service__gallery--seta figure:nth-child(n) img {
    width: 100%;
    height: 100%;
  }
  .group-service__gallery--utari img:nth-child(n) {
    width: calc(31.9 * var(--group-sp-unit));
    height: calc(21.2 * var(--group-sp-unit));
  }
  /* 文章の折り返しが増えても後続セクションに重ならないよう高さを確保する */
  .group-service--seta {
    height: auto;
    min-height: 0;
  }
  .group-service--utari.group-service {
    height: auto;
    min-height: 0;
  }
  .group-service__link {
    max-width: calc(100% - 4rem);
    height: auto;
    min-height: 8.2rem;
  }
  .group-service__title {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .group-hero {
    animation: none;
  }
  .group-hero__message.is-fade-up-ready {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
  .group-service__link {
    transition: none;
  }
  .group-service__gallery.is-slideshow > * {
    transition: none;
  }
}

/* 動きを減らす設定では、PC版のリンク画像を静止したままにする */
@media (prefers-reduced-motion: reduce) and (min-width: 700px) {
  .group-hero__item--seta,
  .group-hero__item--utari {
    transition: none;
  }
  .group-hero__item--seta:hover,
  .group-hero__item--seta:focus-within,
  .group-hero__item--utari:hover,
  .group-hero__item--utari:focus-within {
    filter: none;
    transform: none;
  }
}
