@charset "utf-8";
/* generic-hild-izumi Style guide.css
/*
ブルー ： #0066ff rgba(0,102,255,1.00)
グリーン ： #47d6b6 rgba(71, 214, 182, 1.00);
ネイビー ： #192c55 rgba(25, 44, 85, 1.00);
ブルーホワイト ： #f2f9ff rgba(242, 249, 255, 1.00);
オレンジ ： #faca7b rgba(250, 202, 123, 1.00);
ブルーグリーングラデーション背景
body.annex .gradation{
    background-image: linear-gradient(177deg, rgba(0,102,255,1.00), rgba(71, 214, 182, 1.00));
}
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Poppins:wght@400;600;700&display=swap');

/* =====================================================
/* アネックス（別館）のご案内ページ用スタイル適用
/* /guide/annex/　　（ID：11316） 
===================================================== */
/* ===== 和泉市立総合医療センター 現行サイト（generic-child-izumi）のトーンを継承 ===== */
:root{
  --blue:#0066ff; --navy:#192c55; --mint:#47d6b6; --sky:#f2f9ff; --sky2:#eaf4ff; --sand:#faca7b;
  --ink:#222; --gray:#666; --gray2:#999; --line:#ddd; --paper:#fff; --soft:#f7f7f7;
  --f-out:#192c55; --f-icu:#e8792b; --f-check:#6b7a3a; --f-svc:#8a8f99; --f-future:#dfe4ec;
  --chk:#b7791f;
}
body.annex *{box-sizing:border-box}
body.annex{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
body.annex img{max-width:100%;display:block}
body.annex img[width][height]{height:auto}
body.annex a{color:var(--blue)}
body.annex a:focus-visible,body.annex button:focus-visible{outline:3px solid var(--sand);outline-offset:2px}
body.annex .en{font-family:Poppins,'Noto Sans JP',sans-serif}
body.annex .num{font-family:Poppins,'Noto Sans JP',sans-serif;font-variant-numeric:tabular-nums}
body.annex .chk{text-decoration:underline dotted var(--chk);text-decoration-thickness:2px;text-underline-offset:3px;cursor:help}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
html{scroll-behavior:smooth}

/* --- 見出しスタイル上書き TIS add --- */


/* --- 2カラム --- */
body.annex .wrap{max-width:1400px;margin:0 auto;padding:2rem 1.5rem 4rem;display:grid;grid-template-columns:300px minmax(0,1fr);gap:3rem;align-items:start}
body.annex aside.side{background:var(--soft);border-radius:14px;padding:1.5rem 1rem 1rem;position:sticky;top:1rem}
body.annex .side-ttl{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--blue);font-size:.875rem;margin:0 0 1.25rem;font-weight:400}
body.annex .side-ttl i{width:4rem;height:4rem;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--blue);font-size:1.6rem;font-style:normal}
body.annex .side ul{list-style:none;margin:0;padding:0}
body.annex .side li a{display:flex;gap:.5rem;align-items:center;padding:.9rem .5rem;border-bottom:1px solid var(--line);color:#333;text-decoration:none;font-size:.875rem}
body.annex .side li a::before{content:"›";color:var(--gray2);font-size:1rem}
body.annex .side li a.current{background:var(--sky2);color:var(--blue);border-left:3px solid var(--blue);border-radius:0 6px 6px 0}
body.annex .side li a.current::before{color:var(--blue)}
body.annex .tag-new{margin-left:auto;background:var(--sand);color:#5a3d00;font:700 .65rem/1 Poppins,sans-serif;letter-spacing:.08em;padding:.3rem .45rem;border-radius:4px}

body.annex main.content{min-width:0}
body.annex .page-ttl{font-size:1.6rem;font-weight:700;margin:0 0 .25rem;line-height:1.35;text-wrap:balance}
body.annex .page-ttl::after{content:"";display:block;width:52px;height:3px;margin-top:.6rem;background:linear-gradient(90deg,var(--blue),var(--mint));border-radius:2px}
body.annex .eyebrow{color:var(--gray);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem}
body.annex .lead{font-size:1.05rem;line-height:1.9;max-width:44rem;margin:1.5rem 0}
body.annex .hero{margin:1.5rem 0 0}
body.annex .hero img{border-radius:14px;width:100%;aspect-ratio:3/2;object-fit:cover}
body.annex figcaption{font-size:.8rem;color:var(--gray);margin-top:.5rem}
body.annex .in-nav{display:flex;flex-wrap:wrap;gap:0 1.25rem;background:rgba(71,214,182,.15);padding:.6rem 1rem;border-radius:6px;margin:2rem 0 0;font-size:.875rem}
body.annex .in-nav a{text-decoration:none;color:var(--ink);padding:.2rem 0;border-right:1px solid #cfd8d5;padding-right:1.25rem}
body.annex .in-nav a:last-child{border-right:0}
body.annex .in-nav a:hover{color:var(--blue)}

body.annex .sec{margin-top:3.5rem}
body.annex h2.sec-ttl{position:relative;color:var(--blue);font-size:1.75rem;font-weight:400;margin:0 0 1.25rem;padding-top:1rem;border-top:1px solid var(--line);text-wrap:balance;font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}
body.annex .sec-ttl::before{content:"";position:absolute;top:-1px;left:0;width:160px;height:2px;background:var(--blue)}
body.annex .sec p{max-width:44rem}
body.annex h3.sub{font-size:1.1rem;font-weight:700;margin:2rem 0 .75rem;padding:0 0 0 .75rem;border-left:4px solid var(--mint);background-color: transparent}
body.annex h3.sub::before{display: none}

/* KPI */
body.annex .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}
body.annex .kpi{background:var(--sky);border-radius:12px;padding:1.1rem 1.2rem 1rem}
body.annex .kpi .l{font-size:.8rem;color:var(--gray);margin:0}
body.annex .kpi .n{font-family:Poppins,sans-serif;font-weight:600;font-size:2.2rem;line-height:1.1;color:var(--navy);margin:.2rem 0 0;font-variant-numeric:tabular-nums}
body.annex .kpi .n small{font-family:'Noto Sans JP',sans-serif;font-size:.95rem;font-weight:500;margin-left:.2rem}
body.annex .kpi .d{font-size:.8rem;color:var(--gray);margin:.35rem 0 0}
body.annex .kpi .d b{color:var(--blue);font-weight:700}

body.annex .two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:start}
body.annex table.spec{width:100%;border-collapse:collapse;font-size:.95rem}
body.annex table.spec th,body.annex table.spec td{border:1px solid var(--line);padding:.7rem .9rem;text-align:left;vertical-align:top}
body.annex table.spec th{background:var(--sky2);font-weight:500;width:9.5rem;color:#333}
body.annex .fig-side img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}

body.annex dl.feat{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;margin:1rem 0 0}
body.annex dl.feat div{padding:.9rem 0;border-bottom:1px solid var(--line)}
body.annex dl.feat dt{font-weight:700;color:var(--navy)}
body.annex dl.feat dt::before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--mint);margin-right:.6rem;vertical-align:middle}
body.annex dl.feat dd{margin:.15rem 0 0 1.1rem;font-size:.9rem;color:#444}

/* フロアガイド */
body.annex .floors{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2rem;align-items:start;margin-top:1.25rem}
body.annex .stack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
body.annex .stack li{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
body.annex .stack button{width:100%;display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:.6rem;padding:.7rem .8rem;border:2px solid transparent;border-radius:8px;background:var(--f-future);color:var(--ink);font:inherit;font-size:.85rem;text-align:left;cursor:pointer;transition:transform .15s}
body.annex .stack button .f{font-family:Poppins,sans-serif;font-weight:700;font-size:1.05rem}
body.annex .stack button .arrow{opacity:0;font-size:1.1rem}
body.annex .stack button[aria-selected="true"]{border-color:var(--blue);transform:translateX(6px);box-shadow:0 4px 14px rgba(25,44,85,.18)}

body.annex .stack button[aria-selected="true"] .arrow{opacity:1}
body.annex .stack .out button{background:var(--f-out);color:#fff}
body.annex .stack .icu button{background:var(--f-icu);color:#fff}
body.annex .stack .check button{background:var(--f-check);color:#fff}
body.annex .stack .svc button{background:var(--f-svc);color:#fff}
body.annex .stack .future button{background:var(--f-future);color:#333}
body.annex .stack .ground{margin-top:.35rem;font-size:.75rem;color:var(--gray);text-align:center;border-top:3px solid var(--line);padding-top:.3rem}
body.annex .legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.75rem;color:var(--gray);margin:.75rem 0 0}
body.annex .legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:3px;margin-right:.35rem;vertical-align:-1px}
body.annex .panel{background:var(--soft);border-radius:14px;padding:1.5rem;min-height:320px}
body.annex .panel h3{margin:0;font-size:1.3rem;font-weight:700;color:var(--navy);display:flex;align-items:baseline;gap:.75rem;background-color: transparent;padding: 0}
body.annex .panel h3::before{display: none}
body.annex .panel h3 .f{font-family:Poppins,sans-serif;color:var(--blue);font-size:1.6rem}
body.annex .panel .badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .5rem;border-radius:4px;background:#fff;color:var(--gray);border:1px solid var(--line);margin-left:.25rem;vertical-align:middle}
body.annex .panel ul{margin:1rem 0 0;padding:0;list-style:none}
body.annex .panel li{padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.95rem;display:flex;gap:.7rem;align-items:flex-start}
body.annex .panel li .rc{flex:none;min-width:2.4rem;text-align:center;font:700 .8rem/1.6 Poppins,sans-serif;background:var(--navy);color:#fff;border-radius:4px;padding:0 .3rem;margin-top:.2rem}
body.annex .panel li .rc.none{background:transparent;color:transparent}
body.annex .panel .note{margin:1rem 0 0;font-size:.875rem;color:#444;background:#fff;border-left:4px solid var(--sand);padding:.6rem .9rem;border-radius:0 6px 6px 0}
body.annex .panel img{border-radius:10px;aspect-ratio:16/10;object-fit:cover;margin-top:1rem;width:100%}
body.annex .panel .links{margin:1rem 0 0;font-size:.875rem;display:flex;gap:1rem;flex-wrap:wrap}
body.annex .panel[hidden]{display:none}

/* 本館改修表 */
body.annex table.ren{width:100%;border-collapse:collapse;font-size:.95rem;margin-top:1rem}
body.annex table.ren th,body.annex table.ren td{border:1px solid var(--line);padding:.7rem .9rem;text-align:left;vertical-align:top}
body.annex table.ren thead th{background:var(--navy);color:#fff;font-weight:500}
body.annex table.ren tbody th{background:var(--sky2);font-weight:700;width:6rem;font-family:Poppins,'Noto Sans JP',sans-serif}

/* あゆみ */
body.annex ol.tl{list-style:none;margin:1.25rem 0 0;padding:0 0 0 1.25rem;border-left:2px solid var(--line)}
body.annex ol.tl li{position:relative;padding:0 0 1.4rem 1.5rem}
body.annex ol.tl li::before{content:"";position:absolute;left:calc(-1.25rem - 7px);top:.45rem;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--blue)}
body.annex ol.tl li.hi::before{background:var(--blue)}
body.annex ol.tl time{display:block;font-family:Poppins,'Noto Sans JP',sans-serif;font-weight:600;color:var(--blue);font-size:.95rem;letter-spacing:.02em}
body.annex ol.tl b{display:block;font-size:1rem; font-weight: bolder}
body.annex ol.tl span{display:block;font-size:.875rem;color:#444}
body.annex .two.plan{margin:1rem 0 1.5rem;align-items:center}
body.annex .two.plan img{border-radius:12px;aspect-ratio:16/9;object-fit:cover;width:100%}
body.annex .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem}
body.annex .gallery figure{margin:0}
body.annex .gallery img{border-radius:10px;aspect-ratio:3/2;object-fit:cover;width:100%}
body.annex .gallery figcaption{font-size:.78rem}

/* ご来院 */
body.annex .visit{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2rem;align-items:start}
body.annex .visit figure img{aspect-ratio:4/5;object-fit:cover;width:100%}
body.annex dl.how{margin:1rem 0 0}
body.annex dl.how div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
body.annex dl.how dt{font-weight:700;color:var(--navy);margin:0}
body.annex dl.how dd{margin:0}
body.annex .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0}
body.annex .pill{display:inline-flex;align-items:center;gap:.75rem;background:var(--navy);color:#fff;text-decoration:none;font-size:.9rem;font-weight:500;padding:.8rem 1.1rem .8rem 1.4rem;border-radius:999px}
body.annex .pill i{width:1.7rem;height:1.7rem;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--mint));display:grid;place-items:center;font-style:normal;font-size:.9rem}
body.annex .pill.alt{background:#fff;color:var(--navy);border:2px solid var(--navy)}
body.annex .related{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}
body.annex .related a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:var(--sky);color:var(--ink);text-decoration:none;padding:.9rem 1rem;border-radius:10px;font-size:.9rem;font-weight:500}
body.annex .related a::after{content:"›";color:var(--blue);font-size:1.3rem}

/* フッター */
body.annex .site-footer{background:var(--navy);color:#fff;margin-top:2rem}
body.annex .ft-nav{border-bottom:1px solid rgba(255,255,255,.2)}
body.annex .ft-nav ul{max-width:1400px;margin:0 auto;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0;list-style:none;font-size:.8rem}
body.annex .ft-nav li{padding:0 .9rem;border-left:1px solid rgba(255,255,255,.35)}
body.annex .ft-nav li:first-child{border-left:0}
body.annex .ft-nav a{color:#fff;text-decoration:none}
body.annex .ft-body{max-width:1400px;margin:0 auto;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;font-size:.875rem}
body.annex .ft-body b{display:block;font-size:1rem;margin-bottom:.25rem}
body.annex .ft-body small{font-family:Poppins,sans-serif;opacity:.8}

@media (max-width:1100px){
  body.annex .kpis{grid-template-columns:repeat(2,1fr)}
  body.annex .gallery{grid-template-columns:1fr 1fr}
  body.annex .related{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  body.annex .wrap{grid-template-columns:1fr;gap:2rem}
  body.annex aside.side{position:static;order:2}
  body.annex main.content{order:0}
  body.annex .two,body.annex .floors,body.annex .visit{grid-template-columns:1fr}
  body.annex .stack{flex-direction:column}
  body.annex .hd-nav{gap:1.1rem;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}
  body.annex .hd-nav a{white-space:nowrap;font-size:.95rem}
  body.annex .hd-search{display:none}
  body.annex .hd-util{margin-left:0;gap:.4rem}
  body.annex .hd-btn{font-size:.8rem;padding:.5rem .7rem;border-radius:6px}
  body.annex .hd-tel{font-size:1.05rem;margin-right:.25rem}
  body.annex dl.feat{grid-template-columns:1fr}
  body.annex dl.how div{grid-template-columns:1fr;gap:.2rem}
  body.annex .sub-header{min-height:140px}
  body.annex .sub-header h2{font-size:1.5rem}
  body.annex table.ren{width:100%!important;}
  body.annex table.spec{width:100%!important;}
}
@media (max-width:560px){
  body.annex .kpis,body.annex .related{grid-template-columns:1fr}
  body.annex .gallery{grid-template-columns:1fr 1fr;gap:.6rem}
  body.annex .kpi .n{font-size:1.9rem}
  body.annex .page-ttl{font-size:1.35rem}
  body.annex .sec-ttl{font-size:1.4rem}
}
