/**
 * Swiper 12.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 21, 2025
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*---------------------------------------------------------------------------------------
    追加設定
----------------------------------------------------------------------------------------*/
/* 共通 */

[class*=swiper]:focus {
  outline: none;
}

.l-inner {
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0rem 5rem 1rem;
}
.slide-media a {
  position: relative;
  overflow: hidden;
  display: block;
}
.slide-media a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}


.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: var(--black);
  border-radius: 50%;
}

.swiper-button-prev.swiper-button-lock::before, .swiper-button-next.swiper-button-lock::before {
  background: var(--black);
}
.swiper-button-prev::after, .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid var(--white);
  border-width: 2px 2px 0 0;
}
.swiper-button-prev::after {
  margin-left: 0.4rem;
  margin-top: -1.5rem;
 -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.swiper-button-next::after {
  margin-right: 0.4rem;
  margin-top: -1.5rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){

  .swiper-button-prev, .swiper-button-next {
    width: 3rem;
    height: 3rem;
  }
  .swiper-button-prev::after, .swiper-button-next::after {
    width: 1rem;
    height: 1rem;
    border-width: 2px 2px 0 0;
  }
  .swiper-button-prev::after {
    margin-left: 0.4rem;
    margin-top: -1.6rem;
  }
  .swiper-button-next::after {
    margin-right: 0.4rem;
    margin-top: -1.6rem;
  }
}

/* 共通ここまで */


/* ここから個別 */

/*---------------------------------------------------------------------------------------
top-slider トップメインスライダー
----------------------------------------------------------------------------------------*/
/* top-slider: Swiper fade の不足CSSを補う（最小版） */
.top-slider .swiper.swiper-fade .swiper-slide {
  transition-property: opacity;
}

.top-slider .swiper.swiper-fade .swiper-slide,
.top-slider .swiper.swiper-fade .swiper-slide-active,
.top-slider .swiper.swiper-fade .swiper-slide-next,
.top-slider .swiper.swiper-fade .swiper-slide-prev {
  pointer-events: none;
}

.top-slider .swiper.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

/* 1) スライダー全体の高さを 90vh に固定 */
.top-slider {
  position: relative;
  height: 90vh;
  background-image: url('../images/index/top-main-bk.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 3em;
  }

/* Swiperコンテナも高さを受ける */
.top-slider .swiper {
  height: 100%;
}

/* 2) ul(swiper-wrapper) を 90vh (= 親100%) に */
.top-slider .swiper .swiper-wrapper {
  height: 100%;
}

/* 3) li(swiper-slide) も同じ高さに */
.top-slider .swiper .swiper-slide {
  height: 100%;
  position: relative; /* 右下div配置の基準 */
}

/* 4) figure をエリアいっぱいにして中央揃えの箱にする */
.top-slider .swiper .swiper-slide figure{
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2% 2%;
  box-sizing: border-box;
}

/* 5) 画像：縦100%優先・比率維持・全体表示・中央配置 */
.top-slider .swiper .swiper-slide figure img{
  width: auto !important;
  height: auto !important;

  max-width: 100%;
  max-height: 100%;

  display: block;

  box-shadow: 0 20px 40px rgba(0,0,0,0.25);
}

.top-slider .swiper .swiper-slide > div {
  position: absolute;
  right: 5%;
  bottom: 3%;
  left: auto;
  top: auto;
  transform: none;

  color: var(--white);
  font-family: var(--mincho);
  text-align: right;
  text-shadow: 0 0 10px #000;
  z-index: 2;
}

/* グラデ（必要なら）:after の z-index 調整 */
.top-slider .swiper .swiper-slide::after {
  z-index: 1;
}

/* 画像の上にグラデを載せたいなら figure を下に */
.top-slider .swiper .swiper-slide figure {
  position: relative;
  z-index: 0;
}

.top-slider .swiper-button-prev,
.top-slider .swiper-button-next {
  position: absolute;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 100;
}
.top-slider .swiper-button-prev {
  left: 20px;
}
.top-slider .swiper-button-next {
  right: 20px;
}
.top-slider .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.3;
}
.top-slider .swiper li div h2,
.top-slider .swiper li div h3,
.top-slider .swiper li div p {
text-shadow:
  0 1px 4px rgba(0,0,0,.6),
  0 4px 14px rgba(0,0,0,.35);
}

.top-slider .swiper li div h2{
  font-size: var(--medium);
}
.top-slider .swiper li div h3{
  font-size: var(--large);
}
.top-slider .swiper li div p{
  font-size: var(--x-large);
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
  .top-slider {
    height: 70vh;
  }


  .top-slider .swiper li div h2,
  .top-slider .swiper li div h3,
  .top-slider .swiper li div p {
    line-height:  1.3;
  }

    .top-slider .swiper li div h2{
      font-size: var(--small);
    }
    .top-slider .swiper li div h3{
      font-size: var(--medium);
    }
    .top-slider .swiper li div p{
      font-size: var(--large);
    }
}


