/* ============================================================
   cms/sub.css - サブページテンプレート用
   ページヒーロー・医療・暮らし・愛生苑について
   入所案内・アクセスFAQ
   ============================================================ */

/* ============================================================
   PAGE HERO
   ============================================================ */
.page-hero{
  position:relative;
  padding:calc(var(--header-h) + var(--sp-3xl)) 0 var(--sp-2xl);
  text-align:center;background-color:var(--c-primary);
  background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(110deg,rgba(var(--c-primary-rgb),.88) 0%,rgba(var(--c-primary-rgb),.72) 42%,rgba(var(--c-primary-rgb),.82) 100%);
}
.page-hero .container{position:relative;z-index:1}
.page-hero--about{background-image:url('/userfiles/page_contents/gaiyou_exterior.jpg')}
.page-hero--news{background-image:url('/userfiles/page_contents/gaiyou_exterior.jpg')}
.page-hero--medical{background-image:url('/userfiles/page_contents/med_kaita_hospital.jpg')}
.page-hero--admission{background-image:url('/userfiles/page_contents/adm_reception.jpg')}
.page-hero--life{background-image:url('/userfiles/page_contents/home_residents_staff.jpg')}
.page-hero--access{background-image:url('/userfiles/page_contents/03_hero_facility.png')}
.page-hero__label{font-family:var(--f-accent);font-size:.85rem;font-weight:400;color:#A8C4FF;letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--sp-xs);text-shadow:0 1px 12px rgba(0,0,0,.35)}
.page-hero__title{font-family:var(--f-head);font-size:1.75rem;font-weight:700;color:var(--c-white);margin-bottom:var(--sp-sm);text-shadow:0 2px 24px rgba(0,0,0,.45)}
.page-hero__sub{font-size:.88rem;color:rgba(255,255,255,.88);line-height:1.8;text-shadow:0 1px 16px rgba(0,0,0,.4)}

/* ============================================================
   MEDICAL PAGE
   ============================================================ */
.med-section{padding:var(--sp-3xl) 0;background:var(--c-bg)}
.med-section--alt{background:var(--c-surface)}
.med-section__inner{display:flex;flex-direction:column;gap:var(--sp-2xl)}
.med-section__inner--reverse{flex-direction:column}
.med-section__content{flex:1}
.med-section__visual{flex:0 0 40%}
.med-section__lead{font-size:.95rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-xl)}

.med-section__photo-frame{margin:0;width:100%;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md)}
.med-section__photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.med-section__image-placeholder{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--c-accent-l),var(--c-surface));border-radius:var(--r-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-sm);color:var(--c-accent);font-size:.85rem;box-shadow:var(--sh-md)}
.med-section__image-placeholder i{font-size:2.5rem;opacity:.4}

.med-features{display:grid;grid-template-columns:1fr;gap:var(--sp-md)}
.med-feature{padding:var(--sp-lg);text-align:center}
.med-feature__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.2rem;border-radius:50%;margin-bottom:var(--sp-md);transition:all var(--t-base)}
.med-feature:hover .med-feature__icon{background:var(--c-accent);color:var(--c-white)}
.med-feature__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.med-feature__text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}

.med-highlights{display:flex;flex-direction:column;gap:var(--sp-lg)}
.med-highlight{display:flex;align-items:flex-start;gap:var(--sp-lg)}
.med-highlight__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.1rem;border-radius:var(--r-md)}
.med-highlight__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.med-highlight__text{font-size:.85rem;color:var(--c-text-m);line-height:1.8}

.med-care__photo{margin:0 auto var(--sp-2xl);max-width:720px;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md)}
.med-care__photo img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}
.med-care__photo-caption{margin:0;padding:var(--sp-md) var(--sp-lg);font-size:.82rem;color:var(--c-text-m);line-height:1.7;text-align:center;background:var(--c-surface)}
.med-care__grid{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.med-care__card{padding:var(--sp-xl) var(--sp-lg);text-align:center}
.med-care__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.3rem;border-radius:50%;margin-bottom:var(--sp-md);transition:all var(--t-base)}
.med-care__card:hover .med-care__icon{background:var(--c-accent);color:var(--c-white)}
.med-care__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-sm)}
.med-care__text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}

.med-partners{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.med-partner{padding:var(--sp-xl) var(--sp-lg);position:relative}
.med-partner__badge{display:inline-flex;padding:2px 12px;font-size:.72rem;font-weight:700;background:var(--c-accent-l);color:var(--c-accent);border-radius:var(--r-sm);margin-bottom:var(--sp-sm)}
.med-partner__badge--emergency{background:#FEF2F2;color:#EF4444}
.med-partner__name{font-family:var(--f-head);font-size:1.05rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs);display:flex;align-items:center;gap:var(--sp-sm)}
.med-partner__name i{color:var(--c-accent);font-size:.9rem}
.med-partner__role{font-size:.85rem;color:var(--c-text-m);margin-bottom:var(--sp-sm)}
.med-partner__details{display:flex;flex-direction:column;gap:var(--sp-xs)}
.med-partner__details li{display:flex;align-items:center;gap:var(--sp-sm);font-size:.82rem;color:var(--c-text)}
.med-partner__details i{color:var(--c-accent);font-size:.7rem;width:14px;text-align:center}

/* ============================================================
   LIFE PAGE
   ============================================================ */
.life-section{padding:var(--sp-3xl) 0;background:var(--c-bg)}
.life-section--alt{background:var(--c-surface)}
.life-section__intro{font-size:.95rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-2xl);max-width:700px;text-align:center;margin-left:auto;margin-right:auto}

.timeline{display:flex;flex-direction:column;gap:var(--sp-md);position:relative;padding-left:var(--sp-xl)}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--c-accent),var(--c-primary));border-radius:var(--r-full)}
.timeline__item{display:flex;gap:var(--sp-lg);padding:var(--sp-md) var(--sp-lg);position:relative}
.timeline__item::before{content:'';position:absolute;left:calc(-1 * var(--sp-xl) - 5px);top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--c-accent);border:3px solid var(--c-bg);border-radius:50%;z-index:1}
.timeline__time{flex-shrink:0;font-family:var(--f-head);font-size:1rem;font-weight:700;color:var(--c-accent);min-width:52px}
.timeline__body{flex:1}
.timeline__title{font-family:var(--f-head);font-size:.92rem;font-weight:700;color:var(--c-primary);margin-bottom:2px;display:flex;align-items:center;gap:var(--sp-sm)}
.timeline__title i{font-size:.8rem;color:var(--c-accent)}
.timeline__text{font-size:.82rem;color:var(--c-text-m);line-height:1.6}

.meals__category{margin-bottom:var(--sp-2xl)}
.meals__category-title{font-family:var(--f-head);font-size:1.1rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-lg);display:flex;align-items:center;gap:var(--sp-sm)}
.meals__category-title i{color:var(--c-accent)}
.meals__grid{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.meals__card{overflow:hidden}
.meals__img-area{aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-sm);background:linear-gradient(135deg,#FFF8F0,#FFE8D6);color:#D97706;font-size:.85rem;transition:all var(--t-base)}
.meals__img-area i{font-size:2rem;opacity:.5}
.meals__img-area--special{background:linear-gradient(135deg,#FFF0F0,#FFD6D6);color:#E74C3C}
.meals__img-area--photo{padding:0;background:none;position:relative;display:block;overflow:hidden}
.meals__img-area--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.meals__card:hover .meals__img-area{filter:brightness(1.05)}
.meals__card-body{padding:var(--sp-lg)}
.meals__card-title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.meals__card-text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}
.meals__note{display:flex;align-items:flex-start;gap:var(--sp-lg);padding:var(--sp-xl);margin-top:var(--sp-lg);border-left:4px solid var(--c-accent)}
.meals__note-icon{font-size:1.3rem;color:var(--c-accent);flex-shrink:0;margin-top:2px}
.meals__note-title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.meals__note-text{font-size:.85rem;color:var(--c-text-m);line-height:1.8}

.events__grid{display:grid;grid-template-columns:1fr;gap:var(--sp-lg);margin-bottom:var(--sp-2xl)}
.events__card{padding:var(--sp-xl) var(--sp-lg);text-align:center}
.events__season{display:inline-flex;align-items:center;gap:var(--sp-xs);font-size:.78rem;font-weight:700;padding:4px 14px;border-radius:var(--r-full);margin-bottom:var(--sp-md)}
.events__season--spring{background:#ECFDF5;color:#059669}
.events__season--summer{background:#EFF6FF;color:#2563EB}
.events__season--autumn{background:#FFF7ED;color:#EA580C}
.events__season--winter{background:#F0F9FF;color:#0284C7}
.events__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-sm)}
.events__text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}
.events__daily{padding:var(--sp-xl);background:var(--c-surface);border-radius:var(--r-lg)}
.events__daily-title{font-family:var(--f-head);font-size:1rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-lg);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--sp-sm)}
.events__daily-title i{color:var(--c-accent)}
.events__daily-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-md)}
.events__daily-item{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--c-bg);border-radius:var(--r-md);font-size:.85rem;color:var(--c-text);box-shadow:var(--sh-sm)}
.events__daily-item i{color:var(--c-accent);font-size:1rem;width:20px;text-align:center}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-section{padding:var(--sp-3xl) 0;background:var(--c-bg)}
.about-section--alt{background:var(--c-surface)}
.about-overview{display:flex;flex-direction:column;gap:var(--sp-2xl)}
.about-overview__lead{font-size:.95rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-xl)}
.about-overview__visual{flex:0 0 40%}
.about-overview__image-placeholder{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--c-accent-l),var(--c-surface));border-radius:var(--r-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-sm);color:var(--c-accent);font-size:.85rem;box-shadow:var(--sh-md)}
.about-overview__image-placeholder i{font-size:2.5rem;opacity:.4}

.info-table{width:100%;border-collapse:collapse;margin-top:var(--sp-md)}
.info-table th,.info-table td{padding:var(--sp-md) var(--sp-lg);font-size:.88rem;border-bottom:1px solid var(--c-border);text-align:left}
.info-table th{width:140px;font-weight:700;color:var(--c-primary);white-space:nowrap;display:flex;align-items:center;gap:var(--sp-sm)}
.info-table th i{color:var(--c-accent);font-size:.8rem;width:16px;text-align:center}
.info-table td a{color:var(--c-accent);font-weight:700}

.philosophy__main{padding:var(--sp-2xl);text-align:center;margin-bottom:var(--sp-xl);border-left:4px solid var(--c-accent)}
.philosophy__quote p{font-family:var(--f-head);font-size:1.15rem;font-weight:700;color:var(--c-primary);line-height:2}
.philosophy__values{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.philosophy__value{padding:var(--sp-xl) var(--sp-lg);text-align:center}
.philosophy__value-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.4rem;border-radius:50%;margin-bottom:var(--sp-md);transition:all var(--t-base)}
.philosophy__value:hover .philosophy__value-icon{background:var(--c-accent);color:var(--c-white)}
.philosophy__value-title{font-family:var(--f-head);font-size:1.05rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-sm)}
.philosophy__value-text{font-size:.85rem;color:var(--c-text-m);line-height:1.8}

.about-features{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.about-feature{padding:var(--sp-xl) var(--sp-lg);text-align:center}
.about-feature__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.4rem;border-radius:50%;margin-bottom:var(--sp-md);transition:all var(--t-base)}
.about-feature:hover .about-feature__icon{background:var(--c-accent);color:var(--c-white)}
.about-feature__title{font-family:var(--f-head);font-size:1rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-sm)}
.about-feature__text{font-size:.85rem;color:var(--c-text-m);line-height:1.8;text-align:left}

.history-timeline{display:flex;flex-direction:column;gap:var(--sp-md);position:relative;padding-left:var(--sp-xl)}
.history-timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--c-accent),var(--c-primary));border-radius:var(--r-full)}
.history-timeline__item{display:flex;gap:var(--sp-lg);padding:var(--sp-lg);position:relative}
.history-timeline__item::before{content:'';position:absolute;left:calc(-1 * var(--sp-xl) - 5px);top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--c-accent);border:3px solid var(--c-bg);border-radius:50%;z-index:1}
.history-timeline__year{flex-shrink:0;font-family:var(--f-head);font-size:.85rem;font-weight:700;color:var(--c-accent);min-width:48px;padding-top:2px}
.history-timeline__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.history-timeline__text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}

.about-interior{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-md);margin-top:var(--sp-2xl)}
.about-interior__item{padding:0;overflow:hidden}
.about-interior__img{overflow:hidden}
.about-interior__img img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;transition:transform var(--t-base)}
.about-interior__item:hover .about-interior__img img{transform:scale(1.05)}
.about-interior__label{padding:var(--sp-sm) var(--sp-md);font-family:var(--f-head);font-size:.82rem;font-weight:700;color:var(--c-primary);text-align:center}

.about-gallery{display:flex;flex-direction:column;gap:var(--sp-md)}
.about-gallery__item{position:relative;border-radius:var(--r-lg);overflow:hidden}
.about-gallery__item img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover;transition:transform var(--t-base)}
.about-gallery__item:hover img{transform:scale(1.05)}
.about-gallery__caption{position:absolute;bottom:0;left:0;right:0;padding:6px 10px;font-size:.72rem;color:var(--c-white);background:linear-gradient(transparent,rgba(0,0,0,.55));text-align:center}

.related-facilities{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.related-facility{display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden;transition:all var(--t-base)}
.related-facility:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.related-facility__banner{overflow:hidden;background:var(--c-surface);display:flex;align-items:center;justify-content:center}
.related-facility__banner img{width:100%;height:auto;display:block;object-fit:contain}
.related-facility__info{padding:var(--sp-lg)}
.related-facility__name{font-family:var(--f-head);font-size:.9rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.related-facility__address{font-size:.78rem;color:var(--c-text-m);line-height:1.6}
.related-facility__tel{font-size:.78rem;color:var(--c-text-m);margin-top:2px}

/* ============================================================
   ADMISSION PAGE
   ============================================================ */
.adm-section{padding:var(--sp-3xl) 0;background:var(--c-bg)}
.adm-section--alt{background:var(--c-surface)}
.adm-what__lead{font-size:.95rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-xl);max-width:700px;margin-left:auto;margin-right:auto;text-align:center}
.adm-compare{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.adm-compare__card{padding:var(--sp-xl) var(--sp-lg);position:relative}
.adm-compare__card--active{border:2px solid var(--c-accent)}
.adm-compare__badge{position:absolute;top:var(--sp-md);right:var(--sp-md);padding:2px 12px;font-size:.72rem;font-weight:700;background:var(--c-accent);color:var(--c-white);border-radius:var(--r-sm)}
.adm-compare__title{font-family:var(--f-head);font-size:1.05rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-md)}
.adm-compare__list{display:flex;flex-direction:column;gap:var(--sp-xs)}
.adm-compare__list li{font-size:.85rem;color:var(--c-text-m);line-height:1.6;display:flex;align-items:center;gap:var(--sp-sm)}
.adm-compare__card--active .adm-compare__list li{color:var(--c-text);font-weight:500}
.adm-compare__list i{color:var(--c-ok);font-size:.7rem}

.adm-requirements{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.adm-req{padding:var(--sp-xl) var(--sp-lg);text-align:center}
.adm-req__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.2rem;border-radius:50%;margin-bottom:var(--sp-md);transition:all var(--t-base)}
.adm-req:hover .adm-req__icon{background:var(--c-accent);color:var(--c-white)}
.adm-req__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-sm)}
.adm-req__text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}

.adm-flow__intro{font-size:.95rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-lg);text-align:center}
.adm-flow{max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.adm-flow__step{display:flex;align-items:flex-start;gap:var(--sp-md);padding:var(--sp-md);width:100%}
.adm-flow__num{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--c-accent);color:var(--c-white);font-family:var(--f-head);font-size:1.1rem;font-weight:700;border-radius:50%}
.adm-flow__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs);display:flex;align-items:center;gap:var(--sp-sm)}
.adm-flow__title i{color:var(--c-accent);font-size:.85rem}
.adm-flow__text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}
.adm-flow__arrow{color:var(--c-accent);font-size:.85rem;padding:var(--sp-xs) 0}

.adm-cost__lead{font-size:.9rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-xl);max-width:700px;margin-left:auto;margin-right:auto;text-align:center}
.adm-cost{padding:var(--sp-2xl)}
.adm-cost__inner{display:grid;grid-template-columns:1fr;gap:var(--sp-xl)}
.adm-cost__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-md)}
.adm-cost__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.4rem;border-radius:50%}
.adm-cost__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.adm-cost__text{font-size:.85rem;color:var(--c-text-m);line-height:1.8}

.adm-visit{display:flex;flex-direction:column;gap:var(--sp-2xl);align-items:stretch}
.adm-visit__lead{font-size:.95rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-xl)}
.adm-visit__visual{width:100%}
.adm-visit__figure{margin:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md)}
.adm-visit__figure img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.adm-visit__points{display:flex;flex-direction:column;gap:var(--sp-lg);max-width:600px;margin:0 auto}
.adm-visit__point{display:flex;align-items:flex-start;gap:var(--sp-lg)}
.adm-visit__point>i{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--c-accent);font-size:1.2rem;background:var(--c-accent-l);border-radius:var(--r-md);margin-top:2px}
.adm-visit__point h3{font-family:var(--f-head);font-size:.92rem;font-weight:700;color:var(--c-primary);margin-bottom:2px}
.adm-visit__point p{font-size:.82rem;color:var(--c-text-m);line-height:1.6}
.adm-visit__cta{padding:var(--sp-2xl);text-align:center}
.adm-visit__cta-label{font-size:.85rem;color:var(--c-text-m);margin-bottom:var(--sp-md)}
.adm-visit__cta-btn{display:inline-flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-2xl);background:var(--c-accent);color:var(--c-white);font-family:var(--f-head);font-size:1.3rem;font-weight:700;border-radius:var(--r-full);transition:all var(--t-base)}
.adm-visit__cta-btn:hover{background:var(--c-accent-d);transform:translateY(-2px)}
.adm-visit__cta-btn i{font-size:.9rem}
.adm-visit__cta-note{font-size:.78rem;color:var(--c-text-l);margin-top:var(--sp-sm)}

.adm-contact-list{padding:var(--sp-md);margin-top:var(--sp-xs);margin-bottom:var(--sp-sm);width:100%;overflow:visible}
.adm-contact-list__heading{font-family:var(--f-head);font-size:.9rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-md);display:flex;align-items:center;gap:var(--sp-sm)}
.adm-contact-list__heading i{color:var(--c-accent)}
.adm-contact-list__subhead{font-family:var(--f-head);font-size:.85rem;font-weight:700;color:var(--c-text);margin-bottom:var(--sp-sm);padding-bottom:var(--sp-xs);border-bottom:2px solid var(--c-accent);display:inline-block}
.adm-contact-list__group{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--sp-md)}
.adm-contact-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:480px}
.adm-contact-table thead th{background:var(--c-primary);color:var(--c-white);padding:var(--sp-sm) var(--sp-md);text-align:left;font-family:var(--f-head);font-weight:700;font-size:.78rem}
.adm-contact-table tbody td{padding:var(--sp-sm) var(--sp-md);border-bottom:1px solid var(--c-border);color:var(--c-text-m);line-height:1.6}
.adm-contact-table tbody tr:hover{background:var(--c-accent-l)}
.adm-contact-table a{color:var(--c-accent);font-weight:700;white-space:nowrap}
.adm-contact-list__link{font-size:.82rem;color:var(--c-text-m);line-height:1.7;margin-bottom:var(--sp-sm)}
.adm-contact-list__btn{display:inline-flex;align-items:center;gap:var(--sp-sm);font-family:var(--f-head);font-size:.82rem;font-weight:700;color:var(--c-white);background:var(--c-accent);padding:var(--sp-sm) var(--sp-lg);border-radius:var(--r-full);text-decoration:none;transition:background var(--t-base)}
.adm-contact-list__btn:hover{background:var(--c-primary)}
.adm-contact-list__note{font-size:.78rem;color:var(--c-text-l);display:flex;align-items:center;gap:var(--sp-xs)}
.adm-contact-list__note i{color:var(--c-accent)}

/* ============================================================
   ACCESS PAGE
   ============================================================ */
.acc-section{padding:var(--sp-3xl) 0;background:var(--c-bg)}
.acc-section--alt{background:var(--c-surface)}
.acc-access{display:flex;flex-direction:column;gap:var(--sp-2xl)}
.acc-access__map-embed{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r-lg);display:block}
.acc-access__info{flex:1}
.acc-transport{display:grid;grid-template-columns:1fr;gap:var(--sp-md);margin-top:var(--sp-xl)}
.acc-transport__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-md);padding:var(--sp-xl)}
.acc-transport__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.3rem;border-radius:50%}
.acc-transport__title{font-family:var(--f-head);font-size:.92rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-xs)}
.acc-transport__text{font-size:.82rem;color:var(--c-text-m);line-height:1.8}
.acc-parking{display:flex;align-items:flex-start;gap:var(--sp-xl);padding:var(--sp-xl)}
.acc-parking__icon{font-size:2rem;color:var(--c-accent);flex-shrink:0}
.acc-parking__title{font-family:var(--f-head);font-size:1rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-sm)}
.acc-parking__text{font-size:.85rem;color:var(--c-text-m);line-height:1.8}
.acc-visit{display:grid;grid-template-columns:1fr;gap:var(--sp-lg)}
.acc-visit__card{padding:var(--sp-xl) var(--sp-lg);text-align:center}
.acc-visit__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--c-accent-l);color:var(--c-accent);font-size:1.2rem;border-radius:50%;margin-bottom:var(--sp-md);transition:all var(--t-base)}
.acc-visit__card:hover .acc-visit__icon{background:var(--c-accent);color:var(--c-white)}
.acc-visit__title{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-sm)}
.acc-visit__text{font-size:.82rem;color:var(--c-text-m);line-height:1.7}

.faq-list{display:flex;flex-direction:column;gap:var(--sp-md)}
.faq-item{overflow:hidden}
.faq-item__q{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-lg);cursor:pointer;font-size:.92rem;font-weight:700;color:var(--c-primary);list-style:none;transition:background var(--t-fast)}
.faq-item__q:hover{background:var(--c-surface)}
.faq-item__q::-webkit-details-marker{display:none}
.faq-item__badge{flex:0 0 32px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--c-accent);color:var(--c-white);font-family:var(--f-head);font-size:.85rem;font-weight:700;border-radius:50%}
.faq-item__badge--a{background:var(--c-primary)}
.faq-item__q span:not(.faq-item__badge){flex:1}
.faq-item__icon{font-size:.7rem;color:var(--c-text-l);transition:transform var(--t-base);margin-left:auto}
.faq-item[open] .faq-item__icon{transform:rotate(180deg)}
.faq-item__a{display:flex;gap:var(--sp-md);padding:0 var(--sp-lg) var(--sp-lg) var(--sp-lg)}
.faq-item__a p{font-size:.85rem;color:var(--c-text-m);line-height:1.8}
.faq-item__a a{color:var(--c-accent);font-weight:500}

/* ============================================================
   ANIMATIONS (sub)
   ============================================================ */
.med-section__content{opacity:0;transform:translateX(-24px)}
.med-section__visual{opacity:0;transform:translateX(24px)}
.med-section__inner--reverse .med-section__content{transform:translateX(24px)}
.med-section__inner--reverse .med-section__visual{transform:translateX(-24px)}
.med-highlight{opacity:0;transform:translateY(20px)}
.timeline__item{opacity:0;transform:translateX(-16px)}
.events__daily-item{opacity:0;transform:translateY(12px)}
.about-overview__content{opacity:0;transform:translateX(-24px)}
.about-overview__visual{opacity:0;transform:translateX(24px)}
.philosophy__main{opacity:0;transform:translateY(24px)}
.history-timeline__item{opacity:0;transform:translateX(-16px)}
.adm-contact-list,.adm-cost,.adm-visit__cta{opacity:1;transform:none}
.adm-flow__step{opacity:0;transform:translateY(24px)}
.adm-visit__point{opacity:0;transform:translateY(16px)}
.adm-visit__visual{opacity:0;transform:translateX(24px)}
.med-care__photo{opacity:0;transform:translateY(20px)}
.faq-item{opacity:0;transform:translateY(16px)}

/* ============================================================
   RESPONSIVE (sub)
   ============================================================ */
@media(min-width:768px){
  .page-hero__title{font-size:2rem}
  .med-section__inner{flex-direction:row;align-items:flex-start}
  .med-section__inner--reverse{flex-direction:row-reverse}
  .med-features{grid-template-columns:repeat(3,1fr)}
  .med-care__grid{grid-template-columns:1fr 1fr}
  .med-partners{grid-template-columns:repeat(3,1fr)}
  .meals__grid{grid-template-columns:repeat(3,1fr)}
  .events__grid{grid-template-columns:1fr 1fr}
  .events__daily-grid{grid-template-columns:repeat(3,1fr)}
  .about-overview{flex-direction:row;align-items:stretch}
  .about-overview__content{flex:1}
  .about-overview__visual{flex:0 0 38%}
  .philosophy__values{grid-template-columns:repeat(3,1fr)}
  .about-features{grid-template-columns:repeat(3,1fr)}
  .info-table th{width:160px}
  .about-interior{grid-template-columns:repeat(4,1fr)}
  .related-facilities{grid-template-columns:repeat(3,1fr)}
  .adm-compare{grid-template-columns:repeat(3,1fr)}
  .adm-requirements{grid-template-columns:1fr 1fr}
  .adm-cost__inner{grid-template-columns:repeat(3,1fr)}
  .adm-visit{flex-direction:row;align-items:flex-start;gap:var(--sp-2xl)}
  .adm-visit__content{flex:1;min-width:0}
  .adm-visit__visual{flex:0 0 40%;max-width:440px}
  .adm-visit__cta{flex:0 0 280px}
  .acc-access{flex-direction:row}
  .acc-access__map{flex:1}
  .acc-access__info{flex:1}
  .acc-transport{grid-template-columns:1fr 1fr}
  .acc-visit{grid-template-columns:repeat(3,1fr)}
}

@media(min-width:1024px){
  .page-hero__title{font-size:2.25rem}
  .med-care__grid{grid-template-columns:repeat(4,1fr)}
  .events__grid{grid-template-columns:repeat(4,1fr)}
  .events__daily-grid{grid-template-columns:repeat(6,1fr)}
  .adm-requirements{grid-template-columns:repeat(4,1fr)}
}

@media(prefers-reduced-motion:reduce){
  .med-section__content,.med-section__visual,
  .med-highlight,.timeline__item,.events__daily-item,
  .about-overview__content,.about-overview__visual,
  .philosophy__main,.history-timeline__item,
  .adm-flow__step,.adm-visit__point,.adm-visit__visual,
  .med-care__photo,.faq-item{
    opacity:1 !important;transform:none !important;
  }
}

/* ============================================================
   NEWS DETAIL PAGE
   ============================================================ */
.news-detail{padding:var(--sp-3xl) 0;background:var(--c-bg)}

/* Breadcrumb */
.breadcrumb{padding:var(--sp-md) 0;font-size:.78rem;color:var(--c-text-m)}
.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-xs)}
.breadcrumb__item{display:flex;align-items:center;gap:var(--sp-xs)}
.breadcrumb__item a{color:var(--c-accent);font-weight:500}
.breadcrumb__sep{color:var(--c-text-l);font-size:.65rem}

/* Article header */
.news-detail__header{margin-bottom:var(--sp-2xl);padding-bottom:var(--sp-xl);border-bottom:1px solid var(--c-border)}
.news-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-md)}
.news-detail__date{font-family:var(--f-accent);font-size:.85rem;color:var(--c-text-m)}
.news-detail__title{font-family:var(--f-head);font-size:1.5rem;font-weight:700;color:var(--c-primary);line-height:1.6}

/* Article body */
.news-detail__body{max-width:800px;margin:0 auto var(--sp-3xl)}
.news-detail__body > *:first-child{margin-top:0}
.news-detail__body > *:last-child{margin-bottom:0}
.news-detail__body p{font-size:.92rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-lg)}
.news-detail__body h1{font-family:var(--f-head);font-size:1.35rem;font-weight:700;margin:var(--sp-2xl) 0 var(--sp-lg);padding:var(--sp-md) var(--sp-lg);background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-l) 100%);color:var(--c-white);border-radius:var(--r-md);line-height:1.6}
.news-detail__body h2{font-family:var(--f-head);font-size:1.15rem;font-weight:700;color:var(--c-primary);margin:var(--sp-2xl) 0 var(--sp-md);padding-bottom:var(--sp-sm);border-bottom:2px solid var(--c-accent)}
.news-detail__body h3{font-family:var(--f-head);font-size:1rem;font-weight:700;color:var(--c-primary);margin:var(--sp-xl) 0 var(--sp-sm);padding-left:var(--sp-md);border-left:3px solid var(--c-accent)}
.news-detail__body h4{font-family:var(--f-head);font-size:.95rem;font-weight:700;color:var(--c-primary);margin:var(--sp-xl) 0 var(--sp-sm);position:relative;padding-left:1.2em}
.news-detail__body h4::before{content:'■';color:var(--c-accent);position:absolute;left:0;font-size:.75em}
.news-detail__body h5{font-family:var(--f-head);font-size:.88rem;font-weight:700;color:var(--c-primary);margin:var(--sp-lg) 0 var(--sp-sm)}
.news-detail__body h6{font-family:var(--f-head);font-size:.85rem;font-weight:700;color:var(--c-text-m);margin:var(--sp-lg) 0 var(--sp-sm)}
.news-detail__body ul,.news-detail__body ol{margin:0 0 var(--sp-lg) var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-xs)}
.news-detail__body ul{list-style:disc}
.news-detail__body ol{list-style:decimal}
.news-detail__body li{font-size:.88rem;color:var(--c-text);line-height:1.8}
.news-detail__body blockquote{margin:var(--sp-lg) 0;padding:var(--sp-lg) var(--sp-xl);background:var(--c-surface);border-left:4px solid var(--c-accent);border-radius:0 var(--r-md) var(--r-md) 0;font-size:.9rem;color:var(--c-text-m);line-height:2}
.news-detail__body blockquote p{color:var(--c-text-m);margin-bottom:var(--sp-sm)}
.news-detail__body blockquote p:last-child{margin-bottom:0}
.news-detail__body blockquote:has(> a[class*="btn"]),
.news-detail__body blockquote:has(> .ifd-hero-btn){background:none;border-left:none;padding:0;border-radius:0;font-size:inherit;color:inherit;line-height:inherit}
.news-detail__body blockquote:has(> a[class*="btn"]) br,
.news-detail__body blockquote:has(> .ifd-hero-btn) br{display:none}
.news-detail__body a{color:var(--c-accent);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.news-detail__body a:hover{color:var(--c-accent-d)}
.news-detail__body a.btn-outline,
.news-detail__body a.ifd-hero-btn,
.news-detail__body a[class*="btn"]{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-xl);border:2px solid var(--c-accent);background:none;color:var(--c-accent);font-weight:700;font-size:.88rem;border-radius:var(--r-full);text-decoration:none}
.news-detail__body img{max-width:100%;height:auto;display:block;border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin:var(--sp-lg) 0}
.news-detail__body figure{margin:var(--sp-xl) 0}
.news-detail__body figure img{margin:0 0 var(--sp-sm)}
.news-detail__body figcaption{font-size:.78rem;color:var(--c-text-m);text-align:center}
.news-detail__body table{width:100%;border-collapse:collapse;margin:var(--sp-lg) 0;font-size:.88rem}
.news-detail__body table th,.news-detail__body table td{padding:var(--sp-sm) var(--sp-md);border:1px solid var(--c-border);text-align:left;line-height:1.7}
.news-detail__body table th{background:var(--c-primary);color:var(--c-white);font-family:var(--f-head);font-weight:700;font-size:.82rem}
.news-detail__body table tr:nth-child(even) td{background:var(--c-surface)}
.news-detail__body hr{border:none;height:1px;background:var(--c-border);margin:var(--sp-2xl) 0}
.news-detail__body strong{font-weight:700;color:var(--c-primary)}
.news-detail__body em{font-style:italic}
.news-detail__body mark,.news-detail__body span[style*="background"]{border-radius:2px;padding:0 2px}
.news-detail__body pre{background:var(--c-surface);padding:var(--sp-lg);border-radius:var(--r-md);overflow-x:auto;margin:var(--sp-lg) 0;font-size:.85rem;line-height:1.7}
.news-detail__body code{background:var(--c-surface);padding:1px 6px;border-radius:var(--r-sm);font-size:.85em}
.news-detail__body pre code{background:none;padding:0}

/* Image + text side by side */
.news-detail__media-row{display:flex;flex-direction:column;gap:var(--sp-xl);margin-bottom:var(--sp-2xl)}
.news-detail__media-row figure{flex:0 0 45%;margin:0}
.news-detail__media-row figure img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-md);display:block;aspect-ratio:4/3;object-fit:cover}
.news-detail__media-row figure figcaption{font-size:.78rem;color:var(--c-text-m);text-align:center;margin-top:var(--sp-sm)}
.news-detail__media-row .news-detail__media-text{flex:1}
.news-detail__media-row .news-detail__media-text p{font-size:.92rem;color:var(--c-text);line-height:2;margin-bottom:var(--sp-md)}

/* Image only block */
.news-detail__gallery{display:grid;grid-template-columns:1fr;gap:var(--sp-lg);margin-bottom:var(--sp-2xl)}
.news-detail__gallery figure{margin:0}
.news-detail__gallery figure img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-md);display:block;aspect-ratio:16/10;object-fit:cover}
.news-detail__gallery figure figcaption{font-size:.78rem;color:var(--c-text-m);text-align:center;margin-top:var(--sp-sm)}

/* Back link */
.news-detail__back{text-align:center;padding-top:var(--sp-2xl);border-top:1px solid var(--c-border)}
.news-detail__back a{display:inline-flex;align-items:center;gap:var(--sp-sm);font-size:.88rem;font-weight:700;color:var(--c-accent)}
