.elementor-13 .elementor-element.elementor-element-3c3cd0d{--display:flex;--min-height:80vh;--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;--margin-top:56px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-13 .elementor-element.elementor-element-6fdf379{width:100%;max-width:100%;}.elementor-13 .elementor-element.elementor-element-8513f3e{--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:center;--padding-top:40px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-6fdf379 *//* ===============================
   全体レイアウト
=============================== */
.ae-hero {
  height: 100%; /* 画面高さよりも大きく */
  min-height: 740px; /* 最低でもこの高さ */
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
}

/* ===============================
   Ken Burns スライドショー
=============================== */
.ae-kenburns {
  position: relative;
  flex: 1;
  overflow: hidden;
  background: #000; /* 読み込み前の下地 */
}

.ae-kenburns__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  will-change: transform, opacity;
  animation: aeFade 30s linear infinite, aeKenBurns 30s ease-in-out infinite;
}

/* 画像パス設定（適宜変更してください） */
.ae-kenburns__slide.is-1 { background-image:url("/wp-content/uploads/2025/10/slide3-1.jpg"); animation-delay: 0s; }
.ae-kenburns__slide.is-2 { background-image:url("/wp-content/uploads/2025/10/slide1-1.jpg"); animation-delay: 5s; }
.ae-kenburns__slide.is-3 { background-image:url("/wp-content/uploads/2025/10/slide12.jpg");  animation-delay: 10s; }
.ae-kenburns__slide.is-4 { background-image:url("/wp-content/uploads/2025/10/slide2-1.jpg"); animation-delay: 15s; }
.ae-kenburns__slide.is-5 { background-image:url("/wp-content/uploads/2025/10/slide4-1.jpg"); animation-delay: 20s; }
.ae-kenburns__slide.is-6 { background-image:url("/wp-content/uploads/2025/10/slide11.jpg");  animation-delay: 25s; }

@keyframes aeFade {
  0% { opacity: 0; }
  5% { opacity: 1; }
  20% { opacity: 1; }
  25% { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes aeKenBurns {
  0% { transform: scale(1); }
  100% { transform: scale(1.15); }
}

/* ===============================
   タイトルエリア（インパクト重視）
=============================== */
.ae-hero-title {
  flex: 0 0 auto;
  background: #fff;
  padding: 20px 20px;
  text-align: center;
  z-index: 10;
}

.ae-hero-title__content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top:40px;
}

/* 上キャッチコピー */
.sub-catch {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, 2vw, 28px);
  font-weight: 600;
  color: #333;
  margin: 0px;
  letter-spacing: 0.15em;
}

/* 緑のイコール記号 */
.equal-line {
  font-size: 22px;
  font-weight: 700;
  color: #333;
  line-height: 1;
}

.main-title-text {
  /* ▼ HGP明朝を最優先に指定 ▼ */
    font-family: "HGP明朝E", "HGPMinchoE", "HGP明朝B", "HGPMinchoB", "MS PMincho", "MS P明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
    letter-spacing: 0.05em;
  font-size: clamp(30px, 8vw, 58px); /* 少しサイズを大きく */
  line-height: 1.1;
  color: #333;
  letter-spacing: -0.02em; /* 太い明朝は少し字間を詰めると「塊感」が出てかっこいいです */
  
  /* さらに太く見せるための禁じ手（文字の縁取り） */
  -webkit-text-stroke: 1px #333; 
  text-shadow: 0 0 1px rgba(16, 138, 67, 0.5);
}

/* 下キャッチコピー（引用句） */
.bottom-catch {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, 1.5vw, 24px);
  font-weight: 500;
  color: #333;
  margin: 5px 0 0 0;
  letter-spacing: 0.05em;
}

/* ===============================
   レスポンシブ（スマホ調整）
=============================== */
@media (max-width: 768px) {
  .ae-hero {
    height: 70vh; /* スマホでは少し高さを抑える */
  }
  
  .ae-hero-title {
    padding: 40px 15px;
  }

  .main-title-text {
    font-size: 36px; /* 1行に収まりやすいサイズ */
  }

  .equal-line {
    font-size: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-150eb7a *//* グリッドコンテナ：最大幅を広げる */
.mskks-btn-grid {
    display: grid;
    grid-template-columns: 1fr; /* 1列で横いっぱいに */
    gap: 15px 0; /* 左右の隙間は不要なので0に */
    width: 100%;
    max-width: 1200px; /* 1000pxから1200pxに拡大してワイドに */
    margin: 0 auto;
}

/* ボタン本体：横幅100%を維持しつつ高さを少し出す */
.mskks-btn {
    width: 100%; /* 親要素に対して横いっぱいに広がる */
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #105a32;
    color: #ffffff !important;
    text-decoration: none;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 700;
    font-size: clamp(16px, 1.8vw, 22px); /* 文字も少し大きくして存在感を出す */
    transition: all 0.3s ease;
    overflow: hidden;
    border-radius: 2px;
}

/* テキスト部分：左右の余白を広げてワイド感を出す */
.mskks-btn__text {
    padding: 25px 40px; /* 上下25px、左右40pxに広げてゆったりさせる */
    flex: 1;
}

/* 右側の矢印エリア：幅を少し広く */
.mskks-btn__arrow {
    background-color: #389466;
    width: 80px; /* 60pxから80pxに広げてバランス調整 */
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px; /* 矢印も少し大きく */
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
/* --- ホバーアニメーション --- */

.mskks-btn:hover {
    background-color: #0c4627; /* 背景を少し濃く */
    filter: brightness(1.1); /* 全体を少し明るく */
}

/* 矢印を右に動かす */
.mskks-btn:hover .mskks-btn__arrow {
    background-color: #45b07c;
    padding-left: 15px; /* 右へスライド */
}

/* ===============================
   モバイル対応（スマホで1カラム）
=============================== */
@media (max-width: 768px) {
    .mskks-btn-grid {
        grid-template-columns: 1fr; /* スマホで1列 */
        gap: 10px;
        padding: 0 15px;
    }
    
    .mskks-btn__text {
        padding: 15px 20px;
        font-size: 16px;
    }

    .mskks-btn__arrow {
        width: 50px;
    }
}
/* グリッドコンテナ：最大幅を調整（1200px -> 840px） */
.mskks-btn-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px 0; /* 15px -> 10px */
    width: 100%;
    max-width: 840px; /* 1200px * 0.7 = 840px */
    margin: 0 auto;
}

/* ボタン本体：高さと角丸の調整 */
.mskks-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #105a32;
    color: #ffffff !important;
    text-decoration: none;
    
    font-weight: 700;
    font-size: clamp(12px, 1.3vw, 15px); /* 16-22px -> 11-15px */
    transition: all 0.3s ease;
    overflow: hidden;
    border-radius: 1px; /* 2px -> 1px */
    letter-spacing: 0.05em;
}

/* テキスト部分：余白を調整 */
.mskks-btn__text {
    padding: 17px 28px; /* 25px 40px -> 17px 28px */
    flex: 1;
}

/* 右側の矢印エリア：幅を調整 */
.mskks-btn__arrow {
    background-color: #389466;
    width: 56px; /* 80px -> 56px */
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px; /* 28px -> 20px */
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* --- ホバーアニメーション --- */
.mskks-btn:hover {
    background-color: #0c4627;
    filter: brightness(1.1);
}

/* 矢印の動きも縮尺に合わせて調整 */
.mskks-btn:hover .mskks-btn__arrow {
    background-color: #45b07c;
    padding-left: 10px; /* 15px -> 10px */
}

/* ===============================
   モバイル対応（スマホ）
=============================== */
@media (max-width: 768px) {
    .mskks-btn-grid {
        grid-template-columns: 1fr;
        gap: 7px; /* 10px -> 7px */
        padding: 0 10px;
    }
    
    .mskks-btn__text {
        padding: 10px 14px; /* 15px 20px -> 10px 14px */
        font-size: 13px; /* 16px -> 11-13px程度 */
    }

    .mskks-btn__arrow {
        width: 35px; /* 50px -> 35px */
        font-size: 16px;
    }
}/* End custom CSS */