@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Serif+JP:wght@400&family=Inter:wght@400;600;700;800&display=swap);

html { font-size: 100%; } 
body {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}



/* ===== 見出し：画像の「太すぎない」感じ ===== */
.entry-title {          /* ページタイトル（お問い合わせ 等） */
  font-size: 44px;      /* ここは好みで 40〜48pxで調整 */
  line-height: 1.2;
  font-weight: 700;     /* ボールド */
}

h2, .wp-block-heading { /* ブロック見出し（メッセージ等） */
  font-size: 32px;      /* ここは好みで 28〜34px */
  line-height: 1.3;
  font-weight: 700;     /* ボールド */
}

/* 本文の見出し（h3以降）は少し控えめに */
h3 {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 600;
}

h1, h2, h3 {
  margin: 0 0 0.8em;
}






/* リンク：普段は控えめ、必要時だけ分かる */
a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.note {
  color: inherit;
  background: #f6f6f6;
  padding: 12px 16px;
  border-left: 4px solid #ddd;
  font-size: 0.95rem;
  line-height: 1.8;
}

.entry-header .entry-title {
  font-size: 42px;
  line-height: 1.3;
}

/* 確認用：ページタイトルを強制変更 */
header.entry-header h1.entry-title{
  font-size: 44px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* ページタイトル下の横線を消す（Twenty Twenty-One） */
.entry-header.alignwide::before,
.entry-header.alignwide::after {
  content: none !important;
  display: none !important;
}

.entry-header.alignwide {
  border: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* ページタイトルを中央寄せにする */
.entry-header {
  text-align: center;
}

/* ニュース（ブログ/カテゴリ/アーカイブ）の大見出しを調整 */
body.blog .page-title,
body.archive .page-title,
body.category .page-title,
body.tag .page-title {
  font-family: "Noto Sans JP","Hiragino Sans","ヒラギノ角ゴシック","Yu Gothic","游ゴシック",sans-serif !important;
  font-size: 3.2rem !important;  /* 好みで 2.8rem〜3.6rem */
  font-weight: 700 !important;   /* ボールド程度 */
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
  margin-bottom: 0.8em !important;
}

/* タイトル下の横線（下線みたいな線）を消す */
body.blog .page-header,
body.archive .page-header,
body.category .page-header,
body.tag .page-header {
  border-bottom: none !important;
}

body.blog .page-header::after,
body.archive .page-header::after,
body.category .page-header::after,
body.tag .page-header::after {
  display: none !important;
  content: none !important;
}

/* コメント欄を非表示 */
.comments-area,
.comment-respond,
.comment-list,
#comments {
  display: none !important;
}


/* =========================
  メニューのサイズ
========================= */

/* ナビの基本文字サイズ（CSS変数を上書き） */
:root{
  --primary-nav--font-size: 16px;
  --primary-nav--font-size-mobile: 16px;
}

/* 念のためリンク自体も上書き（効かない時の保険） */
.primary-navigation .primary-menu-container > ul > li > a{
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.4;
  padding: 0.6em 0.9em; /* 余白も大きければここで調整 */
}

/* スマホの「メニュー/閉じる」ボタン側も整える */
#primary-mobile-menu{
  font-size: 14px !important;
  line-height: 1.2;
}

/* =========================
  Contact Form 7（枠とボタンを整える）
========================= */

/* フォーム全体の余白と幅 */
.wpcf7 form{
  max-width: 720px;
  margin: 0 auto;
}

/* ラベル（お名前/メール等） */
.wpcf7 form p{
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.7;
}

/* 入力共通：テキスト/メール/電話/URL/テキストエリア/セレクト */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea{
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid #cfcfcf;     /* 太すぎない線 */
  border-radius: 10px;            /* 角丸 */
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  outline: none;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
}

/* テキストエリアは高さを確保 */
.wpcf7 textarea{
  min-height: 180px;
  resize: vertical;
}

/* フォーカス時：うっすら強調（おしゃれに見えるポイント） */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  border-color: #111;
  box-shadow: 0 0 0 4px rgba(0,0,0,.08);
}

/* プレースホルダー（薄く） */
.wpcf7 ::placeholder{
  color: rgba(0,0,0,.45);
}

/* 送信ボタン */
.wpcf7 input[type="submit"]{
  appearance: none;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  border-radius: 999px;           /* 丸み */
  padding: 12px 22px;
  font-size: 16px;
  font-weight: 700;               /* ボールド */
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform .05s, opacity .2s, background-color .2s;
}

/* ホバー・押下 */
.wpcf7 input[type="submit"]:hover{
  opacity: .9;
}
.wpcf7 input[type="submit"]:active{
  transform: translateY(1px);
}

/* 送信中ボタンの見た目（CF7） */
.wpcf7 form.submitting input[type="submit"]{
  opacity: .6;
  cursor: not-allowed;
}


/* 会社概要テーブル（Twenty Twenty-One 対策） */
.site-main .entry-content .wp-block-table table.has-fixed-layout {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e5e5e5;
  background: #fff;
  font-size: 16px;
  line-height: 1.7;
}

/* セル共通 */
.site-main .entry-content .wp-block-table table.has-fixed-layout td {
  padding: 16px 18px;
  border: 1px solid #e5e5e5;
  vertical-align: middle;
}

/* 左列（項目名） */
.site-main .entry-content .wp-block-table table.has-fixed-layout td:first-child {
  width: 26%;
  background: #f5f5f5;
  font-weight: 700;
  white-space: nowrap;
}


/* スマホ：1行を「見出し→値」の2段カードにする */
@media (max-width: 600px) {

  /* テーブルは通常表示のまま、中身だけ縦積みに */
  .site-main .entry-content .wp-block-table table.has-fixed-layout {
    border: none;
  }

  .site-main .entry-content .wp-block-table table.has-fixed-layout tr {
    display: block;
    border: 1px solid #e5e5e5;
    margin: 0 0 12px;
    background: #fff;
  }

  .site-main .entry-content .wp-block-table table.has-fixed-layout td {
    display: block;
    width: 100%;
    border: none;
    padding: 12px 14px;
  }

  /* 見出し（左列）を全幅にして、背景も全幅にする */
  .site-main .entry-content .wp-block-table table.has-fixed-layout td:first-child {
    width: 100%;
    background: #f6f6f6;
    font-weight: 700;
    white-space: normal;
    word-break: keep-all;
    border-bottom: 1px solid #e5e5e5;
  }

  /* 値（右列） */
  .site-main .entry-content .wp-block-table table.has-fixed-layout td:last-child {
    padding-top: 14px;
  }
}
