@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/

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


/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media (max-width:500px){
  .inquiry th,.inquiry td{
    display:block!important;
    width:100%!important;
    border-top:none!important;
    -webkit-box-sizing:border-box!important;
    -moz-box-sizing:border-box!important;
    box-sizing:border-box!important;
  }
  .inquiry tr:first-child th{
    border-top:1px solid #d7d7d7!important;
  }
  /* 必須・任意のサイズ調整 */
  .inquiry .haveto,.inquiry .any{
    font-size:10px;
  }
}

/*見出し欄*/
.inquiry th{
  text-align:left;
  font-size:14px;
  color:#444;
  padding-right:5px;
  width:30%;
  background:#f7f7f7;
  border:solid 1px #d7d7d7;
}

/*通常欄*/
.inquiry td{
  font-size:13px;
  border:solid 1px #d7d7d7;
}

/*横の行とテーブル全体*/
.entry-content .inquiry tr,
.entry-content table{
  border:solid 1px #d7d7d7;
}

/*必須の調整*/
.haveto{
  font-size:7px;
  padding:5px;
  background:#ff9393;
  color:#fff;
  border-radius:2px;
  margin-right:5px;
  position:relative;
  bottom:1px;
}

/*任意の調整*/
.any{
  font-size:7px;
  padding:5px;
  background:#93c9ff;
  color:#fff;
  border-radius:2px;
  margin-right:5px;
  position:relative;
  bottom:1px;
}

/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
  display:block;
}

/*送信ボタンのデザイン変更*/
#formbtn{
  display:block;
  padding:1em 0;
  margin-top:30px;
  width:100%;
  background:#ffaa56;
  color:#fff;
  font-size:18px;
  font-weight:bold;
  border-radius:2px;
  border:none;
}

/*送信ボタンマウスホバー時*/
#formbtn:hover{
  background:#fff;
  color:#ffaa56;
}


/* =========================
   新着情報一覧（p-postList） ※Lは大文字
========================= */

/* 一覧全体を囲む */
.p-postList.-type-simple{
  border: 1px solid #cfd6dc;
  border-radius: 16px;
  padding: 14px 18px;
  background: #fff;
}

/* 1件分（余白） */
.p-postList.-type-simple .p-postList__item{
  padding: 16px 0;
}

/* 区切り線：1本だけ（上側に実線） */
.p-postList.-type-simple .p-postList__item + .p-postList__item{
  border-top: 1px solid #e1e6eb;
}

/* リンクをブロック化 */
.p-postList__link{
  display:block;
  text-decoration:none;
}

/* 本文レイアウト：PCは横並び（1行） */
.p-postList.-type-simple .p-postList__body{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:16px;
}

/* 日付・カテゴリ側 */
.p-postList__meta{
  flex-shrink:0;
  white-space:nowrap;
  font-size:14px;
  color:#6b7785;
  line-height:1.4;
}

/* タイトル（h2） */
.p-postList__title{
  font-size:22px;          /* ご希望が22pxとのことなので22pxに統一 */
  font-weight:600;
  line-height:1.5;
  margin:0;
  color:#1f2a37;

  /* 長いタイトルは1行で省略（必要なければ次の3行を削除） */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* hover時 */
.p-postList__link:hover .p-postList__title{
  text-decoration:underline;
}

/* スマホでは従来どおり2行に戻す（推奨） */
@media (max-width: 640px){
  .p-postList.-type-simple .p-postList__body{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .p-postList__title{
    font-size:16px;
    white-space:normal;      /* スマホは折り返し */
    overflow:visible;
    text-overflow:clip;
  }
}


/* =========================================
   ヘッダー（ロゴ＋グローバルナビ）上下の余白を詰める
   ※ class名はすべて実HTMLのとおり（大小文字含め一致）
========================================= */

/* ヘッダー内側の上下余白 */
#header.l-header .l-header__inner{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* ロゴブロックの上下余白 */
#header.l-header .l-header__logo{
  padding-top:6px !important;
  padding-bottom:6px !important;
}

/* ロゴ画像由来の余白対策（画像下の隙間など） */
#header.l-header .c-headLogo{
  margin:0 !important;
}
#header.l-header .c-headLogo__link{
  padding:0 !important;
  line-height:1 !important;
}
#header.l-header .c-headLogo__img{
  display:block !important;
}

/* グローバルナビ（メニューリンク）の上下余白 */
#header.l-header .l-header__gnav .c-gnav > li > a{
  padding-top:6px !important;
  padding-bottom:6px !important;
}

/* 固定ヘッダー側（スクロール後）も同様に詰める */
#fix_header.l-fixHeader .l-fixHeader__logo{
  padding-top:6px !important;
  padding-bottom:6px !important;
}
#fix_header.l-fixHeader .l-fixHeader__gnav .c-gnav > li > a{
  padding-top:6px !important;
  padding-bottom:6px !important;
}

/* =========================================
   ヘッダー高さをさらに詰める（最小寄り）
========================================= */

/* ヘッダー内側（箱そのもの） */
#header.l-header .l-header__inner{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ロゴブロック */
#header.l-header .l-header__logo{
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

/* ロゴ画像の余白・行高を完全に殺す */
#header.l-header .c-headLogo,
#header.l-header .c-headLogo__link{
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

/* 画像は block にして下余白を消す */
#header.l-header .c-headLogo__img{
  display: block !important;
  margin: 0 !important;
}

/* グローバルナビ（文字上下） */
#header.l-header .l-header__gnav .c-gnav > li > a{
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  line-height: 1.2 !important;
}

/* 固定ヘッダー（スクロール後）も同じ */
#fix_header.l-fixHeader .l-fixHeader__logo{
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}
#fix_header.l-fixHeader .l-fixHeader__gnav .c-gnav > li > a{
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  line-height: 1.2 !important;
}

/* =================================================
   ヘッダー：フォントサイズはそのまま／上下余白だけ最小化
================================================= */

/* ヘッダー内側の上下余白をゼロ */
#header.l-header .l-header__inner{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ロゴ領域の上下余白を最小化（ここが一番効きます） */
#header.l-header .l-header__logo{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ロゴ画像の下に出る余白（inline画像由来）を消す */
#header.l-header .c-headLogo__img{
  display: block !important;
}

/* グローバルナビの上下余白（フォントサイズは触らずpaddingだけ削る） */
#header.l-header .l-header__gnav .c-gnav > li > a{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ナビUL/LI側の余白も念のため潰す */
#header.l-header .c-gnav,
#header.l-header .c-gnav > li{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 固定ヘッダー（スクロール後）も同様 */
#fix_header.l-fixHeader .l-fixHeader__logo{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
#fix_header.l-fixHeader .l-fixHeader__gnav .c-gnav > li > a{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#header.l-header{
  min-height: 0 !important;
}
#header.l-header .l-header__inner{
  min-height: 0 !important;
}
#fix_header.l-fixHeader{
  min-height: 0 !important;
}
#fix_header.l-fixHeader .l-fixHeader__inner{
  min-height: 0 !important;
}

/* メインビジュアル（トップ画像）の上余白を削除 */
.p-mv{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* メインビジュアル（トップ画像）の上余白を削除 */
.p-mv{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ヘッダー直下のラッパー余白を強制除去 */
.l-content,
.l-main{
  margin-top: 0 !important;
  padding-top: 5 !important;
}

/* =================================================
   トップページ：投稿記事一覧（p-postList -type-simple）
   要望：囲い線は残す／横罫線は全削除／行間を半分
================================================= */

/* 囲い線（角丸＋枠線）は維持 */
.p-postList.-type-simple{
  border: 1px solid #cfd6dc;
  border-radius: 16px;
  padding: 14px 18px;
  background: #fff;
}

/* 行間（縦余白）を半分に */
.p-postList.-type-simple .p-postList__item{
  padding: 8px 0; /* 16px → 8px */
}

/* 記事間の横罫線を全削除（border-top/bottom/疑似要素含む） */
.p-postList.-type-simple .p-postList__item,
.p-postList.-type-simple .p-postList__item + .p-postList__item{
  border: 0 !important;
}
.p-postList.-type-simple .p-postList__item::before,
.p-postList.-type-simple .p-postList__item::after,
.p-postList.-type-simple .p-postList__body::before,
.p-postList.-type-simple .p-postList__body::after{
  content: none !important;
}

/* =====================================
   トップページ 投稿一覧の余白・行間をさらに詰める
===================================== */

/* 記事1件ごとの上下パディングを半分に */
.p-postList.-type-simple .p-postList__item{
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* 記事本体（メタ＋タイトル）の行間を詰める */
.p-postList.-type-simple .p-postList__body{
  gap: 8px !important;   /* 以前16px → 半分 */
}

/* 日付・カテゴリの行間を詰める */
.p-postList__meta{
  line-height: 1.2 !important;
}

/* タイトルの行間を詰める（フォントサイズは変更しない） */
.p-postList__title{
  line-height: 1.3 !important;
}

/* 念のため：記事間の罫線は完全に無効化 */
.p-postList.-type-simple .p-postList__item + .p-postList__item{
  border-top: none !important;
}
