/*
Theme Name: Kyoritsu Kanki
Theme URI: https://www.nilambar.net/2019/12/obulma-free-wordpress-theme.html
Author: Nilambar Sharma
Author URI: https://www.nilambar.net/
Description: Obulma is a simple blogging WordPress theme. With clean and minimal design it is mainly targeted for blogging sites. It uses the Bulma CSS framework. It is cross browser compatible and responsive and looks beautiful on any device and screen sizes. Due to its elegant design users will have a pleasant experience reading your blog posts and articles.
Version: 3.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: obulma
Domain Path: /languages
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.2
Tags: blog, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Obulma is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

html{scroll-behavior:smooth}
img{max-width:100%;height:auto}

/* ===== Readability (single post / pages) ===== */
:root{--text:#334155;--muted:#64748b;--heading:#0f172a;--link:#0ea5e9;--link-hover:#0284c7;--border:#e2e8f0;--bg-quote:#f8fafc}
body{color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* generic content wrapper used in templates */
.prose{font-size:1.0625rem;line-height:1.9;color:var(--text)}
@media(min-width:640px){.prose{font-size:1.125rem}}
.prose p{margin:1.1em 0}
.prose strong{color:var(--heading)}

/* headings */
.prose h1,.prose h2,.prose h3,.prose h4{line-height:1.3;color:var(--heading);font-weight:800;margin-top:2em;margin-bottom:.7em}
.prose h1{font-size:clamp(1.75rem,2.2vw+1.2rem,2.25rem)}
.prose h2{font-size:clamp(1.5rem,1.6vw+1rem,1.875rem)}
.prose h3{font-size:clamp(1.25rem,1.2vw+.9rem,1.5rem);font-weight:700}
.prose h4{font-size:1.125rem;font-weight:700}

/* links */
.prose a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.prose a:hover{color:var(--link-hover)}
.prose a:focus{outline:2px solid var(--link);outline-offset:2px;border-radius:.25rem}

/* lists */
.prose ul,.prose ol{margin:1em 0 1.25em 0;padding-left:1.25em}
.prose li+li{margin-top:.4em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}

/* blockquote */
.prose blockquote{margin:1.5em 0;padding:.9em 1.1em;border-left:4px solid var(--link);background:var(--bg-quote);color:#0b1220;border-radius:.5rem}
.prose blockquote p{margin:.4em 0}

/* code */
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#0f172a0d;padding:.15em .35em;border-radius:.35rem}
.prose pre{background:#0f172a0d;border:1px solid var(--border);padding:1rem;border-radius:.75rem;overflow:auto}
.prose pre code{background:transparent;padding:0}

/* tables */
.prose table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:.75rem;overflow:hidden}
.prose thead th{background:#f8fafc;color:#0f172a;font-weight:700}
.prose th,.prose td{padding:.7rem .9rem;border-bottom:1px solid var(--border)}
.prose tr:last-child td{border-bottom:0}
.prose .table-wrap{overflow-x:auto}

/* images & figure */
.prose img{border-radius:.75rem;box-shadow:0 1px 2px rgba(2,6,23,.06),0 1px 3px rgba(2,6,23,.1)}
.prose figure{margin:1.25em 0}
.prose figcaption{margin-top:.5em;color:var(--muted);font-size:.875rem;text-align:center}

/* misc */
.prose hr{height:1px;background:var(--border);border:0;margin:2.5em 0}
.prose kbd{font-family:ui-monospace,monospace;background:#f1f5f9;border:1px solid var(--border);border-bottom-width:2px;border-radius:.375rem;padding:.15em .45em;font-size:.85em}

/* selection */
::selection{background:#bae6fd}

/* wider clickable area for small devices */
@media(max-width:480px){
  .prose a{text-underline-offset:2px}
}

/* ====== サブメニュー表示の安定化（最終統一版） ====== */
/* ラッパー（外側の<nav>か<ul>に .header-nav を付与） */
.header-nav { position: relative; }

/* 親<li>は group + relative（Walker/フォールバックが付ける想定） */
.header-nav .group { position: relative; }

/* 透明の“橋”で隙間を埋める：親から子へマウス移動時に消えないように */
.header-nav .group::before {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: 100%;
  height: 16px; /* 必要に応じて 12〜20px で調整 */
}

/* サブメニューUL：displayは常時block、見え方は opacity/visibility で制御 */
.header-nav .group > ul {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 0 !important;

  display: block !important; /* Tailwindの .hidden を無効化 */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(4px);
  transition:
    opacity .14s ease,
    transform .14s ease,
    visibility 0s linear .14s; /* 離脱時に0.14s遅れて不可視化（猶予） */
  z-index: 50;
}

/* 親またはサブUL上にいる間は表示（即点灯） */
.header-nav .group:hover > ul,
.header-nav .group:focus-within > ul,
.header-nav .group > ul:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s, 0s, 0s;
}

/* クリッピング対策（親要素が overflow:hidden の場合に切れないように） */
header, .site-header, nav { overflow: visible; }


/* /corporate/ 専用：一行＋後半を強調して短めに */
.page-corporate .corp-catchcopy {
  display: inline-block;
  white-space: nowrap;
  line-height: 1.15;
  letter-spacing: .01em;
  font-weight: 800;
  font-size: clamp(1.25rem, 2.1vw, 1.75rem);
}
.page-corporate .corp-catchcopy .small {
  font-size: 0.62em;
  opacity: .8;
  margin-right: .35em;
}
.page-corporate .corp-catchcopy .em {
  font-size: 1.35em;
  font-weight: 900;
  color: #0ea5e9;
}
@media (max-width: 768px) {
  .page-corporate .corp-catchcopy { font-size: clamp(1.125rem, 4vw, 1.5rem); }
  .page-corporate .corp-catchcopy .em { font-size: 1.25em; }
  .page-corporate .corp-catchcopy .small { font-size: 0.7em; }
}


/* ページネーション（シンプル＆中央寄せ・枠で強調） */
.navigation.pagination {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.navigation.pagination .nav-links {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.navigation.pagination a,
.navigation.pagination span {
  display: inline-block;
  min-width: 2rem;
  text-align: center;
  padding: 0.4rem 0.7rem;
  font-size: 0.9rem;
  border-radius: 0.375rem;
  color: #334155; /* slate-700 */
  border: 1px solid transparent;
  transition: all 0.2s ease;
}

.navigation.pagination a:hover {
  border-color: #06b6d4; /* cyan-500 */
  color: #0e7490; /* cyan-700 */
  background-color: #f8fafc; /* slate-50 */
}

/* 現在ページをシアンの枠で強調（塗りつぶしなし） */
.navigation.pagination .current {
  border: 1px solid #06b6d4;
  color: #06b6d4;
  font-weight: 600;
  background-color: transparent;
}


/* CF7 全体 */
.ky-cf7 .wpcf7-not-valid-tip{
  margin-top: 4px;
  font-size: 12px;
  color: #b91c1c; /* red-700 */
}
.ky-cf7 .wpcf7-response-output{
  border-radius: 12px;
  padding: 10px 12px;
  border-width: 1px;
}

/* 送信成功 */
.ky-cf7 .wpcf7 form.sent .wpcf7-response-output{
  background: #ecfdf5;  /* emerald-50 */
  border-color:#34d399; /* emerald-400 */
  color:#065f46;        /* emerald-800 */
}

/* 送信エラー／バリデーション */
.ky-cf7 .wpcf7 form.invalid .wpcf7-response-output,
.ky-cf7 .wpcf7 form.failed .wpcf7-response-output{
  background:#fff7ed;   /* orange-50 */
  border-color:#fb923c; /* orange-400 */
  color:#9a3412;        /* orange-800 */
}

/* スピナー調整（任意） */
.ky-cf7 .wpcf7-spinner{
  margin-left: 8px;
}
