/* 自動生成：PC・スマホの読みやすさ調整（konoha.css のあとに読み込む） */

/* ================= 共通 ================= */
rt{font-size:max(12px,.56em);letter-spacing:0}
body.konoha-ruby p,body.konoha-ruby li,body.konoha-ruby dd,body.konoha-ruby dt,body.konoha-ruby h1,body.konoha-ruby h2,body.konoha-ruby h3{line-height:2.1}
body.konoha-ruby ruby{margin-inline:.05em}
/* 高さが決まっている部品では、ふりがなで枠が広がらないようにする */
ruby.konoha-ruby--flat{display:inline-block;position:relative;line-height:inherit;margin:0}
ruby.konoha-ruby--flat rt{position:absolute;left:50%;transform:translateX(-50%);top:-0.82em;white-space:nowrap;font-size:10.5px;line-height:1;pointer-events:none;color:var(--text-sub)}

/* ================= スマホ・タブレット（〜1179px） ================= */
@media (max-width:1179px){
  .k110,.k112,.k113,.k162,.k322,.k338,.k339,.k340,.k341,.k342,.k397,.k405,.k419,.k421,.k453,.k548,.k551,.k553,.k603,.k7,.k8{font-size:13px}
  .k127,.k154,.k166,.k203,.k204,.k211,.k224,.k25,.k264,.k273,.k305,.k366,.k386,.k411,.k413,.k414,.k444,.k446,.k469,.k474,.k55,.k585,.k590,.k613{font-size:14px}
  /* 本文の読みやすさ */
  main p,main li,main dd{line-height:1.95}
  main h2{line-height:1.45}
  /* 指で押しやすい大きさに（JSが小さいリンクに konoha-tap を付けます） */
  .konoha-tap{min-height:44px;display:inline-flex;align-items:center;gap:4px}
  .k4{min-height:44px}
  /* 見出しの改行位置をなるべく自然に */
  main h1,main h2,main h3{text-wrap:balance}
}

@media (max-width:600px){
  /* 縦に長くなりすぎないように、区切りの余白を少し詰める */
  .k149,.k228,.k253,.k29,.k352,.k388,.k391,.k415,.k570,.k591,.k88{padding:44px 20px}
}

/* ================= PC（1180px〜） ================= */
@media (min-width:1180px){
  body{font-size:18px}
  .k110,.k112,.k113,.k162,.k322,.k338,.k339,.k340,.k341,.k342,.k397,.k405,.k419,.k421,.k453,.k548,.k551,.k553,.k603{font-size:14px}
  .k109,.k11,.k125,.k127,.k148,.k154,.k158,.k161,.k163,.k166,.k175,.k203,.k204,.k207,.k211,.k221,.k224,.k227,.k236,.k25,.k264,.k273,.k287,.k290,.k293,.k305,.k308,.k31,.k320,.k366,.k386,.k411,.k413,.k414,.k422,.k444,.k446,.k469,.k474,.k499,.k505,.k506,.k507,.k55,.k554,.k566,.k585,.k590,.k61,.k613,.k614,.k618,.k622,.k76,.p155,.p2,.p39{font-size:15px}
  .k103,.k118,.k119,.k129,.k133,.k141,.k142,.k147,.k183,.k188,.k206,.k208,.k217,.k241,.k288,.k316,.k332,.k333,.k345,.k358,.k368,.k369,.k373,.k380,.k402,.k409,.k426,.k427,.k43,.k437,.k44,.k443,.k445,.k452,.k455,.k458,.k465,.k502,.k529,.k540,.k547,.k560,.k569,.k574,.k588,.k589,.k596,.k600,.k615,.k630,.k633,.k640,.k644,.k648,.k655,.k67,.k83,.k86,.p13,.p93,.p94,.p95,.p96,.p97{font-size:16px}
  .k134,.k135,.k190,.k231,.k242,.k244,.k269,.k296,.k300,.k303,.k482,.k557,.k586,.k598,.k621,.k638{font-size:17px}
  .k160,.k20,.k330,.k337,.k516,.k522,.k53,.k628,.p23{font-size:18px}
  .k222,.k298,.k299,.k379,.k385,.k451,.k464,.k480,.k512,.k568,.k606,.k635,.k82{font-size:19px}
  .k233,.k24,.k280,.k304,.k387,.k461,.k491,.k525,.k530,.k617{font-size:20px}
  .k140,.k185,.k205,.k268,.k283,.k294,.k302,.k350,.k42,.k433,.k45,.k486,.k81,.k85,.k94,.k98,.p29{font-size:22px}
  .k278,.k365,.k393,.k408{font-size:23px}
  .k189,.k198,.k286,.k377,.k381,.k484,.k584,.k632,.p32{font-size:24px}
  .k117,.k157,.k216,.k260,.k310,.k546,.p92{font-size:26px}
  .k144,.k247,.k475,.p124,.p161,.p84,.p87{font-size:28px}
  .k232,.k32,.k355,.k47,.k541,.k543{font-size:32px}
  .p74{font-size:34px}
  .k418{font-size:36px}
  .k126,.p123{font-size:38px}
  .p139,.p140,.p99{font-size:40px}
  /* 1行を長くしすぎない（日本語は40字前後が読みやすい） */
  main p,main dd,main li{max-width:42em}
  .k143 p,.k143 dd,.k143 li,.k147 p,.k147 dd,.k147 li,.k148 p,.k148 dd,.k148 li,.k149 p,.k149 dd,.k149 li,.k322 p,.k322 dd,.k322 li,.k338 p,.k338 dd,.k338 li,.k339 p,.k339 dd,.k339 li,.k34 p,.k34 dd,.k34 li,.k340 p,.k340 dd,.k340 li,.k341 p,.k341 dd,.k341 li,.k342 p,.k342 dd,.k342 li,.k352 p,.k352 dd,.k352 li,.k469 p,.k469 dd,.k469 li,.k539 p,.k539 dd,.k539 li,.k542 p,.k542 dd,.k542 li,.k570 p,.k570 dd,.k570 li,.p144 p,.p144 dd,.p144 li,.p51 p,.p51 dd,.p51 li,.p93 p,.p93 dd,.p93 li,.p94 p,.p94 dd,.p94 li,.p95 p,.p95 dd,.p95 li,.p96 p,.p96 dd,.p96 li,.p97 p,.p97 dd,.p97 li,.p98 p,.p98 dd,.p98 li{margin-left:auto;margin-right:auto}
  main p,main li,main dd{line-height:1.9}
  /* 見出しのまわりに余裕を */
  main h2{line-height:1.4;letter-spacing:.01em}
  main h3{line-height:1.5}
  main h1,main h2,main h3{text-wrap:balance}
  /* ヘッダーが重ならないように（横幅が足りないときは折り返す） */
  header nav[aria-label]{flex-wrap:wrap;row-gap:2px;min-width:0}
  header nav[aria-label] a{white-space:nowrap}
  header a,header time,header span{overflow-wrap:normal}
  .k16{font-size:clamp(34px,4.60vw,54px)}
  .k180{font-size:clamp(34px,4.60vw,49px)}
  .k181{font-size:clamp(20px,2.30vw,27px)}
  .k212{font-size:clamp(20px,2.30vw,27px)}
  .k359{font-size:clamp(31px,4.14vw,49px)}
  .k439{font-size:clamp(19px,2.30vw,24px)}
  .k519{font-size:clamp(31px,4.60vw,49px)}
  .k520{font-size:clamp(21px,2.53vw,29px)}
  .k572{font-size:clamp(29px,4.14vw,44px)}
  .k579{font-size:clamp(29px,3.91vw,46px)}
  .k607{font-size:clamp(19px,2.30vw,24px)}
  .k649{font-size:clamp(27px,3.91vw,41px)}
  .p129{font-size:clamp(31px,4.60vw,49px)}
  .p61{font-size:clamp(34px,4.60vw,49px)}
}

/* ================= 横幅が足りないPC（1180〜1439px）のヘッダー ================= */
@media (min-width:1180px) and (max-width:1439px){
  header nav[aria-label]{column-gap:16px}
}

/* ================= 大きな画面（1560px〜）では少しだけ広く ================= */
@media (min-width:1560px){
  .p1,.p106,.p112,.p117,.p121,.p122,.p146,.p21,.p26,.p42,.p48,.p51,.p54,.p60,.p64,.p66,.p79{max-width:1480px}
}

/* スマホでは、項目が3つ以上ある並びを1列にする（左の細い列に押し込まれるのを防ぐ） */
@media (max-width:1179px){
  .k599{grid-template-columns:minmax(0px,1fr)}
}

/* ================= 電話ボタン（スマホ） ================= */
/* 番号が途中で切れないように。入りきらないときは行を変えます */
@media (max-width:599px){
  a[href^="tel:"]{flex-wrap:wrap;row-gap:2px;column-gap:8px;padding-left:14px;padding-right:14px;text-align:center}
  a[href^="tel:"] :is(.k24,.k280,.k355,.k393,.k512,.k541,.p139,.p17,.p99,.k109,.k127,.k154,.k175,.k25,.k305,.p18){white-space:nowrap}
  a[href^="tel:"] :is(.k24,.k280,.k355,.k393,.k512,.k541,.p139,.p17,.p99){font-size:clamp(16px,4.8vw,20px);line-height:1.3}
}


/* ================= ふりがな表示中のはみ出し防止 ================= */
/* 列の数が自動で決まるところは、ふりがなのぶん列を広げる */
body.konoha-ruby .k163{grid-template-columns:repeat(auto-fit,minmax(154px,1fr))}
body.konoha-ruby .k33{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
body.konoha-ruby .k39{grid-template-columns:repeat(auto-fit,minmax(231px,1fr))}
body.konoha-ruby .k79{grid-template-columns:repeat(auto-fit,minmax(253px,1fr))}
/* それでも長いときは、文字を折り返してでも枠の中に収める */
body.konoha-ruby a,body.konoha-ruby li,body.konoha-ruby dd,body.konoha-ruby dt,body.konoha-ruby p,body.konoha-ruby h1,body.konoha-ruby h2,body.konoha-ruby h3,body.konoha-ruby h4{overflow-wrap:anywhere}


/* ================= 見やすさ・操作しやすさ ================= */
/* ふりがなは12pxを下回らないようにする（詳細度で負けるので !important） */
rt{font-size:max(12px,.56em)!important}
ruby.konoha-ruby--flat rt{font-size:max(11px,.5em)!important}

/* 入力欄やタブの枠線を、はっきり見える濃さにする */
:root{--border-strong:#8E8372}
.k398,.k402,.k404,.k445,.k552,.k557,.k561,.k562,.k563,.k604{border-color:var(--border-strong)}
.konoha-tabs__tab,.konoha-toc__link,.konoha-search input,.konoha-carousel__arrow,.konoha-lightbox__close,.konoha-lightbox__prev,.konoha-lightbox__next,.konoha-menu-btn,.konoha-drawer__close{border-color:var(--border-strong)}

/* フッターの中は、フォーカスの枠を白にする（濃い緑の上でも見えるように） */
#site-footer :focus-visible{outline-color:#fff}

/* タブレットの幅でも、1行が長くなりすぎないようにする */
main p,main dd,main li{max-width:42em}

/* ふりがなを出すと、見出しの上にルビの場所が要ります。
   行の高さが足りないと、ルビが上の行や となりの文字に食い込みます。 */
body.konoha-ruby h1,body.konoha-ruby h2,body.konoha-ruby h3{line-height:2}
body.konoha-ruby main a span,body.konoha-ruby main li{line-height:2}

/* 指で押せる大きさ（44px）に足りないものを広げる */
#site-footer a{min-height:44px;display:inline-flex;align-items:center}
.konoha-carousel__dot{position:relative}
.konoha-carousel__dot::after{content:"";position:absolute;left:50%;top:50%;
width:44px;height:44px;transform:translate(-50%,-50%)}


/* ================= まだ写真が無いところ ================= */
.konoha-slot--soon{background:#F3EFE7;border:1px dashed #A79C8A;color:#6E6558}
.konoha-slot--soon span{font-size:14px;font-weight:700;letter-spacing:.08em}

/* ================= Instagram の写真一覧 ================= */
/* プラグインが出す中身の幅と余白だけ、こちらで整えます */
/* 見出しと説明は上、写真はその下。
   もとの並びは「左に文字・右に写真3枚」でしたが、写真が20枚ならぶと
   左の文字が上下まんなかに浮いてしまうので、縦に積みます。 */
.konoha-insta-block{grid-template-columns:minmax(0,1fr);align-items:start;gap:4px}
.konoha-insta{margin-top:24px;width:100%}
.konoha-insta img{border-radius:10px}
.konoha-insta #sb_instagram{padding-bottom:0!important}
/* プラグインが出すアカウント名と自己紹介は、すぐ上の見出しと重なるので隠します */
.konoha-insta .sb_instagram_header{display:none}
/* うまくいかない理由（管理者にだけ見えます） */
.konoha-insta-notice{margin:24px auto;max-width:720px;padding:14px 16px;border-radius:10px;background:#FDF3F2;border:1px solid #B42318;color:#7A1A12;font-size:14px;line-height:1.8}
.konoha-insta-notice strong{display:block;margin-bottom:4px}

/* ================= 支えてくださっている企業 ================= */
/* ロゴを入れたときは、ロゴの下に社名が並びます */
.konoha-sponsor{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.konoha-sponsor__logo{max-width:100%;max-height:56px;width:auto;height:auto;object-fit:contain}


/* ================= タブレットの並び（601〜1179px） ================= */
/* スマホ用の1列のままだと、写真や箱が大きくなりすぎるので2列にする */
@media (min-width:768px) and (max-width:1179px){
  .k201,.k218,.k281,.k370,.k374,.k619{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 下に出る「電話する／見学を申し込む」のバーは、広い画面では出さない */
@media (min-width:1024px){
  .k169,.k170{display:none!important}
}


/* ================= フッターのサイトマップ ================= */
/* 行が引きのばされないようにし、長い項目も1行に収まる列幅にする */
.k163{align-self:start;align-content:start;gap:2px 28px;grid-template-columns:repeat(auto-fit,minmax(176px,1fr))}
.k164{min-height:40px;align-items:center;width:fit-content;max-width:100%}
.k164:hover,.k164:focus-visible{text-decoration:underline;text-underline-offset:4px}
/* ふりがなを出すと文字が広がるので、列も広げる */
body.konoha-ruby .k163{grid-template-columns:repeat(auto-fit,minmax(194px,1fr))}

/* ================= メニュー（ハンバーガー＋ドロワー） ================= */
.konoha-head-spacer{flex:1 1 auto;min-width:8px}

.konoha-menu-btn{display:none;align-items:center;justify-content:center;gap:0;
  width:48px;min-height:46px;padding:0;
  border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);
  font-family:inherit;cursor:pointer}
/* ボタンの中は、線3本のしるしだけにします */
button[aria-controls="sp-menu"] span{display:none}
.konoha-menu-btn:hover{border-color:var(--leaf-mid);background:var(--leaf-soft)}
.konoha-menu-btn[aria-expanded="true"]{background:var(--leaf);border-color:var(--leaf);color:#fff}

.konoha-drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding:4px 0 10px;border-bottom:1px solid var(--border);margin-bottom:6px}
.konoha-drawer__title{font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--bark)}
.konoha-drawer__close{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;
  border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-sub);
  font-family:inherit;font-size:14px;cursor:pointer}
.konoha-drawer__close:hover{border-color:var(--leaf-mid);color:var(--text)}

.konoha-drawer__sub{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}
.konoha-drawer__cta{display:grid;gap:10px;margin-top:18px}
.konoha-drawer__btn{display:flex;align-items:center;justify-content:center;min-height:52px;
  border-radius:12px;background:var(--leaf);color:#fff;font-weight:700;text-decoration:none}
.konoha-drawer__btn:hover{background:var(--leaf-deep);color:#fff}
.konoha-drawer__tel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;
  border:1px solid var(--leaf);border-radius:12px;color:var(--leaf);font-weight:700;text-decoration:none;line-height:1.3}
.konoha-drawer__tel span{font-size:12px;font-weight:400;color:var(--text-sub)}

.konoha-drawer-overlay{position:fixed;inset:0;border:0;padding:0;margin:0;
  background:rgba(42,39,36,.45);z-index:50;cursor:pointer}
.konoha-drawer-overlay[hidden]{display:none}

@media (min-width:1180px){
  /* PC：ハンバーガーを出して、メニューは右からスライドで出す */
  .konoha-menu-btn{display:inline-flex}
  #sp-menu.konoha-drawer{position:fixed;top:0;right:0;bottom:0;left:auto;
    width:min(400px,92vw);max-height:none!important;height:100dvh;overflow:auto!important;z-index:60;
    background:var(--bg);border-left:1px solid var(--border);border-top:0!important;
    box-shadow:-10px 0 30px rgba(42,39,36,.16);padding:20px 24px 40px!important}
  #sp-menu .konoha-drawer__link{min-height:56px;font-size:17px}
  body.konoha-drawer-open{overflow:hidden}
}

@media (max-width:1179px){
  /* スマホ・タブレット：ヘッダーのすぐ下に、画面に貼りついた形で開く。
     ページの途中まで読んでいても、その場で開きます（上まで戻らなくてよい） */
  #sp-menu.konoha-drawer{position:fixed;left:0;right:0;top:var(--konoha-head-h,64px);bottom:auto;
    z-index:60;max-height:calc(100svh - var(--konoha-head-h,64px))!important;
    overflow:auto!important;-webkit-overflow-scrolling:touch;
    box-shadow:0 14px 28px rgba(42,39,36,.20)}
  body.konoha-drawer-open{overflow:hidden}
}

/* ================= 下層ページの共通パーツ ================= */
/* このページの内容（目次） */
.konoha-toc{max-width:1320px;margin:0 auto;padding:4px 20px 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.konoha-toc__title{font-size:14px;color:var(--text-sub)}
.konoha-toc ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.konoha-toc__link{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border:1px solid var(--border);
  border-radius:999px;background:var(--surface);color:var(--text);text-decoration:none;font-size:15px;line-height:1.3}
.konoha-toc__link:hover{border-color:var(--leaf-mid);background:var(--leaf-soft);color:var(--text)}

/* 次はこちらもどうぞ */
.konoha-next{max-width:1320px;margin:0 auto;padding:8px 20px 56px}
.konoha-next__title{font-family:var(--font-head);font-size:20px;line-height:1.5;margin:0 0 14px;color:var(--bark)}
.konoha-next__list{list-style:none;padding:0;margin:0;display:grid;gap:14px;grid-template-columns:1fr}
.konoha-next__card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;background:var(--surface);
  border:1px solid var(--border);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}
.konoha-next__card:hover{border-color:var(--leaf-mid);background:#F6FAF4;color:var(--text)}
.konoha-next__name{grid-column:1;font-weight:700;font-size:17px;line-height:1.5}
.konoha-next__note{grid-column:1;font-size:14px;color:var(--text-sub);line-height:1.7}
.konoha-next__arrow{grid-column:2;grid-row:1 / span 2;color:var(--leaf);font-size:20px}

/* 前後の記事 */
.konoha-postnav{max-width:900px;margin:0 auto;padding:0 20px 24px;display:grid;gap:12px;grid-template-columns:1fr}
.konoha-postnav__item{display:block;border:1px solid var(--border);border-radius:14px;background:var(--surface);
  padding:14px 16px;text-decoration:none;color:var(--text)}
.konoha-postnav__item:hover{border-color:var(--leaf-mid);color:var(--text)}
.konoha-postnav__label{display:block;font-size:13px;color:var(--leaf);margin-bottom:4px}
.konoha-postnav__title{display:block;font-weight:700;line-height:1.6}

/* ページを探す（404・検索） */
.konoha-search{max-width:600px;margin:0 auto;padding:0 20px 40px}
.konoha-search label{display:block;font-weight:700;margin-bottom:8px}
.konoha-search__row{display:flex;gap:8px}
.konoha-search input{flex:1;min-width:0;min-height:48px;padding:0 14px;border:1px solid var(--border);
  border-radius:12px;background:var(--surface);font-size:16px;font-family:inherit;color:var(--text)}
.konoha-search button{min-height:48px;padding:0 20px;border:0;border-radius:12px;background:var(--leaf);
  color:#fff;font-weight:700;font-family:inherit;font-size:16px;cursor:pointer}
.konoha-search button:hover{background:var(--leaf-deep)}

@media (min-width:1180px){
  .konoha-toc{padding:8px 32px 16px}
  .konoha-toc__title{font-size:15px}
  .konoha-toc__link{font-size:16px}
  .konoha-next{padding:16px 32px 88px}
  .konoha-next__title{font-size:22px}
  .konoha-next__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .konoha-next__name{font-size:18px}
  .konoha-postnav{grid-template-columns:1fr 1fr;padding-bottom:40px}
  .konoha-postnav__item--next{text-align:right}
}

/* ================= タブ ================= */
.konoha-tabs__list{display:flex;gap:8px;overflow-x:auto;padding:0 0 6px;margin:0 0 24px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.konoha-tabs__list::-webkit-scrollbar{display:none}
.konoha-tabs__tab{flex-shrink:0;min-height:44px;padding:0 18px;border-radius:999px;
  border:2px solid var(--border);background:var(--surface);color:var(--text);
  font:inherit;font-weight:700;font-size:15px;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s}
.konoha-tabs__tab:hover{border-color:var(--leaf-mid)}
.konoha-tabs__tab[aria-selected="true"]{background:var(--leaf-deep);border-color:var(--leaf-deep);color:#fff}
.konoha-tabs__panel{outline-offset:4px}
.konoha-tabs.is-tabbed > .konoha-tabs__panel{margin-top:0}

/* ================= ドロップダウン ================= */
.konoha-dropdown{position:relative}
.konoha-dropdown__btn{display:inline-flex;align-items:center;gap:6px;width:100%;
  min-height:48px;padding:0 14px;border:0;border-radius:12px;background:transparent;
  font:inherit;font-weight:700;color:var(--text);text-align:left;cursor:pointer}
.konoha-dropdown__btn:hover{background:var(--leaf-soft)}
.konoha-dropdown__btn::after{content:"";flex:0 0 auto;margin-left:auto;width:9px;height:9px;
  border-right:2px solid var(--leaf-deep);border-bottom:2px solid var(--leaf-deep);
  transform:rotate(45deg) translateY(-2px);transition:transform .18s}
.konoha-dropdown__btn[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-2px)}
.konoha-dropdown__menu{display:flex;flex-direction:column;gap:2px;padding:4px 0 8px 14px;
  border-left:2px solid var(--border);margin:2px 0 6px 14px}
.konoha-dropdown__menu a{display:flex;align-items:center;min-height:44px;padding:0 10px;
  border-radius:10px;color:var(--text);text-decoration:none;font-size:15px}
.konoha-dropdown__menu a:hover{background:var(--leaf-soft);color:var(--leaf-deep)}

/* ================= カルーセル ================= */
.konoha-carousel{position:relative}
.konoha-carousel__nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.konoha-carousel__arrow{width:48px;height:48px;border-radius:50%;border:2px solid var(--border);
  background:var(--surface);color:var(--leaf-deep);font-size:26px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.konoha-carousel__arrow:hover:not(:disabled){border-color:var(--leaf-mid);background:var(--leaf-soft)}
.konoha-carousel__arrow:disabled{opacity:.35;cursor:default}
.konoha-carousel__dots{display:flex;gap:8px}
.konoha-carousel__dot{width:12px;height:12px;padding:0;border:0;border-radius:50%;
  background:var(--border);cursor:pointer}
.konoha-carousel__dot[aria-current="true"]{background:var(--leaf-deep)}
.konoha-carousel__status{margin:8px 0 0;text-align:center;font-size:14px;color:var(--text-sub)}
.konoha-carousel__track:focus-visible{outline:3px solid var(--leaf-mid);outline-offset:4px;border-radius:12px}
@media (max-width:899px){
  .konoha-carousel__track{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .konoha-carousel__track::-webkit-scrollbar{display:none}
  .konoha-carousel__track>*{flex:0 0 78%;min-width:0;scroll-snap-align:start}
}
@media (min-width:900px){
  .konoha-carousel__nav,.konoha-carousel__status{display:none}
}

/* ================= 写真の拡大（モーダル） ================= */
/* 拡大ボタンは写真を包むので、枠いっぱいに広がらないといけません。
   高さを指定しないと、中の写真の height:100% が効かなくなり、
   object-fit:cover が外れて、枠の上下に余白が出たり切れすぎたりします。 */
.konoha-zoom-btn{display:block;width:100%;height:100%;align-self:stretch;
  padding:0;border:0;background:none;cursor:zoom-in;
  border-radius:inherit;overflow:hidden}
.konoha-zoom-btn img{display:block;width:100%;height:100%;object-fit:cover}
.konoha-lightbox{width:min(1100px,94vw);max-width:none;max-height:92vh;padding:0;border:0;
  border-radius:20px;background:var(--surface);color:var(--text);overflow:visible}
.konoha-lightbox::backdrop{background:rgba(32,38,30,.78)}
.konoha-lightbox__inner{position:relative;padding:16px 16px 12px}
.konoha-lightbox__fig{display:block}
.konoha-lightbox__img{display:block;width:100%;max-height:74vh;object-fit:contain;border-radius:12px;background:var(--bg)}
.konoha-lightbox__cap{margin:10px 4px 0;font-size:15px;line-height:1.7;color:var(--text)}
.konoha-lightbox__now{margin:4px 4px 0;font-size:14px;color:var(--text-sub)}
.konoha-lightbox__close,.konoha-lightbox__prev,.konoha-lightbox__next{position:absolute;
  width:48px;height:48px;border-radius:50%;border:2px solid var(--border);background:var(--surface);
  color:var(--text);font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.konoha-lightbox__close{top:-18px;right:-10px}
.konoha-lightbox__prev{left:-10px;top:40%}
.konoha-lightbox__next{right:-10px;top:40%}
.konoha-lightbox__close:hover,.konoha-lightbox__prev:hover,.konoha-lightbox__next:hover{background:var(--leaf-soft);border-color:var(--leaf-mid)}
body.konoha-lightbox-open{overflow:hidden}
@media (max-width:600px){
  .konoha-lightbox{width:96vw}
  .konoha-lightbox__close{top:-16px;right:-4px}
  .konoha-lightbox__prev{left:-4px}
  .konoha-lightbox__next{right:-4px}
}

/* ================= ページ送り ================= */
.konoha-pagination{margin-top:32px}
.konoha-pagination__status{margin:0 0 10px;text-align:center;font-size:14px;color:var(--text-sub)}
.konoha-pagination .page-numbers[aria-current="page"],
.konoha-pagination .page-numbers.current{background:var(--leaf-deep);border-color:var(--leaf-deep);color:#fff}

/* 動きを減らす設定のときは、スッと動かさない */
@media (prefers-reduced-motion: reduce){
  .konoha-tabs__tab,.konoha-dropdown__btn::after{transition:none}
  .konoha-carousel__track{scroll-behavior:auto}
}
