@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/
	File:style.css

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ===== トップの複合フィルターを横並びに ===== */
.post-filter{
  display:flex;
  flex-wrap:wrap;              /* 幅が足りなければ折り返し */
  align-items:flex-end;        /* ボタンの下端に揃える */
  gap:12px 14px;               /* 行間/列間 */
  margin-bottom:20px;
}

/* ラベルブロック（カテゴリ／地域）を横並びの“かたまり”に */
.post-filter > label{
  display:flex !important;     /* SWELLのblock指定を上書き */
  align-items:center;
  gap:8px;
  margin:0 !important;
  width:auto !important;
  white-space:nowrap;          /* ラベル文言が折れないように */
}

/* セレクトの見た目と最小幅 */
.post-filter select{
  min-width:140px;
  padding:4px 6px;
  font-size:14px;
  max-width:none;              /* SWELLのmax-width制限を無効化 */
}

/* 地域の4つを“横一塊”に見せる（地域ラベル内の複数selectに間隔） */
.post-filter label select + select{
  margin-left:8px;
}

/* ボタン */
.post-filter button{
  align-self:flex-end;
  height:34px;                 /* セレクトと高さ合わせ目安 */
  padding:0 16px;
  font-size:14px;
  background:#0073aa;
  color:#fff;
  border:0;
  border-radius:4px;
  cursor:pointer;
}
.post-filter button:hover{ background:#005f8d; }

/* ---- スマホ：縦積みでフル幅 ---- */
/*
 * @media (max-width: 640px){
  .post-filter{ flex-direction:column; align-items:stretch; }
  .post-filter > label{ width:100% !important; flex-wrap:wrap; }
  .post-filter select{ width:100%; min-width:0; }
  .post-filter label select + select{ margin-left:0; margin-top:8px; }
  .post-filter button{ width:100%; }
}
*/
/* ---- スマホでも横並び（縦積み解除） ---- */
@media (max-width: 640px){
  .post-filter{
    flex-direction: row;      /* ← column を解除して横並びに */
    flex-wrap: wrap;          /* 狭い画面では折り返し許可 */
    align-items: center;
    justify-content: space-between;
    gap: 6px;                 /* 要素間の間隔を適度に */
  }

  .post-filter > label{
    width: auto !important;   /* フル幅指定を解除 */
    flex: 1 1 auto;
    min-width: 120px;         /* 選択肢が小さくなりすぎないように */
  }

  .post-filter select{
    width: 100%;
    min-width: 0;
  }

  .post-filter label select + select{
    margin-left: 4px;         /* 同一ラベル内の select 間を軽く詰める */
    margin-top: 0;            /* 縦積み前提の余白を削除 */
  }

  .post-filter button{
    flex-shrink: 0;
    padding: 6px 10px;
  }
}

/* === Calendar CTA（控えめ・落ち着いたトーン） === */
.calendar-cta {
  margin: 28px 0;
  padding: 18px 12px;
  border-top: 2px solid var(--color_main, #2ea7f2);
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.015);
}

.calendar-cta__title {
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  margin: 0 0 10px;
  color: #333;
}

.calendar-cta__subtitle {
  text-align: center;
  color: #666;
  font-size: 13px;
  margin-bottom: 14px;
}

/* ボタンエリア */
.calendar-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
}

/* カウント（控えめグレー） */
.calendar-cta__count {
  align-self: center;
  color: #777;
  font-size: 12px;
}

/* 三角ナビ（triangle-nav） */
.triangle-nav .triangle-item {
    padding: 20px 10px;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    background: #fafafa;
    transition: all .25s ease;
}

.triangle-nav .triangle-item:hover {
    background: #f0f7ff;
    border-color: #7bb8ff;
}

.triangle-nav .triangle-link {
    font-size: 1.1em;
    color: #0066cc;
}
/* ============================================
   三角ナビ（Case / Tech / Cost）スマホ最適化
   for max-width: 599px
   ============================================ */
@media (max-width: 599px) {

	/* 親グループのマージン調整 */
	.triangle-nav {
		margin: 24px 0 !important;
	}

	/* カラムを縦並びに変更 */
	.triangle-nav .wp-block-columns {
		flex-direction: column !important;
		gap: 24px !important;
	}

	/* 各アイテムの余白 */
	.triangle-nav .triangle-item {
		padding: 20px 12px !important;
		text-align: center !important;
		border: 1px solid rgba(0,0,0,0.08);
		border-radius: 8px;
		background: #ffffff;
		box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	}

	/* タイトル文字サイズ大きめに */
	.triangle-nav .triangle-item p:first-child {
		font-size: 1.25em !important;
		line-height: 1.4 !important;
		margin-bottom: 4px !important;
	}

	/* サブ説明 */
	.triangle-nav .triangle-item p:nth-child(2) {
		font-size: 0.95em !important;
		margin-top: -4px !important;
		color: #444;
	}

	/* ボタンリンク */
	.triangle-nav .triangle-item a.triangle-link {
		display: inline-block;
		margin-top: 8px;
		font-size: 1em!important;
		color: var(--color_link, #1176d4);
		text-decoration: none;
		font-weight: 700;
	}

	/* クリック範囲を拡大（UX改善） */
	.triangle-nav .triangle-item a.triangle-link strong {
		display: inline-block;
		padding: 6px 12px;
		border-radius: 6px;
		background: rgba(17,118,212,0.07);
	}

}

/*======================================================================
  Add   : submit locking style
  Created: 2026-01-03 JST
  Updated: 2026-01-03 JST
======================================================================*/
button.is-submitting,
input.is-submitting {
	opacity: .6;
	cursor: not-allowed;
}


/* ===============================
  Home: section間の余白を詰める（SWELL: #body_wrap に home が付く前提）
  Created: 2026-01-27 JST
  Updated: 2026-01-27 JST
  Author : R2Fish Project / ChatGPT
================================ */

/* 念のため body.home と #body_wrap.home 両対応（どちらでも効く） */
body.home .u-mb-40,
#body_wrap.home .u-mb-40 { margin-bottom: 30px !important; }

body.home .u-mb-60,
#body_wrap.home .u-mb-60 { margin-bottom: 38px !important; }

/* 最後は少し残すなど、個別調整したい場合 */
body.home .p-homeFooterNote.u-mb-60,
#body_wrap.home .p-homeFooterNote.u-mb-60 { margin-bottom: 40px !important; }

/* YIC: 関連記事ボックス */
.yic-related-box{
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  border-radius: 10px;
  padding: 14px 16px;
  margin: 18px 0;
  line-height: 1.7;
}
.yic-related-box a{
  display: inline-block;
  margin: 4px 0;
}
.yic-related-box::before{
  content: "関連記事";
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
  opacity: .85;
}
/*======================================================================
  Sidebar spacing adjust
  Created: 2026-03-30 JST
  Updated: 2026-03-30 JST
  Summary:
    - サイドバー内の見出し下余白を詰める
    - サイドバー内の widget 同士の間隔を少し広げる
======================================================================*/

.l-sidebar .c-widget__title {
	margin-bottom: 0.6em;
}

.l-sidebar .c-widget + .c-widget {
	margin-top: 1.5em;
}
