.elementor-5300 .elementor-element.elementor-element-6eef561{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:5%;--padding-left:15%;--padding-right:10%;}.elementor-5300 .elementor-element.elementor-element-0dbbafd{--display:flex;--overflow:hidden;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-5300 .elementor-element.elementor-element-5dbc289{text-align:center;}.elementor-5300 .elementor-element.elementor-element-5dbc289 img{width:100vw;height:70vh;object-fit:cover;object-position:center center;}.elementor-5300 .elementor-element.elementor-element-8897335{--display:flex;--position:absolute;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overflow:hidden;bottom:1vh;}body:not(.rtl) .elementor-5300 .elementor-element.elementor-element-8897335{left:6vw;}body.rtl .elementor-5300 .elementor-element.elementor-element-8897335{right:6vw;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-5300 .elementor-element.elementor-element-86ad375{z-index:12;text-align:start;}.elementor-5300 .elementor-element.elementor-element-86ad375 .elementor-heading-title{font-family:"Libre Baskerville", Sans-serif;font-size:100px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:0.03em;word-spacing:0em;color:#948472;}.elementor-5300 .elementor-element.elementor-element-4d86174{text-align:start;}.elementor-5300 .elementor-element.elementor-element-4d86174 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:21px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:0.05em;word-spacing:0em;color:#948472;}.elementor-5300 .elementor-element.elementor-element-a860a52{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--margin-top:5%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:5%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}.elementor-5300 .elementor-element.elementor-element-02a8ec8 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:16px;font-weight:600;letter-spacing:0.05em;color:#2E2E2C;}.elementor-5300 .elementor-element.elementor-element-6a503cf .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:16px;font-weight:600;letter-spacing:0.05em;color:#2E2E2C;}.elementor-5300 .elementor-element.elementor-element-71a22c8 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:16px;font-weight:700;letter-spacing:0.05em;color:#2E2E2C;}.elementor-5300 .elementor-element.elementor-element-f020367{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:3%;--padding-bottom:8%;--padding-left:10%;--padding-right:10%;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5300 .elementor-element.elementor-element-0b75e2e > .elementor-widget-container{margin:16px 0px 0px 0px;}.elementor-5300 .elementor-element.elementor-element-0b75e2e{font-family:"Noto Serif JP", Sans-serif;font-size:16px;font-weight:500;line-height:2.4em;letter-spacing:0.03em;color:#2E2E2C;}.elementor-5300 .elementor-element.elementor-element-ff1739e{width:100%;max-width:100%;}body.elementor-page-5300:not(.elementor-motion-effects-element-type-background), body.elementor-page-5300 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(min-width:768px){.elementor-5300 .elementor-element.elementor-element-f020367{--width:100%;}}@media(max-width:1024px){.elementor-5300 .elementor-element.elementor-element-6eef561{--min-height:28vh;--justify-content:center;--padding-top:8%;--padding-bottom:6%;--padding-left:3%;--padding-right:3%;}.elementor-5300 .elementor-element.elementor-element-5dbc289 img{height:50vh;}.elementor-5300 .elementor-element.elementor-element-86ad375 .elementor-heading-title{font-size:48px;}.elementor-5300 .elementor-element.elementor-element-4d86174 .elementor-heading-title{font-size:18px;}.elementor-5300 .elementor-element.elementor-element-a860a52{--margin-top:3%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:3%;--padding-bottom:0%;--padding-left:6%;--padding-right:6%;}.elementor-5300 .elementor-element.elementor-element-02a8ec8 .elementor-heading-title{font-size:14px;}.elementor-5300 .elementor-element.elementor-element-6a503cf .elementor-heading-title{font-size:14px;}.elementor-5300 .elementor-element.elementor-element-71a22c8 .elementor-heading-title{font-size:14px;}.elementor-5300 .elementor-element.elementor-element-f020367{--min-height:0vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:3%;--padding-bottom:8%;--padding-left:5%;--padding-right:5%;}.elementor-5300 .elementor-element.elementor-element-0b75e2e > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-5300 .elementor-element.elementor-element-0b75e2e{font-size:14px;}}@media(max-width:767px){.elementor-5300 .elementor-element.elementor-element-6eef561{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:11%;--padding-left:10%;--padding-right:0%;}.elementor-5300 .elementor-element.elementor-element-5dbc289 img{height:50vh;}.elementor-5300 .elementor-element.elementor-element-8897335{--gap:8px 8px;--row-gap:8px;--column-gap:8px;bottom:0vh;}body:not(.rtl) .elementor-5300 .elementor-element.elementor-element-8897335{left:2vh;}body.rtl .elementor-5300 .elementor-element.elementor-element-8897335{right:2vh;}.elementor-5300 .elementor-element.elementor-element-86ad375 .elementor-heading-title{font-size:48px;}.elementor-5300 .elementor-element.elementor-element-4d86174 .elementor-heading-title{font-size:16px;}.elementor-5300 .elementor-element.elementor-element-a860a52{--margin-top:5%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:5%;--padding-bottom:0%;--padding-left:8%;--padding-right:8%;}.elementor-5300 .elementor-element.elementor-element-02a8ec8 .elementor-heading-title{font-size:12px;}.elementor-5300 .elementor-element.elementor-element-71a22c8 .elementor-heading-title{font-size:12px;}.elementor-5300 .elementor-element.elementor-element-f020367{--padding-top:5%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-5300 .elementor-element.elementor-element-0b75e2e > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-5300 .elementor-element.elementor-element-0b75e2e{font-size:16px;line-height:1.8em;letter-spacing:1px;}}/* Start custom CSS for image, class: .elementor-element-5dbc289 *//* コンテナ枠内で安全にズームアウトさせる */
.mv-zoomout-img {
  width: 100%;
  height: 100%;
  overflow: hidden; /* 万が一の枠外はみ出しをカット */
}

.mv-zoomout-img img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 枠いっぱいに綺麗に収める */
  animation: slowZoomOut 12s ease-out forwards;
}

@keyframes slowZoomOut {
  0% {
    transform: scale(1.15); /* 最初は枠より15%だけ大きく表示 */
  }
  100% {
    transform: scale(1.0);  /* 枠ぴったりのサイズに収まる */
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ff1739e *//* ==========================================
   Contact Form 7 - Minimal & Responsive CSS
   ========================================== */

/* フォーム全体（画面幅いっぱいに広がらないよう制御） */
.wpcf7-form {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* 入力項目グループ */
.wpcf7-form p {
  margin-bottom: 24px;
}

/* ラベルテキスト */
.wpcf7-form label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #333333;
  margin-bottom: 8px;
}

/* 必須バッジ（赤地に白文字で「必須」） */
.wpcf7-form label .required {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #ffffff;
  background-color: #e53e3e;
  padding: 3px 7px;
  border-radius: 3px;
  margin-left: 8px;
  vertical-align: middle;
  text-transform: none;   /* ラベルのuppercase指定を打ち消し */
}

/* 入力エリア共通（PC・基本設定） */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea {
  width: 100%;
  padding: 14px 16px;
  font-size: 1rem; /* iOSでの自動ズーム防止用に16px(1rem)相当に設定 */
  color: #1a1a1a;
  background-color: #f9f9f9;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  box-sizing: border-box;
  transition: all 0.25s ease;
  outline: none;
  -webkit-appearance: none; /* iOSデフォルトスタイルのリセット */
}

/* フォーカス時のハイライト */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form textarea:focus {
  background-color: #ffffff;
  border-color: #000000;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

.wpcf7-form textarea {
  min-height: 140px;
  resize: vertical;
}

/* 送信ボタン（タップ領域をしっかり確保） */
.wpcf7-form input[type="submit"] {
  display: block;
  width: 100%;
  padding: 16px 24px;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #ffffff;
  background-color: #111111;
  border: 1px solid #111111;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 12px;
  -webkit-appearance: none;
}

.wpcf7-form input[type="submit"]:hover {
  background-color: #ffffff;
  color: #111111;
}

/* エラー・完了メッセージ */
.wpcf7-form .wpcf7-response-output {
  margin: 24px 0 0 0;
  padding: 12px 16px;
  font-size: 0.85rem;
  border-radius: 4px;
  border: none;
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output {
  background-color: #fff5f5;
  color: #c53030;
}

.wpcf7-form.sent .wpcf7-response-output {
  background-color: #f0fff4;
  color: #276749;
}

.wpcf7-not-valid-tip {
  font-size: 0.75rem;
  color: #e53e3e;
  margin-top: 6px;
}


/* ==========================================
   メディアクエリ：タブレット・スマホ対応
   ========================================== */

/* タブレット・スマホ全般（768px以下） */
@media screen and (max-width: 768px) {
  .wpcf7-form {
    padding: 0 16px; /* 画面端にくっつかないよう左右余白を確保 */
  }

  .wpcf7-form p {
    margin-bottom: 20px;
  }
}

/* スマホ向け調整（480px以下） */
@media screen and (max-width: 480px) {
  .wpcf7-form label {
    font-size: 0.8rem;
    margin-bottom: 6px;
  }

  /* 必須バッジも少し小さく */
  .wpcf7-form label .required {
    font-size: 0.65rem;
    padding: 2px 6px;
    margin-left: 6px;
  }

  /* タップしやすいように上下パディングを調整 */
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form input[type="url"],
  .wpcf7-form textarea {
    padding: 12px 14px;
  }

  .wpcf7-form textarea {
    min-height: 120px;
  }

  .wpcf7-form input[type="submit"] {
    padding: 14px 20px;
  }
}/* End custom CSS */