.elementor-2 .elementor-element.elementor-element-951aa46{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-951aa46.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2 .elementor-element.elementor-element-bbdad95{--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;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:20;}.elementor-2 .elementor-element.elementor-element-bbdad95:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-bbdad95 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-5f62077{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-4d70ab8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-a59c5fe{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-2 .elementor-element.elementor-element-70bd5b0 .elementor-heading-title{font-family:"Afacad", Sans-serif;font-size:60px;font-weight:400;line-height:39px;color:#0B3283;}.elementor-2 .elementor-element.elementor-element-b23d208.elementor-element{--align-self:center;}.elementor-2 .elementor-element.elementor-element-b23d208 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:600;letter-spacing:2px;color:#0B3283;}.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-2 .elementor-element.elementor-element-d49e97f{font-family:"Noto Sans JP", Sans-serif;font-weight:600;letter-spacing:2px;color:#333333;}.elementor-2 .elementor-element.elementor-element-f460b51{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-e95df81{width:100%;max-width:100%;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2 .elementor-element.elementor-element-a2a9816{--grid-columns:1;--grid-row-gap:0px;width:100%;max-width:100%;--grid-column-gap:0px;}.elementor-2 .elementor-element.elementor-element-8e9fa74{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-8e9fa74:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-8e9fa74 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-aa04d8b{--spacer-size:80px;}.elementor-2 .elementor-element.elementor-element-619cf68{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-619cf68:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-619cf68 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-2 .elementor-element.elementor-element-2428c03{--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;--justify-content:space-between;--flex-wrap:wrap;--margin-top:80px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-e8a4aa4{--display:flex;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:60px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-51dedb4{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:4px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-ece9953 .elementor-heading-title{font-family:"Afacad", Sans-serif;font-size:60px;font-weight:400;line-height:39px;color:#0B3283;}.elementor-2 .elementor-element.elementor-element-68d98da.elementor-element{--align-self:center;}.elementor-2 .elementor-element.elementor-element-68d98da .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:600;letter-spacing:2px;color:#0B3283;}.elementor-2 .elementor-element.elementor-element-0e9a2d1{width:var( --container-widget-width, 581px );max-width:581px;--container-widget-width:581px;--container-widget-flex-grow:0;font-family:"Noto Sans JP", Sans-serif;font-weight:600;letter-spacing:2px;color:#333333;}.elementor-2 .elementor-element.elementor-element-a6baeb5{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:60px;}.elementor-2 .elementor-element.elementor-element-5882212{width:100%;max-width:100%;}.elementor-2 .elementor-element.elementor-element-b6f34d0{width:100%;max-width:100%;}.elementor-2 .elementor-element.elementor-element-a692b9d{--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;--justify-content:center;--background-transition:0.3s;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-a692b9d:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-a692b9d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-a692b9d:hover::before, .elementor-2 .elementor-element.elementor-element-a692b9d:hover > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-a692b9d:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-2 .elementor-element.elementor-element-a692b9d > .elementor-background-slideshow:hover::before, .elementor-2 .elementor-element.elementor-element-a692b9d > .e-con-inner > .elementor-background-slideshow:hover::before{--background-overlay:'';}.elementor-2 .elementor-element.elementor-element-a692b9d:hover{--overlay-opacity:0.5;}.elementor-2 .elementor-element.elementor-element-d5c8f41{width:var( --container-widget-width, 1000px );max-width:1000px;--container-widget-width:1000px;--container-widget-flex-grow:0;}.elementor-2 .elementor-element.elementor-element-f08c88b{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-f08c88b:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-f08c88b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-2d504a1{width:100%;max-width:100%;}@media(min-width:768px){.elementor-2 .elementor-element.elementor-element-bbdad95{--content-width:900px;}.elementor-2 .elementor-element.elementor-element-5f62077{--width:100%;}.elementor-2 .elementor-element.elementor-element-4d70ab8{--width:525px;}.elementor-2 .elementor-element.elementor-element-f460b51{--width:170px;}.elementor-2 .elementor-element.elementor-element-e8a4aa4{--width:650px;}.elementor-2 .elementor-element.elementor-element-a6baeb5{--width:260px;}}@media(max-width:1024px){.elementor-2 .elementor-element.elementor-element-a2a9816{--grid-columns:2;}}@media(max-width:767px){.elementor-2 .elementor-element.elementor-element-a2a9816{--grid-columns:1;}}/* Start custom CSS for html, class: .elementor-element-f01d3a3 *//* ===== FV全体 ===== */
.fv{
  --stop-offset: 600px;   /* ← "--" を付ける */
  position: relative;
  width: 100%;
  min-height: calc(50vh + var(--stop-offset));  /* ← ここで停止位置を作る */
  overflow: visible;                    /* ← 重要: stickyをクリップしない */
  z-index: 0;
}

/* ===== 白場（イントロ） ===== */
.intro{
  position: fixed;
  inset: 0;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
  opacity: 1;
  animation: introFade 3.4s ease-out forwards;
  animation-delay: 2s;
  will-change: opacity;
}
@keyframes introFade{
  0%{opacity:1;}
  100%{opacity:0;}
}
.intro.is-gone{
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

/* イントロテキスト（ガウス風） */
.gauss-text{
  font-size: 32px;
  color: #000;
  opacity: 0;
  filter: blur(20px);
  animation: gaussFade 4s ease-out forwards;
  font-family: "Hiragino Mincho Pro","游明朝","Yu Mincho",serif;
  letter-spacing: 6px;
}
@keyframes gaussFade{
  0%{opacity:0;filter:blur(20px);}
  20%{opacity:1;filter:blur(0);}
  80%{opacity:1;filter:blur(0);}
  100%{opacity:0;filter:blur(20px);}
}

/* ===== 背景スライド（画面固定） ===== */
.slideshow-bg{
  position: fixed;
  inset: 0;
  z-index: 100;
}
.slideshow-bg img{
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 2.5s ease-in-out;
  animation: zoomEffect 10s ease-in-out infinite;
  will-change: transform, opacity;
}
.slideshow-bg img.active{ opacity: 1; z-index: 2; }
@keyframes zoomEffect{
  0%{transform: scale(1);}
  50%{transform: scale(1.05);}
  100%{transform: scale(1);}
}

/* ===== タイトル＆メーター（stickyで固定→停止） ===== */
.overlay{
  position: sticky;     /* ← これだけでOK（fixed/absolute不要） */
  top: 0;
  height: 120vh;        /* 画面いっぱいを維持 */
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  z-index: 1500;        /* 背景より上 */
  pointer-events: none; /* 背景の操作を邪魔しない */
}

/* クリックが必要な子要素だけ有効化 */
.overlay .slideshow-ui,
.overlay .pause-btn{ pointer-events: auto; }

/* テキスト配置：左寄せ */
.text-block{
  position: absolute;   /* ← relative → absolute に変更 */
  bottom: 20%;          /* 画面下からの距離 */
  left: 5%;             /* 画面左からの距離 */
  width: min(90vw, 420px);
  margin: 0;            /* 中央寄せをやめる */
  text-align: left;     /* 念のため左揃え */
}

.text-block h1{
  font-size: clamp(28px, 4vw, 42px);
  margin: 0 0 12px;
  opacity: 0;
  letter-spacing: 6px;
  animation: fadeInUp 1s ease-out 6s forwards;
}
.text-block .subtitle{
  font-size: clamp(14px, 1.8vw, 16px);
  opacity: 0;
  animation: fadeInUp 1s ease-out 7s forwards;
}
@keyframes fadeInUp{
  0%{opacity:0; transform: translateY(20px);}
  100%{opacity:1; transform: translateY(0);}
}

/* ロゴ（流れる＝固定しない） */
.brand-logo{
  position: absolute;
  top: 18%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 800;
}
.fv-logo{
  width: 180px;
  opacity: 0;
  animation: fadeInUp 1.5s ease-out 5s forwards;
}

/* メーターUI */
.slideshow-ui{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  z-index: 99;
}
.counter{
  font-size: 14px;
  color: #fff;
}
.counter .current{
  color: #0b3283;
  font-weight: 700;
}
.progress-bar{
  flex-grow: 1;
  height: 2px;
  background: #FFFFFF00;
  position: relative;
  overflow: hidden;
}
.progress-bar .progress{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #0b3283;
  width: 0%;
  transition: width .1s linear;
}
.pause-btn{
  background: rgba(255,255,255,.2);
  border: 1px solid #ccc;
  color: #fff;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
}

/* 背景に被せるグラデ（下から上方向） */
.fv::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 760px;
  background: linear-gradient(to top, #000 0%, #ffffff00 100%);
  z-index: 1200;   /* 背景より上、overlayより下 */
  pointer-events: none;
}

/* 右側のコピー */
.right-copy{
  position: relative;        /* ← absoluteをやめる */
  margin: 100px 5% 0 auto;   /* ← 上100px余白、右5%、左は自動で右寄せ */
  max-width: 500px;          /* ← 最大幅指定 */
  color: #fff;
  text-align: left;
  pointer-events: auto;
  font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Meiryo",sans-serif;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 2px;
  z-index: 1600;
}



.right-copy p{ margin: 0 0 18px; }

.view-more{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 12px 24px;
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 10px;
  transition: all .3s ease;
  font-family: 'Reem Kufi Fun', sans-serif;
  letter-spacing: normal;
   margin-bottom: 60px; /* ← 追加：下に60pxの余白 */
}
.view-more::after{
  content: '\2197';
  display: inline-block;
  margin-left: 8px;
  transition: transform .3s ease;
}
.view-more:hover{
  background: #0b3283;
  color: #fff;
  border-color: #0b3283;
}
.view-more:hover::after{ transform: translateX(5px); }

/* ---- レスポンシブ ---- */
@media (max-width: 1200px){
  .right-copy{ right: 4%; width: 480px; }
}
@media (max-width: 992px){
  .right-copy{ right: 4%; width: 420px; font-size: 16px; letter-spacing: 1.5px; }
}
@media (max-width: 768px){
  .right-copy{
    top: auto;
    bottom: 12%;
    transform: none;
    left: 20px;
    right: 20px;
    width: auto;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 1.8;
  }
}

/* 動きが苦手な人向け（OS設定尊重） */
@media (prefers-reduced-motion: reduce){
  .intro{ animation: none; opacity: 0; visibility: hidden; }
  .gauss-text, .text-block h1, .text-block .subtitle{ animation: none; opacity: 1; }
  .slideshow-bg img{ animation: none; transition: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e95df81 */.view-more2 {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start; /* ← 左寄せ */
  padding: 12px 24px;
  background: transparent;
  color: #0b3283;
  border: 1px solid #0b3283;
  text-decoration: none;
  font-weight: bold;
  border-radius: 10px;
  transition: all 0.3s ease;
 font-family: "Afacad", sans-serif;
  letter-spacing: normal;
  width: 100%; /* ← 追加：幅100%にする */
  box-sizing: border-box; /* ← paddingの影響を受けないように */
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 2px;
}

.view-more2::after {
  content: '\2197'; /* ↗ */
  font-family: "Afacad", sans-serif;
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.3s ease;
}

.view-more2:hover {
  background: #0b3283;
  color: #fff;
  border-color: #0b3283;
}

.view-more2:hover::after {
  transform: translateX(5px);
}/* End custom CSS */