
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');

:root{
  --l-ink:#1C3A5E; --l-brand:#205A9E; --l-sun:#F2A65A; --l-coral:#E8836B;
  --l-sage:#7FA98F; --l-wash:#F7F8FB; --l-line:#ECE6DC; --l-line2:#EEF1F5;
  --l-muted:#6E7B8A; --l-text:#33404F;
  --l-shadow:0 18px 40px -24px rgba(28,58,94,.28);
}

/* =========================================================================
   1) 一覧ページ：ヒーロー＋導入コピー（想定デザイン再現）
   ページ本文（WP編集画面のカスタムセクション）の一番上、
   検索フォーム＋一覧ショートコードの「前」に、
   同梱の local_hero_intro_block.html をそのまま貼り付けてください。
   クラス名はすべて rc- 接頭辞で、OnePress/Bootstrap の .btn .sec 等とは
   衝突しないようにしています。
   ========================================================================= */
.rc-wrap{max-width:1140px;margin:0 auto;padding:0 24px}

.rc-crumb{font-size:.8rem;color:var(--l-muted);font-family:"Zen Kaku Gothic New",sans-serif;margin-bottom:14px}
.rc-crumb a{color:var(--l-muted);text-decoration:none}
.rc-crumb a:hover{color:var(--l-brand)}
.rc-crumb i{margin:0 .5em;font-style:normal;opacity:.5}

.rc-eyebrow{
  font-family:"Inter",sans-serif;font-weight:600;letter-spacing:.14em;
  font-size:.78rem;color:var(--l-coral);text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.6em;
}
.rc-eyebrow::before{content:"";width:26px;height:2px;background:var(--l-coral);border-radius:2px}

.rc-phero{position:relative;overflow:hidden;background:#fff;padding:56px 0 40px;font-family:"Zen Kaku Gothic New",sans-serif}
.rc-phero-inner{max-width:760px;margin-top:14px}
.rc-phero-h1{
  font-size:clamp(2rem,4.3vw,3.2rem);font-weight:900;line-height:1.25;
  letter-spacing:-.015em;margin:.45em 0 .5em;color:var(--l-ink)
}
.rc-phero-h1 .rc-grad{
  background:linear-gradient(100deg,var(--l-coral),var(--l-sun));
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.rc-phero-lead{font-size:clamp(1rem,1.5vw,1.14rem);color:#42566b;max-width:31em;font-weight:500;margin:0}

.rc-sec{padding:44px 0 8px;font-family:"Zen Kaku Gothic New",sans-serif}
.rc-sec-head{max-width:680px;margin-bottom:24px}
.rc-sec-head h2{
  font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:900;margin:.42em 0 .5em;
  color:var(--l-ink);line-height:1.32;letter-spacing:-.01em
}
.rc-sec-head p{color:var(--l-muted);font-size:1rem;margin:0}

.rc-lead-box{
  max-width:880px;background:#fff;border:1px solid var(--l-line);
  border-left:5px solid var(--l-coral);border-radius:18px;
  padding:28px 32px;box-shadow:var(--l-shadow);margin-bottom:8px
}
.rc-lead-box p{color:#3f5165;font-size:1.02rem;line-height:1.95;font-weight:500;margin:0}
.rc-lead-box strong{color:var(--l-ink)}

@media(max-width:640px){
  .rc-phero{padding:40px 0 28px}
  .rc-lead-box{padding:22px 20px}
}

/* ============ 一覧ページ：セクション幅を広げる（グリッド用） ============ */
.custom-section-content > div:has(> .pt-cv-wrapper){max-width:1160px !important;margin:0 auto !important}

/* ============ 検索フォーム（Search & Filter）＝ 想定デザインの .filter 相当 ============
   ショートコード版（div.searchandfilter > form）と ウィジェット版（form.searchandfilter）
   の両構造に対応。横並び・ラベルはショートコードのh4をそのまま活用。 */
.searchandfilter form,
form.searchandfilter{
  max-width:1160px;margin:0 auto 30px;background:#fff;
  border:1px solid var(--l-line);border-radius:16px;
  padding:16px 22px;box-shadow:0 10px 28px -18px rgba(28,58,94,.3)
}
.searchandfilter ul{
  display:flex;gap:18px;flex-wrap:wrap;align-items:center;
  list-style:none;margin:0;padding:0;width:100%
}
.searchandfilter li{
  display:inline-flex;align-items:center;gap:9px;margin:0;padding:0;list-style:none
}
/* 「地域」「業種」ラベル（ショートコードの h4）を横並び・インラインに */
.searchandfilter li h4,
.searchandfilter li .sf-field-label{
  margin:0;font-weight:700;color:var(--l-ink);font-size:.92rem;line-height:1;
  font-family:"Zen Kaku Gothic New",sans-serif;white-space:nowrap
}
/* 送信ボタンのliを右端へ */
.searchandfilter li.sf-field-submit,
.searchandfilter li:last-child{margin-left:auto}

.searchandfilter select{
  font-family:"Zen Kaku Gothic New",sans-serif;
  border:1.5px solid var(--l-line);border-radius:10px;
  padding:11px 38px 11px 14px;font-size:.94rem;color:var(--l-ink);
  background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236E7B8A' stroke-width='1.8' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;appearance:none;min-width:190px;cursor:pointer;transition:.2s
}
.searchandfilter select:focus{outline:none;border-color:var(--l-sun);box-shadow:0 0 0 3px rgba(242,166,90,.18)}
.searchandfilter input[type="submit"]{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:800;
  border:none;border-radius:11px;padding:.82em 1.9em;font-size:.96rem;color:#fff;
  background:var(--l-coral);cursor:pointer;transition:.2s;
  box-shadow:0 12px 24px -12px rgba(232,131,107,.7);white-space:nowrap
}
.searchandfilter input[type="submit"]:hover{transform:translateY(-2px);background:#e0735a}

@media(max-width:760px){
  .searchandfilter ul{flex-direction:column;align-items:stretch;gap:12px}
  .searchandfilter li{width:100%}
  .searchandfilter li h4{min-width:3.5em}
  .searchandfilter li.sf-field-submit,
  .searchandfilter li:last-child{margin-left:0;justify-content:center}
  .searchandfilter select{width:100%;min-width:0;flex:1}
}

/* ============ Content Views グリッド（カード）＝ 想定デザインの .dcard 相当 ============ */
.pt-cv-view.pt-cv-grid .pt-cv-page{
  display:grid !important;grid-template-columns:repeat(4,1fr);gap:20px;
  margin:0 !important;padding:0 !important
}
.pt-cv-view.pt-cv-grid .pt-cv-page::before,
.pt-cv-view.pt-cv-grid .pt-cv-page::after{display:none !important}
.pt-cv-view .pt-cv-content-item{
  width:100% !important;max-width:none !important;padding:0 !important;
  margin:0 !important;float:none !important
}
.pt-cv-ifield{
  background:#fff;border:1px solid var(--l-line);border-radius:14px;overflow:hidden;
  height:100%;display:flex;flex-direction:column;transition:.3s;
  box-shadow:0 6px 18px -14px rgba(28,58,94,.4)
}
.pt-cv-ifield:hover{transform:translateY(-5px);box-shadow:var(--l-shadow);border-color:transparent}
.pt-cv-href-thumbnail{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--l-wash)}
.pt-cv-href-thumbnail img.pt-cv-thumbnail{
  width:100% !important;height:100% !important;object-fit:cover;display:block;
  margin:0 !important;transition:transform .5s ease
}
.pt-cv-ifield:hover img.pt-cv-thumbnail{transform:scale(1.05)}
/* タイトルを表示している場合（View設定でTitleをON） */
.pt-cv-ifield .pt-cv-title{padding:14px 16px 0;margin:0;font-size:1rem;line-height:1.5}
.pt-cv-ifield .pt-cv-title a{color:var(--l-ink);font-weight:700;text-decoration:none}
.pt-cv-ifield .pt-cv-title a:hover{color:var(--l-brand)}
.pt-cv-content{
  padding:14px 16px 16px;font-family:"Zen Kaku Gothic New",sans-serif;
  font-size:.86rem;line-height:1.7;color:var(--l-text);flex:1;
  display:flex;flex-direction:column
}
.pt-cv-rmwrap{margin-top:auto;padding-top:14px}
a.pt-cv-readmore.btn,.pt-cv-readmore.btn.btn-success{
  display:inline-flex;align-items:center;gap:.4em;
  background:transparent !important;color:var(--l-brand) !important;
  border:1.5px solid var(--l-line) !important;border-radius:999px !important;
  padding:.5em 1.1em !important;font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:700 !important;font-size:.84rem !important;text-decoration:none;transition:.2s;
  box-shadow:none !important;text-shadow:none !important
}
a.pt-cv-readmore.btn:hover{border-color:var(--l-sun) !important;color:var(--l-coral) !important;background:#fff !important}
a.pt-cv-readmore.btn::after{content:"→";font-family:"Inter"}

/* ============ Content Views ページ送り ============ */
.pt-cv-pagination-wrapper{margin-top:34px;display:flex;justify-content:center}
.pt-cv-pagination .pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:0;list-style:none}
.pt-cv-pagination .pagination li{margin:0}
.pt-cv-pagination .pagination li a,.pt-cv-pagination .pagination li span{
  min-width:42px;height:42px;display:grid;place-items:center;border-radius:10px;
  border:1px solid var(--l-line);background:#fff;color:var(--l-ink) !important;
  font-family:"Inter";font-weight:700;text-decoration:none;padding:0 12px;transition:.2s
}
.pt-cv-pagination .pagination li a:hover{border-color:var(--l-sun);color:var(--l-coral) !important}
.pt-cv-pagination .active a,.pt-cv-pagination .active span{
  background:linear-gradient(135deg,var(--l-coral),var(--l-sun)) !important;
  color:#fff !important;border-color:transparent !important
}

/* ============ グリッドのレスポンシブ ============ */
@media(max-width:1024px){.pt-cv-view.pt-cv-grid .pt-cv-page{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.pt-cv-view.pt-cv-grid .pt-cv-page{grid-template-columns:repeat(2,1fr);gap:14px}
  form.searchandfilter{flex-direction:column;align-items:stretch}
  form.searchandfilter select{min-width:0;width:100%}
  form.searchandfilter input[type="submit"]{margin-left:0;width:100%}}
@media(max-width:420px){.pt-cv-view.pt-cv-grid .pt-cv-page{grid-template-columns:1fr}}

/* =========================================================================
   2) 個別ページ（body.single-client）— 掲載企業詳細
   ★重要：HTML構造は変更しません（.aplus-client-single / entry-header /
   client-visual / entry-content / client-meta / client-tax をそのまま使用）。
   サイト全体（想定デザイン）と同じトークン・書体・カード意匠に「見た目だけ」揃えます。
   ========================================================================= */
body.single-client .site-content,
body.single-client .content-area{background:var(--l-wash)}
body.single-client .container.aplus-client-single{max-width:760px;margin:0 auto;padding:40px 20px 64px}

/* -------------------------------------------------------------------
   構成：現行ページと同じ「縦1列・ロゴ中央」レイアウト（PC・スマホ共通）。
   社名 → ロゴ（中央・大きめ・切り抜かず） → 内容（タグ→紹介文→住所等）。
   HTML構造・テンプレートは無改変。並び順は CSS の order のみで制御。
   ------------------------------------------------------------------- */
body.single-client article.client{display:block}

body.single-client .entry-header{margin:0 0 24px;position:relative;padding-left:18px}
body.single-client .entry-header::before{
  content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;
  border-radius:4px;background:linear-gradient(180deg,var(--l-coral),var(--l-sun))
}
body.single-client .entry-header::after{
  content:"Client";display:block;
  font-family:"Inter",sans-serif;font-weight:600;letter-spacing:.14em;
  font-size:.72rem;color:var(--l-coral);text-transform:uppercase;margin-bottom:.5em
}
body.single-client .entry-header .entry-title{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900 !important;
  font-size:2rem !important;line-height:1.35 !important;color:var(--l-ink);
  margin:0 !important;border:none !important;padding:0 !important
}

/* ロゴ／画像：中央寄せで大きく、切り抜かずカードに収める（任意比率対応） */
body.single-client .client-visual{margin:0 0 30px;display:flex;justify-content:center}
body.single-client .client-thumb{
  width:100%;max-width:360px;aspect-ratio:1/1;
  border-radius:18px;box-shadow:var(--l-shadow);
  border:1px solid var(--l-line);background:#fff;overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:22px
}
body.single-client .client-thumb img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;margin:0 auto;object-fit:contain}

/* entry-content 内（紹介文 / client-meta / client-tax）を並べ替え */
body.single-client .entry-content{
  grid-area:content;margin:0;display:flex;flex-direction:column;gap:16px
}
/* 1. タグ（地域・業種）を一番上に＝要点を先に見せる */
body.single-client .entry-content .client-tax{order:1}
/* 2. 紹介文（本文）＝タグと連絡先の間に */
body.single-client .entry-content > p:first-child{order:2}
/* 3. 連絡先カード（住所・電話・Web）を最後に */
body.single-client .entry-content .client-meta{order:3}

body.single-client .entry-content > p:first-child{
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:1rem !important;
  line-height:2 !important;color:var(--l-text) !important;margin:0 !important;
  font-weight:500
}

/* 地域・業種タグ＝ 想定デザインの .gbp-tags 相当（要点として先頭に） */
body.single-client .client-tax{display:flex;flex-wrap:wrap;gap:8px;margin:0}
body.single-client .client-tax p{margin:0 !important;display:contents}
body.single-client .client-tax p strong{display:none} /* 「地域：」「業種：」ラベルはピル自体の文脈で自明のため非表示 */
body.single-client .client-tax a,
body.single-client .client-tax a[rel="tag"]{
  display:inline-flex;align-items:center;background:var(--l-wash) !important;
  border:1px solid var(--l-line) !important;border-radius:999px;padding:.42em 1.05em;
  color:var(--l-ink) !important;font-weight:700;text-decoration:none;font-size:.84rem;transition:.2s;
  box-shadow:none !important;text-shadow:none !important
}
body.single-client .client-tax a[rel="tag"]:hover{background:#fff !important;border-color:var(--l-sage) !important;color:var(--l-sage) !important}

/* 会社情報カード（住所・電話・Web）＝ 想定デザインの .lead-box / カード意匠 */
body.single-client .client-meta{
  background:#fff;border:1px solid var(--l-line);border-radius:16px;
  padding:6px 22px;box-shadow:var(--l-shadow);margin:0
}
body.single-client .client-meta p{
  display:flex;flex-wrap:wrap;gap:.2em .6em;align-items:baseline;
  margin:0 !important;padding:14px 0 !important;font-size:.96rem !important;
  color:var(--l-text) !important;line-height:1.7 !important;
  border-bottom:1px solid var(--l-line2)
}
body.single-client .client-meta p:last-child{border-bottom:none}
body.single-client .client-meta p strong{
  color:var(--l-ink) !important;font-weight:700;min-width:5.5em;
  font-family:"Zen Kaku Gothic New",sans-serif;display:inline-flex;align-items:center;gap:.5em
}
/* ラベルの前に軽いアイコン（住所／電話／Web の並び順は固定のため nth-child で判定） */
body.single-client .client-meta p:nth-child(1) strong::before{content:"📍"}
body.single-client .client-meta p:nth-child(2) strong::before{content:"☎"}
body.single-client .client-meta p:nth-child(3) strong::before{content:"🌐"}
body.single-client .client-meta a{color:var(--l-brand) !important;text-decoration:none;font-weight:700}
body.single-client .client-meta a[href^="tel:"]{color:var(--l-ink) !important;font-family:"Inter";letter-spacing:.02em}
/* Webサイトはボタン風（.btn-ghost 相当） */
body.single-client .client-meta p:last-child a{
  display:inline-flex;align-items:center;gap:.4em;
  border:1.5px solid var(--l-line);border-radius:999px;padding:.5em 1.2em;
  color:var(--l-brand) !important;transition:.2s;word-break:break-all
}
body.single-client .client-meta p:last-child a:hover{border-color:var(--l-sun);color:var(--l-coral) !important}
body.single-client .client-meta p:last-child a::after{content:"↗";font-family:"Inter"}

/* 旧デザイン(#7c886c 等)の打ち消しはこのファイルが後勝ちで上書き */
body.single-client .entry-content h2,
body.single-client .entry-content h3,
body.single-client .entry-content h4{border:none;background:none;color:var(--l-ink);padding:0}
body.single-client .entry-content h2{font-size:1.35rem;font-weight:800;margin:1.6em 0 .6em;padding-bottom:.4em;border-bottom:2px solid var(--l-line);order:2}
body.single-client .entry-content h3{font-size:1.12rem;font-weight:800;margin:1.4em 0 .5em;color:var(--l-brand);order:2}
body.single-client .entry-content strong{color:var(--l-ink)}

@media(max-width:640px){
  body.single-client .client-thumb{max-width:280px;padding:18px}
  body.single-client .entry-header{padding-left:14px}
  body.single-client .entry-header .entry-title{font-size:1.6rem !important}
}

/* =========================================================================
   3) 地域／業種アーカイブ（taxonomy-area.php / taxonomy-industry.php）
      掲載企業をカードグリッドで一覧。想定デザインの .dir-grid/.dcard 相当。
   ========================================================================= */
body.tax-area .site-content,
body.tax-industry .site-content,
.aplus-archive{background:var(--l-wash)}
.aplus-archive{padding:44px 0 64px}

.rc-archive-head{max-width:1140px;margin:0 auto 30px;padding:0 24px}
.rc-archive-head .rc-eyebrow{margin-bottom:.6em}
.rc-archive-head h1{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;
  font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--l-ink);
  margin:0;line-height:1.3;letter-spacing:-.01em
}
.rc-archive-head .rc-count{
  display:inline-block;margin-left:.6em;font-family:"Inter",sans-serif;
  font-size:.9rem;font-weight:700;color:var(--l-coral);vertical-align:middle
}
.rc-archive-head .rc-desc{color:var(--l-muted);font-size:1rem;margin:.7em 0 0;font-family:"Zen Kaku Gothic New",sans-serif}

.dir-grid{
  max-width:1140px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px
}
.dcard{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--l-line);border-radius:14px;overflow:hidden;
  text-decoration:none;transition:.3s;box-shadow:0 6px 18px -14px rgba(28,58,94,.4)
}
.dcard:hover{transform:translateY(-5px);box-shadow:var(--l-shadow);border-color:transparent}
.dlogo{aspect-ratio:16/10;overflow:hidden;background:var(--l-wash);display:block}
.dlogo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.dcard:hover .dlogo img{transform:scale(1.05)}
.dlogo.is-empty{display:flex;align-items:center;justify-content:center;color:var(--l-muted);font-family:"Inter";font-size:.8rem;letter-spacing:.1em}
.dbody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.dname{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:800;font-size:1rem;color:var(--l-ink);margin:0;line-height:1.5}
.dcard:hover .dname{color:var(--l-brand)}
.daddr{font-family:"Zen Kaku Gothic New",sans-serif;font-size:.82rem;color:var(--l-muted);margin:0;line-height:1.6;display:flex;gap:.4em}
.daddr::before{content:"📍";flex:none}
.dmore{margin-top:auto;padding-top:12px;font-family:"Inter";font-weight:700;font-size:.82rem;color:var(--l-brand);display:inline-flex;align-items:center;gap:.3em}
.dmore::after{content:"→"}

/* ページネーション（アーカイブ） */
.aplus-archive .pagination,
.aplus-archive .nav-links{
  max-width:1140px;margin:34px auto 0;padding:0 24px;
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center
}
.aplus-archive .page-numbers{
  min-width:42px;height:42px;display:grid;place-items:center;border-radius:10px;
  border:1px solid var(--l-line);background:#fff;color:var(--l-ink);
  font-family:"Inter";font-weight:700;text-decoration:none;padding:0 12px;transition:.2s
}
.aplus-archive .page-numbers:hover{border-color:var(--l-sun);color:var(--l-coral)}
.aplus-archive .page-numbers.current{
  background:linear-gradient(135deg,var(--l-coral),var(--l-sun));color:#fff;border-color:transparent
}
.rc-empty{max-width:1140px;margin:0 auto;padding:40px 24px;text-align:center;color:var(--l-muted);font-family:"Zen Kaku Gothic New",sans-serif}

@media(max-width:1024px){.dir-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dir-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:420px){.dir-grid{grid-template-columns:1fr}}

/* =========================================================================
   4) 一覧ページ下部：関連プロジェクト（.rc-pj）＋ CTA帯（.rc-cta）
      想定デザインの Projects & Support / CTA セクション準拠。
   ========================================================================= */
.rc-sec-head.rc-center{max-width:none;margin-left:auto;margin-right:auto;margin-bottom:36px;text-align:center}
.rc-sec-head.rc-center .rc-eyebrow{justify-content:center}

.rc-pj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* WordPressのwpautopが改行から生成する <p>/<br> をグリッド計算から除外
   （ソースに改行を入れてもレイアウトが崩れないように） */
.rc-pj-grid>p{display:contents;margin:0}
.rc-pj-grid br,.rc-pj-grid p:empty{display:none}
.rc-pj{
  position:relative;display:grid;place-items:center;aspect-ratio:1000/425;
  border-radius:12px;overflow:hidden;border:1px solid var(--l-line);
  box-shadow:0 6px 16px -9px rgba(28,58,94,.3);transition:.3s;text-decoration:none;
  background:linear-gradient(135deg,var(--l-brand),var(--l-ink))
}
.rc-pj:hover{transform:translateY(-3px);box-shadow:var(--l-shadow)}
.rc-pj .rc-pj-label{
  position:relative;z-index:1;color:#fff;font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:900;font-size:clamp(1rem,2vw,1.35rem);line-height:1.3;text-align:center;
  padding:.6em 1em;letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.25)
}
.rc-pj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;display:block}
.rc-pj img[src=""],.rc-pj img:not([src]){display:none}
.rc-pj.pj-c1{background:linear-gradient(135deg,#5F8F70,#3F6E53)}
.rc-pj.pj-c2{background:linear-gradient(135deg,#2E7CB8,#205A9E)}
.rc-pj.pj-c3{background:linear-gradient(135deg,#3A4A5E,#1C3A5E)}
.rc-pj.pj-c4{background:linear-gradient(135deg,#E8836B,#D96A50)}
.rc-pj.pj-c5{background:linear-gradient(135deg,#C98A3E,#A9702B)}
.rc-pj.pj-c6{background:linear-gradient(135deg,#5FA0C9,#3E7FA8)}
.rc-gov{display:grid;place-items:center;aspect-ratio:1000/425;background:linear-gradient(135deg,#EEF1F5,#F7F8FB);color:var(--l-muted);font-weight:700;font-size:.95rem;text-align:center;border:1px dashed var(--l-line);line-height:1.6}
.rc-gov small{font-weight:500;font-size:.78rem;display:block;margin-top:.3em}
@media(max-width:900px){.rc-pj-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.rc-pj-grid{grid-template-columns:1fr}}

/* ボタン（共通・想定デザイン .btn / .btn-primary 相当） */
.rc-btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:.98rem;
  padding:.82em 1.6em;border-radius:11px;text-decoration:none;transition:.3s;cursor:pointer
}
.rc-btn .rc-ar{transition:transform .3s ease}
.rc-btn:hover .rc-ar{transform:translateX(3px)}
.rc-btn-primary{background:var(--l-coral);color:#fff !important;box-shadow:0 12px 24px -12px rgba(232,131,107,.7)}
.rc-btn-primary:hover{background:#e0735a;transform:translateY(-2px)}

/* CTA帯 */
.rc-cta{
  background:linear-gradient(135deg,var(--l-coral),var(--l-sun));color:#fff;text-align:center;
  border-radius:32px;padding:64px 32px;position:relative;overflow:hidden
}
.rc-cta::after{
  content:"365";position:absolute;right:5%;bottom:-30px;
  font-family:"Inter",sans-serif;font-weight:700;font-size:11rem;color:rgba(255,255,255,.12);line-height:1;pointer-events:none
}
.rc-cta h2{color:#fff !important;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:clamp(1.6rem,3.4vw,2.3rem);position:relative;margin:0;line-height:1.4;border:none}
.rc-cta p{color:rgba(255,255,255,.92);margin:.8em 0 1.6em;position:relative}
.rc-cta .rc-btn-primary{background:#fff;color:var(--l-coral) !important}
.rc-cta .rc-btn-primary:hover{background:#fff;transform:translateY(-2px)}
@media(max-width:560px){.rc-cta{padding:48px 22px;border-radius:24px}.rc-cta::after{font-size:7rem}}

/* =========================================================================
   5) 実HTML微調整（Content Views / Search&Filter の既存クラスを上書き）
   ========================================================================= */
/* 「詳細はこちら」＝ btn-success（黒/緑）をブランドのゴーストピルに */
.pt-cv-view .pt-cv-rmwrap{margin-top:12px}
.pt-cv-view a.pt-cv-readmore.btn,
.pt-cv-view a.pt-cv-readmore.btn-success,
.pt-cv-view a.pt-cv-readmore{
  background:var(--l-wash) !important;border:1.5px solid var(--l-line) !important;
  color:var(--l-brand) !important;border-radius:999px !important;
  padding:.5em 1.15em !important;font-weight:700 !important;font-size:.84rem !important;
  font-family:"Zen Kaku Gothic New",sans-serif !important;
  box-shadow:none !important;text-shadow:none !important;
  display:inline-flex !important;align-items:center;gap:.35em;transition:.25s !important
}
.pt-cv-view a.pt-cv-readmore::after{content:"→";font-family:"Inter",sans-serif}
.pt-cv-view a.pt-cv-readmore:hover{
  background:#fff !important;border-color:var(--l-coral) !important;color:var(--l-coral) !important;transform:translateY(-1px)
}

/* 検索フォームの送信ボタン＝コーラルの実ボタンに統一（両構造・テーマ上書き対策で!important） */
.searchandfilter input[type="submit"],
.searchandfilter button[type="submit"],
form.searchandfilter input[type="submit"],
form.searchandfilter button[type="submit"]{
  background:var(--l-coral) !important;border:none !important;color:#fff !important;
  border-radius:11px !important;padding:.82em 1.9em !important;font-weight:800 !important;
  font-family:"Zen Kaku Gothic New",sans-serif !important;cursor:pointer;width:auto !important;
  box-shadow:0 12px 24px -12px rgba(232,131,107,.7) !important;transition:.25s !important
}
.searchandfilter input[type="submit"]:hover,
.searchandfilter button[type="submit"]:hover,
form.searchandfilter input[type="submit"]:hover,
form.searchandfilter button[type="submit"]:hover{background:#e0735a !important;transform:translateY(-2px)}

/* =========================================================================
   6) サイト共通 365ヘッダー / 365フッター（.rc-hd / .rc-ft）
      OnePress標準のヘッダー/フッターは非表示にし、独自パーツを表示。
   ========================================================================= */
/* --- OnePress標準ヘッダー/フッターを隠す（差し込みと二重化させない） --- */
#masthead,.site-header,#site-header,
#colophon,.site-footer,#site-footer{display:none !important}
/* 固定ヘッダー分の余白（全ページ） */
body{padding-top:70px}

/* --- ヘッダー --- */
.rc-hd{
  position:fixed;top:0;left:0;right:0;z-index:1000;transition:.35s ease;padding:14px 0;
  font-family:"Zen Kaku Gothic New",sans-serif;background:transparent
}
.rc-hd.solid{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--l-line);padding:8px 0}
.rc-nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.rc-brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.rc-brand img{width:42px;height:auto;display:block}
.rc-badge{
  width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--l-ink);color:#fff;font-family:"Inter",sans-serif;font-weight:800;font-size:.92rem;
  border:2px solid var(--l-brand)
}
.rc-badge-lg{width:64px;height:64px;font-size:1.3rem}
.rc-bname{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;color:var(--l-ink);font-size:1.18rem;letter-spacing:.02em;line-height:1.1}
.rc-bname small{display:block;font-weight:500;font-size:.6rem;color:var(--l-muted);letter-spacing:.14em;margin-top:1px}
.rc-menu{display:flex;align-items:center;gap:26px}
.rc-menu>a{font-weight:500;font-size:.92rem;color:var(--l-text);text-decoration:none;position:relative;transition:color .25s}
.rc-menu>a:not(.rc-btn)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--l-sun);border-radius:2px;transition:width .25s}
.rc-menu>a:not(.rc-btn):hover{color:var(--l-brand)}
.rc-menu>a:not(.rc-btn):hover::after{width:100%}
.rc-cta-sm{padding:.55em 1.2em !important;font-size:.86rem !important;color:#fff !important}
.rc-hamb{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1200}
.rc-hamb span{width:24px;height:2px;background:var(--l-ink);border-radius:2px;transition:.3s}

@media(max-width:820px){
  .rc-menu{
    position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
    background:#fff;flex-direction:column;justify-content:center;align-items:center;
    gap:22px;transform:translateX(100%);transition:transform .35s ease;
    padding:80px 32px 40px;z-index:1100;overflow-y:auto
  }
  .rc-menu.open{transform:none}
  .rc-menu>a{font-size:1.15rem}
  .rc-menu>a.rc-cta-sm{margin-top:8px}
  /* ハンバーガーは常に最前面（開閉トグル） */
  .rc-hamb{display:flex;position:relative;z-index:1200}
  .rc-hd.solid{background:#fff}
}

/* --- フッター --- */
.rc-ft{background:var(--l-ink);color:#c6d2e0;padding:64px 0 28px;font-family:"Zen Kaku Gothic New",sans-serif}
.rc-f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.rc-flogo img{width:84px;height:auto;margin-bottom:16px;display:block}
.rc-flogo .rc-badge-lg{margin-bottom:16px}
.rc-flogo p{font-size:.86rem;color:#9fb0c4;max-width:24em;line-height:1.9;margin:0}
.rc-ft h4{font-weight:700;color:#fff;font-size:.95rem;margin:0 0 14px}
.rc-ft ul{list-style:none;display:grid;gap:9px;margin:0;padding:0}
.rc-ft ul a{font-size:.88rem;color:#b3c2d4;text-decoration:none;transition:.25s}
.rc-ft ul a:hover{color:var(--l-sun)}
.rc-f-addr{color:#b3c2d4;font-size:.88rem;line-height:1.7}
.rc-f-give{display:inline-block;background:rgba(242,166,90,.16);color:#FBE3C6;padding:.4em 1em;border-radius:999px;font-size:.78rem}
.rc-f-note{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:#8ea0b6}
@media(max-width:760px){.rc-f-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:480px){.rc-f-grid{grid-template-columns:1fr}}
