/*
Theme Name: TT5 Umito Recruit
Template: twentytwentyfive
Description: ユミト訪問看護ステーション 採用ページ子テーマ
Version: 1.1
*/

/* ===== CSS VARIABLES ===== */
:root {
  --text-xs:   clamp(0.75rem,  0.7rem  + 0.25vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.8rem  + 0.35vw, 1rem);
  --text-base: clamp(1rem,     0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem    + 0.75vw, 1.5rem);
  --text-xl:   clamp(1.5rem,   1.2rem  + 1.25vw, 2.25rem);
  --text-2xl:  clamp(2rem,     1.2rem  + 2.5vw,  3.5rem);

  --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;
  --space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;
  --space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;

  --color-pink:#e8879b;
  --color-pink-light:#f5c6d0;
  --color-pink-lighter:#fef0f3;
  --color-pink-pale:#fff7f9;
  --color-pink-dark:#c9667a;
  --color-navy:#2c3e6b;
  --color-navy-light:#4a5d8a;
  --color-navy-dark:#1e2d50;

  --color-bg:#fffaf9;
  --color-surface:#ffffff;
  --color-surface-2:#fef5f3;
  --color-surface-warm:#fdf0ee;
  --color-divider:#f0ddd9;
  --color-border:#e8d5d0;
  --color-text:#2c2423;
  --color-text-muted:#7a6b68;
  --color-text-faint:#b5a5a0;

  --radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;
  --radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;
  --shadow-sm:0 1px 3px rgba(44,35,35,0.06);
  --shadow-md:0 4px 12px rgba(44,35,35,0.08);
  --shadow-lg:0 12px 32px rgba(44,35,35,0.10);
  --transition:180ms cubic-bezier(0.16,1,0.3,1);
  --font-display:'Zen Maru Gothic','Noto Sans JP',sans-serif;
  --font-body:'Noto Sans JP',sans-serif;
  --content-wide:1100px;
  --content-default:960px;
}

/* ===== RESETS (scoped) ===== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:80px;}
body{line-height:1.8;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);overflow-x:clip;overflow-wrap:break-word;line-break:strict;}
.admin-bar html{scroll-padding-top:112px;}
img,svg{display:block;max-width:100%;height:auto;}
button{cursor:pointer;background:none;border:none;font:inherit;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{line-height:1.3;font-family:var(--font-display);}
table{border-collapse:collapse;width:100%;}

/* ===== WP CORE BLOCK OVERRIDES ===== */
.wp-block-group{margin-top:0!important;margin-bottom:0!important;}
.wp-block-heading{margin-top:0!important;margin-bottom:0!important;}
.wp-block-paragraph{margin-top:0!important;margin-bottom:0!important;max-width:72ch;}
.wp-block-list{margin-top:0!important;margin-bottom:0!important;padding-left:0!important;}
.wp-block-table{margin-top:0!important;margin-bottom:0!important;}
.wp-block-image{margin-top:0!important;margin-bottom:0!important;}
.wp-block-buttons{margin-top:0!important;margin-bottom:0!important;}
.wp-block-button{margin-top:0!important;margin-bottom:0!important;}
.wp-block-separator{margin-top:0!important;margin-bottom:0!important;}

/* Scoped list-style reset */
.hero ul,.features ul,.work__list,.atmosphere__points,.mobile-overlay__nav{list-style:none;padding:0;margin:0;}

/* ===== UTILITIES ===== */
.container{max-width:var(--content-wide);margin-inline:auto;padding-inline:var(--space-4);}
.container--narrow{max-width:var(--content-default);margin-inline:auto;padding-inline:var(--space-4);}
.section-padding{padding-block:clamp(var(--space-12),6vw,var(--space-24));}
.text-center{text-align:center;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}

.section-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--color-pink-dark);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--space-3) !important;}
.section-label::before{content:'';display:block;width:24px;height:2px;background:var(--color-pink);border-radius:2px;}
.section-title{font-size:var(--text-xl);font-weight:700;color:var(--color-navy);margin-bottom:var(--space-2) !important;}
.section-title:last-child{margin-bottom:var(--space-8) !important;}
.section-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-8) !important;}
.cta-section .section-label{margin-bottom:var(--space-2) !important;}
.cta-section p{margin-bottom:var(--space-4) !important;}

/* ===== ANIMATION ===== */
.fade-in{opacity:1;}
@supports(animation-timeline:scroll()){
  .fade-in{opacity:0;animation:revealFade linear both;animation-timeline:view();animation-range:entry 0% entry 80%;}
}
@keyframes revealFade{to{opacity:1;}}

/* ===== HEADER ===== */
/* Sticky must be on the template-part wrapper (direct child of wp-site-blocks) */
.wp-site-blocks > header.wp-block-template-part{position:sticky;top:0;z-index:100;}
.header{background:rgba(255,250,249,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-divider);transition:box-shadow 0.3s ease;}
.header.scrolled{box-shadow:var(--shadow-sm);}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);max-width:var(--content-wide);margin-inline:auto;}
.header__logo{display:flex;align-items:center;gap:var(--space-2);}
.header__logo a{display:flex;align-items:center;gap:var(--space-2);}
.header__logo svg{width:50px;height:50px;}
.header__logo-text{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--color-navy);line-height:1.2;}
.header__logo-text a{display:block;}
.header__logo-text small{display:block;font-size:0.65em;font-weight:400;color:var(--color-text-muted);}
.header__nav{display:flex;gap:var(--space-3);align-items:center;}
.header__nav a,.header__nav p a{font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);transition:color var(--transition);}
.header__nav a:hover,.header__nav p a:hover{color:var(--color-pink-dark);}
.header__nav .wp-block-paragraph{max-width:none;}
.header__cta-btn{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-pink);color:#fff!important;font-size:var(--text-xs);font-weight:600;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);transition:background var(--transition),transform var(--transition);}
.header__cta-btn:hover{background:var(--color-pink-dark);transform:translateY(-1px);}
.admin-bar .header{top:32px;}
@media(max-width:782px){.admin-bar .header{top:46px;}}

/* HAMBURGER BUTTON */
.hamburger{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius-md);position:relative;z-index:301;flex-shrink:0;}
.hamburger span{display:block;width:22px;height:2px;background:var(--color-navy);border-radius:2px;transition:all 0.3s ease;position:absolute;}
.hamburger span:nth-child(1){transform:translateY(-6px);}
.hamburger span:nth-child(2){transform:translateY(0);}
.hamburger span:nth-child(3){transform:translateY(6px);}
.hamburger.is-open span:nth-child(1){transform:rotate(45deg);}
.hamburger.is-open span:nth-child(2){opacity:0;}
.hamburger.is-open span:nth-child(3){transform:rotate(-45deg);}
@media(max-width:768px){
  .hamburger{display:flex;}
  .header__nav{display:none !important;}
}

/* MOBILE OVERLAY MENU */
.mobile-overlay{
  display:none;
  position:fixed;
  top:0;left:0;
  width:100vw;height:100vh;height:100dvh;
  z-index:300;
  background:rgba(255,250,249,0.98);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.mobile-overlay.is-open{display:block;}
.mobile-overlay__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:var(--space-8);
  gap:0;
}
.mobile-overlay__close{
  position:absolute;
  top:var(--space-4);
  right:var(--space-4);
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;
  border:none;
  padding:0;
  cursor:pointer;
  border-radius:var(--radius-md);
  z-index:1;
  transition:background var(--transition);
}
.mobile-overlay__close:hover,.mobile-overlay__close:active{background:var(--color-pink-lighter);}
.mobile-overlay__nav{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-3);
  list-style:none;
  padding:0;margin:0;
}
.mobile-overlay__nav li a{
  display:block;
  font-family:var(--font-display);
  font-size:var(--text-base);
  font-weight:600;
  color:var(--color-navy);
  padding:var(--space-1) var(--space-4);
  border-radius:var(--radius-md);
  transition:color var(--transition),background var(--transition);
  text-align:center;
}
.mobile-overlay__nav li a:hover,
.mobile-overlay__nav li a:active{
  color:var(--color-pink-dark);
  background:var(--color-pink-lighter);
}
.mobile-overlay__cta{
  margin-top:var(--space-5);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-3);
}
.mobile-overlay__cta .btn-primary{
  font-size:var(--text-sm);
  padding:var(--space-3) var(--space-8);
  width:auto;
}
.mobile-overlay__cta .btn-secondary{
  font-size:var(--text-sm);
  padding:var(--space-3) var(--space-8);
}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;min-height:80vh;display:flex;align-items:center;background:linear-gradient(135deg,var(--color-pink-pale) 0%,var(--color-surface-warm) 60%,var(--color-bg) 100%);}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__bg img,.hero__bg .wp-block-image{position:absolute;inset:0;}
.hero__bg .wp-block-image img{width:100%;height:100%;object-fit:cover;opacity:0.15;}
.hero__content{position:relative;z-index:1;max-width:var(--content-wide);margin-inline:auto;padding:clamp(var(--space-12),8vw,var(--space-24)) var(--space-4);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center;}
.hero__text{max-width:560px;}
.hero__tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);}
.hero__tag{display:inline-block;background:var(--color-pink);color:#fff;font-size:0.7rem;font-weight:600;padding:0.2em 0.7em;border-radius:var(--radius-full);}
.hero__tag--navy{background:var(--color-navy);}
.hero__catch{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-navy);line-height:1.35;margin-bottom:var(--space-4);}
.hero__catch em{font-style:normal;color:var(--color-pink-dark);}
.hero__desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.8;}
.hero__cta-group{display:flex;flex-wrap:wrap;gap:var(--space-3);}
.hero__cta-group .wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);}
.hero__cta-group .wp-block-button{margin:0;}
/* btn-primary / btn-secondary — standalone <a> (mobile overlay etc.) */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-pink);color:#fff;font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);transition:all var(--transition);box-shadow:0 4px 16px rgba(232,135,155,0.3);}
.btn-primary:hover{background:var(--color-pink-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(232,135,155,0.4);}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-navy);color:#fff;font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);transition:all var(--transition);}
.btn-secondary:hover{background:var(--color-navy-dark);transform:translateY(-2px);}
/* WP block button wrapper — reset leaked styles from .btn-primary/.btn-secondary */
div.wp-block-button.btn-primary,div.wp-block-button.btn-secondary{padding:0 !important;background:transparent !important;box-shadow:none !important;border-radius:0;display:inline-block;}
/* WP block button inner link */
.wp-block-button.btn-primary .wp-block-button__link,.wp-block-button.btn-primary .wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-pink) !important;color:#fff !important;font-size:var(--text-sm) !important;font-weight:600;padding-top:var(--space-3) !important;padding-right:var(--space-6) !important;padding-bottom:var(--space-3) !important;padding-left:var(--space-6) !important;border-radius:var(--radius-full);transition:all var(--transition);box-shadow:0 4px 16px rgba(232,135,155,0.3);text-decoration:none;}
.wp-block-button.btn-primary .wp-block-button__link:hover,.wp-block-button.btn-primary .wp-element-button:hover{background:var(--color-pink-dark) !important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(232,135,155,0.4);}
.wp-block-button.btn-secondary .wp-block-button__link,.wp-block-button.btn-secondary .wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-navy) !important;color:#fff !important;font-size:var(--text-sm) !important;font-weight:600;padding-top:var(--space-3) !important;padding-right:var(--space-6) !important;padding-bottom:var(--space-3) !important;padding-left:var(--space-6) !important;border-radius:var(--radius-full);transition:all var(--transition);text-decoration:none;}
.wp-block-button.btn-secondary .wp-block-button__link:hover,.wp-block-button.btn-secondary .wp-element-button:hover{background:var(--color-navy-dark) !important;transform:translateY(-2px);}
.hero__image{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;}
.hero__image img,.hero__image .wp-block-image{height:100%;}
.hero__image .wp-block-image img{width:100%;height:100%;object-fit:cover;}
@media(max-width:768px){
  .hero{min-height:auto;}
  .hero__content{grid-template-columns:1fr;padding-top:var(--space-8);}
  .hero__image{order:-1;max-height:300px;}
  .hero__catch{font-size:clamp(1.4rem,1rem + 3vw,2rem);}
}

/* ===== FEATURES ===== */
.features{background:var(--color-surface);}
.features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);}
.feature-card{background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--space-6);transition:transform var(--transition),box-shadow var(--transition);}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.feature-card__icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-pink-lighter);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4) !important;font-size:1.4rem;}
.feature-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-navy);margin-bottom:var(--space-2) !important;}
.feature-card__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;}
@media(max-width:768px){.features__grid{grid-template-columns:1fr;}}

/* ===== WORK ===== */
.work{background:var(--color-bg);}
.work__layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start;}
.work__image{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-md);position:sticky;top:100px;}
.work__image img,.work__image .wp-block-image img{width:100%;height:auto;object-fit:cover;}
.work h3.wp-block-heading{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-navy);margin-bottom:var(--space-4) !important;}
.work__tip{background:var(--color-pink-lighter);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-6);}
.work__tip p{font-size:var(--text-sm);line-height:1.7;margin:0;}
.work__tip strong{color:var(--color-navy);display:inline-flex;align-items:center;gap:var(--space-2);}
.work__list li{position:relative;padding-left:var(--space-6);padding-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-text);line-height:1.7;}
.work__list li::before{content:'';position:absolute;left:0;top:0.5em;width:8px;height:8px;border-radius:50%;background:var(--color-pink);}
@media(max-width:768px){.work__layout{grid-template-columns:1fr;}.work__image{position:static;}}

/* ===== DAILY ===== */
.daily{background:var(--color-surface-warm);}
.timeline{position:relative;max-width:700px;margin:0 auto;}
.timeline::before{content:'';position:absolute;left:24px;top:0;bottom:0;width:2px;background:var(--color-pink-light);}
.timeline__item{position:relative;padding-left:64px;padding-bottom:var(--space-6);}
.timeline__item::before{content:'';position:absolute;left:14px;top:2px;width:22px;height:22px;border-radius:50%;background:var(--color-pink);border:3px solid var(--color-surface-warm);}
.timeline__time{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-navy);}
.timeline__desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1);}

/* ===== APPEAL ===== */
.appeal{background:var(--color-surface);}
.appeal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.appeal-card{background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center;transition:transform var(--transition),box-shadow var(--transition);border:1px solid rgba(232,135,155,0.12);}
.appeal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.appeal-card__num{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;color:var(--color-pink);margin-bottom:var(--space-2) !important;}
.appeal-card__icon{font-size:0;line-height:0;margin-bottom:var(--space-3) !important;}
.appeal-card__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-navy);margin-bottom:var(--space-2) !important;line-height:1.4;}
.appeal-card__desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.7;}
@media(max-width:768px){.appeal__grid{grid-template-columns:1fr;}}

/* ===== ATMOSPHERE ===== */
.atmosphere{background:var(--color-surface);}
.atmosphere__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:center;}
.atmosphere__img{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-md);}
.atmosphere__img img,.atmosphere__img .wp-block-image img{width:100%;height:100%;object-fit:cover;}
.atmosphere__points li{position:relative;padding-left:var(--space-6);padding-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-text);line-height:1.7;}
.atmosphere__points li::before{content:'';position:absolute;left:2px;top:0.55em;width:10px;height:10px;background:var(--color-pink);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain;}
@media(max-width:768px){.atmosphere__grid{grid-template-columns:1fr;}}

/* ===== COMPANY ===== */
.company{background:var(--color-bg);}
.company__table{width:100%;max-width:700px;margin:0 auto;}
.wp-block-table.company__table{margin:0 auto;}
.wp-block-table.company__table table{border-collapse:collapse;width:100%;}
.company__table tr,.wp-block-table.company__table tr{border-bottom:1px solid var(--color-divider);}
.company__table th,.wp-block-table.company__table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--color-navy);width:140px;vertical-align:top;background:var(--color-pink-pale);}
.company__table td,.wp-block-table.company__table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text);vertical-align:top;}

/* ===== RECRUIT TABLE ===== */
.recruit{background:var(--color-surface-warm);}
.recruit__table{width:100%;max-width:800px;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);}
.wp-block-table.recruit__table{margin:0 auto;}
.wp-block-table.recruit__table table{border-collapse:collapse;width:100%;}
.recruit__table tr,.wp-block-table.recruit__table tr{border-bottom:1px solid var(--color-divider);}
.recruit__table tr:last-child,.wp-block-table.recruit__table tr:last-child{border-bottom:none;}
.recruit__table th,.wp-block-table.recruit__table th{text-align:left;padding:var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--color-navy);width:150px;vertical-align:top;background:var(--color-pink-lighter);}
.recruit__table td,.wp-block-table.recruit__table td{padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text);vertical-align:top;line-height:1.8;}
.recruit__table td strong,.wp-block-table.recruit__table td strong{color:var(--color-pink-dark);font-weight:600;}
.recruit__table td small,.wp-block-table.recruit__table td small{font-size:var(--text-xs);color:var(--color-text-muted);}
@media(max-width:768px){
  .recruit__table th,.recruit__table td,
  .wp-block-table.recruit__table th,.wp-block-table.recruit__table td{display:block;width:100%;}
  .recruit__table th,.wp-block-table.recruit__table th{padding-bottom:var(--space-1);}
  .recruit__table td,.wp-block-table.recruit__table td{padding-top:var(--space-1);}
}

/* SALARY HIGHLIGHT */
.salary-highlight{display:block;background:var(--color-pink-lighter);padding:var(--space-3);border-radius:var(--radius-md);margin-top:var(--space-2);}

/* ===== CTA ===== */
.cta-section{background:linear-gradient(135deg,var(--color-navy) 0%,var(--color-navy-light) 100%);color:#fff;text-align:center;}
.cta-section .section-title{color:#fff;}
.cta-section p,.cta-section .wp-block-paragraph{color:rgba(255,255,255,0.8);margin:0 auto var(--space-6);font-size:var(--text-sm);max-width:72ch;}
.cta-section .wp-block-button.btn-primary .wp-block-button__link,.cta-section .wp-block-button.btn-primary .wp-element-button{background:var(--color-pink) !important;font-size:var(--text-base) !important;padding-top:var(--space-4) !important;padding-right:var(--space-8) !important;padding-bottom:var(--space-4) !important;padding-left:var(--space-8) !important;}
.cta-section .btn-primary:hover,.cta-section .wp-block-button.btn-primary .wp-block-button__link:hover{background:var(--color-pink-dark);}
.cta__steps{display:flex;justify-content:center;gap:var(--space-4) !important;margin-bottom:var(--space-8);flex-wrap:wrap;}
.cta__steps p{margin:0 !important;max-width:none !important;}
.cta__step{display:flex;align-items:center;gap:var(--space-2) !important;font-size:var(--text-sm);color:rgba(255,255,255,0.9);}
.cta__step-num{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;}
.cta__arrow{color:rgba(255,255,255,0.3);font-size:var(--text-lg);}
.cta__phone{margin-top:var(--space-6);font-size:var(--text-sm);color:rgba(255,255,255,0.7);}
.cta__phone a{color:#fff;font-size:var(--text-lg);font-weight:700;font-family:var(--font-display);}

/* ===== FOOTER ===== */
.footer{background:var(--color-navy-dark);color:rgba(255,255,255,0.6);padding:var(--space-8) var(--space-4);text-align:center;}
.footer .wp-block-paragraph{color:rgba(255,255,255,0.6);max-width:none;}
.footer__logo{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:#fff;margin-bottom:var(--space-2);}
.footer__info{font-size:var(--text-xs);margin-bottom:var(--space-4);line-height:1.8;}
.footer__copy{font-size:var(--text-xs);color:rgba(255,255,255,0.35);}

/* ===== MOBILE CTA ===== */
.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-divider);box-shadow:0 -4px 16px rgba(0,0,0,0.06);}
.mobile-cta .btn-primary{width:100%;justify-content:center;font-size:var(--text-base);padding:var(--space-3);}
@media(max-width:768px){.mobile-cta{display:block;}body{padding-bottom:72px;}}
@media(max-width:768px){.cta__steps{flex-direction:column;align-items:center;gap:var(--space-2);}.cta__arrow{transform:rotate(90deg);}}

/* ===== CSS ICONS (Lucide replacements for block validation) ===== */

/* Feature card icon base */
.feature-card__icon::before{content:'';display:block;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center;}
.features__grid>.wp-block-group:nth-child(1) .feature-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9667a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");}
.features__grid>.wp-block-group:nth-child(2) .feature-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9667a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 2v2'/%3E%3Cpath d='M5 2v2'/%3E%3Cpath d='M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1'/%3E%3Cpath d='M8 15a6 6 0 0 0 12 0v-3'/%3E%3Ccircle cx='20' cy='10' r='2'/%3E%3C/svg%3E");}
.features__grid>.wp-block-group:nth-child(3) .feature-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9667a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16'/%3E%3Cpath d='m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91'/%3E%3Cpath d='m2 15 6 6'/%3E%3Cpath d='m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95'/%3E%3C/svg%3E");}

/* Appeal card icon base */
.appeal-card__icon::before{content:'';display:block;width:32px;height:32px;background-size:contain;background-repeat:no-repeat;background-position:center;margin:0 auto;}
.appeal__grid>.wp-block-group:nth-child(1) .appeal-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8879b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='m9 16 2 2 4-4'/%3E%3C/svg%3E");}
.appeal__grid>.wp-block-group:nth-child(2) .appeal-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8879b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18.5' cy='17.5' r='3.5'/%3E%3Ccircle cx='5.5' cy='17.5' r='3.5'/%3E%3Ccircle cx='15' cy='5' r='1'/%3E%3Cpath d='M12 17.5V14l-3-3 4-3 2 3h2'/%3E%3C/svg%3E");}
.appeal__grid>.wp-block-group:nth-child(3) .appeal-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8879b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M16 3.128a4 4 0 0 1 0 7.744'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3C/svg%3E");}
.appeal__grid>.wp-block-group:nth-child(4) .appeal-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8879b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='12' x='2' y='6' rx='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M6 12h.01M18 12h.01'/%3E%3C/svg%3E");}
.appeal__grid>.wp-block-group:nth-child(5) .appeal-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8879b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 7h6v6'/%3E%3Cpath d='m22 7-8.5 8.5-5-5L2 17'/%3E%3C/svg%3E");}
.appeal__grid>.wp-block-group:nth-child(6) .appeal-card__icon::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8879b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719'/%3E%3Cpath d='M7.828 13.07A3 3 0 0 1 12 8.764a3 3 0 0 1 5.004 2.224 3 3 0 0 1-.832 2.083l-3.447 3.62a1 1 0 0 1-1.45-.001z'/%3E%3C/svg%3E");}

/* Button icons (white) */
.hero__cta-group .btn-primary .wp-block-button__link::before,.hero__cta-group .btn-secondary .wp-block-button__link::before,.header__cta-btn::before,.cta-section .btn-primary .wp-block-button__link::before,.cta__phone a[href^="tel:"]::before{content:'';display:inline-flex;background-size:contain;background-repeat:no-repeat;flex-shrink:0;vertical-align:middle;}
.hero__cta-group .btn-primary .wp-block-button__link::before{width:18px;height:18px;margin-right:var(--space-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E");}
.hero__cta-group .btn-secondary .wp-block-button__link::before{width:18px;height:18px;margin-right:var(--space-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");}
.header__cta-btn::before{width:14px;height:14px;margin-right:var(--space-1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E");}
.cta-section .btn-primary .wp-block-button__link::before{width:20px;height:20px;margin-right:var(--space-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719'/%3E%3C/svg%3E");}
.cta__phone a[href^="tel:"]::before{width:18px;height:18px;margin-right:var(--space-1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");}

/* CTA arrow icons */
.cta__arrow::before{content:'';display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;opacity:0.3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");}

/* Work tip & salary highlight lightbulb */
.work__tip strong::before,.salary-highlight strong[style*="display"]::before{content:'';display:inline-flex;width:18px;height:18px;background-size:contain;background-repeat:no-repeat;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8879b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E");}
.salary-highlight strong[style*="display"]::before{width:16px;height:16px;}

/* Header logo SVG via CSS */
.header__logo-img{height:50px;width:auto;margin:0 !important;}
.header__logo-img figure,.header__logo-img.wp-block-image{margin:0;}
.header__logo-img img{height:50px !important;width:auto !important;max-width:180px;object-fit:contain;border-radius:var(--radius-lg);}
/* Fallback SVG when no image is set */
.header__logo-img a:has(img[src=""])::before,.header__logo-img a:has(img:not([src]))::before{content:'';display:block;width:50px;height:50px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='50' height='50' rx='12' fill='%232c3e6b'/%3E%3Cpath d='M14 32 L20 16 L25 28 L30 16 L36 32' stroke='%23e8879b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3Ccircle cx='25' cy='37' r='2.5' fill='%23e8879b'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;}

/* ===== PARENT THEME (TT5) OVERRIDES ===== */

/* 1. Body font-weight & letter-spacing */
body{font-weight:400!important;letter-spacing:0!important;}

/* 2. Link text-decoration (parent uses !important) */
a{text-decoration:none!important;text-decoration-thickness:initial;text-underline-offset:initial;}
a:hover{text-decoration:none!important;}

/* 3. Headings: letter-spacing, text-wrap, font-size */
h1,h2,h3,h4,h5,h6,.wp-block-heading{letter-spacing:0!important;text-wrap:auto;}
/* Removed: h*.wp-block-heading font-size:inherit — theme.json :where() rule handles this at lower specificity */

/* 4. List item margin (parent sets 0.5rem) */
.wp-block-list li{margin-top:0!important;}

/* 5. Button defaults (parent sets padding/font-size/background) */
:root :where(.wp-element-button,.wp-block-button__link){font-size:inherit;font-weight:inherit;padding:inherit;letter-spacing:0;background-color:transparent;color:inherit;border-radius:var(--radius-full);}

/* 6. wp-block-buttons gap */
:root :where(.wp-block-buttons-is-layout-flex),:root :where(.wp-block-buttons-is-layout-grid){gap:var(--space-3);}
:root :where(.wp-block-buttons-is-layout-flow)>*{margin-block-start:0;}

/* 7. Figure margin reset */
.hero__bg figure,.hero__image figure,.work__image figure,.atmosphere__img figure{margin:0;}
figure.wp-block-image{margin:0;}

/* 8. wp-site-blocks padding + overflow for sticky header */
.wp-site-blocks{padding:0!important;overflow:visible!important;}
.wp-site-blocks>*{overflow:visible;}

/* 9. Grid/flex container children margin reset */
.hero__content>*,.features__grid>*,.work__layout>*,.appeal__grid>*,.atmosphere__grid>*,.timeline>*{margin-block-start:0!important;}
.feature-card>*,.appeal-card>*,.timeline__item>*{margin-block-start:0!important;}

/* 10. Paragraph max-width in specific contexts */
.cta__step .wp-block-paragraph,.cta__arrow,.cta__phone .wp-block-paragraph,.header__nav .wp-block-paragraph,.hero__tags .wp-block-paragraph{max-width:none;}
.footer .wp-block-paragraph,.cta-section .wp-block-paragraph{max-width:none;}

/* 11. Table border reset from parent */
.wp-block-table td,.wp-block-table th{border:none;}
.wp-block-table thead{border-bottom:none;}
.wp-block-table tfoot{border-top:none;}

/* ===== iOS SAFARI MOBILE TEXT FIXES (補足I) ===== */

/* I-1: flex子要素の min-width:0（iOS Safari テキスト折り返し対策） */
.hero__tags>*,.hero__cta-group>*,.header__logo>*,.header__inner>*,.header__nav>*,.cta__steps>*,.cta__step>*{min-width:0;}

/* I-4: カード要素の width:100% */
.feature-card,.appeal-card{width:100%;}

/* I-2, I-3, I-5: モバイル専用テキスト対策 */
@media(max-width:768px){
  /* I-3: デスクトップ用<br>のモバイル非表示（hero__catchは句読点改行を維持するため除外） */
  .hero__desc br,.work__tip br,.appeal-card__title br,.cta-section>.wp-block-group>p br{display:none;}

  /* CTA電話セクション中央寄せ */
  .cta__phone,.cta__phone p{text-align:center !important;}

  /* I-2: 日本語テキストの text-align:justify */
  .hero__desc,.feature-card__desc,.appeal-card__desc,.section-subtitle,.work__tip p,.cta-section p{text-align:justify;font-feature-settings:"palt" 1;letter-spacing:-0.04em;}

  /* I-5: 最後の1文字改行バグ対策 */
  .feature-card__desc::after,.appeal-card__desc::after,.hero__desc::after,.section-subtitle::after,.work__tip p::after{content:'.';display:inline-block;width:0;font-size:0;color:transparent;}
}

/* ===== EDITOR-ONLY: hero background image selectable ===== */
.editor-styles-wrapper .hero__bg{
  position:relative;
  inset:auto;
  z-index:auto;
  max-height:120px;
  overflow:hidden;
  border:2px dashed #e8879b;
  border-radius:8px;
  margin-bottom:12px;
}
.editor-styles-wrapper .hero__bg::before{
  content:'▼ 背景画像（クリックして「置換」で変更）';
  display:block;
  text-align:center;
  font-size:11px;
  color:#7a6b68;
  background:rgba(255,247,249,0.9);
  padding:4px 0;
  letter-spacing:0.05em;
}
.editor-styles-wrapper .hero__bg img,
.editor-styles-wrapper .hero__bg .wp-block-image{
  position:relative;
  inset:auto;
}
.editor-styles-wrapper .hero__bg .wp-block-image img{
  opacity:0.5;
  max-height:80px;
  object-fit:cover;
}
