.kv img{
    width:100%;
}
.container{
    width:80%;
    margin:0 auto;
}

.pc{
display: block;
}
.sp{
  display: none;
}
@media (max-width:768px){ 
  .sp{display: block;}
  .pc{display: none;}
}

.section-title {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
}
.section-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ccc;
  margin-left: 10px;
}

.section-title::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/icon-karasu.png") no-repeat center center;
  background-size: contain;
  margin-right: 10px;
}

.section-title.suzu::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 24px;
  background: url("../images/icon-suzu.png") no-repeat center center;
  background-size: contain;
  margin-right: 10px;
}

p{
    line-height:2;
}

/* グリッド */
.news-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
@media (max-width:1024px){ .news-grid{ grid-template-columns:repeat(2, 1fr);} }
@media (max-width:640px){ .news-grid{ grid-template-columns:1fr; } }

/* カード */
.news-card{
  display:block;
  text-decoration:none;
  color:#222;
}
.news-card:hover .news-title{ text-decoration:underline; }

/* 正方形サムネ（画像は中央トリミング）*/
.news-thumb{
  position:relative;
  width:100%;
  aspect-ratio:1/1;           /* モダン */
  margin:0 0 12px;
  background:#f3f3f3;         /* 画像無しの時の下地 */
  overflow:hidden;
  border-radius:6px;
}
.news-thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 画像が無い場合のダミー */
.news-thumb .noimg{
  position:absolute; inset:0;
  background:#e8e8e8;
}

/* 日付・タイトル */
.news-date{
  display:block;
  font-size:12px;
  color:#666;
  margin-bottom:6px;
}
.news-title{
  font-size:16px;
  line-height:1.5;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}



/* PC用（横並び） */
.table01 {
  width: 100%;
  border-collapse: collapse;
}
.table01 th,
.table01 td {
  border: 1px solid #ccc;
  padding: 8px;
  vertical-align: top;
}
.table01 th{
  width:200px;
  background: #f5f5f5;
}
.nodisp{
  display: none!important;
}
.table01 td:first-of-type {
  width:200px;
}
@media screen and (max-width: 768px) {
  .table01,
  .table01 tr,
  .table01 th,
  .table01 td {
    display: block;
    width: 100%;
  }
  .table01 td:first-of-type {
  width: 100%;
}

  .table01 td {
    border-top: none;
  }

  /* 余白をつけて見やすく */
  .table01 tr {
    margin-bottom: 1em;
  }
}

/*写真複数対応*/

/* ギャラリー全体 */
.img-switcher {
  max-width: 860px;
  margin: 0 auto;
}
/* メイン画像 */
.img-switcher__main {
  position: relative;
  margin: 0 0 10px;
  border: 1px solid #ddd;
  background: #fff;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3; /* 比率固定（例：4:3） */
  padding: 5px;        /* ← 縁に5pxの余白を追加 */
  box-sizing: border-box;
}

/* 中の画像を中央トリミング＋拡大 */
.img-switcher__main img {
  width: 100%!important;
  height: 100%!important;
  object-fit: cover;     /* ← 枠いっぱいに拡大してトリミング */
  object-position: center;
  display: block;
  margin:0!important;
}

/* サムネイル部分 */
.img-switcher__thumbs {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  justify-items: center;
}

/* サムネイルボタン */
.img-switcher__thumb {
  border: 1px solid #ddd;
  padding: 2px;
  background: #fff;
  cursor: pointer;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}

/* サムネイル画像 */
.img-switcher__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 2px auto !important;
  background-color: #fff;
}

/* hover とアクティブ */
.img-switcher__thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}
.img-switcher__thumb.is-active {
  outline: 2px solid #e74c3c;
}

/* スマホ用調整 */
@media (max-width: 600px) {
  .img-switcher__thumbs {
    gap: 4px;
  }
  .img-switcher__thumb {
    padding: 1px;
  }
}





/* 固定ページ用デザイン */
.page-content {
  max-width: 960px;
  margin: 80px auto;
  padding: 0 20px;
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
}
/*
.page-title {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
}
.page-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ccc;
  margin-left: 10px;
}*/
.page-title {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
}
.page-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ccc;
  margin-left: 10px;
}

.page-title::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/icon-karasu.png") no-repeat center center;
  background-size: contain;
  margin-right: 10px;
}


.page-title2 {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
}
.page-title2::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ccc;
  margin-left: 10px;
}

.page-title2::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/icon-karasu2.png") no-repeat center center;
  background-size: contain;
  margin-right: 10px;
}


.title2 {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}

.title2::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/icon-karasu2.png") no-repeat center center;
  background-size: contain;
  margin-right: 10px;
}


.title3 {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}

.title3::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/icon-karasu3.png") no-repeat center center;
  background-size: contain;
  margin-right: 10px;
}

.page-header {
  margin-bottom: 40px;
  text-align: center;
}

.page-body {
  line-height: 1.8;
  font-size: 16px;
  color: #333;
}

.page-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 20px auto;
}

/*授与品ページ*/
.page-id-2350 .wp-block-column:first-child{
	border:1px solid #ccc;
}

.page-id-2350 .wp-block-column:first-child .wp-block-column{
	border: none !important;
}
.page-id-2350 .page-title{
  padding-top:0;
}
.page-id-2350 .nogap{
    gap: 0!important;
}
.page-id-2350 h4{
  font-size:1.2rem;
}
.page-id-2350 strong{
  color:red;
}
/* ヘッダー基本 */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: #fff; border-bottom: 1px solid #eee;
}
.site-header .container {
  max-width: 1180px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; gap: 16px;
}

/* 左：ブランド */
.brand { display: flex; align-items: center; gap: 12px; width:30%; max-width:250px;}
.brand img{width:100%;}
.brand-link { text-decoration: none; color: #111; line-height: 1.1; }
.brand-title { display: block; font-weight: 700; font-size: 20px; letter-spacing: .04em; }
.brand-sub   { display: block; font-size: 11px; color: #777; margin-top: 2px; }

.brand-badges { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.brand-badges img { width: 18px; height: 18px; display: block; border-radius: 50%; }

/* li/a の基本 */
.global-nav .menu > li { margin: 0; }
.global-nav .menu a { display: block; }

/* 🔍 を右端へ。縦位置も中央に */
.menu-search {
  margin-left: auto;   /* ← これが右端に寄せる鍵 */
  display: flex;
  align-items: center;
  position: relative;
  white-space: nowrap; /* ボタン内改行防止（念のため） */
}

/* もしボタンの余白で改行してたら最小限に */
.menu-search .search-toggle {
  line-height: 1;
  padding: 4px 6px;    /* 必要なら微調整 */
}
/* 右：グローバルナビ */
.global-nav .menu > li > a {
  text-decoration: none; color: #333; font-size: 14px; padding: 6px 0;
}
.global-nav .menu > li > a:hover { color: #000; 
text-decoration-line: underline;
  text-decoration-color: #e5036e;
  text-decoration-thickness: 4px;
  text-underline-offset: 12px; /* 文字から少し離す */
}

/* スマホ：ハンバーガー */
.nav-toggle {
  display: none; width: 36px; height: 36px; padding: 0; background: none; border: none;
}
.nav-toggle span { display: block; height: 2px; background: #333; margin: 7px 0; }

/* ============ 基本 ============ */
:root{ --brand:#036E75; --gold:#C2A66D; --ease:cubic-bezier(.22,.61,.36,1); }
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* PC時の通常ナビ（必要に応じて調整） */
.nav-area{
  display:flex; align-items:center; gap:24px;
}
.menu-primary, .menu-social{ display:flex; gap:20px; list-style:none; margin:0; padding:0; }
.menu-primary a, .menu-social a{ text-decoration:none; color:#111; }
.menu-primary > li{ position:relative; }

/* ハンバーガー */
.nav-toggle{
  appearance:none; background:transparent; border:0; width:44px; height:44px;
  display:grid; place-items:center; cursor:pointer; border-radius:10px;
}
.nav-toggle:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* ============ SPでドロワー化 ============ */
@media (max-width: 1024px){
  /* トップバーなどの右端にボタンを置く想定。必要なら位置調整 */
  .nav-toggle{ z-index:1001; }

  /* navをドロワーに変身 */
  .nav-area{
    position:fixed; inset:0 0 0 auto;          /* 右固定 */
    width:min(86vw,360px); height:100dvh;
    background:#fff; box-shadow:-12px 0 24px rgba(0,0,0,.08);
    transform:translateX(100%); transition:transform .34s var(--ease);
    z-index:1000; display:flex; flex-direction:column;
    padding:16px 12px;
  }
  .nav-area.is-open{ transform:translateX(0); }

  /* メニューを縦並びに */
  .menu-primary, .menu-social{ flex-direction:column; gap:0; }
  .menu-primary li, .menu-social li{ border-bottom:1px solid #f2f2f2; }
  .menu-primary a, .menu-social a{
    display:block; padding:16px 8px; font-weight:600; letter-spacing:.03em; color:#222;
  }
  .menu-primary a:hover{ color:var(--brand); transform:translateX(4px); transition:.2s var(--ease); }

  /* バックドロップ */
  .drawer-backdrop{
    position:fixed; inset:0; background:rgba(0,0,0,.36);
    backdrop-filter:saturate(120%) blur(2px);
    opacity:0; transition:opacity .28s var(--ease); z-index:999; display:none;
  }
  .drawer-backdrop.is-show{ display:block; opacity:1; }
}

/* ===== Footer全体 ===== */
#footer {
  font-size: 14px;
  color: #333;
  background: #ccc;
  line-height: 1.6;
}

/* ===== 上部「上へ戻る」 ===== */

.footer-top {
  display: flex;
  background: #eee;
  justify-content: space-between; /* 左右に配置 */
  align-items: center;
  flex-wrap: wrap; /* スマホ時に折り返す */
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid #ddd;
}

/* パンくずリストを左寄せ */
.footer-top .breadcrumb {
  margin: 0 0 0 20px;
  font-size: 0.9rem;
}

/* 最上段へ戻るボタンを右寄せ */
.footer-top .pagetop {
  font-size: 0.9rem;
  text-decoration: none;
  color: #333;
  background: #f2f2f2;
  padding: 6px 12px;
  border-radius: 4px;
  transition: background 0.2s;
  margin:0 20px 0 auto;
}
.footer-top .pagetop:hover {
  background: #ddd;
}

/* スマホ時：上下に並ぶように */
@media (max-width: 600px) {
  .footer-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-top .pagetop {
    align-self: flex-end;
    margin-top: 8px;
  }
}

/* ===== メイン部分 ===== */
.footer-main {
  background: #ddd;
  padding: 20px;
}
.footer-inner {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 0 auto;
}

.footer-left {
  text-align: left;
}
.footer-title {
  font-size: 20px;
  font-weight: bold;
  display: block;
  margin-top: 4px;
}
.footer-right {
  text-align: left;
}
.footer-right a {
  color: #333;
  text-decoration: none;
}
.footer-right a:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
.footer-inner {
  display: block;
}
.footer-title {
display: inline-block;
text-indent: 10px;
}
.footer-left{
  text-align: center;
}
.footer-right{
  text-align: center;
}
}

/* ===== コピーライト部分 ===== */
.footer-bottom {
  background: #aaa;
  text-align: center;
  padding: 10px;
  font-size: 12px;
  color: #555;
}



/*===== archive =========*/
.news-list {
  list-style: none;
  padding: 0;
  margin: 40px 0;
  display: grid;
  gap: 20px;
}
.news-item {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  transition: .25s;
}
.news-item:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.news-link {
  display: flex;
  gap: 20px;
  text-decoration: none;
  color: inherit;
  padding: 16px;
}
.news-thumb {
  flex: 0 0 30%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 6px;
  background: #f4f4f4;
}
.news-thumb img, .no-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.news-body {
  flex: 1 1 70%;
  display: grid;
  align-content: start;
  gap: 6px;
}
.news-date { color:#777; font-size: .9rem; }
.news-title { font-size: 1.2rem; margin: 4px 0; font-weight: 700; }
.news-excerpt { color:#333; font-size:.95rem; line-height:1.6; }

@media (max-width: 768px) {
  .news-link { flex-direction: column; }
  .news-thumb { aspect-ratio: 16 / 9; flex-basis: auto; }
}


.article-container { max-width: 960px; margin: 0 auto; padding: 40px 16px; }
.article-header { margin-bottom: 24px; }
.article-title { font-size: clamp(1.6rem, 2.2vw, 2.2rem); line-height: 1.3; font-weight: 800; margin: 0 0 8px; }
.article-meta { color:#666; font-size:.9rem; display:flex; gap:10px; flex-wrap:wrap; }
.article-cat { color:#0073aa; text-decoration:none; }
.article-cat:hover { text-decoration:underline; }
.article-thumb { margin: 20px 0; border-radius: 10px; overflow: hidden; }
.article-thumb img { width:100%; height:auto; display:block; }

.article-content { font-size:1.05rem; line-height:1.9; color:#222; }
.article-content img { max-width:100%; height:auto; }
.article-content h2, .article-content h3 { margin-top: 2.2em; }
.page-links { margin-top: 24px; }

.article-footer { margin-top: 28px; }
.article-tags { color:#666; font-size:.9rem; }
.article-tags a { text-decoration:none; background:#f2f2f2; padding:.2em .6em; border-radius: 999px; margin-right: 6px; }

.post-nav { display:flex; justify-content:space-between; gap:12px; margin: 36px 0; }
.post-nav a { text-decoration:none; }

.related-posts { margin: 48px 0; }
.related-title { font-size:1.2rem; margin-bottom: 16px; font-weight: 700; }
.related-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
.related-item { border:1px solid #e5e5e5; border-radius:8px; background:#fff; overflow:hidden; transition:.2s; }
.related-item:hover { box-shadow:0 6px 18px rgba(0,0,0,.08); transform: translateY(-1px); }
.related-link { display:flex; gap:12px; align-items:stretch; text-decoration:none; color:inherit; padding:12px; }
.related-thumb { flex:0 0 34%; aspect-ratio: 4/3; overflow:hidden; border-radius:6px; background:#f4f4f4; }
.related-thumb img, .related-thumb .no-thumb { width:100%; height:100%; object-fit:cover; display:block; }
.related-body { flex: 1; display:grid; align-content:start; gap:4px; }
.related-title-item { font-size:1rem; margin:0; font-weight:700; }

.no-thumb { background:#f0f0f0; }

@media (max-width: 768px) {
  .related-list { grid-template-columns: 1fr; }
  .related-link { flex-direction: row; }
  .related-thumb { flex-basis: 36%; aspect-ratio: 16/9; }
}


/*パンくずリスト*/
/* コンテナ */
.breadcrumb { margin: 0 0 16px; font-size: .9rem; color: #666; }
.breadcrumb + * { margin-top: 0; }

/* リスト＆区切り */
.breadcrumb-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4em; }
.breadcrumb-item { display: inline-flex; align-items: center; }
.breadcrumb-item + .breadcrumb-item::before {
  content: "›"; /* 区切り記号 */
  margin: 0 .4em;
  color: #aaa;
}

/* リンク */
.breadcrumb a { color: #0073aa; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }

/* 狭い幅で折返し */
@media (max-width: 640px){
  .breadcrumb { font-size: .85rem; }
}


/* 初期状態を完全非表示に */
[hidden]{display:none!important;}
.no-js .search-form-wrap{display:none!important;}
.search-form-wrap{
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .2s ease,transform .2s ease,visibility 0s .2s;
  will-change:opacity,transform;
  position:absolute;top:100%;right:0;
  background:#fff;border:1px solid #ccc;border-radius:8px;
  padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:1000;
}
.search-form-wrap.is-open{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .2s ease,transform .2s ease,visibility 0s 0s;
}

/* ナビ右端に配置 */
.menu-search{ position:relative; margin-left:auto; }
.search-toggle{
  background:none;border:none;cursor:pointer;font-size:1.3rem;padding:4px;color:inherit;
}

/* 検索フォームの見た目 */
.search-form input[type="search"]{
  width:220px;padding:6px 10px;border:1px solid #ccc;border-radius:4px;
}
.search-form button[type="submit"]{
  margin-left:6px;padding:6px 10px;border:none;border-radius:4px;
  background:#333;color:#fff;cursor:pointer;
}
.search-form button[type="submit"]:hover{ background:#555; }

/* sr-only（スクリーンリーダー用） */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important;
}

/*search.php*/
.search-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.search-item a {
  display: block;
  text-decoration: none;
  border-bottom: 1px solid #ddd;
  padding-bottom: 12px;
  color: inherit;
  transition: background 0.2s ease;
}

.search-item a:hover {
  background: #fafafa;
}

.search-date {
  font-size: 0.85rem;
  color: #999;
  display: block;
  margin-bottom: 4px;
}

.search-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
}

.search-excerpt {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.6;
  margin: 0;
}

.search-header {
  margin: 12px 0 20px;
}
.result-meta {
  color: #666;
  font-size: 0.9rem;
}

.no-results {
  margin: 32px 0;
  text-align: center;
}
.no-results form {
  margin-top: 16px;
}

.pagination {
  margin-top: 32px;
  text-align: center;
  margin-bottom: 32px;
}
.pagination .page-numbers {
  display: inline-block;
  padding: 6px 10px;
  margin: 0 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
  color: #333;
  text-decoration: none;
}
.pagination .page-numbers.current {
  background: #333;
  color: #fff;
  border-color: #333;
}


/* 親をflexにして横並び・中央揃え・改行禁止 */
.global-nav {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;   /* ← これで2行落ちを防ぐ */
  gap: 16px;           /* お好みで調整 */
}

/* WPメニュー(ul)の初期余白をリセット＆横並び */
.global-nav .menu {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;   /* メニュー項目も折り返さない */
  margin: 0;           /* ← ul のデフォルト余白を消す */
  padding: 0;
  list-style: none;
  gap: 20px;           /* 項目間の余白。お好みで */
}

/* レスポンシブ */
@media (max-width: 900px) {
  .global-nav { position: absolute; left: 0; right: 0; top: 56px; background: #fff;
                border-bottom: 1px solid #eee; display: none!important; }
  .global-nav.open { display: block!important; }
  .global-nav .menu { flex-direction: column; gap: 0; }
  .global-nav .menu > li > a { display: block; padding: 12px 16px; }
  .nav-toggle { display: inline-block; }
  .menu-search {
    margin-left: 0;              /* autoを解除 */
    justify-content: center;     /* 中央寄せ */
    width: 100%;                 /* 横幅いっぱいにして中央に配置 */
    padding-bottom: 20px;
  }
}


.wp-element-caption{
  font-size: 12px;
    text-align: center;
    color: gray;
}

.w80{
  width:80%;
  display: block;
  margin:0 auto;
}

.map img{
  margin:0;
}
.waku{
  border:2px solid #000;
}

.iframe-like {
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 16px;
  background: #fff;
  overflow: auto;
  max-height: calc( 35vw - 2em );
}

@media (max-width: 768px) {
.iframe-like {
  max-height: 400px;
}
}