/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.4.1769258534
Updated: 2026-01-24 12:42:14

*/
/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.4.1769258534
Updated: 2026-01-24 12:42:14

*/

/* カイロ問診票全体のボックス */
.cairo-form-wrapper {
  max-width: 800px;
  margin: 40px auto;
  padding: 24px;
  background-color: #fffdf6;   /* ほぼ白のクリーム色 */
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border: 1px solid #f2f2f2;
  font-family: "Helvetica Neue", "YuGothic", "游ゴシック体", sans-serif;
}

/* 見出し（h2） */
.cairo-form-wrapper h2 {
  font-size: 28px;
  letter-spacing: 0.15em;
  text-align: center;
  margin-bottom: 32px;
  color: #333333;
}

/* ラベル列（左側） */
.cairo-form-wrapper table {
  width: 100%;
  border-collapse: collapse;
}

.cairo-form-wrapper th {
  width: 32%;
  padding: 18px 10px;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: #444444;
  vertical-align: top;
  border-bottom: 1px solid #f0f0f0;
}

/* 入力欄列（右側） */
.cairo-form-wrapper td {
  padding: 12px 0 18px;
  border-bottom: 1px solid #f7f7f7;
}

/* テキスト系入力（PC共通） */
.cairo-form-wrapper input[type="text"],
.cairo-form-wrapper input[type="email"],
.cairo-form-wrapper input[type="tel"],
.cairo-form-wrapper input[type="date"],
.cairo-form-wrapper textarea {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #dddddd;
  background: #fafafa;
  font-size: 14px;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

/* フォーカス時 */
.cairo-form-wrapper input:focus,
.cairo-form-wrapper textarea:focus {
  outline: none;
  border-color: #7ac4b8;
  box-shadow: 0 0 0 3px rgba(122,196,184,0.25);
  background: #ffffff;
}

/* textarea 高さ */
.cairo-form-wrapper textarea {
  min-height: 120px;
}


/* プレースホルダー色 */
.cairo-form-wrapper ::placeholder {
  color: #bbbbbb;
}

/* 既往歴のチェックボックス行 */
.cairo-form-wrapper .history-options label {
  margin-right: 16px;
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  cursor: pointer;
}

.cairo-form-wrapper .history-options input[type="checkbox"] {
  margin-right: 4px;
}

/* 送信ボタン */
.cairo-form-wrapper input[type="submit"] {
  display: block;
  margin: 24px auto 0;
  padding: 12px 40px;
  border-radius: 999px;
  border: none;
  background: #7ac4b8;
  color: #ffffff;
  font-size: 15px;
  letter-spacing: 0.15em;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease,
              box-shadow 0.2s ease;
}

.cairo-form-wrapper input[type="submit"]:hover {
  background: #67b3a8;
  box-shadow: 0 6px 12px rgba(0,0,0,0.12);
  transform: translateY(-1px);
}

.cairo-form-wrapper input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: none;
}

/* タイトル帯（PC・スマホ共通） */
/* ★ここを新しい指定に置き換え（マイナス margin をやめる） */
.cairo-form-wrapper .cairo-form-title {
  margin: 0 0 24px;        /* 親幅の中に収める */
  padding: 16px 20px;
  background-color: #1976d2;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-align: center;
  border-radius: 8px;
}

/* スマホ対応 */
@media (max-width: 640px) {

  /* フォーム枠を画面内に収める */
  .cairo-form-wrapper {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 16px auto;
    padding: 16px;
  }

  .cairo-form-wrapper th,
  .cairo-form-wrapper td {
    display: block;
    width: 100%;
    border-bottom: none;
  }

  .cairo-form-wrapper th {
    padding-bottom: 4px;
  }

  .cairo-form-wrapper td {
    padding-top: 0;
    margin-bottom: 12px;
    border-bottom: 1px solid #f2f2f2;
  }

  /* 入力フィールド・textarea 再確認 */
  .cairo-form-wrapper input[type="text"],
  .cairo-form-wrapper input[type="email"],
  .cairo-form-wrapper input[type="tel"],
  .cairo-form-wrapper input[type="date"],
  .cairo-form-wrapper input[type="number"],
  .cairo-form-wrapper textarea {
    font-size: 16px;  /* 16px 以上にするのがポイント */
    width: 100%;
    box-sizing: border-box;
  }

  /* タイトル帯（スマホでは文字サイズだけ調整） */
  .cairo-form-wrapper .cairo-form-title {
    font-size: 20px;
    margin-bottom: 20px;
    padding: 14px 16px;
  }

  .cairo-form-wrapper table {
    width: 100%;
    table-layout: fixed;
  }

  .cairo-form-wrapper th,
  .cairo-form-wrapper td {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .wp-site-blocks,
  .cairo-form-wrapper {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
}

/* 必須バッジ（PC・スマホ共通） */
.cairo-form-wrapper .required-badge {
  display: inline-block;
  margin-right: 6px;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  background-color: #d9534f;
  color: #ffffff;
  border: 1px solid #d9534f;
  line-height: 1.2;
  box-sizing: border-box;
}

/* 横並び → 縦並び */
span.wpcf7-list-item {
  display: block;
  margin: 0 0 0.5em 0;
}

/* セクションタイトルを一列に */
.monshin-section-title {
  white-space: nowrap;
}

/* サイト全体の背景 */
body {
  background-color: #f5f5dc !important;
  color: #333;
}

/* 横スクロールを抑制 */
html, body {
  overflow-x: hidden;
}

/* 縦スクロール優先 */
.cairo-form-wrapper {
  touch-action: pan-y;
}

/* クローズアップ禁止　睡眠時間フィールドだけに適用 */	
@media (max-width: 640px) {
  .cairo-form-wrapper .sleep-hour-input {
    font-size: 16px;
  }
	
}


@media (max-width: 781px) {
  .wp-block-columns.mobile-2col:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 45% !important;
  }
	
	
	/* リンクボタンをホバーしたら色が変わる */	
  .wp-block-columns.mobile-2col::after {
    content: "";
    width: 45%;
    height: 0;
  }
.wp-block-button__link.hover-green {
  background: #4A6741 !important;
  color: #FFFFFF !important;
  border-radius: 50px;
  transition: background 0.3s ease; /* 滑らか変化 */
}
.wp-block-button__link.hover-green:hover {
  background: #5A7A51 !important;
  transform: translateY(-2px); /* 軽く浮かせる */
  box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* 影追加 */
}
 cursor:pointer; fill:#ccc;  /* SVGにインタラクティブ追加でホバー効果 */
	
}

