@charset "utf-8";
/* ============================================================
   Circle Inc. — Design Refresh  (2026-08)
   既存テーマ fake_tcd074 の上に読み込む上書き専用スタイル。
   HTML構造・文言・画像は変更していない。このファイルを外せば
   完全に元のデザインへ戻る。
   ------------------------------------------------------------
   方向性：本サイトは見出しがサンセリフ指定（rich_font_type2）、
   ヘッダーは白、ロゴは黒＋真鍮色。この「明るいクローム＋暗い写真」
   というコントラストを活かし、モダンなグロテスク書体で構成する。
   ============================================================ */

:root{
  /* --- 色 : ロゴの真鍮色と写真のブルーブラックから抽出 --- */
  --cf-ink-900:#05090e;
  --cf-ink-800:#0a121b;
  --cf-ink-700:#151f2a;
  --cf-ink:#0e1620;
  --cf-body:#4e5a66;
  --cf-muted:#7d8892;
  --cf-brass:#b0904c;      /* ロゴの真鍮色 */
  --cf-brass-lt:#d6bf8b;
  --cf-paper:#ffffff;
  --cf-paper-2:#f4f4f1;
  --cf-rule:rgba(14,22,32,.13);
  --cf-rule-lt:rgba(14,22,32,.08);

  /* --- 書体 --- */
  --cf-display:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
  --cf-sans:"Inter",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Segoe UI",sans-serif;

  --cf-ease:cubic-bezier(.22,.61,.36,1);
}

/* ------------------------------------------------------------
   1. ベース
   ------------------------------------------------------------ */
body,input,textarea,button,select{
  font-family:var(--cf-sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body{ font-size:16px; color:var(--cf-ink); background:var(--cf-paper); }

.rich_font,.rich_font_type1,.rich_font_type2,.rich_font_type3,.p-vertical{
  font-family:var(--cf-display); font-weight:400; letter-spacing:-.015em;
}

::selection{ background:rgba(176,144,76,.26); color:var(--cf-ink); }

a{ transition:color .28s var(--cf-ease), background-color .28s var(--cf-ease), border-color .28s var(--cf-ease), opacity .28s var(--cf-ease); }
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--cf-brass); outline-offset:3px; border-radius:1px;
}
img{ max-width:100%; }
.post_content p:empty{ display:none !important; }

/* ------------------------------------------------------------
   2. ヘッダー / グローバルナビ
   ------------------------------------------------------------ */
#header{
  transition:background-color .45s var(--cf-ease), backdrop-filter .45s var(--cf-ease),
             height .45s var(--cf-ease), box-shadow .45s var(--cf-ease);
  box-shadow:none;
}
/* ナビをいつでも押せるよう、PCでもヘッダーを固定する */
@media screen and (min-width:1051px){
  #header{ position:fixed; top:0; left:0; }
}
/* 最上部：背景は敷かず、可読性のためのスクリムのみ */
#header:before{
  content:""; position:absolute; inset:0 0 auto 0; height:190px; pointer-events:none; z-index:-1;
  background:linear-gradient(180deg,rgba(5,9,14,.58) 0%,rgba(5,9,14,.24) 55%,rgba(5,9,14,0) 100%);
  transition:opacity .45s var(--cf-ease);
}
/* スクロール後：白いすりガラス + 真鍮のヘアライン */
#header.is-scrolled{
  height:74px;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--cf-rule-lt);
}
#header.is-scrolled:before{ opacity:0; }
#header.is-scrolled a,#header.is-scrolled #global_menu > ul > li > a{ color:var(--cf-ink); }
#header.is-scrolled #global_menu > ul > li > a:hover{ color:var(--cf-brass); }

#header_logo{ left:clamp(22px,3.4vw,48px); }
#header_logo img{ transition:opacity .35s var(--cf-ease), width .45s var(--cf-ease); }
#header_logo .pc_logo_image.type1{ width:46px; height:auto; }
#header.is-scrolled #header_logo .pc_logo_image.type1{ width:36px; }
#header_logo img:hover{ opacity:.6; }
/* ロゴ画像は透過なしの黒い正方形。暗いヒーロー上で「置き忘れた四角」に
   見えないよう、角を落として真鍮色の細い縁を回し、バッジとして見せる。 */
#header_logo .pc_logo_image,#header_logo .mobile_logo_image,#footer_logo img{ border-radius:3px; }
#header:not(.is-scrolled) #header_logo .pc_logo_image.type1,
#header:not(.is-scrolled) #header_logo .mobile_logo_image{
  box-shadow:0 0 0 1px rgba(214,191,139,.4), 0 6px 22px rgba(0,0,0,.45);
}

#global_menu{ position:absolute; right:clamp(22px,3.4vw,48px); top:0; }
#global_menu > ul{ display:flex; align-items:center; gap:clamp(6px,1.2vw,18px); }
#global_menu > ul > li > a{
  position:relative; height:auto; line-height:1; padding:14px 6px;
  font-family:var(--cf-sans); font-size:11px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; overflow:visible;
}
#global_menu > ul > li > a:after{
  content:""; position:absolute; left:6px; right:6px; bottom:2px; height:1px;
  background:var(--cf-brass); transform:scaleX(0); transform-origin:right center;
  transition:transform .45s var(--cf-ease);
}
#global_menu > ul > li > a:hover:after,
#global_menu > ul > li.current-menu-item > a:after{ transform:scaleX(1); transform-origin:left center; }
#global_menu > ul > li.current-menu-item > a{ color:var(--cf-brass-lt); }
#header.is-scrolled #global_menu > ul > li.current-menu-item > a{ color:var(--cf-brass); }
#header.is-scrolled #global_menu > ul > li > a{ height:74px; line-height:74px; padding:0 6px; }
#header.is-scrolled #global_menu > ul > li > a:after{ bottom:26px; }

/* 既定の2秒待ちを短縮 */
.pc #header.animate{
  -webkit-animation:opacityAnimation .8s var(--cf-ease) forwards .15s;
  animation:opacityAnimation .8s var(--cf-ease) forwards .15s;
}

/* ------------------------------------------------------------
   3. ヒーロー（トップのスライダー）
   ------------------------------------------------------------ */
#index_slider .item .overlay{
  background:linear-gradient(180deg,rgba(5,9,14,.52) 0%,rgba(5,9,14,.16) 36%,rgba(5,9,14,.42) 74%,rgba(5,9,14,.86) 100%) !important;
}
#index_slider_wrap:after{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  background:radial-gradient(120% 78% at 50% 46%,rgba(5,9,14,.06) 0%,rgba(5,9,14,.52) 100%);
}
#index_slider .caption{ width:min(1120px,88vw); }
#index_slider .caption_inner{ position:relative; padding-bottom:2vh; }
#index_slider .caption_inner:before{
  content:""; position:absolute; left:50%; top:50%; z-index:-1; pointer-events:none;
  transform:translate(-50%,-50%); width:min(1180px,98vw); height:190%;
  background:radial-gradient(56% 50% at 50% 50%,
    rgba(4,8,12,.66) 0%, rgba(4,8,12,.44) 44%, rgba(4,8,12,.14) 72%, rgba(4,8,12,0) 88%);
}
#index_slider .logo_desc_area:before{
  content:""; display:block; width:54px; height:1px; margin:0 auto 30px;
  background:linear-gradient(90deg,transparent,var(--cf-brass-lt) 22%,var(--cf-brass-lt) 78%,transparent);
}
#index_slider .item1 .catch,
#index_slider .item2 .catch,
#index_slider .item3 .catch{
  font-family:var(--cf-display); font-weight:300;
  font-size:clamp(34px,5.2vw,72px) !important;
  line-height:1.08; letter-spacing:-.025em;
  text-shadow:0 2px 34px rgba(0,0,0,.45);
  text-wrap:balance;
}
#index_slider .item1 .desc,
#index_slider .item2 .desc,
#index_slider .item3 .desc{
  font-family:var(--cf-sans); font-weight:300;
  font-size:clamp(13px,1.15vw,16px) !important;
  line-height:1.95; letter-spacing:.045em;
  color:rgba(255,255,255,.9) !important;
  max-width:660px; margin:30px auto 0;
  text-shadow:0 1px 3px rgba(0,0,0,.6), 0 2px 22px rgba(0,0,0,.65);
}

@keyframes cfRise{ from{opacity:0; transform:translateY(20px);} to{opacity:1; transform:none;} }
#index_slider .item.slick-active .caption .item1,
#index_slider .logo_desc_area.animate,
#index_slider .logo_desc_area.animate2{
  -webkit-animation:cfRise 1.15s var(--cf-ease) forwards .35s;
  animation:cfRise 1.15s var(--cf-ease) forwards .35s;
}

#index_header_content:after{
  content:""; position:absolute; left:50%; bottom:0; z-index:6;
  width:1px; height:74px; margin-left:-.5px; pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.45));
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%);
  mask-image:linear-gradient(180deg,transparent,#000 30%);
  animation:cfScrollCue 2.6s var(--cf-ease) infinite;
  transform-origin:bottom center;
}
@keyframes cfScrollCue{
  0%,100%{ transform:scaleY(.45); opacity:.35; }
  50%    { transform:scaleY(1);   opacity:1;  }
}

/* ------------------------------------------------------------
   4. 本文セクション（index_content1）
   ------------------------------------------------------------ */
.index_content1{
  width:min(1120px,88vw);
  padding:clamp(84px,10vw,140px) 0 clamp(84px,10vw,136px);
}
.index_content1 .catch{
  position:relative;
  font-family:var(--cf-display); font-weight:300;
  font-size:clamp(28px,3.5vw,50px) !important;
  line-height:1.22; letter-spacing:-.025em; color:var(--cf-ink);
  max-width:900px; margin:0 auto 34px; text-wrap:balance;
  padding-top:44px;
}
.index_content1 .catch:before{
  content:""; position:absolute; top:0; left:50%; margin-left:-27px;
  width:54px; height:1px;
  background:linear-gradient(90deg,transparent,var(--cf-brass) 22%,var(--cf-brass) 78%,transparent);
}
.index_content1 .desc{
  font-family:var(--cf-sans); font-weight:300;
  font-size:clamp(14px,1.12vw,16px) !important;
  line-height:2.05; letter-spacing:.03em; color:var(--cf-body);
  max-width:780px; margin:0 auto clamp(48px,5vw,68px); text-align:center;
}
.index_content1 .desc:last-child{ margin-bottom:0; }

/* 3枚の写真をカードグリッドへ */
.index_content1 .image_list{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(10px,1.4vw,18px);
  margin:0 0 clamp(52px,6vw,76px) !important;
}
.index_content1 .image_list:after{ display:none; }
.index_content1 .image_list img{
  float:none !important; width:100% !important; height:100%;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  aspect-ratio:4/5; object-fit:cover; display:block;
  border-radius:2px; filter:saturate(.82) contrast(1.05) brightness(.96);
  transition:transform .9s var(--cf-ease), filter .9s var(--cf-ease);
}
.index_content1 .image_list img:hover{ transform:scale(1.04); filter:none; }

/* ------------------------------------------------------------
   5. パララックス帯
   ------------------------------------------------------------ */
.index_parallax{ height:clamp(400px,54vh,600px); }
.index_parallax .overlay{
  background:linear-gradient(180deg,rgba(5,9,14,.72) 0%,rgba(5,9,14,.52) 45%,rgba(5,9,14,.80) 100%) !important;
}
.index_parallax .caption{ width:min(960px,88vw); }
.index_parallax .catch{
  position:relative; padding-top:44px; margin:0 !important;
  font-family:var(--cf-display); font-weight:300;
  font-size:clamp(24px,3.2vw,46px) !important;
  line-height:1.26; letter-spacing:-.025em; color:#fff; text-wrap:balance;
}
.index_parallax .catch:before{
  content:""; position:absolute; top:0; left:50%; margin-left:-27px;
  width:54px; height:1px;
  background:linear-gradient(90deg,transparent,var(--cf-brass-lt) 22%,var(--cf-brass-lt) 78%,transparent);
}

/* ------------------------------------------------------------
   6. 下層ページのヘッダー
   ------------------------------------------------------------ */
#page_header{ height:clamp(340px,58vh,560px); }
body.error404 #page_header{ height:clamp(420px,72vh,720px); }
#page_header.small{ height:clamp(300px,46vh,440px); }
#page_header:after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    radial-gradient(115% 80% at 50% 50%,rgba(5,9,14,.12) 0%,rgba(5,9,14,.58) 100%),
    linear-gradient(180deg,rgba(5,9,14,.62) 0%,rgba(5,9,14,.22) 40%,rgba(5,9,14,.70) 100%);
}
#page_header_catch{ width:min(1000px,88vw); }
#page_header_catch .catch{
  position:relative;
  font-family:var(--cf-display); font-weight:300;
  font-size:clamp(34px,4.8vw,66px) !important;
  line-height:1.12; letter-spacing:-.02em;
  padding-bottom:34px;
  text-shadow:0 2px 30px rgba(0,0,0,.42);
}
#page_header_catch .catch:after{
  content:""; position:absolute; bottom:0; left:50%; margin-left:-27px;
  width:54px; height:1px;
  background:linear-gradient(90deg,transparent,var(--cf-brass-lt) 22%,var(--cf-brass-lt) 78%,transparent);
}
#page_header_catch .desc{
  font-family:var(--cf-sans); font-weight:300;
  font-size:15px !important; line-height:1.95; letter-spacing:.045em;
  max-width:640px; margin:26px auto 0; color:rgba(255,255,255,.86) !important;
}
#page_header .catch.animate,#page_header .catch.animate2,
#page_header .desc.animate,#page_header .desc.animate2{
  -webkit-animation:cfRise 1.1s var(--cf-ease) forwards .3s;
  animation:cfRise 1.1s var(--cf-ease) forwards .3s;
}

/* ヒーロー下のタブ */
#tab_button_list li a,#tab_button_list li span{
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  font-family:var(--cf-sans); font-size:11px !important; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--cf-ink);
  border-right:1px solid var(--cf-rule-lt);
}
#tab_button_list li:last-child a{ border-right:0; }
#tab_button_list li a:hover{ background:var(--cf-ink-900); color:#fff; }

/* パンくず */
#bread_crumb{ border-bottom:1px solid var(--cf-rule-lt); }
#bread_crumb ul{ width:min(1160px,90vw); }
#bread_crumb li{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--cf-muted); }
#bread_crumb li a{ color:var(--cf-muted); }
#bread_crumb li a:hover{ color:var(--cf-brass); }

/* ------------------------------------------------------------
   7. 実績一覧（work / area / landmark）
   ------------------------------------------------------------ */
#archive_work{ width:min(1160px,90vw); padding-top:clamp(48px,6vw,80px); }
.work_area_top .headline{
  font-family:var(--cf-display); font-weight:300;
  font-size:clamp(24px,2.8vw,38px) !important; letter-spacing:-.02em; line-height:1.3;
}
.work_area .work_list,.work_list{ margin-right:0 !important; gap:clamp(12px,1.6vw,24px); }
.work_list .item{ width:calc((100% - 2 * clamp(12px,1.6vw,24px)) / 3); margin:0 0 clamp(20px,2.4vw,34px) 0; }
.work_list .item .image_wrap_inner{
  height:auto; aspect-ratio:1/1; margin:0 0 16px 0; border-radius:2px;
}
.work_list .item .image{ transition:transform .9s var(--cf-ease); }
.work_list .item .link:hover .image{ transform:scale(1.05); }
.work_list .item .title{
  font-family:var(--cf-sans); font-weight:500; font-size:13px !important;
  letter-spacing:.06em; color:var(--cf-ink); text-align:left;
}
.work_list .item .link:hover .title{ color:var(--cf-brass); }
.work_list .category{
  padding:40px 0 12px; text-align:left;
  background:linear-gradient(to bottom,transparent,rgba(5,9,14,.72)) !important;
}
.work_list .category span{
  display:inline-block; margin-left:14px;
  font-family:var(--cf-sans); font-size:10px !important; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
}
/* カテゴリ絞り込み：テーマ既定の煉瓦色をブランドの真鍮色へ */
.work_area .child_category_list .headline,.child_category_list .headline{
  border:1px solid var(--cf-rule); border-radius:2px;
  font-family:var(--cf-sans); font-size:12px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--cf-ink);
}
.work_area .child_category_list ul,.child_category_list ul{ background:var(--cf-paper-2); }
.work_area .child_category_list ul li a,.child_category_list ul li a{
  font-family:var(--cf-sans); font-size:11px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; border-radius:2px;
}
.work_area .child_category_list ul li a:hover,
.work_area .child_category_list ul li a.active,
.child_category_list ul li a:hover,
.child_category_list ul li a.active{ background:var(--cf-ink-900); color:#fff; }

/* ------------------------------------------------------------
   8. 本文（Company / Contact / 記事）
   ------------------------------------------------------------ */
#main_contents{
  width:min(860px,88vw);
  padding:clamp(72px,9vw,124px) 0 clamp(88px,10vw,144px);
}
.post_content{ font-size:16px; line-height:2; color:var(--cf-body); }

/* 本文の段落構成は
     1) ページ名（Company / Contact）… ラベルとして扱う
     2) 空段落 … 非表示
     3) リード文
     4) 連絡先リンク … ボタン化
   となっている。 */
body.page .post_content > p:first-of-type{ margin:0 0 22px !important; text-align:center; }
body.page .post_content > p:first-of-type strong{
  display:inline-block;
  font-family:var(--cf-sans) !important; font-weight:500 !important; font-size:11px !important;
  letter-spacing:.32em; text-transform:uppercase; color:var(--cf-brass);
}
body.page .post_content > p:not(:first-of-type):not(:empty){
  font-family:var(--cf-display); font-weight:300;
  font-size:clamp(22px,2.4vw,32px); line-height:1.45; letter-spacing:-.02em;
  color:var(--cf-ink); text-align:center;
  margin:0 auto clamp(48px,6vw,72px); max-width:660px;
}

/* --- 会社情報テーブル --- */
.post_content .company-info{ margin:0 auto; max-width:640px; }
.post_content .company-info table{
  width:100%; border-collapse:collapse; font-size:15px; line-height:1.75;
  border-top:1px solid var(--cf-rule);
}
.post_content .company-info caption{
  border:0 !important; padding:0 0 20px !important;
  font-family:var(--cf-sans); font-weight:500; font-size:11px !important;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--cf-muted); text-align:left; caption-side:top;
}
.post_content .company-info th,
.post_content .company-info td{
  border:0 !important; border-bottom:1px solid var(--cf-rule) !important;
  background:transparent !important;
  padding:20px 0 !important; vertical-align:top; line-height:1.8;
}
.post_content .company-info th{
  width:32%; text-align:left !important; font-weight:500;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--cf-muted); white-space:nowrap; padding-top:23px !important;
}
.post_content .company-info td{ color:var(--cf-ink); font-size:16px; }
.post_content .company-info td a{
  color:var(--cf-ink); text-decoration:none;
  border-bottom:1px solid rgba(176,144,76,.6); padding-bottom:2px;
}
.post_content .company-info td a:hover{ color:var(--cf-brass); border-bottom-color:var(--cf-brass); }

/* --- Contact のメールアドレスをボタン化 --- */
body.page .post_content > p:not(:first-of-type) a,
body.page .post_content h6.wp-block-heading a{
  display:inline-block; padding:20px clamp(28px,4vw,52px);
  font-family:var(--cf-sans); font-weight:500;
  font-size:15px; letter-spacing:.08em; line-height:1;
  color:var(--cf-ink); text-decoration:none;
  border:1px solid rgba(176,144,76,.75); border-radius:2px;
}
body.page .post_content > p:not(:first-of-type) a strong{
  font-family:var(--cf-sans); font-weight:500; font-size:15px; letter-spacing:.08em;
}
body.page .post_content > p:not(:first-of-type) a:hover,
body.page .post_content h6.wp-block-heading a:hover{
  color:#fff; background:var(--cf-ink-900); border-color:var(--cf-ink-900);
}

/* ------------------------------------------------------------
   9. フッター（明るいまま、余白と罫で整える）
   ------------------------------------------------------------ */
#footer{ background:var(--cf-paper-2); color:var(--cf-body); min-width:0; }
#footer_inner{
  width:min(1120px,88vw);
  padding:clamp(76px,8vw,112px) 0 clamp(44px,5vw,62px);
  text-align:center;
}
#footer_logo img{ margin:0 auto 26px; width:48px; height:auto; }
#footer_information p{
  font-family:var(--cf-display); font-weight:300;
  font-size:clamp(20px,2.1vw,28px) !important; line-height:1.5;
  letter-spacing:-.02em; color:var(--cf-ink);
}
#footer_menu{
  background:transparent; height:auto; line-height:1;
  border-top:1px solid var(--cf-rule);
}
#footer_menu ul{ padding:30px 0; }
#footer_menu ul li{ margin:0 clamp(12px,1.6vw,24px); }
#footer_menu ul li a{
  font-family:var(--cf-sans); font-size:11px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--cf-ink) !important; text-decoration:none;
}
#footer_menu ul li a:hover{ color:var(--cf-brass) !important; }
#copyright{
  background:transparent !important; color:var(--cf-muted) !important;
  border-top:1px solid var(--cf-rule);
  font-family:var(--cf-sans); font-size:11px; letter-spacing:.18em;
  height:auto; line-height:1; padding:26px 0;
}
#footer a{ color:var(--cf-ink); }

/* ページトップ */
#return_top a{
  width:54px; height:54px; line-height:54px;
  background:rgba(5,9,14,.9) !important;
  border:1px solid rgba(176,144,76,.42);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
#return_top a:before{ color:var(--cf-brass-lt); }
#return_top a:hover{ background:var(--cf-brass) !important; border-color:var(--cf-brass); }
#return_top a:hover:before{ color:var(--cf-ink-900); }

/* ------------------------------------------------------------
   10. モバイル（<=1050px）
   ------------------------------------------------------------ */
@media screen and (max-width:1050px){
  #header{
    background:rgba(255,255,255,.93);
    -webkit-backdrop-filter:saturate(150%) blur(14px);
    backdrop-filter:saturate(150%) blur(14px);
    border-bottom:1px solid var(--cf-rule-lt);
    box-shadow:none;
  }
  #header:before{ display:none; }
  #header a,#header.active a,#menu_button:before,#header.is-scrolled a{ color:var(--cf-ink); }
  #header a:hover,#menu_button:hover:before{ color:var(--cf-brass); }
  #header_logo{ left:20px; }
  #header_logo .mobile_logo_image{ width:32px; height:auto; }

  #index_slider .caption{ width:88vw; }
  #index_slider .logo_desc_area:before{ margin-bottom:22px; width:44px; }
  #index_header_content:after{ height:54px; }

  .index_content1{ width:auto; padding:clamp(60px,12vw,84px) 24px; }
  .index_content1 .image_list{ margin:0 0 clamp(36px,8vw,52px) !important; gap:10px; }
  #main_contents{ width:auto; margin:0 24px; }
  #archive_work{ width:auto; margin:0 24px; }
  #bread_crumb ul{ width:auto; margin:0 24px; }
  #footer_inner{ width:auto; padding:64px 24px 40px; }
  #footer_menu ul{ padding:22px 0; }
  #footer_menu ul li{ display:inline; margin:0 14px; }
  #footer_menu ul li a{ display:inline; padding:0; border:0; }
  #return_top a{ width:46px; height:46px; line-height:46px; }
}
@media screen and (max-width:650px){
  .index_content1 .image_list{ grid-template-columns:1fr 1fr; }
  .index_content1 .image_list img:nth-child(3){ grid-column:1 / -1; aspect-ratio:16/9; }
  .work_list .item{ width:calc((100% - clamp(12px,1.6vw,24px)) / 2); }
  .post_content .company-info th{ width:38%; font-size:10px; letter-spacing:.16em; }
  .post_content .company-info td{ font-size:15px; }
  body.page .post_content > p:not(:first-of-type) a,
  body.page .post_content h6.wp-block-heading a{
    display:block; padding:18px 14px; font-size:14px; letter-spacing:.04em;
    word-break:break-all;
  }
}

/* ドロワー（モバイルメニュー） */
#drawer_menu{ background:var(--cf-ink-900); }
#mobile_menu a{
  background:transparent; color:#fff;
  border-bottom:1px solid rgba(255,255,255,.09);
  font-family:var(--cf-sans); font-size:12px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
}
#mobile_menu li li a{ background:transparent; }
#mobile_menu a:hover,#drawer_menu .close_button:hover,#mobile_menu .child_menu_button:hover{
  background:rgba(176,144,76,.16); color:var(--cf-brass-lt);
}

/* ------------------------------------------------------------
   11. アクセシビリティ：モーション低減
   ------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  #index_header_content:after{ animation:none; opacity:.6; }
  #index_slider .item.slick-active .caption .item1,
  #index_slider .logo_desc_area.animate,
  #index_slider .logo_desc_area.animate2,
  #page_header .catch.animate,#page_header .catch.animate2{
    animation-duration:.01ms !important; animation-delay:0ms !important;
  }
  .index_content1 .image_list img:hover,.work_list .item .link:hover .image{ transform:none; }
}
