/*
 Theme Name: Twenty Seventeen Child (ALCEDO)
 Template: twentyseventeen
 Version: 1.1.0
*/

/* ===================== 基本タイポ ===================== */
html, body, button, input, select, textarea {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400;
  letter-spacing: .03em;
}
body h1, body h2, body h3, body h4, body h5, body h6,
.entry-title,
.panel-content .entry-header .entry-title {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .10em;
  line-height: 1.35;
}

/* 本文テキスト */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content dd,
.entry-content dt,
.entry-content figcaption { font-size: 14px !important; }
.entry-content p { line-height: 2 !important; }
html[lang="ja"] body * { letter-spacing: .05em !important; }

/* 見出し（全体） */
.entry-content h2,
.entry-content h2.wp-block-heading { font-size: 35px !important; }
.entry-content h3 {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #bbb !important;
}
.entry-content h4 { font-size: 18px !important; }
.entry-content h5 { font-size: 16px !important; }
.entry-content h6 {
  font-size: 13px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.4 !important;
}

/* パネル大見出し */
.panel-content .entry-title { font-size: 35px !important; }

/* ===================== ナビ ===================== */
.navigation-top .main-navigation .menu > li > a,
.site-navigation-fixed .main-navigation .menu > li > a {
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
}

/* ===================== Works（カテゴリ一覧） ===================== */
.category-works .entry-header,
.category-works .entry-title,
.category-works .entry-meta,
.category-works .entry-summary,
.category-works .entry-content,
.category-works .cat-links,
.category-works .byline,
.category-works .posted-on { display: none !important; }
.category-works .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.category-works article,
.category-works .post-thumbnail { margin: 0 !important; }
.category-works .post-thumbnail img { width: 100%; height: auto; display: block; }

/* 固定ページ版（使用時に page-id-XXXX を置換） */
.page-id-XXXX .entry-header,
.page-id-XXXX .entry-title,
.page-id-XXXX .entry-meta,
.page-id-XXXX .entry-summary,
.page-id-XXXX .entry-content { display: none !important; }
.page-id-XXXX .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.page-id-XXXX .post-thumbnail img { width: 100%; height: auto; display: block; }

/* ===================== MOREボタン ===================== */
.alcedo-more {
  display: inline-block;
  padding: .8rem 1.6rem;
  border: 1px solid currentColor;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: .1em;
  margin-top: 28px;
}
.alcedo-more:hover { opacity: .75; }
.alcedo-more-wrap { text-align: center; grid-column: 1 / -1; }

/* Gutenbergボタンも確実に細字 */
.wp-block-button__link,
.wp-block-button__link * { font-weight: 400 !important; }

/* ===================== クエリループ（3列＋正方形） ===================== */
.page .wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.page .wp-block-post-featured-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
}
.page .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ===================== TOP（最近の投稿=WORKS） ===================== */
body.twentyseventeen-front-page .recent-posts .entry-header,
body.twentyseventeen-front-page .recent-posts .entry-title,
body.twentyseventeen-front-page .recent-posts .entry-meta,
body.twentyseventeen-front-page .recent-posts .entry-summary,
body.twentyseventeen-front-page .recent-posts .cat-links,
body.twentyseventeen-front-page .recent-posts .byline,
body.twentyseventeen-front-page .recent-posts .posted-on { display: none !important; }
body.twentyseventeen-front-page .recent-posts .site-main {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

/* ★WORKSのH4は画像の下で常に12px空ける（今回“効いた”唯一の前提） */
.panel-content .entry-content h4 { margin-top: 12px !important; }

/* ===================== 下層の共通調整 ===================== */
.single-featured-image-header { display: none !important; } /* ヘッダー直下アイキャッチ非表示 */

/* WPForms #153 送信後メッセージ色 */
#wpforms-confirmation-153,
#wpforms-confirmation-153.wpforms-confirmation-container-full {
  background-color: #2594b2 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 16px 20px !important;
  border-radius: 4px !important;
}
#wpforms-confirmation-153 p,
#wpforms-confirmation-153 a,
#wpforms-confirmation-153 * { color: #ffffff !important; }

/* ===================== ページID246（プロフィール） ===================== */
.page-id-246 #primary {
  background: #ffffff !important;
  color: #000000 !important;
  padding: 40px 20px;
}
.page-id-246 #primary h1,
.page-id-246 #primary h2,
.page-id-246 #primary h3,
.page-id-246 #primary h4,
.page-id-246 #primary h5,
.page-id-246 #primary h6,
.page-id-246 #primary p,
.page-id-246 #primary a,
.page-id-246 #primary li { color: #000000 !important; }
.page-id-246 .site-content,
.page-id-246 .site-content-contain,
.page-id-246 #primary,
.page-id-246 #main { background: #ffffff !important; color: #000000 !important; }
.page-id-246 .site-content::before,
.page-id-246 .site-content-contain::before { background: none !important; }

/* ABOUT直下の h6 を密着（間隔0） */
.page-id-246 .entry-content h2 { margin-bottom: 0 !important; }
.page-id-246 .entry-content h2 + h6,
.page-id-246 .entry-content h2 + .wp-block-heading,
.page-id-246 .entry-content h2 + .wp-block-group > h6:first-child,
.page-id-246 .entry-content h2 + .wp-block-group > .wp-block-heading:first-child,
.page-id-246 .entry-content h2 + * { margin-top: 0 !important; }
.page-id-246 .entry-content h2 + .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.page-id-246 .entry-content h6 { color: #666 !important; }



/* ===================== フッター連絡先 ===================== */
.site-footer .widget-area .widget-column.footer-widget-1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget {
  margin: 0 !important;
  padding: 0;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget p {
  margin: 0 !important;
  line-height: 1.6;
  font-family: inherit !important;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: .02em;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(2) p,
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(3) p {
  font-size: 13px;
  font-weight: 400;
  opacity: .9;
}
@media (max-width: 599px) {
  .site-footer .widget-area .widget-column.footer-widget-1 { gap: 6px 12px; }
  .site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
    font-size: 18px; font-weight: 600;
  }
}

/* ===================== gapゼロユーティリティ ===================== */
.no-gap.wp-block-columns,
.no-gap.is-layout-flex,
.no-gap.is-layout-grid {
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.no-gap.wp-block-columns > .wp-block-column { margin: 0 !important; padding: 0 !important; }
.no-gap .wp-block-group,
.no-gap .wp-block-group__inner-container > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.no-gap .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.no-gap .wp-block-separator { margin: 0 !important; }

/* ===================== page_id=295 価格表 ===================== */
/* 横の隙間ゼロ・列設定 */
.page-id-295 .entry-content .wp-block-columns.no-gap {
  gap: 0 !important; column-gap: 0 !important; --wp--style--block-gap: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
@media (min-width: 48em) {
  .page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column:not(:first-child) { margin-left: 0 !important; }
}
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column {
  margin: 0 !important; padding: 0 !important; flex-basis: 0 !important; flex-grow: 1 !important;
  display: flex !important; flex-direction: column !important; /* 同一高さ化 */
}

/* no-gap 内の子の上下マージン抑制 */
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column
  > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 区切り線統一 */
.page-id-295 .entry-content .wp-block-separator,
.page-id-295 .entry-content hr {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* 価格を最下部へ固定 */
.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

/* 行フック（任意） */
.page-id-295 .entry-content .pr-level {} /* EASY/NORMAL/HARD 見出し */
.page-id-295 .entry-content .pr-detail {} /* 説明 */
.page-id-295 .entry-content .pr-exsample {} /* 例示 */

/* 見出し近接（先頭見出しの下だけ詰める） */
.page-id-295 .entry-content .wp-block-column :is(h2,h3,h4):first-child { margin-bottom: 4px !important; }

/* EASY/NORMAL/HARD：20px固定・太字 */
.page-id-295 .entry-content .pr-level,
.page-id-295 .entry-content .pr-level * {
  font-size: 20px !important;
  line-height: 1.6 !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
}

/* 図版余白（必要なら） */
.page-id-295 .entry-content .wp-block-column figure {
  margin-top: 6px !important; margin-bottom: 12px !important;
}

/* ===== page_id=295: / PRODUCT DESIGN / と 商品デザイン 価格 の間隔を 0 に ===== */
.page-id-295 .entry-content h2.wp-block-heading { 
  margin-bottom: 0 !important;        /* H2の下マージンを消す */
}
.page-id-295 .entry-content h2.wp-block-heading + h6.wp-block-heading {
  margin-top: 0 !important;           /* 直下H6の上マージンを消す（=密着） */
}

/* 念のため、h2直後に別の見出し型が来ても密着させる保険 */
.page-id-295 .entry-content h2 + .wp-block-heading { 
  margin-top: 0 !important;
}

/* ===== 難易度テーブル専用（page_id=295 かつ .price-table-v2 のみ） ===== */
.page-id-295 .price-table-v2 { margin: 0; }
.page-id-295 .price-table-v2 > .wp-block-separator {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* カラムを同一高さにして、価格を下端に揃える土台 */
.page-id-295 .price-table-v2 .wp-block-columns.no-gap { gap: 0 !important; }
.page-id-295 .price-table-v2 .wp-block-columns.no-gap > .wp-block-column {
  display: flex !important; flex-direction: column !important; margin: 0 !important; padding: 0 !important;
}
.page-id-295 .price-table-v2 .wp-block-column > .wp-block-group.has-background {
  display: flex !important; flex-direction: column !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important;
}

/* 余白の過剰付与を抑制（本文・figureの上下） */
.page-id-295 .price-table-v2 .wp-block-group.has-background > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 上段ラベル：pr-level → “文字を大きく”（空は現状維持） */
.page-id-295 .price-table-v2 .pr-level,
.page-id-295 .price-table-v2 .pr-level * {
  font-size: 22px !important;   /* ← ご指定：大きく */
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
}

/* 説明文：pr-detail → “少し小さく” */
.page-id-295 .price-table-v2 .pr-detail,
.page-id-295 .price-table-v2 .pr-detail * {
  font-size: 13px !important;   /* ← ご指定：少し小さく */
  line-height: 1.9 !important;
}

/* 例示：pr-exsample → pr-detail と同じ大きさ */
.page-id-295 .price-table-v2 .pr-exsample,
.page-id-295 .price-table-v2 .pr-exsample * {
  font-size: 13px !important;   /* ← pr-detail と同じ */
  line-height: 1.9 !important;
}

/* アイコンは変更しない（指定なし）— レイアウトの見た目調整のみ */
.page-id-295 .price-table-v2 figure { 
  display: flex; align-items: center; justify-content: center;
  margin: 8px 0 10px !important;          /* 余白のみ最小限 */
}

/* 価格：price → 下端でピタッと揃える */
.page-id-295 .price-table-v2 .price {
  margin-top: auto !important;            /* 核心：下端に押し下げる */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
}

/***** PRICE（page_id=295 限定）*****/
body.page-id-295 .entry-content .wp-block-columns.no-gap{
  /* カラムの隙間ゼロ＆折り返しなし */
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* カラムを上下フレックスにして「価格」を下端に固定 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
}

/* ラベル(EASY/NORMAL/HARD)を大きく */
body.page-id-295 .entry-content .pr-level,
body.page-id-295 .entry-content .pr-level *{
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
  margin: 0 !important;
}

/* 説明・例は「少し小さく」 */
body.page-id-295 .entry-content .pr-detail,
body.page-id-295 .entry-content .pr-detail *,
body.page-id-295 .entry-content .pr-exsample,
body.page-id-295 .entry-content .pr-exsample *{
  font-size: 13px !important;
  line-height: 1.9 !important;
}

/* アイコンまわりの余白だけ薄く（サイズは変えない） */
body.page-id-295 .entry-content .wp-block-columns.no-gap figure{
  display: flex; align-items: center; justify-content: center;
  margin: 0px 0 10px !important;
}

/* 価格を下端でピタッと揃える＆強調 */
body.page-id-295 .entry-content .price{
  margin-top: auto !important;     /* ← これで下端に固定 */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

/* 見出し下の区切り線を細く・フラットに（揃え） */
body.page-id-295 .entry-content h4 + hr.wp-block-separator{
  height: 1px !important;
  background: #111 !important;
  border: 0 !important;
  margin: 8px 0 !important;
}

/* ===== パララックス区切り（Cover ブロック） ===== */

/* Twenty Seventeen で alignfull を本当の全幅にする（中身のコンテンツだけに適用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
}

/* パララックス区切りの見た目（共通） */
.parallax-slice.wp-block-cover {
  min-height: 350px;            /* 高さ目安 */
  margin-top: 0 !important;     /* 上下の余白は好みで */
  margin-bottom: 0 !important;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  /* 画像の暗さを少しだけ落としたい時は下の一行のコメントを外す */
  /* --wp--preset--duotone: none; */
}

/* エディタやテーマのバージョン差吸収（固定背景のクラス名が違う場合に備えて） */
.parallax-slice.has-parallax,
.parallax-slice.is-fixed-background {
  background-attachment: fixed;
}

/* スマホで上下の余白だけ少し縮めたい場合（任意） */
@media (max-width: 782px) {
  .parallax-slice.wp-block-cover { min-height: 260px; }
}

/* 全幅/幅広を許可（Twenty Seventeen 用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}
.entry-content > .alignwide {
  width: 1200px;              /* お好みで */
  max-width: calc(100vw - 4rem);
}

/* どこに置いても本当の全幅にする（Twenty Seventeen向け） */
.entry-content :where(.alignfull) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* カラム/グループの内側に入っている時の左だけ残る対策（視覚移動） */
.entry-content .wp-block-columns :where(.alignfull),
.entry-content .wp-block-column :where(.alignfull),
.entry-content .wp-block-group :where(.alignfull) {
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50vw); /* 左の余白を確実に消す */
}

/* 親で切り落とされないように */
.site-content .wrap { overflow: visible; }

/* パララックス（固定背景）用 */
.parallax-slice.has-parallax {
  background-attachment: fixed;
}

:root { --wrap-gutter: 2em; } /* Twenty Seventeen の .wrap の左右padding */

.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:  calc(100vw + (var(--wrap-gutter) * 2));
  max-width: calc(100vw + (var(--wrap-gutter) * 2));
}

/* ===== Full-bleed（全幅）を本当に端まで広げる修正 ===== */

/* 画面幅やブレークポイントで .wrap の左右パディングが違うため、変数で吸収 */
:root{
  --wrap-gutter: 1rem;     /* モバイルの初期値。必要に応じて調整 */
}
@media (min-width: 782px){
  :root{ --wrap-gutter: 24px; }  /* DevToolsで見えた padding-left に合わせる */
}
@media (min-width: 1168px){
  :root{ --wrap-gutter: 32px; }  /* 実測に合わせて変更。不要なら削除でOK */
}

/* Cover / Group など alignfull を本当に全面へ */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull,
.entry-content .wp-block-group.alignfull{
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:      calc(100vw + (var(--wrap-gutter) * 2));
  max-width:  calc(100vw + (var(--wrap-gutter) * 2));
}

/* カバー内テキストの最大幅は従来どおり中央に（必要なら） */
.wp-block-cover.alignfull .wp-block-cover__inner-container{
  max-width: var(--wp--style--global--content-size, 900px);
  margin-inline: auto;
}

/* ===== page_id=295 のパララックスCoverだけを本当の全幅にする（他は触らない） ===== */
body.page-id-295 .entry-content .parallax-slice.wp-block-cover.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
  box-sizing: border-box;
}

/* カラムやグループ内に入っていても同じ指定を強制（価格表など他要素は対象外） */
body.page-id-295 .entry-content .wp-block-group .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-columns .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-column  .parallax-slice.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
}

/* 念のため親で切られないように（295ページ限定） */
body.page-id-295 .site-content .wrap { overflow: visible !important; }

/* ===== page_id=295｜価格行を常に最下部に揃える（他ページ不干渉） ===== */

/* カラムを等高にし、内側の色付きボックスを“縦フレックス”に */
body.page-id-295 .entry-content .wp-block-columns { align-items: stretch; }
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column { display: flex; }

/* 色付きの箱（has-background のグループ）を縦レイアウト化 */
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column > .wp-block-group.has-background {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* 価格の段落（追加CSSクラス：price）を最下部へ押し下げる */
body.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  text-align: center;
}

/* 余白のにじみ防止：先頭/末尾要素の外側マージンを整理 */
body.page-id-295 .entry-content .wp-block-group.has-background > :first-child { margin-top: 0; }
body.page-id-295 .entry-content .wp-block-group.has-background > :last-child  { margin-bottom: 0; }

/* ===== page_id=295｜価格行を常に最下部に揃える（Columnsに price-grid を付与） ===== */
body.page-id-295 .entry-content .price-grid{
  align-items: stretch !important;           /* 各カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため */
}

/* 各カラムを縦フレックス化し、下詰め可能にする */
body.page-id-295 .entry-content .price-grid > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;            /* is-vertically-aligned-top の上書き */
}

/* 色付き箱（グループ）がある場合も高さ計算を安定化 */
body.page-id-295 .entry-content .price-grid > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}

/* 価格段落（追加CSSクラス：price）を最下部に固定 */
body.page-id-295 .entry-content .price-grid .price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

/* ===== page_id=295｜ロゴデザイン価格などの2カラムで価格段落を最下部に固定 ===== */
body.page-id-295 .entry-content .wp-block-columns.no-gap {
  align-items: stretch !important;           /* 2カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため固定 */
}

body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;                  /* ← カラムを縦フレックスに */
  flex-direction: column !important;
  align-self: stretch !important;
}

/* 途中の色付きグループが高さを乱さないように余白を正規化 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :first-child{ margin-top: 0 !important; }
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :last-child { margin-bottom: 0 !important; }

/* 価格段落（追加CSSクラス：price）を下端に押し下げる＝核心 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > p.price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}



/* === page_id=295｜ロゴデザイン価格テーブル：行をグリッドで同期（pr-level版） === */
body.page-id-295 .entry-content .price-align > .wp-block-column{
  /* 既存の flex 指定を上書きしてグリッド化 */
  display: grid !important;
  /* 行の高さ：1=上帯, 2=アイコン, 3=サブ見出し, 4=説明(可変), 5=価格(下固定) */
  --pr-level-row:  clamp(56px, 6vw, 80px);
  --pr-figure-row: clamp(140px, 18vw, 200px);
  grid-template-rows: var(--pr-level-row) var(--pr-figure-row) auto 1fr auto;
  row-gap: 12px;
}

/* 余白ぶれを抑制（行間は row-gap に統一） */
body.page-id-295 .entry-content .price-align > .wp-block-column > :is(p, .wp-block-group){
  margin: 0 !important;
}

/* 行割り当て（クラス名に対応） */
body.page-id-295 .entry-content .price-align .pr-level   { grid-row: 1 !important; display:flex; align-items:center; }
body.page-id-295 .entry-content .price-align .pr-figure  { grid-row: 2 !important; display:flex; align-items:center; justify-content:center; min-height: var(--pr-figure-row); }
body.page-id-295 .entry-content .price-align .pr-detail  { grid-row: 3 !important; }
body.page-id-295 .entry-content .price-align .pr-exsample{ grid-row: 4 !important; }
body.page-id-295 .entry-content .price-align .price      { grid-row: 5 !important; align-self:end; margin-bottom:0 !important; text-align:center; }

/* モバイル微調整（任意） */
@media (max-width: 782px){
  body.page-id-295 .entry-content .price-align > .wp-block-column{
    --pr-level-row: 48px;
    --pr-figure-row: 110px;
    row-gap: 10px;
  }
}

/* ===== モバイルのメニューラベル「MENU」を細字に ===== */
@media (max-width: 48em) {
  .navigation-top .menu-toggle,
  .site-navigation-fixed .menu-toggle {
    font-weight: 400 !important;   /* 既定の太字→細字へ（Noto Sans JP の標準ウェイト） */
    letter-spacing: .08em !important; /* お好みで間隔も少しだけ詰める/広げるなら調整 */
  }
  /* アイコン(≡)と文字の間隔も微調整したい場合（任意） */
  .navigation-top .menu-toggle .icon,
  .site-navigation-fixed .menu-toggle .icon {
    margin-right: .45em !important;
  }
}


/* ===== home(page-id-36)｜WORKS 右カラム：説明→写真の間隔を広げる ===== */
/* 右カラムのグループ内にある最初の画像の直前に余白を付与（= 説明との間を空ける） */
body.page-id-36 .entry-content
  .wp-block-columns > .wp-block-column:nth-child(2)
  .wp-block-group > figure.wp-block-image:first-of-type {
  margin-top: 12px !important;  /* 左の「写真→PRODUCT DESIGN」と同等。必要なら値を調整 */
}

/* 指定段落だけを確実に詰める（クラス版） */
body.page-id-36 .entry-content p.works-desc-tight {
  line-height: 1.6 !important;
  margin-top: 2px !important;
}

/* ===== home(page-id-36)｜WORKS：H4→説明段落の「上マージン」を少し詰める ===== */
/* H4のすぐ次の「小サイズ段落」（=説明）だけ狙い撃ち */
body.page-id-36 .entry-content h4.wp-block-heading + p.has-small-font-size {
  margin-top: 0px !important;   /* お好みで 4〜8px に調整可 */
}

/* ===== tel-highlight を「お問い合わせ（38）」とトップ（36）両方で大きく ===== */
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight,
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight a {
  font-size: clamp(28px, 4.6vw, 40px) !important;
  line-height: 1.2 !important;
  font-weight: 500;
  letter-spacing: .03em;
  text-decoration: none;
}

/* ===== page_id=246（ABOUT）| フッターの電話番号をSPでも黒に ===== */
@media (max-width: 782px){
  /* 通常の tel: リンク、iOSの自動リンク(x-apple-data-detectors)の両方に対応 */
  body.page-id-246 .site-footer a[href^="tel"],
  body.page-id-246 .site-footer a.x-apple-data-detectors{
    color: #000 !important;
    -webkit-text-fill-color: #000 !important; /* iOS Safari で確実に黒に */
    text-decoration: none !important;
    font-weight: 400; /* お好みで 400/600 に調整可 */
  }
}

/* ABOUTだけ：telリンクの状態変化でも黒を維持（任意の仕上げ） */
@media (max-width: 782px){
  body.page-id-246 .site-footer a[href^="tel"]:visited,
  body.page-id-246 .site-footer a[href^="tel"]:active,
  body.page-id-246 .site-footer a[href^="tel"]:focus{
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    text-decoration:none !important;
  }
  /* タップ時の強いハイライトを弱めたい場合（任意） */
  body.page-id-246 .site-footer a[href^="tel"]{
    -webkit-tap-highlight-color: rgba(0,0,0,.08);
  }
}


/* === スマホでも <video> を表示し、フォールバック画像を隠す（トップのみ） === */
@media (max-width: 782px){
  body.twentyseventeen-front-page .custom-header-media video{
    display:block !important; opacity:1 !important;
  }
  body.twentyseventeen-front-page .custom-header-media img{
    display:none !important;
  }
}

/* === Front Page の .panel-image を全端末で JS 前提に（固定背景は使わない） === */
.panel-image{
  background-attachment: scroll !important;
  background-position: center center;
  will-change: background-position;
}

/* 動きを望まないユーザー配慮（任意） */
@media (prefers-reduced-motion: reduce){
  .panel-image{ background-position: center center !important; }
}

/* ===== home(page-id-36)｜WORKS：SPだけ余白調整（赤↑広げる／青↓詰める） ===== */
@media (max-width: 782px){

  /* 赤：見出し「WORKS」の次の説明段落 → 直後が2カラムなら下余白を広げる */
  body.page-id-36 .entry-content p:has(+ .wp-block-columns){
    margin-bottom: 48px !important;  /* もとが ~16px 前後 → およそ3倍に。お好みで 40–56px に調整可 */
  }

  /* 青：2カラムが縦積みになったときの“左→右”の間隔を詰める */
  body.page-id-36 .entry-content .wp-block-columns{
    row-gap: 0 !important;           /* ブロックの既定ギャップを無効化 */
  }
  body.page-id-36 .entry-content .wp-block-columns > .wp-block-column + .wp-block-column{
    margin-top: 12px !important;     /* 1/3 くらいに（既定が ~32–40px 想定）。8–16px で調整可 */
  }

  /* もしこの2カラム内に Spacer ブロックが入っていれば、それも詰める（保険） */
  body.page-id-36 .entry-content .wp-block-columns .wp-block-spacer{
    height: 20px !important;
    min-height: 20px !important;
  }
}





/* ===== home(page-id-36)｜WORKS：SPだけ余白を再調整 ===== */
@media (max-width: 782px){

  /* 赤：WORKS 見出し直後の説明段落の“下”を広げる（約3倍） */
  body.page-id-36 .entry-content h2.wp-block-heading + p{
    margin-bottom: 48px !important; /* お好みで 40〜56px へ調整可 */
  }

  /* 青：2カラムが縦積みになった時の上下の間隔を詰める */
  body.page-id-36 .entry-content .wp-block-columns{
    row-gap: 0 !important;      /* Columns 自体の行間をゼロに */
    margin-bottom: 0 !important;
  }
  /* 右カラム（2番目）の先頭に「スペーサー」があるので高さを強制的に薄く */
  body.page-id-36 .entry-content
    .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-spacer:first-child{
    height: 16px !important;    /* 1/3 くらいへ。さらに詰めるなら 12px などに */
    min-height: 16px !important;
  }
  /* 念のため、右カラムの最初の要素に大きな上マージンが付いていても抑える */
  body.page-id-36 .entry-content
    .wp-block-columns > .wp-block-column:nth-child(2) > :first-child{
    margin-top: 8px !important; /* Spacer 以外が先頭でも効く保険 */
  }

  /* 左→右（縦並び）間の“基本”の間隔を少しだけ残す */
  body.page-id-36 .entry-content
    .wp-block-columns > .wp-block-column + .wp-block-column{
    margin-top: 12px !important; /* 8〜16pxで好み調整 */
  }
}

/*
 Theme Name: Twenty Seventeen Child (ALCEDO)
 Template: twentyseventeen
 Version: 1.1.0
*/

/* ===================== 基本タイポ ===================== */
html, body, button, input, select, textarea {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400;
  letter-spacing: .03em;
}
body h1, body h2, body h3, body h4, body h5, body h6,
.entry-title,
.panel-content .entry-header .entry-title {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .10em;
  line-height: 1.35;
}

/* 本文テキスト */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content dd,
.entry-content dt,
.entry-content figcaption { font-size: 14px !important; }
.entry-content p { line-height: 2 !important; }
html[lang="ja"] body * { letter-spacing: .05em !important; }

/* 見出し（全体） */
.entry-content h2,
.entry-content h2.wp-block-heading { font-size: 35px !important; }
.entry-content h3 {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #bbb !important;
}
.entry-content h4 { font-size: 18px !important; }
.entry-content h5 { font-size: 16px !important; }
.entry-content h6 {
  font-size: 13px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.4 !important;
}

/* パネル大見出し */
.panel-content .entry-title { font-size: 35px !important; }

/* ===================== ナビ ===================== */
.navigation-top .main-navigation .menu > li > a,
.site-navigation-fixed .main-navigation .menu > li > a {
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
}

/* ===================== Works（カテゴリ一覧） ===================== */
.category-works .entry-header,
.category-works .entry-title,
.category-works .entry-meta,
.category-works .entry-summary,
.category-works .entry-content,
.category-works .cat-links,
.category-works .byline,
.category-works .posted-on { display: none !important; }
.category-works .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.category-works article,
.category-works .post-thumbnail { margin: 0 !important; }
.category-works .post-thumbnail img { width: 100%; height: auto; display: block; }

/* 固定ページ版（使用時に page-id-XXXX を置換） */
.page-id-XXXX .entry-header,
.page-id-XXXX .entry-title,
.page-id-XXXX .entry-meta,
.page-id-XXXX .entry-summary,
.page-id-XXXX .entry-content { display: none !important; }
.page-id-XXXX .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.page-id-XXXX .post-thumbnail img { width: 100%; height: auto; display: block; }

/* ===================== MOREボタン ===================== */
.alcedo-more {
  display: inline-block;
  padding: .8rem 1.6rem;
  border: 1px solid currentColor;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: .1em;
  margin-top: 28px;
}
.alcedo-more:hover { opacity: .75; }
.alcedo-more-wrap { text-align: center; grid-column: 1 / -1; }

/* Gutenbergボタンも確実に細字 */
.wp-block-button__link,
.wp-block-button__link * { font-weight: 400 !important; }

/* ===================== クエリループ（3列＋正方形） ===================== */
.page .wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.page .wp-block-post-featured-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
}
.page .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ===================== TOP（最近の投稿=WORKS） ===================== */
body.twentyseventeen-front-page .recent-posts .entry-header,
body.twentyseventeen-front-page .recent-posts .entry-title,
body.twentyseventeen-front-page .recent-posts .entry-meta,
body.twentyseventeen-front-page .recent-posts .entry-summary,
body.twentyseventeen-front-page .recent-posts .cat-links,
body.twentyseventeen-front-page .recent-posts .byline,
body.twentyseventeen-front-page .recent-posts .posted-on { display: none !important; }
body.twentyseventeen-front-page .recent-posts .site-main {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

/* ★WORKSのH4は画像の下で常に12px空ける（今回“効いた”唯一の前提） */
.panel-content .entry-content h4 { margin-top: 12px !important; }

/* ===================== 下層の共通調整 ===================== */
.single-featured-image-header { display: none !important; } /* ヘッダー直下アイキャッチ非表示 */

/* WPForms #153 送信後メッセージ色 */
#wpforms-confirmation-153,
#wpforms-confirmation-153.wpforms-confirmation-container-full {
  background-color: #2594b2 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 16px 20px !important;
  border-radius: 4px !important;
}
#wpforms-confirmation-153 p,
#wpforms-confirmation-153 a,
#wpforms-confirmation-153 * { color: #ffffff !important; }

/* ===================== ページID246（プロフィール） ===================== */
.page-id-246 #primary {
  background: #ffffff !important;
  color: #000000 !important;
  padding: 40px 20px;
}
.page-id-246 #primary h1,
.page-id-246 #primary h2,
.page-id-246 #primary h3,
.page-id-246 #primary h4,
.page-id-246 #primary h5,
.page-id-246 #primary h6,
.page-id-246 #primary p,
.page-id-246 #primary a,
.page-id-246 #primary li { color: #000000 !important; }
.page-id-246 .site-content,
.page-id-246 .site-content-contain,
.page-id-246 #primary,
.page-id-246 #main { background: #ffffff !important; color: #000000 !important; }
.page-id-246 .site-content::before,
.page-id-246 .site-content-contain::before { background: none !important; }

/* ABOUT直下の h6 を密着（間隔0） */
.page-id-246 .entry-content h2 { margin-bottom: 0 !important; }
.page-id-246 .entry-content h2 + h6,
.page-id-246 .entry-content h2 + .wp-block-heading,
.page-id-246 .entry-content h2 + .wp-block-group > h6:first-child,
.page-id-246 .entry-content h2 + .wp-block-group > .wp-block-heading:first-child,
.page-id-246 .entry-content h2 + * { margin-top: 0 !important; }
.page-id-246 .entry-content h2 + .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.page-id-246 .entry-content h6 { color: #666 !important; }

/* ===================== フッター連絡先 ===================== */
.site-footer .widget-area .widget-column.footer-widget-1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget {
  margin: 0 !important;
  padding: 0;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget p {
  margin: 0 !important;
  line-height: 1.6;
  font-family: inherit !important;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: .02em;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(2) p,
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(3) p {
  font-size: 13px;
  font-weight: 400;
  opacity: .9;
}
@media (max-width: 599px) {
  .site-footer .widget-area .widget-column.footer-widget-1 { gap: 6px 12px; }
  .site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
    font-size: 18px; font-weight: 600;
  }
}

/* ===================== gapゼロユーティリティ ===================== */
.no-gap.wp-block-columns,
.no-gap.is-layout-flex,
.no-gap.is-layout-grid {
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.no-gap.wp-block-columns > .wp-block-column { margin: 0 !important; padding: 0 !important; }
.no-gap .wp-block-group,
.no-gap .wp-block-group__inner-container > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.no-gap .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.no-gap .wp-block-separator { margin: 0 !important; }

/* ===================== page_id=295 価格表 ===================== */
/* 横の隙間ゼロ・列設定 */
.page-id-295 .entry-content .wp-block-columns.no-gap {
  gap: 0 !important; column-gap: 0 !important; --wp--style--block-gap: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
@media (min-width: 48em) {
  .page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column:not(:first-child) { margin-left: 0 !important; }
}
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column {
  margin: 0 !important; padding: 0 !important; flex-basis: 0 !important; flex-grow: 1 !important;
  display: flex !important; flex-direction: column !important; /* 同一高さ化 */
}

/* no-gap 内の子の上下マージン抑制 */
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column
  > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 区切り線統一 */
.page-id-295 .entry-content .wp-block-separator,
.page-id-295 .entry-content hr {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* 価格を最下部へ固定 */
.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

/* 行フック（任意） */
.page-id-295 .entry-content .pr-level {} /* EASY/NORMAL/HARD 見出し */
.page-id-295 .entry-content .pr-detail {} /* 説明 */
.page-id-295 .entry-content .pr-exsample {} /* 例示 */

/* 見出し近接（先頭見出しの下だけ詰める） */
.page-id-295 .entry-content .wp-block-column :is(h2,h3,h4):first-child { margin-bottom: 4px !important; }

/* EASY/NORMAL/HARD：20px固定・太字 */
.page-id-295 .entry-content .pr-level,
.page-id-295 .entry-content .pr-level * {
  font-size: 20px !important;
  line-height: 1.6 !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
}

/* 図版余白（必要なら） */
.page-id-295 .entry-content .wp-block-column figure {
  margin-top: 6px !important; margin-bottom: 12px !important;
}

/* ===== page_id=295: / PRODUCT DESIGN / と 商品デザイン 価格 の間隔を 0 に ===== */
.page-id-295 .entry-content h2.wp-block-heading { 
  margin-bottom: 0 !important;        /* H2の下マージンを消す */
}
.page-id-295 .entry-content h2.wp-block-heading + h6.wp-block-heading {
  margin-top: 0 !important;           /* 直下H6の上マージンを消す（=密着） */
}

/* 念のため、h2直後に別の見出し型が来ても密着させる保険 */
.page-id-295 .entry-content h2 + .wp-block-heading { 
  margin-top: 0 !important;
}

/* ===== 難易度テーブル専用（page_id=295 かつ .price-table-v2 のみ） ===== */
.page-id-295 .price-table-v2 { margin: 0; }
.page-id-295 .price-table-v2 > .wp-block-separator {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* カラムを同一高さにして、価格を下端に揃える土台 */
.page-id-295 .price-table-v2 .wp-block-columns.no-gap { gap: 0 !important; }
.page-id-295 .price-table-v2 .wp-block-columns.no-gap > .wp-block-column {
  display: flex !important; flex-direction: column !important; margin: 0 !important; padding: 0 !important;
}
.page-id-295 .price-table-v2 .wp-block-column > .wp-block-group.has-background {
  display: flex !important; flex-direction: column !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important;
}

/* 余白の過剰付与を抑制（本文・figureの上下） */
.page-id-295 .price-table-v2 .wp-block-group.has-background > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 上段ラベル：pr-level → “文字を大きく”（空は現状維持） */
.page-id-295 .price-table-v2 .pr-level,
.page-id-295 .price-table-v2 .pr-level * {
  font-size: 22px !important;   /* ← ご指定：大きく */
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
}

/* 説明文：pr-detail → “少し小さく” */
.page-id-295 .price-table-v2 .pr-detail,
.page-id-295 .price-table-v2 .pr-detail * {
  font-size: 13px !important;   /* ← ご指定：少し小さく */
  line-height: 1.9 !important;
}

/* 例示：pr-exsample → pr-detail と同じ大きさ */
.page-id-295 .price-table-v2 .pr-exsample,
.page-id-295 .price-table-v2 .pr-exsample * {
  font-size: 13px !important;   /* ← pr-detail と同じ */
  line-height: 1.9 !important;
}

/* アイコンは変更しない（指定なし）— レイアウトの見た目調整のみ */
.page-id-295 .price-table-v2 figure { 
  display: flex; align-items: center; justify-content: center;
  margin: 8px 0 10px !important;          /* 余白のみ最小限 */
}

/* 価格：price → 下端でピタッと揃える */
.page-id-295 .price-table-v2 .price {
  margin-top: auto !important;            /* 核心：下端に押し下げる */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
}

/***** PRICE（page_id=295 限定）*****/
body.page-id-295 .entry-content .wp-block-columns.no-gap{
  /* カラムの隙間ゼロ＆折り返しなし */
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* カラムを上下フレックスにして「価格」を下端に固定 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
}

/* ラベル(EASY/NORMAL/HARD)を大きく */
body.page-id-295 .entry-content .pr-level,
body.page-id-295 .entry-content .pr-level *{
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
  margin: 0 !important;
}

/* 説明・例は「少し小さく」 */
body.page-id-295 .entry-content .pr-detail,
body.page-id-295 .entry-content .pr-detail *,
body.page-id-295 .entry-content .pr-exsample,
body.page-id-295 .entry-content .pr-exsample *{
  font-size: 13px !important;
  line-height: 1.9 !important;
}

/* アイコンまわりの余白だけ薄く（サイズは変えない） */
body.page-id-295 .entry-content .wp-block-columns.no-gap figure{
  display: flex; align-items: center; justify-content: center;
  margin: 0px 0 10px !important;
}

/* 価格を下端でピタッと揃える＆強調 */
body.page-id-295 .entry-content .price{
  margin-top: auto !important;     /* ← これで下端に固定 */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

/* 見出し下の区切り線を細く・フラットに（揃え） */
body.page-id-295 .entry-content h4 + hr.wp-block-separator{
  height: 1px !important;
  background: #111 !important;
  border: 0 !important;
  margin: 8px 0 !important;
}

/* ===== パララックス区切り（Cover ブロック） ===== */

/* Twenty Seventeen で alignfull を本当の全幅にする（中身のコンテンツだけに適用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
}

/* パララックス区切りの見た目（共通） */
.parallax-slice.wp-block-cover {
  min-height: 350px;            /* 高さ目安 */
  margin-top: 0 !important;     /* 上下の余白は好みで */
  margin-bottom: 0 !important;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  /* 画像の暗さを少しだけ落としたい時は下の一行のコメントを外す */
  /* --wp--preset--duotone: none; */
}

/* エディタやテーマのバージョン差吸収（固定背景のクラス名が違う場合に備えて） */
.parallax-slice.has-parallax,
.parallax-slice.is-fixed-background {
  background-attachment: fixed;
}

/* スマホで上下の余白だけ少し縮めたい場合（任意） */
@media (max-width: 782px) {
  .parallax-slice.wp-block-cover { min-height: 260px; }
}

/* 全幅/幅広を許可（Twenty Seventeen 用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}
.entry-content > .alignwide {
  width: 1200px;              /* お好みで */
  max-width: calc(100vw - 4rem);
}

/* どこに置いても本当の全幅にする（Twenty Seventeen向け） */
.entry-content :where(.alignfull) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* カラム/グループの内側に入っている時の左だけ残る対策（視覚移動） */
.entry-content .wp-block-columns :where(.alignfull),
.entry-content .wp-block-column :where(.alignfull),
.entry-content .wp-block-group :where(.alignfull) {
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50vw); /* 左の余白を確実に消す */
}

/* 親で切り落とされないように */
.site-content .wrap { overflow: visible; }

/* パララックス（固定背景）用 */
.parallax-slice.has-parallax {
  background-attachment: fixed;
}

:root { --wrap-gutter: 2em; } /* Twenty Seventeen の .wrap の左右padding */

.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:  calc(100vw + (var(--wrap-gutter) * 2));
  max-width: calc(100vw + (var(--wrap-gutter) * 2));
}

/* ===== Full-bleed（全幅）を本当に端まで広げる修正 ===== */

/* 画面幅やブレークポイントで .wrap の左右パディングが違うため、変数で吸収 */
:root{
  --wrap-gutter: 1rem;     /* モバイルの初期値。必要に応じて調整 */
}
@media (min-width: 782px){
  :root{ --wrap-gutter: 24px; }  /* DevToolsで見えた padding-left に合わせる */
}
@media (min-width: 1168px){
  :root{ --wrap-gutter: 32px; }  /* 実測に合わせて変更。不要なら削除でOK */
}

/* Cover / Group など alignfull を本当に全面へ */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull,
.entry-content .wp-block-group.alignfull{
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:      calc(100vw + (var(--wrap-gutter) * 2));
  max-width:  calc(100vw + (var(--wrap-gutter) * 2));
}

/* カバー内テキストの最大幅は従来どおり中央に（必要なら） */
.wp-block-cover.alignfull .wp-block-cover__inner-container{
  max-width: var(--wp--style--global--content-size, 900px);
  margin-inline: auto;
}

/* ===== page_id=295 のパララックスCoverだけを本当の全幅にする（他は触らない） ===== */
body.page-id-295 .entry-content .parallax-slice.wp-block-cover.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
  box-sizing: border-box;
}

/* カラムやグループ内に入っていても同じ指定を強制（価格表など他要素は対象外） */
body.page-id-295 .entry-content .wp-block-group .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-columns .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-column  .parallax-slice.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
}

/* 念のため親で切られないように（295ページ限定） */
body.page-id-295 .site-content .wrap { overflow: visible !important; }

/* ===== page_id=295｜価格行を常に最下部に揃える（他ページ不干渉） ===== */

/* カラムを等高にし、内側の色付きボックスを“縦フレックス”に */
body.page-id-295 .entry-content .wp-block-columns { align-items: stretch; }
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column { display: flex; }

/* 色付きの箱（has-background のグループ）を縦レイアウト化 */
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column > .wp-block-group.has-background {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* 価格の段落（追加CSSクラス：price）を最下部へ押し下げる */
body.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  text-align: center;
}

/* 余白のにじみ防止：先頭/末尾要素の外側マージンを整理 */
body.page-id-295 .entry-content .wp-block-group.has-background > :first-child { margin-top: 0; }
body.page-id-295 .entry-content .wp-block-group.has-background > :last-child  { margin-bottom: 0; }

/* ===== page_id=295｜価格行を常に最下部に揃える（Columnsに price-grid を付与） ===== */
body.page-id-295 .entry-content .price-grid{
  align-items: stretch !important;           /* 各カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため */
}

/* 各カラムを縦フレックス化し、下詰め可能にする */
body.page-id-295 .entry-content .price-grid > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;            /* is-vertically-aligned-top の上書き */
}

/* 色付き箱（グループ）がある場合も高さ計算を安定化 */
body.page-id-295 .entry-content .price-grid > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}

/* 価格段落（追加CSSクラス：price）を最下部に固定 */
body.page-id-295 .entry-content .price-grid .price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

/* ===== page_id=295｜ロゴデザイン価格などの2カラムで価格段落を最下部に固定 ===== */
body.page-id-295 .entry-content .wp-block-columns.no-gap {
  align-items: stretch !important;           /* 2カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため固定 */
}

body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;                  /* ← カラムを縦フレックスに */
  flex-direction: column !important;
  align-self: stretch !important;
}

/* 途中の色付きグループが高さを乱さないように余白を正規化 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :first-child{ margin-top: 0 !important; }
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :last-child { margin-bottom: 0 !important; }

/* 価格段落（追加CSSクラス：price）を下端に押し下げる＝核心 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > p.price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}



/* === page_id=295｜ロゴデザイン価格テーブル：行をグリッドで同期（pr-level版） === */
body.page-id-295 .entry-content .price-align > .wp-block-column{
  /* 既存の flex 指定を上書きしてグリッド化 */
  display: grid !important;
  /* 行の高さ：1=上帯, 2=アイコン, 3=サブ見出し, 4=説明(可変), 5=価格(下固定) */
  --pr-level-row:  clamp(56px, 6vw, 80px);
  --pr-figure-row: clamp(140px, 18vw, 200px);
  grid-template-rows: var(--pr-level-row) var(--pr-figure-row) auto 1fr auto;
  row-gap: 12px;
}

/* 余白ぶれを抑制（行間は row-gap に統一） */
body.page-id-295 .entry-content .price-align > .wp-block-column > :is(p, .wp-block-group){
  margin: 0 !important;
}

/* 行割り当て（クラス名に対応） */
body.page-id-295 .entry-content .price-align .pr-level   { grid-row: 1 !important; display:flex; align-items:center; }
body.page-id-295 .entry-content .price-align .pr-figure  { grid-row: 2 !important; display:flex; align-items:center; justify-content:center; min-height: var(--pr-figure-row); }
body.page-id-295 .entry-content .price-align .pr-detail  { grid-row: 3 !important; }
body.page-id-295 .entry-content .price-align .pr-exsample{ grid-row: 4 !important; }
body.page-id-295 .entry-content .price-align .price      { grid-row: 5 !important; align-self:end; margin-bottom:0 !important; text-align:center; }

/* モバイル微調整（任意） */
@media (max-width: 782px){
  body.page-id-295 .entry-content .price-align > .wp-block-column{
    --pr-level-row: 48px;
    --pr-figure-row: 110px;
    row-gap: 10px;
  }
}

/* ===== モバイルのメニューラベル「MENU」を細字に ===== */
@media (max-width: 48em) {
  .navigation-top .menu-toggle,
  .site-navigation-fixed .menu-toggle {
    font-weight: 400 !important;   /* 既定の太字→細字へ（Noto Sans JP の標準ウェイト） */
    letter-spacing: .08em !important; /* お好みで間隔も少しだけ詰める/広げるなら調整 */
  }
  /* アイコン(≡)と文字の間隔も微調整したい場合（任意） */
  .navigation-top .menu-toggle .icon,
  .site-navigation-fixed .menu-toggle .icon {
    margin-right: .45em !important;
  }
}


/* ===== home(page-id-36)｜WORKS 右カラム：説明→写真の間隔を広げる ===== */
/* 右カラムのグループ内にある最初の画像の直前に余白を付与（= 説明との間を空ける） */
body.page-id-36 .entry-content
  .wp-block-columns > .wp-block-column:nth-child(2)
  .wp-block-group > figure.wp-block-image:first-of-type {
  margin-top: 12px !important;  /* 左の「写真→PRODUCT DESIGN」と同等。必要なら値を調整 */
}

/* 指定段落だけを確実に詰める（クラス版） */
body.page-id-36 .entry-content p.works-desc-tight {
  line-height: 1.6 !important;
  margin-top: 2px !important;
}

/* ===== home(page-id-36)｜WORKS：H4→説明段落の「上マージン」を少し詰める ===== */
/* H4のすぐ次の「小サイズ段落」（=説明）だけ狙い撃ち */
body.page-id-36 .entry-content h4.wp-block-heading + p.has-small-font-size {
  margin-top: 0px !important;   /* お好みで 4〜8px に調整可 */
}

/* ===== tel-highlight を「お問い合わせ（38）」とトップ（36）両方で大きく ===== */
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight,
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight a {
  font-size: clamp(28px, 4.6vw, 40px) !important;
  line-height: 1.2 !important;
  font-weight: 500;
  letter-spacing: .03em;
  text-decoration: none;
}

/* ===== page_id=246（ABOUT）| フッターの電話番号をSPでも黒に ===== */
@media (max-width: 782px){
  /* 通常の tel: リンク、iOSの自動リンク(x-apple-data-detectors)の両方に対応 */
  body.page-id-246 .site-footer a[href^="tel"],
  body.page-id-246 .site-footer a.x-apple-data-detectors{
    color: #000 !important;
    -webkit-text-fill-color: #000 !important; /* iOS Safari で確実に黒に */
    text-decoration: none !important;
    font-weight: 400; /* お好みで 400/600 に調整可 */
  }
}

/* ABOUTだけ：telリンクの状態変化でも黒を維持（任意の仕上げ） */
@media (max-width: 782px){
  body.page-id-246 .site-footer a[href^="tel"]:visited,
  body.page-id-246 .site-footer a[href^="tel"]:active,
  body.page-id-246 .site-footer a[href^="tel"]:focus{
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    text-decoration:none !important;
  }
  /* タップ時の強いハイライトを弱めたい場合（任意） */
  body.page-id-246 .site-footer a[href^="tel"]{
    -webkit-tap-highlight-color: rgba(0,0,0,.08);
  }
}


/* === スマホでも <video> を表示し、フォールバック画像を隠す（トップのみ） === */
@media (max-width: 782px){
  body.twentyseventeen-front-page .custom-header-media video{
    display:block !important; opacity:1 !important;
  }
  body.twentyseventeen-front-page .custom-header-media img{
    display:none !important;
  }
}

/* === Front Page の .panel-image を全端末で JS 前提に（固定背景は使わない） === */
.panel-image{
  background-attachment: scroll !important;
  background-position: center center;
  will-change: background-position;
}

/* 動きを望まないユーザー配慮（任意） */
@media (prefers-reduced-motion: reduce){
  .panel-image{ background-position: center center !important; }
}


/* ===== page_id=246（ABOUT）| SPだけ：段落のぶら下がり抑制 ===== */
@media (max-width: 782px){
  /* 段落の改行を“見栄え重視”で最適化（対応ブラウザに効く） */
  body.page-id-246 .entry-content p{
    text-wrap: pretty;               /* 末行が1文字になりにくくなる（2024+対応ブラウザ） */
    letter-spacing: .02em !important;/* サイト全体の .05em を少しだけ弱めて詰まりを改善 */
  }
  /* 見出しはバランス改行（長い語があっても行頭に1文字が残りにくい） */
  body.page-id-246 .entry-content h2,
  body.page-id-246 .entry-content h3{
    text-wrap: balance;
  }
}

/* Front page｜「ALCEDOの3つの強み」をSPだけ 1 行固定に */
@media (max-width: 782px){
  body.twentyseventeen-front-page #panel2 .panel-content h2.entry-title{
    white-space: nowrap;        /* 改行しない */
    letter-spacing: .02em !important; /* 少し詰めて収まりを良くする */
  }
}

/* ===== 本文を両端揃えに（最終行は左寄せ）===== */
.entry-content p{
  text-align: justify !important;        /* 行がコンテンツ幅いっぱいに伸びる */
  text-align-last: start !important;     /* 最終行だけは左寄せ */
  text-justify: inter-ideograph !important; /* 和文向けの均等割付け */
  text-wrap: pretty;                      /* 末行1文字などを避ける（対応ブラウザで有効） */
  line-break: strict;                     /* 和文の禁則を堅めに */
}

/* 文章の途中で不自然に単語を折らない（和文の安全側） */
html[lang="ja"] .entry-content p{
  word-break: normal;
}


/* ===== page_id=295｜PRICEの3カラムを狭い画面で縦積みに戻す ===== */
@media (max-width: 1024px){ /* タブレット横幅以下で早めに縦積み（値はお好みで） */
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex{
    /* 以前の nowrap !important を打ち消す */
    flex-wrap: wrap !important;
    /* 縦積み時の上下間隔。必要なら 12〜24px で調整 */
    gap: 16px !important;
  }
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex > .wp-block-column{
    /* 1列100%幅に */
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }

  /* もし “no-gap” により内側の余白が詰まりすぎる場合の保険（任意） */
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex > .wp-block-column > *{
    margin-top: 0;
    margin-bottom: 0;
  }
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex > .wp-block-column + .wp-block-column{
    margin-top: 0; /* gap で管理するのでゼロに */
  }
}

/* ===== PRICE（page_id=295）| pr-level を中央寄せ＆上下の帯・本文の横幅を統一 ===== */

/* 上帯（.pr-level）と最下部の価格（.price）を中央寄せ＆横幅100%に固定 */
body.page-id-295 .price-table-v2 :is(.pr-level, .price){
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;   /* 万一の max-width を解除 */
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 上帯/本文/例/価格の左右パディングを揃えて“見かけの幅”も統一 */
body.page-id-295 .price-table-v2 :is(.pr-level, .pr-detail, .pr-exsample, .price){
  padding-left: clamp(16px, 2.2vw, 24px) !important;
  padding-right: clamp(16px, 2.2vw, 24px) !important;
  box-sizing: border-box !important;
}

/* 念のため：上帯文字サイズなど既存指定に中央寄せを追加（重ねてOK） */
body.page-id-295 .price-table-v2 .pr-level,
body.page-id-295 .price-table-v2 .pr-level *{
  text-align: center !important;
}

/* ===== PRICE（page_id=295｜.price-table-v2）pr-level を強制センター寄せ（最終上書き） ===== */
body.page-id-295 .price-table-v2 .pr-level,
body.page-id-295 .price-table-v2 .pr-level *{
  text-align: center !important;
}

/* Gutenberg の「文字配置」ユーティリティが付いていても上書き */
body.page-id-295 .price-table-v2 .pr-level.has-text-align-left,
body.page-id-295 .price-table-v2 .pr-level[class*="has-text-align"]{
  text-align: center !important;
}

/* ボックスそのものを中央寄せ（テキスト以外の要素構成でも確実に中央） */
body.page-id-295 .price-table-v2 .pr-level{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* グループブロック内包時のラッパーも幅いっぱいに */
body.page-id-295 .price-table-v2 .pr-level .wp-block-group__inner-container{
  width: 100% !important;
}


/* ===== SPでもMENUを上端で固定（全ページ共通） ===== */
@media (max-width: 782px){
  /* 固定化されたときの見た目 */
  .site-header .navigation-top.is-stuck{
    position: fixed;
    left: 0;
    right: 0;
    top: 0;                 /* 管理バーはJS側で補正 */
    z-index: 10000;
    background: rgba(26,26,26,.98); /* 透け防止。不要なら削除OK */
    backdrop-filter: saturate(180%) blur(6px); /* 任意：半透明時の視認性UP */
  }
}

/* ログイン時の管理バーと被らないように（保険。実際はJSで補正） */
@media (max-width: 782px){
  .admin-bar .site-header .navigation-top.is-stuck{ top: 46px; }
}
@media (min-width: 783px){
  .admin-bar .site-header .navigation-top.is-stuck{ top: 32px; }
}



/* ===== SPナビに ✉ CONTACT を横並びで表示 ===== */
@media (max-width: 782px){
  /* アイコンの太さ等（Material Symbols の推奨指定） */
  .material-symbols-outlined{
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
    font-size: 20px; line-height: 1;
  }
  /* メニューとCONTACTを横並び中央寄せに */
  .site-header .navigation-top .wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px; /* ←「少しスペース」 */
  }
  /* CONTACT ボタンの見た目（メニューとトーンを合わせる） */
  .site-header .navigation-top .quick-contact{
    display: inline-flex;
    align-items: center;
    gap: .45em;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .06em;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 9999px;
    padding: .5em .9em;
  }
  .site-header .navigation-top .quick-contact:focus,
  .site-header .navigation-top .quick-contact:hover{
    border-color: rgba(255,255,255,.6);
  }
}

/* PCでは表示しない（必要なら外してください） */
@media (min-width: 783px){
  .site-header .navigation-top .quick-contact{ display:none; }
}

/*
 Theme Name: Twenty Seventeen Child (ALCEDO)
 Template: twentyseventeen
 Version: 1.1.0
*/

/* ===================== 基本タイポ ===================== */
html, body, button, input, select, textarea {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400;
  letter-spacing: .03em;
}
body h1, body h2, body h3, body h4, body h5, body h6,
.entry-title,
.panel-content .entry-header .entry-title {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .10em;
  line-height: 1.35;
}

/* 本文テキスト */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content dd,
.entry-content dt,
.entry-content figcaption { font-size: 14px !important; }
.entry-content p { line-height: 2 !important; }
html[lang="ja"] body * { letter-spacing: .05em !important; }

/* 見出し（全体） */
.entry-content h2,
.entry-content h2.wp-block-heading { font-size: 35px !important; }
.entry-content h3 {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #bbb !important;
}
.entry-content h4 { font-size: 18px !important; }
.entry-content h5 { font-size: 16px !important; }
.entry-content h6 {
  font-size: 13px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.4 !important;
}

/* パネル大見出し */
.panel-content .entry-title { font-size: 35px !important; }

/* ===================== ナビ ===================== */
.navigation-top .main-navigation .menu > li > a,
.site-navigation-fixed .main-navigation .menu > li > a {
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
}

/* ===================== Works（カテゴリ一覧） ===================== */
.category-works .entry-header,
.category-works .entry-title,
.category-works .entry-meta,
.category-works .entry-summary,
.category-works .entry-content,
.category-works .cat-links,
.category-works .byline,
.category-works .posted-on { display: none !important; }
.category-works .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.category-works article,
.category-works .post-thumbnail { margin: 0 !important; }
.category-works .post-thumbnail img { width: 100%; height: auto; display: block; }

/* 固定ページ版（使用時に page-id-XXXX を置換） */
.page-id-XXXX .entry-header,
.page-id-XXXX .entry-title,
.page-id-XXXX .entry-meta,
.page-id-XXXX .entry-summary,
.page-id-XXXX .entry-content { display: none !important; }
.page-id-XXXX .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.page-id-XXXX .post-thumbnail img { width: 100%; height: auto; display: block; }

/* ===================== MOREボタン ===================== */
.alcedo-more {
  display: inline-block;
  padding: .8rem 1.6rem;
  border: 1px solid currentColor;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: .1em;
  margin-top: 28px;
}
.alcedo-more:hover { opacity: .75; }
.alcedo-more-wrap { text-align: center; grid-column: 1 / -1; }

/* Gutenbergボタンも確実に細字 */
.wp-block-button__link,
.wp-block-button__link * { font-weight: 400 !important; }

/* ===================== クエリループ（3列＋正方形） ===================== */
.page .wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.page .wp-block-post-featured-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
}
.page .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ===================== TOP（最近の投稿=WORKS） ===================== */
body.twentyseventeen-front-page .recent-posts .entry-header,
body.twentyseventeen-front-page .recent-posts .entry-title,
body.twentyseventeen-front-page .recent-posts .entry-meta,
body.twentyseventeen-front-page .recent-posts .entry-summary,
body.twentyseventeen-front-page .recent-posts .cat-links,
body.twentyseventeen-front-page .recent-posts .byline,
body.twentyseventeen-front-page .recent-posts .posted-on { display: none !important; }
body.twentyseventeen-front-page .recent-posts .site-main {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

/* ★WORKSのH4は画像の下で常に12px空ける（今回“効いた”唯一の前提） */
.panel-content .entry-content h4 { margin-top: 12px !important; }

/* ===================== 下層の共通調整 ===================== */
.single-featured-image-header { display: none !important; } /* ヘッダー直下アイキャッチ非表示 */

/* WPForms #153 送信後メッセージ色 */
#wpforms-confirmation-153,
#wpforms-confirmation-153.wpforms-confirmation-container-full {
  background-color: #2594b2 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 16px 20px !important;
  border-radius: 4px !important;
}
#wpforms-confirmation-153 p,
#wpforms-confirmation-153 a,
#wpforms-confirmation-153 * { color: #ffffff !important; }

/* ===================== ページID246（プロフィール） ===================== */
.page-id-246 #primary {
  background: #ffffff !important;
  color: #000000 !important;
  padding: 40px 20px;
}
.page-id-246 #primary h1,
.page-id-246 #primary h2,
.page-id-246 #primary h3,
.page-id-246 #primary h4,
.page-id-246 #primary h5,
.page-id-246 #primary h6,
.page-id-246 #primary p,
.page-id-246 #primary a,
.page-id-246 #primary li { color: #000000 !important; }
.page-id-246 .site-content,
.page-id-246 .site-content-contain,
.page-id-246 #primary,
.page-id-246 #main { background: #ffffff !important; color: #000000 !important; }
.page-id-246 .site-content::before,
.page-id-246 .site-content-contain::before { background: none !important; }

/* ABOUT直下の h6 を密着（間隔0） */
.page-id-246 .entry-content h2 { margin-bottom: 0 !important; }
.page-id-246 .entry-content h2 + h6,
.page-id-246 .entry-content h2 + .wp-block-heading,
.page-id-246 .entry-content h2 + .wp-block-group > h6:first-child,
.page-id-246 .entry-content h2 + .wp-block-group > .wp-block-heading:first-child,
.page-id-246 .entry-content h2 + * { margin-top: 0 !important; }
.page-id-246 .entry-content h2 + .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.page-id-246 .entry-content h6 { color: #666 !important; }

/* ===================== フッター連絡先 ===================== */
.site-footer .widget-area .widget-column.footer-widget-1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget {
  margin: 0 !important;
  padding: 0;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget p {
  margin: 0 !important;
  line-height: 1.6;
  font-family: inherit !important;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: .02em;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(2) p,
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(3) p {
  font-size: 13px;
  font-weight: 400;
  opacity: .9;
}
@media (max-width: 599px) {
  .site-footer .widget-area .widget-column.footer-widget-1 { gap: 6px 12px; }
  .site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
    font-size: 18px; font-weight: 600;
  }
}

/* ===================== gapゼロユーティリティ ===================== */
.no-gap.wp-block-columns,
.no-gap.is-layout-flex,
.no-gap.is-layout-grid {
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.no-gap.wp-block-columns > .wp-block-column { margin: 0 !important; padding: 0 !important; }
.no-gap .wp-block-group,
.no-gap .wp-block-group__inner-container > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.no-gap .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.no-gap .wp-block-separator { margin: 0 !important; }

/* ===================== page_id=295 価格表 ===================== */
/* 横の隙間ゼロ・列設定 */
.page-id-295 .entry-content .wp-block-columns.no-gap {
  gap: 0 !important; column-gap: 0 !important; --wp--style--block-gap: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
@media (min-width: 48em) {
  .page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column:not(:first-child) { margin-left: 0 !important; }
}
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column {
  margin: 0 !important; padding: 0 !important; flex-basis: 0 !important; flex-grow: 1 !important;
  display: flex !important; flex-direction: column !important; /* 同一高さ化 */
}

/* no-gap 内の子の上下マージン抑制 */
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column
  > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 区切り線統一 */
.page-id-295 .entry-content .wp-block-separator,
.page-id-295 .entry-content hr {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* 価格を最下部へ固定 */
.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

/* 行フック（任意） */
.page-id-295 .entry-content .pr-level {} /* EASY/NORMAL/HARD 見出し */
.page-id-295 .entry-content .pr-detail {} /* 説明 */
.page-id-295 .entry-content .pr-exsample {} /* 例示 */

/* 見出し近接（先頭見出しの下だけ詰める） */
.page-id-295 .entry-content .wp-block-column :is(h2,h3,h4):first-child { margin-bottom: 4px !important; }

/* EASY/NORMAL/HARD：20px固定・太字 */
.page-id-295 .entry-content .pr-level,
.page-id-295 .entry-content .pr-level * {
  font-size: 20px !important;
  line-height: 1.6 !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
}

/* 図版余白（必要なら） */
.page-id-295 .entry-content .wp-block-column figure {
  margin-top: 6px !important; margin-bottom: 12px !important;
}

/* ===== page_id=295: / PRODUCT DESIGN / と 商品デザイン 価格 の間隔を 0 に ===== */
.page-id-295 .entry-content h2.wp-block-heading { 
  margin-bottom: 0 !important;        /* H2の下マージンを消す */
}
.page-id-295 .entry-content h2.wp-block-heading + h6.wp-block-heading {
  margin-top: 0 !important;           /* 直下H6の上マージンを消す（=密着） */
}

/* 念のため、h2直後に別の見出し型が来ても密着させる保険 */
.page-id-295 .entry-content h2 + .wp-block-heading { 
  margin-top: 0 !important;
}

/* ===== 難易度テーブル専用（page_id=295 かつ .price-table-v2 のみ） ===== */
.page-id-295 .price-table-v2 { margin: 0; }
.page-id-295 .price-table-v2 > .wp-block-separator {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* カラムを同一高さにして、価格を下端に揃える土台 */
.page-id-295 .price-table-v2 .wp-block-columns.no-gap { gap: 0 !important; }
.page-id-295 .price-table-v2 .wp-block-columns.no-gap > .wp-block-column {
  display: flex !important; flex-direction: column !important; margin: 0 !important; padding: 0 !important;
}
.page-id-295 .price-table-v2 .wp-block-column > .wp-block-group.has-background {
  display: flex !important; flex-direction: column !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important;
}

/* 余白の過剰付与を抑制（本文・figureの上下） */
.page-id-295 .price-table-v2 .wp-block-group.has-background > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 上段ラベル：pr-level → “文字を大きく”（空は現状維持） */
.page-id-295 .price-table-v2 .pr-level,
.page-id-295 .price-table-v2 .pr-level * {
  font-size: 22px !important;   /* ← ご指定：大きく */
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
}

/* 説明文：pr-detail → “少し小さく” */
.page-id-295 .price-table-v2 .pr-detail,
.page-id-295 .price-table-v2 .pr-detail * {
  font-size: 13px !important;   /* ← ご指定：少し小さく */
  line-height: 1.9 !important;
}

/* 例示：pr-exsample → pr-detail と同じ大きさ */
.page-id-295 .price-table-v2 .pr-exsample,
.page-id-295 .price-table-v2 .pr-exsample * {
  font-size: 13px !important;   /* ← pr-detail と同じ */
  line-height: 1.9 !important;
}

/* アイコンは変更しない（指定なし）— レイアウトの見た目調整のみ */
.page-id-295 .price-table-v2 figure { 
  display: flex; align-items: center; justify-content: center;
  margin: 8px 0 10px !important;          /* 余白のみ最小限 */
}

/* 価格：price → 下端でピタッと揃える */
.page-id-295 .price-table-v2 .price {
  margin-top: auto !important;            /* 核心：下端に押し下げる */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
}

/***** PRICE（page_id=295 限定）*****/
body.page-id-295 .entry-content .wp-block-columns.no-gap{
  /* カラムの隙間ゼロ＆折り返しなし */
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* カラムを上下フレックスにして「価格」を下端に固定 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
}

/* ラベル(EASY/NORMAL/HARD)を大きく */
body.page-id-295 .entry-content .pr-level,
body.page-id-295 .entry-content .pr-level *{
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
  margin: 0 !important;
}

/* 説明・例は「少し小さく」 */
body.page-id-295 .entry-content .pr-detail,
body.page-id-295 .entry-content .pr-detail *,
body.page-id-295 .entry-content .pr-exsample,
body.page-id-295 .entry-content .pr-exsample *{
  font-size: 13px !important;
  line-height: 1.9 !important;
}

/* アイコンまわりの余白だけ薄く（サイズは変えない） */
body.page-id-295 .entry-content .wp-block-columns.no-gap figure{
  display: flex; align-items: center; justify-content: center;
  margin: 0px 0 10px !important;
}

/* 価格を下端でピタッと揃える＆強調 */
body.page-id-295 .entry-content .price{
  margin-top: auto !important;     /* ← これで下端に固定 */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

/* 見出し下の区切り線を細く・フラットに（揃え） */
body.page-id-295 .entry-content h4 + hr.wp-block-separator{
  height: 1px !important;
  background: #111 !important;
  border: 0 !important;
  margin: 8px 0 !important;
}

/* ===== パララックス区切り（Cover ブロック） ===== */

/* Twenty Seventeen で alignfull を本当の全幅にする（中身のコンテンツだけに適用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
}

/* パララックス区切りの見た目（共通） */
.parallax-slice.wp-block-cover {
  min-height: 350px;            /* 高さ目安 */
  margin-top: 0 !important;     /* 上下の余白は好みで */
  margin-bottom: 0 !important;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  /* 画像の暗さを少しだけ落としたい時は下の一行のコメントを外す */
  /* --wp--preset--duotone: none; */
}

/* エディタやテーマのバージョン差吸収（固定背景のクラス名が違う場合に備えて） */
.parallax-slice.has-parallax,
.parallax-slice.is-fixed-background {
  background-attachment: fixed;
}

/* スマホで上下の余白だけ少し縮めたい場合（任意） */
@media (max-width: 782px) {
  .parallax-slice.wp-block-cover { min-height: 260px; }
}

/* 全幅/幅広を許可（Twenty Seventeen 用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}
.entry-content > .alignwide {
  width: 1200px;              /* お好みで */
  max-width: calc(100vw - 4rem);
}

/* どこに置いても本当の全幅にする（Twenty Seventeen向け） */
.entry-content :where(.alignfull) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* カラム/グループの内側に入っている時の左だけ残る対策（視覚移動） */
.entry-content .wp-block-columns :where(.alignfull),
.entry-content .wp-block-column :where(.alignfull),
.entry-content .wp-block-group :where(.alignfull) {
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50vw); /* 左の余白を確実に消す */
}

/* 親で切り落とされないように */
.site-content .wrap { overflow: visible; }

/* パララックス（固定背景）用 */
.parallax-slice.has-parallax {
  background-attachment: fixed;
}

:root { --wrap-gutter: 2em; } /* Twenty Seventeen の .wrap の左右padding */

.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:  calc(100vw + (var(--wrap-gutter) * 2));
  max-width: calc(100vw + (var(--wrap-gutter) * 2));
}

/* ===== Full-bleed（全幅）を本当に端まで広げる修正 ===== */

/* 画面幅やブレークポイントで .wrap の左右パディングが違うため、変数で吸収 */
:root{
  --wrap-gutter: 1rem;     /* モバイルの初期値。必要に応じて調整 */
}
@media (min-width: 782px){
  :root{ --wrap-gutter: 24px; }  /* DevToolsで見えた padding-left に合わせる */
}
@media (min-width: 1168px){
  :root{ --wrap-gutter: 32px; }  /* 実測に合わせて変更。不要なら削除でOK */
}

/* Cover / Group など alignfull を本当に全面へ */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull,
.entry-content .wp-block-group.alignfull{
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:      calc(100vw + (var(--wrap-gutter) * 2));
  max-width:  calc(100vw + (var(--wrap-gutter) * 2));
}

/* カバー内テキストの最大幅は従来どおり中央に（必要なら） */
.wp-block-cover.alignfull .wp-block-cover__inner-container{
  max-width: var(--wp--style--global--content-size, 900px);
  margin-inline: auto;
}

/* ===== page_id=295 のパララックスCoverだけを本当の全幅にする（他は触らない） ===== */
body.page-id-295 .entry-content .parallax-slice.wp-block-cover.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
  box-sizing: border-box;
}

/* カラムやグループ内に入っていても同じ指定を強制（価格表など他要素は対象外） */
body.page-id-295 .entry-content .wp-block-group .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-columns .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-column  .parallax-slice.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
}

/* 念のため親で切られないように（295ページ限定） */
body.page-id-295 .site-content .wrap { overflow: visible !important; }

/* ===== page_id=295｜価格行を常に最下部に揃える（他ページ不干渉） ===== */

/* カラムを等高にし、内側の色付きボックスを“縦フレックス”に */
body.page-id-295 .entry-content .wp-block-columns { align-items: stretch; }
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column { display: flex; }

/* 色付きの箱（has-background のグループ）を縦レイアウト化 */
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column > .wp-block-group.has-background {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* 価格の段落（追加CSSクラス：price）を最下部へ押し下げる */
body.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  text-align: center;
}

/* 余白のにじみ防止：先頭/末尾要素の外側マージンを整理 */
body.page-id-295 .entry-content .wp-block-group.has-background > :first-child { margin-top: 0; }
body.page-id-295 .entry-content .wp-block-group.has-background > :last-child  { margin-bottom: 0; }

/* ===== page_id=295｜価格行を常に最下部に揃える（Columnsに price-grid を付与） ===== */
body.page-id-295 .entry-content .price-grid{
  align-items: stretch !important;           /* 各カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため */
}

/* 各カラムを縦フレックス化し、下詰め可能にする */
body.page-id-295 .entry-content .price-grid > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;            /* is-vertically-aligned-top の上書き */
}

/* 色付き箱（グループ）がある場合も高さ計算を安定化 */
body.page-id-295 .entry-content .price-grid > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}

/* 価格段落（追加CSSクラス：price）を最下部に固定 */
body.page-id-295 .entry-content .price-grid .price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

/* ===== page_id=295｜ロゴデザイン価格などの2カラムで価格段落を最下部に固定 ===== */
body.page-id-295 .entry-content .wp-block-columns.no-gap {
  align-items: stretch !important;           /* 2カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため固定 */
}

body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;                  /* ← カラムを縦フレックスに */
  flex-direction: column !important;
  align-self: stretch !important;
}

/* 途中の色付きグループが高さを乱さないように余白を正規化 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :first-child{ margin-top: 0 !important; }
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :last-child { margin-bottom: 0 !important; }

/* 価格段落（追加CSSクラス：price）を下端に押し下げる＝核心 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > p.price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}



/* === page_id=295｜ロゴデザイン価格テーブル：行をグリッドで同期（pr-level版） === */
body.page-id-295 .entry-content .price-align > .wp-block-column{
  /* 既存の flex 指定を上書きしてグリッド化 */
  display: grid !important;
  /* 行の高さ：1=上帯, 2=アイコン, 3=サブ見出し, 4=説明(可変), 5=価格(下固定) */
  --pr-level-row:  clamp(56px, 6vw, 80px);
  --pr-figure-row: clamp(140px, 18vw, 200px);
  grid-template-rows: var(--pr-level-row) var(--pr-figure-row) auto 1fr auto;
  row-gap: 12px;
}

/* 余白ぶれを抑制（行間は row-gap に統一） */
body.page-id-295 .entry-content .price-align > .wp-block-column > :is(p, .wp-block-group){
  margin: 0 !important;
}

/* 行割り当て（クラス名に対応） */
body.page-id-295 .entry-content .price-align .pr-level   { grid-row: 1 !important; display:flex; align-items:center; }
body.page-id-295 .entry-content .price-align .pr-figure  { grid-row: 2 !important; display:flex; align-items:center; justify-content:center; min-height: var(--pr-figure-row); }
body.page-id-295 .entry-content .price-align .pr-detail  { grid-row: 3 !important; }
body.page-id-295 .entry-content .price-align .pr-exsample{ grid-row: 4 !important; }
body.page-id-295 .entry-content .price-align .price      { grid-row: 5 !important; align-self:end; margin-bottom:0 !important; text-align:center; }

/* モバイル微調整（任意） */
@media (max-width: 782px){
  body.page-id-295 .entry-content .price-align > .wp-block-column{
    --pr-level-row: 48px;
    --pr-figure-row: 110px;
    row-gap: 10px;
  }
}

/* ===== モバイルのメニューラベル「MENU」を細字に ===== */
@media (max-width: 48em) {
  .navigation-top .menu-toggle,
  .site-navigation-fixed .menu-toggle {
    font-weight: 400 !important;   /* 既定の太字→細字へ（Noto Sans JP の標準ウェイト） */
    letter-spacing: .08em !important; /* お好みで間隔も少しだけ詰める/広げるなら調整 */
  }
  /* アイコン(≡)と文字の間隔も微調整したい場合（任意） */
  .navigation-top .menu-toggle .icon,
  .site-navigation-fixed .menu-toggle .icon {
    margin-right: .45em !important;
  }
}


/* ===== home(page-id-36)｜WORKS 右カラム：説明→写真の間隔を広げる ===== */
/* 右カラムのグループ内にある最初の画像の直前に余白を付与（= 説明との間を空ける） */
body.page-id-36 .entry-content
  .wp-block-columns > .wp-block-column:nth-child(2)
  .wp-block-group > figure.wp-block-image:first-of-type {
  margin-top: 12px !important;  /* 左の「写真→PRODUCT DESIGN」と同等。必要なら値を調整 */
}

/* 指定段落だけを確実に詰める（クラス版） */
body.page-id-36 .entry-content p.works-desc-tight {
  line-height: 1.6 !important;
  margin-top: 2px !important;
}

/* ===== home(page-id-36)｜WORKS：H4→説明段落の「上マージン」を少し詰める ===== */
/* H4のすぐ次の「小サイズ段落」（=説明）だけ狙い撃ち */
body.page-id-36 .entry-content h4.wp-block-heading + p.has-small-font-size {
  margin-top: 0px !important;   /* お好みで 4〜8px に調整可 */
}

/* ===== tel-highlight を「お問い合わせ（38）」とトップ（36）両方で大きく ===== */
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight,
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight a {
  font-size: clamp(28px, 4.6vw, 40px) !important;
  line-height: 1.2 !important;
  font-weight: 500;
  letter-spacing: .03em;
  text-decoration: none;
}

/* ===== page_id=246（ABOUT）| フッターの電話番号をSPでも黒に ===== */
@media (max-width: 782px){
  /* 通常の tel: リンク、iOSの自動リンク(x-apple-data-detectors)の両方に対応 */
  body.page-id-246 .site-footer a[href^="tel"],
  body.page-id-246 .site-footer a.x-apple-data-detectors{
    color: #000 !important;
    -webkit-text-fill-color: #000 !important; /* iOS Safari で確実に黒に */
    text-decoration: none !important;
    font-weight: 400; /* お好みで 400/600 に調整可 */
  }
}

/* ABOUTだけ：telリンクの状態変化でも黒を維持（任意の仕上げ） */
@media (max-width: 782px){
  body.page-id-246 .site-footer a[href^="tel"]:visited,
  body.page-id-246 .site-footer a[href^="tel"]:active,
  body.page-id-246 .site-footer a[href^="tel"]:focus{
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    text-decoration:none !important;
  }
  /* タップ時の強いハイライトを弱めたい場合（任意） */
  body.page-id-246 .site-footer a[href^="tel"]{
    -webkit-tap-highlight-color: rgba(0,0,0,.08);
  }
}


/* === スマホでも <video> を表示し、フォールバック画像を隠す（トップのみ） === */
@media (max-width: 782px){
  body.twentyseventeen-front-page .custom-header-media video{
    display:block !important; opacity:1 !important;
  }
  body.twentyseventeen-front-page .custom-header-media img{
    display:none !important;
  }
}

/* === Front Page の .panel-image を全端末で JS 前提に（固定背景は使わない） === */
.panel-image{
  background-attachment: scroll !important;
  background-position: center center;
  will-change: background-position;
}

/* 動きを望まないユーザー配慮（任意） */
@media (prefers-reduced-motion: reduce){
  .panel-image{ background-position: center center !important; }
}

/* ===== home(page-id-36)｜WORKS：SPだけ余白調整（赤↑広げる／青↓詰める） ===== */
@media (max-width: 782px){

  /* 赤：見出し「WORKS」の次の説明段落 → 直後が2カラムなら下余白を広げる */
  body.page-id-36 .entry-content p:has(+ .wp-block-columns){
    margin-bottom: 48px !important;  /* もとが ~16px 前後 → およそ3倍に。お好みで 40–56px に調整可 */
  }

  /* 青：2カラムが縦積みになったときの“左→右”の間隔を詰める */
  body.page-id-36 .entry-content .wp-block-columns{
    row-gap: 0 !important;           /* ブロックの既定ギャップを無効化 */
  }
  body.page-id-36 .entry-content .wp-block-columns > .wp-block-column + .wp-block-column{
    margin-top: 12px !important;     /* 1/3 くらいに（既定が ~32–40px 想定）。8–16px で調整可 */
  }

  /* もしこの2カラム内に Spacer ブロックが入っていれば、それも詰める（保険） */
  body.page-id-36 .entry-content .wp-block-columns .wp-block-spacer{
    height: 20px !important;
    min-height: 20px !important;
  }
}





/* ===== home(page-id-36)｜WORKS：SPだけ余白を再調整 ===== */
@media (max-width: 782px){

  /* 赤：WORKS 見出し直後の説明段落の“下”を広げる（約3倍） */
  body.page-id-36 .entry-content h2.wp-block-heading + p{
    margin-bottom: 48px !important; /* お好みで 40〜56px へ調整可 */
  }

  /* 青：2カラムが縦積みになった時の上下の間隔を詰める */
  body.page-id-36 .entry-content .wp-block-columns{
    row-gap: 0 !important;      /* Columns 自体の行間をゼロに */
    margin-bottom: 0 !important;
  }
  /* 右カラム（2番目）の先頭に「スペーサー」があるので高さを強制的に薄く */
  body.page-id-36 .entry-content
    .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-spacer:first-child{
    height: 16px !important;    /* 1/3 くらいへ。さらに詰めるなら 12px などに */
    min-height: 16px !important;
  }
  /* 念のため、右カラムの最初の要素に大きな上マージンが付いていても抑える */
  body.page-id-36 .entry-content
    .wp-block-columns > .wp-block-column:nth-child(2) > :first-child{
    margin-top: 8px !important; /* Spacer 以外が先頭でも効く保険 */
  }

  /* 左→右（縦並び）間の“基本”の間隔を少しだけ残す */
  body.page-id-36 .entry-content
    .wp-block-columns > .wp-block-column + .wp-block-column{
    margin-top: 12px !important; /* 8〜16pxで好み調整 */
  }
}

/*
 Theme Name: Twenty Seventeen Child (ALCEDO)
 Template: twentyseventeen
 Version: 1.1.0
*/

/* ===================== 基本タイポ ===================== */
html, body, button, input, select, textarea {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400;
  letter-spacing: .03em;
}
body h1, body h2, body h3, body h4, body h5, body h6,
.entry-title,
.panel-content .entry-header .entry-title {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
               "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .10em;
  line-height: 1.35;
}

/* 本文テキスト */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content dd,
.entry-content dt,
.entry-content figcaption { font-size: 14px !important; }
.entry-content p { line-height: 2 !important; }
html[lang="ja"] body * { letter-spacing: .05em !important; }

/* 見出し（全体） */
.entry-content h2,
.entry-content h2.wp-block-heading { font-size: 35px !important; }
.entry-content h3 {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #bbb !important;
}
.entry-content h4 { font-size: 18px !important; }
.entry-content h5 { font-size: 16px !important; }
.entry-content h6 {
  font-size: 13px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.4 !important;
}

/* パネル大見出し */
.panel-content .entry-title { font-size: 35px !important; }

/* ===================== ナビ ===================== */
.navigation-top .main-navigation .menu > li > a,
.site-navigation-fixed .main-navigation .menu > li > a {
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
}

/* ===================== Works（カテゴリ一覧） ===================== */
.category-works .entry-header,
.category-works .entry-title,
.category-works .entry-meta,
.category-works .entry-summary,
.category-works .entry-content,
.category-works .cat-links,
.category-works .byline,
.category-works .posted-on { display: none !important; }
.category-works .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.category-works article,
.category-works .post-thumbnail { margin: 0 !important; }
.category-works .post-thumbnail img { width: 100%; height: auto; display: block; }

/* 固定ページ版（使用時に page-id-XXXX を置換） */
.page-id-XXXX .entry-header,
.page-id-XXXX .entry-title,
.page-id-XXXX .entry-meta,
.page-id-XXXX .entry-summary,
.page-id-XXXX .entry-content { display: none !important; }
.page-id-XXXX .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.page-id-XXXX .post-thumbnail img { width: 100%; height: auto; display: block; }

/* ===================== MOREボタン ===================== */
.alcedo-more {
  display: inline-block;
  padding: .8rem 1.6rem;
  border: 1px solid currentColor;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 400;
  letter-spacing: .1em;
  margin-top: 28px;
}
.alcedo-more:hover { opacity: .75; }
.alcedo-more-wrap { text-align: center; grid-column: 1 / -1; }

/* Gutenbergボタンも確実に細字 */
.wp-block-button__link,
.wp-block-button__link * { font-weight: 400 !important; }

/* ===================== クエリループ（3列＋正方形） ===================== */
.page .wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.page .wp-block-post-featured-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
}
.page .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ===================== TOP（最近の投稿=WORKS） ===================== */
body.twentyseventeen-front-page .recent-posts .entry-header,
body.twentyseventeen-front-page .recent-posts .entry-title,
body.twentyseventeen-front-page .recent-posts .entry-meta,
body.twentyseventeen-front-page .recent-posts .entry-summary,
body.twentyseventeen-front-page .recent-posts .cat-links,
body.twentyseventeen-front-page .recent-posts .byline,
body.twentyseventeen-front-page .recent-posts .posted-on { display: none !important; }
body.twentyseventeen-front-page .recent-posts .site-main {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

/* ★WORKSのH4は画像の下で常に12px空ける（今回“効いた”唯一の前提） */
.panel-content .entry-content h4 { margin-top: 12px !important; }

/* ===================== 下層の共通調整 ===================== */
.single-featured-image-header { display: none !important; } /* ヘッダー直下アイキャッチ非表示 */

/* WPForms #153 送信後メッセージ色 */
#wpforms-confirmation-153,
#wpforms-confirmation-153.wpforms-confirmation-container-full {
  background-color: #2594b2 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 16px 20px !important;
  border-radius: 4px !important;
}
#wpforms-confirmation-153 p,
#wpforms-confirmation-153 a,
#wpforms-confirmation-153 * { color: #ffffff !important; }

/* ===================== ページID246（プロフィール） ===================== */
.page-id-246 #primary {
  background: #ffffff !important;
  color: #000000 !important;
  padding: 40px 20px;
}
.page-id-246 #primary h1,
.page-id-246 #primary h2,
.page-id-246 #primary h3,
.page-id-246 #primary h4,
.page-id-246 #primary h5,
.page-id-246 #primary h6,
.page-id-246 #primary p,
.page-id-246 #primary a,
.page-id-246 #primary li { color: #000000 !important; }
.page-id-246 .site-content,
.page-id-246 .site-content-contain,
.page-id-246 #primary,
.page-id-246 #main { background: #ffffff !important; color: #000000 !important; }
.page-id-246 .site-content::before,
.page-id-246 .site-content-contain::before { background: none !important; }

/* ABOUT直下の h6 を密着（間隔0） */
.page-id-246 .entry-content h2 { margin-bottom: 0 !important; }
.page-id-246 .entry-content h2 + h6,
.page-id-246 .entry-content h2 + .wp-block-heading,
.page-id-246 .entry-content h2 + .wp-block-group > h6:first-child,
.page-id-246 .entry-content h2 + .wp-block-group > .wp-block-heading:first-child,
.page-id-246 .entry-content h2 + * { margin-top: 0 !important; }
.page-id-246 .entry-content h2 + .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.page-id-246 .entry-content h6 { color: #666 !important; }

/* ===== page_id=246｜段落だけ「中央寄せ＋（到達時）両端揃え」 ===== */
/* エディターの「追加CSSクラス」に center-justify を付けた段落だけに適用 */
body.page-id-246 .entry-content p.center-justify {
  text-align: justify !important;       /* 到達した行は両端揃え */
  text-align-last: center !important;   /* 最終行だけ中央寄せ（1行でも中央になる） */
  text-justify: inter-ideograph;        /* 日本語の均等割付け */
  -ms-text-justify: inter-ideograph;
}

/* Gutenberg が has-text-align-center を付けても上書きできるよう保険 */
body.page-id-246 .entry-content p.has-text-align-center.center-justify {
  text-align: justify !important;
  text-align-last: center !important;
}

/* 段落ではなくラッパー（グループ/カラム）に center-justify を付けた場合の保険 */
body.page-id-246 .entry-content .center-justify p {
  text-align: justify !important;
  text-align-last: center !important;
}

/* ===== page_id=246｜プロフィール見出し用クラス ===== */

/* 役割（小さめ・細め・字間自由） */
body.page-id-246 .entry-content .profile-role {
  font-size: 14px !important;     /* ←好みで 12〜15px に調整可 */
  font-weight: 400 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
  color: #000;                    /* 必要なら変更可 */
}

/* 日本語名（大きく・細め・字間広め） */
body.page-id-246 .entry-content .profile-name-ja {
  font-size: 28px !important;     /* ←好みで 26〜32px に調整可 */
  font-weight: 350 !important;
  letter-spacing: .15em !important;
  line-height: 1.4 !important;
}

/* 英語名（小さめ・グレー・ウエイト自由） */
body.page-id-246 .entry-content .profile-name-en {
  font-size: 13px !important;     /* ←好みで調整 */
  font-weight: 400 !important;    /* 400 にしてもOK */
  letter-spacing: .12em !important;
  line-height: 1.6 !important;
  color: #666 !important;         /* グレー */
}

/* 日本語名・英語名の上下マージンをリセット */
body.page-id-246 .entry-content .profile-name-ja,
body.page-id-246 .entry-content .profile-name-en {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: block;
}

/* 日本語名の直後の英語名だけ、間隔を詰める */
body.page-id-246 .entry-content .profile-name-ja + .profile-name-en {
  margin-top: 2px !important;   /* 好みで 0〜4px に調整可 */
}

/* ===================== フッター連絡先 ===================== */
.site-footer .widget-area .widget-column.footer-widget-1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget {
  margin: 0 !important;
  padding: 0;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget p {
  margin: 0 !important;
  line-height: 1.6;
  font-family: inherit !important;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: .02em;
}
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(2) p,
.site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(3) p {
  font-size: 13px;
  font-weight: 400;
  opacity: .9;
}
@media (max-width: 599px) {
  .site-footer .widget-area .widget-column.footer-widget-1 { gap: 6px 12px; }
  .site-footer .widget-area .widget-column.footer-widget-1 .widget:nth-of-type(1) p {
    font-size: 18px; font-weight: 600;
  }
}

/* ===================== gapゼロユーティリティ ===================== */
.no-gap.wp-block-columns,
.no-gap.is-layout-flex,
.no-gap.is-layout-grid {
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.no-gap.wp-block-columns > .wp-block-column { margin: 0 !important; padding: 0 !important; }
.no-gap .wp-block-group,
.no-gap .wp-block-group__inner-container > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.no-gap .wp-block-spacer { height: 0 !important; margin: 0 !important; }
.no-gap .wp-block-separator { margin: 0 !important; }

/* ===================== page_id=295 価格表 ===================== */
/* 横の隙間ゼロ・列設定 */
.page-id-295 .entry-content .wp-block-columns.no-gap {
  gap: 0 !important; column-gap: 0 !important; --wp--style--block-gap: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
@media (min-width: 48em) {
  .page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column:not(:first-child) { margin-left: 0 !important; }
}
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column {
  margin: 0 !important; padding: 0 !important; flex-basis: 0 !important; flex-grow: 1 !important;
  display: flex !important; flex-direction: column !important; /* 同一高さ化 */
}

/* no-gap 内の子の上下マージン抑制 */
.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column
  > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 区切り線統一 */
.page-id-295 .entry-content .wp-block-separator,
.page-id-295 .entry-content hr {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* 価格を最下部へ固定 */
.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

/* 行フック（任意） */
.page-id-295 .entry-content .pr-level {} /* EASY/NORMAL/HARD 見出し */
.page-id-295 .entry-content .pr-detail {} /* 説明 */
.page-id-295 .entry-content .pr-exsample {} /* 例示 */

/* 見出し近接（先頭見出しの下だけ詰める） */
.page-id-295 .entry-content .wp-block-column :is(h2,h3,h4):first-child { margin-bottom: 4px !important; }

/* EASY/NORMAL/HARD：20px固定・太字 */
.page-id-295 .entry-content .pr-level,
.page-id-295 .entry-content .pr-level * {
  font-size: 20px !important;
  line-height: 1.6 !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
}

/* 図版余白（必要なら） */
.page-id-295 .entry-content .wp-block-column figure {
  margin-top: 6px !important; margin-bottom: 12px !important;
}

/* ===== page_id=295: / PRODUCT DESIGN / と 商品デザイン 価格 の間隔を 0 に ===== */
.page-id-295 .entry-content h2.wp-block-heading { 
  margin-bottom: 0 !important;        /* H2の下マージンを消す */
}
.page-id-295 .entry-content h2.wp-block-heading + h6.wp-block-heading {
  margin-top: 0 !important;           /* 直下H6の上マージンを消す（=密着） */
}

/* 念のため、h2直後に別の見出し型が来ても密着させる保険 */
.page-id-295 .entry-content h2 + .wp-block-heading { 
  margin-top: 0 !important;
}

/* ===== 難易度テーブル専用（page_id=295 かつ .price-table-v2 のみ） ===== */
.page-id-295 .price-table-v2 { margin: 0; }
.page-id-295 .price-table-v2 > .wp-block-separator {
  height: 1px !important; background: #111 !important; border: 0 !important; margin: 8px 0 !important;
}

/* カラムを同一高さにして、価格を下端に揃える土台 */
.page-id-295 .price-table-v2 .wp-block-columns.no-gap { gap: 0 !important; }
.page-id-295 .price-table-v2 .wp-block-columns.no-gap > .wp-block-column {
  display: flex !important; flex-direction: column !important; margin: 0 !important; padding: 0 !important;
}
.page-id-295 .price-table-v2 .wp-block-column > .wp-block-group.has-background {
  display: flex !important; flex-direction: column !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important;
}

/* 余白の過剰付与を抑制（本文・figureの上下） */
.page-id-295 .price-table-v2 .wp-block-group.has-background > :where(p,figure,hr,.wp-block-separator,.wp-block-group){
  margin-top: 0 !important; margin-bottom: 0 !important;
}

/* 上段ラベル：pr-level → “文字を大きく”（空は現状維持） */
.page-id-295 .price-table-v2 .pr-level,
.page-id-295 .price-table-v2 .pr-level * {
  font-size: 22px !important;   /* ← ご指定：大きく */
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
}

/* 説明文：pr-detail → “少し小さく” */
.page-id-295 .price-table-v2 .pr-detail,
.page-id-295 .price-table-v2 .pr-detail * {
  font-size: 13px !important;   /* ← ご指定：少し小さく */
  line-height: 1.9 !important;
}

/* 例示：pr-exsample → pr-detail と同じ大きさ */
.page-id-295 .price-table-v2 .pr-exsample,
.page-id-295 .price-table-v2 .pr-exsample * {
  font-size: 13px !important;   /* ← pr-detail と同じ */
  line-height: 1.9 !important;
}

/* アイコンは変更しない（指定なし）— レイアウトの見た目調整のみ */
.page-id-295 .price-table-v2 figure { 
  display: flex; align-items: center; justify-content: center;
  margin: 8px 0 10px !important;          /* 余白のみ最小限 */
}

/* 価格：price → 下端でピタッと揃える */
.page-id-295 .price-table-v2 .price {
  margin-top: auto !important;            /* 核心：下端に押し下げる */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
}

/***** PRICE（page_id=295 限定）*****/
body.page-id-295 .entry-content .wp-block-columns.no-gap{
  /* カラムの隙間ゼロ＆折り返しなし */
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* カラムを上下フレックスにして「価格」を下端に固定 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
}

/* ラベル(EASY/NORMAL/HARD)を大きく */
body.page-id-295 .entry-content .pr-level,
body.page-id-295 .entry-content .pr-level *{
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
  margin: 0 !important;
}

/* 説明・例は「少し小さく」 */
body.page-id-295 .entry-content .pr-detail,
body.page-id-295 .entry-content .pr-detail *,
body.page-id-295 .entry-content .pr-exsample,
body.page-id-295 .entry-content .pr-exsample *{
  font-size: 13px !important;
  line-height: 1.9 !important;
}

/* アイコンまわりの余白だけ薄く（サイズは変えない） */
body.page-id-295 .entry-content .wp-block-columns.no-gap figure{
  display: flex; align-items: center; justify-content: center;
  margin: 0px 0 10px !important;
}

/* 価格を下端でピタッと揃える＆強調 */
body.page-id-295 .entry-content .price{
  margin-top: auto !important;     /* ← これで下端に固定 */
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

/* 見出し下の区切り線を細く・フラットに（揃え） */
body.page-id-295 .entry-content h4 + hr.wp-block-separator{
  height: 1px !important;
  background: #111 !important;
  border: 0 !important;
  margin: 8px 0 !important;
}

/* ===== パララックス区切り（Cover ブロック） ===== */

/* Twenty Seventeen で alignfull を本当の全幅にする（中身のコンテンツだけに適用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
}

/* パララックス区切りの見た目（共通） */
.parallax-slice.wp-block-cover {
  min-height: 350px;            /* 高さ目安 */
  margin-top: 0 !important;     /* 上下の余白は好みで */
  margin-bottom: 0 !important;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  /* 画像の暗さを少しだけ落としたい時は下の一行のコメントを外す */
  /* --wp--preset--duotone: none; */
}

/* エディタやテーマのバージョン差吸収（固定背景のクラス名が違う場合に備えて） */
.parallax-slice.has-parallax,
.parallax-slice.is-fixed-background {
  background-attachment: fixed;
}

/* スマホで上下の余白だけ少し縮めたい場合（任意） */
@media (max-width: 782px) {
  .parallax-slice.wp-block-cover { min-height: 260px; }
}

/* 全幅/幅広を許可（Twenty Seventeen 用） */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}
.entry-content > .alignwide {
  width: 1200px;              /* お好みで */
  max-width: calc(100vw - 4rem);
}

/* どこに置いても本当の全幅にする（Twenty Seventeen向け） */
.entry-content :where(.alignfull) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* カラム/グループの内側に入っている時の左だけ残る対策（視覚移動） */
.entry-content .wp-block-columns :where(.alignfull),
.entry-content .wp-block-column :where(.alignfull),
.entry-content .wp-block-group :where(.alignfull) {
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50vw); /* 左の余白を確実に消す */
}

/* 親で切り落とされないように */
.site-content .wrap { overflow: visible; }

/* パララックス（固定背景）用 */
.parallax-slice.has-parallax {
  background-attachment: fixed;
}

:root { --wrap-gutter: 2em; } /* Twenty Seventeen の .wrap の左右padding */

.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull {
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:  calc(100vw + (var(--wrap-gutter) * 2));
  max-width: calc(100vw + (var(--wrap-gutter) * 2));
}

/* ===== Full-bleed（全幅）を本当に端まで広げる修正 ===== */

/* 画面幅やブレークポイントで .wrap の左右パディングが違うため、変数で吸収 */
:root{
  --wrap-gutter: 1rem;     /* モバイルの初期値。必要に応じて調整 */
}
@media (min-width: 782px){
  :root{ --wrap-gutter: 24px; }  /* DevToolsで見えた padding-left に合わせる */
}
@media (min-width: 1168px){
  :root{ --wrap-gutter: 32px; }  /* 実測に合わせて変更。不要なら削除でOK */
}

/* Cover / Group など alignfull を本当に全面へ */
.entry-content > .alignfull,
.entry-content .wp-block-cover.alignfull,
.entry-content .wp-block-group.alignfull{
  margin-left:  calc(50% - 50vw - var(--wrap-gutter));
  margin-right: calc(50% - 50vw - var(--wrap-gutter));
  width:      calc(100vw + (var(--wrap-gutter) * 2));
  max-width:  calc(100vw + (var(--wrap-gutter) * 2));
}

/* カバー内テキストの最大幅は従来どおり中央に（必要なら） */
.wp-block-cover.alignfull .wp-block-cover__inner-container{
  max-width: var(--wp--style--global--content-size, 900px);
  margin-inline: auto;
}

/* ===== page_id=295 のパララックスCoverだけを本当の全幅にする（他は触らない） ===== */
body.page-id-295 .entry-content .parallax-slice.wp-block-cover.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
  box-sizing: border-box;
}

/* カラムやグループ内に入っていても同じ指定を強制（価格表など他要素は対象外） */
body.page-id-295 .entry-content .wp-block-group .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-columns .parallax-slice.alignfull,
body.page-id-295 .entry-content .wp-block-column  .parallax-slice.alignfull {
  position: relative;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
}

/* 念のため親で切られないように（295ページ限定） */
body.page-id-295 .site-content .wrap { overflow: visible !important; }

/* ===== page_id=295｜価格行を常に最下部に揃える（他ページ不干渉） ===== */

/* カラムを等高にし、内側の色付きボックスを“縦フレックス”に */
body.page-id-295 .entry-content .wp-block-columns { align-items: stretch; }
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column { display: flex; }

/* 色付きの箱（has-background のグループ）を縦レイアウト化 */
body.page-id-295 .entry-content .wp-block-columns > .wp-block-column > .wp-block-group.has-background {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* 価格の段落（追加CSSクラス：price）を最下部へ押し下げる */
body.page-id-295 .entry-content .wp-block-column .price {
  margin-top: auto !important;
  text-align: center;
}

/* 余白のにじみ防止：先頭/末尾要素の外側マージンを整理 */
body.page-id-295 .entry-content .wp-block-group.has-background > :first-child { margin-top: 0; }
body.page-id-295 .entry-content .wp-block-group.has-background > :last-child  { margin-bottom: 0; }

/* ===== page_id=295｜価格行を常に最下部に揃える（Columnsに price-grid を付与） ===== */
body.page-id-295 .entry-content .price-grid{
  align-items: stretch !important;           /* 各カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため */
}

/* 各カラムを縦フレックス化し、下詰め可能にする */
body.page-id-295 .entry-content .price-grid > .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;            /* is-vertically-aligned-top の上書き */
}

/* 色付き箱（グループ）がある場合も高さ計算を安定化 */
body.page-id-295 .entry-content .price-grid > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}

/* 価格段落（追加CSSクラス：price）を最下部に固定 */
body.page-id-295 .entry-content .price-grid .price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

/* ===== page_id=295｜ロゴデザイン価格などの2カラムで価格段落を最下部に固定 ===== */
body.page-id-295 .entry-content .wp-block-columns.no-gap {
  align-items: stretch !important;           /* 2カラムを等高に */
  flex-wrap: nowrap !important;              /* 念のため固定 */
}

body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column{
  display: flex !important;                  /* ← カラムを縦フレックスに */
  flex-direction: column !important;
  align-self: stretch !important;
}

/* 途中の色付きグループが高さを乱さないように余白を正規化 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group{
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :first-child{ margin-top: 0 !important; }
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > .wp-block-group > :last-child { margin-bottom: 0 !important; }

/* 価格段落（追加CSSクラス：price）を下端に押し下げる＝核心 */
body.page-id-295 .entry-content .wp-block-columns.no-gap > .wp-block-column > p.price{
  margin-top: auto !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}



/* === page_id=295｜ロゴデザイン価格テーブル：行をグリッドで同期（pr-level版） === */
body.page-id-295 .entry-content .price-align > .wp-block-column{
  /* 既存の flex 指定を上書きしてグリッド化 */
  display: grid !important;
  /* 行の高さ：1=上帯, 2=アイコン, 3=サブ見出し, 4=説明(可変), 5=価格(下固定) */
  --pr-level-row:  clamp(56px, 6vw, 80px);
  --pr-figure-row: clamp(140px, 18vw, 200px);
  grid-template-rows: var(--pr-level-row) var(--pr-figure-row) auto 1fr auto;
  row-gap: 12px;
}

/* 余白ぶれを抑制（行間は row-gap に統一） */
body.page-id-295 .entry-content .price-align > .wp-block-column > :is(p, .wp-block-group){
  margin: 0 !important;
}

/* 行割り当て（クラス名に対応） */
body.page-id-295 .entry-content .price-align .pr-level   { grid-row: 1 !important; display:flex; align-items:center; }
body.page-id-295 .entry-content .price-align .pr-figure  { grid-row: 2 !important; display:flex; align-items:center; justify-content:center; min-height: var(--pr-figure-row); }
body.page-id-295 .entry-content .price-align .pr-detail  { grid-row: 3 !important; }
body.page-id-295 .entry-content .price-align .pr-exsample{ grid-row: 4 !important; }
body.page-id-295 .entry-content .price-align .price      { grid-row: 5 !important; align-self:end; margin-bottom:0 !important; text-align:center; }

/* モバイル微調整（任意） */
@media (max-width: 782px){
  body.page-id-295 .entry-content .price-align > .wp-block-column{
    --pr-level-row: 48px;
    --pr-figure-row: 110px;
    row-gap: 10px;
  }
}

/* ===== モバイルのメニューラベル「MENU」を細字に ===== */
@media (max-width: 48em) {
  .navigation-top .menu-toggle,
  .site-navigation-fixed .menu-toggle {
    font-weight: 400 !important;   /* 既定の太字→細字へ（Noto Sans JP の標準ウェイト） */
    letter-spacing: .08em !important; /* お好みで間隔も少しだけ詰める/広げるなら調整 */
  }
  /* アイコン(≡)と文字の間隔も微調整したい場合（任意） */
  .navigation-top .menu-toggle .icon,
  .site-navigation-fixed .menu-toggle .icon {
    margin-right: .45em !important;
  }
}


/* ===== home(page-id-36)｜WORKS 右カラム：説明→写真の間隔を広げる ===== */
/* 右カラムのグループ内にある最初の画像の直前に余白を付与（= 説明との間を空ける） */
body.page-id-36 .entry-content
  .wp-block-columns > .wp-block-column:nth-child(2)
  .wp-block-group > figure.wp-block-image:first-of-type {
  margin-top: 12px !important;  /* 左の「写真→PRODUCT DESIGN」と同等。必要なら値を調整 */
}

/* 指定段落だけを確実に詰める（クラス版） */
body.page-id-36 .entry-content p.works-desc-tight {
  line-height: 1.6 !important;
  margin-top: 2px !important;
}

/* ===== home(page-id-36)｜WORKS：H4→説明段落の「上マージン」を少し詰める ===== */
/* H4のすぐ次の「小サイズ段落」（=説明）だけ狙い撃ち */
body.page-id-36 .entry-content h4.wp-block-heading + p.has-small-font-size {
  margin-top: 0px !important;   /* お好みで 4〜8px に調整可 */
}

/* ===== tel-highlight を「お問い合わせ（38）」とトップ（36）両方で大きく ===== */
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight,
body:is(.page-id-38, .page-id-36) .entry-content .tel-highlight a {
  font-size: clamp(28px, 4.6vw, 40px) !important;
  line-height: 1.2 !important;
  font-weight: 500;
  letter-spacing: .03em;
  text-decoration: none;
}

/* ===== page_id=246（ABOUT）| フッターの電話番号をSPでも黒に ===== */
@media (max-width: 782px){
  /* 通常の tel: リンク、iOSの自動リンク(x-apple-data-detectors)の両方に対応 */
  body.page-id-246 .site-footer a[href^="tel"],
  body.page-id-246 .site-footer a.x-apple-data-detectors{
    color: #000 !important;
    -webkit-text-fill-color: #000 !important; /* iOS Safari で確実に黒に */
    text-decoration: none !important;
    font-weight: 400; /* お好みで 400/600 に調整可 */
  }
}

/* ABOUTだけ：telリンクの状態変化でも黒を維持（任意の仕上げ） */
@media (max-width: 782px){
  body.page-id-246 .site-footer a[href^="tel"]:visited,
  body.page-id-246 .site-footer a[href^="tel"]:active,
  body.page-id-246 .site-footer a[href^="tel"]:focus{
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    text-decoration:none !important;
  }
  /* タップ時の強いハイライトを弱めたい場合（任意） */
  body.page-id-246 .site-footer a[href^="tel"]{
    -webkit-tap-highlight-color: rgba(0,0,0,.08);
  }
}


/* === スマホでも <video> を表示し、フォールバック画像を隠す（トップのみ） === */
@media (max-width: 782px){
  body.twentyseventeen-front-page .custom-header-media video{
    display:block !important; opacity:1 !important;
  }
  body.twentyseventeen-front-page .custom-header-media img{
    display:none !important;
  }
}

/* === Front Page の .panel-image を全端末で JS 前提に（固定背景は使わない） === */
.panel-image{
  background-attachment: scroll !important;
  background-position: center center;
  will-change: background-position;
}

/* 動きを望まないユーザー配慮（任意） */
@media (prefers-reduced-motion: reduce){
  .panel-image{ background-position: center center !important; }
}


/* ===== page_id=246（ABOUT）| SPだけ：段落のぶら下がり抑制 ===== */
@media (max-width: 782px){
  /* 段落の改行を“見栄え重視”で最適化（対応ブラウザに効く） */
  body.page-id-246 .entry-content p{
    text-wrap: pretty;               /* 末行が1文字になりにくくなる（2024+対応ブラウザ） */
    letter-spacing: .02em !important;/* サイト全体の .05em を少しだけ弱めて詰まりを改善 */
  }
  /* 見出しはバランス改行（長い語があっても行頭に1文字が残りにくい） */
  body.page-id-246 .entry-content h2,
  body.page-id-246 .entry-content h3{
    text-wrap: balance;
  }
}

/* Front page｜「ALCEDOの3つの強み」をSPだけ 1 行固定に */
@media (max-width: 782px){
  body.twentyseventeen-front-page #panel2 .panel-content h2.entry-title{
    white-space: nowrap;        /* 改行しない */
    letter-spacing: .02em !important; /* 少し詰めて収まりを良くする */
  }
}

/* ===== 本文を両端揃えに（最終行は左寄せ）===== */
.entry-content p{
  text-align: justify !important;        /* 行がコンテンツ幅いっぱいに伸びる */
  text-align-last: start !important;     /* 最終行だけは左寄せ */
  text-justify: inter-ideograph !important; /* 和文向けの均等割付け */
  text-wrap: pretty;                      /* 末行1文字などを避ける（対応ブラウザで有効） */
  line-break: strict;                     /* 和文の禁則を堅めに */
}

/* 文章の途中で不自然に単語を折らない（和文の安全側） */
html[lang="ja"] .entry-content p{
  word-break: normal;
}

/* ===== page_id=295｜PRICEの3カラムを狭い画面で縦積みに戻す ===== */
@media (max-width: 1024px){ /* タブレット横幅以下で早めに縦積み（値はお好みで） */
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex{
    /* 以前の nowrap !important を打ち消す */
    flex-wrap: wrap !important;
    /* 縦積み時の上下間隔。必要なら 12〜24px で調整 */
    gap: 16px !important;
  }
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex > .wp-block-column{
    /* 1列100%幅に */
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }

  /* もし “no-gap” により内側の余白が詰まりすぎる場合の保険（任意） */
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex > .wp-block-column > *{
    margin-top: 0;
    margin-bottom: 0;
  }
  body.page-id-295 .entry-content
  .wp-block-columns.no-gap.price-grid.is-layout-flex > .wp-block-column + .wp-block-column{
    margin-top: 0; /* gap で管理するのでゼロに */
  }
}

/* ===== PRICE（page_id=295）| pr-level を中央寄せ＆上下の帯・本文の横幅を統一 ===== */

/* 上帯（.pr-level）と最下部の価格（.price）を中央寄せ＆横幅100%に固定 */
body.page-id-295 .price-table-v2 :is(.pr-level, .price){
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;   /* 万一の max-width を解除 */
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 上帯/本文/例/価格の左右パディングを揃えて“見かけの幅”も統一 */
body.page-id-295 .price-table-v2 :is(.pr-level, .pr-detail, .pr-exsample, .price){
  padding-left: clamp(16px, 2.2vw, 24px) !important;
  padding-right: clamp(16px, 2.2vw, 24px) !important;
  box-sizing: border-box !important;
}

/* 念のため：上帯文字サイズなど既存指定に中央寄せを追加（重ねてOK） */
body.page-id-295 .price-table-v2 .pr-level,
body.page-id-295 .price-table-v2 .pr-level *{
  text-align: center !important;
}

/* ===== PRICE（page_id=295｜.price-table-v2）pr-level を強制センター寄せ（最終上書き） ===== */
body.page-id-295 .price-table-v2 .pr-level,
body.page-id-295 .price-table-v2 .pr-level *{
  text-align: center !important;
}

/* Gutenberg の「文字配置」ユーティリティが付いていても上書き */
body.page-id-295 .price-table-v2 .pr-level.has-text-align-left,
body.page-id-295 .price-table-v2 .pr-level[class*="has-text-align"]{
  text-align: center !important;
}

/* ボックスそのものを中央寄せ（テキスト以外の要素構成でも確実に中央） */
body.page-id-295 .price-table-v2 .pr-level{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* グループブロック内包時のラッパーも幅いっぱいに */
body.page-id-295 .price-table-v2 .pr-level .wp-block-group__inner-container{
  width: 100% !important;
}


/* ===== SPでもMENUを上端で固定（全ページ共通） ===== */
@media (max-width: 782px){
  /* 固定化されたときの見た目 */
  .site-header .navigation-top.is-stuck{
    position: fixed;
    left: 0;
    right: 0;
    top: 0;                 /* 管理バーはJS側で補正 */
    z-index: 10000;
    background: rgba(26,26,26,.98); /* 透け防止。不要なら削除OK */
    backdrop-filter: saturate(180%) blur(6px); /* 任意：半透明時の視認性UP */
  }
}

/* ログイン時の管理バーと被らないように（保険。実際はJSで補正） */
@media (max-width: 782px){
  .admin-bar .site-header .navigation-top.is-stuck{ top: 46px; }
}
@media (min-width: 783px){
  .admin-bar .site-header .navigation-top.is-stuck{ top: 32px; }
}

/* === SPヘッダー：MENU／CONTACT 高さ揃え・間隔統一 === */
@media (max-width:782px){

  /* 1行目：中央寄せ & MENU と CONTACT の間隔 40px */
  nav#site-navigation.main-navigation,
  .site-navigation-fixed .main-navigation{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;                 /* MENU と CONTACT の距離 */
    flex-wrap:wrap;           /* 下のアコーディオンは2行目へ */
    row-gap:8px;              /* 1行目と2行目の段間 */
  }

  /* メニュー本体（アコーディオン）を2行目・全幅へ */
  nav#site-navigation .main-navigation > div[class*="menu-"][class*="-container"]{
    order:9;
    flex-basis:100%;
    width:100%;
    margin:0;
    padding:0;
  }

  /* MENU／CONTACT ボタンの高さ揃え & アイコンとの間隔 */
  .menu-toggle,
  a.qc-contact{
    display:inline-flex;
    align-items:center;  /* 高さセンター */
    line-height:1;
    gap:.18em;           /* アイコンと文字の間（≡とMENUを狭める） */
    margin:0 !important;
  }

  /* Material Symbols 共通（≡／×／✉） */
  .material-symbols-outlined{
    font-family:'Material Symbols Outlined';
    font-weight:normal;
    font-style:normal;
    line-height:1;
    display:inline-block;
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24; /* 太さ調整：240〜320 */
    font-size:1.25em; /* アイコンの高さ */
    vertical-align:middle;
  }

  /* 閉＝≡／開＝× の切替 */
  .menu-toggle .ms-menu { display:inline-block; }
  .menu-toggle .ms-close{ display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-menu { display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-close{ display:inline-block; }

  /* CONTACT の封筒もフォントに統一する場合 */
  a.qc-contact svg{ display:none !important; }
  a.qc-contact::before{
    content:"mail";
    font-family:"Material Symbols Outlined";
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24;
    font-size:1.25em;
    line-height:1;
    display:inline-block;
    vertical-align:middle;
  }
}

/* === SPヘッダー：旧ハンバーガーを完全に隠す（親テーマより強く） === */
@media (max-width:782px){
  /* 旧SVG（≡/×）を強制的に非表示 */
  nav#site-navigation .menu-toggle svg.icon-bars,
  nav#site-navigation .menu-toggle svg.icon-close,
  .site-navigation-fixed .menu-toggle svg.icon-bars,
  .site-navigation-fixed .menu-toggle svg.icon-close{
    display: none !important;
  }

  /* 親テーマが .icon の :before/:after でバーを描く場合の保険 */
  .menu-toggle .icon,
  .site-navigation-fixed .menu-toggle .icon{
    background: none !important;
  }
  .menu-toggle .icon::before,
  .menu-toggle .icon::after,
  .site-navigation-fixed .menu-toggle .icon::before,
  .site-navigation-fixed .menu-toggle .icon::after{
    content: none !important;
    background: none !important;
  }
}

/* === SPヘッダー：中央寄せ・40px間隔・高さ揃え === */
@media (max-width:782px){
  nav#site-navigation.main-navigation,
  .site-navigation-fixed .main-navigation{
    display:flex; justify-content:center; align-items:center;
    gap:40px;              /* MENU と CONTACT の間を 40px に */
    flex-wrap:wrap; row-gap:8px;   /* 2行構成＋段間8px */
  }
  /* メニュー本体は2行目・全幅 */
  nav#site-navigation .main-navigation > div[class*="menu-"][class*="-container"]{
    order:9; flex-basis:100%; width:100%; margin:0; padding:0;
  }

  /* ボタン2つの“高さ”を揃える＋アイコンと文字の間を詰める */
  .menu-toggle, a.qc-contact{
    display:inline-flex; align-items:center; line-height:1; gap:.18em;
    margin:0 !important;
  }

  /* Material Symbols（太さは wght で微調整） */
  .material-symbols-outlined{
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24;
    font-size:1.25em; line-height:1; display:inline-block; vertical-align:middle;
  }

  /* 閉＝menu／開＝close の切替（.toggled-on は既存JSが付与） */
  .menu-toggle .ms-menu { display:inline-block; }
  .menu-toggle .ms-close{ display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-menu { display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-close{ display:inline-block; }

  /* CONTACTの封筒もフォントに統一して高さ合わせ（SVGを使うなら下2行は消す） */
  a.qc-contact svg{ display:none !important; }
  a.qc-contact::before{
    content:'mail';
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24;
    font-size:1.25em; line-height:1; display:inline-block; vertical-align:middle;
  }
}

/* === SPヘッダー最終仕上げ：中央固定／ズレ防止／見出し揃え === */
@media (max-width:782px){

  /* ① かたまりとして中央寄せ（1行目を flex 中央＋2行目は折り返し） */
  nav#site-navigation.main-navigation,
  .site-navigation-fixed .main-navigation{
    display:flex;
    justify-content:center;     /* かたまりを左右中央に */
    align-items:center;
    gap:40px;                   /* MENU と CONTACT の間 */
    flex-wrap:wrap;
    row-gap:8px;
    width:100%;
  }

  /* ② ≡/× の切替でラベルが動かないよう “アイコン枠” を固定幅にする */
  .menu-toggle{ display:inline-flex; align-items:center; line-height:1; gap:.18em; }
  .menu-toggle .material-symbols-outlined{
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24;
    font-size:1.25em; line-height:1; vertical-align:middle;
    width:1.4em;                 /* ← アイコン枠の横幅を固定（≡と×で幅が違ってもズレない） */
    text-align:center; display:inline-block;
  }
  /* 旧SVGは出さない（保険） */
  nav#site-navigation .menu-toggle svg{ display:none !important; }

  /* ③ アコーディオンの左端を「MENU」の文字頭に揃える
        = アイコン枠(1.4em) + アイコンと文字の間(.18em) を左パディングにする */
  nav#site-navigation .main-navigation > div[class*="menu-"][class*="-container"]{
    order:9; flex-basis:100%; width:100%;
    padding-left: calc(1.4em + .18em);   /* ← ここが“MENUの文字頭”と一致する基準 */
    margin:0;                            /* 余白はゼロに統一 */
  }

  /* CONTACT 側も高さ中央 & 文字との間隔を統一 */
  a.qc-contact{ display:inline-flex; align-items:center; line-height:1; gap:.18em; }
  a.qc-contact::before{
    content:'mail';
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24;
    font-size:1.25em; line-height:1; display:inline-block; width:1.4em; text-align:center;
  }

  /* 閉＝≡／開＝× の切替（JSで span を入れてある前提） */
  .menu-toggle .ms-menu { display:inline-block; }
  .menu-toggle .ms-close{ display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-menu { display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-close{ display:inline-block; }
}

/* === SPヘッダー最終版：中央固定／ズレ防止／見出し揃え（38ページだけでなく全ページ共通） === */
@media (max-width:782px){

  /* 1) 1行目（≡MENU と ✉CONTACT）を “ひとかたまり” で中央に固定 */
  header#masthead nav#site-navigation.main-navigation,
  .site-navigation-fixed .main-navigation{
    display:flex !important;
    justify-content:center !important;   /* かたまりを左右中央 */
    align-items:center !important;
    gap:40px !important;                 /* MENU と CONTACT の間隔 */
    flex-wrap:wrap !important;           /* 下のアコーディオンは2行目へ */
    row-gap:8px !important;              /* 1行目と2行目の段間 */
    width:100%;
  }

  /* 2) 旧SVGハンバーガーは常に非表示（保険） */
  header#masthead nav#site-navigation .menu-toggle svg.icon-bars,
  header#masthead nav#site-navigation .menu-toggle svg.icon-close,
  .site-navigation-fixed .menu-toggle svg.icon-bars,
  .site-navigation-fixed .menu-toggle svg.icon-close{
    display:none !important;
  }

  /* 3) ボタン2つ（≡MENU／✉CONTACT）の高さセンター揃え＆アイコンと文字の隙間 */
  header#masthead .menu-toggle,
  header#masthead a.qc-contact,
  .site-navigation-fixed .menu-toggle,
  .site-navigation-fixed a.qc-contact{
    display:inline-flex !important;
    align-items:center !important;
    line-height:1 !important;
    gap:.18em !important;              /* ≡とMENU／✉とCONTACTの間 */
    margin:0 !important;
  }

  /* 4) Material Symbols の見た目（≡／×／✉） */
  .material-symbols-outlined{
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24; /* 太さは 260–320で微調整可 */
    font-size:1.25em;
    line-height:1;
    display:inline-block;
    vertical-align:middle;
    width:1.4em;                      /* ← アイコン枠の幅を固定して “×切替でも文字位置が動かない” */
    text-align:center;
  }

  /* 5) CONTACT の封筒をフォントに統一（既存SVGを隠す） */
  header#masthead a.qc-contact svg,
  .site-navigation-fixed a.qc-contact svg { display:none !important; }
  header#masthead a.qc-contact::before,
  .site-navigation-fixed a.qc-contact::before{
    content:'mail';
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24;
    font-size:1.25em; line-height:1; display:inline-block; width:1.4em; text-align:center;
  }

  /* 6) 閉＝≡／開＝× の切替（JSで ms-menu / ms-close を挿入済み前提） */
  .menu-toggle .ms-menu { display:inline-block; }
  .menu-toggle .ms-close{ display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-menu { display:none; }
  .main-navigation.toggled-on .menu-toggle .ms-close{ display:inline-block; }

  /* 7) アコーディオン本体は2行目・全幅にし、左端を “MENUの文字頭” に揃える
        → アイコン枠(1.4em) + 文字との隙間(.18em) を左パディングに採用 */
  header#masthead nav#site-navigation .main-navigation > div[class*="menu-"][class*="-container"],
  .site-navigation-fixed .main-navigation > div[class*="menu-"][class*="-container"]{
    order:9 !important;
    flex-basis:100% !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    padding-left: calc(1.4em + .18em) !important;  /* ← MENUの文字頭とアコーディオン先頭を揃える */
  }
}

/* === SPヘッダー：中央固定／ズレ防止／帯の高さ復旧（最優先・上書き） === */
@media (max-width:782px){

  /* 帯の上下余白を“確保”（カツカツ対策） */
  header#masthead .navigation-top .wrap{
    padding-block:10px !important;       /* 8〜12pxで好みに可 */
  }

  /* 1行目（≡MENU と ✉CONTACT）を “かたまり” で左右中央に */
  header#masthead nav#site-navigation.main-navigation,
  .site-navigation-fixed .main-navigation{
    display:flex !important;
    justify-content:center !important;    /* かたまりを中央 */
    align-items:center !important;
    gap:40px !important;                  /* MENU と CONTACT の間 */
    flex-wrap:wrap !important;            /* 2行構成 */
    row-gap:8px !important;               /* 1行目と2行目の段間 */
    width:100% !important;
    box-sizing:border-box !important;
  }

  /* メニュー本体（アコーディオン）は2行目・全幅 */
  header#masthead nav#site-navigation .main-navigation > div[class*="menu-"][class*="-container"],
  .site-navigation-fixed .main-navigation > div[class*="menu-"][class*="-container"]{
    order:9 !important;
    flex-basis:100% !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    /* ← “MENUの文字頭” と先頭を揃える（アイコン枠 + 文字との隙間） */
    padding-left: calc(1.4em + .18em) !important;
  }

  /* ボタン2つの“高さセンター”とアイコン/文字の間隔 */
  header#masthead .menu-toggle,
  header#masthead a.qc-contact,
  .site-navigation-fixed .menu-toggle,
  .site-navigation-fixed a.qc-contact{
    display:inline-flex !important;
    align-items:center !important;
    line-height:1 !important;
    gap:.18em !important;                 /* ≡とMENU／✉とCONTACTの距離 */
    margin:0 !important;
  }

  /* 旧ハンバーガーSVGは常に非表示（保険） */
  header#masthead nav#site-navigation .menu-toggle svg.icon-bars,
  header#masthead nav#site-navigation .menu-toggle svg.icon-close,
  .site-navigation-fixed .menu-toggle svg.icon-bars,
  .site-navigation-fixed .menu-toggle svg.icon-close{ display:none !important; }

  /* Material Symbols（≡／×／✉）の見た目＋“×切替でも位置ブレない” */
  .material-symbols-outlined{
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24; /* 260–320で微調整可 */
    font-size:1.25em; line-height:1; vertical-align:middle;
    display:inline-block;
    width:1.4em !important;               /* ← アイコン枠を固定してラベルの位置を不動化 */
    text-align:center;
  }

  /* 閉＝≡／開＝× の切替（ms-menu / ms-close が挿入されている前提） */
  .menu-toggle .ms-menu { display:inline-block !important; }
  .menu-toggle .ms-close{ display:none !important; }
  .main-navigation.toggled-on .menu-toggle .ms-menu { display:none !important; }
  .main-navigation.toggled-on .menu-toggle .ms-close{ display:inline-block !important; }

  /* CONTACT の封筒もフォントに統一（SVGを使うなら下2行は削ってOK） */
  header#masthead a.qc-contact svg,
  .site-navigation-fixed a.qc-contact svg{ display:none !important; }
  header#masthead a.qc-contact::before,
  .site-navigation-fixed a.qc-contact::before{
    content:'mail';
    font-family:'Material Symbols Outlined';
    font-variation-settings:'FILL' 0,'wght' 280,'GRAD' 0,'opsz' 24;
    font-size:1.25em; line-height:1; display:inline-block;
    width:1.4em; text-align:center;
  }
}