/* =========================
いとすき（会員検索）CSS
- 一覧: page-itosuki.php（カード版・ホバーなし）
- 詳細: page-itosuki-detail.php（1社詳細・整形）
========================= */


/* =========================================================
   共通（ページ枠・見出し）
   ※ detail 側も同じ wrap/title を使うなら共通に置く
========================================================= */

.ik-itosuki-page-wrap{
	max-width:1100px;
	margin: 0 auto 48px;
	padding: 20px 16px;
}
.ik-itosuki-detail-page-wrap .ik-page-article {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	padding: 28px 32px;
	font-size: 17px;
	line-height: 1.9;
	color: #222;
}
@media (max-width: 600px) {
	.ik-itosuki-detail-page-wrap .ik-page-article {
		padding: 24px 18px;
		border-radius: 0;
		font-size: 16.5px;
	}
}
.ik-page__header {
	margin: 4px 0 20px;
}
.ik-page__header:not(.ik-itosuki-detail__header) {
	padding: 18px 18px;
	border-bottom: none;
	color: #333;
	background: #FFF5E6;
	border-left: 8px solid #E68A00;
	border-radius: 14px;
}
.ik-page__title {
	margin: 0;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: .02em;
}


/* =========================================================
   一覧ページ：検索フォーム
========================================================= */

.ik-itosuki-search{
	background:#f7f7f7;
	padding:16px;
	border-radius:8px;
	margin-bottom:24px;
}

.ik-itosuki-search__row{
	display:flex;
	flex-wrap:wrap;
	gap:12px 16px;
	align-items:flex-end;
}

.ik-itosuki-search__field{
	display:flex;
	flex-direction:column;
	min-width:160px;
}

.ik-itosuki-search__field--wide{
	flex:1;
	min-width:220px;
}

.ik-itosuki-search__label{
	font-size:12px;
	margin-bottom:4px;
	color:#555;
}

.ik-itosuki-search__select,
.ik-itosuki-search__input{
	padding:10px 12px;
	border:1px solid #ccc;
	border-radius:6px;
	font-size:14px;
	background:#fff;
}

.ik-itosuki-search__select:focus,
.ik-itosuki-search__input:focus{
	outline:none;
	border-color:#4aa3df;
}

.ik-itosuki-search__actions{
	display:flex;
	gap:12px;
	align-items:center;
}

/* 検索ボタン/リセットボタン */
.ik-itosuki-search__btn,
.ik-itosuki-search__reset{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:10px 16px;
	font-size:14px;
	border-radius:6px;
	border:1px solid transparent;
	cursor:pointer;
}

.ik-itosuki-search__btn{
	background:#1e73be;
	color:#fff;
	border-color:#1e73be;
}

.ik-itosuki-search__reset{
	background:#fff;
	color:#333;
	border-color:#ccc;
}


/* =========================================================
   一覧ページ：結果件数
========================================================= */

.ik-itosuki-results__count{
	font-size:14px;
	margin-bottom:12px;
	color:#555;
}


/* =========================================================
   一覧ページ：カード一覧
========================================================= */

.ik-itosuki-list{
	display:flex;
	flex-direction:column;
	gap:16px;
}

/* 1件＝カード */
.ik-itosuki-item{
	display:flex;
	gap:16px;
	padding:16px;

	background:#fff;
	border:1px solid #e5e5e5;
	border-radius:12px;

	/* 薄い色帯（デフォ） */
	border-top:4px solid rgba(30,115,190,.13);
}

/* カラム */
.ik-itosuki-item__col--left{
	flex:0 0 260px;
	min-width:220px;
}

.ik-itosuki-item__col--mid{
	flex:1 1 auto;
	min-width:260px;
}

.ik-itosuki-item__col--right{
	flex:0 0 260px;
	min-width:220px;
	display:flex;
	flex-direction:column;
	gap:6px;
}

/* バッジ群（※HTML側でこのラッパがある前提） */
.ik-itosuki-item__badges{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin:0 0 6px;
	line-height:1.6; /* ← 変な空白文字が混ざってたので正常化 */
}

/* バッジ */
.ik-itosuki-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 10px;
	border-radius:6px;
	font-size:12px;
	line-height:1.6; /* 高さ安定 */
	text-decoration:none;
	white-space:nowrap;
}

.ik-itosuki-badge--dist{
	background:#f5a623;
	color:#111;
}

.ik-itosuki-badge--ind{
	background:#444;
	color:#fff;
}

/* 事業所名 */
.ik-itosuki-item__name{
	margin:0;
	font-size:18px;
	line-height:1.35;
}

.ik-itosuki-item__name-link{
	color:#111;
	text-decoration:none;
	transition:.15s;
}

.ik-itosuki-item__name-link:hover{
	color:#0f5ea8;
}

/* コメント */
.ik-itosuki-item__comment{
	margin:0;
	font-size:16px;
	line-height:1.55;
	color:#222;
}

/* 追加リンク（HPなど） */
.ik-itosuki-item__sub-link{
	margin-top:8px;
	display:inline-block;
	font-size:14px;
	color:#1e73be;
	text-decoration:none;
	transition:.15s;
}

.ik-itosuki-item__sub-link:hover{
	color:#0f5ea8;
}

/* 右側：住所/TEL */
.ik-itosuki-item__line{
	display:flex;
	gap:8px;
	font-size:15px;
	line-height:1.55;
}

.ik-itosuki-item__link{
	color:#1e73be;
	text-decoration:none;
	font-weight:500;
	transition:.15s;
}

.ik-itosuki-item__link:hover{
	color:#0f5ea8;
}

/* 詳細ボタン */
.ik-itosuki-item__detail{
	margin-top:8px;
	padding:8px 12px;
	border:1px solid #d7d7d7;
	border-radius:8px;
	background:#fff;
	color:#1e73be;
	font-size:13px;
	text-decoration:none;
	transition:.15s;
}

.ik-itosuki-item__detail:hover{
	color:#0f5ea8;
	border-color:#bfcde0;
}


/* =========================================================
   一覧ページ：ページネーション
========================================================= */

.ik-itosuki-pagination{
	margin-top:18px;
}

.ik-itosuki-pagination .page-numbers{
	list-style:none;
	display:flex;
	gap:8px;
	padding:0;
	margin:0;
	flex-wrap:wrap;
}

.ik-itosuki-pagination a,
.ik-itosuki-pagination span{
	padding:8px 10px;
	border:1px solid #ddd;
	border-radius:8px;
	font-size:14px;
	text-decoration:none;
	line-height:1;
}

.ik-itosuki-pagination .current{
	border-color:#1e73be;
}


/* =========================================================
   一覧ページ：業種別カラー（バッジ＋カード色帯）
   ※ data-industry="◯◯" が .ik-itosuki-item に付く前提
========================================================= */

/* =========================================================
   業種別カラー（一覧・詳細 共通設計）
   ・バッジ：data-industry を自分で持つ
   ・カード色帯：.ik-itosuki-item が持つ
========================================================= */


/* ===== サービス業 ===== */
.ik-itosuki-badge--ind[data-industry="サービス業"]{
	background:#1e73be;
}
.ik-itosuki-item[data-industry="サービス業"]{
	border-top-color:rgba(30,115,190,.18);
}


/* ===== その他 ===== */
.ik-itosuki-badge--ind[data-industry="その他"]{
	background:#666;
}
.ik-itosuki-item[data-industry="その他"]{
	border-top-color:rgba(120,120,120,.18);
}


/* ===== 飲食業 ===== */
.ik-itosuki-badge--ind[data-industry="飲食業"]{
	background:#e74c3c;
}
.ik-itosuki-item[data-industry="飲食業"]{
	border-top-color:rgba(231,76,60,.18);
}


/* ===== 卸売業 ===== */
.ik-itosuki-badge--ind[data-industry="卸売業"]{
	background:#9b59b6;
}
.ik-itosuki-item[data-industry="卸売業"]{
	border-top-color:rgba(155,89,182,.18);
}


/* ===== 建設業 ===== */
.ik-itosuki-badge--ind[data-industry="建設業"]{
	background:#f39c12;
	color:#111;
}
.ik-itosuki-item[data-industry="建設業"]{
	border-top-color:rgba(243,156,18,.20);
}


/* ===== 娯楽業 ===== */
.ik-itosuki-badge--ind[data-industry="娯楽業"]{
	background:#2ecc71;
	color:#111;
}
.ik-itosuki-item[data-industry="娯楽業"]{
	border-top-color:rgba(46,204,113,.18);
}


/* ===== 宿泊業 ===== */
.ik-itosuki-badge--ind[data-industry="宿泊業"]{
	background:#3498db;
}
.ik-itosuki-item[data-industry="宿泊業"]{
	border-top-color:rgba(52,152,219,.18);
}


/* ===== 小売業 ===== */
.ik-itosuki-badge--ind[data-industry="小売業"]{
	background:#1abc9c;
	color:#111;
}
.ik-itosuki-item[data-industry="小売業"]{
	border-top-color:rgba(26,188,156,.18);
}


/* ===== 製造業 ===== */
.ik-itosuki-badge--ind[data-industry="製造業"]{
	background:#2c3e50;
}
.ik-itosuki-item[data-industry="製造業"]{
	border-top-color:rgba(44,62,80,.18);
}


/* =========================================================
   詳細ページ：1社詳細（枠なし / ページ本文として整える）
   ※ 一覧CSSには一切手を入れない（詳細側のみ上書き）
========================================================= */

/* タイトル下の余白（バッジ→タイトル→本文の流れを締める） */
.ik-page__header.ik-itosuki-detail__header {
	padding-bottom: 0;
}
.ik-itosuki-detail__header .ik-page__title{
	margin:0 0 12px;
}

/* バッジ行（タイトルの上） */
.ik-itosuki-detail__badges{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin:0 0 10px;
	padding:0;
	line-height:1;
}

/* 詳細全体：余計な「枠/カード化」をしない */
.ik-itosuki-detail{
	background:transparent;
	border:0;
	border-radius:0;
	padding:0;
}

/* 基本情報：枠を消して、行間と区切り線だけで整える */
.ik-itosuki-detail__dl{
	margin:0;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
}

/* 1行：ラベルと値を揃える（見た目の「おかしさ」解消の主役） */
.ik-itosuki-detail__row{
	display:grid;
	grid-template-columns: 7.5em 1fr;
	gap:10px 14px;
	padding:10px 0;
	border-bottom:1px solid #eee;
	align-items:start;
}

/* 最終行は線を消す */
.ik-itosuki-detail__row:last-child{
	border-bottom:0;
}

/* ラベル */
.ik-itosuki-detail__dt{
	margin:0;
	font-weight:700;
	color:#222;
	line-height:1.6;
}

/* 値 */
.ik-itosuki-detail__dd{
	margin:0;
	line-height:1.6;
	color:#222;
	word-break:break-word;
}

/* SNSリンクを横並び */
.ik-itosuki-detail__sns{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}

/* コメント：枠なし（見出し＋本文でまとめる） */
.ik-itosuki-detail__comment-wrap{
	margin-bottom:18px;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
}

.ik-itosuki-detail__comment-title{
	margin:0 0 6px;
	font-weight:700;
	color:#222;
}

.ik-itosuki-detail__comment{
	margin:0;
	font-size:16px;
	line-height:1.7;
	color:#222;
	white-space:pre-wrap;
}

/* 詳細ページのリンク（下線なし・色変化） */
.ik-itosuki-detail a,
.ik-itosuki-back a{
	color:#1e73be;
	text-decoration:none;
	font-weight:500;
	transition:.15s;
}

.ik-itosuki-detail a:hover,
.ik-itosuki-back a:hover{
	color:#0f5ea8;
	text-decoration:none;
}

/* 戻るリンク：枠の外・余白だけ整える */
.ik-itosuki-back{
	margin-top:14px;
}

/* さらに小さい画面：ラベル上、値下 */
@media (max-width:640px){
	.ik-itosuki-detail__row{
		grid-template-columns: 1fr;
		gap:6px;
		padding:10px 0;
	}
}

/* =========================================================
   一覧ページ：レスポンシブ（スマホ崩れ対策）
   ※ 以前あった分を復活
========================================================= */

@media (max-width:900px){

  /* ---- 検索フォーム：縦積み ---- */
  .ik-itosuki-search{
    text-align:left;
  }

  .ik-itosuki-search__row{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .ik-itosuki-search__field{
    min-width:0;
    width:100%;
  }

  .ik-itosuki-search__field--wide{
    min-width:0;
    width:100%;
  }

  .ik-itosuki-search__select,
  .ik-itosuki-search__input{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  .ik-itosuki-search__actions{
    width:100%;
    justify-content:flex-end;
    gap:10px;
  }

  /* ---- カード：縦積み（固定幅解除） ---- */
  .ik-itosuki-item{
    flex-direction:column;
    gap:10px;
    padding:14px;
  }

  .ik-itosuki-item__col--left,
  .ik-itosuki-item__col--mid,
  .ik-itosuki-item__col--right{
    flex:0 0 auto;
    width:100%;
    min-width:0;
  }

  .ik-itosuki-item__col--right{
    gap:8px;
  }
}

@media (max-width:640px){

  /* ボタン：左右2つを並べる */
  .ik-itosuki-search__actions{
    justify-content:space-between;
  }

  .ik-itosuki-search__btn,
  .ik-itosuki-search__reset{
    width:48%;
  }
}

/* =========================================
  いとすき：ページネーション
  - paginate_links('type' => 'list') 想定（<ul class="page-numbers">）
========================================= */

.ik-itosuki-pagination {
  margin-top: 18px;
}

.ik-itosuki-pagination .page-numbers {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.ik-itosuki-pagination .page-numbers li {
  margin: 0;
  padding: 0;
}

.ik-itosuki-pagination .page-numbers a,
.ik-itosuki-pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 40px;
  height: 40px;
  padding: 0 12px;

  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;

  background: #fff;
  color: inherit;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;

  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
}

.ik-itosuki-pagination .page-numbers a:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.18);
}

.ik-itosuki-pagination .page-numbers a:active {
  transform: translateY(1px);
}

.ik-itosuki-pagination .page-numbers .current {
  background: rgba(0, 0, 0, 0.08);
  border-color: rgba(0, 0, 0, 0.25);
  font-weight: 700;
}

/* 「…」 */
.ik-itosuki-pagination .page-numbers .dots {
  border-color: transparent;
  background: transparent;
  min-width: auto;
  padding: 0 6px;
}

/* 前へ/次へ */
.ik-itosuki-pagination .page-numbers .prev,
.ik-itosuki-pagination .page-numbers .next {
  min-width: 92px;
  padding: 0 14px;
  border-radius: 999px;
}

/* アクセシビリティ */
.ik-itosuki-pagination .page-numbers a:focus-visible {
  outline: 3px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
}

/* スマホで詰める */
@media (max-width: 480px) {
  .ik-itosuki-pagination .page-numbers {
    gap: 6px;
  }

  .ik-itosuki-pagination .page-numbers a,
  .ik-itosuki-pagination .page-numbers span {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 9px;
    font-size: 13px;
  }

  .ik-itosuki-pagination .page-numbers .prev,
  .ik-itosuki-pagination .page-numbers .next {
    min-width: 80px;
    padding: 0 12px;
  }
}
