@charset "utf-8";

/*!
 * @ablogcms/acms.css Ver. 3.2.38
 * Copyright appleple
 * license: MIT
 *
 * カスタマイズする場合は、オリジナルのテーマにコピーしてご利用ください。
 *
 */

/**
 * グリッドシステム（非推奨）
 */
/**
 * グリッドシステム（非推奨）
 */
/**
 * グリッドシステム（非推奨）
 */
/* ------------------------------
  Popover
------------------------------- */
/* ------------------------------
 ベーススタイル
------------------------------ */
:where(.acms-entry) .acms-cssgrid {
  --acms-gap: 0 var(--unit-gap-x);
}
:where(.acms-entry) .acms-stack,
:where(.acms-entry) .acms-vstack,
:where(.acms-entry) .acms-hstack {
  --acms-stack-spacing: 0 var(--unit-gap-x);
}

:where(.acms-entry) {
  /* コンテンツの初めの要素には上余白をつけない */
}
:where(.acms-entry) > *:first-child, :where(.acms-entry) > *:first-child.column-block-editor > *:first-child, :where(.acms-entry) > *:first-child.js-edit_inplace > *:first-child, :where(.acms-entry) > *:first-child.js-edit_inplace-hovering + .js-edit_inplace > *:first-child {
  margin-block-start: 0;
}

:where(.acms-entry) img,
:where(.acms-entry) video {
  max-width: 100%;
  height: auto;
}
:where(.acms-entry) audio,
:where(.acms-entry) canvas,
:where(.acms-entry) embed,
:where(.acms-entry) iframe,
:where(.acms-entry) object,
:where(.acms-entry) svg,
:where(.acms-entry) video {
  display: block;
  vertical-align: middle;
}

/* ------------------------------
 テキスト
------------------------------ */
/* リンク
----------------------------- */
.acms-entry a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *)) {
  color: #006dd9;
  text-decoration: underline;
}
@media (hover: hover) {
  .acms-entry a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *)) {
    transition: color 0.2s linear;
  }
  .acms-entry a:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=media-image-block], [class~=media-image-block] *, [class~=column-image], [class~=column-image] *, [class~=column-media], [class~=column-media] *, [class~=column-eximage], [class~=column-eximage] *)):where(:any-link):hover {
    color: color-mix(in srgb, currentcolor 80%, black);
  }
}

/* em
----------------------------- */
.acms-entry em:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  font-style: italic;
}

/* strong
----------------------------- */
.acms-entry strong:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  font-weight: bold;
}

/* mark
----------------------------- */
.acms-entry mark:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  padding-block: 0.125rem;
  color: inherit;
  background-color: #ff6, #a0ffff, #9f9, #f99, #f6f, #800;
  border-radius: 0.125rem;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}

/* code
----------------------------- */
.acms-entry code:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) {
  padding: 0.25em;
  color: #c1354a;
  background-color: #f1f1f1;
  border: 1px solid #c2c2ce;
  border-radius: 0.1875rem; /* 3px */
  font-size: 12px;
}
@media print {
  .acms-entry code:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) {
    font-size: 12px;
  }
}
@media (min-width: 768px) {
  .acms-entry code:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) {
    font-size: 14px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry code:not(:where([class~=not-editor-style], [class~=not-editor-style] *, [class~=code-highlight], [class~=code-highlight] *)) {
    font-size: 14px;
  }
}

/* 見出し
----------------------------- */
.acms-entry h1:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--unit-margin-top) + 0.923em) var(--unit-margin-bottom);
  font-weight: bold;
  line-height: 1.5;
  font-size: 26px;
}
@media print {
  .acms-entry h1:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 26px;
  }
}
@media (min-width: 768px) {
  .acms-entry h1:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 28px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry h1:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 28px;
  }
}

.acms-entry h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--unit-margin-top) + 0.923em) var(--unit-margin-bottom);
  font-weight: bold;
  line-height: 1.5;
  font-size: 22px;
}
@media print {
  .acms-entry h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 22px;
  }
}
@media (min-width: 768px) {
  .acms-entry h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 26px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry h2:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 26px;
  }
}

.acms-entry h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--unit-margin-top) + 0.667em) var(--unit-margin-bottom);
  font-weight: bold;
  line-height: 1.5;
  font-size: 20px;
}
@media print {
  .acms-entry h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 20px;
  }
}
@media (min-width: 768px) {
  .acms-entry h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 24px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry h3:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 24px;
  }
}

.acms-entry h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--unit-margin-top) + 0.4em) var(--unit-margin-bottom);
  font-weight: bold;
  line-height: 1.5;
  font-size: 16px;
}
@media print {
  .acms-entry h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .acms-entry h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 20px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry h4:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 20px;
  }
}

.acms-entry h5:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--unit-margin-top) + 0.25em) var(--unit-margin-bottom);
  font-weight: bold;
  line-height: 1.7;
  font-size: 14px;
}
@media print {
  .acms-entry h5:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 14px;
  }
}
@media (min-width: 768px) {
  .acms-entry h5:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry h5:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}

.acms-entry h6:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: calc(var(--unit-margin-top) + 0.25em) var(--unit-margin-bottom);
  font-weight: bold;
  line-height: 1.7;
  font-size: 14px;
}
@media print {
  .acms-entry h6:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 14px;
  }
}
@media (min-width: 768px) {
  .acms-entry h6:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry h6:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}

/* 本文
----------------------------- */
.acms-entry p:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  line-height: 1.7;
  font-size: 14px;
}
@media print {
  .acms-entry p:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 14px;
  }
}
@media (min-width: 768px) {
  .acms-entry p:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry p:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}

/* リスト
----------------------------- */
.acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  padding-inline-start: 1.5rem;
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  list-style: disc;
}
.acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
  margin-block-start: 0.5em;
  line-height: 1.7;
  font-size: 14px;
}
@media print {
  .acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
    font-size: 14px;
  }
}
.acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li:first-child {
  margin-block-start: 0;
}
.acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li > * {
  /* ブロックエディター：リセット用 */
  margin-block: 0;
}
.acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li ul {
  padding-inline-start: 1.75rem;
  margin-block: 0.5em 0;
  list-style: circle;
}
.acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li ul ul {
  list-style: square;
}
@media (min-width: 768px) {
  .acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
    font-size: 16px;
  }
}

/* 番号付きリスト */
.acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  padding-inline-start: 1.5rem;
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  list-style-type: decimal;
}
.acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
  margin-block-start: 0.5em;
  line-height: 1.7;
  font-size: 14px;
}
@media print {
  .acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
    font-size: 14px;
  }
}
.acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li:first-child {
  margin-block-start: 0;
}
.acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li > * {
  /* ブロックエディター：リセット用 */
  margin-block: 0;
}
.acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li ol {
  padding-inline-start: 1.75rem;
  margin-block: 0.5em 0;
  list-style-type: lower-alpha;
}
.acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li ol ol {
  list-style-type: lower-roman;
}
@media (min-width: 768px) {
  .acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry ol:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) li {
    font-size: 16px;
  }
}

/* 記述リスト */
.acms-entry dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  display: grid;
  gap: 0.5em;
  padding-block: 1em;
  padding-inline-start: 0;
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  line-height: 1.7;
  border: 0 solid currentcolor;
  border-block-start-width: 1px;
  border-block-end-width: 1px;
  font-size: 14px;
}
@media print {
  .acms-entry dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 14px;
  }
}
.acms-entry dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) dt {
  font-weight: bold;
}
.acms-entry dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) dd {
  margin-inline-start: 0; /* リセット用 */
}
.acms-entry dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) dd + dt {
  margin-top: 0.5em;
}
@media (min-width: 768px) {
  .acms-entry dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry dl:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}

/* ソースコード
----------------------------- */
.acms-entry pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  max-width: 100%;
  padding: 1rem;
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  overflow: auto;
  line-height: 1.7;
  color: #333; /* 閲覧側画面の文字色はライブラリに依存 */
  background-color: #f1f1f1;
  border: 1px solid #c2c2ce;
  border-radius: 0.375rem; /* 6px */
  font-size: 14px;
}
@media print {
  .acms-entry pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 14px;
  }
}
.acms-entry pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) code {
  /* リセット用 */
  padding: 0;
  font-size: inherit;
  color: inherit;
  background-color: inherit;
  border: none;
  box-shadow: none;
}
@media (min-width: 768px) {
  .acms-entry pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry pre:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 16px;
  }
}

/* 水平罫線
----------------------------- */
.acms-entry hr:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  border: 0 solid #aaa;
  border-top-width: 1px;
}

/* ブロックエディター用 */
[data-type=horizontalRule] {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}
[data-type=horizontalRule] hr {
  margin-block: 0;
}

/* ------------------------------
 ユニット配置
------------------------------ */
.column-image-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-image-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-image-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-file-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-file-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-file-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-map-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-map-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-map-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-street-view-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-street-view-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-street-view-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-youtube-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-youtube-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-youtube-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-video-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-video-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-video-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-eximage-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-eximage-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-eximage-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-media-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-media-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-media-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-embed-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-embed-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-embed-center,
.align-center {
  display: flex;
  justify-content: center;
}

.column-module-left,
.align-left {
  display: flex;
  justify-content: flex-start;
}

.column-module-right,
.align-right {
  display: flex;
  justify-content: flex-end;
}

.column-module-center,
.align-center {
  display: flex;
  justify-content: center;
}

/* ------------------------------
 ユニットグループ内のユニット旧表示サイズ指定を無効にする
------------------------------ */
.acms-entry-unit-full [class*=acms-col-] {
  width: 100%;
}

/* ------------------------------
 ブロックエディター内要素のレイアウト
------------------------------ */
/* レイアウト */
:where(.acms-entry) :where([data-type=columns]) {
  box-sizing: border-box;
  display: grid;
  grid-auto-flow: column;
}
:where(.acms-entry) :where([data-type=columns]).layout-two-column {
  grid-template-columns: repeat(2, 1fr);
}
:where(.acms-entry) :where([data-type=columns]).layout-three-column {
  grid-template-columns: repeat(3, 1fr);
}

/* 1fr は minmax(auto, 1fr) なので、カラムの中に入れ子のカラムや幅の広い画像があると最小幅が中身に
   引っ張られて親のグリッドからはみ出す。min-width: 0 で中身の幅に関わらず均等割りを保つ */
:where(.acms-entry) :where([data-type=columns]) > :where([data-type=column]) {
  min-width: 0;
}

/* 管理画面側 */
:where(.acms-admin-block-editor) :where([data-type=columns]) {
  gap: 1rem !important;
}

/* 閲覧画面側 */
:where(.acms-entry) :where([data-type=columns]) {
  gap: var(--unit-gap-x);
}

/* グループ（複数ブロックをまとめるラッパー）
----------------------------- */
/* 閲覧画面・管理画面共通の最小の骨組み。
   背景色・内側余白の実体はプリセット class 側（制作者のテーマ CSS）に委ねるため、
   ここでは box-sizing・外側の余白・ネスト時の余白リセットだけを持たせる。
   テーマが独自に data-type="group" を使っていても巻き込まないよう、
   columns 同様にエントリー領域へスコープする。管理画面のエディターにも
   ACMS.Config の editorProps 経由で同じエントリークラスが付く（ablogcms/js/config.js）
   ため、このセレクタだけで閲覧画面・管理画面の双方に効く。 */
:where(.acms-entry) :where([data-type=group]) {
  box-sizing: border-box;
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

/* 先頭・末尾の子ブロックの余白を打ち消す */
:where(.acms-entry) [data-type=group] > :first-child {
  margin-top: 0;
}
:where(.acms-entry) [data-type=group] > :last-child {
  margin-bottom: 0;
}

/* カラーパレットで背景色を付けたグループの内側の余白 */
:where(.acms-entry) :where([data-type=group][style*=background-color]) {
  padding: var(--unit-gap-x);
}

/* メディアサイズ（v3.2.0 ~ v3.2.1 に保存されているブロックエディターのHTML対応）
----------------------------- */
:where([data-type=imageBlock]) .media-width-25 {
  max-width: 25%;
}
:where([data-type=imageBlock]) .media-width-33 {
  max-width: 33%;
}
:where([data-type=imageBlock]) .media-width-50 {
  max-width: 50%;
}
:where([data-type=imageBlock]) .media-width-66 {
  max-width: 66%;
}
:where([data-type=imageBlock]) .media-width-75 {
  max-width: 75%;
}
:where([data-type=imageBlock]) .media-width-100 {
  max-width: 100%;
}

/* ------------------------------
 引用
------------------------------ */
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  padding-inline-start: 1rem;
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  margin-inline: 0; /* リセット用 */
  line-height: 1.7;
  border: 0 solid #333;
  border-inline-start-width: 2px;
  font-size: 14px;
}
@media print {
  .acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
    font-size: 14px;
  }
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  /* ブロックエディター調整：リセット用 */
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > * {
  margin-block: 0;
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  /* ブロックエディター調整 */
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) * + * {
  margin-block-start: 1rem;
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a {
  color: #006dd9;
  text-decoration: underline;
  transition: color 0.2s linear;
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:hover {
  color: color-mix(in srgb, #06c 80%, black);
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a {
  /* 中に画像が入っているリンクの時 */
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:has(img) {
  display: inline-block;
  transition: opacity 0.2s ease;
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:has(img):hover {
  opacity: 0.7;
}
.acms-entry blockquote:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) img {
  width: 100%;
}

/* ------------------------------
 - リンクボタン
 - ブロックエディターのファイル（ボタン型）
------------------------------ */
/* 上下余白 */
:where(.acms-entry) [data-type=linkButton],
:where(.acms-entry) [data-type=fileBlock][data-display-type=button] {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

/* リンク */
:where(.acms-entry) [data-type=linkButton] a,
:where(.acms-entry) [data-type=fileBlock][data-display-type=button] a {
  box-sizing: border-box;
  display: inline-flex;
  gap: 0.5rem;
  place-items: center;
  min-height: 40px;
  padding: 0.625rem 1.5rem;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;
  background-color: #595963;
  border-radius: calc(infinity * 1px); /* infinity */
  font-size: 14px;
}
@media print {
  :where(.acms-entry) [data-type=linkButton] a,
  :where(.acms-entry) [data-type=fileBlock][data-display-type=button] a {
    font-size: 14px;
  }
}
:where(.acms-entry) [data-type=linkButton] a, :where(.acms-entry) [data-type=linkButton] a:link, :where(.acms-entry) [data-type=linkButton] a:visited,
:where(.acms-entry) [data-type=fileBlock][data-display-type=button] a,
:where(.acms-entry) [data-type=fileBlock][data-display-type=button] a:link,
:where(.acms-entry) [data-type=fileBlock][data-display-type=button] a:visited {
  color: #fff;
}
@media (any-hover: hover) {
  :where(.acms-entry) [data-type=linkButton] a,
  :where(.acms-entry) [data-type=fileBlock][data-display-type=button] a {
    transition: background-color 0.2s ease;
  }
  :where(.acms-entry) [data-type=linkButton] a:where(:any-link):hover,
  :where(.acms-entry) [data-type=fileBlock][data-display-type=button] a:where(:any-link):hover {
    color: #fff; /* テキストリンクスタイル上書き用スタイル */
    background-color: #35353a;
  }
}

/* ブロックエディターのファイル（ボタン型）のアイコン */
:where(.acms-entry) [data-type=fileBlock][data-display-type=button] img {
  width: auto;
  height: 1lh;
}

/* ブロックエディターのファイル（ボタン型）のキャプション */
:where(.acms-entry) [data-type=fileBlock][data-display-type=button] .caption {
  margin: 0; /* リセット */
  color: currentcolor;
}

/* ------------------------------
 埋め込み（Unit エディターの引用ユニット ＋ ブロックエディターの埋め込みブロック 共通）

 内側のカード・タイトル・提供元名・説明のクラスは共有する。
------------------------------ */
:where(.acms-entry) [data-type=embedBlock],
:where(.acms-entry) [class*=column-embed] {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  container-type: inline-size;
  line-height: normal;
  text-align: left;
}
:where(.acms-entry) [data-type=embedBlock] > *,
:where(.acms-entry) [class*=column-embed] > * {
  max-width: 100%;
}
:where(.acms-entry) {
  /* 埋め込みブロックの figure の余白を打ち消す（外側の div が余白を持つ） */
}
:where(.acms-entry) [data-type=embedBlock] > figure {
  margin: 0;
}
:where(.acms-entry) {
  /* 中央・右揃えでは、figure（表示サイズまで広がる）より狭い埋め込み（X のウィジェット等）も同じ向きに寄せる。
     Why not 子要素に margin-inline: auto: Instagram 等は margin をインラインで指定しており上書きできない */
}
:where(.acms-entry) :where([data-type=embedBlock][data-align=center], [data-type=embedBlock][data-align=right]) [data-embed-content] {
  display: flex;
  flex-direction: column;
}
:where(.acms-entry) :where([data-type=embedBlock][data-align=center]) [data-embed-content] {
  align-items: center;
}
:where(.acms-entry) :where([data-type=embedBlock][data-align=right]) [data-embed-content] {
  align-items: flex-end;
}
:where(.acms-entry) {
  /* リンクカード */
}
:where(.acms-entry) .embed-block-card,
:where(.acms-entry) .acms-embed-link {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  line-height: normal;
  text-align: left;
  text-decoration: none;
  background-color: #f1f1f1;
}
@container (min-width: 470px) {
  :where(.acms-entry) .embed-block-card,
  :where(.acms-entry) .acms-embed-link {
    flex-direction: row;
  }
}
@media (hover: hover) {
  :where(.acms-entry) .embed-block-card,
  :where(.acms-entry) .acms-embed-link {
    transition: background-color 0.2s ease;
  }
  :where(.acms-entry) .embed-block-card:hover,
  :where(.acms-entry) .acms-embed-link:hover {
    background-color: #e5e5e5;
  }
}
:where(.acms-entry) {
  /* 画像
     比率を固定して、画像の読み込みが終わる前から領域を確保する。これが無いとカードの高さが
     画像の読み込み完了まで決まらず、レイアウトシフト（CLS）が起きる。

     Why not img に width / height 属性を出さないか: OGP 画像の実寸は CMS 側では分からない。
     og:image:width / og:image:height は OGP 仕様では任意で出力していないサイトが多く、確実に
     知るには画像そのものを別途ダウンロードして測る必要がある（取得コストと、外部画像が差し替わった
     ときに値がズレる問題を抱える）。Ghost の bookmark card も同じ理由で属性を持たず CSS 側で
     領域を確保している。 */
}
:where(.acms-entry) .embed-block-card-image-container,
:where(.acms-entry) .acms-embed-link > img,
:where(.acms-entry) .acms-embed-link-image-container {
  display: block;
  flex-shrink: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1.91/1; /* OGP 標準の 1200×630 */
}
@container (min-width: 470px) {
  :where(.acms-entry) .embed-block-card-image-container,
  :where(.acms-entry) .acms-embed-link > img,
  :where(.acms-entry) .acms-embed-link-image-container {
    width: 154px;
    /* 横並びでは画像幅が 154px 固定なので、縦に伸びすぎないよう正方形へ切り替える */
    aspect-ratio: 1/1;
  }
}
:where(.acms-entry) {
  /* 固定した領域からあふれる画像は切り取る（OGP 画像の縦横比は提供元次第で揃わない） */
}
:where(.acms-entry) .acms-embed-link > img {
  object-fit: cover;
}
:where(.acms-entry) {
  /* 入れ物で包む場合は、入れ物側で確保した領域に img を追従させる */
}
:where(.acms-entry) .embed-block-card-image-container img,
:where(.acms-entry) .acms-embed-link-image-container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
:where(.acms-entry) {
  /* タイトル/提供元/説明をまとめる入れ物 */
}
:where(.acms-entry) .embed-block-card-content,
:where(.acms-entry) .acms-embed-link-content {
  min-width: 0;
}
:where(.acms-entry) {
  /* タイトル */
}
:where(.acms-entry) .embed-block-card .embed-block-card-title,
:where(.acms-entry) .acms-embed-link .acms-embed-link-title {
  display: block;
  padding: 0;
  margin: 0 0 0.5rem;
  line-height: 1.4;
  color: #333;
  text-decoration: none;
  font-size: 16px;
}
@media print {
  :where(.acms-entry) .embed-block-card .embed-block-card-title,
  :where(.acms-entry) .acms-embed-link .acms-embed-link-title {
    font-size: 16px;
  }
}
@media (hover: hover) {
  :where(.acms-entry) .embed-block-card .embed-block-card-title:hover,
  :where(.acms-entry) .acms-embed-link .acms-embed-link-title:hover {
    text-decoration: underline;
  }
}
:where(.acms-entry) .embed-block-card .embed-block-card-title:hover,
:where(.acms-entry) .acms-embed-link .acms-embed-link-title:hover {
  opacity: 1;
}
:where(.acms-entry) .embed-block-card .embed-block-card-title::after,
:where(.acms-entry) .acms-embed-link .acms-embed-link-title::after {
  position: absolute;
  inset: 0;
  content: "";
}
:where(.acms-entry) {
  /* キーボード操作時のフォーカスの枠をカード全体に出す */
}
:where(.acms-entry) .embed-block-card a.embed-block-card-title:focus-visible {
  outline: none;
}
:where(.acms-entry) .embed-block-card:has(a.embed-block-card-title:focus-visible) {
  outline: 2px solid currentcolor;
  outline: -webkit-focus-ring-color auto 1px;
  outline-offset: 1px;
}
:where(.acms-entry) .embed-block-card-provider,
:where(.acms-entry) .acms-embed-link-site-name {
  display: block;
  padding: 0;
  margin: 0;
  color: #333;
  font-size: 12px;
}
@media print {
  :where(.acms-entry) .embed-block-card-provider,
  :where(.acms-entry) .acms-embed-link-site-name {
    font-size: 12px;
  }
}
:where(.acms-entry) .embed-block-card-description,
:where(.acms-entry) .acms-embed-link-description {
  display: block;
  padding: 0;
  margin: 0.5rem 0 0;
  line-height: 1.6;
  color: #333;
  font-size: 14px;
}
@media print {
  :where(.acms-entry) .embed-block-card-description,
  :where(.acms-entry) .acms-embed-link-description {
    font-size: 14px;
  }
}

/* ------------------------------
 本文の埋め込みコンテンツ（iframe・video・object・embed）
 本文より広いときは幅を縮める
------------------------------ */
:where(.acms-entry, acms-isolated-preview-root) :where(iframe, video, object, embed) {
  box-sizing: border-box; /* 枠線を含めて本文幅に収める */
  max-width: 100%;
}

/* 前後の余白（外枠が余白を持つ埋め込みブロック・配置（align-*）の中と、プレビューの中は除く） */
:where(.acms-entry) :where(iframe, video, object, embed):not(:where([data-type=embedBlock], [class^=align-], [class*=" align-"], acms-isolated-preview-root) *) {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

/* ------------------------------
 - ブロックエディターのファイル（縦積み）
 - メディアファイル
 - ファイル
 ※ media-downloadは動的、storageは静的書き出しに対応
------------------------------ */
:where(.acms-entry) [data-type=fileBlock][data-display-type=icon],
:where(.acms-entry) [class*=column-media]:has(a[href*=media-download], a[href*=storage]),
:where(.acms-entry) [class*=column-file] {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  font-size: 0; /* Descender space 対策 */
  text-align: center;
}

/* ファイルアイコン */
:where(.acms-entry) [data-type=fileBlock][data-display-type=icon] img,
:where(.acms-entry) [class*=column-media] .columnIcon,
:where(.acms-entry) [class*=column-file] .columnIcon {
  display: inline-block;
  width: 56px;
  max-width: 100%;
  height: auto;
}

/* キャプション */
:where(.acms-entry) [data-type=fileBlock][data-display-type=icon] .caption,
:where(.acms-entry) [class*=column-media]:has(a[href*=media-download], a[href*=storage]) .caption,
:where(.acms-entry) [class*=column-file] .caption {
  display: block;
  margin: 4px 0 0; /* 余白リセットのため全方向指定 */
  line-height: 1.5;
  font-size: 12px;
}
@media print {
  :where(.acms-entry) [data-type=fileBlock][data-display-type=icon] .caption,
  :where(.acms-entry) [class*=column-media]:has(a[href*=media-download], a[href*=storage]) .caption,
  :where(.acms-entry) [class*=column-file] .caption {
    font-size: 12px;
  }
}

/* リンク（閲覧画面のみ） */
:where(.acms-entry) [data-type=fileBlock][data-display-type=icon] a,
:where(.acms-entry) [class*=column-media] a[href*=media-download],
:where(.acms-entry) [class*=column-media] a[href*=storage],
:where(.acms-entry) [class*=column-file] a {
  display: inline-block;
  text-decoration: none; /* リセット用 */
}
@media (any-hover: hover) {
  :where(.acms-entry) [data-type=fileBlock][data-display-type=icon] a,
  :where(.acms-entry) [class*=column-media] a[href*=media-download],
  :where(.acms-entry) [class*=column-media] a[href*=storage],
  :where(.acms-entry) [class*=column-file] a {
    transition: opacity 0.2s ease;
  }
  :where(.acms-entry) [data-type=fileBlock][data-display-type=icon] a:where(:any-link):hover,
  :where(.acms-entry) [class*=column-media] a[href*=media-download]:where(:any-link):hover,
  :where(.acms-entry) [class*=column-media] a[href*=storage]:where(:any-link):hover,
  :where(.acms-entry) [class*=column-file] a:where(:any-link):hover {
    opacity: 0.7;
  }
}

/* PDFプレビュー
------------------------------ */
:where(.acms-entry) [class*=column-media] .column-pdf-image {
  max-width: 100%;
  border: solid 1px #aaa;
}

/* ------------------------------
 メディア画像・画像・画像URL
------------------------------ */
/* 上下余白 */
:where(.acms-entry) figure,
:where(.acms-entry) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  margin-inline: 0;
  line-height: 0; /* Descender space 対策 */
  text-align: center;
}
:where(.acms-entry) figure a,
:where(.acms-entry) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) a {
  display: inline-block;
  /* リセット用 */
  text-decoration: none;
  /* マウスオーバー用 */
  transition: opacity 0.2s ease;
}
:where(.acms-entry) figure a:hover,
:where(.acms-entry) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) a:hover {
  opacity: 0.7;
}
:where(.acms-entry) figure img,
:where(.acms-entry) [role=figure]:not(:has(a[href*=media-download], a[href*=storage])) img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

/* キャプション
------------------------------ */
:where(.acms-entry) figcaption,
:where(.acms-entry) [role=figure]:not(:has(a[href*=media-download], a[href*=storage]), .column-file) .caption {
  display: block;
  margin: 4px 0 0; /* 余白リセットのため全方向指定 */
  font-size: 0.9em;
  line-height: 1.3;
}

/* ------------------------------
 テーブル
------------------------------ */
.acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin: var(--unit-margin-top) 0 var(--unit-margin-bottom);
  border-collapse: collapse;
}
.acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th,
.acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td {
  min-width: 100px;
  padding: 10px;
  line-height: 1.5;
  vertical-align: top;
  text-align: left;
  white-space: normal;
  border: 1px solid #c2c2ce;
  font-size: 14px;
}
@media print {
  .acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th,
  .acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td {
    font-size: 14px;
  }
}
.acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th {
  font-weight: normal;
  background-color: #f2f2f5;
}
.acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) p {
  margin-block: 0;
}
.acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a {
  color: #006dd9;
  text-decoration: underline;
  transition: color 0.2s linear;
}
.acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) a:hover {
  color: color-mix(in srgb, #06c 80%, black);
}
@media (min-width: 768px) {
  .acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th,
  .acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td {
    font-size: 16px;
  }
}
@media print and (min-width: 768px) {
  .acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) th,
  .acms-entry table:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) td {
    font-size: 16px;
  }
}

/* ブロックエディター内のテーブル */
.acms-entry div:has(> table):not(:where([class~=not-editor-style], [class~=not-editor-style] *)) {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
  overflow-x: auto;
}
.acms-entry div:has(> table):not(:where([class~=not-editor-style], [class~=not-editor-style] *)) table {
  width: 100%;
  margin: 0;
}

/* テーブルユニット */
[class*=column-table] {
  min-width: 0;
}

/* スクロールするテーブル */
.acms-table-scrollable th,
.acms-table-scrollable td,
.js-table-unit-scroll-hint th,
.js-table-unit-scroll-hint td {
  word-break: keep-all;
  white-space: nowrap;
}

/* ------------------------------
 地図
------------------------------ */
.column-map,
.column-street-view {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

:where(.column-map div:has(> .js-open-street-map)),
:where(.column-map div:has(> .js-s2d-ready)),
:where(.column-street-view div:has(> .js-street-view)) {
  max-width: 100%;
}

:where(.column-map .js-open-street-map),
:where(.column-map .js-s2d-ready),
:where(.column-street-view .js-street-view) {
  aspect-ratio: 16/9; /* デフォルトのアスペクト比 */
}

/* ------------------------------
 モジュールユニット
------------------------------ */
[class*=column-module] {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

/* ------------------------------
 動画ユニット
------------------------------ */
.column-youtube,
.column-video {
  margin-block: var(--unit-margin-top) var(--unit-margin-bottom);
}

:where(.column-iframe iframe) {
  display: block; /* Descender space 対策 */
  max-width: 100%;
  height: auto;
  aspect-ratio: 16/9; /* デフォルトのアスペクト比 */
}
