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



.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
	bottom: 50%;
    left: calc(100% - 30px);
    width: auto;
}


.swiper-pagination-bullet{
	display:block;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	    margin: 10px 0;
}





.p-mainVisual__scroll.c-plainBtn{
	bottom: 0;
	& svg{
		display: none;
	}
	
	&::before {
		  animation: scroll 2s infinite;
		  background-color: #fff;
		  bottom: 40px;
		  content: "";
		  height: 100px;
		  left: 0;
		  margin: auto;
		  position: absolute;
		  right: 0;
		  width: 1px;
	}
	
	
	& .p-mainVisual__scrollLabel{
/* 		font-size: 0; */
		&::before{
/*
			position: relative;
			content: "scroll";
			font-size: 12px;
*/
		}
	}
	
}


/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}



.home .l-header .l-container {
    max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
}



.fa-x-twitter::before,
.fa-x-twitter-square::before {
content: "\e61b";
}




/* フォーム全体のコンテナ調整 */
.wpcf7 {
  max-width: 680px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #333333;
}

.wpcf7 *,
.wpcf7 *::before,
.wpcf7 *::after {
  box-sizing: border-box;
}

/* 各入力行 (段落タグ) */
.wpcf7 form p,
.wpcf7 .form-field {
  margin-bottom: 1.75rem;
}

/* ラベル要素のブロック化 */
.wpcf7 label,
.wpcf7 .form-label {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 0.5rem;
  color: #2c3e50;
}

/* --------------------------------------------------------------------------
   バッジ装飾 (必須・任意ラベル)
   -------------------------------------------------------------------------- */
.wpcf7 .badge {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.3em 0.6em;
  margin-left: 0.5rem;
  border-radius: 4px;
}

/* 必須バッジ */
.wpcf7 .badge.required {
  background-color: #e74c3c;
  color: #ffffff;
}

/* 任意バッジ */
.wpcf7 .badge.optional {
  background-color: #95a5a6;
  color: #ffffff;
}

/* --------------------------------------------------------------------------
   入力フィールド共通スタイル
   -------------------------------------------------------------------------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
  display: block;
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem; /* iOSでの自動ズーム防止のため16px相当 */
  line-height: 1.5;
  color: #333333;
  background-color: #fbfbfb;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* プレースホルダーのカラー */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #a0a0a0;
  font-size: 0.9rem;
}

/* フォーカス時の強調表示 */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  background-color: #ffffff;
  border-color: #3498db;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.15);
}

/* テキストエリアの高さ設定 */
.wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

/* --------------------------------------------------------------------------
   送信ボタン
   -------------------------------------------------------------------------- */
.wpcf7-submit {
  display: block;
  width: 100%;
  max-width: 280px;
  margin: 2rem auto 0 auto;
  padding: 0.9rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #3498db;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background-color 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
  box-shadow: 0 4px 12px rgba(52, 152, 219, 0.25);
}

.wpcf7-submit:hover {
  background-color: #2980b9;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(52, 152, 219, 0.35);
}

.wpcf7-submit:active {
  transform: translateY(0);
}

/* --------------------------------------------------------------------------
   バリデーションエラー・通知メッセージの装飾
   -------------------------------------------------------------------------- */
/* 各項目のエラーメッセージ */
.wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.825rem;
  color: #e74c3c;
  font-weight: 500;
}

/* エラーがある入力欄の枠線 */
.wpcf7-not-valid {
  border-color: #e74c3c !important;
  background-color: #fdf6f5 !important;
}

/* フォーム全体の送信完了／エラー通知メッセージ */
.wpcf7-response-output {
  margin: 1.5rem 0 0 0 !important;
  padding: 1rem 1.25rem !important;
  font-size: 0.9rem;
  line-height: 1.5;
  border-radius: 6px;
  border-width: 1px !important;
}

/* 送信成功時 */
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #2ecc71 !important;
  background-color: #f2faf5;
  color: #27ae60;
}

/* 送信失敗・未入力エラー時 */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: #e74c3c !important;
  background-color: #fdf6f5;
  color: #c0392b;
}

/* 送信中スピナーの中央揃え */
.wpcf7 .wpcf7-spinner {
  display: block;
  margin: 0.75rem auto 0 auto;
}

/* --------------------------------------------------------------------------
   タブレット・PC向けレスポンシブ微調整 (画面幅 600px 以上)
   -------------------------------------------------------------------------- */
@media screen and (min-width: 600px) {
  .wpcf7 {
    padding: 2rem 1.5rem;
  }
}