/* =====================================================================
   空港部TOP  グループの扉   assets/css/kms-hub.css   (plugin: kajiya-airport-hub)

   Markup = plain core blocks, nothing hand-written:
     グループ  (block style "空港部の扉を並べる" = .is-style-kms-doors)
       └ カバー (block style "空港部の扉・赤" / "空港部の扉・黄") … one per group
           ├ 段落   class kms-door__en     英字の小見出し
           ├ 見出し h3                     グループ名
           ├ 段落   class kms-door__text   業務を表す1文
           └ ボタン                         行き先（"新しいタブで開く" で外部サイト扱い）
   The plugin adds a short accessible name to the link (inc/doors.php). Any cover placed inside the
   frame becomes a door; 2 or 3 doors are supported.

   Layout is normal flow (flex row on PC, column on phones). Doors overlap by
   a fixed amount and every door after the first is cut along a slanted seam
   (clip-path). The text is never absolutely positioned: a longer text makes
   the door taller instead of being cut off.

   Why the selectors are long and some carry !important: the deer theme styles
   .post h3 / .post a / .wp-block-buttons a, and core's cover CSS sets z-index
   with (0,6,1) selectors. Every rule here starts with
   .wp-block-group.is-style-kms-doors so it wins without touching the theme.
   ===================================================================== */

.wp-block-group.is-style-kms-doors {
  --kd-red: #C8161D;          /* KMS red */
  --kd-red-deep: #A50F16;
  --kd-amber: #F0A500;        /* second door: amber, not blue (blue could be read as ANA) */
  --kd-amber-deep: #D08E00;
  --kd-amber-ink: #14181F;    /* text on amber */
  --kd-night: 8, 15, 28;      /* scrim colour, rgb triplet */
  --kd-ease: cubic-bezier(.22, .8, .24, 1);
  --kd-min: 520px;            /* door height (a longer text makes it taller) */
  --kd-s: 64px;               /* horizontal lean of the seam over the door height */
  --kd-g: 8px;                /* width of the red seam */
  --kd-shift: 40px;           /* how far the seam moves on hover */
  --kd-pad: 44px;
  --kd-gap: 24px;             /* text keeps this far from the seam */
  --kd-over: calc(var(--kd-s) + 2 * var(--kd-shift));  /* overlap of two doors */
  --kd-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --kd-ja: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif;

  position: relative;
  margin: 44px 0 0;
  padding: 0;
  font-family: var(--kd-ja);
  text-align: left;
  letter-spacing: normal;      /* deer: body { letter-spacing: .5px } */
  overflow-wrap: normal;
  -webkit-font-smoothing: antialiased;
}
.wp-block-group.is-style-kms-doors *,
.wp-block-group.is-style-kms-doors *::before,
.wp-block-group.is-style-kms-doors *::after { box-sizing: border-box; }

/* The row. Classic themes (deer) wrap the group's children in __inner-container. */
.wp-block-group.is-style-kms-doors > .wp-block-group__inner-container {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  border-radius: 6px;
  overflow: hidden;
  isolation: isolate;
  background: rgb(var(--kd-night));
}

/* ---------- One door (= one cover block) ---------- */
.wp-block-group.is-style-kms-doors .wp-block-cover {
  --kd-acc: var(--kd-red);
  --kd-acc-deep: var(--kd-red-deep);
  --kd-acc-line: var(--kd-red);
  --kd-edge: var(--kd-shift);          /* where this door's seam sits (0 … 2 x shift) */
  position: relative;
  isolation: isolate;
  flex: 1 1 0;
  min-width: 0;
  min-height: var(--kd-min) !important;   /* the editor may store its own min-height */
  height: auto;
  margin: 0;
  padding: 40px calc(var(--kd-over) + var(--kd-gap)) 40px var(--kd-pad);
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  overflow: hidden;
  color: #fff;
  background: rgb(var(--kd-night));
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
/* is-style-kms-door-blue: the old name of the second colour (1.1.1 and before); shown in amber too */
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-amber,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-blue {
  --kd-acc: var(--kd-amber);
  --kd-acc-deep: var(--kd-amber-deep);
  --kd-acc-line: var(--kd-amber);
}
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-amber .wp-block-button__link,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-amber .wp-block-button__link:hover,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-amber .wp-block-button__link:focus,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-amber .wp-block-button__link:visited,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-blue .wp-block-button__link,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-blue .wp-block-button__link:hover,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-blue .wp-block-button__link:focus,
.wp-block-group.is-style-kms-doors .wp-block-cover.is-style-kms-door-blue .wp-block-button__link:visited { color: var(--kd-amber-ink); }
.wp-block-group.is-style-kms-doors .wp-block-cover:last-child { padding-right: calc(var(--kd-pad) - 8px); }

/* Every door after the first slides under its left neighbour and is cut along the seam. */
.wp-block-group.is-style-kms-doors .wp-block-cover + .wp-block-cover {
  margin-left: calc(-1 * var(--kd-over));
  padding-left: calc(var(--kd-over) + var(--kd-g) + var(--kd-gap));
  clip-path: polygon(calc(var(--kd-edge) + var(--kd-s)) 0, 100% 0, 100% 100%, var(--kd-edge) 100%);
}
/* The seam itself: a red strip along the cut edge (the photo is not clipped,
   so the hover zoom never moves the seam). */
.wp-block-group.is-style-kms-doors .wp-block-cover + .wp-block-cover::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(172deg, var(--kd-red) 0%, var(--kd-red-deep) 100%);
  clip-path: polygon(
    calc(var(--kd-edge) + var(--kd-s)) 0, calc(var(--kd-edge) + var(--kd-s) + var(--kd-g)) 0,
    calc(var(--kd-edge) + var(--kd-g)) 100%, var(--kd-edge) 100%);
  pointer-events: none;
}

/* Photo and scrim stay behind the text (core gives them z-index 0/1). */
.wp-block-group.is-style-kms-doors .wp-block-cover > .wp-block-cover__image-background {
  z-index: -3 !important;
  transform-origin: 50% 65%;
  transition: transform 1.2s var(--kd-ease);
}
/* Dark from the bottom so white type reads; the top of the photo stays clean.
   (The overlay colour and opacity set in the editor are replaced on purpose.) */
.wp-block-group.is-style-kms-doors .wp-block-cover > .wp-block-cover__background {
  z-index: -2 !important;
  opacity: 1 !important;
  background: linear-gradient(to top,
    rgba(var(--kd-night), .92) 0%,
    rgba(var(--kd-night), .74) 32%,
    rgba(var(--kd-night), .22) 60%,
    rgba(var(--kd-night), 0) 78%) !important;
}
.wp-block-group.is-style-kms-doors .wp-block-cover > .wp-block-cover__inner-container {
  position: relative;
  z-index: auto !important;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #fff;
}
/* A soft dark halo behind the text block itself: it grows with the text, so a
   longer text or a brighter photo still reads. */
.wp-block-group.is-style-kms-doors .wp-block-cover > .wp-block-cover__inner-container::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -36px -16px -12px -20px;
  border-radius: 40px;
  background: rgba(var(--kd-night), .34);
  filter: blur(28px);
  pointer-events: none;
}

/* ---------- Text ---------- */
.wp-block-group.is-style-kms-doors .wp-block-cover .kms-door__en {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  padding: 0;
  color: rgba(255, 255, 255, .92);
  font-family: var(--kd-display);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .45);  /* the label can sit on bright sky (phones) */
}
.wp-block-group.is-style-kms-doors .wp-block-cover .kms-door__en::before {
  content: "";
  flex: none;
  width: 30px;
  height: 3px;
  background: var(--kd-acc-line);
  transform: skewX(-40deg);
}

.wp-block-group.is-style-kms-doors .wp-block-cover h2,
.wp-block-group.is-style-kms-doors .wp-block-cover h3 {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #fff;
  font-family: var(--kd-ja);
  font-size: clamp(30px, 2.9vw, 42px);
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: .04em;
  font-feature-settings: "palt";
  text-align: left;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .28);
}

.wp-block-group.is-style-kms-doors .wp-block-cover .kms-door__text {
  max-width: 23em;
  margin: 0 0 24px;
  padding: 0;
  color: rgba(255, 255, 255, .94);
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: .03em;
  font-feature-settings: "palt";
  text-align: left;
  word-break: auto-phrase;
  text-wrap: pretty;
}

/* ---------- Button: the same slanted block as the blog's  すべての記事を見る ---------- */
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
}
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button {
  position: relative;
  isolation: isolate;
  margin: 0 0 0 6px;
  width: auto;
}
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--kd-acc);
  transform: skewX(-14deg);
  transition: background-color .25s ease;
}
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link,
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link:hover,
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link:focus,
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link:visited {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: auto;
  min-height: 48px;
  margin: 0;
  padding: 0 24px 0 26px;
  border: 0;
  border-radius: 0;
  background: transparent !important;  /* the theme sets .wp-block-button a:hover { background:#3169b3 !important } */
  box-shadow: none;
  color: #fff;
  font-family: var(--kd-ja);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  word-break: normal;         /* deer: .post a { word-break: break-all } */
  transition: none;
}
/* Arrow after the label (→ for this site, ↗ for a new tab) */
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link::before {
  content: "";
  order: 2;
  flex: none;
  width: 22px;
  height: 10px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 5h20M15 1l5 4-5 4' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 5h20M15 1l5 4-5 4' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .35s var(--kd-ease);
}
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link[target="_blank"]::before {
  width: 14px;
  height: 14px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5.5 1.5h7v7M12.5 1.5 4 10M10 9.5v3H1.5V4h3' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5.5 1.5h7v7M12.5 1.5 4 10M10 9.5v3H1.5V4h3' fill='none' stroke='%23000' stroke-width='1.7'/%3E%3C/svg%3E");
}
/* The whole door is the link: the first button's ::after covers the door
   (the door's own overflow and clip-path cut it to shape). */
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button:first-child .wp-block-button__link::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -100vmax;
}
/* A second link that staff add inside a door stays clickable above it. */
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-cover__inner-container a:not(.wp-block-button__link),
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button:not(:first-child) {
  position: relative;
  z-index: 2;
}
/* Keyboard: ring on the button block (the door is clipped, its own outline would be cut). */
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link:focus:not(:focus-visible) { outline: none; }
.wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 5px;
}

/* ---------- Hover: pointer devices, side-by-side layout ---------- */
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .wp-block-group.is-style-kms-doors .wp-block-cover + .wp-block-cover,
  .wp-block-group.is-style-kms-doors .wp-block-cover + .wp-block-cover::before { transition: clip-path .75s var(--kd-ease); }
  /* the hovered door gets wider: its own seam steps left, the next door's seam steps right */
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover,
  .wp-block-group.is-style-kms-doors .wp-block-cover:focus-within { --kd-edge: 0px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover + .wp-block-cover,
  .wp-block-group.is-style-kms-doors .wp-block-cover:focus-within + .wp-block-cover { --kd-edge: calc(2 * var(--kd-shift)); }
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover > .wp-block-cover__image-background { transform: scale(1.04); }
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover .wp-block-button:first-child .wp-block-button__link::before { transform: translateX(5px); }
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover .wp-block-button:first-child .wp-block-button__link[target="_blank"]::before { transform: translate(2px, -2px); }
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover .wp-block-button:first-child::before { background: var(--kd-acc-deep); }
}

/* ---------- Three doors on PC: no seam movement, smaller names ---------- */
.wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3),
.wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover {
  --kd-shift: 0px;
  --kd-s: 44px;
  --kd-pad: 32px;
  --kd-gap: 18px;
  --kd-over: var(--kd-s);
}
.wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) h3,
.wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover h3 { font-size: clamp(24px, 2.2vw, 32px); }

/* ---------- Tablet ---------- */
@media (max-width: 1023px) {
  .wp-block-group.is-style-kms-doors { --kd-min: 460px; --kd-s: 48px; --kd-shift: 28px; --kd-pad: 28px; --kd-gap: 16px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover { padding-top: 30px; padding-bottom: 30px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover h3 { font-size: 27px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover .kms-door__text { font-size: 13.5px; margin-bottom: 18px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link { font-size: 14px; padding: 0 18px 0 20px; }
}

/* ---------- Phone: doors stacked, seam at the site's 4deg ---------- */
@media (max-width: 767px) {
  .wp-block-group.is-style-kms-doors {
    --kd-min: 350px;
    --kd-s: 7vw;            /* = tan(4deg) x width: parallel to the theme's skewY(-4deg) bands */
    --kd-g: 7px;
    --kd-pad: 20px;
    margin: 32px 0 0;
  }
  .wp-block-group.is-style-kms-doors > .wp-block-group__inner-container { flex-direction: column; }
  .wp-block-group.is-style-kms-doors .wp-block-cover,
  .wp-block-group.is-style-kms-doors .wp-block-cover:last-child {
    flex: none;
    padding: 28px var(--kd-pad) 28px;
  }
  /* the next door covers this door's lower corner: keep the text above it */
  .wp-block-group.is-style-kms-doors .wp-block-cover:not(:last-child) { padding-bottom: calc(var(--kd-s) + 26px); }
  .wp-block-group.is-style-kms-doors .wp-block-cover + .wp-block-cover {
    margin: calc(-1 * var(--kd-s)) 0 0;
    padding-left: var(--kd-pad);
    padding-top: calc(var(--kd-s) + var(--kd-g) + 28px);
    clip-path: polygon(0 var(--kd-s), 100% 0, 100% 100%, 0 100%);
  }
  .wp-block-group.is-style-kms-doors .wp-block-cover + .wp-block-cover::before {
    clip-path: polygon(0 var(--kd-s), 100% 0, 100% var(--kd-g), 0 calc(var(--kd-s) + var(--kd-g)));
  }
  /* the text reaches higher up a 350px door: carry a lighter scrim up to the English label */
  .wp-block-group.is-style-kms-doors .wp-block-cover > .wp-block-cover__background {
    background: linear-gradient(to top,
      rgba(var(--kd-night), .92) 0%,
      rgba(var(--kd-night), .74) 36%,
      rgba(var(--kd-night), .42) 70%,
      rgba(var(--kd-night), .2) 100%) !important;
  }
  .wp-block-group.is-style-kms-doors .wp-block-cover .kms-door__en { font-size: 15px; margin-bottom: 10px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover h3,
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) h3,
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover h3 {
    font-size: clamp(26px, 7.2vw, 28px);
    letter-spacing: .02em;
    margin-bottom: 10px;
  }
  /* "グランドサービス↵グループ": one line from 360px, two lines below */
  .wp-block-group.is-style-kms-doors .wp-block-cover h3 br { display: none; }
  .wp-block-group.is-style-kms-doors .wp-block-cover .kms-door__text { font-size: 14px; line-height: 1.8; margin-bottom: 18px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover .wp-block-button__link { min-height: 44px; font-size: 14px; padding: 0 20px 0 22px; }
}
@media (max-width: 359px) {
  .wp-block-group.is-style-kms-doors .wp-block-cover h3 br { display: inline; }
}
/* Small phones: edge to edge. From 600px up the doors stay in the text column,
   so the small bus photo is never shown much larger than its own size. */
@media (max-width: 599px) {
  .wp-block-group.is-style-kms-doors { margin: 32px calc(50% - 50vw) 0; }
  .wp-block-group.is-style-kms-doors > .wp-block-group__inner-container { border-radius: 0; }
}

/* ---------- Intro paragraphs (block editor: 追加CSSクラス kms-hub-lead; optional) ---------- */
.post p.kms-hub-lead { word-break: auto-phrase; text-wrap: pretty; }
@media (max-width: 767px) {
  .post p.kms-hub-lead { line-height: 1.65; }
}

/* ---------- 768px and up: two doors on the blog's column ----------
   The frame takes the width of KMS BLOG below it (800px; on tablets 20px in from each side of the
   text column, like the blog), so the doors and the blog share their left and right edges.
   Three doors keep the whole column: three names do not fit in 800px. */
@media (min-width: 768px) {
  .wp-block-group.is-style-kms-doors { width: min(800px, 100% - 40px); margin-left: auto; margin-right: auto; }
  .wp-block-group.is-style-kms-doors:has(.wp-block-cover ~ .wp-block-cover ~ .wp-block-cover) { width: auto; margin-left: 0; margin-right: 0; }
}
@media (min-width: 1024px) {
  .wp-block-group.is-style-kms-doors { --kd-min: 440px; --kd-s: 56px; --kd-shift: 32px; --kd-pad: 36px; --kd-gap: 18px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover { padding-top: 34px; padding-bottom: 34px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover h3 { font-size: 30px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover .kms-door__text { font-size: 14px; margin-bottom: 20px; }
}
/* Tablets: the group names are sized from the frame's own width (container query units), so
   "グランドサービス" always stays on one line; the vw line is for browsers without them.
   Two doors: 192px = side paddings minus the overlap, 16.6 = 2 doors x about 8.3em for the name.
   Three doors (the text of a door is only 140-220px wide): 232px and 25 = 3 x 8.3em; the English
   label and the URL get smaller too. */
@media (min-width: 768px) and (max-width: 1023px) {
  .wp-block-group.is-style-kms-doors { container-type: inline-size; }
  /* two doors: deer's column is narrowest from 769 to 800px (the frame is about 605px there) */
  .wp-block-group.is-style-kms-doors .wp-block-cover h3 {
    font-size: clamp(22px, 6vw - 22px, 27px);
    font-size: clamp(22px, (100cqi - 192px) / 16.6, 27px);
  }
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) h3,
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover h3 {
    font-size: clamp(16px, 4vw - 14px, 24px);
    font-size: clamp(16px, (100cqi - 232px) / 25, 24px);
  }
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) .kms-door__en,
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover .kms-door__en { font-size: 14px; letter-spacing: .12em; gap: 8px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) .kms-door__en::before,
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover .kms-door__en::before { width: 20px; }
  /* compact button without the arrow, so "グループのページへ" stays clear of the next seam
     (the 別サイト・新しいタブ line under it still says where it goes) */
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) .wp-block-button__link,
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover .wp-block-button__link { font-size: 13px; letter-spacing: .02em; padding: 0 13px 0 14px; }
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) .wp-block-button__link::before,
  .wp-block-group.is-style-kms-doors .wp-block-cover:first-child:nth-last-child(n+3) ~ .wp-block-cover .wp-block-button__link::before { display: none; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .wp-block-group.is-style-kms-doors *,
  .wp-block-group.is-style-kms-doors *::before,
  .wp-block-group.is-style-kms-doors *::after { transition: none !important; animation: none !important; }
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover > .wp-block-cover__image-background,
  .wp-block-group.is-style-kms-doors .wp-block-cover:hover .wp-block-button__link::before { transform: none !important; }
}
