/*
Theme Name: UNIONGATE Portal
Template: uniongate-wp
Description: uniongate-wp の子テーマ。元のテーマの機能とトップのセクションはそのまま使い、新しいデザイン（メイリオ・検索バー・カテゴリ）と企業広告セクションを追加します。プラグイン「UG Success Ads」と組み合わせて使います。
Version: 1.7.7
Author: UNIONGATE
Requires PHP: 7.4
Text Domain: uniongate-portal
*/

/* Layout: 元のヘッダー → 検索帯（検索・掲載ボタン・カテゴリ）→ 元のヒーローと各セクション → 進行案件の直後に企業広告 → 元のフッター */
:root{
	--ugpc-green:#0f8f6a;
	--ugpc-green-deep:#0a6f52;
	--ugpc-green-soft:#e3f3ee;
	--ugpc-fg:#15241f;
	--ugpc-muted:#5a6a64;
	--ugpc-line:#d8e0dd;
	--ugpc-surface:#ffffff;
	--ugpc-sunk:#f5f8f7;
	--ugpc-pr:#b7791f;
	--ugpc-pr-soft:#fbf1df;
	--ugpc-seal:#c8372d;
	--ugpc-f-body:"Meiryo","メイリオ","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
	--ugpc-wide:1152px;
	--ugpc-hero-bg:#eef4f1;
	--ugpc-hero-dot:rgba(15,143,106,.10);
	--ugpc-hero-ink:#0d3b30;
	--ugpc-hero-sub:#3f5a51;
	--ugpc-hero-line:#b9d6ca;
	--ugpc-wm:#22b07c; /* Audiowideのロゴ文字（元のミント#6EE7B7を淡い背景で読める濃さに） */
	/* プラグインの部品を緑に合わせる */
	--ugp-navy:var(--ugpc-green);
	--ugp-line:var(--ugpc-line);
	--ugp-muted:var(--ugpc-muted);
}

/* 基本テキストは元のテーマと同じメイリオ。見出し・ロゴ文字・SINCE表記などの書体は元のまま */

.ugpc-wrap{max-width:var(--ugpc-wide);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:640px){.ugpc-wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}

/* 検索帯 */
.ugpc-sbar{background:var(--ugpc-surface);border-bottom:1px solid var(--ugpc-line);font-family:var(--ugpc-f-body);color:var(--ugpc-fg)}
.ugpc-sbar-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-block:12px}
.ugpc-search{flex:1 1 380px;display:flex;min-width:0;margin:0;border:2px solid var(--ugpc-green);border-radius:8px;overflow:hidden;background:var(--ugpc-surface)}
.ugpc-search select{border:0;border-right:1px solid var(--ugpc-line);background:var(--ugpc-sunk);padding:0 10px;font:inherit;font-size:.85rem;color:inherit;border-radius:0}
.ugpc-search input{flex:1;min-width:0;border:0;padding:9px 12px;font:inherit;background:transparent;color:inherit;box-shadow:none}
.ugpc-search input:focus{outline:none}
.ugpc-search button{border:0;border-radius:0;background:var(--ugpc-green);color:#fff;font:inherit;font-weight:700;padding:0 20px;cursor:pointer}
.ugpc-apply{background:var(--ugpc-pr);color:#fff!important;text-decoration:none!important;font-weight:700;font-size:.85rem;border-radius:6px;padding:9px 16px;white-space:nowrap}
.ugpc-chips{flex-basis:100%;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.ugpc-chips a{flex:none;font-size:.8rem;text-decoration:none!important;color:var(--ugpc-muted);border:1px solid var(--ugpc-line);border-radius:999px;padding:3px 12px;white-space:nowrap;background:var(--ugpc-surface)}
.ugpc-chips a:hover{border-color:var(--ugpc-green);color:var(--ugpc-green-deep)}
.ugpc-chips a.is-on{background:var(--ugpc-green);border-color:var(--ugpc-green);color:#fff}
.ugpc-sbar .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* トップの企業広告セクション */
.ugpc-ads-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:14px}
.ugpc-ads-bar > a{font-size:.85rem;font-weight:700;color:var(--ugpc-pr);text-decoration:none;white-space:nowrap}
.ugpc-ads{background:var(--ugpc-sunk);border-top:1px solid var(--ugpc-line);padding-block:36px 48px;font-family:var(--ugpc-f-body);color:var(--ugpc-fg)}
.ugpc-ads-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;border-bottom:2px solid var(--ugpc-pr);padding-bottom:10px;margin-bottom:18px}
.ugpc-ads-h h2{margin:0;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.4}
.ugpc-ads-h p{margin:4px 0 0;font-size:.85rem;color:var(--ugpc-muted)}
.ugpc-ads-h > a{font-size:.85rem;font-weight:700;color:var(--ugpc-pr);text-decoration:none;white-space:nowrap}
.ugpc-pr{display:inline-block;margin-left:0;vertical-align:middle;font-size:.68rem;font-weight:700;letter-spacing:.08em;background:var(--ugpc-pr);color:#fff;border-radius:3px;padding:1px 7px;font-family:var(--ugpc-f-body)}
.ugpc-ads .ugp-card{border-color:color-mix(in srgb,var(--ugpc-pr) 40%,var(--ugpc-line))}
.ugpc-ads .ugp-chip{background:var(--ugpc-pr-soft);color:var(--ugpc-pr)}
.ugpc-ads-empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--ugpc-surface);border:1px dashed var(--ugpc-line);border-radius:8px;padding:20px 22px}
.ugpc-ads-empty p{margin:0;color:var(--ugpc-muted)}
.ugpc-ads-empty a{background:var(--ugpc-pr);color:#fff;text-decoration:none;border-radius:6px;padding:8px 16px;font-weight:700;font-size:.88rem}

@media (max-width:640px){
	.ugpc-apply{flex:1 1 100%;text-align:center}
}

/* =========================================================
   元のトップの各セクションを新しいデザインに
   ========================================================= */

/* ヒーロー：淡いグリーングレー＋ドット、左に緑の線。ロゴ文字は元のAudiowide */
.ugt-hero.wp-block-cover{position:relative;overflow:hidden;min-height:0!important;background-color:var(--ugpc-hero-bg)!important;background-image:
	radial-gradient(var(--ugpc-hero-dot) 1.2px,transparent 1.3px),
	radial-gradient(circle at 88% 18%,rgba(52,211,153,.30),transparent 38%),
	radial-gradient(circle at 62% 105%,rgba(183,121,31,.16),transparent 34%),
	radial-gradient(circle at 8% 0%,rgba(15,143,106,.10),transparent 30%),
	linear-gradient(120deg,#e6f5ee 0%,#f7fbf9 48%,#e7f1fa 100%)!important;
	background-size:14px 14px,auto,auto,auto,auto!important;box-shadow:inset 5px 0 0 var(--ugpc-green);border-bottom:1px solid var(--ugpc-hero-line);padding-block:28px!important}
.ugt-hero .ugt-hero__inner{padding-top:36px!important;padding-bottom:40px!important}
/* ボタン3つが1行に収まるよう少しだけ小さく */
.has-ugpc-mosaic .ugt-hero__actions{gap:10px!important}
.has-ugpc-mosaic .ugt-hero__actions .wp-block-button__link{padding-left:16px!important;padding-right:16px!important;font-size:15px!important}

/* ヒーロー右側の写真（ページ内の案件・記事の写真） */
.ugpc-hero-mosaic{position:absolute;z-index:2;top:50%;right:max(24px,calc((100% - 1152px) / 2 + 24px));transform:translateY(-50%);width:min(36%,440px);display:grid;grid-template-columns:1fr 1fr;gap:14px;pointer-events:none}
.ugpc-tile{display:block;border-radius:14px;overflow:hidden;background:#fff;border:4px solid #fff;box-shadow:0 14px 34px rgba(10,60,45,.18);aspect-ratio:4/3}
.ugpc-tile img{width:100%;height:100%;object-fit:cover;display:block}
.ugpc-tile:nth-child(1){transform:rotate(-2.5deg) translateY(6px)}
.ugpc-tile:nth-child(2){transform:rotate(2deg) translateY(-14px)}
.ugpc-tile:nth-child(3){transform:rotate(1.5deg) translateY(4px)}
.ugpc-tile:nth-child(4){transform:rotate(-2deg) translateY(-10px)}
.ugpc-n2 .ugpc-tile,.ugpc-n3 .ugpc-tile:nth-child(3){grid-column:span 1}
.ugpc-n3 .ugpc-tile:nth-child(3){grid-column:1 / -1;aspect-ratio:16/7}
.has-ugpc-mosaic .ugt-hero__inner > *{max-width:60%}
@media (max-width:1000px){.ugpc-hero-mosaic{display:none}.has-ugpc-mosaic .ugt-hero__inner > *{max-width:none}}
@media (prefers-reduced-motion:no-preference){.ugpc-tile{transition:transform .3s}}
.ugt-hero .wp-block-cover__background{opacity:0!important}
.ugt-hero,.ugt-hero :where(h1,h2,h3,p,li,span){color:var(--ugpc-hero-ink)!important}
.ugt-hero .ugt-hero__badge{display:inline-block;background:var(--ugpc-surface)!important;border:1px solid var(--ugpc-hero-line)!important;color:var(--ugpc-green-deep)!important;border-radius:999px}
.ugt-hero .ugt-hero__badge *{color:var(--ugpc-green-deep)!important}
.ugt-hero .ugt-hero__since,.ugt-hero .ugt-hero__since *{color:var(--ugpc-wm)!important}
.ugt-hero .ugt-hero__since{font-family:"Audiowide","Sawarabi Gothic",sans-serif!important}
.ugt-hero .ugt-hero__brand,.ugt-hero .ugt-hero__brand *{font-family:"Audiowide","Sawarabi Gothic",sans-serif!important;color:var(--ugpc-wm)!important}
.ugt-hero p:not([class*="ugt-hero__"]){color:var(--ugpc-hero-sub)!important}
.ugt-hero :where(svg,i,[class*="check"],[class*="icon"]){color:var(--ugpc-green)!important}
.ugt-hero :where(a.wp-block-button__link,a[class*="btn"],a[class*="button"]){background:var(--ugpc-surface)!important;color:var(--ugpc-green-deep)!important;border:1px solid var(--ugpc-hero-line)!important;box-shadow:none!important}
.ugt-hero :where(a.wp-block-button__link,a[class*="btn"],a[class*="button"]) *{color:inherit!important}
.ugt-hero a[href*="consult"]{background:var(--ugpc-green)!important;color:#fff!important;border-color:var(--ugpc-green)!important}
.ugt-hero a[href*="consult"]:hover{background:var(--ugpc-green-deep)!important}

/* セクション共通：淡い面、緑の下線つき見出し */
.ugt-news,.ugt-opps,.ugt-cases,.ugt-articles{background:var(--ugpc-sunk)!important;background-image:none!important}
.ugt-opps,.ugt-articles{border-top:1px solid var(--ugpc-line)}
.ugt-eyebrow{color:var(--ugpc-green)!important;letter-spacing:.18em}
.ugt-section-title,.ugt-news__title{border-bottom:2px solid var(--ugpc-green);padding-bottom:10px;margin-bottom:12px}
.ugt-opps__title{margin-top:28px;padding-left:10px;border-left:4px solid var(--ugpc-green);font-size:1.05rem}
.ugt-more{color:var(--ugpc-green-deep)!important;font-weight:700}

/* カード（供給・紹介案件／記事） */
.ugt-opp,.ugt-post,.ugt-case{background:var(--ugpc-surface)!important;border:1px solid var(--ugpc-line)!important;border-radius:8px!important;overflow:hidden;box-shadow:none!important;transition:box-shadow .15s,transform .15s}
.ugt-opp:hover,.ugt-post:hover,.ugt-case:hover{box-shadow:0 8px 22px rgba(10,40,30,.10)!important;transform:translateY(-2px)}
.ugt-opp__link,.ugt-post__link,.ugt-case__link{color:var(--ugpc-fg)!important;text-decoration:none!important}
.ugt-opp__thumb img,.ugt-post__thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.ugt-opp__body,.ugt-post__body{padding:12px 14px 14px!important}
.ugt-opp__title,.ugt-post__title,.ugt-case__title{font-weight:700;line-height:1.55}
.ugt-opp__cat,.ugt-case__cat,.ugt-post__cat{font-size:.75rem;color:var(--ugpc-muted)!important}
.ugt-pill{border-radius:3px!important;font-size:.7rem!important;font-weight:700}

/* 調達・買付需要：供給案件と同じく写真つきカードで表示（元の並びのまま） */
.ugt-opp__pills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}

/* 新着相談：元のカード形式のまま、中のラベルと日付を整える */
.ugt-case__link{box-sizing:border-box;padding:14px 16px!important;display:flex!important;flex-direction:column;gap:6px;height:100%}
.ugt-case__meta{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 8px}
.ugt-case__meta time{margin-left:auto;font-size:.75rem;color:var(--ugpc-muted);font-variant-numeric:tabular-nums}
.ugt-case__cat{display:inline-block;background:var(--ugpc-green-soft);color:var(--ugpc-green-deep)!important;font-size:.72rem!important;font-weight:700;border-radius:999px;padding:1px 9px}
.ugt-case__text{color:var(--ugpc-muted);font-size:.85rem;line-height:1.6}
.ugt-case__more{margin-top:auto;color:var(--ugpc-green-deep);font-weight:700;font-size:.82rem}

/* 新着相談のサムネイル */
.ugpc-case-thumb{display:block;margin:-14px -16px 6px;aspect-ratio:16/10;overflow:hidden;background:var(--ugpc-sunk)}
.ugpc-case-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ugpc-case-thumb.is-ph{display:grid;place-items:center;background:linear-gradient(135deg,hsl(var(--ph-h,158) 42% 40%),hsl(calc(var(--ph-h,158) + 28) 48% 28%))}
.ugpc-case-thumb.is-ph span{color:rgba(255,255,255,.92);font-size:2.6rem;font-weight:700;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.18)}

/* 写真付きカードの一覧は4列（画面が狭くなると 3 → 2 → 1 列） */
.ugt-opps .ugt-grid,.ugt-cases .ugt-grid,.ugt-articles .ugt-grid,.ugpc-ads .ugp-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
@media (max-width:1100px){.ugt-opps .ugt-grid,.ugt-cases .ugt-grid,.ugt-articles .ugt-grid,.ugpc-ads .ugp-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:780px){.ugt-opps .ugt-grid,.ugt-cases .ugt-grid,.ugt-articles .ugt-grid,.ugpc-ads .ugp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:480px){.ugt-opps .ugt-grid,.ugt-cases .ugt-grid,.ugt-articles .ugt-grid,.ugpc-ads .ugp-grid{grid-template-columns:1fr!important}}
.ugt-opp__title,.ugt-case__title,.ugt-post__title{font-size:.95rem}

/* 最後の行の空き枠に入る案内カード */
.ugpc-fill{display:flex;border-radius:8px;overflow:hidden;background:linear-gradient(140deg,var(--ugpc-green) 0%,var(--ugpc-green-deep) 100%);box-shadow:none;transition:transform .15s,box-shadow .15s;min-height:220px}
.ugpc-fill:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(10,40,30,.16)}
.ugpc-fill a{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:22px;color:#fff!important;text-decoration:none!important;position:relative;background-image:radial-gradient(rgba(255,255,255,.12) 1.2px,transparent 1.3px);background-size:14px 14px}
.ugpc-fill strong{font-size:1.1rem;line-height:1.45}
.ugpc-fill span{font-size:.85rem;opacity:.9}
.ugpc-fill i{font-style:normal;font-size:1.4rem;position:absolute;right:20px;bottom:16px}
.ugpc-fill + .ugpc-fill{background:linear-gradient(140deg,#c58a2c 0%,#9a6516 100%)}
.ugpc-fill + .ugpc-fill + .ugpc-fill{background:linear-gradient(140deg,#2f6e8f 0%,#1d4a63 100%)}

/* 記事・固定ページなどの本文の幅（元は860px） */
.ugt-container--narrow{max-width:1000px!important}

/* 記事・相談事例・案件の単体ページ：ヘッダー下とフッター上の余白を広げる */
.ugt-article{padding-top:56px!important;padding-bottom:96px!important}
/* 記事の中：見出し → 写真 → 本文 → 相談への案内 の間に余白 */
.ugt-article .ugt-back{display:inline-block;margin-bottom:20px!important}
.ugt-article .ugt-article__meta{margin-bottom:10px!important}
.ugt-article .ugt-article__title{margin:0 0 28px!important;line-height:1.45}
.ugt-article .ugt-article__thumb{margin:0 0 40px!important}
.ugt-article .ugt-content{margin-bottom:64px!important}
.ugt-article .ugt-content > * + *{margin-top:.9em}
.ugt-article .ugt-cta{margin-top:0!important}
@media (max-width:640px){
	.ugt-article{padding-top:36px!important;padding-bottom:64px!important}
	.ugt-article .ugt-article__title{margin-bottom:20px!important}
	.ugt-article .ugt-article__thumb{margin-bottom:28px!important}
	.ugt-article .ugt-content{margin-bottom:44px!important}
}

/* 新着情報 */
.ugt-news-block,.ugt-news__list{background:var(--ugpc-surface);border:1px solid var(--ugpc-line);border-radius:8px}
.ugt-news__list{list-style:none;margin:0;padding:0}
.ugt-news-block .ugt-news__list{border:0}
.ugt-news__list li{border-bottom:1px solid var(--ugpc-line)}
.ugt-news__list li:last-child{border-bottom:0}
.ugt-news__list a{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:12px 16px;color:var(--ugpc-fg)!important;text-decoration:none!important}
.ugt-news__list time{font-size:.8rem;color:var(--ugpc-muted);font-variant-numeric:tabular-nums}

/* 相談ページ（トップから移した相談窓口）：トップと同じ幅（1152px）で表示 */
.ugpc-consult-page .ugt-container--narrow{max-width:1152px!important}
.ugpc-consult .ugt-desk{background:transparent!important;padding-top:8px!important}

}
