/* ===== 20_site.css ===== */
@charset "UTF-8";
/* ============================================================
   S00129 株式会社イージス — site.css（受領 helmet の ＜style＞ ＋ 生成クラス）
   ・受領15ページ＋SiteHeader/SiteFooter の helmet CSS を1本に統合したもの。
     **ページごとに連続したブロック**で、そのページの中の順番は1行も変えずに出している
     （メディアクエリは詳細度を上げないので、順番が入れ替わると後勝ちの関係が壊れる）。
     ページ固有の規則は .ag-p-＜ページキー＞ で包んである（同名の data-* が別ページで
     別の意味で使われているため。素で1本にすると定義していないページにも当たる）。
   ・生成クラス .agv＊＝受領の ｛｛ 変数 ｝｝（幅で変わるインラインstyle）を実評価してCSS化したもの。
     **1宣言ずつ !important** を付けている＝受領ではインラインstyleだった＝ページCSSより強い、
     という関係をそのまま保つため（受領CSS側の !important には負ける＝これも受領と同じ）。
   ・.agh＊＝style-hover ／ .aga＊＝インラインの animation・transition の退避先。
   ・追加CSS欄はコメント内のタグ形の記号でMIMEが text/html に化ける（R-31）ので、
     このファイルではタグ形の記号を書かない（全角で書く）。
   ============================================================ */
/* R-18: 固定ヘッダーは使っていない（受領は position:sticky）＝0px。
   skin がCueZilla描画ページの上余白に使う変数なので、必ず宣言しておく。 */
:root{ --fixed-header-h: 0px; }

/* ---- 受領 helmet：サイト共通の地（要素セレクタだけ） ---- */
html,body{margin: 0; padding: 0; background: #FFFFFF;}
*{box-sizing: border-box;}
a{color: #0A4DD4; text-decoration: none;}
a:hover{color: #06246E;}
h1,h2,h3,h4{font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif; font-weight: 700; line-height: 1.4; margin: 0;}
a{color: #0A4DD4;}
h1,h2,h3,h4{font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif; font-weight: 700; line-height: 1.5; margin: 0; text-wrap: pretty;}
::selection{background: rgba(0,198,255,.26); color: #06246E;}
html,body{margin: 0; padding: 0; background: #FFFFFF; overflow-x: hidden;}
h1,h2,h3,h4{font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif; font-weight: 700; line-height: 1.5; margin: 0;}

/* ---- 受領 helmet：keyframes ---- */
@keyframes aegisSwipe{0%,100% { transform:translateX(0) rotate(45deg); opacity:.5 } 50% { transform:translateX(5px) rotate(45deg); opacity:1 }}
@keyframes aegisLoaderOut{0%,74% { transform:translateY(0); opacity:1; visibility:visible } 99% { transform:translateY(-100%); opacity:.35 } 100% { transform:translateY(-100%); opacity:0; visibility:hidden }}
@keyframes aegisBar{0% { transform:scaleX(0) } 100% { transform:scaleX(1) }}
@keyframes aegisGlow{0% { opacity:0 } 100% { opacity:1 }}
@keyframes aegisUp{0% { opacity:0; transform:translateY(26px) } 100% { opacity:1; transform:translateY(0) }}
@keyframes aegisGrow{0% { transform:scaleX(0) } 100% { transform:scaleX(1) }}
@keyframes aegisCue{0%,100% { transform:translateY(0); opacity:.55 } 50% { transform:translateY(9px); opacity:1 }}
@keyframes aegisChar{0% { opacity:0; transform:translateY(0.5em) rotate(4deg) } 100% { opacity:1; transform:translateY(0) rotate(0) }}
@keyframes aegisLogoIn{0% { opacity:0; transform:scale(.94) } 100% { opacity:1; transform:scale(1) }}
@keyframes aegisSlideIn{0% { opacity:0; transform:translateX(-26px) } 100% { opacity:1; transform:translateX(0) }}
@keyframes aegisRuleIn{0% { transform:scaleX(0) } 100% { transform:scaleX(1) }}
@keyframes wUp{0% { opacity:0; transform:translateY(18px) } 100% { opacity:1; transform:translateY(0) }}
@keyframes wGrow{0% { transform:scaleX(0) } 100% { transform:scaleX(1) }}
@keyframes faqOpen{from { grid-template-rows: 0fr; opacity: 0; } to { grid-template-rows: 1fr; opacity: 1; }}
@keyframes salWipe{0% { opacity: 0; transform: translateY(6px); -webkit-mask-position: 100% 0; mask-position: 100% 0; } 30% { opacity: 1; } 100% { opacity: 1; transform: none; -webkit-mask-position: 0% 0; mask-position: 0% 0; }}
@keyframes salBar{from { transform: scaleX(0); } to { transform: scaleX(1); }}

/* ---- 受領 helmet：index（元の順のまま・4規則） ---- */
.ag-p-index [data-hscroll]{scrollbar-width: none; -ms-overflow-style: none;}
.ag-p-index [data-hscroll]::-webkit-scrollbar{display: none;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration: .001s !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: .001s !important;}
}
.ag-p-index [data-fvsec]{min-height: calc(100vh - var(--aegis-hdr, 100px)); min-height: calc(100dvh - var(--aegis-hdr, 100px));}

/* ---- 受領 helmet：work（元の順のまま・35規則） ---- */
.ag-p-work a[data-card]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease, border-color .35s ease;}
.ag-p-work a[data-card]:hover{transform: translateY(-4px); box-shadow: 0 22px 46px rgba(10,40,120,.16);}
.ag-p-work [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-work [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-work [data-svcphoto]{background: #06246E !important;}
.ag-p-work [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-work [data-svccard]:hover img{transform: scale(1.072);}
.ag-p-work [data-faq] summary::-webkit-details-marker{display: none;}
.ag-p-work [data-faq] summary{transition: background .25s ease;}
.ag-p-work [data-faq] summary:hover,.ag-p-work [data-faq][open] > summary{background: #F5F8FF;}
.ag-p-work [data-faqbar]{transition: transform .25s ease, opacity .25s ease; transform-origin: center;}
.ag-p-work [data-faq][open] [data-faqbar]{transform: scaleY(0); opacity: 0;}
.ag-p-work [data-faqans]{display: grid; grid-template-rows: 1fr;}
.ag-p-work [data-faqans] > div{overflow: hidden; min-height: 0;}
.ag-p-work [data-faq][open] > [data-faqans]{animation: faqOpen .34s cubic-bezier(.2,.7,.2,1);}
@media (prefers-reduced-motion: reduce){
  .ag-p-work [data-faq][open] > [data-faqans]{animation: none;}
}
.ag-p-work [data-evidence]{grid-template-columns: repeat(4,minmax(0,1fr));}
.ag-p-work [data-evbr]{display: none;}
.ag-p-work [data-ctabr],.ag-p-work [data-ctabr2]{display: none;}
@media (min-width: 720px) and (max-width: 900px){
  .ag-p-work [data-ctabr2]{display: block;}
}
.ag-p-work [data-h2br],.ag-p-work [data-br2],.ag-p-work [data-br1],.ag-p-work [data-br2s]{display: none;}
@media (max-width: 389px){
  .ag-p-work [data-br2]{display: block;}
  .ag-p-work [data-br2s]{display: block;}
  .ag-p-work [data-h2cta]{font-size: 23px !important; letter-spacing: -0.03em;}
  .ag-p-work [data-h2svc]{font-size: 21px !important; letter-spacing: -0.055em !important; text-wrap: normal;}
  .ag-p-work [data-svc-row] h3{font-size: 18.5px !important; letter-spacing: -0.04em;}
  h2{letter-spacing: -0.03em;}
}
@media (max-width: 340px){
  .ag-p-work [data-br1]{display: block;}
  .ag-p-work [data-br2s]{display: none !important;}
  h2{font-size: 20px !important; letter-spacing: -0.04em !important; margin-bottom: 16px !important;}
  h3{letter-spacing: -0.035em;}
  section p,.ag-p-work [data-flow] > li > span:last-child,.ag-p-work [data-support] p{font-size: 13.5px !important; line-height: 1.9 !important;}
  .ag-p-work [data-flow] > li > b{font-size: 15px !important;}
  .ag-p-work [data-h2svc]{font-size: 17px !important;}
  .ag-p-work [data-h2cta]{font-size: 22px !important;}
  .ag-p-work [data-svc-row] h3{font-size: 15.5px !important;}
  .ag-p-work [data-safety] h3{font-size: 17px !important;}
}
@media (max-width: 719px){
  .ag-p-work [data-h2br]{display: block;}
  .ag-p-work [data-safety]{grid-template-columns: 1fr !important;}
  .ag-p-work [data-evidence]{grid-template-columns: 1fr !important; grid-template-rows: none !important; row-gap: 16px !important; margin: 22px 0 0 14px !important; padding-left: 18px !important; border-left: 2px solid rgba(10,77,212,.18);}
  .ag-p-work [data-evidence] > *{grid-row: auto !important; grid-template-rows: none !important; grid-template-columns: 58px minmax(0,1fr) !important; column-gap: 14px !important; row-gap: 2px !important; justify-items: start !important; align-items: center !important; text-align: left !important; padding: 0 !important;}
  .ag-p-work [data-evidence] > * > :first-child{width: 58px !important; height: 58px !important;}
  .ag-p-work [data-evidence] > * > :first-child svg{width: 26px !important; height: 26px !important;}
  .ag-p-work [data-evidence] > * > :nth-child(2){font-size: 11px !important; margin-top: 0 !important;}
  .ag-p-work [data-evidence] > * > :nth-child(3){font-size: 19px !important; line-height: 1.3 !important;}
  .ag-p-work [data-evidence] > * > :nth-child(4){font-size: 12px !important; line-height: 1.6 !important; white-space: nowrap !important;}
  .ag-p-work [data-evidence] [data-evbr]{display: none !important;}
  .ag-p-work [data-evidence] [data-evslash]{display: inline !important;}
  .ag-p-work [data-evidence] > * > :first-child{grid-column: 1 !important; grid-row: 1 / span 3 !important;}
  .ag-p-work [data-evidence] > * > :nth-child(n+2){grid-column: 2 !important; margin-top: 0 !important;}
  .ag-p-work [data-ghostnum]{top: auto !important; bottom: 6px !important; right: 12px !important; font-size: 62px !important; line-height: .8 !important;}
}
@media (max-width: 999px){
  .ag-p-work [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-work [data-svccard]{display: block !important;}
  .ag-p-work [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-work [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-work [data-svcfade]{display: none !important;}
  .ag-p-work [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 900px){
  .ag-p-work [data-ctabr]{display: block;}
  .ag-p-work [data-flow] > li{gap: 6px 16px !important;}
  .ag-p-work [data-flow] > li > b{flex: 1 1 260px !important; font-size: 16px !important;}
  .ag-p-work [data-flow] > li > span:last-child{flex: 2 1 300px !important;}
}
@media (max-width: 900px){
  .ag-p-work [data-evbr]{display: block;}
  .ag-p-work [data-evslash]{display: none;}
}
@media (max-width: 640px){
  .ag-p-work [data-evidence]{grid-template-columns: repeat(2,minmax(0,1fr));}
  .ag-p-work [data-evidence] > *{margin-bottom: 22px;}
}
@media (max-width: 400px){
  .ag-p-work [data-evidence]{grid-template-columns: 1fr;}
}
@media (max-width: 700px){
  .ag-p-work [data-support]{grid-template-columns: 1fr !important;}
}
.ag-p-work [data-pillgrid]{grid-template-columns: repeat(4,minmax(0,1fr));}
@media (max-width: 480px){
  .ag-p-work [data-pillgrid]{grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 619px){
  .ag-p-work [data-svc-row]{flex-wrap: wrap !important;}
  .ag-p-work [data-svc-row] > [data-svc-img]{flex: 0 0 auto !important; width: 100% !important; max-width: none !important; aspect-ratio: 5/3 !important;}
  .ag-p-work [data-svc-row] > div:last-child{flex: 1 1 100% !important; min-width: 0 !important;}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s !important; animation-delay:0s !important; transition-duration:.001s !important;}
}

/* ---- 受領 helmet：traffic（元の順のまま・8規則） ---- */
.ag-p-traffic [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-traffic [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-traffic [data-svcphoto]{background: #06246E !important;}
.ag-p-traffic [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-traffic [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-traffic [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-traffic [data-svccard]{display: block !important;}
  .ag-p-traffic [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-traffic [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-traffic [data-svcfade]{display: none !important;}
  .ag-p-traffic [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 999px){
  .ag-p-traffic [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}

/* ---- 受領 helmet：parking（元の順のまま・8規則） ---- */
.ag-p-parking [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-parking [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-parking [data-svcphoto]{background: #06246E !important;}
.ag-p-parking [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-parking [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-parking [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-parking [data-svccard]{display: block !important;}
  .ag-p-parking [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-parking [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-parking [data-svcfade]{display: none !important;}
  .ag-p-parking [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 999px){
  .ag-p-parking [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}

/* ---- 受領 helmet：recruit（元の順のまま・40規則） ---- */
.ag-p-recruit [data-salamount]{opacity: 0; -webkit-mask-image: linear-gradient(90deg,#000 0 35%, rgba(0,0,0,0) 72%); mask-image: linear-gradient(90deg,#000 0 35%, rgba(0,0,0,0) 72%); -webkit-mask-size: 300% 100%; mask-size: 300% 100%; -webkit-mask-position: 100% 0; mask-position: 100% 0; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;}
.ag-p-recruit [data-salcard][data-in] [data-salamount]{animation: salWipe 1.9s cubic-bezier(.25,.6,.2,1) both;}
.ag-p-recruit [data-salcard][data-in] [data-salunderline]{animation: salBar 1.9s cubic-bezier(.25,.6,.2,1) .2s both;}
@media (prefers-reduced-motion: reduce){
  .ag-p-recruit [data-salamount]{opacity: 1; -webkit-mask-image: none; mask-image: none;}
  .ag-p-recruit [data-salcard][data-in] [data-salamount],.ag-p-recruit [data-salcard][data-in] [data-salunderline]{animation: none;}
}
@media (max-width: 620px){
  .ag-p-recruit [data-envphotos]{grid-template-columns: minmax(0,1fr) !important;}
}
.ag-p-recruit [data-reqlist]{grid-template-columns: auto minmax(0,1fr);}
@media (max-width: 560px){
  .ag-p-recruit [data-reqlist]{grid-template-columns: minmax(0,1fr);}
  .ag-p-recruit [data-reqlist] dt{padding-bottom: 4px !important;}
  .ag-p-recruit [data-reqlist] dd{border-top: 0 !important; padding-top: 0 !important;}
}
.ag-p-recruit [data-wholist]{grid-template-columns: repeat(3,minmax(0,1fr));}
@media (max-width: 780px){
  .ag-p-recruit [data-wholist]{grid-template-columns: minmax(0,1fr);}
}
.ag-p-recruit [data-statgrid]{grid-template-columns: repeat(4,minmax(0,1fr));}
@media (max-width: 720px){
  .ag-p-recruit [data-statgrid]{grid-template-columns: repeat(2,minmax(0,1fr));}
}
.ag-p-recruit [data-wagegrid]{grid-template-columns: repeat(4,minmax(0,1fr));}
.ag-p-recruit [data-wagegrid] > div + div{border-left: 1px solid #D8E2F5;}
@media (max-width: 720px){
  .ag-p-recruit [data-wagegrid] > div + div{border-left: 0;}
  .ag-p-recruit [data-wagegrid] > div:nth-child(2n){border-left: 1px solid #D8E2F5;}
  .ag-p-recruit [data-wagegrid] > div:nth-child(n+3){border-top: 1px solid #D8E2F5; padding-top: clamp(14px,2vw,18px) !important;}
}
@media (max-width: 720px){
  .ag-p-recruit [data-wagegrid]{grid-template-columns: repeat(2,minmax(0,1fr));}
}
.ag-p-recruit [data-tkswipe][data-on]{display: flex !important;}
.ag-p-recruit [data-hscroll]{scrollbar-width: none; -ms-overflow-style: none;}
.ag-p-recruit [data-hscroll]::-webkit-scrollbar{display: none;}
.ag-p-recruit [data-hscroll][data-fade]{-webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 26px), rgba(0,0,0,0) 100%); mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 26px), rgba(0,0,0,0) 100%);}
.ag-p-recruit [data-hscroll][data-fade][data-fadeleft]{-webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, #000 26px, #000 calc(100% - 26px), rgba(0,0,0,0) 100%); mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, #000 26px, #000 calc(100% - 26px), rgba(0,0,0,0) 100%);}
.ag-p-recruit [data-hscroll][data-fade][data-fadeend]{-webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, #000 26px, #000 100%); mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, #000 26px, #000 100%);}
.ag-p-recruit [data-workgrid]{grid-template-columns: repeat(3,minmax(0,1fr));}
@media (max-width: 619px){
  .ag-p-recruit [data-workgrid]{grid-template-columns: minmax(0,1fr);}
}
.ag-p-recruit [data-wholist]{grid-template-columns: repeat(3,minmax(0,1fr)) !important;}
@media (max-width: 619px){
  .ag-p-recruit [data-wholist]{grid-template-columns: minmax(0,1fr) !important;}
}
@media (max-width: 619px){
  .ag-p-recruit [data-leadimg]{aspect-ratio: 16/9 !important;}
  .ag-p-recruit [data-workgrid] > div{padding: 16px 18px !important;}
  .ag-p-recruit [data-workgrid] h3{font-size: 16.5px !important; margin-bottom: 6px !important;}
  .ag-p-recruit [data-workgrid] p{font-size: 13.5px !important; line-height: 1.75 !important;}
  .ag-p-recruit [data-workgrid] > div > span:first-of-type{margin-bottom: 8px !important;}
  .ag-p-recruit [data-envgrid]{grid-template-columns: minmax(0,1fr) !important;}
  .ag-p-recruit [data-wholist] > div{flex-direction: row !important; align-items: center !important; text-align: left !important; gap: 14px !important;}
  .ag-p-recruit [data-wholist] > div > span:first-child{width: 58px !important; height: 58px !important;}
  .ag-p-recruit [data-wholist] > div > span:first-child svg{width: 28px; height: 28px;}
  .ag-p-recruit [data-whorow],.ag-p-recruit [data-whorow2]{flex-direction: column; align-items: stretch !important;}
  .ag-p-recruit [data-whorow2]{flex-direction: column-reverse;}
  .ag-p-recruit [data-whoimg],.ag-p-recruit [data-whoimg2]{width: 100% !important; max-width: 100% !important; aspect-ratio: 16/9 !important;}
  .ag-p-recruit [data-whorow],.ag-p-recruit [data-whorow2]{margin-bottom: clamp(20px,3vw,26px) !important; gap: 14px !important;}
  .ag-p-recruit [data-whorow] > div,.ag-p-recruit [data-whorow2] > div{flex: 0 0 auto !important;}
  .ag-p-recruit [data-whogrid]{grid-template-columns: minmax(0,1fr) !important;}
  .ag-p-recruit [data-envgrid] > div,.ag-p-recruit [data-whogrid] > div{padding: 16px 18px !important;}
  .ag-p-recruit [data-envgrid] h3,.ag-p-recruit [data-whogrid] h3{font-size: 16.5px !important; margin-bottom: 6px !important;}
  .ag-p-recruit [data-envgrid] p,.ag-p-recruit [data-whogrid] p{font-size: 13.5px !important; line-height: 1.75 !important;}
  .ag-p-recruit [data-envgrid] > div > span:first-of-type,.ag-p-recruit [data-whogrid] > div > span:first-of-type{margin-bottom: 8px !important;}
  .ag-p-recruit [data-entrycard]{min-height: 190px;}
  .ag-p-recruit [data-entryphoto]{position: absolute !important; inset: 0; aspect-ratio: auto !important;}
  .ag-p-recruit [data-entryphoto]::after{content: ""; position: absolute; inset: 0; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 100%);}
  .ag-p-recruit [data-entrytext]{position: relative; z-index: 2; padding: 20px 20px 22px !important;}
}
.ag-p-recruit [data-ctabr]{display: none;}
@media (max-width: 430px){
  .ag-p-recruit [data-ctabr]{display: block;}
}
.ag-p-recruit [data-statbr]{display: none;}
@media (min-width: 620px){
  .ag-p-recruit [data-whorow]{flex-wrap: nowrap !important;}
  .ag-p-recruit [data-whoimg]{max-width: 280px !important;}
}
@media (min-width: 620px) and (max-width: 999px){
  .ag-p-recruit [data-statbr]{display: block;}
}
.ag-p-recruit [data-wagebr]{display: none;}
@media (min-width: 620px) and (max-width: 999px){
  .ag-p-recruit [data-wagebr]{display: block;}
  .ag-p-recruit [data-wagelabel]{min-height: 1.4em; display: flex; align-items: center; justify-content: center;}
  .ag-p-recruit [data-wagenote]{min-height: 3.4em !important; display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: center; text-align: center;}
  .ag-p-recruit [data-wagebr]{flex-basis: 100%; height: 0;}
}
.ag-p-recruit [data-entrygrid]{grid-template-columns: repeat(4,minmax(0,1fr));}
@media (max-width: 900px){
  .ag-p-recruit [data-entrygrid]{grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 480px){
  .ag-p-recruit [data-entrygrid]{grid-template-columns: minmax(0,1fr);}
}
.ag-p-recruit [data-forcard]{transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease;}
.ag-p-recruit [data-forcard] img{transition: transform .6s cubic-bezier(.2,.7,.2,1);}
.ag-p-recruit [data-forcard]:hover{transform: translateY(-4px); box-shadow: 0 22px 46px rgba(6,36,110,.24);}
.ag-p-recruit [data-forcard]:hover img{transform: scale(1.06);}

/* ---- 受領 helmet：beginner（元の順のまま・47規則） ---- */
.ag-p-beginner [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-beginner [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-beginner [data-svcphoto]{background: #06246E !important;}
.ag-p-beginner [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-beginner [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-beginner [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-beginner [data-svccard]{display: block !important;}
  .ag-p-beginner [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-beginner [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-beginner [data-svcfade]{display: none !important;}
  .ag-p-beginner [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 999px){
  .ag-p-beginner [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}
.ag-p-beginner [data-heroh2br]{display: block;}
@media (min-width: 361px) and (max-width: 999px){
  .ag-p-beginner [data-heroh2br]{display: none;}
  .ag-p-beginner [data-heroh2]{white-space: nowrap !important; text-wrap: nowrap !important; font-size: clamp(19px,4.4vw,34px) !important;}
}
.ag-p-beginner [data-stepbr]{display: none;}
@media (min-width: 361px) and (max-width: 999px){
  .ag-p-beginner [data-stepbr]{display: block;}
}
@media (min-width: 620px){
  .ag-p-beginner [data-steptitle]{display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: flex-start; min-height: 3.1em; margin-bottom: 10px !important;}
  .ag-p-beginner [data-stepbr]{flex-basis: 100%; height: 0;}
}
@media (min-width: 620px){
  .ag-p-beginner [data-fdrow]{flex-wrap: nowrap !important;}
}
.ag-p-beginner [data-steprow]{grid-template-columns: repeat(4,minmax(0,1fr));}
@media (max-width: 619px){
  .ag-p-beginner [data-steprow]{grid-template-columns: minmax(0,1fr);}
}
.ag-p-beginner [data-herorow]{grid-template-columns: minmax(0,1fr) 256px; grid-template-areas: "h2 img" "text img";}
.ag-p-beginner [data-herorow] > [data-heroh2]{grid-area: h2;}
.ag-p-beginner [data-herotext]{grid-area: text;}
.ag-p-beginner [data-heroimg]{grid-area: img; align-self: center; max-width: 256px !important;}
@media (max-width: 999px){
  .ag-p-beginner [data-trainphotos]{grid-template-columns: repeat(3,minmax(0,1fr)) !important; width: 100%; flex: 1 1 100% !important;}
}
@media (max-width: 619px){
  .ag-p-beginner [data-steprow] > div{flex-direction: row !important; align-items: stretch; gap: 10px;}
  .ag-p-beginner [data-stepbadge]{flex: none; width: 86px; height: auto !important; margin-bottom: 0 !important; flex-direction: column; gap: 2px; padding: 12px 10px 20px !important; letter-spacing: 0.14em !important; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), 50% 100%, 0 calc(100% - 14px)) !important;}
  .ag-p-beginner [data-stepbadge] > span{margin-left: 0 !important; font-size: 20px !important;}
  .ag-p-beginner [data-stepcard]{flex: 1 1 auto;}
  .ag-p-beginner [data-steptitle]{min-height: 0 !important;}
  .ag-p-beginner [data-stepbr]{display: none !important;}
  .ag-p-beginner [data-fdimg]{flex: 1 1 100% !important; max-width: 100% !important;}
  .ag-p-beginner [data-herorow]{grid-template-columns: minmax(0,1fr); grid-template-areas: "h2" "img" "text"; gap: clamp(18px,3vw,26px);}
  .ag-p-beginner [data-heroimg]{max-width: 100% !important; aspect-ratio: 4/3 !important;}
  .ag-p-beginner [data-heroh2]{font-size: clamp(19px,5.6vw,34px) !important;}
}
.ag-p-beginner [data-steptitle]{white-space: nowrap !important; text-wrap: nowrap !important; font-size: clamp(13px,1.55vw,16.5px) !important; letter-spacing: -0.02em;}
.ag-p-beginner [data-faqans]{display: grid; grid-template-rows: 1fr;}
.ag-p-beginner [data-faqans] > div{overflow: hidden; min-height: 0;}
.ag-p-beginner [data-faq][open] > [data-faqans]{animation: faqOpen .34s cubic-bezier(.2,.7,.2,1);}
@media (prefers-reduced-motion: reduce){
  .ag-p-beginner [data-faq][open] > [data-faqans]{animation: none;}
}
.ag-p-beginner [data-faq] summary::-webkit-details-marker{display: none;}
.ag-p-beginner [data-faq] summary{transition: background .25s ease;}
.ag-p-beginner [data-faq] summary:hover{background: #F5F8FF;}
.ag-p-beginner [data-faq][open] > summary{background: #F5F8FF;}
.ag-p-beginner [data-faqbar]{transition: transform .25s ease, opacity .25s ease; transform-origin: center;}
.ag-p-beginner [data-faq][open] [data-faqbar]{transform: scaleY(0); opacity: 0;}
.ag-p-beginner [data-hardbr]{display: none;}
@media (min-width: 620px) and (max-width: 999px){
  .ag-p-beginner [data-hardbr]{display: block;}
}
.ag-p-beginner [data-ctabr]{display: none;}
@media (max-width: 619px){
  .ag-p-beginner [data-ctabr]{display: block;}
}
.ag-p-beginner [data-hardbr2]{display: block;}
@media (min-width: 400px) and (max-width: 619px){
  .ag-p-beginner [data-hardbr2]{display: none;}
}
.ag-p-beginner [data-qbr]{display: none;}
@media (max-width: 619px){
  .ag-p-beginner [data-qbr]{display: block;}
}
@media (max-width: 430px){
  .ag-p-beginner [data-stepbadge]{width: 62px !important; padding: 10px 6px 18px !important; letter-spacing: 0.08em !important; font-size: 10.5px !important;}
  .ag-p-beginner [data-stepbadge] > span{font-size: 17px !important;}
}
@media (max-width: 360px){
  .ag-p-beginner [data-quote]{font-size: 12.8px !important; white-space: nowrap !important; padding-left: 14px !important; padding-right: 14px !important;}
  .ag-p-beginner [data-hardline]{white-space: nowrap !important; font-size: 11px !important;}
  .ag-p-beginner [data-ctalead]{white-space: nowrap !important; font-size: 12.5px !important;}
}
@media (min-width: 361px) and (max-width: 430px){
  .ag-p-beginner [data-quote]{font-size: clamp(14px,3.9vw,17px) !important; white-space: nowrap !important; padding-left: 18px !important; padding-right: 18px !important;}
}
@media (min-width: 400px) and (max-width: 619px){
  .ag-p-beginner [data-fyh3]{white-space: nowrap !important; text-wrap: nowrap !important; font-size: clamp(15px,3.6vw,19px) !important;}
  .ag-p-beginner [data-hardline]{white-space: nowrap !important; text-wrap: nowrap !important; font-size: clamp(11.5px,2.9vw,14.5px) !important;}
}
.ag-p-beginner [data-mcard]{grid-template-columns: 34px auto auto minmax(0,1fr);}
@media (max-width: 999px){
  .ag-p-beginner [data-mcard]{grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 2px 16px; padding: 12px 18px !important;}
  .ag-p-beginner [data-mcard] > span:first-child{grid-row: 1 / span 3;}
  .ag-p-beginner [data-mcard] > span:nth-child(2),.ag-p-beginner [data-mcard] > b,.ag-p-beginner [data-mcard] > span:last-child{grid-column: 2;}
  .ag-p-beginner [data-mcard] > b{font-size: 15px !important;}
  .ag-p-beginner [data-mcard] > span:last-child{font-size: 13.5px !important; line-height: 1.75 !important;}
}

/* ---- 受領 helmet：experienced（元の順のまま・29規則） ---- */
.ag-p-experienced [data-faq] summary::-webkit-details-marker{display: none;}
.ag-p-experienced [data-faq] summary{transition: background .25s ease;}
.ag-p-experienced [data-faq] summary:hover,.ag-p-experienced [data-faq][open] > summary{background: #F5F8FF;}
.ag-p-experienced [data-faqbar]{transition: transform .25s ease, opacity .25s ease; transform-origin: center;}
.ag-p-experienced [data-faq][open] [data-faqbar]{transform: scaleY(0); opacity: 0;}
.ag-p-experienced [data-faqans]{display: grid; grid-template-rows: 1fr;}
.ag-p-experienced [data-faqans] > div{overflow: hidden; min-height: 0;}
.ag-p-experienced [data-faq][open] > [data-faqans]{animation: faqOpen .34s cubic-bezier(.2,.7,.2,1);}
@media (prefers-reduced-motion: reduce){
  .ag-p-experienced [data-faq][open] > [data-faqans]{animation: none;}
}
.ag-p-experienced [data-bandlink]{transition: filter .3s ease, transform .3s cubic-bezier(.2,.7,.2,1);}
.ag-p-experienced [data-bandlink]:hover{filter: brightness(1.08); transform: translateY(-2px);}
@media (max-width: 479px){
  .ag-p-experienced [data-qamount]{font-size: clamp(14px,4.4vw,19px) !important;}
}
.ag-p-experienced [data-nbr2],.ag-p-experienced [data-nbr3]{display: none;}
@media (max-width: 430px){
  .ag-p-experienced [data-nbr2]{display: block;}
}
@media (max-width: 360px){
  .ag-p-experienced [data-nbr3]{display: block;}
}
.ag-p-experienced [data-nbr]{display: none;}
@media (max-width: 619px){
  .ag-p-experienced [data-nbr]{display: block;}
}
@media (max-width: 619px){
  .ag-p-experienced [data-fullimg]{max-width: 100% !important; aspect-ratio: 16/9 !important;}
}
@media (min-width: 620px){
  .ag-p-experienced [data-tworow]{flex-wrap: nowrap !important;}
  .ag-p-experienced [data-tworow] > div:last-child{max-width: 260px !important;}
}
.ag-p-experienced [data-expgrid]{grid-template-columns: repeat(3,minmax(0,1fr));}
@media (max-width: 719px){
  .ag-p-experienced [data-expgrid]{grid-template-columns: minmax(0,1fr);}
}
.ag-p-experienced [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-experienced [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-experienced [data-svcphoto]{background: #06246E !important;}
.ag-p-experienced [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-experienced [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-experienced [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-experienced [data-svccard]{display: block !important;}
  .ag-p-experienced [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-experienced [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-experienced [data-svcfade]{display: none !important;}
  .ag-p-experienced [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 999px){
  .ag-p-experienced [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}

/* ---- 受領 helmet：hataraki（元の順のまま・34規則） ---- */
.ag-p-hataraki [data-tlbr]{display: none;}
@media (max-width: 560px){
  .ag-p-hataraki [data-tlbr]{display: block;}
}
.ag-p-hataraki [data-dayphotos]{grid-template-columns: repeat(4,minmax(0,1fr));}
@media (max-width: 620px){
  .ag-p-hataraki [data-dayphotos]{grid-template-columns: repeat(2,minmax(0,1fr));}
}
.ag-p-hataraki [data-int]{grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); overflow-x: clip;}
@media (max-width: 760px){
  .ag-p-hataraki [data-int]{grid-template-columns: minmax(0,1fr);}
}
.ag-p-hataraki [data-intprof],.ag-p-hataraki [data-intcol] > *{opacity: 0; transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
.ag-p-hataraki [data-intprof]{transform: translateX(-32px);}
.ag-p-hataraki [data-intcol] > *{transform: translateX(32px);}
.ag-p-hataraki [data-intprof][data-tlin],.ag-p-hataraki [data-intcol] > *[data-tlin]{opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce){
  .ag-p-hataraki [data-intprof],.ag-p-hataraki [data-intcol] > *{opacity: 1; transform: none; transition: none;}
}
.ag-p-hataraki [data-tl]{opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);}
.ag-p-hataraki [data-tl][data-tlin]{opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce){
  .ag-p-hataraki [data-tl]{opacity: 1; transform: none; transition: none;}
}
.ag-p-hataraki [data-tlwrap]{grid-template-columns: 116px minmax(0,clamp(150px,22vw,200px)) minmax(0,1fr);}
@media (max-width: 1000px){
  .ag-p-hataraki [data-tlwrap]{grid-template-columns: 116px minmax(0,1fr);}
  .ag-p-hataraki [data-tl] > span:nth-child(2),.ag-p-hataraki [data-tl] > span:last-child{grid-column: 2;}
}
.ag-p-hataraki [data-h1br],.ag-p-hataraki [data-ctabr2]{display: none;}
@media (max-width: 360px){
  .ag-p-hataraki [data-h1br],.ag-p-hataraki [data-ctabr2]{display: block;}
}
.ag-p-hataraki [data-ctabr]{display: none;}
@media (max-width: 480px){
  .ag-p-hataraki [data-ctabr]{display: block;}
}
.ag-p-hataraki [data-tltbr]{display: none;}
@media (min-width: 370px) and (max-width: 999px){
  .ag-p-hataraki [data-tl] > span:nth-child(2){white-space: nowrap !important; text-wrap: nowrap !important;}
}
@media (min-width: 1000px){
  .ag-p-hataraki [data-tltbr]{display: block;}
}
@media (max-width: 369px){
  .ag-p-hataraki [data-tltbr]{display: block;}
}
@media (max-width: 560px){
  .ag-p-hataraki [data-tlwrap]{grid-template-columns: minmax(0,1fr);}
  .ag-p-hataraki [data-tl] > span:nth-child(2),.ag-p-hataraki [data-tl] > span:last-child{grid-column: 1; padding-left: 28px !important;}
}
@media (max-width: 400px){
  .ag-p-hataraki [data-tl] > span:nth-child(2),.ag-p-hataraki [data-tl] > span:last-child{padding-left: 24px !important;}
}
.ag-p-hataraki [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-hataraki [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-hataraki [data-svcphoto]{background: #06246E !important;}
.ag-p-hataraki [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-hataraki [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-hataraki [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-hataraki [data-svccard]{display: block !important;}
  .ag-p-hataraki [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-hataraki [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-hataraki [data-svcfade]{display: none !important;}
  .ag-p-hataraki [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 999px){
  .ag-p-hataraki [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}

/* ---- 受領 helmet：partner（元の順のまま・21規則） ---- */
.ag-p-partner [data-prow]{grid-template-columns: minmax(0,260px) minmax(0,1fr);}
.ag-p-partner [data-pol] > li:first-of-type,.ag-p-partner [data-pdl] > [data-prow]:first-of-type{border-top: 0 !important;}
.ag-p-partner [data-prow] dd,.ag-p-partner [data-pstep] > span:last-child{font-size: clamp(11.5px,3.4vw,15px) !important; letter-spacing: -0.02em; word-break: keep-all; overflow-wrap: anywhere;}
.ag-p-partner [data-pstep]{grid-template-columns: minmax(0,260px) minmax(0,1fr);}
@media (max-width: 700px){
  .ag-p-partner [data-prow],.ag-p-partner [data-pstep]{grid-template-columns: minmax(0,1fr) !important;}
}
.ag-p-partner [data-ph2br],.ag-p-partner [data-wbr]{display: block;}
@media (max-width: 860px){
  .ag-p-partner [data-wbr]{display: none;}
}
.ag-p-partner [data-ptop]{grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);}
@media (min-width: 620px) and (max-width: 860px){
  .ag-p-partner [data-ph2br]{display: none;}
  .ag-p-partner [data-ph2]{font-size: clamp(20px,2.9vw,26px) !important; letter-spacing: -0.03em; white-space: nowrap;}
  .ag-p-partner [data-pimg]{aspect-ratio: 5/3 !important;}
  .ag-p-partner [data-plist] > p{flex-direction: row !important; align-items: baseline; gap: 14px !important;}
  .ag-p-partner [data-plist] > p > span:last-child{font-size: clamp(19px,2.4vw,24px) !important; white-space: nowrap;}
}
.ag-p-partner [data-plist]{grid-template-columns: minmax(0,max-content) minmax(0,1fr);}
@media (max-width: 860px){
  .ag-p-partner [data-ptop]{grid-template-columns: minmax(0,1fr);}
  .ag-p-partner [data-plist]{grid-template-columns: minmax(0,1fr);}
  .ag-p-partner [data-plist] > p{flex-direction: row !important; align-items: baseline; gap: 12px !important;}
  .ag-p-partner [data-plist] > p > span:last-child{font-size: clamp(13px,3.6vw,20px) !important; white-space: nowrap;}
}
@media (max-width: 619px){
  .ag-p-partner [data-plist] > p{flex-direction: column !important; align-items: flex-start; gap: 6px !important;}
  .ag-p-partner [data-plist] > p > span:last-child{font-size: 20px !important;}
}
@media (max-width: 360px){
  .ag-p-partner [data-plist] > p{flex-direction: column !important; align-items: flex-start; gap: 8px !important;}
  .ag-p-partner [data-plist] > p > span:last-child{font-size: 18px !important; white-space: normal !important;}
  .ag-p-partner [data-wbr]{display: block !important;}
}
.ag-p-partner [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-partner [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-partner [data-svcphoto]{background: #06246E !important;}
.ag-p-partner [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-partner [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-partner [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-partner [data-svccard]{display: block !important;}
  .ag-p-partner [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-partner [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-partner [data-svcfade]{display: none !important;}
  .ag-p-partner [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 999px){
  .ag-p-partner [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}

/* ---- 受領 helmet：information（元の順のまま・12規則） ---- */
.ag-p-information [data-cbr],.ag-p-information [data-cbr2]{display: none;}
@media (max-width: 480px){
  .ag-p-information [data-cbr]{display: block;}
}
@media (max-width: 389px){
  .ag-p-information [data-cbr2]{display: block;}
}
@media (max-width: 999px){
  .ag-p-information [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}
.ag-p-information [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-information [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-information [data-svcphoto]{background: #06246E !important;}
.ag-p-information [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-information [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-information [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-information [data-svccard]{display: block !important;}
  .ag-p-information [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-information [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-information [data-svcfade]{display: none !important;}
  .ag-p-information [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration: .001s !important; animation-duration: .001s !important;}
}

/* ---- 受領 helmet：message（元の順のまま・17規則） ---- */
.ag-p-message [data-future]{grid-template-columns: minmax(0,1fr) minmax(0,0.72fr);}
@media (max-width: 999px){
  .ag-p-message [data-future]{grid-template-columns: minmax(0,1fr) !important;}
  .ag-p-message [data-future] > div:last-child{order: -1; aspect-ratio: 16/9 !important;}
}
@media (max-width: 520px){
  .ag-p-message [data-future] > div:last-child{aspect-ratio: 4/3 !important;}
}
.ag-p-message [data-mbr],.ag-p-message [data-sbr]{display: none;}
@media (max-width: 389px){
  .ag-p-message [data-mbr]{display: block;}
}
@media (max-width: 360px){
  .ag-p-message [data-sbr]{display: block;}
}
@media (max-width: 360px){
  .ag-p-message [data-h2fut]{font-size: 19px !important; letter-spacing: -0.03em !important;}
}
@media (max-width: 619px){
  .ag-p-message [data-name] > div:first-child{flex: 1 1 100% !important;}
  .ag-p-message [data-name] > div:first-child > div{aspect-ratio: 4/3 !important;}
}
@media (min-width: 620px) and (max-width: 999px){
  .ag-p-message [data-name]{display: block !important;}
  .ag-p-message [data-name]::after{content: ""; display: block; clear: both;}
  .ag-p-message [data-name] > div:first-child{float: left; width: clamp(240px,38%,320px) !important; margin: 4px 30px 16px 0;}
  .ag-p-message [data-name] > div:last-child{display: block;}
}
.ag-p-message [data-svccard]{transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; box-shadow: 0 0 0 1px #06246E;}
.ag-p-message [data-svccard] img{transition: transform .7s cubic-bezier(.2,.7,.2,1); transform: scale(1.012); backface-visibility: hidden; top: -1px !important; left: -1px !important; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;}
.ag-p-message [data-svcphoto]{background: #06246E !important;}
.ag-p-message [data-svccard]:hover{transform: translateY(-4px); box-shadow: 0 0 0 1px #06246E, 0 22px 46px rgba(6,36,110,.24);}
.ag-p-message [data-svccard]:hover img{transform: scale(1.072);}
@media (max-width: 999px){
  .ag-p-message [data-svcfade]{display: none !important;}
}
@media (max-width: 719px){
  .ag-p-message [data-svccard]{display: block !important;}
  .ag-p-message [data-svcscrim]{display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%);}
  .ag-p-message [data-svcphoto]{position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; opacity: .55; background: #06246E !important;}
  .ag-p-message [data-svcfade]{display: none !important;}
  .ag-p-message [data-svctext]{position: relative; z-index: 2; width: 100%; padding: 20px 20px 22px !important;}
}
@media (max-width: 999px){
  .ag-p-message [data-svctext] > span:nth-child(2){font-size: 18px !important; letter-spacing: -0.03em;}
}

/* ---- 受領 helmet：blog（元の順のまま・13規則） ---- */
.ag-p-blog [data-blog]{grid-template-columns: minmax(0,1fr) 300px;}
@media (max-width: 900px){
  .ag-p-blog [data-blog]{grid-template-columns: minmax(0,1fr);}
}
@media (max-width: 1100px){
  .ag-p-blog [data-pager]{gap: 6px !important;}
  .ag-p-blog [data-pager] > *{min-width: 34px !important; padding: 0 8px !important; font-size: 12.5px !important;}
}
@media (max-width: 560px){
  .ag-p-blog [data-pager]{gap: 5px !important;}
  .ag-p-blog [data-pager] > *{min-width: 28px !important; padding: 0 5px !important; font-size: 12px !important;}
  .ag-p-blog [data-pglabel]{display: none;}
}
.ag-p-blog [data-post]{transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .3s ease;}
.ag-p-blog [data-post] img{transition: transform .6s cubic-bezier(.2,.7,.2,1);}
.ag-p-blog [data-post]:hover{transform: translateY(-3px); box-shadow: 0 18px 38px rgba(10,40,120,.14); border-color: #0A4DD4;}
.ag-p-blog [data-post]:hover img{transform: scale(1.06);}
.ag-p-blog [data-postgrid]{grid-template-columns: repeat(2,minmax(0,1fr));}
@media (max-width: 360px){
  .ag-p-blog [data-pager]{gap: 4px !important;}
  .ag-p-blog [data-pager] > *{min-width: 24px !important; padding: 0 3px !important;}
}
@media (max-width: 389px){
  .ag-p-blog [data-ctah2]{font-size: 20px !important; letter-spacing: -0.03em; white-space: nowrap;}
  .ag-p-blog [data-ctap]{font-size: 13px !important; letter-spacing: -0.02em; white-space: nowrap;}
}
@media (max-width: 520px){
  .ag-p-blog [data-postgrid]{grid-template-columns: minmax(0,1fr);}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration: .001s !important; animation-duration: .001s !important;}
}

/* ---- 受領 helmet：header（元の順のまま・8規則） ---- */
.aegis-btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:15px 30px; border:0; border-radius:6px; background:linear-gradient(128deg,#06246E 0%,#0A4DD4 72%,#00C6FF 100%); color:#FFFFFF; font-family:inherit; font-size:15px; font-weight:700; line-height:1.4; letter-spacing:0.01em; text-decoration:none; cursor:pointer; box-shadow:0 10px 26px rgba(10,40,120,.18); transition:background .28s ease, box-shadow .28s ease, transform .28s cubic-bezier(.2,.7,.2,1);}
.aegis-btn:hover,.aegis-btn:focus-visible{background:linear-gradient(128deg,#0A4DD4 0%,#0A4DD4 66%,#00C6FF 100%); color:#FFFFFF; box-shadow:0 16px 34px rgba(10,40,120,.26); transform:translateY(-2px);}
.aegis-btn--lg{min-height:58px; padding:16px 34px; font-size:16px;}
.aegis-btn--on-navy{background:linear-gradient(128deg,#0A4DD4 0%,#1E6BE8 66%,#00C6FF 100%); box-shadow:0 18px 50px rgba(3,18,58,.34);}
.aegis-btn--on-navy:hover,.aegis-btn--on-navy:focus-visible{background:linear-gradient(128deg,#1E6BE8 0%,#3D86F5 60%,#4FD8FF 100%); box-shadow:0 20px 54px rgba(3,18,58,.40);}
.aegis-btn--ghost{background:transparent; border:2px solid rgba(255,255,255,.55); color:#FFFFFF; box-shadow:none;}
.aegis-btn--ghost:hover{background:rgba(255,255,255,.10); border-color:#FFFFFF; box-shadow:none;}
@media (prefers-reduced-motion: reduce){
  .aegis-btn{transition-duration:.001s}
}

/* ---- 受領 helmet：footer（元の順のまま・3規則） ---- */
@media (max-width: 359px){
  [data-ftsocial] > a{flex: 1 1 0 !important; min-width: 0 !important; padding-left: 6px !important; padding-right: 6px !important;}
  [data-ftbottom]{flex-wrap: nowrap !important; gap: 10px !important; font-size: 11px !important;}
  [data-ftbottom] > span{margin-left: auto !important; white-space: nowrap;}
  [data-ftbottom] > a{white-space: nowrap;}
}
@media (min-width: 400px) and (max-width: 719px){
  [data-fttel]{display: flex; align-items: baseline; gap: 7px; white-space: nowrap;}
  [data-fttel] a{font-size: 21px !important; letter-spacing: 0.02em !important; min-height: 44px !important; margin-bottom: 0 !important;}
  [data-fthours]{display: inline !important; font-size: 13px; letter-spacing: -0.01em;}
  ul[data-flist]{display: grid !important; grid-template-columns: 4fr 6fr !important; column-gap: 14px !important;}
  ul[data-flist] > li > a{white-space: nowrap; font-size: 13.5px; letter-spacing: -0.02em;}
}
@container aegisFootCat (min-width: 560px){
  ul[data-flist] > li{display: inline !important;}
  ul[data-flist] [data-fsep]{display: inline !important;}
}

/* ---- 生成クラス：受領の幅依存インラインstyle（基底＝最も広い幅の値） ---- */
/* header: logoStyle */
.agv1{width:auto !important;display:block !important;flex:none !important;height:clamp(30px,4.4vw,38px) !important;}
/* header: certStyle */
.agv2{display:block !important;font-size:clamp(8.5px,1.2vw,10px) !important;letter-spacing:0.03em !important;color:#878FA8 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
/* header: certBreak */
.agv3{display:none !important;}
/* header: telDisplay */
.agv4{display:flex !important;flex-direction:column !important;align-items:flex-end !important;text-decoration:none !important;transition:opacity .2s ease !important;}
/* header: ctaDisplay */
.agv5{display:flex !important;align-items:center !important;min-height:44px !important;padding:12px 18px !important;background:linear-gradient(128deg,#06246E 0%,#0A4DD4 72%,#00C6FF 100%) !important;color:#FFFFFF !important;border-radius:6px !important;font-size:13.5px !important;font-weight:700 !important;line-height:1.4 !important;white-space:nowrap !important;text-decoration:none !important;}
/* header: ctaDisplay */
.agv6{display:flex !important;align-items:center !important;min-height:44px !important;padding:10px 18px !important;background:#FFFFFF !important;color:#0A4DD4 !important;border:2px solid #0A4DD4 !important;border-radius:6px !important;font-size:13.5px !important;font-weight:700 !important;line-height:1.4 !important;white-space:nowrap !important;text-decoration:none !important;}
/* header: burgerStyle */
.agv7{display:none !important;align-items:center !important;justify-content:center !important;width:46px !important;height:46px !important;flex:none !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:linear-gradient(128deg,#06246E 0%,#0A4DD4 72%,#00C6FF 100%) !important;color:#FFFFFF !important;font-family:inherit !important;cursor:pointer !important;transition:background .25s, border-color .25s !important;}
/* header: navStyle */
.agv8{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:center !important;gap:0 !important;}
/* header: itemStyle */
.agv9{display:flex !important;align-items:center !important;min-height:48px !important;padding:14px clamp(12px,2.2vw,28px) !important;white-space:nowrap !important;font-size:14.5px !important;font-weight:500 !important;color:#DCE7FF !important;text-decoration:none !important;}
/* header: subStyle */
.agv10{list-style:none !important;margin:0 !important;padding:8px 0 !important;background:#FFFFFF !important;border:1px solid #E4E9F5 !important;border-radius:0 0 12px 12px !important;box-shadow:0 18px 50px rgba(10,40,120,.20) !important;position:absolute !important;top:100% !important;z-index:120 !important;min-width:240px !important;left:0 !important;}
/* header: subItemStyle */
.agv11{display:flex !important;align-items:center !important;min-height:44px !important;padding:10px 18px !important;font-size:14.5px !important;color:#0D1424 !important;text-decoration:none !important;}
/* header: subStyleR */
.agv12{list-style:none !important;margin:0 !important;padding:8px 0 !important;background:#FFFFFF !important;border:1px solid #E4E9F5 !important;border-radius:0 0 12px 12px !important;box-shadow:0 18px 50px rgba(10,40,120,.20) !important;position:absolute !important;top:100% !important;z-index:120 !important;min-width:240px !important;right:0 !important;}
/* header: navCtaRow */
.agv13{display:none !important;gap:8px !important;margin-top:8px !important;}
/* header: navCtaSub */
.agv14{display:inline !important;}
/* header: navCtaDisplay */
.agv15{display:none !important;align-items:center !important;justify-content:center !important;gap:10px !important;min-height:44px !important;margin-top:4px !important;color:#FFFFFF !important;font-family:'Noto Serif JP',serif !important;font-weight:700 !important;font-size:19px !important;letter-spacing:0.03em !important;text-decoration:none !important;border-radius:6px !important;transition:background .2s ease !important;}
/* index: fvBreak */
.agv16{display:none !important;}
/* index: fvGap */
.agv17{display:block !important;height:0px !important;}
/* index: fvCardA */
.agv18{position:relative !important;overflow:hidden !important;flex:1 1 320px !important;display:flex !important;align-items:center !important;background:#0A4DD4 !important;color:#FFFFFF !important;border-radius:16px !important;box-shadow:0 0 16px rgba(6,36,110,.30) !important;text-decoration:none !important;gap:clamp(8px,1.6vw,14px) !important;padding:clamp(18px,2.4vw,28px) clamp(20px,2.8vw,36px) !important;}
/* index: fvCardTitle */
.agv19{font-family:'Noto Serif JP',serif !important;font-weight:700 !important;line-height:1.3 !important;white-space:nowrap !important;font-size:clamp(19px,2.2vw,24px) !important;}
/* index: fvDesc */
.agv20{color:#BFD3F7 !important;line-height:1.65 !important;font-size:12.5px !important;text-wrap:pretty !important;}
/* index: fvCardB */
.agv21{position:relative !important;overflow:hidden !important;flex:1 1 320px !important;display:flex !important;align-items:center !important;background:linear-gradient(115deg,#0B2E5C 0%,#0E7C86 100%) !important;color:#FFFFFF !important;border-radius:16px !important;box-shadow:0 0 16px rgba(6,36,110,.18) !important;text-decoration:none !important;gap:clamp(8px,1.6vw,14px) !important;padding:clamp(18px,2.4vw,28px) clamp(20px,2.8vw,36px) !important;}
/* index: fvDesc2 */
.agv22{color:#BFEAE6 !important;line-height:1.65 !important;font-size:12.5px !important;}
/* index: statLabel */
.agv23{font-size:clamp(12px,1.4vw,13px) !important;line-height:1.7 !important;color:#AFC6F5 !important;}
/* index: statLabelNw */
.agv24{font-size:clamp(12px,1.4vw,13px) !important;line-height:1.7 !important;color:#AFC6F5 !important;white-space:nowrap !important;}
/* index: worriesH2 */
.agv25{color:#06246E !important;margin:0 0 16px !important;font-size:clamp(26px,3.4vw,38px) !important;}
/* index: tabsBox */
.agv26{position:relative !important;z-index:1 !important;display:flex !important;flex-wrap:wrap !important;gap:0 4px !important;align-items:flex-end !important;}
/* index: tabClientStyle */
.agv27{order:1 !important;flex:1 1 240px !important;min-height:62px !important;padding:20px 30px !important;border:2px solid #C6D5EE !important;border-bottom:2px solid #FFFFFF !important;border-radius:6px 6px 0 0 !important;background:#FFFFFF !important;color:#06246E !important;font-family:inherit !important;font-size:18.5px !important;font-weight:700 !important;cursor:pointer !important;position:relative !important;z-index:1 !important;margin-bottom:-2px !important;}
/* index: caretClientStyle */
.agv28{display:none !important;flex:none !important;margin-left:auto !important;width:11px !important;height:11px !important;border-right:2.5px solid currentColor !important;border-bottom:2.5px solid currentColor !important;transform:translateY(-2px) rotate(-135deg) !important;transition:transform .45s cubic-bezier(.22,.75,.2,1) !important;}
/* index: panelClient */
.agv29{order:5 !important;flex:1 1 100% !important;width:100% !important;display:block !important;}
/* index: panelSkin */
.agv30{border:2px solid #C6D5EE !important;border-radius:0 0 6px 6px !important;padding:clamp(14px,2vw,22px) !important;background:#FFFFFF !important;}
/* index: qaQ */
.agv31{flex:1 1 320px !important;align-self:stretch !important;display:flex !important;align-items:center !important;margin:0 !important;background:#EAF1FF !important;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;font-weight:500 !important;color:#06246E !important;padding:22px 24px !important;font-size:16.5px !important;line-height:1.7 !important;}
/* index: qaA */
.agv32{flex:2 1 380px !important;margin:0 !important;color:#0D1424 !important;padding:22px 24px !important;font-size:15.5px !important;}
/* index: whyH2 */
.agv33{margin:0 0 26px !important;color:#FFFFFF !important;font-size:clamp(22px,4.4vw,34px) !important;letter-spacing:-0.01em !important;line-height:1.35 !important;white-space:nowrap !important;}
/* index: whyCard */
.agv34{position:relative !important;overflow:hidden !important;flex:1 1 300px !important;display:flex !important;flex-direction:column !important;background:linear-gradient(150deg,#22304E 0%,#1B2740 100%) !important;border:1px solid rgba(127,227,255,.20) !important;border-radius:4px !important;padding:22px clamp(16px,1.9vw,24px) !important;}
/* index: whyTitle */
.agv35{position:relative !important;margin:0 0 12px !important;min-height:calc(18px * 1.6 * 2) !important;display:flex !important;align-items:flex-start !important;gap:9px !important;text-align:left !important;color:#FFFFFF !important;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;font-weight:700 !important;font-size:clamp(16px,1.85vw,18px) !important;line-height:1.6 !important;letter-spacing:-0.01em !important;text-wrap:pretty !important;}
/* index: whyBody */
.agv36{position:relative !important;margin:0 !important;font-size:15px !important;line-height:1.8 !important;color:#B7C9EA !important;}
/* index: whyBreakA */
.agv37{display:none !important;}
/* index: whyBreakC */
.agv38{display:block !important;}
/* index: narrowBreak */
.agv39{display:none !important;}
/* index: whyBreak */
.agv40{display:block !important;}
/* index: trafficCard */
.agv41{position:relative !important;overflow:hidden !important;margin-top:clamp(28px,3.5vw,40px) !important;background:linear-gradient(100deg,rgba(0,198,255,.14) 0%,rgba(10,77,212,.10) 100%) !important;border:1px solid rgba(0,198,255,.40) !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:14px 28px !important;text-decoration:none !important;color:#FFFFFF !important;transition:background .3s, border-color .3s !important;padding:30px 34px !important;}
/* index: trafficLead */
.agv42{font-family:'Noto Serif JP',serif !important;font-weight:700 !important;line-height:1.55 !important;font-size:clamp(17px,1.9vw,21px) !important;}
/* index: trafficCta */
.agv43{display:flex !important;align-items:center !important;color:#7FE3FF !important;font-weight:700 !important;flex:none !important;gap:14px !important;font-size:12px !important;letter-spacing:0.22em !important;white-space:nowrap !important;}
/* index: trafficArrowBox */
.agv44{position:relative !important;display:block !important;height:8px !important;flex:none !important;width:52px !important;}
/* index: trafficArrowLine */
.agv45{position:absolute !important;left:0 !important;top:50% !important;height:1px !important;margin-top:-0.5px !important;background:#7FE3FF !important;width:52px !important;}
/* index: svcScrim */
.agv46{display:none !important;}
/* index: svcPhoto */
.agv47{position:relative !important;flex:4 1 calc((360px - 100%) * 999) !important;min-width:0 !important;overflow:hidden !important;display:block !important;background:#243353 !important;height:190px !important;}
/* index: svcFade */
.agv48{position:absolute !important;left:0 !important;right:0 !important;bottom:0 !important;height:48% !important;background:linear-gradient(180deg,rgba(6,36,110,0) 0%,rgba(6,36,110,.55) 55%,#06246E 100%) !important;pointer-events:none !important;opacity:1 !important;}
/* index: svcText */
.agv49{flex:6 1 calc((360px - 100%) * 999) !important;min-width:0 !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;gap:7px !important;padding:16px 24px 18px !important;background:#06246E !important;}
/* index: condList */
.agv52{display:flex !important;flex-wrap:wrap !important;align-items:flex-start !important;gap:clamp(10px,1.4vw,22px) !important;}
/* index: condTile */
.agv53{flex:1 1 calc((620px - 100%) * 999) !important;min-width:0 !important;padding:4px 2px !important;display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;gap:10px !important;}
/* index: condLabel */
.agv54{display:flex !important;flex-direction:column !important;align-items:center !important;gap:10px !important;font-size:10.5px !important;letter-spacing:0.24em !important;color:#7FE3FF !important;font-weight:700 !important;}
/* index: condIcon */
.agv55{display:contents !important;}
/* index: condEn */
.agv56{display:contents !important;}
/* index: condDesc */
.agv57{font-size:clamp(11px,1.35vw,12.5px) !important;line-height:1.7 !important;color:#BFD3F7 !important;letter-spacing:-0.01em !important;}
/* index: condBreak */
.agv58{display:block !important;}
/* index: recruitCard */
.agv59{position:relative !important;overflow:hidden !important;flex:1 1 calc((640px - 100%) * 999) !important;min-width:0 !important;padding:clamp(20px,2.4vw,28px) clamp(16px,2.4vw,26px) clamp(16px,2vw,22px) !important;border:1px solid #C6D5EE !important;border-radius:4px !important;display:flex !important;flex-direction:column !important;gap:clamp(8px,1.1vw,12px) !important;color:#0D1424 !important;background:#FFFFFF !important;text-decoration:none !important;transition:border-color .3s, box-shadow .3s, background .3s !important;}
/* index: recruitNum */
.agv60{position:absolute !important;right:14px !important;bottom:6px !important;font-family:'Noto Serif JP',serif !important;font-weight:700 !important;line-height:1 !important;color:rgba(10,77,212,.10) !important;pointer-events:none !important;font-size:88px !important;}
/* index: recruitTitle */
.agv61{color:#06246E !important;position:relative !important;margin:0 !important;min-height:calc(2 * 1.45em) !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:flex-start !important;font-family:'Noto Serif JP',serif !important;font-weight:700 !important;font-size:clamp(18.5px,2.2vw,22px) !important;line-height:1.45 !important;letter-spacing:-0.01em !important;}
/* index: recruitBannerStyle */
.agv62{margin-top:clamp(20px,2.6vw,28px) !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:space-between !important;gap:14px 24px !important;background:linear-gradient(128deg,#06246E 0%,#0A4DD4 72%,#00C6FF 100%) !important;color:#FFFFFF !important;text-decoration:none !important;padding:24px 30px !important;}
/* index: recruitLead */
.agv63{font-family:'Noto Serif JP',serif !important;font-weight:700 !important;font-size:clamp(18px,2.1vw,22px) !important;line-height:1.5 !important;}
/* index: ctaH2 */
.agv64{margin:0 0 16px !important;color:#FFFFFF !important;font-size:clamp(26px,3.4vw,38px) !important;}
/* index: ctaBody */
.agv65{margin:0 0 30px !important;color:#DCE7FF !important;font-size:16px !important;}
/* index: condIconSize（受領はSVGの width/height 属性を幅で切替） */
.ag-condicon{width:28px;height:28px}
/* traffic: figWrap */
.agv66{margin:0 0 24px !important;display:grid !important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important;gap:clamp(18px,2.2vw,28px) !important;align-items:stretch !important;}
/* traffic: figImgBox */
.agv67{position:relative !important;overflow:hidden !important;background:#FFFFFF !important;border:1px solid #E4E9F5 !important;height:100% !important;display:flex !important;align-items:center !important;justify-content:center !important;}
/* traffic: noteGrid */
.agv68{list-style:none !important;margin:0 !important;padding:0 !important;height:100% !important;display:flex !important;flex-direction:column !important;gap:clamp(10px,1.2vw,14px) !important;}
/* traffic: noteCard */
.agv69{flex:1 1 0 !important;display:flex !important;flex-direction:row !important;gap:12px !important;align-items:flex-start !important;padding:14px 16px !important;background:#06246E !important;border:1px solid #06246E !important;}
/* traffic: guardImg */
.agv70{flex:0 0 clamp(220px,32%,380px) !important;min-width:0 !important;overflow:hidden !important;aspect-ratio:1/1 !important;background:#E4E9F5 !important;}
/* traffic: guardTxt */
.agv71{flex:1 1 0 !important;min-width:0 !important;}
/* traffic: caseCell */
.agv72{min-width:0 !important;border-radius:4px !important;overflow:hidden !important;background:#E4E9F5 !important;aspect-ratio:1/1 !important;}
/* traffic: condGrid */
.agv73{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:clamp(14px,2vw,20px) !important;}
/* traffic: bandBreak */
.agv74{display:none !important;}
/* traffic: signalGrid */
.agv75{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:clamp(12px,1.6vw,16px) !important;grid-auto-rows:1fr !important;margin-bottom:24px !important;}
/* traffic: signalCard */
.agv76{margin:0 !important;height:100% !important;display:flex !important;flex-direction:column !important;background:#1B2540 !important;border:1px solid #243353 !important;}
/* traffic: signalImg */
.agv77{flex:none !important;overflow:hidden !important;aspect-ratio:4/3 !important;background:#243353 !important;}
/* traffic: signalCap */
.agv78{flex:1 1 auto !important;padding:12px 14px 14px !important;}
/* traffic: ctaBreakA */
.agv79{display:none !important;}
/* parking: leadRow */
.agv80{display:flex !important;flex-wrap:nowrap !important;gap:clamp(18px,2.6vw,32px) !important;align-items:center !important;margin-bottom:32px !important;}
/* parking: leadImg */
.agv81{flex:0 0 clamp(240px,36%,480px) !important;min-width:0 !important;overflow:hidden !important;aspect-ratio:16/10 !important;background:#E4E9F5 !important;}
/* parking: holRow */
.agv82{display:flex !important;flex-wrap:nowrap !important;gap:clamp(20px,3.2vw,44px) !important;align-items:center !important;}
/* parking: holImg */
.agv83{flex:0 0 clamp(240px,36%,380px) !important;min-width:0 !important;overflow:hidden !important;aspect-ratio:4/3 !important;background:#243353 !important;}
/* parking: bannerBox */
.agv84{margin:0 0 clamp(18px,2.4vw,26px) !important;overflow:hidden !important;aspect-ratio:16/5 !important;background:#E4E9F5 !important;}
/* parking: flowBannerBox */
.agv85{margin-bottom:clamp(18px,2.4vw,26px) !important;overflow:hidden !important;aspect-ratio:16/5 !important;background:#E4E9F5 !important;}

/* ---- 生成クラス：style-hover（1宣言ずつ !important＝インラインstyleに勝たせる） ---- */
.agh1.agh1.agh1:hover{opacity:0.72 !important;}
.agh2.agh2.agh2:hover{background:linear-gradient(128deg,#0A4DD4 0%,#0A4DD4 66%,#00C6FF 100%) !important;color:#FFFFFF !important;}
.agh3.agh3.agh3:hover{background:#EAF1FF !important;color:#06246E !important;}
.agh4.agh4.agh4:hover{background:linear-gradient(128deg,#0A4DD4 0%,#0A4DD4 60%,#00C6FF 100%) !important;}
.agh5.agh5.agh5:hover{background:rgba(255,255,255,.10) !important;color:#FFFFFF !important;}
.agh6.agh6.agh6:hover{background:#EAF1FF !important;color:#0A4DD4 !important;}
.agh7.agh7.agh7:hover{color:#7FE3FF !important;text-shadow:0 0 18px rgba(127,227,255,.45) !important;}
.agh8.agh8.agh8:hover{background:#05B34C !important;border-color:#05B34C !important;color:#FFFFFF !important;}
.agh9.agh9.agh9:hover{background:#1a1a1a !important;border-color:#1a1a1a !important;color:#FFFFFF !important;}
.agh10.agh10.agh10:hover{color:#7FE3FF !important;}
.agh11.agh11.agh11:hover{color:#FFFFFF !important;}
.agh12.agh12.agh12:hover{background:#0838A8 !important;color:#FFFFFF !important;}
.agh13.agh13.agh13:hover{background:rgba(255,255,255,.12) !important;color:#FFFFFF !important;}
.agh14.agh14.agh14:hover{filter:brightness(1.05) !important;}
.agh15.agh15.agh15:hover{background:linear-gradient(100deg,rgba(0,198,255,.24) 0%,rgba(10,77,212,.16) 100%) !important;border-color:rgba(0,198,255,.85) !important;color:#FFFFFF !important;}
.agh17.agh17.agh17:hover{border-color:#0A4DD4 !important;box-shadow:0 18px 44px rgba(10,40,120,.16) !important;color:#0D1424 !important;}
.agh18.agh18.agh18:hover{background:linear-gradient(128deg,#1E6BE8 0%,#3D86F5 60%,#4FD8FF 100%) !important;color:#FFFFFF !important;}
.agh20.agh20.agh20:hover{background:rgba(255,255,255,.18) !important;color:#FFFFFF !important;}
.agh21.agh21.agh21:hover{background:rgba(0,198,255,.18) !important;border-color:#7FE3FF !important;}

/* ---- 生成クラス：インラインの animation / transition の退避先 ---- */
.aga1.aga1.aga1{transition:transform .3s cubic-bezier(.2,.7,.2,1);}
.aga2.aga2.aga2{transition:opacity .2s ease, transform .3s cubic-bezier(.2,.7,.2,1);}
.aga3.aga3.aga3{transition:color .2s ease, text-shadow .2s ease;}
.aga4.aga4.aga4{animation:aegisLoaderOut 3.5s cubic-bezier(.72,0,.24,1) forwards;}
.aga5.aga5.aga5{animation:aegisGlow 1.4s ease both;}
.aga6.aga6.aga6{animation:aegisBar 2.5s cubic-bezier(.4,0,.2,1) both;}
.aga7.aga7.aga7{animation:aegisLogoIn .9s cubic-bezier(.2,.7,.2,1) both;}
.aga8.aga8.aga8{animation:aegisSlideIn .85s cubic-bezier(.2,.7,.2,1) .5s both;}
.aga9.aga9.aga9{animation:aegisRuleIn .7s cubic-bezier(.4,0,.2,1) .9s both;}
.aga10.aga10.aga10{animation:aegisSlideIn .85s cubic-bezier(.2,.7,.2,1) 1.05s both;}
.aga11.aga11.aga11{animation:aegisUp .9s cubic-bezier(.2,.7,.2,1) 3.5s both;}
.aga12.aga12.aga12{animation:aegisGrow .8s cubic-bezier(.4,0,.2,1) 3.9s both;}
.aga13.aga13.aga13{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 3.6s both;}
.aga14.aga14.aga14{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 3.68s both;}
.aga15.aga15.aga15{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 3.76s both;}
.aga16.aga16.aga16{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 3.84s both;}
.aga17.aga17.aga17{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 3.92s both;}
.aga18.aga18.aga18{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4s both;}
.aga19.aga19.aga19{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.08s both;}
.aga20.aga20.aga20{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.16s both;}
.aga21.aga21.aga21{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.24s both;}
.aga22.aga22.aga22{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.32s both;}
.aga23.aga23.aga23{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.42s both;}
.aga24.aga24.aga24{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.5s both;}
.aga25.aga25.aga25{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.58s both;}
.aga26.aga26.aga26{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.66s both;}
.aga27.aga27.aga27{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.74s both;}
.aga28.aga28.aga28{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.82s both;}
.aga29.aga29.aga29{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.9s both;}
.aga30.aga30.aga30{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 4.98s both;}
.aga31.aga31.aga31{animation:aegisChar .7s cubic-bezier(.16,.84,.24,1) 5.06s both;}
.aga32.aga32.aga32{animation:aegisUp 1s cubic-bezier(.2,.7,.2,1) 4.2s both;}
.aga33.aga33.aga33{animation:aegisUp 1s cubic-bezier(.2,.7,.2,1) 4.5s both;}
.aga34.aga34.aga34{animation:aegisUp 1s ease 4.7s both;}
.aga35.aga35.aga35{animation:aegisCue 2.2s ease-in-out 5s infinite;}
.aga36.aga36.aga36{transition:width .95s cubic-bezier(.4,0,.2,1);}
.aga38.aga38.aga38{transition:opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1), background .25s;}
.aga39.aga39.aga39{animation:wGrow 1.1s cubic-bezier(.4,0,.2,1) .1s both;}
.aga40.aga40.aga40{animation:wUp .8s cubic-bezier(.2,.7,.2,1) both;}
.aga41.aga41.aga41{animation:wGrow .7s cubic-bezier(.4,0,.2,1) .25s both;}
.aga42.aga42.aga42{animation:wUp .85s cubic-bezier(.2,.7,.2,1) .12s both;}
.aga43.aga43.aga43{transition:background-size 1.25s cubic-bezier(.5,.05,.3,1);}
.aga44.aga44.aga44{transition:background .25s, border-color .25s;}

/* ---- 生成クラス：幅ごとの上書き（区間は受領 renderVals の実測切り替え点） ---- */
@media (max-width:719px){
  .agv1{height:44px !important;}
  .agv3{display:block !important;}
  .agv5{display:none !important;}
  .agv6{display:none !important;}
  .agv13{display:flex !important;}
  .agv15{display:flex !important;}
  .agv26{flex-direction:column !important;gap:8px !important;flex-wrap:revert !important;align-items:revert !important;}
  .agv28{display:block !important;}
  .agv29{order:2 !important;display:grid !important;grid-template-rows:1fr !important;opacity:1 !important;margin-top:-8px !important;transition:grid-template-rows .5s cubic-bezier(.22,.75,.2,1), opacity .35s ease, margin .35s ease !important;pointer-events:auto !important;}
  .agv30{border:2px solid #06246E !important;border-top:0 !important;border-radius:0 0 10px 10px !important;padding:14px !important;}
  .agv34{padding:16px 18px 18px !important;}
  .agv35{margin:0 0 6px !important;gap:8px !important;font-size:15px !important;line-height:1.55 !important;letter-spacing:-0.02em !important;min-height:revert !important;text-wrap:revert !important;}
  .agv36{font-size:14px !important;line-height:1.75 !important;}
  .agv46{position:absolute !important;inset:0 !important;z-index:1 !important;display:block !important;pointer-events:none !important;background:linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 78%,rgba(6,36,110,.28) 100%) !important;}
  .agv47{position:absolute !important;inset:0 !important;z-index:0 !important;opacity:.55 !important;background:#06246E !important;flex:revert !important;min-width:revert !important;overflow:revert !important;height:revert !important;}
  .agv49{position:relative !important;z-index:2 !important;width:100% !important;gap:8px !important;padding:20px 20px 22px !important;background:transparent !important;flex:revert !important;min-width:revert !important;justify-content:revert !important;}
  .agv52{display:grid !important;grid-auto-flow:row !important;justify-content:center !important;gap:6px !important;flex-wrap:revert !important;align-items:revert !important;}
  .agv54{display:contents !important;flex-direction:revert !important;align-items:revert !important;gap:revert !important;font-size:revert !important;letter-spacing:revert !important;color:revert !important;font-weight:revert !important;}
  .agv56{grid-column:2 !important;font-size:9.5px !important;letter-spacing:0.18em !important;color:#7FE3FF !important;font-weight:700 !important;display:revert !important;}
  .agv58{display:none !important;}
  .agv59{flex:1 1 100% !important;width:100% !important;padding:15px 16px 14px !important;gap:6px !important;}
  .agv61{font-size:18px !important;line-height:1.4 !important;min-height:revert !important;justify-content:revert !important;}
}
@media (max-width:899px){
  .agv2{font-size:9px !important;line-height:1.45 !important;letter-spacing:0 !important;white-space:revert !important;overflow:revert !important;text-overflow:revert !important;}
  .agv7{display:flex !important;}
  .agv8{position:absolute !important;top:100% !important;left:0 !important;right:0 !important;z-index:300 !important;max-height:var(--ag-navmax,72vh) !important;overflow-y:auto !important;overscroll-behavior:contain !important;-webkit-overflow-scrolling:touch !important;padding:4px clamp(20px,4.5vw,52px) 12px !important;flex-direction:column !important;align-items:stretch !important;background:#06246E !important;box-shadow:0 26px 52px rgba(6,36,110,.40) !important;transform-origin:top center !important;transition:opacity .26s ease, transform .3s cubic-bezier(.2,.7,.2,1), visibility .3s !important;opacity:0 !important;transform:translateY(-12px) !important;visibility:hidden !important;pointer-events:none !important;flex-wrap:revert !important;justify-content:revert !important;}
  .agv9{min-height:44px !important;padding:9px 4px !important;font-size:15px !important;color:#FFFFFF !important;border-bottom:1px solid rgba(255,255,255,.18) !important;white-space:revert !important;}
  .agv10{position:static !important;padding:0 0 0 14px !important;border-left:2px solid rgba(255,255,255,.3) !important;background:transparent !important;border:revert !important;border-radius:revert !important;box-shadow:revert !important;top:revert !important;z-index:revert !important;min-width:revert !important;left:revert !important;}
  .agv11{padding:8px 4px !important;color:#DCE7FF !important;}
  .agv12{position:static !important;padding:0 0 0 14px !important;border-left:2px solid rgba(255,255,255,.3) !important;background:transparent !important;border:revert !important;border-radius:revert !important;box-shadow:revert !important;top:revert !important;z-index:revert !important;min-width:revert !important;right:revert !important;}
}
@media (max-width:1079px){
  .agv4{display:none !important;}
}
@media (max-width:429px){
  .agv14{display:none !important;}
}
@media (max-width:399px){
  .agv16{display:block !important;}
  .agv17{height:12px !important;}
}
@media (max-width:359px){
  .agv18{gap:8px !important;padding:16px 18px !important;}
  .agv19{font-size:17.5px !important;}
  .agv20{font-size:11.5px !important;letter-spacing:-0.025em !important;white-space:nowrap !important;text-wrap:revert !important;}
  .agv21{gap:8px !important;padding:16px 18px !important;}
  .agv22{font-size:11.5px !important;letter-spacing:-0.025em !important;white-space:nowrap !important;}
  .agv23{font-size:11px !important;line-height:1.6 !important;letter-spacing:-0.03em !important;}
  .agv24{font-size:11px !important;line-height:1.6 !important;letter-spacing:-0.03em !important;white-space:revert !important;}
  .agv25{font-size:21px !important;letter-spacing:-0.06em !important;white-space:nowrap !important;}
  .agv27{display:flex !important;align-items:center !important;gap:8px !important;width:100% !important;min-height:60px !important;padding:17px 12px 17px 22px !important;border:2px solid #06246E !important;border-radius:10px 10px 0 0 !important;background:#06246E linear-gradient(180deg,#00C6FF,#0A4DD4) no-repeat left / 7px 100% !important;color:#FFFFFF !important;font-size:15px !important;letter-spacing:-0.03em !important;line-height:1.5 !important;text-align:left !important;transition:background .35s, color .35s, border-color .35s, border-radius .35s !important;flex:revert !important;border-bottom:revert !important;position:revert !important;z-index:revert !important;margin-bottom:revert !important;}
  .agv31{padding:11px 13px !important;font-size:13.5px !important;line-height:1.55 !important;letter-spacing:-0.02em !important;}
  .agv32{padding:11px 13px !important;font-size:12.5px !important;line-height:1.65 !important;letter-spacing:-0.02em !important;}
  .agv33{white-space:normal !important;}
  .agv39{display:block !important;}
  .agv41{padding:20px 16px !important;}
  .agv42{font-size:15.5px !important;letter-spacing:-0.02em !important;}
  .agv43{flex:1 1 100% !important;gap:10px !important;font-size:11px !important;letter-spacing:0.1em !important;white-space:revert !important;}
  .agv44{width:34px !important;}
  .agv45{width:34px !important;}
  .agv53{display:grid !important;grid-template-columns:34px 1fr !important;column-gap:9px !important;row-gap:3px !important;padding:9px 0px !important;text-align:left !important;flex:revert !important;flex-direction:revert !important;gap:revert !important;}
  .agv55{grid-column:1 !important;grid-row:1 / span 3 !important;align-self:center !important;width:34px !important;height:34px !important;border-radius:50% !important;border:1px solid rgba(127,227,255,.45) !important;background:rgba(0,198,255,.08) !important;display:flex !important;align-items:center !important;justify-content:center !important;}
  .agv57{font-size:11.5px !important;letter-spacing:-0.045em !important;}
  .agv60{font-size:44px !important;}
  .agv62{padding:16px 14px !important;}
  .agv63{font-size:15.5px !important;letter-spacing:-0.035em !important;line-height:1.55 !important;}
  .agv64{font-size:23px !important;letter-spacing:-0.02em !important;}
  .agv65{font-size:13.5px !important;letter-spacing:-0.02em !important;line-height:1.85 !important;}
  .ag-condicon{width:20px;height:20px}
}
@media (min-width:360px) and (max-width:399px){
  .agv25{font-size:25px !important;letter-spacing:-0.045em !important;white-space:nowrap !important;}
  .agv33{font-size:27px !important;letter-spacing:-0.02em !important;line-height:1.4 !important;white-space:revert !important;}
  .agv37{display:block !important;}
  .agv53{display:grid !important;grid-template-columns:46px 1fr !important;column-gap:16px !important;row-gap:3px !important;padding:9px 10px !important;text-align:left !important;flex:revert !important;flex-direction:revert !important;gap:revert !important;}
  .agv63{font-size:18px !important;letter-spacing:-0.02em !important;line-height:1.6 !important;}
}
@media (min-width:360px) and (max-width:719px){
  .agv27{display:flex !important;align-items:center !important;gap:12px !important;width:100% !important;min-height:66px !important;padding:19px 18px 19px 28px !important;border:2px solid #06246E !important;border-radius:10px 10px 0 0 !important;background:#06246E linear-gradient(180deg,#00C6FF,#0A4DD4) no-repeat left / 7px 100% !important;color:#FFFFFF !important;font-size:17px !important;line-height:1.5 !important;text-align:left !important;transition:background .35s, color .35s, border-color .35s, border-radius .35s !important;flex:revert !important;border-bottom:revert !important;position:revert !important;z-index:revert !important;margin-bottom:revert !important;}
  .agv38{display:none !important;}
  .agv55{grid-column:1 !important;grid-row:1 / span 3 !important;align-self:center !important;width:50px !important;height:50px !important;border-radius:50% !important;border:1px solid rgba(127,227,255,.45) !important;background:rgba(0,198,255,.08) !important;display:flex !important;align-items:center !important;justify-content:center !important;}
  .agv60{font-size:60px !important;}
  .agv62{padding:20px 18px !important;}
}
@media (min-width:400px) and (max-width:699px){
  .agv33{white-space:normal !important;}
}
@media (min-width:400px) and (max-width:719px){
  .agv40{display:none !important;}
  .agv53{display:grid !important;grid-template-columns:50px 1fr !important;column-gap:22px !important;row-gap:3px !important;padding:9px 14px !important;text-align:left !important;flex:revert !important;flex-direction:revert !important;gap:revert !important;}
  .agv63{font-size:17px !important;letter-spacing:-0.035em !important;white-space:nowrap !important;}
}
@media (min-width:720px) and (max-width:999px){
  .agv47{align-self:stretch !important;min-height:190px !important;height:revert !important;}
}
@media (max-width:999px){
  .agv48{opacity:0 !important;}
  .agv66{display:revert !important;grid-template-columns:revert !important;gap:revert !important;align-items:revert !important;}
  .agv67{height:revert !important;display:revert !important;align-items:revert !important;justify-content:revert !important;}
}
@media (max-width:619px){
  .agv68{margin:14px 0 0 !important;display:grid !important;grid-template-columns:repeat(1,minmax(0,1fr)) !important;gap:clamp(12px,1.6vw,16px) !important;height:revert !important;flex-direction:revert !important;}
  .agv69{padding:12px 14px !important;flex:revert !important;}
  .agv70{flex:1 1 100% !important;width:100% !important;aspect-ratio:16/10 !important;min-width:revert !important;}
  .agv71{flex:1 1 100% !important;}
  .agv72{aspect-ratio:3/4 !important;}
  .agv73{grid-template-columns:repeat(1,minmax(0,1fr)) !important;}
  .agv79{display:block !important;}
  .agv80{flex-wrap:wrap !important;gap:20px !important;}
  .agv81{flex:1 1 100% !important;width:100% !important;min-width:revert !important;}
  .agv82{flex-wrap:wrap !important;gap:20px !important;}
  .agv83{flex:1 1 100% !important;width:100% !important;aspect-ratio:16/9 !important;min-width:revert !important;}
  .agv84{aspect-ratio:16/9 !important;}
  .agv85{aspect-ratio:16/9 !important;}
}
@media (min-width:620px) and (max-width:999px){
  .agv68{margin:14px 0 0 !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:clamp(12px,1.6vw,16px) !important;height:revert !important;flex-direction:revert !important;}
  .agv69{flex-direction:column !important;gap:8px !important;padding:16px 18px !important;flex:revert !important;}
}
@media (max-width:479px){
  .agv74{display:block !important;}
  .agv75{grid-template-columns:repeat(1,minmax(0,1fr)) !important;}
  .agv76{align-items:stretch !important;gap:12px !important;flex-direction:revert !important;}
  .agv77{flex:0 0 38% !important;min-width:0 !important;aspect-ratio:revert !important;}
  .agv78{min-width:0 !important;padding:10px 12px !important;display:flex !important;flex-direction:column !important;justify-content:center !important;}
}
@media (min-width:480px) and (max-width:619px){
  .agv75{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}


/* ===== 21_cuezilla-skin.css ===== */
/* ============================================================
   ★★★ このファイルは【全案件共通の資産】です。案件では編集しないでください ★★★
   ------------------------------------------------------------
   （Claude Code / Claude Design / 手作業、いずれの経路でも同じです）

   ■ 案件ごとの調整は、必ず `override.css` に書いてください。
     読み込み/結合順が  … → style.css → cuezilla-skin.css → 【override.css】  なので、
     override.css に書いた指定は本ファイルに打ち消されません。**案件の上書きが効く唯一の場所です。**
     （例: カード面を白にしたい → override.css に `:root{ --dyn-surface:#fff; }`）

   ■ なぜ編集してはいけないか
     本ファイルを案件で書き換えた瞬間、その案件の skin は共通資産から切り離されます。
     以後、共通側で直した修正（カード高さの不揃い／サイドバーの可読性／
     フォーム送信ボタンの崩れ 等）が **その案件には二度と届きません**。
     実際に S01189 で本ファイルの §0 が案件調整で書き換えられ、共通修正が届かなくなりました。
     「毎案件おなじ崩れを直している」の原因はこれです。

   ■ 共通で直すべき崩れを見つけたら
     案件で握り込まず、正本 `skin/cuezilla-skin.css` へ還流してください（全案件に効きます）。
     還流し忘れると、次の同期でその修正は消えます。

   詳細は R-30（70_運用ルール/運用ルール集.md）。
   ============================================================ */

/* ============================================================
   CueZilla 動的パーツ スキンキット v1.0
   ------------------------------------------------------------
   目的: ブログ/施工実績(blog-ex)/お問い合わせ/パンくず/ページヘッダー等の
         CueZilla 既定パーツを、サイトのトンマナ（ダーク/ライト・ブランド色・
         フォント・角丸）に "自動で寄せる" 汎用CSS。案件ごとの調整を最小化する。

   思想:
     (1) 色は CueZilla テーマ変数(--main-color 等)から自動連動
         → サイトのテーマ設定がそのまま skin にも効く（色は一元管理）
     (2) フォント/角丸/グリッド幅はトークンで指定（テーマ変数に無いため）
     (3) partsNNN は採番が可変だが接尾辞は共通(_post_wrap 等)
         → 属性セレクタ [class*="_xxx"] で番号非依存に当てる（単一属性セレクタまで。積んで詳細度を稼がない）

   ★適用範囲と安全契約（重要・memory: cuezilla-css-safety-contract）:
     ・本skinは「CueZilla既定の動的パーツ」だけを寄せる。サイトのフリーコーディング設計には当てない
       （生成サイトCSSは変数非依存＋具体値＋自作接頭辞クラスで組む＝構造的に非衝突・skinと干渉しない）。
     ・[class*=…]を積んで詳細度を同点/超過させる手法は禁止（脆い・過剰マッチ・アーマーレース）。
       単一の番号非依存セレクタ＋!important1個で当てる（theme_defaultは非importantなので確定勝ち）。
     ・!important可は「レイヤーで越えられない相手」＝theme_default／body内インライン／BSユーティリティ／
       .partsNNN_blog_＜ID＞(0,3,0) のみ。後者(0,3,0)+!importantには詳細度で負けるため、
       負けた時だけ §14 の手順で実採番(0,3,1)を【案件CSS】に足して勝つ（汎用skinには番号を書かない）。
     ・変数の注意：実機は body内コンポの style 要素の :root が7色(--main-color等)を撒きうる（490件中16件）。
       →§0の--dyn-*はその頁で乗っ取られ得る。動的パーツの色合わせには許容だが、サイト設計の主機構にしない。

   使い方:
     1. §0 のトークンを案件に合わせて調整（ダーク/ライトはプリセットをコピー）
     2. CueZilla テーマカラー(--main-color 等)をブランド値に設定
     3. 本ファイルをサイト全体CSS(AddCssInfo)へ貼る（サイト固有のフリーコーディングCSSの後ろ）
   ============================================================ */


/* ============================================================
   §0  トークン ─ ここだけ案件ごとに調整
   ============================================================ */
:root{
  /* --- 色: CueZilla テーマ変数から自動取得（無い場合のフォールバック付き） ---
     ※これらは【動的パーツの色合わせ用】。生成サイトCSSはこの変数に依存せず具体値で書く（安全契約）。
       実機では body内コンポの style 要素の :root が --main-color 等を頁単位で上書きしうる＝--dyn-*も追従する。 */
  --dyn-bg:        var(--background-color, #ffffff);   /* ページ/セクション背景 */
  --dyn-surface:   var(--temporary-color, #f4f4f2);    /* カード/パネル/入力欄の面 */
  --dyn-text:      var(--text-color, #222222);         /* 本文 */
  --dyn-heading:   var(--text-color, #111111);         /* 見出し */
  --dyn-muted:     var(--sub-color, #8a8a8a);          /* 補助/日付 */
  --dyn-border:    var(--sub-color, #dddddd);          /* 罫線/枠 */
  --dyn-accent:    var(--main-color, #1e3a5f);         /* アクセント（ボタン/チップ/見出しバー） */
  --dyn-accent-2:  var(--link-color, var(--main-color, #1e3a5f)); /* リンク/ホバー */
  --dyn-on-accent: #ffffff;                             /* アクセント面の上の文字 */

  /* --- フォント（site.css の :root に定義があればそれを使用） ---
     KEEP: ★既定を明朝にしない（2026-08-31 ディレクター判断）。旧既定は display と numeric が
     `"Noto Serif JP","Yu Mincho",serif` / `"EB Garamond","Noto Serif JP",serif` ＝**明朝**で、
     案件が `--font-*` を渡し忘れると**動的ページ（ブログ・施工実績）だけが明朝で出る**。
     実測 S00757 スマイルカミオン: 記事タイトル・抜粋・タグ（display）7要素＋20要素、日付（numeric）各4要素が明朝になり、
     ディレクター指摘「ブログページに明朝が活用されていますが、サイト全体のフォントで統一してください」を受けた。
     ★渡し忘れは"案件のミス"だが、**気づけるのが公開直前の目視だけ**で、静的ページを見ている限り絶対に露見しない。
     ＝**既定が事故を作っていた**ので、既定側を直す。方針は「今後進める案件がサイトに使用しているフォントで
     反映される仕様にする」（ディレクター 2026-08-31）。
     ★意図して明朝にしたい案件は、これまでどおり `--font-display` 等を渡せばそのまま効く（機構は不変）。
     ★numeric は日付・英字ラベル用なので、和文本文より英字の顔が合う。sans を既定にしつつ英字を先頭へ置く。
     ★既存の納品済み案件は影響を受けない（納品CSSは書き出し時にベイク済みで、再エクスポートしない限り変わらない）。 */
  --dyn-font-display: var(--font-display, "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif);
  --dyn-font-body:    var(--font-body, "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif);
  --dyn-font-numeric: var(--font-numeric, "Helvetica Neue",Arial,"Noto Sans JP",sans-serif);
  /* /KEEP */

  /* --- 角丸（チップ/ボタン/カード）。角なしにするなら 0 --- */
  --dyn-radius: 6px;
  /* --- 一覧カードの最小幅 / 段組ギャップ --- */
  --dyn-card-min: 300px;
  --dyn-gap: 32px;
}

/* === テーマ プリセット（使う方を §0 の後にコピペして上書き） =========
   【ダーク】
   :root{
     --dyn-bg:#0A0A0A; --dyn-surface:#111110; --dyn-text:#F4F1EC; --dyn-heading:#FAF7F1;
     --dyn-muted:#8C857A; --dyn-border:#3A352D; --dyn-accent:#8E3A22; --dyn-accent-2:#B0533A;
     --dyn-on-accent:#FAF7F1; --dyn-radius:0;
   }
   【ライト】
   :root{
     --dyn-bg:#ffffff; --dyn-surface:#f7f7f5; --dyn-text:#222222; --dyn-heading:#111111;
     --dyn-muted:#8a8a8a; --dyn-border:#e3e3e3; --dyn-accent:#1e3a5f; --dyn-accent-2:#1e3a5f;
     --dyn-on-accent:#ffffff; --dyn-radius:6px;
   }
   ※ CueZilla テーマ変数(--main-color 等)を設定する場合は §0 が自動連動するのでプリセット不要。
   ============================================================ */


/* ============================================================
   §1  パンくず（CueZilla parts###_breadcrumb / p-breadcrumb）
   実markup: div.parts###_breadcrumb.p-breadcrumb.c-breadcrumb
             > ul.p-breadcrumb__inner(BreadcrumbList) > li.p-breadcrumb__item(ListItem)
   CueZilla共通CSSにパンくず装飾は無い → skin側で横並び・区切り・配色を付与
   ============================================================ */
[class*="_breadcrumb"], .p-breadcrumb{ background:var(--dyn-bg) !important; }
.p-breadcrumb__inner{
  list-style:none; margin:0 auto; padding:14px 24px;
  max-width:1200px; display:flex; flex-wrap:wrap; align-items:center;
}
.p-breadcrumb__item{
  display:inline-flex; align-items:center;
  color:var(--dyn-muted) !important; font-family:var(--dyn-font-body);
  font-size:.78rem; letter-spacing:.04em;
}
.p-breadcrumb__item a{ color:var(--dyn-muted) !important; text-decoration:none; }
.p-breadcrumb__item a:hover{ color:var(--dyn-accent-2) !important; text-decoration:underline; }
.p-breadcrumb__item:last-child{ color:var(--dyn-text) !important; }   /* 現在地 */
/* 区切り（2件目以降の左に縦罫線）※R-27対応（2026-08-26）
   旧実装は `::before` の content 宣言（文字リテラル "›"）で区切りを描いていたが、AddCssInfo は
   疑似要素の content 宣言をサニタイズで落とすため、実機では区切りが消えて
   「ホーム私たちの歴史」のように語が詰まっていた。
   ★実要素（＜span＞）へ昇格させず「content を使わない罫線」で代替した理由:
     パンくずの運用第一候補は「CueZilla がページ階層から自動描画するパンくずパーツ」で、
     その markup に区切り用の要素を挿す手段が無い。templates/breadcrumb.html（明示設置版）だけ
     直しても自動描画側は直らないので、両経路に1本のCSSで効く手段を採った。
     border / padding はサニタイズ後も残る（R-27「残る」側）。
   ★物理プロパティ（border-left）で書く理由: サニタイズのホワイトリストに論理プロパティが
     載っていない可能性を避ける。和文サイトは横書きLTR固定なので意味は同じ。 */
.p-breadcrumb__item + .p-breadcrumb__item{
  margin-left:.7em; padding-left:.7em;
  border-left:1px solid var(--dyn-border) !important;
}
.p-breadcrumb meta{ display:none; }   /* schema.org の ＜meta itemprop="position"＞ は非表示 */


/* ============================================================
   §2  ページヘッダー（[class*="_article_header"]）画像上のタイトル
   ============================================================ */
[class*="_article_header"] .ja, [class*="_article_header"] h1, [class*="_article_header"] h2{
  color:var(--dyn-heading) !important; font-family:var(--dyn-font-display) !important;
  text-shadow:0 2px 14px rgba(0,0,0,.5) !important;
}
[class*="_article_header"] .en{ color:var(--dyn-muted) !important; font-family:var(--dyn-font-numeric) !important; letter-spacing:.1em; text-shadow:0 1px 10px rgba(0,0,0,.5) !important; }


/* ============================================================
   §3  ページネーション（2系統。テーマCSSの持ち方が違うので扱いを分ける＝崩れ防止）
   ・.pagination_*（enjoyworks系）            … テーマが素 → 体裁＋色を一式付与
   ・[class*="_pagenation"]（parts222/225/228系）… テーマが体裁を持つ（flex/padding/border/白黒ハードコード）
        → レイアウト・サイズはテーマに任せ、ハードコードの白黒(#000/#fff)だけブランド色へ置換（最小限）。
          a/.current 以外（余白用の素の ＜span＞）には触らない＝二重ボックス化を防ぐ。
          --dyn-accent は §0 で var(--main-color) にバインド済み＝サイトのCMS色に自動一致（案件側の手当て不要）。
   ============================================================ */
/* (A) pagination_* 系：テーマ装飾が無いので一式付与 */
.pagination_num, .pagination_prev, .pagination_next{
  font-family:var(--dyn-font-numeric); color:var(--dyn-text) !important;
 /* border:1px solid var(--dyn-border) !important; */border-radius:var(--dyn-radius);
  min-width:40px;/* height:40px;*/ display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
}
.pagination_num.current{ background:var(--dyn-accent) !important; border-color:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }
.pagination_num:hover, .pagination_prev:hover, .pagination_next:hover{ border-color:var(--dyn-accent-2) !important; color:var(--dyn-accent-2) !important; }

/* (B) _pagenation 系：色だけ寄せる（ジオメトリはテーマのまま＝箱を再定義しない） */
[class*="_pagenation"] a{ border-color:var(--dyn-accent) !important; color:var(--dyn-text) !important; }
[class*="_pagenation"] span.current, [class*="_pagenation"] .current, [class*="_pagenation"] .active{
  background:var(--dyn-accent) !important; border-color:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
}
[class*="_pagenation"] a:hover{ border-color:var(--dyn-accent-2) !important; color:var(--dyn-accent-2) !important; }
.pe-none{ opacity:.3; pointer-events:none; }


/* ============================================================
   §4  ブログ / 施工実績(blog-ex) 一覧（番号非依存）
   ============================================================ */
/* 一覧セクションの地 */
[class*="_post_list"], [class*="_post_wrap"]{ } /* 下で個別指定 */
/* カード並び（最小幅を確保して細くなりすぎない） */
[class*="_post_list"]{ display:grid !important; grid-template-columns:repeat(auto-fill, minmax(var(--dyn-card-min), 1fr)) !important; gap:var(--dyn-gap) !important; }
/* カード */
[class*="_post_wrap"]{
  /* カード等寸化：中身を縦に積み、内側の ＜a＞/本文枠を flex で伸長させて高さを揃える（S01189還流） */
  display:flex !important; flex-direction:column;
  margin:0 !important;   /* theme_default の margin-bottom(55px等)残存で最終行カードだけ高さ不揃いになるのを打ち消す */
  width:auto !important; max-width:none !important; text-decoration:none;
  background:var(--dyn-surface) !important; border:1px solid var(--dyn-border) !important;
  border-radius:var(--dyn-radius); overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
[class*="_post_wrap"]:hover{ transform:translateY(-4px); border-color:var(--dyn-accent-2) !important; }
[class*="_post_wrap"] > a{ display:flex; flex-direction:column; flex:1 1 auto; color:inherit; }  /* カード全体ラップ＜a＞を縦伸長（内容を上下に満たす） */
/* サムネ等寸化：グリッド列の幅から高さを算出（幅制約下＝§6.5の aspect-ratio×height 併用の罠には該当しない） */
[class*="_post_img"]{ width:100%; display:block; border-radius:0; aspect-ratio:16/10; overflow:hidden; }
[class*="_post_img"] img{ width:100%; height:100%; object-fit:cover; display:block; }
/* カード内のテキストに左右余白 */
[class*="_post_status"]{ border:none !important; background:transparent !important; margin:14px 16px 0 !important; padding:0 !important; display:flex !important; flex-wrap:wrap; justify-content:flex-start !important; gap:10px; align-items:center; }
[class*="_post_status"]:has([class*="_title-excerpt"]){ display:block !important; }   /* parts228系「日付｜タイトル」の横並びを解除（:has非対応環境ではflex-wrapで折返し） */
[class*="_post_title-excerpt"]{ padding:10px 16px 16px !important; flex:1 1 auto; }   /* 本文枠を伸長＝カード等寸化の要 */
[class*="_post_status"]:has([class*="_title-excerpt"]) [class*="_title-excerpt"]{ padding:10px 0 16px !important; }   /* 施工実績は左端揃え */
[class*="_post_title"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; font-weight:700 !important; line-height:1.5; }
[class*="_post_excerpt"]{ color:var(--dyn-muted) !important; }
[class*="_post_date"]{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
/* カテゴリ/ステータスは1チップに。
   テーマは既に _post_category に border:1px solid var(--main-color) を持つ＝枠を“足す”と2重になるので
   同一要素に !important で単一の枠を確定（色は --dyn-accent=var(--main-color) で一致）。幅は % 制約を解除し content 幅に。 */
[class*="_post_category"]:not([class*="_sidebar"]), [class*="_post_status"] > span:last-child{
  /* :not(_sidebar) ＝ この§4チップ装飾が §5 の _sidebar_post_category_count へ漏れ二重適用されるのを防ぐ（S01189還流） */
  width:auto; max-width:none !important;
  background:var(--dyn-bg) !important; border:1px solid var(--dyn-accent) !important;
  border-radius:var(--dyn-radius); padding:2px 8px; color:var(--dyn-accent) !important;
}
.parts-blog-ex-tag_wrap{ display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 14px; }
.parts-blog-ex_tag{ font-size:.72rem; color:var(--dyn-muted) !important; background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:2px 8px; }

/* --- 一覧パーツ固有の崩れ2点（実共有CSS=theme parts222/225/228 を突き合わせて確定）---
   (a) 自動セクション見出し（「ブログ」「施工実績」等）の撤去：
       テーマは `.parts222_section h2 / .parts228_section h2` に
       color:var(--main-color)/font-size:35px/text-align:center を付与し、
       一覧上部に大見出しを自動描画する。自前の下層ヘッダー(hero)と二重化＝崩れ。
       → 一覧パーツ(_post_list を含む _section)直下の素の h2 だけ隠す。
         残したいサイトは案件CSSで個別に復帰。`:has()` 非対応保険に f_meiryo 版も併記。 */
[class*="_section"]:has([class*="_post_list"]) > h2,
[class*="_section"] > h2.f_meiryo{ display:none !important; }
/* (b) flex前提の余白スペーサー ::after の無効化：
       テーマは `.parts228_post_list::after{content:"";width:32.465%}` で flex の最終行詰めをする。
       §4 で _post_list を grid 化すると、この ::after が「空のゴースト列」になり最終行が片寄る。
       → grid では不要なので除去（content:none で擬似要素自体を消す）。 */
[class*="_post_list"]::after{ content:none !important; display:none !important; }


/* ============================================================
   §4-b  ブログ枠パーツ（parts131415_blog 系）＝ 内側でBootstrapが生きている型
   ------------------------------------------------------------
   §4 は parts222/225/228 の `_post_list` / `_post_wrap` 接尾辞を前提にしている。
   parts131415_blog 系は接尾辞が違い（`.row.row-cols-lg-3 > .col > .card`）、§4のセレクタが
   **1つも届かない**。そのため案件ごとに同じCSSを書き直す状態になっていた。
   教訓: 70_運用ルール/デザイン教訓/cms-part-bootstrap-grid-collapses-cards.md
         70_運用ルール/デザイン教訓/cms-part-heading-typography-override.md
   （承認: 2026-09-01「A・B・C ＋ I ＋ G/H（受領チェック1項目）」）

   (a) カードが列幅のさらに1/3に潰れる（独立3案件で真因一致: S02150・O01540・S00459）
       パーツが吐く `.row.row-cols-1.row-cols-sm-2.row-cols-lg-3` は Bootstrap の
       `.row-cols-lg-3 > *{flex:0 0 auto; width:33.3333%}` が生きたまま。案件側で `.row` を
       grid 化しても **grid の子に残った width:33.3333% が「列幅の33.3%」として再び効く**ため、
       341px の列の中でカードが 114px（サムネイル 52px）まで潰れる（実測 S02150 2026-08-25）。
       ★崩れるのは実機だけで、受領データを単体で開くと正常に見える＝**受領物を見ている限り
         絶対に気づけない**。だから案件ごとの気づきに任せず skin の既定にする。
       → §4 の `_post_list` と同じ扱い（auto-fill グリッド＋子の幅指定を落とす）を対にして当てる。
         **grid 化と子の無効化は必ずセット**。片方だけだと、grid 化なしで幅を落とせば1列に伸び、
         幅を落とさず grid 化すれば上記の 1/3 潰れが起きる。
       ★施工実績枠には当たらない。あちらは `.content.d-flex`（`.row` を持たない）で、
         flex の子に幅を当てると3枚が横にあふれる。クラス名では枠を判別できない
         （CMSが `parts131415_blog_DKhwGnz7DM` のように乱数の接尾辞を付け、作り直すと変わる）ため、
         **`.row` を持つか＝中身で分岐している**。 */
[class*="parts131415_blog"] .row{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(var(--dyn-card-min), 1fr)) !important;
  gap:var(--dyn-gap) !important;
}
[class*="parts131415_blog"] .row > *{
  width:auto !important; max-width:none !important; min-width:0 !important;
  flex:none !important; margin:0 !important; padding:0 !important;
}

/* (b) パーツ見出しがCMS既定の書体・色のまま出てブランドタイポから浮く（独立2案件: S00459・S01926）
       レイアウト（配置・カラム）は案件CSSで整えられる一方、**パーツ自身が生成する見出し要素の
       書体・色はパーツ内部に付いているため見落とされやすい**。結果「配置は整っているのに見出しだけ
       フォントが違う・色が違う」という部分的な浮きが残る。
       実測: S00459 `.design-parts-11 .parts-title` が色 #0E6FB8 のまま／
             S01926 `.parts131415_blog_title_wrap .title` が明朝のまま（一度PC幅だけ直して
             「全端末で適用」と差し戻された＝BP単位の個別対応では同じ穴が別BPで再発する）。
       → §4 の `_post_title` / §5 の `_sidebar_post_title` と同じ扱いで、**書体と色だけ**を寄せる。
       ★サイズ・寄せは案件ごとのデザイン判断なので skin では触らない（§4の既存方針と同じ）。
         そちらは 30_コード生成/AI生成指示書_CueZilla.md 側の手順で担保する。
       ★全BP共通で当たる（メディアクエリの外に置いてある）。
       ★実測で確認できた2クラスだけに絞ってある。`.card-title` / `.card-text` は当てていない
         （O01540 では `.card-title` が「濃緑地に白文字のチップ」＝見出しではなくラベルとして
         使われており、`--dyn-heading` を当てると読めなくなる）。パーツが増えたら実機で確認して追記する。 */
[class*="_blog_title_wrap"] .title,
[class*="design-parts-"] .parts-title{
  font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important;
}


/* ============================================================
   §5  サイドバー / 最近の投稿 / カテゴリ記事数
   ============================================================ */
[class*="_sidebar"], .recent_posts_wrap{ color:var(--dyn-text); }
/* サイドバー見出し（「最近の投稿」「カテゴリ」）の可読性を確保。
   theme_default は `.partsNNN_sidebar h3{ background-color:var(--main-color); color:#fff }` と
   色を直当てするが、§12 の見出しリセットが**背景だけ**を transparent にするため、
   ライト基調の案件では「白地に白文字」で消える（ダーク案件では地に映えるため露見しない）。
   背景は戻さず（skinのフラット化方針を維持）、文字色だけトークンへ寄せて両基調で可読にする。
   あわせて左右パディングも解除する：`padding:15px 20px` は**帯があった前提**の内側余白のため、
   帯を透明化したまま残すと「見出しだけ20px字下げ」になり、直下の日付／タイトルと文頭がズレる。
   （詳細ページ側の .recent_post_title には下で同じ手当てをしており、一覧側だけ取り残されていた） */
[class*="_sidebar"] h3{ color:var(--dyn-heading) !important; padding-left:0 !important; padding-right:0 !important; }
[class*="_sidebar_post_title"], .recent_post_title{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
/* 「最近の投稿」見出し（詳細ページ側）の帯を外して一覧側と体裁を揃える。
   theme_default は `.recent_posts_wrap .recent_post_title{ background-color:var(--main-color); color:#fff }` で帯を敷くが、
   §12 の見出しリセットは (a) 包み(parts166_single_article / parts-blog-ex-single-wrap)が `_section` を含まない
   (b) 要素が ＜div＞（h2/h3でない）── の2点で**届かず**、帯だけが生き残る。
   一方すぐ上の §5 が文字色を --dyn-heading（＝ライトでは濃色）へ寄せるため「濃い帯に濃い文字」となり、
   案件ごとに帯との視認性を見て文字色を手当てする必要があった。帯を外せば一覧（§12で帯が外れる）と揃い、手当ても不要になる。
   ※帯を活かしたい案件は案件側で `background:var(--dyn-accent); color:var(--dyn-on-accent)` を再指定する。 */
.recent_post_title{ background:transparent !important; padding-left:0 !important; }
[class*="_sidebar_date"], .recent_post_date{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
/* 記事li の区切り罫線：theme_default が #666 をハードコードしており地に合わず過剰に見える → トークンへ */
[class*="_sidebar"] ul li, .recent_posts_wrap ul li{ border-bottom-color:var(--dyn-border) !important; }
/* カテゴリ右の記事数を視認できるチップに */
[class*="_sidebar_post_category_count"]{ background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:0 8px !important; }
/* カテゴリ一覧 li：theme_default 由来の左右縦罫線(1px solid #666)を除去（下罫線は区切りとして意図的に残す）。S01189還流 */
[class*="category_post_count"] li{ border-left:0 !important; border-right:0 !important; }
/* カテゴリ名と件数チップが重ならないよう両端寄せ。
   あわせて左右パディングを解除：theme_default は `.category_post_count ul li a{ padding:15px 20px }` と
   **帯／箱があった前提**の字下げを持つため、帯を外した状態では
   カテゴリ名だけが 20px 右にずれ、見出し(h3)や「最近の投稿」リストと頭が揃わない。
   上下15pxはタップ領域として残す。 */
[class*="category_post_count"] li a{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding-left:0 !important; padding-right:0 !important; }


/* ============================================================
   §6  詳細ページ（本文 / 署名 / SNS / 詳細内スライダー）
   ============================================================ */
.parts-blog-ex_text{ font-family:var(--dyn-font-body); color:var(--dyn-text) !important; line-height:1.9; }
.parts-blog-ex_text h2, .parts-blog-ex_text h3{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
.signature_wrap{ font-family:var(--dyn-font-display); color:var(--dyn-muted) !important; border-top:1px solid var(--dyn-border); padding-top:16px; }
.slick-prev, .slick-next{ color:var(--dyn-accent-2) !important; }
/* ※詳細本文の親ラッパーが固定class薄め。崩れる場合は実ページで本文コンテナを確認し追補 */


/* ============================================================
   §7  お問い合わせフォーム
   ============================================================ */
.contact_section, [class*="_section_form"], [class*="_section_content"], [class*="_content_wrap"], [class*="_content"]{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
[class*="_form_wrap"]{ max-width:720px; margin:0 auto; }
[class*="_form_wrap"] label, [class*="_form_wrap"] dt, [class*="_form_wrap"] .ja, [class*="_form_wrap"] .en{ color:var(--dyn-text) !important; }
/* 入力欄を十分な大きさに（チェック/ラジオは除外） */
[class*="_form_wrap"] dd input:not([type="checkbox"]):not([type="radio"]),
[class*="_form_wrap"] dd select{ width:100% !important; max-width:none !important; padding:14px 16px !important; font-size:16px !important; min-height:54px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
[class*="_form_wrap"] textarea, .form_textarea textarea{ width:100% !important; padding:14px 16px !important; font-size:16px !important; min-height:220px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
/* チェックボックス/ラジオはサイズ統一 */
[class*="_form_wrap"] input[type="checkbox"], [class*="_form_wrap"] input[type="radio"]{ width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0 !important; vertical-align:-3px; accent-color:var(--dyn-accent); flex:none !important; }
/* 必須バッジ: 文字を中央・折り返さない・角丸はトークン */
.required{ display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; white-space:nowrap !important; padding:6px 12px !important; border-radius:var(--dyn-radius) !important; background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }
.error{ color:var(--dyn-accent-2) !important; }
/* 「お問い合わせ内容」を囲む大きな箱(枠線)を撤去 */
.form_textarea, .form_text_dt{ border:none !important; background:transparent !important; }
/* 送信ボタン。★セレクタに包み(.contact_submit 自体)を含めないこと：
   包みは複数ボタンを載せるレイアウト用のdivで、ここを accent で塗ると
   (a) 完了ページ=藍の包みに藍のボタンが乗って同化し、ボタンが消えて見える
   (b) 確認ページ=すぐ下でアウトライン化する「戻る」が藍地に濃色文字となり判読不能（実測 1.01:1）
   になる。当てる先はボタン実体だけでよい（dynamic-form.md §1 の意図も「送信 .contact_submit input = accent地」）。 */
.contact_submit button, .contact_submit input{ background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; border:none !important; border-radius:var(--dyn-radius) !important; }
/* 確認ページの「戻る」は副ボタン（送信＝アクセント／戻る＝アウトライン）＝誤導線防止 */
.contact_submit input[name="back"]{ background:transparent !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; }
/* 送信前 disabled（reCAPTCHA未完了）の見え方 */
.contact_submit input[disabled]{ opacity:.5; cursor:not-allowed; }

/* --- フォーム実コードで頻出するが §7本体に無かった部品（parts213等の実装を突き合わせ）--- */
/* ファイル添付の自作UI：受領のインライン style が #eee 地・#999 文字・明るいグラデで固定し、
   ダーク地で白い箱・低コントラストになる。トークンで地・枠・文字を寄せる（label_file_upload に限定）。 */
.label_file_upload{ display:block; width:100%; padding:12px 14px; cursor:pointer;
  background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
.label_file_upload button{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius) !important; pointer-events:none; }
.label_file_upload span, #file-chosen, [id$="filechosen"]{ color:var(--dyn-muted) !important; }
.des{ color:var(--dyn-muted) !important; }
/* 注意書き（文字数制限・ファイル名規則等の補助）：色未指定/未定義var(--red)で可読性がばらつくため muted で固定（AA確保色） */
.attention{ color:var(--dyn-muted) !important; }
/* 郵便番号は narrow に保つ：上の入力欄ルール `[class*="_form_wrap"] dd input:not([checkbox]):not([radio])`
   は (0,3,2)+!important で .zip も全幅化し〒[郵便番号][住所]を壊す。これに勝つよう :not() を重ねて
   詳細度を (0,4,2) に上げて .zip だけ幅を戻す（parts219等 form_address系・番号非依存）。 */
[class*="_form_wrap"] dd input.zip:not([type="checkbox"]):not([type="radio"]){ width:9em !important; max-width:9em !important; display:inline-block; margin-right:8px; }
/* プライバシー同意 */
.privacypolicy{ background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:16px; color:var(--dyn-muted) !important; }
.privacypolicy-link{ color:var(--dyn-accent-2) !important; }
/* 電話/メール等の content バー（角丸はトークン） */
[class*="_content"] [class*="btn"], [class*="_content"] a[class*="round"]{ border-radius:var(--dyn-radius) !important; }


/* ============================================================
   §7b  お問い合わせフォーム ─ wpcf7 / .formBox 系（第2系統）
   ------------------------------------------------------------
   【重要】フォームには構造が2系統ある（dynamic-harvest.js の「フォーム系統」で判定）：
     ・§7  = parts_form/dl 系（[class*="_form_wrap"] / dt / dd / .required / .contact_submit）
     ・§7b = wpcf7/.formBox 系（.formWrap > .formBox > dt>label>span.req + dd>input,
              送信=input.wpcf7-submit。SEIKEN/協力会社フォーム等 Contact Form 7 由来）
   §7 の `[class*="_form_wrap"]` は §7b 構造に当たらないため、当該系統では本セクションが要る。
   いずれも番号非依存のセマンティッククラスで記述。
   ============================================================ */
.formWrapbg, .formWrap, .form, [class*="formSec"]{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
.formWrap{ max-width:720px; margin:0 auto; }
.formBox{ margin-bottom:20px; }
.formBox dt, .formBox label{ color:var(--dyn-text) !important; }
.formBox dd input:not([type="checkbox"]):not([type="radio"]),
.formBox dd select,
.formWrap input[type="text"], .formWrap input[type="email"], .formWrap input[type="tel"]{
  width:100% !important; max-width:none !important; padding:14px 16px !important; font-size:16px !important;
  min-height:54px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
}
.formBox dd textarea, .formWrap textarea{
  width:100% !important; padding:14px 16px !important; font-size:16px !important; min-height:220px !important;
  background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
}
.formWrap input[type="checkbox"], .formWrap input[type="radio"]{
  width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0 !important;
  vertical-align:-3px; accent-color:var(--dyn-accent); flex:none !important;
}
/* 必須バッジ（wpcf7系は .req） */
.req, .formBox .req{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important;
  white-space:nowrap !important; padding:6px 12px !important; border-radius:var(--dyn-radius) !important;
  background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
}
.wpcf7-not-valid-tip, .wpcf7-response-output{ color:var(--dyn-accent-2) !important; }
/* 送信（Contact Form 7） */
input.wpcf7-submit, .formWrap button[type="submit"]{
  background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
  border:none !important; border-radius:var(--dyn-radius) !important;
  min-height:54px !important; padding:14px 28px !important; font-size:16px !important; cursor:pointer;
}
/* プライバシー同意（両系統共通の .privacypolicy* は §7 で適用済） */


/* ============================================================
   §14  自動CSSに負けた時の手順（R-27）※汎用アーマーは持たない＝安全契約
   ------------------------------------------------------------
   CueZilla は body内コンポの style 要素でパーツ単位に `.partsNNN_blog_＜ID＞ .card .card-body{…!important}`
   等の高詳細度(0,3,0)+!important を吐く。§1〜§9 の単一属性セレクタ(0,1,0〜0,2,0)+!important は
   同プロパティで【負ける】（症状：当てているのに反映されない＝崩れの常連）。

   → 【禁止】[class*=…]を積んで(0,3,0)に並べる汎用アーマー（脆い・過剰マッチ・アーマーレース）。
        ＝以前ここにあった `[class*="parts"][class*="_blog"] .card` 等は本契約により撤去した。
        （theme_default 非importantへの色寄せは §8 の単一 `[class*="_blog"] .card`(0,2,0)+!important で足りる）
   → 【正】負けたパーツだけ、harvestで実採番を取り【案件CSS】末尾に (0,3,1) を1個足して確実に勝つ：
        section.parts131415_blog_xxxx .card .card-body{ … !important }   ← 実採番。構造変化に不感
     ※ skin は全案件共通なので案件固有の番号は書かない（負けた時だけ案件側で対処）。
     ※ 採番取得＝verify/dynamic-harvest.js。当て方＝50_CSS・動的ページ/動的ページCSS_実セレクタ参考.md §14。 */
/* 見出しのテーマ装飾(角丸/中央寄せ/背景/罫線)残りをパーツ内でリセット（R-21）。
   theme_default は非importantなので、単一 [class*="_section"] + !important で確定勝ち（[class*]を積まない）。 */
[class*="_section"] h2, [class*="_section"] h3{
  border-radius:0 !important; background:transparent !important; border:none !important; text-align:inherit !important;
}


/* ============================================================
   §8  トップ用 お知らせ/ブログ teaser（notice-news / blog teaser）
   ============================================================ */
.parts040506_notice-news{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
.parts040506_notice-news *{ color:var(--dyn-text) !important; }
.parts040506_notice-news .title, .parts040506_notice-news .title a{ color:var(--dyn-heading) !important; }
.parts040506_notice-news [class*="date"], .parts040506_notice-news .f_yugothic{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
.parts040506_notice-news .more{ white-space:nowrap !important; color:var(--dyn-accent-2) !important; }
.parts040506_notice-news a{ color:var(--dyn-accent-2) !important; }
/* サムネ型ブログ teaser */
[class*="_blog_title_wrap"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_blog_thumbnail"]{ border-radius:var(--dyn-radius); }
/* teaser内が Bootstrap .card（既定で白）の場合のダーク/トーン化 */
[class*="_blog"] .card{ background:var(--dyn-surface) !important; border-color:var(--dyn-border) !important; border-radius:var(--dyn-radius) !important; }
[class*="_blog"] .card-title, [class*="_blog"] .card-text{ color:var(--dyn-text) !important; }
[class*="_blog"] .card-title{ font-family:var(--dyn-font-display) !important; }


/* ============================================================
   §9  Bootstrap汎用クラスの地ならし（パーツ内に限定）
       text-dark / bg-light 等がパーツ内でトーンを乱すのを抑える
   ============================================================ */
[class*="parts"] .text-dark{ color:var(--dyn-text) !important; }
[class*="parts"] .bg-light{ background:var(--dyn-surface) !important; }
.card-header.bg-light{ background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }


/* ============================================================
   §10  プライバシーポリシー（templates/privacy-policy.html のフリーコーディング設置版）
   ※CueZilla既定パーツ(item_title/item_description)へ転記する場合は §5 等で別途適用される
   ============================================================ */
.privacy{ max-width:880px; margin:0 auto; padding:64px 24px; color:var(--dyn-text); font-family:var(--dyn-font-body); line-height:1.9; }
.privacy__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,4vw,2.6rem); }
.privacy__subtitle{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:1.2rem; margin-top:8px; }
.privacy__lead{ color:var(--dyn-muted); margin:24px 0 40px; }
.privacy-item{ margin-bottom:32px; }
.privacy-item__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); border-left:3px solid var(--dyn-accent); padding-left:12px; margin-bottom:12px; }
.privacy-item__body{ color:var(--dyn-text); }
/* 原文の (1)(2)… 表記は【HTML側のテキスト】で持つ ※R-27対応（2026-08-26）
   旧実装は `li::before` の content 宣言（`counter(pp)` を括弧で挟む）で番号を描いていたが、AddCssInfo は
   content 宣言をサニタイズで落とす（counter() は content 専用なのでCSS単独の代替が無い）。実機では番号が消えたうえに
   下のぶら下げインデントだけが残り、本文が左へはみ出していた。
   ★番号を捨てず HTML テキストへ移した理由: 本文が「上記(1)から(6)に掲げるほか」と番号を参照しており、
     番号は装飾ではなく文書の一部（消すと文意が壊れる）。会社承認の定型文なので表記も変えられない。
     → templates/privacy-policy.html の各 ＜li＞ 先頭に "(1) " 等を直接書く形へ変更した。
   ★ぶら下げインデント（padding-left / text-indent）は残す: 番号が行頭テキストになった今も、
     折り返し行を本文位置に揃えるために必要（＝この2行が番号の受け皿）。
     番号を持たない古い privacy HTML に当たると字下げだけが見えるので、その場合はCSSではなく
     HTML側に番号を入れて直す。counter-reset / counter-increment は用が無くなったので外した。 */
.privacy-item__list{ list-style:none; margin:8px 0; padding:0; }
.privacy-item__list li{ padding-left:2.2em; text-indent:-2.2em; margin:4px 0; color:var(--dyn-text); }


/* ============================================================
   §11  下層ヘッダーパーツ（templates/subpage-header.html）
   サイトヘッダーとパンくずの間。フリーコーディングで別パーツ化
   ============================================================ */
/* padding-top に固定ヘッダー高さ(--fixed-header-h)を加算＝固定ヘッダーへのめり込み防止。
   固定ヘッダーが無いサイトは既定0で無影響。固定ヘッダー採用サイトは案件CSSで :root{ --fixed-header-h:88px } 等を設定（R-18）。 */
.subpage-header{ position:relative; padding:calc(72px + var(--fixed-header-h, 0px)) 24px 72px; background:var(--dyn-surface); text-align:center; overflow:hidden; }
.subpage-header__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; z-index:0; }
.subpage-header__inner{ position:relative; z-index:1; }
.subpage-header__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,3rem); line-height:1.3; text-shadow:0 2px 14px rgba(0,0,0,.5); }
.subpage-header__en{ font-family:var(--dyn-font-numeric); color:var(--dyn-muted); letter-spacing:.12em; margin-top:8px; }


/* ============================================================
   §12  システム定型ページ：送信完了(thanks) / 404
   templates/thanks.html, templates/404.html 用。トークンスキン準拠
   ============================================================ */
.thanks, .notfound{ max-width:760px; margin:0 auto; padding:calc(80px + var(--fixed-header-h, 0px)) 24px 96px; text-align:center; }
/* CueZilla 既定404（section.not-found）はレイアウトを変えず、固定ヘッダー分の上余白だけ確保（R-18） */
.not-found{ padding-top: calc(var(--fixed-header-h, 0px) + 24px); }
.thanks__title, .notfound__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,2.6rem); line-height:1.3; margin-bottom:28px; }
.thanks__lead, .notfound__lead{ color:var(--dyn-text); line-height:2; margin-bottom:40px; }
.thanks__action, .notfound__action{ margin-top:8px; }


/* ============================================================
   §13  Bootstrap(テーマ)既定の恒久打ち消し（R-20）
   ------------------------------------------------------------
   CueZillaテーマが読み込む Bootstrap の "素のタグ/汎用クラス" が
   フリーHTMLに当たって崩す症状を、案件ごとの手当て無しで地ならしする。
   ここは確認済みの実害2件（test0605）に限定して打ち消す。
   ※「色/余白/タイポ」を意図して変える装飾は接頭辞クラス(.xw- 等)で
     付け直す＝下記より高詳細度になり、本セクションに勝つ（壊さない）。
   ============================================================ */
/* (a) ＜mark＞ / .mark の黄ハイライト背景：ロゴや見出しが黄色い箱になる症状 → 無効化。
       意図的なマーカー装飾は専用クラスで（Bootstrap名 .mark を流用しない＝R-20）。 */
mark, .mark{
  background-color:transparent !important; color:inherit !important;
  padding:0 !important; border-radius:0 !important;
}
/* (b) a:hover が Bootstrap青(#0a58ca)になる症状 → 既定は「ホバーで色を変えない」。
       !important は付けない＝個別のホバー装飾(接頭辞クラスや site.css の指定)が
       そのまま勝ち、未指定リンクだけが青化を免れる（フォールバック）。 */
a:hover{ color:inherit; }

/* (c) 電話番号リンク(tel:)の最低タップ確保（R-24／§5.5-3）。
       本文中インラインでも折り返さない。CTA/ボタン用途は接頭辞クラスで44px確保。 */
a[href^="tel:"]{ white-space:nowrap; }


/* ===== 29_override.css ===== */
@charset "UTF-8";
/* ============================================================
   S00129 株式会社イージス — 29_override.css（手書き・結合の最後＝最優先）
   20_site.css（受領helmetの機械変換）で表現できない4種類だけを持つ:
     ①受領が JS の state でやっていた開閉（ヘッダーのドロップダウン・SPドロワー）
     ②CueZilla側の事情（テーマCSS・追加CSS欄のサニタイズ・自動パンくず）
     ③R-4 フォールバック（JSが動かなくても本文が見える）
     ④受領の JS が幅ごとに計算していた値のうち、CSSで足りるもの（FV写真の寄せ）
   ★このファイルにHTMLのタグ形の文字列を書かない（R-31：コメント内でも追加CSS欄のMIMEが
     text/html に化けてCSSが1行も効かなくなる）。必要なときは全角の ＜ ＞ で書く。
   ============================================================ */

/* ============================================================
   ① ヘッダー（受領 SiteHeader.dc.html の JS state をCSSへ）
   ============================================================ */

/* 受領は 各ページの dc-import 側に position:sticky; top:0; z-index:100 が付いていた
   （＝部品ファイル本体には無い）。共通ヘッダー1本に納めるのでここで持つ。 */
.ag-header{position:sticky;top:0;z-index:100}

/* PCのドロップダウン。受領は onMouseEnter/onMouseLeave ＋ sc-if で「開いている時だけ描画」。
   納品はCSSだけで開く＝JSが無くてもキーボード（:focus-within）で辿れる。
   ★受領の ul は display を持たない（描画の有無で出し分けていた）ので、
     打ち消しは !important 無しでも効く。ただし開く側の詳細度を必ず上に置く。 */
.ag-sub{display:none}
.ag-menu:hover > .ag-sub,
.ag-menu:focus-within > .ag-sub{display:block}

@media (max-width:899px){
  /* 狭幅（受領 state narrow）ではナビがドロワーになる。サブメニューは
     ▼（data-caret）のタップで開く＝BODY内JSが .ag-menu へ .is-open を付ける。
     hover で勝手に開かないよう、この幅では hover 側を止める。 */
  .ag-menu:hover > .ag-sub,
  .ag-menu:focus-within > .ag-sub{display:none}
  .ag-menu.is-open > .ag-sub{display:block}

  /* ドロワー本体。閉じた値（opacity:0/visibility:hidden 等）は 20_site.css の
     生成クラス側（.agv8）が持っている。ここは開いた状態だけを上書きする。
     ★!important 必須。閉じた値が `.agv8{opacity:0 !important; visibility:hidden !important}`
       なので、詳細度で上回る `.ag-nav.is-open`（0,2,0 対 0,1,0）でも **important 無しでは負ける**
       （importantは詳細度より先に効く）。これが無いと、JSが is-open を付けても
       バーガーが×に変わるだけでドロワーが出ない＝「タップしても何も起きない」に見える。 */
  .ag-nav.is-open{opacity:1 !important; transform:translateY(0) !important;
    visibility:visible !important; pointer-events:auto !important}
}

/* バーガー（3本線→×）。受領は JS が transform を計算していた。
   ★平常時の transform:none は要素のインラインstyleに残っているので !important が必要
     （教訓 style-hover-class-needs-important-to-beat-inline-style：
      クラスを何重にしてもインラインstyleには勝てない）。 */
[data-ag-burger].is-open .ag-bar1{transform:translateY(5px) rotate(45deg) !important}
[data-ag-burger].is-open .ag-bar2{transform:translateX(-6px) !important;opacity:0 !important}
[data-ag-burger].is-open .ag-bar3{transform:translateY(-5px) rotate(-45deg) !important}

/* ============================================================
   ② CueZilla側の事情
   ============================================================ */

/* テーマCSS（theme_default.css）の html,body{height:100%} は sticky を1画面で殺す
   （教訓 cuezilla-theme-html-body-height-100-kills-sticky・3案件で再現）。
   overflow-x は hidden ではなく clip にする（hidden は body をスクロールコンテナにして
   sticky を無効化する／教訓 body-overflowx-hidden-kills-sticky）。 */
html,body{height:auto !important;overflow-x:clip !important}
body{min-height:100dvh}

/* CueZillaが自動挿入するパンくず（parts231）は非表示にする（R-10a）。
   受領の各下層ページが自前のパンくず帯「TOP ／ ○○」を本文の中に持っているため、
   放置すると二重に出る。構造化データはCueZilla側のDOMに残る（非表示にするだけ）。 */
[class*="parts"][class*="_breadcrumb"]{display:none !important}

/* 追加CSS欄は ::before / ::after の content 宣言を落とす（R-27）。
   受領で content に依存していたのは2箇所だけ。両方ここで作り直す。
   (1) message：スタッフ紹介の回り込み解除（clearfix）。
       受領は [data-name]::after{content:"";clear:both} だったので、
       同じ効果を display:flow-root（＝フロートを内包するブロック）で作る。 */
@media (min-width:620px) and (max-width:999px){
  .ag-p-message [data-name]{display:flow-root !important}
}
/* (2) recruit：応募ステップの写真に重ねる濃紺グラデーション。
       受領は [data-entryphoto]::after。分解時に実要素（span.ag-entryscrim）へ昇格させたので、
       その面をここで塗る。値は受領CSSの実値をそのまま使う。
       ★受領の ::after は @media (max-width:619px) の中にしか無い（＝狭幅だけ写真の上に文字を載せる
         レイアウトになる）。実要素は常に在るので、既定は display:none にしてこの幅だけ出す。 */
.ag-entryscrim{display:none}
@media (max-width:619px){
  .ag-entryscrim{display:block;position:absolute;inset:0;
    background:linear-gradient(118deg,#06246E 0%,rgba(6,36,110,.92) 42%,rgba(6,36,110,.55) 100%)}
}

/* 素材待ちの画像枠（受領 image-slot に src が無かった3箇所）。
   点線のプレースホルダを本番に残さない（教訓 image-slot-common-pitfalls ③）ため、
   薄いグレー地＋注記文で「写真が入る枠」であることが一目で分かる形にする。
   ★公開前に写真へ差し替える（00★申し送り★.md A-2）。 */
.ag-slot-empty{display:flex !important;align-items:center;justify-content:center;
  padding:14px;background:#C9CEC9;color:#25303F;font-size:12px;line-height:1.8;
  text-align:center;text-wrap:pretty}

/* ============================================================
   ③ R-4 フォールバック（JSが動かなくても本文が見える）
   受領CSSは [data-tl] / [data-intprof] / [data-salamount] を opacity:0 で隠し、
   JSが属性を付けたときだけ見せる作りだった。BODY内JSを貼り忘れると
   スタッフ紹介・1日の流れ・給与例が「白紙」になるので、既定を「見える」に反転させ、
   JSが html へ .ag-js を付けたときだけ初期非表示にする。
   ============================================================ */
.ag-p-hataraki [data-tl]{opacity:1;transform:none}
.ag-p-hataraki [data-intprof],
.ag-p-hataraki [data-intcol] > *{opacity:1;transform:none}
.ag-p-recruit [data-salamount]{opacity:1;-webkit-mask-image:none;mask-image:none}

html.ag-js .ag-p-hataraki [data-tl]{opacity:0;transform:translateY(18px)}
html.ag-js .ag-p-hataraki [data-tl][data-tlin]{opacity:1;transform:none}
html.ag-js .ag-p-hataraki [data-intprof]{opacity:0;transform:translateX(-32px)}
html.ag-js .ag-p-hataraki [data-intcol] > *{opacity:0;transform:translateX(32px)}
html.ag-js .ag-p-hataraki [data-intprof][data-tlin],
html.ag-js .ag-p-hataraki [data-intcol] > *[data-tlin]{opacity:1;transform:none}
html.ag-js .ag-p-recruit [data-salamount]{opacity:0;
  -webkit-mask-image:linear-gradient(90deg,#000 0 35%,rgba(0,0,0,0) 72%);
  mask-image:linear-gradient(90deg,#000 0 35%,rgba(0,0,0,0) 72%);
  -webkit-mask-size:300% 100%;mask-size:300% 100%;
  -webkit-mask-position:100% 0;mask-position:100% 0;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@media (prefers-reduced-motion: reduce){
  html.ag-js .ag-p-hataraki [data-tl],
  html.ag-js .ag-p-hataraki [data-intprof],
  html.ag-js .ag-p-hataraki [data-intcol] > *{opacity:1;transform:none;transition:none}
  html.ag-js .ag-p-recruit [data-salamount]{opacity:1;-webkit-mask-image:none;mask-image:none}
}

/* ============================================================
   ④ 受領JSの幅ごとの計算のうち、CSSで足りるもの
   ============================================================ */

/* FV写真の寄せ。受領は dc-script の fvSettings（幅ごとの object-position/scale）を
   JSで当てていた。fv-00 は倍率が全幅 1.00 で、変わるのは横位置だけ＝CSSで足りる。
   受領の実値: 幅≦340→63% ／ ≦400→61% ／ ≦560→61% ／ それ以上→50%。
   ★2026-10-08 改: FV写真が TOP-FV-photo_2.jpg（2000×992・人物の顔は横80%付近）に差し替わり、
     旧値61%では手と誘導棒しか映らなかった（Galaxy SC-51C=360px で指摘）。タブレット768pxでも同様。
     ≦1024px は 83%（顔・ヘルメット・肩章が入る位置を360/390/768pxで実測して決定）。PCは50%のまま。 */
.ag-fv{object-position:50% 50%}
@media (max-width:1024px){ .ag-fv{object-position:83% 50%} }

/* FV見出しの1文字落ち（2026-10-08）。h1 はインラインで clamp(36px,6.6vw,84px)＋字間.04em。
   幅 414px 未満では1行10字が収まらず「現場こ／そ、」「出番で／す。」と1字だけ次行へ落ちていた。
   ≦560px は 1行10字＋字間 が本文幅（左右余白20px×2を引いた幅）に収まる大きさまで下げる（上限36pxは据え置き）。
   SCROLL表示がボタン2段目に重なるため、同じ幅で下余白を 110→132px に広げる。 */
@media (max-width:560px){
  .ag-p-index [data-fvsec] h1{font-size:min(36px, calc((100vw - 40px) / 10.5)) !important}
  .ag-p-index [data-fvsec] > div[style*="max-width:1080px"]{padding-bottom:132px !important}
}

/* ★受領JSの mask 演出（_applyMask／横スクロール帯の端をぼかす）は移植しない。
   受領HTMLに railRef の当たる要素が無く、受領サイトでも発火していない（＝見た目に無い）。 */

/* ============================================================
   テーマ（Bootstrap）由来の打ち消し（R-20）
   ============================================================ */
/* CueZillaテーマは a:hover を青（#0d6efd 系）にする。受領の配色は a{color:#0A4DD4} で
   ホバーは #06246E。20_site.css の a:hover は詳細度(0,1,1)で足りるが、
   テーマ側が !important を使う箇所があるので、ボタン類は色を継承で固定しておく。 */
.ag-page a:hover,.ag-header a:hover,footer a:hover{text-decoration:none}

/* 会社概要テーブルの電話番号（受領は素のテキスト。R-24 で tel: に包んだぶん）。
   色は継承・padding-block はインライン要素の行の高さを変えないので、見た目は不変のまま
   タップ領域だけ広がる。 */
a.ag-tel{color:inherit;text-decoration:none;padding-block:12px}

/* 受領の素のパンくず「TOP ／ ○○」の TOP をリンクにした分（表示文字は不変）。
   ★padding でタップ領域を 44×44 以上にし、同じ値の負の margin-inline で
     打ち消して**後続の「／ ○○」の位置を1pxも動かさない**（受領のナビのカレットが
     使っているのと同じ手：padding:10px; margin:-10px …）。
     インライン要素の上下 padding は行の高さを変えないので、見た目は変わらずに当たり判定だけ広がる。
   計測: 25×19px → 45×45px（機械ゲート #10 タップ領域）。 */
a.ag-crumb{color:#0A4DD4;text-decoration:none;padding:13px 10px;margin-inline:-10px}
a.ag-crumb:hover{color:#06246E}

/* 受領由来の床割れ（狭幅で文字が切れる）を、切れている幅だけ直す。
   ★採用ページのTikTokボタン「求人｜円陣ちゃんTikTokアカウントを見る」は
     受領サイトでも 369px ／ 器 335px で、ラベルの右端がセクションの overflow に切られている
     （受領・納品ともに同値＝納品で作った不具合ではない。教訓
      one-column-1fr-min-content-clips-text-invisibly：横スクロールが出ないので撮影ゲートには映らない）。
   ★文字は1字も変えない。左右paddingと字間だけを詰めて収める（折り返すとピル型の意匠が崩れる）。
     420px以上では器が広いので何も当てない＝受領の見た目のまま。
   ★インラインstyleに padding/letter-spacing があるので !important が必要。 */
@media (max-width:419px){
  .ag-p-recruit a[href*="tiktok.com/@kensetsu_engine_recruit"]{
    padding-inline:14px !important; letter-spacing:0.02em !important;
  }
}

/* ★未経験の方へ：ヒーロー見出し「「ありがとう」が、まっすぐ返ってくる」が 361〜619px で切れる。
   受領CSSの中で条件が食い違っている（受領サイトでも同じく切れている＝納品で作った不具合ではない）:
     ・@media (min-width:361px) and (max-width:999px) … 改行用の span を隠して white-space:nowrap
       ＋ font-size:clamp(19px,4.4vw,34px)（＝19px前提なら1行に収まる）
     ・@media (max-width:619px) … font-size:clamp(19px,5.6vw,34px) ★後に書かれているのでこちらが勝つ
   結果、375pxでは 21px で描かれ 中身367px ＞ 器335px。620px以上でも 2カラムのグリッドで
   見出しの器が306pxしか無いまま nowrap が続くので、640px=507/306・800px=612/448 と切れ続ける
   （受領サイトでも同値を実測。1000px以上でようやく収まる）。
   → デザイナー自身が360px以下で使っている「2行の形」（改行用span）を、崩れている幅にも出す。
     文字は1字も変えない。620px以上は受領のまま1行。 */
@media (min-width:361px) and (max-width:999px){
  .ag-p-beginner [data-heroh2br]{display:block !important}
  .ag-p-beginner [data-heroh2]{white-space:normal !important; text-wrap:balance !important}
}

/* 閉じている FAQ（details）の答えは、Chromeが「箱だけ」残すので座標を持ち続ける
   （display:none にはならない）。そのため機械ゲートが全問の答えを
   「同じ座標帯に重なったテキスト」と読み、狭幅で overlap を大量に出す
   （教訓 closed-details-box-fakes-overlap-and-contrast-ng：163件→0件になった1行）。
   ★開閉の挙動は変わらない（開いている間は :not([open]) が当たらない。
     BODY内JSの閉じるアニメ中も details は open のままなので邪魔をしない）。 */
[data-faq]:not([open]) [data-faqans]{display:none !important}

/* ============================================================
   ④ トップ：ブログ／お知らせを「見出し＋一覧」で1つの帯に見せる（2026-09-11 指示）
   受領デザインでは見出しと仮カードが1つの section だったが、CueZilla化で
   一覧が別パーツになったため、見出しの下余白とパーツの上余白が二重に付いていた。
   ★パーツのクラス名の末尾（_dMNlwUJUHk 等）はCueZillaが自動で採番する。
     パーツを作り直すと変わるので、前方一致で拾う（クラス名が変わっても効く）。
   ============================================================ */

/* ①一覧パーツの上余白を殺す */
[class*="parts131415_blog"],
[class*="parts040506_notice-news"]{padding-top:0 !important}

/* ②その上の見出しセクションの下余白を殺す。
   05a/05b/05c のうち section を持つのは 05a（最後＝ブログ見出し）と
   05b（最後＝お知らせ見出し）だけで、05c（CTA）は section を持たないため、
   この1行で狙った2箇所にだけ当たる（プレビュー実測：一致2件＝ブログ／お知らせ）。
   見出し行の下には内側の margin-bottom:24px が残るので、文字とカードは密着しない。 */
.ag-p-index > section:last-of-type{padding-bottom:0 !important;
  /* ★display:flow-root が無いと、見出し行の margin-bottom:24px が
     下余白0のセクションから「はみ出して」しまい、見出しとパーツの間に
     背景の乗らない白い帯が24px出る（実測）。flow-root で内側に閉じ込める＝
     見た目の間隔24pxはそのまま、帯だけ消える。 */
  display:flow-root !important}

/* ③見出しセクションの背景（白62%＋bg-diagonal）を一覧パーツにも延長する */
[class*="parts131415_blog"],
[class*="parts040506_notice-news"]{
  background-color:#FFFFFF !important;
  background-image:linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.62)),
                   url(https://cdn.cuezilla-cms.com/enjoyworks-test7.site/images/1537/bg-diagonal.webp) !important;
  background-size:auto,cover !important;
  background-position:center,center !important;
  /* ★repeat は見出しセクション側（インラインstyleに指定が無い＝既定の repeat）に合わせる。
     no-repeat にすると背景の出方がわずかに変わり、境目に色味の段差が出る（実測）。 */
  background-repeat:repeat,repeat !important;
  /* ★display:flow-root が無いと、パーツの中身の margin-top が上へ抜けて
     セクション自身が6px下へずれ、そこに地の白が出る＝「帯」になる（実機で実測：
     flow-root を当てた瞬間 top 4025→4019 で隙間0）。 */
  display:flow-root !important;
}

/* ④継ぎ目対策。background-size:cover は「要素ごとに」拡大・切り抜きをするので、
   ③だけだと見出しとパーツで斜線の位置がズレて境目が見える。
   両方を画面に固定すると同じ1枚から描かれるので継ぎ目が消える。
   ★スマホ幅では fixed を当てない（iOS Safari で fixed+cover は描画が崩れる／重い）。
     狭い画面では斜線がほぼ見えないので、ズレは実用上わからない。 */
@media (min-width:768px){
  .ag-p-index > section:last-of-type,
  [class*="parts131415_blog"],
  [class*="parts040506_notice-news"]{background-attachment:fixed !important}
}

/* ============================================================
   ⑤ お問い合わせ／応募フォーム：下層ヘッダーの背景をフォーム本体まで延長（2026-09-11 指示）
   実機DOM（enjoyworks-test7.site）で確認した構成:
     /form/inquiry … div.ag-page.ag-p-entry ではなく .ag-p-inquiry の最後の section（背景あり）
                     → その下に section.contact_section（CueZillaのフォームパーツ・背景なし）
     /form/recruit … div.ag-page.ag-p-entry の最後の section → 同じく section.contact_section
   ★フォームパーツのクラスは2ページとも .contact_section（自動採番の連番が付かない型）。
   ★余白（padding）はいじらない＝指示は「背景をフォーム部分まで」だけ。
   ============================================================ */
.contact_section{
  background-color:#FFFFFF !important;
  background-image:linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.62)),
                   url(https://cdn.cuezilla-cms.com/enjoyworks-test7.site/images/1537/bg-diagonal.webp) !important;
  background-size:auto,cover !important;
  background-position:center,center !important;
  background-repeat:repeat,repeat !important;
}
@media (min-width:768px){
  .ag-p-inquiry > section:last-of-type,
  .ag-p-entry > section:last-of-type,
  .contact_section{background-attachment:fixed !important}
}
/* ★.contact_section に背景を当てただけでは見えない。その直下に
   section.parts213_section_form が「不透明な白・親と同じ大きさ」で敷かれていて、
   こちらの背景を完全に覆っていた（実測 1905×1123 ＝ .contact_section と同寸）。
   内側を透明にして、外側の背景を見せる（1枚で塗る＝継ぎ目も出ない）。
   クラス末尾の採番が変わっても効くよう前方一致で拾う。 */
[class*="parts213_section_form"]{background-color:transparent !important; background-image:none !important}

/* ============================================================
   ⑥ 画像スロット（受領の image-slot 要素を img.ag-slot に置き換えた分）の寸法
   ★不具合: 経験者ページ「働く量を、自分で決められます」の写真が巨大に表示されていた。
     受領の image-slot.js は「スロットは既定で親いっぱい（width/height 100%）」だが
     （同ファイル 63行目）、静的化した img には寸法指定が無く、
     画像の原寸（1920×1281）のまま 600×337 の枠に入って overflow:hidden で
     左上だけが切り取られていた＝約3.2倍に拡大された状態。
   ★object-fit はインラインの fit 属性由来（この案件は cover 1枚のみ）。
   ============================================================ */
img.ag-slot{display:block; width:100%; height:100%; object-fit:cover}

/* ============================================================
   ⑦ トップ「お知らせ」パーツの調整（2026-10-14 指示）
   ① カテゴリの文字色を白に。既定は黒で、パーツ側の背景 rgb(88,96,121) に黒文字＝読みにくい。
   ② 「もっと見る」を右端に揃える。
      カテゴリ名が長い行だけ日付＋カテゴリの桁がはみ出して内容カラム(.col-lg-9)が次の行へ回り、
      そこでは左端から 9/12 幅になるため、右端より 284px 内側で止まっていた（実測）。
      折り返した行も全幅にして、どの行も右端で揃うようにする。PC幅（992px以上）だけに効かせる。
   ★クラス名の末尾（_ddW39gHfU6）はCueZillaの自動採番なので前方一致で拾う。
   ============================================================ */
[class*="parts040506_notice-news"] .categorytag{color:#FFFFFF !important}
@media (min-width:992px){
  [class*="parts040506_notice-news"] li.row > .col-lg-9{flex:0 0 100% !important; max-width:100% !important; width:100% !important}
}