:root{--orange:#f97316;--orange-dark:#c2410c;--orange-soft:#fff7ed;--ink:#1c1917;--muted:#78716c;--line:#e7e5e4;--surface:#fff;--bg:#fafaf9;--green:#15803d;--red:#b91c1c;--trend-positive:#3f8f66;--trend-positive-soft:#86b99a;--trend-neutral:#d6a742;--trend-caution:#e87924;--trend-negative:#c94b35;--trend-previous:#d6d3d1;--shadow:0 12px 32px rgba(41,37,36,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.65}.site-header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1120px)/2));position:sticky;top:0;z-index:10}.brand{border:0;background:none;font-weight:800;font-size:24px;color:var(--ink);cursor:pointer;padding:8px 0}.brand span{font-size:12px;color:var(--muted);font-weight:500;margin-left:12px}.text-button{border:0;background:none;color:var(--orange-dark);font-weight:700;cursor:pointer;padding:12px}.shell{max-width:760px;margin:0 auto;padding:48px 20px 80px}.shell.wide{max-width:1180px}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}.eyebrow{color:var(--orange-dark);font-size:13px;font-weight:800;letter-spacing:.08em;margin:0 0 8px}.hero h1,.card h1{font-size:clamp(28px,5vw,42px);line-height:1.25;margin:0 0 16px}.hero p{color:var(--muted);font-size:17px}.code-form{display:flex;gap:10px;margin-top:28px}.input{width:100%;min-height:52px;border:1px solid #d6d3d1;border-radius:12px;padding:12px 14px;font:inherit;background:#fff}.input:focus{outline:3px solid #ffedd5;border-color:var(--orange)}.code-input{text-transform:uppercase;font-size:18px;letter-spacing:.08em}.button{min-height:50px;border:0;border-radius:12px;padding:12px 22px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:var(--orange);color:#fff}.button.primary:hover{background:#ea580c}.button.secondary{background:#fff;border:1px solid #d6d3d1;color:var(--ink)}.button:disabled{opacity:.45;cursor:not-allowed}.error{color:var(--red);font-weight:700;margin:10px 0 0}.demo-codes{margin-top:24px;padding:16px;border-radius:12px;background:var(--orange-soft);font-size:14px}.demo-codes code{background:#fff;border:1px solid #fed7aa;border-radius:6px;padding:2px 6px}.intro-list{display:grid;gap:12px;margin:26px 0}.intro-item{display:flex;gap:12px;padding:14px;background:#fafaf9;border-radius:12px}.intro-item b{color:var(--orange);font-size:20px}.progress-wrap{margin-bottom:22px}.progress-meta{display:flex;justify-content:space-between;font-size:14px;font-weight:700;margin-bottom:8px}.progress{height:8px;background:#e7e5e4;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange);border-radius:99px;transition:width .2s}.section-head{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.section-head h1{font-size:26px;margin:0 0 4px}.section-head p{color:var(--muted);margin:0}.question{padding:22px 0;border-bottom:1px solid var(--line)}.question:last-of-type{border-bottom:0}.question h2{font-size:17px;margin:0 0 14px}.required{color:var(--orange-dark);font-size:12px;margin-left:6px}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option{position:relative}.option input{position:absolute;opacity:0;pointer-events:none}.option label{min-height:50px;border:1px solid #d6d3d1;border-radius:11px;display:flex;align-items:center;padding:11px 14px;cursor:pointer;background:#fff}.option input:checked+label{border-color:var(--orange);background:var(--orange-soft);color:#9a3412;font-weight:750;box-shadow:inset 0 0 0 1px var(--orange)}.option input:focus-visible+label{outline:3px solid #fed7aa}.scale-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:8px}.scale{display:grid;grid-template-columns:repeat(11,1fr);gap:5px}.scale .option label{min-height:42px;padding:4px;justify-content:center}.nav-row{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.validation{background:#fef2f2;color:var(--red);padding:12px 14px;border-radius:10px;margin-top:18px}.review-section{padding:18px 0;border-bottom:1px solid var(--line)}.review-section h2{font-size:17px;margin:0 0 10px}.review-row{display:grid;grid-template-columns:45% 1fr;gap:14px;padding:7px 0;font-size:14px}.review-row dt{color:var(--muted)}.review-row dd{margin:0;font-weight:650}.complete{text-align:center;padding:50px 32px}.complete-icon{width:64px;height:64px;background:#dcfce7;color:var(--green);border-radius:50%;display:grid;place-items:center;font-size:30px;margin:0 auto 20px}.admin-bar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-bar h1{margin:0;font-size:32px}.company-select{max-width:300px}.summary{background:#292524;color:#fff;border-radius:18px;padding:24px;margin-bottom:20px}.summary h2{font-size:19px;margin:0 0 14px}.summary ul{margin:0;padding-left:20px}.summary li{margin:7px 0;color:#e7e5e4}.summary small{color:#a8a29e}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.metric span{font-size:13px;color:var(--muted);display:block}.metric strong{font-size:27px;line-height:1.25}.metric em{font-style:normal;color:var(--orange-dark);font-weight:800}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0}.panel.full{grid-column:1/-1}.panel h2{font-size:18px;margin:0 0 18px}.bar-list{display:grid;gap:11px}.bar-row{display:grid;grid-template-columns:minmax(95px,1.2fr) 3fr 50px;gap:10px;align-items:center;font-size:13px}.bar-track{height:10px;border-radius:99px;background:#f1f0ef;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:var(--orange)}.comments{display:grid;gap:10px}.comment{padding:14px;background:#fafaf9;border-left:3px solid #fdba74;border-radius:0 10px 10px 0}.empty{color:var(--muted);text-align:center;padding:26px}footer{text-align:center;color:var(--muted);font-size:12px;padding:20px}footer span{font-weight:800;color:#44403c}
@media(max-width:720px){.site-header{height:62px;padding:0 16px}.brand{font-size:21px}.brand span{display:none}.shell{padding:26px 14px 60px}.card{padding:22px 16px;border-radius:16px}.code-form{display:grid}.options{grid-template-columns:1fr}.scale{grid-template-columns:repeat(6,1fr)}.scale .option label{min-height:46px}.admin-bar{align-items:stretch;flex-direction:column}.company-select{max-width:none}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.panel.full{grid-column:auto}.bar-row{grid-template-columns:90px 1fr 42px}.review-row{grid-template-columns:1fr;gap:0}.nav-row .button{flex:1}.metric strong{font-size:23px}}

/* おりじん管理画面：企業・実施期間フィルター */
.admin-bar>div:last-child:has(#company-select){
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,300px));
  gap:14px;
  align-items:end;
}
.admin-bar>div:last-child:has(#company-select)>label{
  display:grid;
  grid-template-rows:auto 52px;
  gap:6px;
  min-width:0;
  margin:0;
  color:#57534e;
  font-size:13px;
  font-weight:750;
  line-height:1.4;
}
.admin-bar>div:last-child:has(#company-select)>label>.company-select{
  width:100%;
  max-width:none;
  height:52px;
  min-height:52px;
  margin:0;
}
@media(max-width:960px){
  .admin-bar{align-items:stretch;flex-direction:column}
  .admin-bar>div:last-child:has(#company-select){grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}
@media(max-width:560px){
  .admin-bar>div:last-child:has(#company-select){grid-template-columns:1fr}
}

/* ポータル・管理者認証 */
.company-add-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(28,25,23,.58);overflow:auto}.company-add-card{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:28px;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(28,25,23,.28)}.company-add-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.company-add-head h2{margin:0;font-size:26px}.company-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.company-add-grid>label{display:grid;gap:7px;min-width:0;color:#44403c;font-weight:700}.company-add-wide{grid-column:1/-1}.company-add-wide small{color:var(--muted);font-size:12px;font-weight:500}.company-add-active{grid-column:1/-1;display:flex!important;align-items:center;gap:9px!important}.company-add-active input{width:20px;height:20px;accent-color:var(--orange)}.company-add-message{min-height:26px;margin:14px 0 0}.company-add-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.company-add-success{text-align:center;padding:20px 8px 8px}.company-add-success h2{font-size:26px;margin:0 0 8px}.company-add-success .button{margin-top:12px}@media(max-width:620px){.company-add-dialog{padding:12px}.company-add-card{max-height:calc(100vh - 24px);padding:22px 16px}.company-add-grid{grid-template-columns:1fr}.company-add-wide,.company-add-active{grid-column:auto}.company-add-actions .button{flex:1}}
.campaign-kind{margin:0;padding:13px 15px;border:1px solid var(--line);border-radius:12px}.campaign-kind legend{padding:0 5px;color:#44403c;font-weight:700}.campaign-kind label{display:inline-flex;align-items:center;gap:7px;margin-right:24px;font-weight:600}.campaign-kind input{width:18px;height:18px;accent-color:var(--orange)}
.manager-account-list{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.manager-account-list h3{margin:0 0 6px}.manager-account-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.manager-account-table{width:100%;border-collapse:collapse;background:#fff;font-size:.88rem}.manager-account-table th,.manager-account-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.manager-account-table th{background:#f5f5f4;color:#57534e;font-size:.78rem}.manager-account-table tbody tr:last-child td{border-bottom:0}.manager-account-table td small{display:block;color:var(--muted)}.manager-status{display:flex;align-items:center;gap:6px;font-weight:800}.manager-status input{width:18px;height:18px;accent-color:var(--orange)}.manager-status span{padding:3px 8px;border-radius:999px;background:#dcfce7;color:#166534}.manager-status input:not(:checked)+span{background:#f1f5f9;color:#64748b}
.portal-shell{max-width:960px}.portal-hero{padding:16px 4px 32px}.portal-hero h1{font-size:clamp(32px,6vw,52px);line-height:1.2;margin:0 0 16px}.portal-hero>p:last-child{color:var(--muted);font-size:17px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-card{min-height:112px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;text-align:left;font:inherit;cursor:pointer;box-shadow:0 4px 16px rgba(41,37,36,.04)}.menu-card:hover{border-color:#fdba74;box-shadow:var(--shadow)}.menu-card.featured{border-color:#fdba74;background:var(--orange-soft)}.menu-icon{width:46px;height:46px;border-radius:13px;background:#ffedd5;color:var(--orange-dark);display:grid;place-items:center;font-weight:900}.menu-card b{display:block;font-size:18px}.menu-card small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:2px}.menu-card i{font-style:normal;color:var(--orange-dark);font-size:13px;font-weight:800}.menu-card em{font-style:normal;background:#f5f5f4;color:#78716c;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:800}.back-link{border:0;background:none;color:var(--muted);font:inherit;font-weight:700;padding:0 0 20px;cursor:pointer}.news-list article{padding:18px 0;border-bottom:1px solid var(--line)}.news-list time{font-size:12px;color:var(--orange-dark);font-weight:800}.news-list h2{font-size:16px;margin:4px 0}.login-shell{max-width:520px}.field-label{display:grid;gap:6px;font-size:14px;font-weight:750;margin:18px 0}.login-button{width:100%;margin-top:8px}.security-note{font-size:12px;color:var(--muted);margin:18px 0 0}.admin-tools{display:flex;justify-content:flex-end;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin-bottom:8px}.chart-note{color:var(--muted);font-size:11px;margin:-16px 0 16px}.donut-wrap{display:flex;align-items:center;gap:24px}.donut{width:154px;height:154px;border-radius:50%;position:relative;display:grid;place-items:center;flex:0 0 auto}.donut:after{content:"";position:absolute;inset:27px;background:#fff;border-radius:50%}.donut>span{position:relative;z-index:1;font-size:25px;font-weight:800}.donut small{display:block;color:var(--muted);font-size:11px;text-align:center}.legend{flex:1;display:grid;gap:7px}.legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:12px}.legend i{width:10px;height:10px;border-radius:3px}.legend b{font-size:12px}
@media(max-width:720px){.portal-hero{padding:8px 2px 24px}.portal-hero h1{font-size:31px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:96px;padding:14px;grid-template-columns:44px 1fr auto}.menu-icon{width:42px;height:42px}.donut-wrap{gap:16px}.donut{width:128px;height:128px}.donut:after{inset:23px}.admin-tools{justify-content:space-between}}

/* 企業管理職・ご担当者向けページ Ver.1 */
.manager-entry{margin-top:28px;padding:18px 20px;border:1px solid #fdba74;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}.manager-entry b,.manager-entry span{display:block}.manager-entry b{font-size:16px}.manager-entry span{margin-top:3px;color:var(--muted);font-size:13px}.manager-login-shell{max-width:540px}.manager-portal{max-width:1180px}.manager-portal .button,.manager-portal button{min-height:48px}.manager-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.manager-page-head h1{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.25}.manager-page-head p:last-child{margin:8px 0 0;color:var(--muted)}.manager-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 4px 18px rgba(41,37,36,.04)}.manager-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.manager-section-title>div{display:flex;align-items:center;gap:10px}.manager-section-title span{display:grid;place-items:center;width:34px;height:30px;border-radius:8px;background:var(--orange);color:#fff;font-size:13px;font-weight:900}.manager-section-title h2{margin:0;font-size:20px}.manager-section-title>p{margin:0;color:var(--muted);font-size:13px}.manager-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.manager-summary-card{border:1px solid #fed7aa;border-radius:14px;padding:17px;display:flex;gap:12px;align-items:flex-start;background:#fffaf5}.manager-summary-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#ffedd5;color:#c2410c;font-weight:900;flex:0 0 auto}.manager-summary-card small{display:block;color:var(--muted);font-size:12px}.manager-summary-card strong{display:block;font-size:24px;line-height:1.25;margin:2px 0}.manager-summary-card p{margin:0;color:#57534e;font-size:13px;line-height:1.45}.manager-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.manager-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.manager-facts>div{padding:10px 0;border-bottom:1px solid var(--line)}.manager-facts dt{color:var(--muted);font-size:12px}.manager-facts dd{margin:2px 0 0;font-weight:800;font-size:16px}.manager-privacy{margin:16px 0 0;padding:11px 13px;border-radius:9px;background:#fafaf9;color:#57534e;font-size:12px}.manager-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.manager-actions .button{flex:1}.care-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.care-overview>div{padding:15px;border-radius:12px;background:#fff7ed}.care-overview small{display:block;color:var(--muted)}.care-overview strong{display:block;color:#c2410c;font-size:25px}.care-overview p{margin:2px 0 0}.manager-progress{height:10px;margin:14px 0 18px;border-radius:99px;background:#f1f0ef;overflow:hidden}.manager-progress i{display:block;height:100%;border-radius:99px;background:var(--orange)}.manager-section h3{font-size:16px}.care-history{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.care-history>div{padding:11px;border:1px solid var(--line);border-radius:10px}.care-history b,.care-history span,.care-history small{display:block}.care-history span{font-weight:800}.care-history small{color:var(--muted)}.next-event,.health-material{padding:18px;border-radius:14px;background:#fff7ed}.next-event small,.health-material small{color:#c2410c;font-weight:800}.next-event h3,.health-material h3{margin:5px 0;font-size:20px}.next-event p{margin:6px 0 0}.event-history{display:grid;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}.material-note,.manager-empty{color:var(--muted);font-size:13px}.button.is-disabled{pointer-events:none;opacity:.45}.material-archive{margin-top:14px}.material-archive summary{cursor:pointer;font-weight:800;color:#9a3412}.material-archive p{margin:8px 0;font-size:13px}.annual-section{margin-bottom:18px}.annual-timeline{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.annual-timeline>div{position:relative;padding:14px 10px;border:1px solid #fed7aa;border-radius:12px;background:#fffaf5;min-height:105px}.annual-timeline b,.annual-timeline span,.annual-timeline em{display:block}.annual-timeline b{color:#c2410c}.annual-timeline span{margin:7px 0;font-weight:750;font-size:13px}.annual-timeline em{font-style:normal;color:var(--muted);font-size:12px}.manager-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:18px;background:#292524;color:#fff}.manager-contact h2{margin:0;font-size:22px}.manager-contact p{margin:5px 0 0;color:#d6d3d1}.manager-contact .button{flex:0 0 auto}.manager-report-panel{border-color:#fdba74}
@media(max-width:900px){.manager-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-timeline{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.manager-entry,.manager-page-head,.manager-contact{align-items:stretch;flex-direction:column}.manager-entry .button,.manager-contact .button{width:100%}.manager-portal{padding-left:14px;padding-right:14px}.manager-page-head h1{font-size:28px}.manager-summary-grid,.manager-main-grid,.manager-facts,.care-overview{grid-template-columns:1fr}.manager-section{padding:18px 15px}.manager-section-title{align-items:flex-start;flex-direction:column;margin-bottom:14px}.manager-summary-card{min-height:112px}.care-history{grid-template-columns:1fr}.annual-timeline{grid-template-columns:1fr}.annual-timeline>div{min-height:0;display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center}.annual-timeline span{margin:0}.manager-actions{display:grid}.manager-actions .button{width:100%}}

/* 企業提出用 A3横レポート */
.report-create-button{min-height:40px;padding:8px 15px;margin-right:auto}.report-preview{padding:24px;overflow:auto}.report-actions{max-width:1480px;margin:0 auto 16px;display:flex;justify-content:space-between}.a3-report{width:1480px;min-height:1010px;margin:0 auto;background:#fff;color:#1c1917;border:1px solid #d6d3d1;box-shadow:var(--shadow);padding:34px 38px 28px;font-size:12px;line-height:1.4;display:flex;flex-direction:column}.report-header{border-bottom:4px solid var(--orange);display:flex;justify-content:space-between;align-items:end;padding-bottom:14px;margin-bottom:16px}.report-header p{color:var(--orange-dark);font-size:10px;font-weight:800;letter-spacing:.14em;margin:0}.report-header h1{font-size:30px;line-height:1.1;margin:4px 0 0}.report-meta{display:grid;grid-template-columns:1fr auto;gap:2px 20px;text-align:right}.report-meta strong{font-size:18px;grid-column:1/-1}.report-meta span{color:#57534e}.report-meta b{grid-column:1/-1;font-size:16px}.report-body{display:grid;grid-template-columns:minmax(0,3.25fr) minmax(270px,1fr);gap:16px;flex:1}.report-data{display:flex;flex-direction:column;gap:10px}.report-section{border:1px solid #e7e5e4;border-radius:9px;padding:10px 12px;break-inside:avoid}.report-section h2,.report-proposal>h2,.report-summary h2{font-size:14px;margin:0 0 8px;color:#9a3412}.report-section h3{font-size:10px;margin:0 0 5px}.report-section h3 small{font-weight:500;color:#78716c}.overview-grid{display:grid;grid-template-columns:115px 1fr 1.45fr;gap:13px;align-items:center}.report-kpi{height:112px;background:var(--orange-soft);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center}.report-kpi span{color:#78716c}.report-kpi strong{font-size:32px;line-height:1}.report-kpi strong small{font-size:12px}.report-kpi em{font-style:normal;font-size:9px;color:#9a3412;margin-top:8px}.report-donut-wrap{display:flex;gap:12px;align-items:center}.report-donut{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 auto}.report-donut:after{content:"";position:absolute;inset:16px;background:#fff;border-radius:50%}.report-donut span{z-index:1;text-align:center;font-weight:800;font-size:17px}.report-donut small{display:block;font-size:8px;color:#78716c}.report-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 7px;font-size:8px}.report-legend div{white-space:nowrap}.report-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.report-legend b{margin-left:3px}.report-bars{display:grid;gap:4px}.report-bars>div{display:grid;grid-template-columns:minmax(80px,1fr) 2.2fr 32px;gap:6px;align-items:center;font-size:9px}.report-bars>div>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-bars>div>i{height:6px;background:#f1f0ef;border-radius:99px;overflow:hidden}.report-bars>div>i>b{display:block;height:100%;background:var(--orange);border-radius:99px}.report-bars strong{text-align:right;font-size:9px}.report-sections-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-kpis{display:flex;gap:15px;margin:-3px 0 7px;color:#57534e;font-size:9px}.inline-kpis strong{font-size:16px;color:#c2410c}.triple-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:7px}.triple-kpi div{background:#fafaf9;border-radius:6px;padding:5px 7px}.triple-kpi span{display:block;color:#78716c;font-size:8px}.triple-kpi strong{font-size:18px;color:#c2410c}.triple-kpi small{font-size:8px}.small-chart-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.small-chart-row .report-bars>div{grid-template-columns:72px 1fr 27px}.analysis{background:#fff7ed}.analysis ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;padding-left:16px;margin:0;font-size:9px}.report-proposal{background:#292524;color:#fff;border-radius:10px;padding:18px;display:flex;flex-direction:column}.report-proposal>h2{color:#fdba74;font-size:18px}.proposal-lead{font-size:10px;color:#e7e5e4;border-bottom:1px solid #57534e;padding-bottom:12px;margin:0 0 14px}.report-proposal h3{font-size:12px;margin:9px 0 6px}.proposal-list,.effect-list{margin:0;padding:0;list-style:none;display:grid;gap:5px}.proposal-list li{background:#44403c;border-left:3px solid var(--orange);border-radius:4px;padding:6px 8px;font-size:10px}.effect-list{grid-template-columns:1fr 1fr}.effect-list li{font-size:9px;padding-left:10px;position:relative}.effect-list li:before{content:"✓";color:#fdba74;position:absolute;left:0}.disclaimer{font-size:8px;color:#a8a29e;margin:auto 0 0}.report-summary{border-top:2px solid #292524;margin-top:14px;padding-top:10px;display:grid;grid-template-columns:115px 1fr;gap:0 14px}.report-summary h2{font-size:15px;grid-row:1/3}.report-summary p{font-size:10px;margin:0}.report-summary span{font-size:8px;color:#78716c;margin-top:4px}
.pdf-status{margin:0 0 0 auto;padding:10px 14px;color:var(--muted);font-size:12px}.pdf-status.success{color:var(--green);font-weight:700}.pdf-status.error{color:var(--red);font-weight:700}
.overview .overview-grid{grid-template-columns:minmax(145px,.72fr) minmax(285px,1.32fr) minmax(0,1.75fr);gap:16px;align-items:stretch}.overview .overview-grid>div:nth-child(n+2){border-left:1px solid #e7e5e4;padding-left:16px}.overview .report-kpi{height:138px;border:1px solid #fed7aa;background:#fff7ed;box-shadow:inset 0 0 0 4px #fff}.overview .report-kpi>span{font-size:0;color:#78716c}.overview .report-kpi>span:after{content:"回答者数";font-size:11px;font-weight:700;letter-spacing:.04em}.overview .report-kpi strong{font-size:39px;margin-top:5px;color:#1c1917}.overview .report-kpi strong small{font-size:15px;margin-left:2px}.overview .report-kpi em{font-size:9px;margin-top:9px}.overview .report-donut-wrap{height:112px;gap:14px}.overview .report-donut{width:112px;height:112px;background:none}.overview .report-donut:after{content:none}.overview .report-donut svg{width:112px;height:112px;display:block;transform:rotate(-90deg)}.overview .report-donut>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;line-height:1}.overview .report-donut>span b{font-size:23px}.overview .report-donut>span small{font-size:10px;margin-left:2px;color:#57534e}.overview .report-donut>span em{width:100%;margin-top:5px;font-size:8px;font-style:normal;color:#78716c}.overview .report-legend{grid-template-columns:1fr;gap:3px;align-content:center}.overview .report-legend>div{display:grid;grid-template-columns:8px minmax(58px,1fr) 28px 30px;gap:5px;align-items:center;font-size:8px}.overview .report-legend>div i{width:8px;height:8px;margin:0}.overview .report-legend>div em{font-style:normal;color:#57534e;text-align:right}.overview .report-legend>div b{text-align:right;margin:0}.overview .profile-job-bars{gap:7px}.overview .profile-job-bars>div{grid-template-columns:minmax(112px,1.05fr) 2fr 66px;gap:8px;font-size:9px}.overview .profile-job-bars>div>i{height:8px}.overview .profile-job-bars>div>strong{display:grid;grid-template-columns:1fr 1fr;gap:5px}.overview .profile-job-bars>div>strong em{font-size:8px;font-style:normal;font-weight:600;color:#57534e}.overview .profile-job-bars>div>strong b{font-size:9px;color:#1c1917}
@page{size:A3 landscape;margin:0}
@media print{html,body{width:420mm;height:297mm;background:#fff}.site-header,body>footer,.no-print{display:none!important}#app{width:420mm;height:297mm}.report-preview{padding:0;overflow:visible}.a3-report{width:420mm;height:297mm;min-height:0;margin:0;border:0;box-shadow:none;padding:9mm 10mm 7mm;font-size:8.5pt;print-color-adjust:exact;-webkit-print-color-adjust:exact;overflow:hidden}.report-header{margin-bottom:4mm;padding-bottom:3mm}.report-body{gap:4mm}.report-data{gap:2.5mm}.report-sections-grid{gap:2.5mm}.report-section{padding:2.2mm 2.8mm}.report-summary{margin-top:3mm;padding-top:2mm}}
@media screen{.report-actions{max-width:1428px}.a3-report{width:1428px}}

/* 職場健康アセスメント Ver.2 */
.q-number{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:26px;margin-right:9px;border-radius:7px;background:var(--orange-soft);color:var(--orange-dark);font-size:12px}.question-help{margin:-8px 0 13px;color:var(--muted);font-size:13px}.personal-results{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:25px 0;text-align:left}.personal-item{padding:14px;border:1px solid var(--line);border-radius:11px}.personal-item b,.personal-item span{display:block}.personal-item b{color:var(--orange-dark)}.personal-item span{font-size:13px}.result-disclaimer{padding:13px;background:#fafaf9;border-radius:10px;color:var(--muted);font-size:12px}.v2-metrics{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:18px}.v2-metrics>div,.domain-metrics>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}.v2-metrics span,.domain-metrics span{display:block;color:var(--muted);font-size:11px}.v2-metrics strong{font-size:22px}.v2-metrics small,.domain-metrics small{font-size:11px;margin-left:2px}.priority-section,.cross-section,.needs-section,.analysis-comments,.privacy-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px}.priority-section>h2,.cross-section>h2,.needs-section>h2,.analysis-comments>h2,.privacy-panel>h2{font-size:19px;margin:0 0 14px}.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.priority-grid article{background:#292524;color:#fff;border-radius:13px;padding:16px}.priority-grid h3{margin:8px 0 4px}.priority-grid p{font-size:12px;color:#d6d3d1;margin:0}.priority-level{display:inline-block;background:#fff7ed;color:#9a3412;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:800}.priority-note,.cross-section>p{color:var(--muted);font-size:11px;margin:13px 0 0}.cross-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cross-grid article{border-left:3px solid var(--orange);background:#fafaf9;border-radius:0 10px 10px 0;padding:13px}.cross-grid article.suppressed{border-left-color:#a8a29e}.cross-grid h3{font-size:12px;margin:0 0 7px}.cross-grid strong{font-size:22px;color:var(--orange-dark)}.cross-grid span{font-size:11px;margin-left:5px}.cross-grid p{font-size:11px;color:var(--muted);margin:0}.need-match{background:#ecfdf5;color:#166534;padding:9px 12px;border-radius:9px;font-size:12px}.analysis-comments{background:var(--orange-soft)}.analysis-comments p{margin:7px 0;font-size:13px}.domains{display:grid;gap:18px}.domain-block{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.domain-head{display:flex;justify-content:space-between;align-items:center}.domain-head h2{font-size:20px;margin:0 0 15px}.domain-head span{color:var(--orange-dark);font-size:11px;font-weight:800}.domain-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-bottom:13px}.domain-metrics>div{padding:11px;background:#fafaf9}.domain-metrics strong{font-size:18px}.domain-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.domain-charts .panel{padding:16px}.domain-charts .panel h3{font-size:14px;margin:0 0 15px}.privacy-panel{margin-top:18px}.privacy-panel p{color:var(--muted);font-size:13px}.report-domain-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.report-domain-summary>div{background:#fafaf9;border-radius:5px;padding:5px 7px}.report-domain-summary h3{color:#9a3412}.report-domain-summary p{display:flex;justify-content:space-between;font-size:8px;margin:2px 0}.report-domain-summary b{font-size:10px}
.overview .overview-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:18px}.overview .overview-grid>div:nth-child(2){border-left:1px solid #e7e5e4;padding-left:18px}.overview .report-donut-wrap{height:126px;gap:18px}.overview .report-donut{width:126px;height:126px}.overview .report-donut svg{width:126px;height:126px}.overview .report-donut>span b{font-size:26px}.overview .report-donut>span small{font-size:11px}.overview .report-donut>span em{font-size:9px}.overview .report-legend{gap:4px}.overview .report-legend>div{grid-template-columns:9px minmax(66px,1fr) 32px 34px;gap:7px;font-size:9px}.overview .report-legend>div i{width:9px;height:9px}.overview .profile-job-bars{gap:9px;padding-top:8px}.overview .profile-job-bars>div{grid-template-columns:minmax(125px,1.08fr) 2.45fr 78px;gap:10px;font-size:10px}.overview .profile-job-bars>div>i{height:10px}.overview .profile-job-bars>div>strong{gap:7px}.overview .profile-job-bars>div>strong em{font-size:9px}.overview .profile-job-bars>div>strong b{font-size:10px}.domain-overview{padding-bottom:9px}.report-domain-summary{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}.report-domain-summary>.domain-summary-card{grid-column:span 3;background:#fafaf9;border:1px solid #eeeae7;border-radius:7px;padding:7px 9px;min-width:0}.report-domain-summary>.domain-summary-card:nth-child(n+5){grid-column:span 4}.domain-card-head{display:flex;align-items:center;gap:6px}.domain-card-head>span{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#ffedd5;color:#c2410c;font-size:7px;font-weight:800}.report-domain-summary .domain-card-head h3{margin:0;color:#44403c;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-domain-summary .domain-primary-label{display:block;margin:6px 0 0;color:#78716c;font-size:8px}.domain-primary-value{display:block;color:#c2410c;font-size:20px;line-height:1.05;margin-top:1px}.domain-primary-value small{font-size:8px;margin-left:2px;color:#57534e}.domain-scale{height:5px;margin:6px 0;background:#e7e5e4;border-radius:99px;overflow:hidden}.domain-scale i{display:block;height:100%;background:#f97316;border-radius:99px}.report-domain-summary .domain-secondary{display:flex;justify-content:space-between;gap:5px;margin:0;font-size:7.5px;color:#57534e}.report-domain-summary .domain-secondary b{font-size:8px;white-space:nowrap;color:#292524}
.overview .overview-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1.08fr) minmax(0,.84fr);gap:13px;align-items:stretch}.overview .overview-grid>div:nth-child(2),.overview .overview-grid>div:nth-child(3){border-left:1px solid #e7e5e4;padding-left:13px}.overview .report-donut-wrap{height:116px;gap:12px}.overview .report-donut,.overview .report-donut svg{width:116px;height:116px}.overview .profile-job-bars{gap:7px;padding-top:5px}.overview .profile-job-bars>div{grid-template-columns:minmax(92px,1fr) 1.8fr 68px;gap:7px;font-size:9px}.overview .profile-job-bars>div>i{height:9px}.profile-analysis{background:#fff7ed;border-radius:7px;padding:10px!important}.overview .profile-analysis h3{color:#9a3412;font-size:10px;margin-bottom:7px}.profile-analysis p{font-size:9px;line-height:1.65;margin:0;color:#44403c}.report-bars>div>i>b.tone-category{background:var(--orange)}.report-bars>div>i>b.tone-positive,.domain-scale i.tone-positive{background:var(--trend-positive)}.report-bars>div>i>b.tone-positive-soft{background:var(--trend-positive-soft)}.report-bars>div>i>b.tone-neutral{background:var(--trend-neutral)}.report-bars>div>i>b.tone-caution{background:var(--trend-caution)}.report-bars>div>i>b.tone-negative,.domain-scale i.tone-negative{background:var(--trend-negative)}.domain-comparison{font-size:7px;color:#57534e;margin:2px 0 4px}.comparison-comment{font-size:8px;margin:5px 0 0;padding-top:4px;border-top:1px solid #fed7aa}
/* A3横1ページに合わせ、文字サイズではなく余白とカード高を整理 */
.a3-report{height:1010px;min-height:1010px;overflow:hidden;padding:28px 34px 22px}.report-header{padding-bottom:10px;margin-bottom:11px}.report-body{min-height:0;gap:13px}.report-data{gap:7px;min-height:0}.report-section{padding:8px 10px}.report-section h2,.report-proposal>h2,.report-summary h2{margin-bottom:6px}.report-domain-summary>.domain-summary-card{padding:6px 8px}.domain-overview{padding-bottom:7px}.domain-primary-value{font-size:18px}.domain-scale{margin:4px 0}.report-sections-grid{gap:7px}.analysis ul{gap:2px 15px;line-height:1.35}.report-proposal{padding:14px}.proposal-lead{padding-bottom:9px;margin-bottom:9px}.report-proposal h3{margin:7px 0 4px}.proposal-list,.effect-list{gap:4px}.proposal-list li{padding:5px 7px}.report-summary{margin-top:9px;padding-top:7px}.report-summary p{line-height:1.35}
@media screen{.a3-report{height:1010px}}
@media print{.a3-report{height:297mm!important;max-height:297mm;overflow:hidden}.report-preview{height:297mm}.report-header{margin-bottom:2.8mm;padding-bottom:2.5mm}.report-body{gap:3mm}.report-data{gap:1.8mm}.report-section{padding:1.8mm 2.4mm}.report-summary{margin-top:2mm;padding-top:1.5mm}}
@media(max-width:900px){.v2-metrics{grid-template-columns:repeat(2,1fr)}.priority-grid,.cross-grid{grid-template-columns:1fr 1fr}.domain-charts{grid-template-columns:1fr}}
@media(max-width:520px){.personal-results,.priority-grid,.cross-grid{grid-template-columns:1fr}.v2-metrics{grid-template-columns:repeat(2,1fr)}.v2-metrics strong{font-size:19px}.domain-block{padding:16px}.domain-head{align-items:flex-start;gap:8px}.report-create-button{width:100%;order:3}}
/* 専門分析レポート: データ→読み取り→提案の視線設計 */
.report-icon{width:17px;height:17px;flex:0 0 auto;color:#c2410c}.insight-box{margin-top:6px;padding:6px 8px;border:1px solid #fed7aa;border-radius:6px;background:#fffaf5}.insight-title,.executive-title,.summary-heading{display:flex;align-items:center;gap:6px}.insight-title b{font-size:8.5px;color:#9a3412}.insight-box p{margin:2px 0 0;font-size:8px;line-height:1.45;color:#44403c}.profile-analysis{margin:0;padding:9px!important}.profile-analysis .insight-title b{font-size:10px}.profile-analysis p{font-size:8.7px;line-height:1.55}.domain-insight{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:8px;padding:5px 8px;margin-top:6px}.domain-insight .insight-title{border-right:1px solid #fed7aa}.domain-insight p{margin:0}.detail-section .insight-box{min-height:45px}.detail-section .insight-title{float:left;margin:0 8px 2px 0}.detail-section .insight-box p{font-size:7.6px}.report-proposal{background:#f5f5f4;color:#292524;padding:0;display:grid;grid-template-rows:auto auto auto 1fr;gap:7px}.executive-block{background:#fff;border:1px solid #e7e5e4;border-radius:8px;padding:11px}.executive-title{margin-bottom:7px}.executive-title h2,.executive-title h3{margin:0;font-size:13px;color:#9a3412}.executive-lead{background:#292524;color:#fff;border-color:#292524}.executive-lead .report-icon,.executive-lead h2{color:#fdba74}.executive-lead p{font-size:9.5px;line-height:1.55;margin:0;color:#f5f5f4}.executive-priorities{list-style:none;padding:0;margin:0;display:grid;gap:5px}.executive-priorities li{display:grid;grid-template-columns:25px 1fr;gap:7px;align-items:center;padding:5px 7px;background:#fafaf9;border-left:3px solid #f97316;border-radius:4px}.executive-priorities li>span{font-size:10px;font-weight:900;color:#c2410c}.executive-priorities b,.executive-priorities small{display:block}.executive-priorities b{font-size:9px}.executive-priorities small{font-size:7.5px;color:#78716c}.relation-list{display:grid;gap:5px}.relation-list>div{display:grid;grid-template-columns:1fr 13px 1fr auto;align-items:center;gap:4px;padding:5px 6px;background:#fff7ed;border-radius:5px;font-size:8px;text-align:center}.relation-list>div b{color:#c2410c;font-size:12px}.relation-list>div em{font-style:normal;font-weight:800;color:#9a3412}.relation-list>p{font-size:8px;color:#78716c}.recommended-actions{list-style:none;padding:0;margin:0;display:grid;gap:6px}.recommended-actions li{position:relative;padding-left:17px;font-size:9px}.recommended-actions li:before{content:'✓';position:absolute;left:0;color:#15803d;font-weight:900}.executive-note{display:block;margin-top:8px;padding-top:7px;border-top:1px solid #e7e5e4;color:#78716c;font-size:7.5px;line-height:1.4}.report-summary{grid-template-columns:140px 1fr;gap:0 14px}.summary-heading{grid-row:1/3;align-items:flex-start}.summary-heading h2{margin:0}.report-summary p{font-size:9.5px;line-height:1.5}.report-summary>span{grid-column:2}.report-summary .report-icon{width:18px;height:18px}.report-body{grid-template-columns:minmax(0,3.35fr) minmax(290px,1fr)}
/* 追加コメント分は重複余白を削り、A3の可読サイズを維持 */
.a3-report{padding:24px 30px 18px}.report-header{padding-bottom:8px;margin-bottom:8px}.report-header h1{font-size:28px}.report-data{gap:5px}.report-section{padding:6px 8px}.overview .report-donut-wrap{height:108px}.overview .report-donut,.overview .report-donut svg{width:108px;height:108px}.overview .profile-job-bars{gap:5px}.report-domain-summary>.domain-summary-card{padding:5px 7px}.report-domain-summary .domain-primary-label{margin-top:4px}.domain-primary-value{font-size:17px}.report-sections-grid{gap:5px}.report-bars{gap:3px}.report-bars>div>i{height:6px}.inline-kpis{margin:-2px 0 4px}.analysis{padding:5px 8px}.analysis ul{margin:0;font-size:7.5px}.report-summary{margin-top:6px;padding-top:6px}
@media print{.a3-report{padding:6mm 8mm 4.5mm}.report-header{margin-bottom:2mm;padding-bottom:2mm}.report-body{gap:2.4mm}.report-data{gap:1.3mm}.report-section{padding:1.5mm 2mm}.report-summary{margin-top:1.5mm;padding-top:1.5mm}}
.executive-block:last-child{display:flex;flex-direction:column}.executive-block:last-child .executive-note{margin-top:auto}
/* 02 健康KPIダッシュボード */
.health-kpi-section{padding-top:6px}.kpi-lead{margin:-4px 0 5px;color:#78716c;font-size:7.5px}.health-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.health-kpi-card{min-width:0;border:1px solid #e7e5e4;border-radius:7px;background:#fff;padding:6px 8px}.health-kpi-head{display:flex;align-items:center;gap:5px}.health-kpi-head .report-icon{width:14px;height:14px}.health-kpi-head h3{margin:0;font-size:9px;color:#292524}.health-kpi-number{display:flex;align-items:end;justify-content:space-between;gap:6px;margin:2px 0}.health-kpi-number strong{font-size:19px;line-height:1;color:#c2410c}.health-kpi-number strong small{font-size:8px;margin-left:2px;color:#57534e}.health-kpi-number>span{font-size:8px;font-weight:750;color:#57534e;white-space:nowrap}.kpi-rate-bar{height:5px;background:#f1f0ef;border-radius:99px;overflow:hidden}.kpi-rate-bar i{display:block;height:100%;background:#f97316;border-radius:99px}.kpi-scale{display:grid;grid-template-columns:8px 1fr 12px;gap:4px;align-items:center;color:#78716c;font-size:7px}.kpi-scale i{height:3px;background:#fdba74;position:relative}.kpi-scale i b{position:absolute;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border:2px solid #fff;border-radius:50%;background:#c2410c;box-shadow:0 0 0 1px #c2410c}.health-kpi-card>p{margin:4px 0 2px;font-size:7.8px;line-height:1.25;font-weight:650;color:#44403c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-definition{display:block;color:#78716c;font-size:6.5px;line-height:1.25}.kpi-comparison{margin-top:3px;padding-top:3px;border-top:1px solid #fed7aa;color:#9a3412;font-size:6.8px;font-weight:700}.kpi-insight{margin-top:5px}.health-kpi-section .domain-insight{grid-template-columns:115px 1fr}.health-kpi-section .insight-box p{font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.health-kpi-card>p{min-height:20px;white-space:normal;overflow:visible;text-overflow:clip}.kpi-definition{font-size:6.8px}.health-kpi-section .insight-box p{white-space:normal;overflow:visible;text-overflow:clip}
/* 02 職場健康コンディション: 健康状態→背景→仕事影響の7領域 */
.health-kpi-section{padding:6px 8px}.kpi-section-heading{display:flex;align-items:center;gap:7px;margin-bottom:4px}.kpi-section-heading>b{display:grid;place-items:center;width:27px;height:25px;border-radius:4px;background:#f97316;color:#fff;font-size:14px}.kpi-section-heading h2{margin:0;font-size:12px}.kpi-section-heading p{margin:1px 0 0;color:#57534e;font-size:7.5px}.kpi-flow{display:grid;gap:2px}.kpi-layer{border:1px solid #fed7aa;border-radius:7px;padding:4px 6px;background:#fff}.kpi-layer-title{display:flex;align-items:center;gap:5px;margin-bottom:3px}.kpi-layer-title>b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f97316;color:#fff;font-size:9px}.kpi-layer-title>strong{font-size:9px;color:#292524}.kpi-layer-title>span{color:#78716c;font-size:6.8px}.kpi-layer-cards{display:grid;gap:5px}.kpi-layer-health .kpi-layer-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-layer-background{border-color:#e7dfcb;background:#fffdf8}.kpi-layer-background .kpi-layer-title>b{background:#a16207}.kpi-layer-background .kpi-layer-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-layer-impact{border-color:#d6c8df;background:#fcfaff}.kpi-layer-impact .kpi-layer-title>b{background:#7c5c99}.kpi-layer-impact .kpi-layer-cards{grid-template-columns:1fr}.kpi-flow-arrow{height:10px;text-align:center;color:#78716c;font-size:6.3px;line-height:10px}.kpi-flow-arrow span{margin-left:4px;color:#c2410c;font-size:9px}.health-kpi-card{padding:4px 6px;border-radius:5px;background:#fff}.health-kpi-head{align-items:flex-start}.health-kpi-head .report-icon{width:13px;height:13px;margin-top:1px}.health-kpi-head>div>span{display:block;color:#9a3412;font-size:6.8px;font-weight:800}.health-kpi-head h3{font-size:8.2px;line-height:1.15}.health-kpi-number{margin:1px 0}.health-kpi-number strong{font-size:17px}.health-kpi-number>span{font-size:7px}.kpi-rate-bar{height:4px}.kpi-scale{font-size:6px}.kpi-support{min-height:0!important;margin:3px 0 2px!important;padding-top:2px;border-top:1px solid #f1f0ef;font-size:6.7px!important;line-height:1.2!important;font-weight:700!important}.kpi-definition{font-size:6.1px;line-height:1.2}.kpi-background .kpi-rate-bar i{background:#a16207}.kpi-impact{display:grid;grid-template-columns:155px 110px minmax(0,1fr) 225px;align-items:center;gap:8px;border-color:#c4b5d0}.kpi-impact .health-kpi-number{margin:0}.kpi-impact .kpi-support{margin:0!important;border:0;padding:0}.kpi-impact .kpi-definition{font-size:6.4px}.kpi-impact .kpi-rate-bar{grid-column:2/4;width:100%}.kpi-comparison{font-size:6.3px}.kpi-insight{margin-top:4px}.health-kpi-section .domain-insight{grid-template-columns:100px 1fr;padding:4px 7px}.health-kpi-section .insight-box p{font-size:6.9px;line-height:1.3}
.health-kpi-section{padding:4px 7px}.kpi-section-heading{margin-bottom:2px}.kpi-flow{gap:0}.kpi-layer{padding:2px 5px}.kpi-layer-title{margin-bottom:1px}.kpi-layer-title>b{width:15px;height:15px;font-size:8px}.kpi-flow-arrow{height:7px;line-height:7px}.health-kpi-card{padding:3px 5px}.health-kpi-number strong{font-size:16px}.kpi-support{margin:1px 0!important;padding-top:1px}.kpi-insight{margin-top:2px}.health-kpi-section .domain-insight{padding:3px 6px}
.kpi-layer{display:grid;grid-template-columns:102px minmax(0,1fr);align-items:center;gap:4px}.kpi-layer-title{display:grid;grid-template-columns:15px 1fr;gap:1px 4px;margin:0}.kpi-layer-title>b{grid-row:1/3}.kpi-layer-title>strong{font-size:8.2px;line-height:1.1}.kpi-layer-title>span{font-size:6.2px;line-height:1.15}.kpi-flow-arrow{height:5px;line-height:5px;font-size:5.8px}.kpi-flow-arrow span{font-size:7px}
/* 02 簡潔表示: 定義行を除き、意味・数値・人数・補足を読みやすくする */
.kpi-layer{grid-template-columns:112px minmax(0,1fr);padding:4px 6px}.kpi-layer-title{grid-template-columns:18px 1fr;gap:2px 5px}.kpi-layer-title>b{width:18px;height:18px;font-size:9px}.kpi-layer-title>strong{font-size:9.4px}.kpi-layer-title>span{font-size:7px}.health-kpi-card{padding:5px 7px}.health-kpi-head .report-icon{width:15px;height:15px}.health-kpi-head>div>span{font-size:7.8px}.health-kpi-head h3{font-size:9.5px;line-height:1.15}.health-kpi-number{margin:2px 0}.health-kpi-number strong{font-size:20px}.health-kpi-number strong small{font-size:9px}.health-kpi-number>span{font-size:8px}.kpi-rate-bar{height:5px}.kpi-scale{font-size:7px}.kpi-support{margin:3px 0 0!important;padding-top:3px;font-size:7.7px!important;line-height:1.25!important}.kpi-layer-impact .health-kpi-card{grid-template-columns:170px 115px minmax(0,1fr)}.kpi-layer-impact .kpi-support{display:none}.kpi-comparison{display:flex;justify-content:space-between;gap:5px;font-size:7px}.kpi-flow-arrow{height:7px;line-height:7px;font-size:6.5px}.kpi-flow-arrow span{font-size:9px}.health-kpi-section .insight-box p{font-size:7.3px}
.kpi-layer{padding:2px 5px}.health-kpi-card{padding:3px 6px}.health-kpi-number{margin:1px 0}.kpi-support{margin:1px 0 0!important;padding-top:1px}.kpi-flow-arrow{height:5px;line-height:5px}.kpi-insight{margin-top:1px}.health-kpi-section .domain-insight{padding:2px 6px}

/* A3横・企業提出用インフォグラフィックレポート */
.infographic-report{--ir-orange:#f4510b;--ir-green:#5f9849;--ir-blue:#3195a4;--ir-purple:#7445a8;width:1428px;height:1010px;min-height:1010px;padding:13px 20px 10px;background:#fffdf9;color:#171717;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.35}
.infographic-report h1,.infographic-report h2,.infographic-report h3,.infographic-report p{margin:0}.ir-header{height:72px;display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;border-bottom:1px solid #f8b37e;padding-bottom:8px}.ir-year{background:var(--ir-orange);color:#fff;border-radius:7px;text-align:center;font-size:25px;font-weight:900;line-height:1;padding:9px 5px}.ir-year small{display:block;font-size:10px;margin-top:5px}.ir-header h1{font-size:27px;line-height:1.05}.ir-header p{font-size:11px;margin-top:5px}.ir-header>div:nth-child(2)>b{display:block;color:#a53e0b;font-size:10px;margin-top:4px}.ir-meta{display:flex;gap:17px}.ir-meta span{display:grid;grid-template-columns:20px auto;column-gap:6px;align-items:center;border-left:1px solid #f4d5bf;padding-left:12px;color:var(--ir-orange);font-size:18px}.ir-meta b,.ir-meta em{grid-column:2;color:#444;font-style:normal;font-size:9px}.ir-meta em{font-size:11px;font-weight:800}
.ir-top{height:408px;display:grid;grid-template-columns:248px 1fr;gap:11px;padding-top:10px}.ir-profile,.ir-kpis,.ir-panel,.ir-overall{border:1px solid #f7c7a3;border-radius:9px;background:#fff;padding:10px}.infographic-report h2{color:var(--ir-orange);font-size:15px}.infographic-report h2 small{font-size:8px;color:#333;margin-left:5px}.ir-profile h2{color:#222;border-bottom:1px solid #f7c7a3;padding-bottom:6px}.ir-profile h3{font-size:10px;margin:8px 0 4px}.ir-profile h3 small{font-size:7px;color:#777}.ir-gender{display:grid;grid-template-columns:1fr 1fr;column-gap:8px}.ir-gender h3{grid-column:1/-1}.ir-gender div{display:flex;justify-content:space-between;font-size:8px}.ir-gender em{font-style:normal;color:#777}.ir-age-bars,.ir-bars{display:grid;gap:4px}.ir-age-bars>div{display:grid;grid-template-columns:40px 1fr 57px;gap:5px;align-items:center;font-size:8px}.ir-age-bars i,.ir-bar i{height:7px;background:#f0efed;border-radius:8px;overflow:hidden}.ir-age-bars i b,.ir-bar i em{display:block;height:100%;background:var(--ir-orange);border-radius:8px}.ir-age-bars strong{text-align:right}.ir-age-bars em{font-style:normal;font-weight:500;color:#666}.ir-bar{display:grid;grid-template-columns:minmax(82px,1.3fr) 1.2fr 62px;gap:5px;align-items:center;font-size:8px}.ir-bar>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ir-bar>span>b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#fff3e8;color:var(--ir-orange);margin-right:4px}.ir-bar strong{text-align:right;font-size:7px}.ir-bar strong>b{color:var(--ir-orange);font-size:8px}.ir-kpis{padding:9px 10px}.ir-kpis>h2{height:24px}.ir-kpi-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;height:292px}.ir-kpi{min-width:0;border:1px solid #f2d7c3;border-radius:8px;padding:8px 7px;background:#fff}.ir-kpi-head{display:flex;gap:6px;align-items:flex-start;min-height:40px}.ir-kpi-head>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--ir-orange);color:#fff;font-size:18px;flex:0 0 auto}.ir-kpi h3{font-size:10px}.ir-kpi-head small{display:block;font-size:7px;line-height:1.25;margin-top:2px}.ir-kpi-value{display:block;color:var(--ir-orange);font-size:27px;text-align:center;line-height:1.1;margin-top:6px}.ir-kpi-value small{font-size:11px;margin-left:2px}.ir-kpi-sample{display:block;text-align:center;font-size:8px}.ir-kpi-track{height:5px;background:#f1eeeb;border-radius:8px;margin:7px 0}.ir-kpi-track i{display:block;height:100%;background:var(--ir-orange);border-radius:8px}.ir-kpi-top,.ir-kpi-aux{display:grid;gap:3px;margin-top:5px}.ir-kpi-top span,.ir-kpi-aux div{display:flex;justify-content:space-between;gap:3px;font-size:7.5px;padding:4px;background:#fffaf6;border-radius:4px}.ir-kpi-aux span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ir-kpi-aux b,.ir-kpi-top b{color:var(--ir-orange);white-space:nowrap}.ir-action .ir-kpi-head>span,.ir-action .ir-kpi-track i,.ir-action .ir-kpi-value{background:var(--ir-green);color:#fff}.ir-action .ir-kpi-value{background:none;color:var(--ir-green)}.ir-work .ir-kpi-head>span,.ir-work .ir-kpi-track i,.ir-work .ir-kpi-value{background:var(--ir-blue);color:#fff}.ir-work .ir-kpi-value{background:none;color:var(--ir-blue)}.ir-impact .ir-kpi-head>span,.ir-impact .ir-kpi-track i,.ir-impact .ir-kpi-value{background:var(--ir-purple);color:#fff}.ir-impact .ir-kpi-value{background:none;color:var(--ir-purple)}.ir-summary{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:8px;height:61px;margin-top:7px;background:#fffaf6;border:1px solid #f6d8c2;border-radius:7px;padding:7px 10px}.ir-summary b{font-size:10px;color:#6b3b84}.ir-summary p{font-size:9px;line-height:1.45}
.ir-lower{height:361px;display:grid;grid-template-columns:1.05fr .95fr 1.15fr;gap:10px;padding-top:10px}.ir-panel{overflow:hidden}.ir-highlights article{display:grid;grid-template-columns:30px 1fr;gap:7px;padding:8px 0;border-bottom:1px solid #f2dfd1}.ir-highlights article>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ir-orange);color:#fff;font-weight:900;font-size:11px}.ir-highlights h3{font-size:10px;color:var(--ir-orange)}.ir-highlights article p{font-size:8px;margin:3px 0}.ir-highlights article small{font-size:7.5px;line-height:1.35;display:block}.ir-support .ir-bars{margin-top:10px;gap:9px}.ir-support .ir-bar{grid-template-columns:minmax(100px,1.25fr) 1.25fr 55px}.ir-support .ir-bar i{height:8px}.ir-burdens>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px}.ir-burdens>div>div+div{border-left:1px solid #f4d5bf;padding-left:9px}.ir-burdens h3{font-size:9px;color:#d94a0b;margin-bottom:7px}.ir-burdens h3 small{color:#777;font-size:7px}.ir-burdens .ir-bar{grid-template-columns:minmax(75px,1.15fr) 1fr 49px}.ir-burdens>div>div>p{font-size:8px;margin-top:6px}.ir-comment{font-size:7.8px;line-height:1.45;background:#fff7ed;border-radius:5px;padding:7px;margin-top:9px}.ir-overall{height:104px;margin-top:10px;display:grid;grid-template-columns:160px 1fr;align-items:center;padding:10px 17px}.ir-overall h2{font-size:15px}.ir-overall p{font-size:9px;line-height:1.55}.ir-note{height:20px;font-size:7px;padding-top:6px}.ir-empty{font-size:8px;color:#777}
.ir-profile-comment{margin-top:9px!important;padding:7px 8px;border-left:3px solid var(--ir-orange);border-radius:4px;background:#fff7ed;font-size:7.8px;line-height:1.5;color:#3f3a37}.ir-kpi{border-top:3px solid var(--ir-orange)}.ir-action{border-top-color:var(--ir-green)}.ir-work{border-top-color:var(--ir-blue)}.ir-impact{border-top-color:var(--ir-purple)}.ir-kpi-track{height:7px}.ir-age-bars i,.ir-bar i{height:9px}.ir-highlights article p b{color:var(--ir-orange);font-size:10px}.ir-overall{border-left:6px solid var(--ir-orange);background:#fffaf5}.ir-overall p{font-size:9.5px;line-height:1.6}.ir-summary{border-left:4px solid #7445a8}
.ir-lower .ir-panel{padding:13px 14px}.ir-lower .ir-panel>h2{font-size:17px;margin-bottom:8px}.ir-lower .ir-panel>h2 small{font-size:9px}.ir-highlights article{grid-template-columns:36px 1fr;gap:10px;padding:11px 0}.ir-highlights article>span{width:31px;height:31px;font-size:12px}.ir-highlights h3{font-size:12px}.ir-highlights article p{font-size:9px;margin:5px 0}.ir-highlights article small{font-size:9px;line-height:1.5}.ir-lower .ir-bar{font-size:9px;gap:7px}.ir-lower .ir-bar i{height:11px}.ir-lower .ir-bar strong{font-size:8px}.ir-lower .ir-bar strong>b{font-size:10px}.ir-support .ir-bars{gap:12px}.ir-burdens h3{font-size:11px;margin-bottom:10px}.ir-burdens h3 small{font-size:8px}.ir-burdens .ir-bars{gap:8px}.ir-comment{font-size:9px;line-height:1.5;padding:8px 9px;margin-top:12px}
@media screen{.infographic-report{transform-origin:top center}}
@media print{@page{size:A3 landscape;margin:0}.site-header,body>footer,.report-actions{display:none!important}.report-preview{padding:0!important;margin:0!important;background:#fff!important}.infographic-report{width:420mm!important;height:297mm!important;min-height:297mm!important;padding:3.8mm 5.8mm 3mm!important;box-shadow:none!important;break-after:avoid;page-break-after:avoid}}
.infographic-report .ir-top{height:486px}.infographic-report .ir-lower{height:279px}
.infographic-report .ir-highlights article{padding:5px 0}.infographic-report .ir-highlights article small{font-size:9px;line-height:1.4}

/* A3を100%表示したときの可読性を優先した最終タイポグラフィ */
.infographic-report{padding:11px 18px 8px}.ir-header{height:76px}.ir-header h1{font-size:34px;letter-spacing:-.02em}.ir-header p{font-size:13px}.ir-header>div:nth-child(2)>b{font-size:12px}.ir-meta b{font-size:10px}.ir-meta em{font-size:13px}.ir-top{height:432px;grid-template-columns:300px 1fr;gap:10px;padding-top:8px}.ir-profile,.ir-kpis{padding:10px 12px}.infographic-report h2{font-size:19px}.infographic-report h2 small{font-size:10px}.ir-profile-heading{display:grid;grid-template-columns:1fr 88px;gap:8px;align-items:center;border-bottom:2px solid #f7c7a3;padding-bottom:7px}.ir-profile-heading h2{border:0;padding:0}.ir-profile-count{display:flex;align-items:center;justify-content:flex-end;gap:5px}.ir-profile-count>span{font-size:8px;color:#666;line-height:1.2}.ir-profile-count strong{font-size:32px;line-height:1;color:var(--ir-orange)}.ir-profile-count small{font-size:12px;margin-left:2px}.ir-profile h3{font-size:12px;margin:8px 0 5px}.ir-profile h3 small{font-size:8px}.ir-gender{grid-template-columns:repeat(3,1fr);gap:6px}.ir-gender h3{grid-column:1/-1}.ir-gender div{display:block;padding:5px 6px;background:#fff7ed;border-radius:5px;font-size:9px}.ir-gender div span,.ir-gender div b{display:block}.ir-gender div b{margin-top:2px;font-size:10px}.ir-age-bars,.ir-profile>.ir-bars{gap:5px}.ir-age-bars>div{grid-template-columns:48px 1fr 67px;font-size:10px}.ir-profile .ir-bar{grid-template-columns:minmax(112px,1.25fr) 1fr 70px;font-size:10px}.ir-profile .ir-bar strong{font-size:9px}.ir-profile .ir-bar strong>b{font-size:11px}.ir-age-bars i,.ir-profile .ir-bar i{height:10px}.ir-profile-comment{margin-top:8px!important;padding:7px 9px;font-size:9px;line-height:1.45}.ir-profile-comment>b{display:block;color:#b9470c;font-size:10px;margin-bottom:3px}.ir-profile-comment>p{font-size:9px}.ir-kpis>h2{height:30px}.ir-kpi-grid{height:315px;gap:6px}.ir-kpi{padding:8px 8px}.ir-kpi-head{min-height:48px}.ir-kpi-head>span{width:35px;height:35px;font-size:20px}.ir-kpi h3{font-size:12px}.ir-kpi-head small{font-size:9px;line-height:1.3}.ir-kpi-value{font-size:35px;margin-top:7px}.ir-kpi-value small{font-size:13px}.ir-kpi-sample{font-size:10px;margin-top:2px}.ir-kpi-track{height:8px;margin:9px 0}.ir-kpi-top span,.ir-kpi-aux div{font-size:9px;padding:5px}.ir-summary{height:57px;margin-top:6px;grid-template-columns:165px 1fr}.ir-summary b{font-size:12px}.ir-summary p{font-size:10px;line-height:1.45}.ir-lower{height:333px;padding-top:8px;gap:8px}.ir-lower .ir-panel{padding:11px 12px}.ir-lower .ir-panel>h2{font-size:18px;margin-bottom:6px}.ir-highlights article{padding:8px 0}.ir-highlights h3{font-size:13px}.ir-highlights article p{font-size:10px}.ir-highlights article small{font-size:9.5px}.ir-support .ir-bars{gap:9px}.ir-lower .ir-bar{font-size:10px}.ir-lower .ir-bar strong{font-size:9px}.ir-lower .ir-bar strong>b{font-size:11px}.ir-burdens h3{font-size:12px;margin-bottom:7px}.ir-burdens .ir-bars{gap:6px}.ir-comment{font-size:9.5px;margin-top:8px}.ir-overall{height:101px;margin-top:8px;grid-template-columns:175px 1fr;padding:10px 16px}.ir-overall h2{font-size:19px}.ir-overall p{font-size:10.5px;line-height:1.55}.ir-note{font-size:7.5px;height:17px;padding-top:4px}

/* Ver.1最終調整: レイアウトを保ったまま、企業情報と本文の視認性を補強 */
.infographic-report .ir-header{grid-template-columns:88px minmax(560px,1fr) auto;gap:14px}
.infographic-report .ir-meta{display:grid;grid-template-columns:repeat(3,auto);gap:3px 12px;align-items:end}
.infographic-report .ir-company{grid-column:1/-1;text-align:right;color:#222;font-size:16px;line-height:1.15}
.infographic-report .ir-meta span{padding-left:8px;font-size:15px;grid-template-columns:16px auto}
.infographic-report .ir-meta b{font-size:9.5px}.infographic-report .ir-meta em{font-size:11.5px}
.infographic-report .ir-kpi-head small{font-size:9.5px}.infographic-report .ir-kpi-top span,.infographic-report .ir-kpi-aux div{font-size:9.4px}
.infographic-report .ir-profile-comment>p{font-size:9.5px;line-height:1.4}
.infographic-report .ir-summary p{font-size:10.4px}.infographic-report .ir-highlights article small{font-size:9.7px}
.infographic-report .ir-lower .ir-bar{font-size:10.3px}.infographic-report .ir-comment{font-size:9.8px;line-height:1.45}
.infographic-report .ir-overall p{font-size:10.8px;line-height:1.5}

/* 結果レポート Ver.1 固定仕様: 明示的な改修依頼がない限り、このブロックのレイアウト・配色・文字階層を変更しない */
/* A3提出版タイポグラフィ: 8pt未満を使わず、説明まで100%表示で読める大きさにする */
.infographic-report{line-height:1.3}
.infographic-report .ir-header h1{font-size:38px}.infographic-report .ir-header p{font-size:15px}
.infographic-report h2{font-size:21px}.infographic-report h2 small{font-size:11px}
.infographic-report .ir-company{font-size:18px}.infographic-report .ir-meta b{font-size:11px}.infographic-report .ir-meta em{font-size:13px}
.infographic-report .ir-profile h3{font-size:13px;margin:6px 0 4px}.infographic-report .ir-profile h3 small{font-size:10px}
.infographic-report .ir-profile-count>span{font-size:10px}.infographic-report .ir-profile-count strong{font-size:35px}
.infographic-report .ir-gender div{font-size:11px;padding:4px 6px}.infographic-report .ir-gender div b{font-size:12px}
.infographic-report .ir-age-bars>div,.infographic-report .ir-profile .ir-bar{font-size:11.5px}
.infographic-report .ir-profile .ir-bar strong,.infographic-report .ir-age-bars strong{font-size:10.5px}.infographic-report .ir-profile .ir-bar strong>b{font-size:12px}
.infographic-report .ir-profile-comment{margin-top:6px!important;padding:6px 8px}.infographic-report .ir-profile-comment>b{font-size:11.5px}.infographic-report .ir-profile-comment>p{font-size:11px;line-height:1.35}
.infographic-report .ir-kpis>h2{height:32px}.infographic-report .ir-kpi{padding:8px 7px}.infographic-report .ir-kpi-head{min-height:52px}
.infographic-report .ir-kpi h3{font-size:14px}.infographic-report .ir-kpi-head small{font-size:11px;line-height:1.2}
.infographic-report .ir-kpi-value{font-size:41px}.infographic-report .ir-kpi-value small{font-size:16px}.infographic-report .ir-kpi-sample{font-size:11px}
.infographic-report .ir-kpi-top span,.infographic-report .ir-kpi-aux div{font-size:11px;padding:5px 4px}
.infographic-report .ir-summary{grid-template-columns:170px 1fr;padding:6px 10px}.infographic-report .ir-summary b{font-size:13px}.infographic-report .ir-summary p{font-size:12px;line-height:1.3}
.infographic-report .ir-lower .ir-panel{padding:9px 11px}.infographic-report .ir-lower .ir-panel>h2{font-size:19px;margin-bottom:4px}.infographic-report .ir-lower .ir-panel>h2 small{font-size:10px}
.infographic-report .ir-highlights article{padding:4px 0;gap:8px}.infographic-report .ir-highlights h3{font-size:14px}.infographic-report .ir-highlights article p{font-size:11.5px;margin:3px 0}.infographic-report .ir-highlights article small{font-size:11px;line-height:1.3}
.infographic-report .ir-support .ir-bars{gap:8px}.infographic-report .ir-lower .ir-bar{font-size:11.5px;gap:6px}.infographic-report .ir-lower .ir-bar strong{font-size:10.5px}.infographic-report .ir-lower .ir-bar strong>b{font-size:12px}
.infographic-report .ir-burdens h3{font-size:13px;margin-bottom:6px}.infographic-report .ir-burdens h3 small{font-size:10px}.infographic-report .ir-burdens .ir-bars{gap:7px}
.infographic-report .ir-comment{font-size:11px;line-height:1.3;padding:6px 8px;margin-top:7px}
.infographic-report .ir-overall h2{font-size:21px}.infographic-report .ir-overall p{font-size:12px;line-height:1.35}
.infographic-report .ir-note{font-size:9px}
.infographic-report .ir-top{height:500px;min-height:0}.infographic-report .ir-top>.ir-profile,.infographic-report .ir-top>.ir-kpis{min-height:0;overflow:hidden}
.infographic-report .ir-kpi-grid{height:292px}.infographic-report .ir-lower{height:265px;min-height:0}
.infographic-report .ir-profile-heading{padding-bottom:5px}.infographic-report .ir-age-bars,.infographic-report .ir-profile>.ir-bars{gap:4px}
.infographic-report .ir-age-bars i,.infographic-report .ir-profile .ir-bar i{height:9px}
.infographic-report .ir-profile{padding:8px 10px}.infographic-report .ir-profile h3{margin:4px 0 3px}.infographic-report .ir-gender div{padding:3px 5px}
.infographic-report .ir-header h1{font-size:36px}
.infographic-report .ir-kpi-head small{font-size:13px}.infographic-report .ir-kpi-value{font-size:38px}.infographic-report .ir-kpi-value small{font-size:15px}
.infographic-report .ir-kpi-sample,.infographic-report .ir-kpi-top span,.infographic-report .ir-kpi-aux div{font-size:12.5px}
.infographic-report .ir-summary p{font-size:13px}.infographic-report .ir-highlights article p{font-size:13px}.infographic-report .ir-highlights article small{font-size:12.8px}
.infographic-report .ir-lower .ir-bar{font-size:13px}.infographic-report .ir-lower .ir-bar strong{font-size:12px}.infographic-report .ir-lower .ir-bar strong>b{font-size:13px}
.infographic-report .ir-comment{font-size:12.8px}.infographic-report .ir-overall p{font-size:13px}
.infographic-report .ir-age-bars>div,.infographic-report .ir-profile .ir-bar{font-size:12.5px}.infographic-report .ir-profile-comment>p{font-size:12px}
.infographic-report .ir-burdens>div>div>p{font-size:12px}.infographic-report .ir-empty{font-size:11px}

/* Ver.1 表示境界修正: A3の文字階層を保ち、カード内だけで安全に折り返す */
.infographic-report,.infographic-report *{box-sizing:border-box}
.infographic-report .ir-header,.infographic-report .ir-top,.infographic-report .ir-lower,
.infographic-report .ir-profile,.infographic-report .ir-kpis,.infographic-report .ir-panel,
.infographic-report .ir-kpi-grid,.infographic-report .ir-kpi,.infographic-report .ir-kpi-head,
.infographic-report .ir-kpi-head>div,.infographic-report .ir-summary,
.infographic-report .ir-summary p{min-width:0;max-width:100%}
.infographic-report .ir-top{grid-template-columns:290px minmax(0,1fr);height:420px}
.infographic-report .ir-kpi-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.infographic-report .ir-kpi{overflow:hidden;padding-inline:6px}
.infographic-report .ir-kpi-head{gap:5px}
.infographic-report .ir-kpi-head>span{width:33px;height:33px;flex-basis:33px}
.infographic-report .ir-kpi h3,
.infographic-report .ir-kpi-head small,
.infographic-report .ir-kpi-top span,
.infographic-report .ir-kpi-aux div{overflow-wrap:anywhere;word-break:normal}
.infographic-report .ir-kpi-value{display:flex;align-items:baseline;justify-content:center;white-space:nowrap}
.infographic-report .ir-kpi-value small{flex:0 0 auto}
.infographic-report .ir-kpi-top span,
.infographic-report .ir-kpi-aux div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:11.5px}
.infographic-report .ir-kpi-top b,
.infographic-report .ir-kpi-aux b{justify-self:end}
.infographic-report .ir-kpi-top em,
.infographic-report .ir-kpi-aux span{min-width:0;font-style:normal;line-height:1.15;overflow-wrap:anywhere}
.infographic-report .ir-summary{grid-template-columns:170px minmax(0,1fr);height:auto;min-height:57px}
.infographic-report .ir-summary p{white-space:normal;overflow-wrap:anywhere}
.infographic-report .ir-highlights article{padding-block:3px}
.infographic-report .ir-highlights article small{font-size:12px}
.infographic-report .ir-lower{height:320px}

@media screen{
  .report-preview{padding-inline:24px;scroll-padding-inline:24px}
  /* A3固定幅が画面より広い場合は左端を起点に横スクロールさせる。 */
  .infographic-report{margin-inline:0}
}
@media screen and (min-width:1476px){.infographic-report{margin-inline:auto}}
@media print{
  @page{size:A3 landscape;margin:0}
  .infographic-report{width:420mm!important;height:297mm!important;padding:4mm 6mm 3mm!important}
}

/* 企業別ポータル管理。完成済み結果レポートのスタイルとは分離する。 */
.usage-totals{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.usage-totals span{padding:8px 12px;border-radius:10px;background:#fff7ed;color:#57534e}.usage-chart{display:grid;gap:9px;margin-top:12px}.usage-row{display:grid;grid-template-columns:58px 1fr 50px;gap:10px;align-items:center}.usage-row>div{height:12px;background:#ffedd5;border-radius:999px;overflow:hidden}.usage-row i{display:block;height:100%;background:#f97316;border-radius:999px}.usage-row strong{text-align:right}
.portal-admin{padding-bottom:100px}.portal-admin-section{margin:20px 0;padding:24px;background:#fff;border:1px solid #fed7aa;border-radius:18px;box-shadow:0 8px 24px rgba(120,53,15,.05)}.portal-admin-section h2{margin:0 0 18px}.portal-admin-section h3{margin:22px 0 6px}.portal-admin-section label{display:grid;gap:7px;font-weight:700;color:#44403c}.portal-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-form-grid .wide-field{grid-column:span 2}.portal-form-grid .check-field{display:flex;align-items:center;gap:8px}.portal-admin-help{margin:0 0 14px;color:#78716c;font-size:.9rem}.portal-admin-row{display:grid;grid-template-columns:120px minmax(180px,1fr) 140px auto;gap:10px;align-items:center;margin:10px 0}.portal-admin-row.usage{grid-template-columns:minmax(180px,240px) minmax(140px,180px) auto;justify-content:start}.text-button.danger{color:#b91c1c}.button.compact{width:auto;padding:10px 16px}.short-input{max-width:220px}.portal-save-bar{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding:14px;background:rgba(255,255,255,.94);border:1px solid #fed7aa;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.1)}.portal-save-notice{padding:14px 18px;border-radius:12px;background:#ecfdf5;color:#166534;font-weight:700}
@media(max-width:700px){.portal-admin .admin-bar{display:block}.portal-admin .admin-bar label{margin-top:16px}.portal-form-grid{grid-template-columns:1fr}.portal-form-grid .wide-field{grid-column:auto}.portal-admin-row,.portal-admin-row.usage{grid-template-columns:1fr}.portal-admin-row .danger{justify-self:start}.portal-save-bar .button{width:100%}}

/* 月次チラシ管理 Ver.1（企業提出用結果レポートVer.1とは独立） */
.flyer-admin{max-width:1680px}.flyer-admin-layout{display:grid;grid-template-columns:minmax(480px,1fr) 830px;gap:24px;align-items:start}.flyer-admin .portal-admin-section{margin:14px 0;padding:20px}.flyer-admin .portal-admin-section>label{display:grid;gap:6px;margin:12px 0;font-weight:700}.flyer-event-row{display:grid;gap:12px;margin:12px 0;padding:16px;border:1px solid #fed7aa;border-radius:14px;background:#fff7ed}.flyer-event-heading{display:flex;align-items:center;justify-content:space-between}.flyer-event-heading>b{font-size:1rem;color:#9a3412}.flyer-event-date-line{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:end}.flyer-event-time-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.flyer-event-row label{display:grid;gap:6px;min-width:0;font-size:.88rem}.flyer-event-row .input{width:100%;min-width:0}.flyer-weekday{align-self:center;min-width:72px;padding:10px 0;font-weight:800;color:#c2410c;white-space:nowrap}.flyer-inline-actions,.flyer-editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.flyer-editor-actions{position:sticky;bottom:10px;z-index:4;padding:12px;border:1px solid #fed7aa;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 25px rgba(0,0,0,.1)}.length-hint{color:#78716c;font-weight:500}.length-hint.warning{color:#b45309;font-weight:800}.flyer-status{display:inline-flex;width:max-content;padding:5px 10px;border-radius:999px;background:#e7e5e4;color:#57534e;font-size:.78rem;font-weight:800}.flyer-status.published{background:#dcfce7;color:#166534}.flyer-status.archived{background:#ffedd5;color:#9a3412}.flyer-archive{margin:24px 0;padding:20px;background:#fff;border:1px solid #e7e5e4;border-radius:18px}.flyer-archive article{display:flex;justify-content:space-between;gap:16px;padding:12px;border-bottom:1px solid #eee}.flyer-archive article.selected{background:#fff7ed}.flyer-archive article>div:first-child{display:grid;grid-template-columns:auto auto;gap:5px 10px;align-items:center}.flyer-archive article small{grid-column:1/-1}.flyer-preview-pane{position:sticky;top:16px;padding:14px;border-radius:18px;background:#292524;overflow:auto}.flyer-preview-pane>div:first-child{display:flex;justify-content:space-between;color:#fff;margin:0 4px 12px}.flyer-preview-pane>div:first-child span{color:#d6d3d1;font-size:.8rem}
.flyer-assets-status{display:flex;align-items:center;gap:14px;margin:14px 0;padding:13px 16px;border:1px solid #fed7aa;border-radius:14px;background:#fff}.flyer-assets-status span{color:#57534e}.flyer-assets-status em{margin-left:auto;padding:5px 10px;border-radius:999px;font-style:normal;font-size:.8rem;font-weight:800}.flyer-assets-status .ready{background:#dcfce7;color:#166534}.flyer-assets-status .pending{background:#fff7ed;color:#9a3412}
.flyer-sheet{box-sizing:border-box;position:relative;width:794px;height:1123px;overflow:hidden;background:#fff;color:#1c1917;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.45}.flyer-sheet *{box-sizing:border-box}.flyer-hero{position:relative;height:300px;padding:30px 40px;background:linear-gradient(120deg,#fff7ed 0 62%,#ffedd5 62%);overflow:hidden;border-bottom:7px solid #f97316}.flyer-official-logo{position:relative;z-index:3;width:210px;height:72px}.flyer-official-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.flyer-title{position:relative;z-index:2;width:58%;margin-top:23px}.flyer-title>span{display:inline-block;padding:5px 12px;background:#f97316;color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em}.flyer-title h1{margin:8px 0 9px;font-size:44px;line-height:1.06;letter-spacing:.01em}.flyer-title p{margin:0;font-size:19px;font-weight:900}.flyer-person-photo{position:absolute;z-index:2;right:31px;bottom:0;width:300px;height:262px;border:7px solid #fff;border-bottom:0;border-radius:150px 150px 0 0;overflow:hidden;background:#e7e5e4;box-shadow:0 8px 28px rgba(120,53,15,.2)}.flyer-person-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.flyer-person-photo small{position:absolute;right:0;bottom:0;left:0;padding:7px;background:rgba(28,25,23,.82);color:#fff;text-align:center;font-size:12px;font-weight:800}
.flyer-schedule{height:280px;padding:17px 40px;background:#fff}.flyer-section-label{margin-bottom:9px;color:#c2410c;font-size:20px;font-weight:900;letter-spacing:.04em}.flyer-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;gap:14px;margin:0 auto}.flyer-dates[data-count="1"]{grid-template-columns:minmax(0,350px);max-width:350px}.flyer-dates[data-count="2"]{grid-template-columns:repeat(2,minmax(0,285px));max-width:584px}.flyer-date-card{display:grid;place-items:center;align-content:center;gap:3px;min-height:91px;padding:8px 14px;border:2px solid #fdba74;border-radius:14px;background:#fff7ed;text-align:center}.flyer-date-heading{display:flex;align-items:baseline;justify-content:center;gap:5px;white-space:nowrap}.flyer-date-heading strong{font-size:48px;line-height:.98;color:#111827}.flyer-date-heading small{font-size:16px;font-weight:900}.flyer-date-time{color:#ea580c;font-size:24px;line-height:1.15;white-space:nowrap}.flyer-guide{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:12px}.flyer-guide>div{display:grid;grid-template-columns:48px 62px 1fr;align-items:center;min-height:52px;padding:7px 12px;border:1px solid #d6d3d1;border-radius:10px}.flyer-guide small{color:#f97316;font-size:9px;font-weight:900}.flyer-guide b{font-size:14px}.flyer-guide span{font-size:17px;font-weight:900}.flyer-notice{margin:7px 0 0;color:#57534e;font-size:12px;font-weight:700}
.flyer-tip{height:300px;margin:0 30px;padding:22px 38px;border:1px solid #fed7aa;border-radius:24px;background:#fffaf5;text-align:center}.flyer-tip-label{display:inline-block;margin:0;padding:6px 18px;border-radius:999px;background:#292524;color:#fff;font-size:17px;font-weight:900}.flyer-tip-intro{margin:12px 0 3px;font-size:16px;font-weight:800}.flyer-tip h2{margin:6px 0 9px;color:#ea580c;font-size:31px;line-height:1.18}.flyer-tip-body{margin:7px auto;max-width:650px;font-size:14px}.flyer-action-tip{display:grid;grid-template-columns:135px 1fr;align-items:center;max-width:650px;margin:13px auto 7px;border:2px solid #fdba74;border-radius:13px;overflow:hidden;background:#fff}.flyer-action-tip small{align-self:stretch;display:grid;place-items:center;background:#f97316;color:#fff;font-size:10px;font-weight:900}.flyer-action-tip strong{padding:8px;font-size:18px}.flyer-cta{margin:7px 0 0;font-size:13px;font-weight:800}
.flyer-connections{height:180px;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 40px;background:#fff}.flyer-qr-card{display:grid;grid-template-columns:116px 1fr;gap:15px;align-items:center;padding:10px 15px;border:1px solid #fed7aa;border-radius:16px;background:#fff7ed}.flyer-qr-card.line{background:#fff}.flyer-qr-image{display:grid;place-items:center;width:106px;height:106px;padding:7px;background:#fff;border:1px solid #e7e5e4;border-radius:9px;overflow:hidden}.flyer-qr-image img,.flyer-qr-image svg{display:block;width:100%;height:100%;object-fit:contain}.flyer-qr-image span{color:#a8a29e;text-align:center;font-size:12px;font-weight:800}.flyer-qr-card b{font-size:17px}.flyer-qr-card p{margin:5px 0 0;color:#57534e;font-size:12px;font-weight:700}.flyer-sheet>footer{height:63px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#292524;color:#fff}.flyer-sheet>footer b{font-size:22px}.flyer-sheet>footer span{font-size:12px}.flyer-modal{position:fixed;z-index:9999;inset:0;overflow:auto;padding:70px 20px 30px;background:rgba(28,25,23,.88)}.flyer-modal .flyer-sheet{margin:auto}.flyer-modal-actions{position:fixed;z-index:2;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:10px;padding:8px;border-radius:14px;background:#fff}.manager-flyers-section{border-color:#fdba74}
@media(max-width:1200px){.flyer-admin-layout{grid-template-columns:1fr}.flyer-preview-pane{position:relative;top:auto;width:100%;max-width:830px;margin:auto}}
@media(max-width:700px){.flyer-assets-status{align-items:flex-start;flex-direction:column}.flyer-assets-status em{margin-left:0}.flyer-event-date-line{grid-template-columns:1fr}.flyer-weekday{padding:0}.flyer-event-time-line{grid-template-columns:1fr}.flyer-editor-actions{position:static;display:grid}.flyer-preview-pane{padding:8px}.flyer-preview-pane>div:first-child{display:grid;gap:2px}.flyer-preview-pane .flyer-sheet{transform:scale(.42);transform-origin:top left;margin-bottom:-650px}.flyer-modal{padding:65px 4px 10px}.flyer-modal .flyer-sheet{transform:scale(.48);transform-origin:top left;margin-bottom:-580px}.flyer-archive article{display:grid}}
.flyer-admin #flyer-form>.portal-admin-section:first-of-type .portal-form-grid{grid-template-columns:1fr;gap:14px}.flyer-admin #flyer-form>.portal-admin-section:first-of-type .portal-form-grid .wide-field{grid-column:auto}.flyer-admin #flyer-form>.portal-admin-section:first-of-type .portal-form-grid label{min-width:0;margin:0}.flyer-admin #flyer-form>.portal-admin-section:first-of-type .portal-form-grid label:nth-child(3){order:2}.flyer-admin #flyer-form>.portal-admin-section:first-of-type .portal-form-grid label:nth-child(2){order:3}.flyer-admin #flyer-form>.portal-admin-section:first-of-type .portal-form-grid label:nth-child(4){order:4}.flyer-admin #flyer-form>.portal-admin-section:first-of-type .portal-form-grid .input{width:100%;min-width:0}.flyer-admin #flyer-form>.portal-admin-section:first-of-type .flyer-status{margin-top:2px}
.flyer-admin .flyer-editor-actions{position:static;bottom:auto;background:#fff}
.flyer-sheet.pdf-capture{transform:none!important;margin:0!important}

/* A案 UI refresh: 共通ページ・入力画面・管理画面のみ。レポート/PDF/チラシには適用しない。 */
:root{--orange:#ff6a00;--orange-dark:#d94f00;--orange-soft:#fff3e8;--ink:#202020;--muted:#6f6b67;--line:#e9e5e1;--bg:#fffaf5;--shadow:0 14px 38px rgba(61,43,31,.08)}
body:not(.report-mode){background:linear-gradient(180deg,#fff 0,#fffaf5 520px,#fff 100%)}
.site-header{height:78px;border-color:#f0ece8;padding-inline:max(24px,calc((100% - 1180px)/2));box-shadow:0 3px 18px rgba(61,43,31,.035)}
.brand{display:flex;align-items:center;gap:22px;text-align:left}
.brand .brand-mark{position:relative;font-size:31px;font-weight:900;line-height:1;letter-spacing:-.055em;color:#161616}
.brand .brand-mark:before{content:"•••";position:absolute;top:-15px;left:53px;color:var(--orange);font-size:12px;letter-spacing:4px}
.brand .brand-copy{margin:0;padding-left:22px;border-left:1px solid var(--line);color:#3f3b38;font-size:13px;font-weight:700;letter-spacing:.02em}
.button{border-radius:14px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button.primary{background:linear-gradient(135deg,#ff7900,#ff5a00);box-shadow:0 8px 20px rgba(255,106,0,.2)}.button.primary:hover{background:linear-gradient(135deg,#f36f00,#ee5100);transform:translateY(-1px)}
.portal-shell{max-width:1180px;padding-top:36px}.portal-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);min-height:410px;padding:0;overflow:hidden;border:1px solid #f3e5d8;border-radius:30px;background:#fff;box-shadow:0 18px 50px rgba(73,47,29,.08)}
.portal-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:54px 20px 54px 58px}.portal-hero h1{margin:0 0 18px;color:#1c1917;font-size:clamp(38px,4.1vw,52px);line-height:1.28;letter-spacing:.015em}.portal-hero h1 span{color:#222}.portal-hero-copy>p:not(.eyebrow){max-width:560px;margin:0;color:var(--muted);font-size:16px}
.portal-primary-cta{align-self:flex-start;min-width:350px;margin-top:30px;padding:15px 20px;gap:14px;text-align:left}.portal-primary-cta svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}.portal-primary-cta span{display:grid}.portal-primary-cta b{font-size:18px}.portal-primary-cta small{font-size:11px;font-weight:600;opacity:.85}.portal-primary-cta i{margin-left:auto;font-style:normal;font-size:28px;font-weight:400}
.portal-hero-visual{position:relative;min-height:410px;overflow:hidden;background:linear-gradient(145deg,#eaf7ff,#fff4e5 70%)}.portal-hero-visual:before{content:"";position:absolute;right:-35px;bottom:-80px;width:380px;height:300px;border-radius:55% 45% 0 0;background:linear-gradient(145deg,#ffe0bc,#ffb36f)}.portal-hero-visual:after{content:"";position:absolute;right:40px;bottom:0;width:230px;height:245px;border-radius:120px 120px 25px 25px;background:linear-gradient(155deg,#fff,#f4f4f2);box-shadow:-18px -12px 0 rgba(255,255,255,.5)}
.hero-sun{position:absolute;top:55px;right:60px;width:72px;height:72px;border-radius:50%;background:#ffd79f;box-shadow:0 0 0 18px rgba(255,215,159,.2)}.hero-leaf{position:absolute;z-index:2;display:block;width:80px;height:38px;border-radius:100% 0 100% 0;background:#8fbd77;transform:rotate(-34deg)}.leaf-one{right:265px;bottom:66px}.leaf-two{right:220px;bottom:35px;transform:rotate(20deg) scale(.75)}.hero-message{position:absolute;z-index:3;left:34px;bottom:33px;display:grid;gap:6px;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(40,30,24,.1)}.hero-message b{font-size:22px;line-height:1.4}.hero-message small{color:var(--orange-dark);font-size:9px;font-weight:800;letter-spacing:.12em}
.portal-section{margin-top:46px}.portal-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.portal-section-head .eyebrow{margin-bottom:3px}.portal-section-head h2{margin:0;font-size:25px;line-height:1.35}.quick-menu{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-menu .menu-card{min-height:176px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;padding:22px}.quick-menu .menu-icon{grid-column:1/-1;width:48px;height:48px}.menu-icon svg,.manager-entry-icon svg,.portal-social svg,.mobile-bottom-nav svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.quick-menu .menu-card b{font-size:17px}.quick-menu .menu-card small{font-size:12px}.quick-menu .menu-card i,.quick-menu .menu-card em{align-self:end;justify-self:end}
.portal-news-preview{padding:26px 30px;border:1px solid var(--line);border-radius:22px;background:#fff}.portal-news-list{display:grid}.portal-news-list article{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:13px 2px;border-top:1px solid var(--line)}.portal-news-list time{color:var(--muted);font-size:12px}.portal-news-list b{font-size:14px}
.portal-social{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:23px 28px;border-radius:20px;background:#272523;color:#fff}.portal-social>div{display:grid}.portal-social span{color:#d6d3d1;font-size:12px}.portal-social nav{display:flex;gap:10px}.portal-social a{display:flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid #57534e;border-radius:999px;color:#fff;text-decoration:none;font-size:13px;font-weight:800}
.manager-entry{margin-top:22px;padding:22px 26px;border-color:#f2dfce;border-radius:20px;background:#fff}.manager-entry-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 auto;border-radius:15px;background:#fff1e5;color:var(--orange-dark)}.manager-entry-icon svg{width:26px;height:26px}.manager-entry>div{flex:1}.mobile-bottom-nav{display:none}
.information-shell{max-width:820px}.information-shell .card{padding:38px}.information-shell h1{font-size:36px}.news-list article{position:relative;padding:20px 30px 20px 0}.news-list article span{position:absolute;right:4px;top:50%;color:var(--orange);font-size:22px;transform:translateY(-50%)}

/* アンケートは質問内容・分岐に触れず、視認性と操作面積のみ改善 */
body:not(.report-mode) .shell:not(.wide):not(.portal-shell){max-width:820px}.progress-wrap{position:sticky;top:78px;z-index:6;padding:18px 2px 12px;background:rgba(255,250,245,.94);backdrop-filter:blur(8px)}.progress{height:9px;background:#eee9e5}.progress-meta{font-size:13px}.section-head h1{font-size:30px}.question{padding:30px 0}.question h2{font-size:19px;line-height:1.7}.q-number{display:inline-grid;place-items:center;min-width:43px;height:29px;margin-right:10px;border-radius:999px;background:#fff0e5;color:var(--orange-dark);font-size:13px}.option label{min-height:58px;padding:14px 17px;border-color:#ded9d5;border-radius:13px;transition:border-color .14s ease,background .14s ease,transform .14s ease}.option label:hover{border-color:#ffae72}.option input:checked+label{border-color:var(--orange);background:linear-gradient(135deg,#ff7a00,#ff6400);color:#fff;box-shadow:0 7px 17px rgba(255,106,0,.17)}.scale{gap:7px}.scale .option label{min-height:49px}.nav-row{padding-top:4px}.nav-row .button{min-width:145px}

/* 管理職・おりじん管理画面の情報階層を統一 */
.manager-portal,.portal-admin,.flyer-admin,.shell.wide{--admin-card-radius:20px}.manager-page-head,.admin-bar{padding:24px 26px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(61,43,31,.045)}.manager-page-head h1,.admin-bar h1{letter-spacing:-.01em}.manager-section,.panel,.priority-section,.cross-section,.domain-block,.portal-admin-section{border-color:#ece7e2;border-radius:var(--admin-card-radius);box-shadow:0 7px 24px rgba(61,43,31,.045)}.manager-section-title span{border-radius:10px}.manager-summary-card{border-color:#f2dfce;background:linear-gradient(145deg,#fff,#fff8f2)}.admin-tools{padding:10px 2px;flex-wrap:wrap}.v2-metrics>div,.metric{border-color:#ece7e2;box-shadow:0 5px 16px rgba(61,43,31,.04)}

@media(max-width:900px){.portal-hero{grid-template-columns:1fr minmax(280px,.7fr)}.portal-hero-copy{padding:42px 20px 42px 38px}.portal-primary-cta{min-width:300px}.quick-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-menu .menu-card{min-height:140px}}
@media(max-width:1450px){.flyer-admin-layout{grid-template-columns:1fr}.flyer-preview-pane{position:relative;top:auto;width:100%;max-width:830px;margin:auto}}
@media(max-width:720px){body:not(.report-mode){padding-bottom:76px}.site-header{height:66px;padding-inline:17px}.brand{gap:0}.brand .brand-mark{font-size:28px}.brand .brand-mark:before{top:-14px;left:47px}.brand .brand-copy{display:none}.portal-shell{padding:18px 14px 42px}.portal-hero{display:block;min-height:0;border-radius:22px}.portal-hero-copy{padding:30px 22px}.portal-hero h1{font-size:34px}.portal-hero-copy>p:not(.eyebrow){font-size:14px}.portal-primary-cta{width:100%;min-width:0;margin-top:23px}.portal-hero-visual{min-height:170px}.portal-hero-visual:before{right:-50px;bottom:-120px}.portal-hero-visual:after{right:18px;width:150px;height:150px}.hero-sun{top:25px;right:30px;width:48px;height:48px}.hero-message{left:18px;bottom:18px;padding:13px 15px}.hero-message b{font-size:17px}.leaf-one{right:165px;bottom:34px}.leaf-two{right:130px;bottom:13px}.portal-section{margin-top:34px}.portal-section-head h2{font-size:21px}.quick-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-menu .menu-card{min-height:144px;padding:15px;grid-template-columns:1fr}.quick-menu .menu-card i,.quick-menu .menu-card em{display:none}.quick-menu .menu-icon{width:42px;height:42px}.quick-menu .menu-card b{font-size:15px}.quick-menu .menu-card small{font-size:11px}.portal-news-preview{padding:20px 18px}.portal-news-list article{grid-template-columns:1fr;gap:2px;padding:12px 0}.portal-social{align-items:flex-start;flex-direction:column;padding:20px}.portal-social nav{width:100%}.portal-social a{flex:1;justify-content:center}.manager-entry{align-items:flex-start;display:grid;grid-template-columns:auto 1fr;padding:18px}.manager-entry .button{grid-column:1/-1;width:100%}.mobile-bottom-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);height:68px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(61,43,31,.08)}.mobile-bottom-nav button,.mobile-bottom-nav a{display:grid;place-items:center;gap:2px;border:0;background:none;color:#57534e;text-decoration:none;font:inherit;font-size:10px}.mobile-bottom-nav button:first-child{color:var(--orange)}.mobile-bottom-nav svg{width:21px;height:21px}.progress-wrap{top:66px;margin-inline:-2px}.question{padding:25px 0}.question h2{font-size:17px}.scale{grid-template-columns:repeat(6,1fr)}.nav-row .button{min-width:0}.manager-page-head,.admin-bar{padding:20px 18px}.information-shell .card{padding:25px 18px}.information-shell h1{font-size:29px}}
@media(max-width:390px){.portal-hero h1{font-size:30px}.quick-menu .menu-card{min-height:136px}.portal-primary-cta b{font-size:16px}}
@media print{.mobile-bottom-nav{display:none!important}}

/* 第二次UI/UX改修: 大きな文字・高コントラスト・直感的な操作 */
:root{--muted:#56514d;--line:#e3ded9}
.site-header{height:100px}.brand{height:100%;gap:16px;padding:0}.brand-logo{display:block;width:98px;height:98px;object-fit:contain;flex:0 0 auto}.brand .brand-copy{padding-left:18px;color:#34312f;font-size:14px;line-height:1.55;font-weight:750}.brand .brand-mark{display:none}
.portal-hero-copy>p:not(.eyebrow){color:#46413d;font-size:18px;line-height:1.75}.portal-primary-cta{min-height:82px;padding:17px 22px}.portal-primary-cta b{font-size:22px}.portal-primary-cta small{font-size:15px;line-height:1.5;opacity:1}.portal-section-head>div>p:last-child:not(.eyebrow){margin:8px 0 0;color:#4d4945;font-size:16px;font-weight:600}.portal-section-head h2{font-size:28px}.eyebrow{font-size:14px}.quick-menu .menu-card{min-height:196px;padding:24px}.quick-menu .menu-icon{width:58px;height:58px;border-radius:17px}.quick-menu .menu-icon svg{width:31px;height:31px}.quick-menu .menu-card b{font-size:21px;line-height:1.35}.quick-menu .menu-card small{margin-top:7px;color:#4f4a46;font-size:16px;line-height:1.55;font-weight:600}.quick-menu .menu-card i{font-size:25px}.quick-menu .menu-card em{font-size:13px}
.portal-heading-with-icon{display:flex;align-items:center;gap:14px}.portal-heading-with-icon>span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#fff0e4;color:var(--orange)}.portal-heading-with-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-news-list article{position:relative;grid-template-columns:120px minmax(0,1fr) 20px;align-items:center;padding:17px 2px}.portal-news-list time{color:#55504c;font-size:14px;font-weight:650}.portal-news-list b{font-size:17px;line-height:1.55}.portal-news-list article>span{color:var(--orange);font-size:25px}
.portal-social>div>b{font-size:24px}.portal-social>div>span{margin-top:3px;color:#f3f0ed;font-size:15px}.portal-social a{min-height:48px;padding-inline:18px;font-size:15px}.manager-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:25px 28px}.manager-entry b{font-size:21px}.manager-entry>div>span{margin-top:6px;color:#4f4a46;font-size:16px;line-height:1.6;font-weight:600}.manager-entry .button{min-width:210px;font-size:16px}.portal-closing-message{display:flex;align-items:center;justify-content:space-between;min-height:190px;margin-top:24px;padding:30px 36px;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#fff4e8,#fffaf4)}.portal-closing-message b{font-size:29px;line-height:1.4}.portal-closing-message p{margin:9px 0 0;color:#45403c;font-size:16px}.portal-closing-message>span{display:flex;align-items:end;gap:10px;color:var(--orange)}.portal-closing-message svg{width:72px;height:72px;fill:none;stroke:currentColor;stroke-width:1.25}
.question-help,.section-head p,.intro-item span,.security-note,.muted{color:#514c48}.question-help,.section-head p{font-size:16px}.question h2{font-size:21px}.option label{font-size:17px;font-weight:600}.scale-labels{color:#4f4a46;font-size:14px}.progress-meta{font-size:15px}.button{font-size:16px}.input{font-size:16px}
.manager-page-head p:last-child,.manager-section-title>p,.manager-summary-card small,.manager-summary-card p,.manager-privacy,.portal-admin-help{color:#514c48}.manager-section-title h2{font-size:22px}.manager-summary-card small{font-size:14px}.manager-summary-card strong{font-size:20px}.manager-summary-card p{font-size:14px}.manager-actions .button{font-size:15px}
.admin-bar>div>p,.admin-tools,.chart-note{color:#514c48}.admin-bar>div>p{font-size:15px}.admin-bar>div:last-child:has(#company-select)>label{color:#373330;font-size:15px}.panel h2,.panel h3,.domain-head h2{color:#292624}
@media(max-width:1024px){.portal-hero{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}.portal-hero-copy{padding:40px 30px}.portal-hero h1{font-size:42px}.portal-primary-cta{min-width:0;width:100%}.quick-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-menu .menu-card{min-height:170px}.portal-social{align-items:flex-start;flex-direction:column}.portal-social nav{width:100%}.portal-social a{flex:1;justify-content:center}.manager-entry{grid-template-columns:auto minmax(0,1fr)}.manager-entry .button{grid-column:1/-1;width:100%}}
@media(max-width:720px){body:not(.report-mode){padding-bottom:96px}.site-header{height:78px}.brand-logo{width:66px;height:66px}.portal-shell{padding-top:14px}.portal-hero-copy{padding:32px 23px}.portal-hero h1{font-size:35px;line-height:1.35}.portal-hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.7}.portal-primary-cta{min-height:88px;padding:15px 17px}.portal-primary-cta b{font-size:21px}.portal-primary-cta small{font-size:14px}.portal-section-head{align-items:center}.portal-section-head h2{font-size:25px}.portal-section-head>div>p:last-child:not(.eyebrow){font-size:16px}.quick-menu{gap:13px}.quick-menu .menu-card{min-height:178px;padding:18px 16px}.quick-menu .menu-icon{width:54px;height:54px}.quick-menu .menu-card b{font-size:19px}.quick-menu .menu-card small{font-size:15px;line-height:1.5}.portal-news-preview{padding:23px 19px}.portal-news-list article{grid-template-columns:1fr 20px;gap:5px 8px;padding:16px 0}.portal-news-list time{grid-column:1;font-size:14px}.portal-news-list b{grid-column:1;font-size:16px}.portal-news-list article>span{grid-column:2;grid-row:1/3}.portal-social{padding:24px 20px}.portal-social>div>b{font-size:22px}.portal-social>div>span{font-size:15px}.portal-social nav{display:grid}.portal-social a{font-size:15px}.manager-entry{display:flex;align-items:stretch;flex-direction:column;padding:24px 20px}.manager-entry-icon{width:58px;height:58px}.manager-entry b{font-size:22px}.manager-entry>div>span{font-size:16px}.manager-entry .button{width:100%;min-height:58px;font-size:18px}.portal-closing-message{min-height:180px;padding:27px 22px}.portal-closing-message b{font-size:25px}.portal-closing-message p{font-size:15px}.portal-closing-message>span{opacity:.8}.portal-closing-message svg{width:46px;height:46px}.mobile-bottom-nav{height:82px;padding-top:8px}.mobile-bottom-nav button,.mobile-bottom-nav a{font-size:12px;font-weight:700}.mobile-bottom-nav svg{width:26px;height:26px}.progress-wrap{top:78px}.question h2{font-size:20px}.option label{min-height:62px;font-size:17px}.question-help,.section-head p{font-size:16px}.manager-section-title h2{font-size:20px}.manager-section-title>p{font-size:14px}.manager-summary-card small{font-size:14px}.manager-summary-card p{font-size:14px}}
@media(max-width:430px){.quick-menu{grid-template-columns:1fr}.quick-menu .menu-card{min-height:132px;grid-template-columns:58px minmax(0,1fr) 20px;grid-template-rows:1fr;align-items:center}.quick-menu .menu-icon{grid-column:1;align-self:center}.quick-menu .menu-card>span:nth-child(2){grid-column:2}.quick-menu .menu-card i,.quick-menu .menu-card em{display:block;grid-column:3;align-self:center}.quick-menu .menu-card em{padding:4px 6px;font-size:11px}.portal-closing-message>span{display:none}}
@media(max-width:720px){.site-header{height:92px}.brand-logo{width:90px;height:90px}.portal-hero h1{font-size:29px;line-height:1.45;white-space:nowrap}.progress-wrap{top:92px}}

/* 管理職入口の建物アイコンだけを枠の中央へ固定 */
.manager-entry>.manager-entry-icon{display:flex;align-items:center;justify-content:center;padding:0;line-height:0}
.manager-entry-icon svg{position:static;display:block;flex:0 0 auto;margin:0;padding:0;transform:none}

/* 写真素材の準備前は、旧抽象装飾を表示しない */
.portal-hero-visual{display:flex;align-items:center;justify-content:center;background:#f7f3ee}
.portal-hero-visual::before{content:"働く人の写真素材を準備中";position:static;width:auto;height:auto;border-radius:0;background:none;color:#5f5852;font-size:15px;font-weight:700;text-align:center}
.portal-hero-visual::after,.portal-hero-visual>*{display:none}

/* 管理職入口の後は最小限のフッターだけを表示する */
.portal-closing-message{display:none}

/* 企業公式サービスらしい共通ヘッダーと情報階層 */
.site-header{height:68px;padding-inline:max(22px,calc((100% - 1180px)/2));background:rgba(255,255,255,.98);box-shadow:0 1px 0 #e9e5e1,0 5px 18px rgba(61,43,31,.035)}
.brand{min-width:0;height:100%;gap:14px}.brand-logo{width:60px;height:60px}.header-context{display:flex;align-items:center;min-width:0;min-height:30px;padding-left:15px;border-left:1px solid #d9d4cf;color:#302d2a;font-size:14px;font-weight:800;line-height:1.35;white-space:nowrap}
.header-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.header-nav button{min-height:42px;padding:0 15px;border:0;border-radius:10px;background:transparent;color:#3f3a36;font:inherit;font-size:14px;font-weight:750}.header-nav button:hover{background:#fff3e8;color:var(--orange-dark)}.admin-mode .header-nav{display:none}

/* 主要機能: アイコンを起点に読める、整然とした4列 */
.portal-section{position:relative}.portal-section:not(.portal-news-preview){padding-top:4px}.portal-section-head{padding-bottom:13px;border-bottom:1px solid #e9e4df}.quick-menu{gap:0;border-top:1px solid #e7e1db;border-bottom:1px solid #e7e1db;background:#fff}.quick-menu .menu-card{position:relative;display:flex;align-items:flex-start;flex-direction:column;min-height:182px;padding:24px 22px;border:0;border-right:1px solid #e7e1db;border-radius:0;background:#fff;box-shadow:none;text-align:left}.quick-menu .menu-card:last-child{border-right:0}.quick-menu .menu-card:hover{z-index:1;background:#fff8f1;box-shadow:inset 0 -3px 0 var(--orange)}.quick-menu .menu-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 0 14px;border-radius:18px}.quick-menu .menu-icon svg{width:33px;height:33px}.quick-menu .menu-card>span:nth-child(2){display:flex;align-items:flex-start;flex-direction:column;min-width:0}.quick-menu .menu-card b{font-size:20px;line-height:1.35}.quick-menu .menu-card small{margin-top:6px;font-size:15px;line-height:1.45}.quick-menu .menu-card i,.quick-menu .menu-card em{position:absolute;right:18px;bottom:17px;margin:0}.quick-menu .menu-card i{color:var(--orange);font-size:24px}.quick-menu .menu-card em{font-size:11px}

/* 公式サイト型のお知らせ一覧 */
.portal-news-preview{overflow:hidden;border-color:#e2ddd7;background:#fff}.portal-news-preview .portal-section-head{border-bottom:0}.portal-news-list article{grid-template-columns:112px 92px minmax(0,1fr) 20px;gap:14px}.portal-news-list time{display:flex;align-items:center}.portal-news-list time::after{content:"お知らせ";display:none}.portal-news-list article::before{content:"お知らせ";grid-column:2;display:inline-flex;align-items:center;justify-content:center;min-height:27px;border:1px solid #efc29d;border-radius:999px;color:#a74408;font-size:12px;font-weight:800}.portal-news-list b{grid-column:3}.portal-news-list article>span{grid-column:4}.portal-social{border-radius:14px}.manager-entry{border-left:4px solid var(--orange);border-radius:14px}

@media(max-width:1024px){.quick-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-menu .menu-card{border-bottom:1px solid #e7e1db}.quick-menu .menu-card:nth-child(2n){border-right:0}.quick-menu .menu-card:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:720px){.site-header{height:62px;padding-inline:12px}.brand{gap:9px}.brand-logo{width:52px;height:52px}.header-context{padding-left:10px;font-size:12px;white-space:normal}.header-nav{display:none}.portal-shell{padding-top:10px}.quick-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-menu .menu-card{min-height:158px;padding:17px 14px}.quick-menu .menu-icon{width:54px;height:54px;margin-bottom:11px}.quick-menu .menu-icon svg{width:30px;height:30px}.quick-menu .menu-card b{font-size:18px}.quick-menu .menu-card small{font-size:14px;line-height:1.4}.quick-menu .menu-card i,.quick-menu .menu-card em{right:12px;bottom:11px}.portal-news-list article{grid-template-columns:86px minmax(0,1fr) 18px;gap:5px 9px}.portal-news-list article::before{grid-column:2;grid-row:1;justify-self:start;min-height:23px;padding:0 9px;font-size:11px}.portal-news-list time{grid-column:1;grid-row:1}.portal-news-list b{grid-column:1/3;grid-row:2;margin-top:3px}.portal-news-list article>span{grid-column:3;grid-row:1/3}.progress-wrap{top:62px}}
@media(max-width:390px){.header-context{max-width:205px;font-size:11px}.quick-menu .menu-card{min-height:164px;padding-inline:12px}.quick-menu .menu-card b{font-size:17px}.quick-menu .menu-card small{font-size:13px}}

/* 正式ロゴ・サービス名・ブランドメッセージを一続きに見せる */
.brand{flex:0 1 auto}.brand>.brand-name{display:block;margin-left:0;color:#1f1d1b;font-size:24px;font-weight:900;letter-spacing:.02em;white-space:nowrap}.brand>.brand-message{display:block;margin-left:2px;padding-left:14px;border-left:1px solid #d9d4cf;color:#45413d;font-size:13px;font-weight:750;white-space:nowrap}.site-header>.header-context{margin-left:auto;padding:7px 11px;border:0;border-radius:999px;background:#fff3e8;color:#9a3f08;font-size:12px}.header-nav{margin-left:8px}

/* 添付された実写写真を使用するヒーローカルーセル */
.portal-photo-carousel{position:relative;display:block;isolation:isolate;overflow:hidden;background:#eee9e3;touch-action:pan-y}.portal-photo-carousel::before,.portal-photo-carousel::after{display:none}.portal-photo-carousel>.portal-photo-slides,.portal-photo-carousel>.portal-photo-arrow,.portal-photo-carousel>.portal-photo-dots{display:block}.portal-photo-slides,.portal-photo-slide{position:absolute;inset:0}.portal-photo-slide{visibility:hidden;margin:0;opacity:0;transition:opacity .55s ease}.portal-photo-slide.is-active{visibility:visible;opacity:1}.portal-photo-slide img{display:block;width:100%;height:100%;object-fit:cover}.portal-photo-arrow{position:absolute;z-index:3;top:50%;width:44px;height:44px;padding:0;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:rgba(255,255,255,.92);color:#2d2926;font:700 27px/1 sans-serif;box-shadow:0 5px 16px rgba(0,0,0,.13);transform:translateY(-50%)}.portal-photo-arrow.prev{left:12px}.portal-photo-arrow.next{right:12px}.portal-photo-dots{position:absolute;z-index:3;right:0;bottom:14px;left:0;text-align:center}.portal-photo-dots button{width:10px;height:10px;margin:0 4px;padding:0;border:1px solid rgba(0,0,0,.2);border-radius:99px;background:rgba(255,255,255,.92);transition:width .2s ease,background .2s ease}.portal-photo-dots button[aria-current="true"]{width:27px;background:var(--orange)}

@media(max-width:1024px){.brand>.brand-message{max-width:230px;overflow:hidden;text-overflow:ellipsis}.site-header>.header-context{display:none}}
@media(min-width:721px) and (max-width:900px){.portal-hero{grid-template-columns:1fr}.portal-photo-carousel{min-height:260px}}
@media(max-width:720px){.brand{gap:7px}.brand-logo{width:48px;height:48px}.brand>.brand-name{font-size:21px}.brand>.brand-message{max-width:155px;margin-left:1px;padding-left:10px;font-size:10px;line-height:1.35;white-space:normal}.portal-photo-carousel{min-height:190px}.portal-photo-arrow{width:42px;height:42px}.portal-photo-dots{bottom:10px}}
@media(max-width:430px){.brand>.brand-message{display:none}.brand>.brand-name{font-size:22px}.portal-photo-carousel{min-height:176px}}
@media(prefers-reduced-motion:reduce){.portal-photo-slide{transition:none}}

/* 実写背景と白系グラデーションを一体化したヒーロー */
.brand>.brand-message{color:#34302d;font-size:14px;font-weight:800}
.portal-hero{position:relative;display:block;min-height:445px;background:#eee9e3}
.portal-hero-copy{position:relative;z-index:2;width:68%;min-height:445px;padding:48px 72px 44px 48px;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 58%,rgba(255,255,255,.88) 75%,rgba(255,255,255,0) 100%)}
.portal-hero h1{max-width:590px;font-size:clamp(42px,4.4vw,58px);line-height:1.22;letter-spacing:.01em}.portal-hero-copy>p:not(.eyebrow){max-width:510px;color:#37332f;font-weight:600}.portal-primary-cta{max-width:390px}
.portal-photo-carousel{position:absolute;z-index:1;inset:0;min-height:0}.portal-photo-slide img{filter:saturate(.93) contrast(1.02)}.portal-photo-arrow{width:38px;height:38px;border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.74);font-size:23px;opacity:.82;box-shadow:0 3px 12px rgba(0,0,0,.1)}.portal-photo-arrow:hover{opacity:1;background:#fff}.portal-photo-dots{z-index:4}
@media(min-width:721px) and (max-width:900px){.portal-hero{min-height:430px}.portal-hero-copy{width:76%;min-height:430px;padding:40px 80px 38px 38px}.portal-photo-carousel{position:absolute;min-height:0}.portal-hero h1{font-size:46px}}
@media(max-width:720px){.brand>.brand-message{font-size:11px}.portal-hero{display:block;min-height:470px}.portal-hero-copy{width:100%;min-height:470px;padding:25px 18px 170px;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 52%,rgba(255,255,255,.86) 68%,rgba(255,255,255,.2) 83%,rgba(255,255,255,0) 100%)}.portal-hero h1{max-width:100%;font-size:34px;line-height:1.3;white-space:normal}.portal-hero-copy>p:not(.eyebrow){max-width:340px;color:#322f2c;font-size:16px;line-height:1.55}.portal-primary-cta{max-width:100%;min-height:76px;margin-top:16px}.portal-photo-carousel{position:absolute;min-height:0}.portal-photo-arrow{top:auto;bottom:18px;transform:none}.portal-photo-dots{bottom:24px}}
@media(max-width:430px){.portal-hero{min-height:455px}.portal-hero-copy{min-height:455px;padding:22px 17px 160px}.portal-hero h1{font-size:32px}.portal-photo-carousel{min-height:0}}

/* 写真をヒーロー全面に連続表示し、文字側だけをグラデーションで保護する */
.portal-hero-copy{background:none;pointer-events:none}
.portal-hero-copy::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:147.1%;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.91) 36%,rgba(255,255,255,.68) 58%,rgba(255,255,255,.22) 78%,rgba(255,255,255,0) 100%);pointer-events:none}
.portal-hero-copy button,.portal-hero-copy a{pointer-events:auto}
@media(min-width:721px) and (max-width:900px){.portal-hero-copy::before{width:131.6%}}
@media(max-width:720px){.portal-hero-copy::before{width:100%;background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.9) 30%,rgba(255,255,255,.7) 54%,rgba(255,255,255,.24) 76%,rgba(255,255,255,.06) 100%)}.portal-photo-slide:nth-child(1) img{object-position:43% center!important}.portal-photo-slide:nth-child(2) img{object-position:49% center!important}.portal-photo-slide:nth-child(3) img{object-position:52% center!important}.portal-photo-slide:nth-child(4) img{object-position:56% center!important}}

/* デスクトップのみ、文章と実写を明確に見せる法人向け2カラム */
@media(min-width:1025px){
  .portal-hero{display:grid;grid-template-columns:45% 55%;min-height:445px;background:#fffaf4}
  .portal-hero-copy{grid-column:1;width:auto;min-width:0;min-height:445px;padding:48px 38px 44px 48px;background:linear-gradient(135deg,#fff 0%,#fffaf4 100%)}
  .portal-hero-copy::before{z-index:1;inset:0 -52px 0 auto;width:54px;background:linear-gradient(90deg,#fffaf4 0%,rgba(255,250,244,.8) 42%,rgba(255,250,244,0) 100%)}
  .portal-hero-copy>*{position:relative;z-index:2}
  .portal-photo-carousel{position:relative;grid-column:2;inset:auto;min-width:0;min-height:445px}
  .portal-photo-slide img{filter:none}
  .portal-photo-arrow.prev{left:14px}.portal-photo-arrow.next{right:14px}
  .portal-photo-dots{right:0;left:0}
}

/* モバイルは操作性と軽さを優先し、写真カルーセルを読み込まない */
@media(max-width:720px){
  .portal-hero{min-height:0;background:linear-gradient(145deg,#fff 0%,#fff8ef 100%)}
  .portal-hero-copy{min-height:0;padding:28px 20px 30px;background:none}
  .portal-hero-copy::before{display:none}
  .portal-hero-copy .eyebrow{display:block}
  .portal-photo-mobile-hidden,.portal-hero>.portal-hero-visual{display:none}
  .portal-primary-cta{margin-top:18px}
  .portal-desktop-break{display:none}
  .quick-menu .menu-card{min-height:158px;padding:14px 10px}
  .quick-menu .menu-icon{margin-bottom:10px}
  .quick-menu .menu-card small{font-size:12px;line-height:1.45;letter-spacing:-.045em;white-space:nowrap}
  .quick-menu .menu-card i,.quick-menu .menu-card em{top:17px;right:10px;bottom:auto}
  .quick-menu .menu-card{height:164px;align-items:center;justify-content:flex-start;text-align:center}
  .quick-menu .menu-icon{margin:0 auto 10px}
  .quick-menu .menu-card>span:nth-child(2){width:100%;align-items:center;text-align:center}
  .quick-menu .menu-card small{margin-top:6px;text-align:center}
}

/* 企業訪問予約 */
.booking-dialog{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:rgba(28,25,23,.58);overflow:auto}.booking-panel{width:min(760px,100%);max-height:calc(100vh - 48px);padding:30px;overflow:auto;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.24)}.booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.booking-head h1{margin:3px 0 5px;font-size:30px}.booking-head span{color:#68625d;font-size:13px}.booking-panel form label{display:grid;gap:7px;margin-bottom:18px;font-weight:750}.booking-main-button{width:100%;min-height:58px}.booking-form-message:empty{display:none}.booking-message{padding:13px 15px;border-radius:12px;background:#fff0ed;color:#a52d20;font-weight:700}.booking-message.notice{background:#fff8eb;color:#6d4a16}.booking-message.success{background:#ecf9ef;color:#246b35}.booking-company-confirm{display:grid;gap:4px;margin-bottom:18px;padding:16px;border-left:4px solid var(--orange);background:#fff8f0}.booking-company-confirm b{font-size:20px}.booking-choice-list{display:grid;gap:10px;margin-bottom:18px}.booking-choice-list button{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:14px 18px;border:1px solid #ddd5cd;border-radius:14px;background:#fff;color:#292522;text-align:left;font:inherit}.booking-choice-list button:hover{border-color:var(--orange);background:#fff8f0}.booking-choice-list span{font-weight:750}.booking-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.booking-slots button{display:grid;gap:3px;min-height:68px;padding:10px;border:1px solid #ddd5cd;border-radius:12px;background:#fff;color:#2c2825;font:inherit}.booking-slots button b{font-size:18px}.booking-slots button span{font-size:12px}.booking-slots button:not(:disabled):hover{border-color:var(--orange);background:#fff4e8}.booking-slots button:disabled{background:#eee;color:#8a8580}.booking-details textarea{resize:vertical}.booking-actions{display:flex;justify-content:flex-end;gap:10px}.booking-confirm{display:grid;gap:0;margin:0 0 22px;border:1px solid #e3ddd7;border-radius:15px;overflow:hidden}.booking-confirm>div{display:grid;grid-template-columns:130px 1fr;padding:14px 16px;border-bottom:1px solid #e3ddd7}.booking-confirm>div:last-child{border:0}.booking-confirm dt{color:#68625d}.booking-confirm dd{margin:0;font-weight:800}.booking-complete{text-align:center}.booking-complete>p{font-size:18px;line-height:1.8}.booking-complete>.button{width:100%;margin-top:24px}.visit-schedule-form{padding:20px;border-radius:16px;background:#fff8f0}.visit-schedule-form h2,.visit-admin-list h2{margin-top:0}.visit-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.visit-admin-list{margin-top:28px}.visit-admin-card{margin-top:14px;border:1px solid #e3ddd7;border-radius:15px;overflow:hidden}.visit-admin-card>header{display:flex;justify-content:space-between;gap:12px;padding:15px 17px;background:#f8f6f3}.visit-admin-card>header div{display:grid;gap:3px}.visit-admin-card>header em{align-self:start;padding:4px 9px;border-radius:99px;background:#e8f7eb;color:#29713a;font-size:11px;font-style:normal}.visit-booking-rows>div{display:grid;grid-template-columns:70px 1fr auto;gap:10px;padding:12px 17px;border-top:1px solid #ece7e2}.visit-booking-rows>p{padding:0 17px}.visit-booking-rows button{margin-left:8px}
@media(max-width:720px){.booking-dialog{align-items:start;padding:0;background:#fff}.booking-panel{width:100%;max-height:none;min-height:100vh;padding:22px 16px 110px;border-radius:0;box-shadow:none}.booking-head h1{font-size:25px}.booking-slots{grid-template-columns:repeat(2,1fr)}.booking-actions{display:grid;grid-template-columns:1fr}.booking-actions .button{width:100%}.booking-confirm>div{grid-template-columns:92px 1fr}.visit-form-grid{grid-template-columns:1fr}.visit-booking-rows>div{grid-template-columns:58px 1fr}.visit-booking-rows>div>span{grid-column:1/-1}.visit-booking-rows button{margin:6px 8px 0 0}}
.visit-booking-rows .is-open{background:#fbfdfb}.visit-booking-rows .is-open>b{color:#28713a}.visit-booking-rows .is-blocked{background:#f1efec;color:#777}.visit-booking-rows .is-blocked>b{font-weight:700}
.booking-current{margin-bottom:18px;padding:20px;border:1px solid #eadfd4;border-radius:16px;background:#fff8f0}.booking-current>b{font-size:21px}.booking-current>p{font-size:18px;line-height:1.7}.booking-current .button{width:100%;margin-top:8px}.button.danger{border:1px solid #c83b2d;background:#fff;color:#a72e23}.button.danger:hover{background:#fff0ed}.booking-contact-note{margin:18px 0 0;padding-top:16px;border-top:1px solid #e8e1da;color:#5c5651;font-size:13px;line-height:1.6}
.visit-cancelled-history{border-top:1px solid #e3ddd7;background:#faf8f6}.visit-cancelled-history summary{padding:12px 17px;color:#706963;font-weight:750;cursor:pointer}.visit-cancelled-history>div{display:grid;grid-template-columns:70px 1fr auto;gap:10px;padding:10px 17px;color:#777}.visit-cancelled-history>div span{font-size:12px;font-weight:700}
/* 企業0件の本番初期状態でも、最初の企業登録へ進める管理ツール */
.admin-empty-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:14px;color:#514c48;font-size:12px}.admin-empty-tools span{margin-left:auto}
@media(max-width:720px){.admin-empty-tools{align-items:stretch;flex-direction:column}.admin-empty-tools span{margin-left:0}.admin-empty-tools .button{width:100%}}
