@charset "UTF-8";
/*! ネクストライフホーム仙台 - built by scss/build-css.php  DO NOT EDIT DIRECTLY */

/* ============================================================
   BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;padding:0;
  font-family:'Noto Sans JP', sans-serif;
  font-weight:400;
  color:#3A3A3A;
  background:#FAF8F3;
  line-height:2;
  font-size:16px;
  letter-spacing:.04em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;transition:.3s;}
ul{list-style:none;margin:0;padding:0;}
p{margin:0 0 1.6em;}
p:last-child{margin-bottom:0;}

/* ---------- layout ---------- */
.inner{width:90%;max-width:1120px;margin:0 auto;}
.inner-n{width:90%;max-width:960px;margin:0 auto;}
.sec{padding:110px 0;}
.sec-s{padding:80px 0;}
.bg-gray{background:#F1F3EF;}
.bg-pale{background:#EDF4EA;}
.bg-white{background:#FFFFFF;}
.bg-blue{background:#EAF1F8;}

/* ---------- 見出し（EN大 + JP小） ---------- */
.ttl{margin:0 0 46px;}
.ttl .en{
  display:block;
  font-family:'Cormorant Garamond', serif;
  font-size:2.6rem;
  font-weight:600;
  letter-spacing:.06em;
  color:#3F7A47;
  line-height:1.2;
  font-variant:small-caps;
}
.ttl .jp{
  display:block;
  font-family:'Zen Maru Gothic', sans-serif;
  font-size:.92rem;
  font-weight:500;
  letter-spacing:.16em;
  color:#2C5A8A;
  margin-top:6px;
}
.ttl.c{text-align:center;}
.ttl.line{border-bottom:1px solid #DEDED8;padding-bottom:14px;}
.ttl.wh .en{color:#FFFFFF;}
.ttl.wh .jp{color:#EAF1F8;}

.lead{
  font-family:'Zen Maru Gothic', sans-serif;
  font-size:1.45rem;
  font-weight:500;
  line-height:2;
  letter-spacing:.06em;
  color:#2F6042;
  margin:0 0 32px;
}
.lead-c{text-align:center;}
@media (max-width: 768px){
.lead-c{text-align:left;}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-width:250px;padding:16px 34px;
  font-family:'Zen Maru Gothic', sans-serif;font-size:.92rem;font-weight:500;letter-spacing:.1em;
  background:#3F7A47;color:#FFFFFF;
  border:1px solid #3F7A47;
  border-radius:999px;
}
.btn:hover{background:#FFFFFF;color:#2F6042;}
.btn .ar{font-size:.75em;transform:translateY(1px);}
.btn-blue{background:#2C5A8A;border-color:#2C5A8A;}
.btn-blue:hover{background:#FFFFFF;color:#2C5A8A;}
.btn-line{background:transparent;color:#2F6042;}
.btn-line:hover{background:#3F7A47;color:#FFFFFF;}
.btn-wh{background:#FFFFFF;color:#2F6042;border-color:#FFFFFF;}
.btn-wh:hover{background:transparent;color:#FFFFFF;border-color:#FFFFFF;}

/* ---------- fade in ---------- */
.fade{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease;}
.fade.in{opacity:1;transform:none;}

/* ---------- SP改行制御 ---------- */
.copy{text-align:inherit;}
.br_pc{display:inline;}
.br_sp{display:none;}

@media (max-width: 768px){
.br_pc{display:none;}
  .br_sp{display:inline;}
  .copy{text-align:left;}
  .sec{padding:64px 0;}
  .sec-s{padding:52px 0;}
  .ttl{margin-bottom:32px;}
  .ttl .en{font-size:2rem;}
  .lead{font-size:1.16rem;}
  body{font-size:15px;}
}

/* ---------- ページトップ ---------- */
#pagetop{
  position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;
  background:#3F7A47;color:#FFFFFF;display:flex;align-items:center;justify-content:center;
  z-index:900;opacity:0;visibility:hidden;transition:.35s;border:none;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
#pagetop.show{opacity:1;visibility:visible;}
#pagetop:hover{background:#2F6042;}
#pagetop::before{
  content:"";width:11px;height:11px;border-top:2px solid #FFFFFF;border-left:2px solid #FFFFFF;
  transform:rotate(45deg) translate(2px,2px);
}

/* ============================================================
   HEADER
   ============================================================ */
#header{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  padding:14px 3%;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(0,0,0,.05);
  transition:.4s;
}
#header.on-hero{background:rgba(255,255,255,.90);}

.logo{display:flex;align-items:center;gap:12px;}
.logo .mark{
  width:52px;height:52px;border-radius:50%;overflow:hidden;
  background:linear-gradient(140deg,#6FA96B,#2C5A8A);
  display:flex;align-items:center;justify-content:center;
  color:#FFFFFF;font-family:'Zen Maru Gothic', sans-serif;font-size:.58rem;font-weight:700;
  letter-spacing:.02em;text-align:center;line-height:1.25;flex-shrink:0;
}
.logo .mark img{width:100%;height:100%;object-fit:cover;}
.logo .txt{line-height:1.3;}
.logo .txt b{
  display:block;font-family:'Zen Maru Gothic', sans-serif;font-size:1.02rem;font-weight:700;
  letter-spacing:.06em;color:#1D3F63;
}
.logo .txt span{
  display:block;font-size:.62rem;letter-spacing:.14em;color:#3F7A47;
  font-family:'Zen Maru Gothic', sans-serif;
}

#gnav ul{display:flex;align-items:center;gap:30px;}
#gnav a{
  font-family:'Zen Maru Gothic', sans-serif;font-size:.88rem;font-weight:500;letter-spacing:.06em;
  color:#3A3A3A;position:relative;padding:6px 0;
  white-space:nowrap; /* 項目名の途中で折り返させない */
}
#gnav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;
  background:#3F7A47;transition:.3s;
}
#gnav a:hover::after,#gnav a.current::after{width:100%;}
#gnav a.current{color:#2F6042;}
#gnav .sp-cta{display:none;}

.h-cta{
  display:inline-flex;flex-direction:column;align-items:center;
  background:#3F7A47;color:#FFFFFF;border-radius:999px;
  padding:9px 26px;font-family:'Zen Maru Gothic', sans-serif;line-height:1.3;
}
.h-cta b{font-size:1.02rem;letter-spacing:.04em;}
.h-cta span{font-size:.6rem;letter-spacing:.1em;opacity:.9;}
.h-cta:hover{background:#2F6042;}

#hamb{display:none;width:44px;height:44px;border:none;background:transparent;cursor:pointer;position:relative;}
#hamb span{
  position:absolute;left:9px;width:26px;height:2px;background:#1D3F63;
  transition:.35s;border-radius:2px;
}
#hamb span:nth-child(1){top:15px;}
#hamb span:nth-child(2){top:21px;}
#hamb span:nth-child(3){top:27px;}
#hamb.open span:nth-child(1){top:21px;transform:rotate(35deg);}
#hamb.open span:nth-child(2){opacity:0;}
#hamb.open span:nth-child(3){top:21px;transform:rotate(-35deg);}

/* ------------------------------------------------------------
   1240px以下：ロゴ＋ナビ6項目＋電話CTAが横幅に収まらず
   段落ちするため、ヘッダーを圧縮する。
   （1024px 以下は直後の @include tab でハンバーガーに切り替わる）
   ------------------------------------------------------------ */
@media (max-width: 1240px){
#header{padding:12px 2.2%;}
  .logo{gap:9px;}
  .logo .mark{width:44px;height:44px;}
  .logo .txt b{font-size:.9rem;letter-spacing:.03em;}
  .logo .txt span{font-size:.55rem;letter-spacing:.1em;}
  #gnav ul{gap:17px;}
  #gnav a{font-size:.8rem;letter-spacing:.02em;}
  .h-cta{padding:8px 18px;}
  .h-cta b{font-size:.94rem;}
  .h-cta span{display:none;} /* 受付時間はフッター・お問い合わせページに掲載 */
}

@media (max-width: 1024px){
#hamb{display:block;z-index:1002;}
  .h-cta{display:none;}
  #gnav{
    position:fixed;inset:0;background:#FAF8F3;
    display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transition:.4s;z-index:1001;
  }
  #gnav.open{opacity:1;visibility:visible;}
  #gnav ul{flex-direction:column;gap:26px;text-align:center;}
  #gnav a{font-size:1.08rem;}
  #gnav .sp-cta{display:block;margin-top:14px;}

  /* 電話番号ボタン
     ※ #gnav a（詳細度 1,0,1）が .btn（0,1,0）に勝ってしまうため、
       文字色・下線を明示的に上書きする */
  #gnav .sp-cta .btn{
    color:#FFFFFF;
    font-size:1.14rem;
    letter-spacing:.06em;
    padding:15px 34px;
  }
  #gnav .sp-cta .btn::after{display:none;}
  #gnav .sp-cta .btn:hover,
  #gnav .sp-cta .btn:focus{background:#2F6042;color:#FFFFFF;border-color:#2F6042;}
  #gnav .sp-cta .cta-note{
    display:block;margin-top:10px;
    font-family:'Zen Maru Gothic', sans-serif;font-size:.72rem;letter-spacing:.08em;color:#6B6B6B;
  }
}

/* ---------- 下層ページ見出し ---------- */
.page-head{
  position:relative;padding:190px 0 78px;text-align:center;
  background:linear-gradient(135deg,#EDF4EA,#EAF1F8);
  overflow:hidden;
}
.page-head::before{
  content:"";position:absolute;right:-70px;top:-70px;width:280px;height:280px;
  border-radius:50%;background:rgba(111,169,107,.18);
}
.page-head::after{
  content:"";position:absolute;left:-90px;bottom:-110px;width:260px;height:260px;
  border-radius:50%;background:rgba(124,178,220,.16);
}
.page-head .in{position:relative;z-index:2;}
.page-head .en{
  display:block;font-family:'Cormorant Garamond', serif;font-size:clamp(2.4rem,5vw,3.4rem);
  font-weight:600;color:#3F7A47;letter-spacing:.06em;font-variant:small-caps;line-height:1.2;
}
.page-head .jp{
  display:block;font-family:'Zen Maru Gothic', sans-serif;font-size:1rem;font-weight:500;
  letter-spacing:.18em;color:#2C5A8A;margin-top:10px;
}
.crumb{
  font-size:.72rem;letter-spacing:.08em;color:#6B6B6B;
  padding:16px 0;background:#FFFFFF;border-bottom:1px solid #DEDED8;
}
.crumb a:hover{color:#3F7A47;}

@media (max-width: 768px){
.page-head{padding:130px 0 56px;}
  .crumb{font-size:.68rem;}
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer{background:#1D3F63;color:#FFFFFF;padding:70px 0 30px;}
.f-top{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;margin-bottom:48px;}
.f-logo{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.f-logo .mark{
  width:58px;height:58px;border-radius:50%;flex-shrink:0;overflow:hidden;
  background:linear-gradient(140deg,#6FA96B,#7CB2DC);
  display:flex;align-items:center;justify-content:center;
  font-family:'Zen Maru Gothic', sans-serif;font-size:.6rem;font-weight:700;text-align:center;line-height:1.25;color:#FFFFFF;
}
.f-logo .mark img{width:100%;height:100%;object-fit:cover;}
.f-logo b{font-family:'Zen Maru Gothic', sans-serif;font-size:1.1rem;letter-spacing:.06em;display:block;}
.f-logo span{font-size:.64rem;letter-spacing:.14em;color:#A9C8A6;}
.f-info{font-size:.82rem;line-height:2.1;color:#D5DFE9;}
.f-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;align-self:start;}
.f-nav a{font-size:.84rem;color:#D5DFE9;letter-spacing:.06em;padding:5px 0;display:block;}
.f-nav a:hover{color:#6FA96B;}
.f-bot{border-top:1px solid rgba(255,255,255,.14);padding-top:24px;text-align:center;}
.f-bot .cp{font-family:'Cormorant Garamond', serif;font-size:.76rem;letter-spacing:.1em;color:#A9B8C9;}

@media (max-width: 768px){
.f-top{grid-template-columns:1fr;gap:32px;}
  #footer{padding:52px 0 26px;}
}

/* ============================================================
   COMPONENTS
   ============================================================ */

/* --- NEWS --- */
.news-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px;}
.news-list li{border-bottom:1px dotted #DEDED8;}
.news-list a{display:flex;align-items:center;gap:26px;padding:20px 6px;}
.news-list a:hover{background:rgba(111,169,107,.08);}
.news-list .date{
  font-family:'Cormorant Garamond', serif;font-size:1.05rem;letter-spacing:.08em;
  color:#2C5A8A;flex-shrink:0;
}
.news-list .cat{
  flex-shrink:0;font-family:'Zen Maru Gothic', sans-serif;font-size:.68rem;letter-spacing:.1em;
  background:#3F7A47;color:#FFFFFF;padding:4px 16px;border-radius:999px;
}
.news-list .ttx{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.more{font-family:'Zen Maru Gothic', sans-serif;font-size:.8rem;letter-spacing:.1em;color:#2C5A8A;}
.more:hover{color:#3F7A47;}

@media (max-width: 768px){
.news-list a{flex-wrap:wrap;gap:8px 14px;padding:16px 4px;}
  .news-list .ttx{white-space:normal;width:100%;font-size:.88rem;line-height:1.8;}
}

/* --- 2カラム（画像＋テキスト） --- */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.cols.rev .c-img{order:2;}
.cols .c-txt{font-size:.94rem;line-height:2.15;}
.cols .c-img img{width:100%;border-radius:14px;}

@media (max-width: 900px){
.cols{grid-template-columns:1fr;gap:34px;}
  .cols.rev .c-img{order:0;}
}

/* --- VALUE カード --- */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.vcard{
  background:#FFFFFF;border-radius:16px;padding:38px 30px;
  border:1px solid #DEDED8;position:relative;
  transition:.35s;
}
.vcard:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(47,96,66,.12);}
.vcard .no{
  font-family:'Cormorant Garamond', serif;font-size:1.5rem;color:#6FA96B;
  letter-spacing:.06em;display:block;line-height:1;
}
.vcard h3{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.14rem;font-weight:700;color:#2F6042;
  margin:10px 0 14px;letter-spacing:.06em;
}
.vcard p{font-size:.86rem;line-height:2;color:#6B6B6B;}

@media (max-width: 900px){
.vgrid{grid-template-columns:1fr 1fr;gap:18px;}
}
@media (max-width: 640px){
.vgrid{grid-template-columns:1fr;}
  .vcard{padding:28px 24px;}
}

/* --- 施設カード --- */
.hgrid{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
.hcard{background:#FFFFFF;border-radius:18px;overflow:hidden;border:1px solid #DEDED8;}
.hcard .thumb{aspect-ratio:3/2;overflow:hidden;}
.hcard .thumb img{width:100%;height:100%;object-fit:cover;}
.hcard .hd{padding:28px 34px 8px;}
.hcard .nm{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.5rem;font-weight:700;color:#1D3F63;
  letter-spacing:.06em;margin:0;
}
.hcard .nm small{display:block;font-size:.7rem;color:#3F7A47;letter-spacing:.14em;margin-bottom:4px;font-weight:500;}
.hcard .bd{padding:22px 34px 34px;}
.hcard .map{aspect-ratio:3/2;}
.hcard .map iframe{width:100%;height:100%;border:0;display:block;}

.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}
.tags li{
  font-family:'Zen Maru Gothic', sans-serif;font-size:.72rem;letter-spacing:.08em;
  background:#EDF4EA;color:#2F6042;
  padding:5px 14px;border-radius:999px;
}
.tags li.b{background:#EAF1F8;color:#2C5A8A;}

.dl{margin:0;font-size:.86rem;}
.dl div{display:flex;gap:14px;padding:11px 0;border-bottom:1px dotted #DEDED8;}
.dl dt{
  flex-shrink:0;width:78px;font-family:'Zen Maru Gothic', sans-serif;font-weight:500;
  color:#2F6042;letter-spacing:.06em;
}
.dl dd{margin:0;line-height:1.9;}

@media (max-width: 900px){
.hgrid{grid-template-columns:1fr;gap:30px;}
}
@media (max-width: 520px){
.hcard .hd,.hcard .bd{padding-left:22px;padding-right:22px;}
  .dl div{flex-direction:column;gap:2px;}
  .dl dt{width:auto;font-size:.78rem;}
}

/* --- STEP（入居の流れ） --- */
.steps{position:relative;}
.step{
  display:grid;grid-template-columns:96px 1fr;gap:32px;
  padding:0 0 46px;position:relative;
}
.step::before{
  content:"";position:absolute;left:47px;top:96px;bottom:0;width:2px;
  background:linear-gradient(180deg,#6FA96B,rgba(111,169,107,.25));
}
.step:last-child{padding-bottom:0;}
.step:last-child::before{display:none;}
.step .num{
  width:96px;height:96px;border-radius:50%;
  background:linear-gradient(140deg,#6FA96B,#2C5A8A);
  color:#FFFFFF;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond', serif;line-height:1;flex-shrink:0;
}
.step .num small{font-size:.6rem;letter-spacing:.18em;font-family:'Zen Maru Gothic', sans-serif;margin-bottom:5px;opacity:.9;}
.step .num b{font-size:2rem;font-weight:600;}
.step .bd{padding-top:8px;}
.step h3{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.28rem;font-weight:700;color:#2F6042;
  margin:0 0 12px;letter-spacing:.06em;
}
.step p{font-size:.9rem;line-height:2.1;color:#6B6B6B;}

@media (max-width: 640px){
.step{grid-template-columns:70px 1fr;gap:20px;padding-bottom:36px;}
  .step .num{width:70px;height:70px;}
  .step .num b{font-size:1.5rem;}
  .step::before{left:34px;top:70px;}
  .step h3{font-size:1.1rem;}
}

/* --- テーブル --- */
.tbl{width:100%;border-collapse:collapse;background:#FFFFFF;font-size:.88rem;}
.tbl th,.tbl td{border:1px solid #DEDED8;padding:17px 22px;text-align:left;line-height:1.95;vertical-align:top;}
.tbl th{
  background:#EDF4EA;font-family:'Zen Maru Gothic', sans-serif;font-weight:500;
  color:#2F6042;white-space:nowrap;width:210px;letter-spacing:.06em;
}
.tbl td small{display:block;font-size:.78rem;color:#6B6B6B;margin-top:4px;}

@media (max-width: 768px){
.tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%;}
  .tbl tr{margin-bottom:-1px;}
  .tbl th{width:100%;white-space:normal;border-bottom:none;}
  .tbl td{border-top:none;}
}

/* --- 料金表 --- */
.fee{width:100%;border-collapse:collapse;background:#FFFFFF;font-size:.9rem;}
.fee th,.fee td{border:1px solid #DEDED8;padding:16px 20px;line-height:1.9;}
.fee thead th{background:#2C5A8A;color:#FFFFFF;font-family:'Zen Maru Gothic', sans-serif;font-weight:500;letter-spacing:.1em;text-align:center;}
.fee tbody th{background:#EAF1F8;color:#1D3F63;font-family:'Zen Maru Gothic', sans-serif;font-weight:500;width:180px;text-align:left;white-space:nowrap;}
.fee td .yen{font-family:'Zen Maru Gothic', sans-serif;font-weight:700;color:#2F6042;font-size:1.05rem;}
.fee td small{display:block;color:#6B6B6B;font-size:.78rem;}

@media (max-width: 768px){
.fee thead{display:none;}
  .fee,.fee tbody,.fee tr,.fee th,.fee td{display:block;width:100%;}
  .fee tr{margin-bottom:-1px;}
  /* ※ .fee tbody th（詳細度 0-1-2）は上の .fee th（0-1-1）に勝ってしまうため、
        width を明示的に打ち消さないと 180px のまま＝背景が横半分だけになる */
  .fee tbody th{width:100%;white-space:normal;border-bottom:none;}
  .fee td{border-top:none;}
}

/* --- スケジュール（1日の流れ） --- */
.sch{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
.sch-box{background:#FFFFFF;border-radius:16px;padding:34px 34px 28px;border:1px solid #DEDED8;}
.sch-box h3{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.16rem;font-weight:700;color:#1D3F63;
  margin:0 0 20px;letter-spacing:.08em;padding-bottom:12px;border-bottom:2px solid #6FA96B;
}
.sch-list li{display:flex;gap:20px;padding:9px 0;border-bottom:1px dotted #DEDED8;font-size:.86rem;}
.sch-list li:last-child{border-bottom:none;}
.sch-list .t{
  flex-shrink:0;width:104px;font-family:'Cormorant Garamond', serif;font-size:.98rem;
  color:#3F7A47;letter-spacing:.04em;
}

@media (max-width: 900px){
.sch{grid-template-columns:1fr;gap:26px;}
}
@media (max-width: 520px){
.sch-box{padding:26px 22px 22px;}
  .sch-list .t{width:86px;font-size:.9rem;}
  .sch-list li{font-size:.82rem;gap:12px;}
}

/* --- FAQ --- */
.faq{border-top:1px solid #DEDED8;}
.faq-item{border-bottom:1px solid #DEDED8;}
.faq-q{
  display:flex;gap:18px;align-items:flex-start;width:100%;
  padding:24px 44px 24px 6px;background:transparent;border:none;cursor:pointer;
  font-family:'Zen Maru Gothic', sans-serif;font-size:.98rem;font-weight:500;color:#1D3F63;
  text-align:left;line-height:1.8;letter-spacing:.04em;position:relative;
}
.faq-q .mk{font-family:'Cormorant Garamond', serif;font-size:1.35rem;color:#6FA96B;line-height:1;flex-shrink:0;}
.faq-q::after{
  content:"";position:absolute;right:10px;top:32px;width:11px;height:11px;
  border-right:2px solid #3F7A47;border-bottom:2px solid #3F7A47;
  transform:rotate(45deg);transition:.3s;
}
.faq-item.open .faq-q::after{transform:rotate(-135deg);top:36px;}
.faq-a{display:none;padding:0 44px 26px 44px;font-size:.88rem;line-height:2.1;color:#6B6B6B;}
.faq-item.open .faq-a{display:block;}

@media (max-width: 640px){
.faq-q{font-size:.9rem;padding-right:36px;}
  .faq-a{padding-left:34px;padding-right:10px;font-size:.84rem;}
}

/* --- 3バナー --- */
.bnr3{display:grid;grid-template-columns:repeat(3,1fr);}
.bnr3 a{position:relative;display:block;overflow:hidden;}
.bnr3 .im{aspect-ratio:16/11;overflow:hidden;}
.bnr3 .im img{width:100%;height:100%;object-fit:cover;transition:.6s;}
.bnr3 a:hover .im img{transform:scale(1.06);}
.bnr3 .lb{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:76%;text-align:center;background:rgba(255,255,255,.95);
  padding:16px 10px 0;
}
.bnr3 .lb .en{
  font-family:'Cormorant Garamond', serif;font-size:1.35rem;font-weight:600;color:#1D3F63;
  letter-spacing:.08em;display:block;line-height:1.2;font-variant:small-caps;
}
.bnr3 .lb .jp{
  display:block;margin-top:12px;background:#3F7A47;color:#FFFFFF;
  font-family:'Zen Maru Gothic', sans-serif;font-size:.8rem;letter-spacing:.14em;padding:8px 0;
}

@media (max-width: 768px){
.bnr3{grid-template-columns:1fr;}
  .bnr3 .im{aspect-ratio:16/7;}
}

/* --- 帯（引用） --- */
.band{
  position:relative;padding:74px 0;text-align:center;color:#FFFFFF;
  background:linear-gradient(135deg,rgba(47,96,66,.9),rgba(44,90,138,.9)),
             linear-gradient(45deg,#6FA96B,#7CB2DC);
  background-size:cover;background-position:center;
}
.band .q{
  font-family:'Zen Maru Gothic', sans-serif;font-size:clamp(1.3rem,3.4vw,2.05rem);font-weight:500;
  letter-spacing:.1em;line-height:1.9;margin:0;
}
.band .n{font-size:.8rem;letter-spacing:.12em;opacity:.9;margin-top:16px;}
/* 語句の途中で折り返させない。SPでは項目ごとに改行する */
.band .n span{display:inline-block;}
.band .n .sep{margin:0 .2em;}

@media (max-width: 768px){
.band .n{letter-spacing:.06em;line-height:1.9;}
  .band .n span{display:block;}
  .band .n .sep{display:none;}
}

/* --- チェックリスト --- */
.checks li{
  position:relative;padding:9px 0 9px 34px;font-size:.92rem;line-height:1.9;
  border-bottom:1px dotted #DEDED8;
}
.checks li::before{
  content:"";position:absolute;left:6px;top:16px;width:13px;height:8px;
  border-left:2.5px solid #3F7A47;border-bottom:2.5px solid #3F7A47;
  transform:rotate(-45deg);
}
.checks.box{background:#FFFFFF;border-radius:16px;padding:34px 44px;border:1px solid #DEDED8;}

@media (max-width: 520px){
.checks.box{padding:26px 22px;}
}

/* --- 注意書き --- */
.att{font-size:.78rem;color:#C0504D;line-height:1.9;}
.note-s{font-size:.82rem;color:#6B6B6B;line-height:2;}

/* --- 幅広イメージ ---
   人物写真でも顔が切れないよう、極端な横長にはせず
   上寄りでトリミングする */
.wide-img{width:100%;aspect-ratio:16/6;overflow:hidden;}
.wide-img img{width:100%;height:100%;object-fit:cover;object-position:center 32%;}

@media (max-width: 768px){
.wide-img{aspect-ratio:16/9;}
}

/* ============================================================
   FRONT PAGE
   ============================================================ */

/* ---------- HERO（MV） ---------- */
#hero{
  position:relative;height:88vh;min-height:560px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:linear-gradient(135deg,#6FA96B,#7CB2DC 55%,#2C5A8A);
}
#hero .mv-bg{position:absolute;inset:0;z-index:0;}
#hero .mv-bg img{width:100%;height:100%;object-fit:cover;}

/* MVスライド（最大3枚・クロスフェード＋ゆっくりズーム） */
/* opacity のみで重ねてフェード（visibility を使うと切替時に背景が透ける） */
.mv-slide{
  position:absolute;inset:0;
  opacity:0;
  transition:opacity 1.6s ease;
  pointer-events:none;
}
.mv-slide.is-active{opacity:1;z-index:1;}
.mv-slide img{
  transform:scale(1.06);
  transition:transform 8s ease-out;
}
.mv-slide.is-active img{transform:scale(1);}

/* スライドが1枚だけのときは常時表示 */
.mv-bg:not([data-mv-slider]) .mv-slide{opacity:1;}
.mv-bg:not([data-mv-slider]) .mv-slide img{transform:none;transition:none;}

@media (prefers-reduced-motion: reduce){
  .mv-slide{transition:opacity .3s ease;}
  .mv-slide img{transform:none;transition:none;}
}

/* インジケーター */
.mv-dots{
  position:absolute;left:50%;bottom:96px;transform:translateX(-50%);
  z-index:3;display:flex;gap:10px;
}
.mv-dots button{
  width:9px;height:9px;padding:0;border:none;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.45);transition:.3s;
}
.mv-dots button.is-active{background:#FFFFFF;transform:scale(1.25);}
#hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(29,63,99,.42),rgba(47,96,66,.48));
}
.hero-in{position:relative;z-index:3;text-align:center;color:#FFFFFF;padding:0 6%;}
.hero-in .en{
  font-family:'Cormorant Garamond', serif;font-size:clamp(2.1rem,6.2vw,4.6rem);font-weight:500;
  letter-spacing:.04em;line-height:1.25;margin:0 0 22px;
  text-shadow:0 2px 24px rgba(0,0,0,.28);
}
.hero-in .jp{
  font-family:'Zen Maru Gothic', sans-serif;font-size:clamp(1rem,2.4vw,1.45rem);font-weight:500;
  letter-spacing:.12em;margin:0 0 8px;text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.hero-in .sub{
  font-size:.82rem;letter-spacing:.14em;opacity:.92;
  text-shadow:0 2px 14px rgba(0,0,0,.35);
  margin:0;
}
/* 語句の途中で改行させない（区切りは front-page.php で <span> 化している） */
.hero-in .sub span{display:inline-block;}
.hero-in .sub span + span{margin-left:1em;}
.hero-badge{
  display:inline-block;margin-bottom:26px;padding:8px 24px;
  border:1px solid rgba(255,255,255,.7);border-radius:999px;
  font-family:'Zen Maru Gothic', sans-serif;font-size:.78rem;letter-spacing:.14em;
  backdrop-filter:blur(2px);
}
.hero-wave{position:absolute;left:0;bottom:-1px;width:100%;line-height:0;z-index:2;}
.hero-wave svg{width:100%;height:auto;display:block;}

/* ---------- CONTACT CTA ---------- */
#contact-cta{
  position:relative;padding:100px 0;text-align:center;
  background:linear-gradient(135deg,rgba(47,96,66,.92),rgba(44,90,138,.92)),
             linear-gradient(45deg,#6FA96B,#7CB2DC);
  color:#FFFFFF;
}
#contact-cta .btns{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin:38px 0 26px;}
.cbtn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:320px;padding:22px 30px;background:#FFFFFF;border-radius:10px;
  font-family:'Zen Maru Gothic', sans-serif;line-height:1.4;color:#2F6042;
}
.cbtn b{font-size:1.5rem;letter-spacing:.04em;}
.cbtn span{font-size:.72rem;letter-spacing:.1em;color:#6B6B6B;margin-top:4px;}
.cbtn:hover{background:#EDF4EA;}
.cbtn.mail{background:#3F7A47;color:#FFFFFF;}
.cbtn.mail span{color:rgba(255,255,255,.85);}
.cbtn.mail:hover{background:#2F6042;}
#contact-cta .note{font-size:.8rem;letter-spacing:.06em;opacity:.92;line-height:2;}

@media (max-width: 768px){
.cbtn{min-width:0;width:100%;}
  #contact-cta .btns{gap:14px;}
  #hero{height:78vh;min-height:480px;}
  .mv-dots{bottom:70px;}

  /* MVコピーを狭い画面に収める */
  .hero-in{padding:0 5%;}
  .hero-badge{
    margin-bottom:20px;padding:7px 16px;
    font-size:.7rem;letter-spacing:.06em;
  }
  .hero-in .en{margin-bottom:16px;}
  .hero-in .jp{letter-spacing:.08em;}
  .hero-in .sub{font-size:.74rem;letter-spacing:.06em;line-height:1.9;}
  .hero-in .sub span + span{margin-left:.6em;}
}

/* ============================================================
   ABOUT（私たちについて）
   ============================================================ */

/* --- 経営理念 --- */
.philosophy{
  font-family:'Zen Maru Gothic', sans-serif;font-size:clamp(1.4rem,3.6vw,2.15rem);font-weight:500;
  line-height:1.9;letter-spacing:.08em;color:#2F6042;margin-bottom:34px;
}
.philosophy-txt{max-width:760px;margin:0 auto;text-align:left;font-size:.95rem;line-height:2.2;}

/* --- MVV --- */
.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.mvv-item{
  background:#FFFFFF;border-radius:16px;padding:40px 32px;text-align:center;
  border-top:4px solid #6FA96B;
}
.mvv-item.b{border-top-color:#2C5A8A;}
.mvv-item .en{
  font-family:'Cormorant Garamond', serif;font-size:1.6rem;font-weight:600;color:#3F7A47;
  letter-spacing:.08em;display:block;line-height:1.2;font-variant:small-caps;
}
.mvv-item .jp{
  display:block;font-family:'Zen Maru Gothic', sans-serif;font-size:.74rem;letter-spacing:.16em;
  color:#2C5A8A;margin:6px 0 20px;
}
.mvv-item p{font-size:.86rem;line-height:2.05;text-align:left;color:#6B6B6B;}

@media (max-width: 900px){
.mvv{grid-template-columns:1fr;}
}

/* --- 代表メッセージ --- */
.msg-box{
  background:#FFFFFF;border-radius:18px;padding:52px 56px;border:1px solid #DEDED8;
  position:relative;
}
.msg-box .msg-head{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:center;}
.msg-box .msg-head .c-img img{width:100%;border-radius:14px;}
.msg-box .msg-lead{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.24rem;font-weight:500;line-height:2;
  letter-spacing:.06em;color:#2F6042;margin:0;
}
.msg-box .msg-body{font-size:.94rem;line-height:2.2;margin-top:34px;}
.msg-box .sign{text-align:right;margin-top:30px;font-family:'Zen Maru Gothic', sans-serif;font-size:.9rem;line-height:2;}
.msg-box .sign b{font-size:1.16rem;letter-spacing:.14em;}

/* 代表写真なしのレイアウト（リード文を中央のリード見出しとして扱う） */
.msg-box.no-img{padding-top:58px;}
.msg-box.no-img .msg-head{display:block;text-align:center;}
.msg-box.no-img .msg-lead{
  font-size:clamp(1.24rem,2.6vw,1.62rem);
  line-height:1.95;
  padding-bottom:30px;
  position:relative;
}
.msg-box.no-img .msg-lead::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:56px;height:2px;background:#6FA96B;
}
.msg-box.no-img .msg-body{
  margin-top:34px;
  max-width:760px;
  margin-left:auto;margin-right:auto;
}

@media (max-width: 900px){
.msg-box .msg-head{grid-template-columns:1fr;gap:24px;}
}
@media (max-width: 768px){
.msg-box{padding:32px 24px;}
  .msg-box.no-img{padding-top:36px;}
  .msg-box.no-img .msg-lead{text-align:left;}
  .msg-box.no-img .msg-lead::after{left:0;transform:none;}
}

/* ============================================================
   HOMES（施設一覧）
   ============================================================ */
.unit{}
.unit .c-img .main{width:100%;border-radius:14px;}
.unit .subs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px;}
.unit .subs .sub-im{aspect-ratio:1/1;border-radius:14px;overflow:hidden;}
.unit .subs .sub-im img{width:100%;height:100%;object-fit:cover;}
.unit .unit-map{margin-top:22px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;}
.unit .unit-map iframe{width:100%;height:100%;border:0;display:block;}
.unit .tbl{margin-top:24px;}

/* ============================================================
   GUIDE（入居案内）
   ============================================================ */
.fee-note{font-size:.84rem;color:#6B6B6B;margin-top:20px;line-height:2;}
.eligibility-note{font-size:.82rem;color:#6B6B6B;margin-top:18px;}
.guide-cta{text-align:center;}
.guide-cta .btn{margin-top:24px;}

/* ============================================================
   RECRUIT（採用情報）
   ============================================================ */
.jgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.jcard{
  background:#FFFFFF;border-radius:14px;padding:32px 30px;border:1px solid #DEDED8;
  border-left:5px solid #6FA96B;
}
.jcard h3{font-family:'Zen Maru Gothic', sans-serif;font-size:1.14rem;font-weight:700;color:#2F6042;margin:0 0 12px;letter-spacing:.06em;}
.jcard p{font-size:.86rem;line-height:2;color:#6B6B6B;}

@media (max-width: 768px){
.jgrid{grid-template-columns:1fr;}
}

/* --- 応募前の確認 --- */
.before-box{
  background:#EAF1F8;border-radius:16px;padding:36px 44px;
  border-left:5px solid #2C5A8A;margin-bottom:34px;
}
.before-box p{font-size:.94rem;line-height:2.1;}
.doc-ttl{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.14rem;font-weight:700;color:#2F6042;
  margin:0 0 16px;letter-spacing:.06em;
}

/* --- 給与強調 --- */
.salary{font-family:'Zen Maru Gothic', sans-serif;font-weight:700;color:#2F6042;font-size:1.1rem;}

/* --- 関係機関の皆様へ --- */
.partner-box{
  background:#FFFFFF;border-radius:16px;padding:36px 44px;border:1px solid #DEDED8;
  font-size:.92rem;line-height:2.15;
}

/* --- 応募CTA帯 --- */
.band .band-btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:32px;}

@media (max-width: 768px){
.before-box,.partner-box{padding:26px 22px;}
}

/* ============================================================
   CONTACT（お問い合わせ）
   ============================================================ */

/* --- 電話ブロック --- */
.tel-box{
  background:#EDF4EA;border-radius:16px;padding:40px 44px;text-align:center;
}
.tel-box .lb{
  font-family:'Zen Maru Gothic', sans-serif;font-size:.9rem;letter-spacing:.1em;color:#2F6042;margin-bottom:10px;
}
.tel-box .num{
  font-family:'Zen Maru Gothic', sans-serif;font-size:clamp(1.9rem,5vw,2.6rem);font-weight:700;
  color:#2F6042;letter-spacing:.04em;
}
.tel-box .time{font-size:.82rem;color:#6B6B6B;margin-bottom:0;}

@media (max-width: 768px){
.tel-box{padding:28px 20px;}
}

/* --- フォーム --- */
.form-wrap{background:#FFFFFF;border:1px solid #DEDED8;border-radius:16px;padding:52px 56px;}
.frow{margin-bottom:28px;}
.frow > label,.frow .flabel{
  display:block;font-family:'Zen Maru Gothic', sans-serif;font-size:.88rem;font-weight:500;
  letter-spacing:.08em;color:#2F6042;margin-bottom:9px;
}

/* ▼ 必須＝レッド／任意＝ブルー */
.req{
  display:inline-block;background:#C0504D;color:#FFFFFF;font-size:.62rem;
  padding:2px 9px;border-radius:3px;margin-left:9px;letter-spacing:.08em;
  vertical-align:2px;font-family:'Zen Maru Gothic', sans-serif;line-height:1.8;
}
.opt{
  display:inline-block;background:#2C5A8A;color:#FFFFFF;font-size:.62rem;
  padding:2px 9px;border-radius:3px;margin-left:9px;letter-spacing:.08em;
  vertical-align:2px;font-family:'Zen Maru Gothic', sans-serif;line-height:1.8;
}

.frow input[type=text],
.frow input[type=email],
.frow input[type=tel],
.frow select,
.frow textarea{
  width:100%;padding:14px 16px;border:1px solid #DEDED8;border-radius:7px;
  font-family:'Noto Sans JP', sans-serif;font-size:.94rem;background:#FAF8F3;color:#3A3A3A;
}
.frow textarea{min-height:180px;resize:vertical;line-height:1.9;}
.frow input:focus,.frow select:focus,.frow textarea:focus{outline:2px solid #6FA96B;outline-offset:1px;}

.radios{display:flex;flex-wrap:wrap;gap:12px 26px;}
.radios label,
.frow .wpcf7-radio .wpcf7-list-item{display:inline-flex;align-items:center;gap:7px;font-size:.9rem;cursor:pointer;margin:0 26px 12px 0;}
.frow .wpcf7-list-item-label{letter-spacing:.04em;}

.privacy-box{
  background:#EDF4EA;border-radius:10px;padding:22px 26px;
  font-size:.84rem;line-height:2;margin-bottom:26px;
}
.privacy-box a{color:#2F6042;text-decoration:underline;}
.form-submit{text-align:center;}
.form-submit input[type=submit],
.form-submit button{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:250px;padding:16px 34px;cursor:pointer;
  font-family:'Zen Maru Gothic', sans-serif;font-size:.92rem;font-weight:500;letter-spacing:.1em;
  background:#3F7A47;color:#FFFFFF;border:1px solid #3F7A47;border-radius:999px;
  transition:.3s;
}
.form-submit input[type=submit]:hover,
.form-submit button:hover{background:#FFFFFF;color:#2F6042;}

/* CF7 メッセージ */
.wpcf7 form .wpcf7-response-output{
  margin:24px 0 0;padding:14px 18px;border-radius:8px;font-size:.86rem;line-height:1.9;
}
.wpcf7-not-valid-tip{color:#C0504D;font-size:.78rem;margin-top:5px;}
.wpcf7-spinner{display:block;margin:10px auto 0;}

@media (max-width: 768px){
.form-wrap{padding:32px 22px;}
}

/* --- アクセス --- */
.access-note{text-align:center;font-size:.86rem;color:#6B6B6B;margin-top:26px;}
/* 語句の途中で折り返させない。SPでは項目ごとに改行する */
.access-note span{display:inline-block;}

@media (max-width: 768px){
.access-note{line-height:1.9;}
  .access-note span{display:block;}
  .access-note .sep{display:none;}
}

/* ============================================================
   NEWS（お知らせ一覧・詳細）
   ============================================================ */
.news-archive{background:#FFFFFF;border-radius:16px;padding:14px 34px;border:1px solid #DEDED8;}

.single-news{background:#FFFFFF;border-radius:16px;padding:52px 56px;border:1px solid #DEDED8;}
.single-news .meta{display:flex;align-items:center;gap:18px;margin-bottom:16px;}
.single-news .meta .date{font-family:'Cormorant Garamond', serif;font-size:1.05rem;color:#2C5A8A;letter-spacing:.08em;}
.single-news .meta .cat{
  font-family:'Zen Maru Gothic', sans-serif;font-size:.68rem;letter-spacing:.1em;
  background:#3F7A47;color:#FFFFFF;padding:4px 16px;border-radius:999px;
}
.single-news h1{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.6rem;font-weight:700;color:#2F6042;
  line-height:1.7;letter-spacing:.04em;margin:0 0 28px;padding-bottom:22px;
  border-bottom:1px solid #DEDED8;
}
.post-body{font-size:.94rem;line-height:2.2;}
.post-body img{border-radius:10px;margin:1.6em 0;}
.post-body h2{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.24rem;font-weight:700;color:#2F6042;
  margin:2em 0 .8em;padding-left:14px;border-left:4px solid #6FA96B;letter-spacing:.04em;
}
.post-body h3{
  font-family:'Zen Maru Gothic', sans-serif;font-size:1.08rem;font-weight:700;color:#1D3F63;
  margin:1.8em 0 .6em;letter-spacing:.04em;
}
.post-body a{color:#2F6042;text-decoration:underline;}
.post-body ul{list-style:disc;padding-left:1.4em;margin:0 0 1.6em;}
.post-body ol{padding-left:1.6em;margin:0 0 1.6em;}

.post-nav{display:flex;justify-content:center;margin-top:44px;}

/* wp-pagenavi */
.wp-pagenavi{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:44px;font-family:'Cormorant Garamond', serif;}
.wp-pagenavi a,.wp-pagenavi span{
  display:flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 12px;border:1px solid #DEDED8;
  background:#FFFFFF;color:#2C5A8A;border-radius:6px;font-size:.9rem;letter-spacing:.06em;
}
.wp-pagenavi span.current,.wp-pagenavi a:hover{background:#3F7A47;color:#FFFFFF;border-color:#3F7A47;}

/* 404 */
.nf{text-align:center;}
.nf .code{font-family:'Cormorant Garamond', serif;font-size:5rem;color:#6FA96B;line-height:1;}

@media (max-width: 768px){
.single-news{padding:30px 22px;}
  .single-news h1{font-size:1.28rem;}
  .news-archive{padding:6px 20px;}
}
