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



/* フォームスタート */
.cf7__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
  margin-top: 30px;
}

.cf7__list dt {
  width: 35%;
  padding-top: 15px;
}

.cf7__list dd {
  width: 65%;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 6px 14px;
  color: #fff;
  font-size: 12px;
  vertical-align: 1px;
  border-radius: 10px; /* 角を丸く */
}

.cf7__required {
  background: #ffa500;
}

.cf7__optional {
  background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  width: 100%;
  padding: 15px 20px;
  background: #F4F4F4;
}

/* ドロップダウンメニュー 削除 */

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
  display: block;
  padding: 15px 0 10px;
}

.cf7__list dd .wpcf7-list-item {
  display: block;
  margin: 0;
}

.cf7__list dd .wpcf7-list-item:nth-child(n + 2) {
  margin-top: 18px;
}

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
  cursor: pointer;
}

/* チェックボックス・ラジオボタン */
input[type="checkbox"],
input[type="radio"] {
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border: 1px solid #bcbcbc;
  vertical-align: -3px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* チェックボックス */
input[type="checkbox"]:checked {
  border: 1px solid #000;
  background: #f68c00;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
}

/* ラジオボタン */
input[type="radio"] {
  border-radius: 50%;
}

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f68c00;
  content: '';
}

/* プレースホルダー */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5;
}

/* 個人情報保護方針 */
.cf7__privacy {
  text-align: center;
}
.cf7__privacy2 {
  text-align: center;
  margin-bottom: 20px; /* 送信ボタンとの間にスペースを追加 */
}

/* 送信ボタン */
.cf7__button {
  padding-left: 0; /* 左余白をリセット */
  text-align: center; /* ボタンを中央揃え */
}

input[type="submit"] {
  width: 180px; /* スマホ用の幅 */
  height: 56px; /* ボタンの高さ */
  background: #ffa500; /* 背景色 */
  color: #fff; /* テキスト色 */
  border: none; /* ボーダー削除 */
  border-radius: 10px; /* 角を丸く */
  margin: 0 auto; /* 中央揃え */
  display: flex; /* フレックスボックスで配置調整 */
  justify-content: center; /* 水平方向に中央揃え */
  align-items: center; /* 垂直方向に中央揃え */
  text-align: center; /* テキスト中央揃え */
  font-size: 16px; /* テキストサイズ調整 */
  line-height: normal; /* テキストの行の高さをリセット */
  transition: opacity 0.6s; /* ホバーアニメーション */
}

input[type="submit"]:hover {
  opacity: 0.6; /* ホバー時の透明度 */
}

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle;
}

@media screen and (max-width: 767px) {

  .cf7__list dt {
    width: 100%;
    margin-bottom: 15px;
    padding-top: 0;
  }

  .cf7__list dd {
    width: 100%;
  }

  .cf7__list dd:nth-of-type(n + 2) {
    margin-top: 0;
  }

  .cf7__list dd .wpcf7-checkbox,
  .cf7__list dd .wpcf7-radio {
    padding: 15px 0 0;
  }

  /* 送信ボタン */
  input[type="submit"] {
    width: 180px;
    height: 56px;
  }
}

/* フォーム終了 */


/* お問い合わせボタン開始 */
/* 右上に配置 */
.floating-contact {
  position: fixed;
  top: 160px;
  right: 20px;
  display: flex;
  flex-direction: column;
  z-index: 99998; /* メインビジュアルより上に表示 */
}

/* スマホで非表示 */
@media (max-width: 1080px) {
  .floating-contact {
    display: none;
  }
}

/* ボタンの画像サイズ */
.contact-button {
  width: 145px; /* ボタン画像の幅を調整 */
  height: 145px;
}

/* ホバー時の拡大効果 */
.contact-button:hover {
  transform: scale(1.1); /* 拡大 */
}

/* テキストの縦書きスタイル（縦幅を広く調整） */
.contact-text {
  position: absolute;
  left: -80px; /* ボタンから左に配置 */
  top: 50%;
  transform: translateY(-50%);
  writing-mode: vertical-rl; /* 縦書きに変更 */
  font-size: 14px;
  color: #000; /* 黒色の文字色 */
  background-color: rgba(255, 255, 255, 0.9); /* 背景色を追加 */
  padding: 10px 15px;
  border-radius: 5px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3); /* テキスト背景も立体的に */
  opacity: 0; /* 初期状態で非表示 */
  transition: opacity 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
  pointer-events: none;
  height: 220px; /* 縦幅を広げて1行に対応 */
  display: flex;
  align-items: center; /* テキストを中央揃え */
  justify-content: center;
  white-space: nowrap; /* 折り返さない */
  text-align: center;
}

/* お問い合わせボタンホバー時のテキスト */
.contact-item:hover .contact-text {
  opacity: 1; /* 表示 */
  transform: translateY(-50%) translateX(-5px); /* 少し左に動かす */
  background-color: #FFF7C9; /* お問い合わせ背景色 */
}

/* お問い合わせボタン終了 */


/* タイトルスタート */
/* --- ロゴとタイトル配置（共通） --- */
.custom-logo-wrapper {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 0.25em;
  justify-content: flex-start;
}

/* --- サイトタイトル（共通） --- */
.header_title {
  font-size: 14px;
  margin: 0;
  line-height: 1.2;
  white-space: nowrap;
  word-break: break-word;
  font-family: inherit;
  font-weight: normal;
  color: #333333;
}

/* --- ロゴ画像サイズ（共通） --- */
.c-headLogo__img {
  height: auto;
  width: auto;
  max-height: 70px;
}

/* --- PC（960px以上） --- */
@media (min-width: 960px) {
  .l-header .l-header__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .l-header__logo {
    margin-bottom: 0px;
    display: flex;
    justify-content: flex-start;
  }

  .c-gnavWrap {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 15px;
  }

  .c-gnav li {
    margin: 0 6px;
  }
}

/* --- スマホ・タブレット（～959px） --- */
@media (max-width: 959.98px) {
  /* メニュー非表示（ハンバーガー対応） */
  .c-gnavWrap {
    display: none;
  }

  /* ロゴ配置 */
  .custom-logo-wrapper {
    justify-content: center;
    align-items: center;
    gap: 0.5em;
  }

  .header_title {
    font-size: 10px;
    line-height: 1.3;
    white-space: normal;
    color: #555;
    text-align: left;
  }

  /* ▼ ロゴ画像サイズを縮小 */
  .c-headLogo__img {
    max-height: 36px;
    height: auto;
    width: auto;
    display: inline;
    vertical-align: middle;
  }

  .header_title .break::after {
    content: "\A";
    white-space: pre;
  }
}

/* --- 追従ヘッダー（959.98px以上） --- */
@media (min-width: 959.98px) {
  .l-fixHeader__logo .header_title {
    display: none;
  }

  .l-fixHeader__logo .c-headLogo__img {
    max-height: 32px;
  }

  .l-header .c-gnavWrap {
    margin-bottom: 16px;
  }

  .l-fixHeader .c-gnavWrap {
    margin-bottom: 0;
  }
}

/* --- トップ表示時のメニュー下線位置調整 --- */
.l-header:not(.is-fixed) .c-gnav > li > a::after {
  bottom: -16px;
}

/* --- トップ表示時のサブメニュー位置調整 --- */
.l-header:not(.is-fixed) .c-gnav > li ul.sub-menu {
  top: calc(100% + 16px);
}


/* タイトル終了 */

/* テーブル枠線
:root {
    --color_border--table: #771a7c;
} */


/* タイトル文字のスタイル */
.c-pageTitle {
  color: #333; /* フォントカラー */

/* タイトル文字のスタイルここまで */
