/**
 * ミライワーク - 不足ユーティリティの補完
 *
 * 61be7907165c97ac.css は元サイトで使われたクラスだけを含むビルド済みファイルのため、
 * それ以降に追加したマークアップで使うクラスがいくつか欠けている。
 * ここでは Tailwind の既定値と同じ定義を補う（functions.php が assets/css/*.css を自動読込）。
 */

/* --- display / flex --- */
.inline-flex { display: inline-flex; }
.shrink-0 { flex-shrink: 0; }
.items-stretch { align-items: stretch; }
.overflow-hidden { overflow: hidden; }
/* .grid-cols-1 は定義しない。
   この追加CSSは元のビルド済みCSSより後に読み込まれるため、ここで定義すると
   元CSS側の .md\:grid-cols-2（PCで2列）を後勝ちで打ち消してしまう。
   grid の既定が1列なので、そもそも定義は不要。 */

/* --- gap --- */
.gap-1 { gap: 0.25rem; }
.gap-3 { gap: 0.75rem; }
.gap-5 { gap: 1.25rem; }
.gap-x-8 { column-gap: 2rem; }
.gap-y-2 { row-gap: 0.5rem; }

/* --- margin --- */
.mb-0 { margin-bottom: 0; }
.mb-5 { margin-bottom: 1.25rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-auto { margin-top: auto; }

/* --- padding --- */
.pt-1 { padding-top: 0.25rem; }
.pt-5 { padding-top: 1.25rem; }
.pt-24 { padding-top: 6rem; }
.pt-28 { padding-top: 7rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-5 { padding-bottom: 1.25rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-12 { padding-bottom: 3rem; }
.pb-20 { padding-bottom: 5rem; }
.pl-5 { padding-left: 1.25rem; }
.py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }

/* --- size --- */
.w-14 { width: 3.5rem; }
.h-14 { height: 3.5rem; }

/* --- border --- */
.border-l-2 { border-left-width: 2px; }
.border-transparent { border-color: transparent; }
.border-blue-100 { border-color: #dbeafe; }
.border-green-200 { border-color: #bbf7d0; }

/* --- color --- */
.text-blue-700 { color: #1d4ed8; }
.text-slate-900 { color: #0f172a; }
.bg-blue-700 { background-color: #1d4ed8; }

/* --- typography --- */
.leading-loose { line-height: 2; }
.underline { text-decoration-line: underline; }

/* --- gradient --- */
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.to-white { --tw-gradient-to: #fff var(--tw-gradient-to-position); }

/* --- transition --- */
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-300 { transition-duration: 300ms; }

/* --- 任意値（角括弧クラス） --- */
.max-w-\[360px\] { max-width: 360px; }
.max-w-\[420px\] { max-width: 420px; }
.max-w-\[820px\] { max-width: 820px; }
.max-h-\[90vh\] { max-height: 90vh; }
.bg-\[\#f8f8f8\] { background-color: #f8f8f8; }
.bg-black\/50 { background-color: rgba(0, 0, 0, 0.5); }
.aspect-\[3\/2\] { aspect-ratio: 3 / 2; }

/* --- hover / group-hover --- */
.hover\:gap-3:hover { gap: 0.75rem; }
.hover\:bg-blue-800:hover { background-color: #1e40af; }
.hover\:text-blue-800:hover { color: #1e40af; }
.hover\:border-blue-600:hover { border-color: #2563eb; }
.group:hover .group-hover\:gap-3 { gap: 0.75rem; }

/* =====================================================================
   追加分（ヘッダー・フッターで従来から使われていたものを含む）
   ===================================================================== */

.flex-wrap { flex-wrap: wrap; }
.justify-end { justify-content: flex-end; }
.ml-2 { margin-left: 0.5rem; }
.ml-auto { margin-left: auto; }
.h-10 { height: 2.5rem; }
.w-10 { width: 2.5rem; }
.pb-6 { padding-bottom: 1.5rem; }
.pt-6 { padding-top: 1.5rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.gap-x-4 { column-gap: 1rem; }
.gap-x-6 { column-gap: 1.5rem; }
.gap-y-3 { row-gap: 0.75rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.max-w-screen-xl { max-width: 1280px; }
.border-white\/30 { border-color: rgba(255, 255, 255, 0.3); }

.hover\:shadow-md:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.hover\:text-blue-300:hover { color: #93c5fd; }
.hover\:text-blue-700:hover { color: #1d4ed8; }

@media (min-width: 640px) {
  .sm\:block { display: block; }
  .sm\:hidden { display: none; }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
  .sm\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .sm\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
}

@media (min-width: 768px) {
  .md\:gap-8 { gap: 2rem; }
  .md\:p-10 { padding: 2.5rem; }
  .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
  .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
  .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
}

@media (min-width: 1024px) {
  .lg\:gap-8 { gap: 2rem; }
  .lg\:gap-12 { gap: 3rem; }
  .lg\:gap-16 { gap: 4rem; }
  .lg\:h-20 { height: 5rem; }
  .lg\:pt-28 { padding-top: 7rem; }
  .lg\:py-20 { padding-top: 5rem; padding-bottom: 5rem; }
  .lg\:text-5xl { font-size: 3rem; line-height: 1; }
  .lg\:text-\[15px\] { font-size: 15px; }
}

@media (min-width: 1280px) {
  .xl\:gap-10 { gap: 2.5rem; }
  .xl\:text-base { font-size: 1rem; line-height: 1.5rem; }
}

/* =====================================================================
   見学についてボックス（ホーム／利用者様募集ページのフォーム横）
   ===================================================================== */
.mw-visit{
  max-width:420px; background:#eff6ff; border:1px solid #dbeafe;
  border-radius:16px; padding:28px;
}
.mw-visit__title{
  font-size:20px; font-weight:700; color:#111827; margin:0 0 20px;
}
.mw-visit__list{ list-style:none; margin:0; padding:0; }
.mw-visit__list li{
  display:grid; grid-template-columns:24px 1fr; column-gap:10px;
  align-items:start; padding:0;
}
.mw-visit__list li + li{ margin-top:18px; }
.mw-visit__list i{ color:#2563eb; font-size:20px; line-height:1.5; }
.mw-visit__list b{ display:block; font-weight:700; color:#1f2937; line-height:1.5; }
.mw-visit__list em{
  display:block; font-style:normal; font-size:14px; color:#6b7280;
  line-height:1.6; margin-top:2px;
}
.mw-visit__tel{ border-top:1px solid #bfdbfe; margin-top:24px; padding-top:20px; }
.mw-visit__tel p{ font-size:14px; color:#4b5563; margin:0 0 6px; }
.mw-visit__tel a{
  display:inline-flex; align-items:center; gap:8px;
  font-size:26px; font-weight:700; color:#1d4ed8; text-decoration:none;
  line-height:1.2;
}
.mw-visit__tel a:hover{ color:#1e40af; }
