/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Feb 09 2026 | 05:28:34 */
/* フォーカス線非表示 */
a:focus, *:focus { outline:none; }

/* リンクエフェクト＠ヘッダービジュアル */
.dotted-line-flow {
  position: relative;
  width: 1px;
  height: 60px;
  background-image: repeating-linear-gradient(
    to bottom,
    #FFFFFF6E,
    #FFFFFF6E 2px,
    transparent 2px,
    transparent 4px
  );
  margin: 0 auto;
  overflow: hidden;
}

/* 擬似要素で上から下に光を流す */
.dotted-line-flow::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
  animation: shineDown 2.0s linear infinite;
}

@keyframes shineDown {
  0% {
    top: -100%;
  }
  100% {
    top: 100%;
  }
}

/* ===== 利用規約・個人情報保護方針ブロック ===== */
.terms-txt {
  max-height: 700px;
  overflow-y: auto;
  padding: 16px 12px 16px 16px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: #fafafa;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 0.85em;
  line-height: 1.4;
  font-family:Noto Serif JP;
}

/* ===== 見出し調整 ===== */
.terms-txt h4,
.terms-txt h5 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 1em;
}

/* ===== テキスト要素の余白整理 ===== */
.terms-txt p {
  margin: 0 0 12px;
}

.terms-txt ul {
  margin: 0 0 12px 18px;
  padding: 0;
}

.terms-txt li {
  margin-bottom: 6px;
  list-style: circle;
}

/* ===== スクロールバー（WebKit系） ===== */
.terms-txt::-webkit-scrollbar {
  width: 6px;
}

.terms-txt::-webkit-scrollbar-track {
  background: transparent;
}

.terms-txt::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}

/* ===== モバイル対応 ===== */
@media (max-width: 767px) {
  .terms-txt {
    max-height: 25vh;
    padding: 14px;
  }
}

/* =========================
   WPForms Typography
   ========================= */

/* ラベル（項目名） */
.wpforms-form label,
.wpforms-form .wpforms-field-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

/* 入力フィールド・テキストエリア・セレクト */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="url"],
.wpforms-form input[type="number"],
.wpforms-form textarea,
.wpforms-form select {
  font-family: "Noto Serif JP", serif;
  font-size: 0.9em;
}

/* プレースホルダ */
.wpforms-form ::placeholder {
  font-family: "Noto Serif JP", serif;
  font-size: 0.9em;
}

/* 補足テキスト・説明文 */
.wpforms-form .wpforms-field-description,
.wpforms-form .wpforms-field-sublabel {
  font-family: "Noto Serif JP", serif;
  font-size: 0.85em;
}

/* チェックボックス・ラジオのラベル文字 */
.wpforms-form .wpforms-field-checkbox label,
.wpforms-form .wpforms-field-radio label {
  font-family: "Noto Serif JP", serif;
  font-size: 0.9em;
}

/* プルダウン本体 */
.wpforms-form select {
  font-family: "Noto Serif JP", serif;
  font-size: 0.9em;
  line-height: 1.4;
}

/* プルダウン内の選択肢（option） */
.wpforms-form select option {
  font-family: "Noto Serif JP", serif;
  font-size: 0.9em;
}

/* =========================
   WPForms Global Spacing Tuning
   ========================= */

/* 各フィールド全体の下余白 */
.wpforms-form .wpforms-field {
  margin-bottom: 0px;
}

/* ラベルの下余白 */
.wpforms-form .wpforms-field-label {
  margin-bottom: 6px;
  line-height: 1.45;
}

/* 入力フィールド共通 */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form textarea,
.wpforms-form select {
  padding: 10px 12px;
  font-size: 0.9em;
}

/* テキストエリアだけ少し余裕 */
.wpforms-form textarea {
  min-height: 120px;
}

/* 説明文（フィールド下の補足） */
.wpforms-form .wpforms-field-description {
  margin-top: 4px;
  font-size: 0.8em;
}

/* チェックボックス・ラジオの行間 */
.wpforms-form .wpforms-field-checkbox ul li,
.wpforms-form .wpforms-field-radio ul li {
  margin-bottom: 6px;
  color:#454545 !important;
}

/* WPForms 送信完了メッセージ（Form ID: 1245） */
#wpforms-1245 .wpforms-confirmation-container-full,
#wpforms-1245 .wpforms-confirmation-container {
  font-family: "Noto Serif JP", serif;
  font-size: 0.9em;
  color: #454545;
  line-height: 1.8;

  /* 利用規約ブロックと合わせる（必要なら下の値を利用規約と同じに調整） */
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(69, 69, 69, 0.25);
  border-radius: 6px;

  padding: 1.2em 1.4em;
  margin-top: 1.0em;
  box-sizing: border-box;
}

/* メッセージ内の段落・改行が詰まる場合の保険 */
#wpforms-1245 .wpforms-confirmation-container-full p,
#wpforms-1245 .wpforms-confirmation-container p {
  margin: 0 0 0.8em;
}

#wpforms-1245 .wpforms-confirmation-container-full p:last-child,
#wpforms-1245 .wpforms-confirmation-container p:last-child {
  margin-bottom: 0;
}

/* ヘッダーコンテンツメニュー */
.elementor-icon-box-title {text-decoration:none !important;}