@charset "UTF-8";
/*
    Template: swell
    Theme Name: Be-sport_theme
    Theme URI: https://swell-theme.com/
    Description: Beスポーツの子テーマ
    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
*/                                                                                                 
                                                                                                    
                                                                                                    
                                       /*.@@@@@@@@@@@@@@@@@@@.                                       
                                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                 
                             %@@@@@@@@@@@@@@+          +@@@@@@@@@@@@@@%                             
                         :@@@@@@@@@@                            @@@@@@@@@@:                         
                       @@@@@@@@@                                    @@@@@@@@@                       
                    #@@@@@@@                                            @@@@@@@#                    
                  %@@@@@@+                                                +@@@@@@%                  
                +@@@@@@                                                      @@@@@@+                
               @@@@@@:                                                        :@@@@@@               
             =@@@@@.                                                            .@@@@@=             
            @@@@@@                             @@@@@@%                            @@@@@@            
           @@@@@#                            @@@@@@@@@@@                           #@@@@@           
          @@@@@                             @@@@@@@@@@@@@                            @@@@@          
         @@@@@:                            -@@@@@@@@@@@@@*                           :@@@@@         
        @@@@@*                              @@@@@@@@@@@@@                             *@@@@@        
       .@@@@@               +@@@@@@@@*       @@@@@@@@@@@      +@@@@@@@@#               @@@@@.       
       @@@@@              +@@@@@@@@@@@@        @@@@@@@       @@@@@@@@@@@@#              @@@@@       
      *@@@@:             @@@@@@@@@@@@@@@@-                -@@@@@@@@@@@@@@@@             :@@@@*      
      %@@@@             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@             @@@@%      
      @@@@@            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            @@@@@      
     .@@@@:           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@           :@@@@.     
     :@@@@:          :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:          :@@@@:     
     :@@@@:          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@          :@@@@:     
     .@@@@:          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@          :@@@@.     
      @@@@@         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         @@@@@      
      %@@@@         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         @@@@%      
      *@@@@:       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       :@@@@*      
       @@@@@       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       @@@@@       
       .@@@@@      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@      @@@@@.       
        @@@@@*     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     *@@@@@        
         @@@@@:     @@@@@@@@@@@@@@@@@@@                      @@@@@@@@@@@@@@@@@@@     :@@@@@         
          @@@@@      +@@@@@@@@@@@@@@                            @@@@@@@@@@@@@@*      @@@@@          
           @@@@@#       @@@@@@@@@@                                @@@@@@@@@@.      #@@@@@           
            @@@@@@                                                                @@@@@@            
             =@@@@@.                                                            .@@@@@=             
               @@@@@@:                                                        :@@@@@@               
                +@@@@@@                                                      @@@@@@+                
                  %@@@@@@+                                                +@@@@@@%                  
                    #@@@@@@@                                            @@@@@@@#                    
                       @@@@@@@@@                                    @@@@@@@@@                       
                         :@@@@@@@@@@                            @@@@@@@@@@:                         
                             %@@@@@@@@@@@@@@+          +@@@@@@@@@@@@@@%                             
                                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                 
                                       .@@@@@@@@@@@@@@@@@@@@*/                                       
                                                                                                    
                                                                                                  

/*===========================================▼ローディング▼================================================*/

.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  display: flex !important;
  align-items: center;
  justify-content: center;
  animation: fadeOut 1.5s 2s forwards;
}
.load_cont .wp-block-video video{
	max-width:500px;
	max-height:500px;
}
.loading img {
  opacity: 0;
  animation: logo_fade 1.5s 0.2s forwards;
  width: 100px; /* ロゴのサイズを指定（パソコン） */
}

@media screen and (max-width: 959px) {
  .loading img {
    width: 100px; /* ロゴのサイズを指定（スマホ） */
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  60% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
  }
}
/*===========================================▲ローディング▲================================================*/


/*===========================================▼ループスライダー▼================================================*/
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 0rem;
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 40s infinite linear;
}

.loop-slider .swell-block-column figure {
    width: 500px; 
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 70%;
    display: block;
    content: "";
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 200px;
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/*===========================================▲ループスライダー▲================================================*/

/*===========================================▼ネオンボックス枠線▼================================================*/

.neon-inner-crisp{
  position: relative;
  background: #000; 
  padding: 5px;
  box-shadow:
    inset 0 0 0 5px #9d7dc5,
    inset 0 0 16px rgba(159,61,255,.9),
    inset 0 0 32px rgba(159,61,255,.6);
}

/*===========================================▲ネオンボックス枠線▲================================================*/
/*===========================================▼テキストインモーション（左→右）▼================================================*/

    .lead-anim{
      --easing: cubic-bezier(.2,.8,.2,1);
      --step: calc(var(--bg-dur) + var(--gap) + var(--text-dur) + var(--between));
    }

    .lead-anim .commonLead{
      position:relative; display:inline-block;
      line-height:1.35; font-weight:700;
      font-size: var(--font-size, clamp(1.5rem, 4.5vw, 3.5rem));
      color: var(--font-color, #ffffff);
    }

    .lead-anim .commonLead .line{
      position:relative; display:block;
      padding:.5em .8em; margin:.5em; z-index:0;
      width:max-content;
      width:fit-content;
    }

    .lead-anim .commonLead .line:nth-child(2){
      margin-left: var(--indent-2, 0);
    }

    .lead-anim .commonLead .line::before{
      content:""; position:absolute; inset:0; z-index:-1;
      background:var(--bg-color); border-radius:0;
      transform:scaleX(0); transform-origin:left center;
      transition: transform var(--bg-dur) var(--easing);
      transition-delay: calc(var(--i) * var(--step));
    }

    .lead-anim .commonLead .text{
      display:inline-block;
      -webkit-mask-image:linear-gradient(#000 0 0);
              mask-image:linear-gradient(#000 0 0);
      -webkit-mask-size:0% 100%; mask-size:0% 100%;
      -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
      transition:
        -webkit-mask-size var(--text-dur) var(--easing),
                mask-size var(--text-dur) var(--easing);
      transition-delay: calc(var(--i) * var(--step) + var(--bg-dur) + var(--gap));
    }

    .lead-anim .commonLead.onAnim .line::before{ transform:scaleX(1); }
    .lead-anim .commonLead.onAnim .text{
      -webkit-mask-size:100% 100%; mask-size:100% 100%;
    }

    .lead-anim .commonLead.leaving .line::before,
    .lead-anim .commonLead.leaving .text{
      transition: none !important;
    }

    @media (prefers-reduced-motion: reduce){
      .lead-anim .commonLead .line::before,
      .lead-anim .commonLead .text{ transition:none !important; }
      .lead-anim .commonLead .line::before{ transform:none; }
      .lead-anim .commonLead .text{
        -webkit-mask-size:100% 100%; mask-size:100% 100%;
      }
    }

    @supports not (mask-size: 100% 100%){
      .lead-anim .commonLead .text{
        clip-path: inset(0 100% 0 0);
        transition: clip-path var(--text-dur) var(--easing);
        transition-delay: calc(var(--i) * var(--step) + var(--bg-dur) + var(--gap));
      }
      .lead-anim .commonLead.onAnim .text{ clip-path: inset(0 0 0 0); }
      .lead-anim .commonLead.leaving .text{ transition:none !important; }
    }

/*===========================================▲テキストインモーション（左→右）▲================================================*/


/*===========================================▼左右インモーション画像用▼================================================*/
.right_in_pl{
  width: 100%;
  padding-right:5px;
}

.right_in_pl img{
  width: 100%;
  height:clamp(300px,50vw,600px)!important;
  display: block;
  object-fit: cover;
  object-position: right center;
  clip-path: inset(0 0 0 0 round 80px 0 0 80px);
}

.left_in_pl{
  width: 100%;
}

.left_in_pl img{
  width: 100%;
  height:clamp(300px,50vw,600px)!important;
  display: block;
  object-fit: cover;
  object-position: left center;
  clip-path: inset(0 0 0 0 round 0 80px 80px 0);
}

.left_in_pl .wp-block-image .alignright {margin-left:0!important;}

/*===========================================▲左右インモーション画像用▲================================================*/
/*===========================================▼タイトル裏タイトル▼================================================*/
.title_wrap {
  position: relative;
  display: inline-block;
  margin-bottom:0!important;	
}

.title_back {
  position: absolute;
  top: 20%;
  left: 100%;
  transform: translate(-5%, 0%);
  font-size: 120px;
  font-weight: 900;
  color: transparent;                
  -webkit-text-stroke: 1px #0071bc; 
  z-index: -10;
  opacity:.8;
  white-space: nowrap;
}

.title_front {
  position: relative;
  font-size: 70px;
  font-weight: 900;
  background: linear-gradient(to right, #1f4ebd, #9d7dc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  z-index: 1;
}

.title_wrap2 {
  position: relative;
  display: grid;
  place-items: end center;  
  width: 100%;          
  margin-bottom: 1em!important;
  /* 必要に応じて高さを付ける（背景とのバランス用）
  min-height: 220px;
  */
}

.title_back2,
.title_front2 {
  grid-area: 1 / 1;
	line-height: 1;
}

.title_back2 {
  font-size: clamp(100px,5vw,120px);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px #0071bc;
  opacity: .8;
  white-space: nowrap;
  z-index: 0;          
  pointer-events: none;
}

.title_front2 {
  font-size:clamp(60px,5vw,70px);
  font-weight: 900;
  background: linear-gradient(to right, #1f4ebd, #9d7dc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  z-index: 1;
}

.title_wrap2_2 {
  position: relative;
  display: grid;
  place-items: end center;  
  width: 100%; 
  margin-bottom: 1em!important;
  /* 必要に応じて高さを付ける（背景とのバランス用）
  min-height: 220px;
  */
}

.title_back2_2,
.title_front2_2 {
  grid-area: 1 / 1;
	line-height: 1;
}
.title_back2_2 {
  font-size: clamp(45px,5vw,120px);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px #0071bc;
  opacity: .8;
  white-space: nowrap;
  z-index: 0;            
  pointer-events: none;
}

.title_front2_2 {
  font-size: clamp(35px,5vw,70px);
  font-weight: 900;
  background: linear-gradient(to right, #1f4ebd, #9d7dc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  z-index: 1;
}
.title_wrap2_3 {
  position: relative;
  display: grid;
  place-items: end center;   
  width: 100%;      
  margin-bottom: 1em!important;
  /* 必要に応じて高さを付ける（背景とのバランス用）
  min-height: 220px;
  */
}

.title_back2_3,
.title_front2_3 {
  grid-area: 1 / 1;
	line-height: 1;
}
.title_back2_3 {
  font-size: clamp(80px,5vw,120px);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px #0071bc;
  opacity: .8;
  white-space: nowrap;
  z-index: 0;           
  pointer-events: none;
}

.title_front2_3 {
  font-size: clamp(60px,5vw,70px);
  font-weight: 900;
  background: linear-gradient(to right, #1f4ebd, #9d7dc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  z-index: 1;
}

/*===========================================▲タイトル裏タイトル▲================================================*/

/*===========================================▼swiperカルーセル①▼================================================*/

.coverflow3 { padding: 40px 0;}
.swiper-3d{	overflow: visible!important;}

.coverflow3 .swiper-slide{
  aspect-ratio: 3 / 4;          
  border-radius: 18px;
  overflow: hidden;
  background: #000;              
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

.coverflow3 .swiper-slide img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}

.coverflow3 .swiper-pagination{ position: relative; margin-top: 16px; }

.coverflow-card { 
	padding: 40px 0 80px 0; 
	position: relative;
  --bullet-color: #c084fc; 
}

.coverflow-card .swiper-slide{
  position: relative;
  aspect-ratio: 3 / 4;          
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

.coverflow-card .swiper-slide img{
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

.coverflow-card .swiper-slide::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:42%;
  background: linear-gradient(to top, rgba(0,0,0,.48), rgba(0,0,0,0));
  z-index: 1; pointer-events:none;
}

.coverflow-card .slide-caption.card{
  position:absolute; left:16px; right:16px; bottom:16px; z-index: 2;
  background: rgba(39,0,58,.72); color:#fff;
  padding: 16px 18px; border-radius:14px; backdrop-filter: blur(6px);
  pointer-events: none;
}
.coverflow-card .slide-caption.card h3{
  margin:1rem!important; font-weight:700; font-size: clamp(16px,2.2vw,22px);
}
.coverflow-card .slide-caption.card p{
  margin:0; font-size: clamp(12px,1.6vw,14px); opacity:.95;
}

.coverview-card .swiper-pagination, 
.coverflow-card .swiper-pagination{
  position: absolute;
  left: 0;
  right: 0;
  bottom: -40px!important;
  text-align: center;
  z-index: 5;
}

.coverflow-card .swiper-pagination-bullet{
  width: 10px;
  height: 10px;
  opacity: 1; 
  background: rgba(255,255,255,.65);
  border: 0;
  box-shadow: 0 0 8px rgba(255,255,255,.35);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.coverflow-card .swiper-pagination-bullet:hover{
  transform: scale(1.1);
}

.coverflow-card .swiper-pagination-bullet-active{
  background: var(--bullet-color);
  transform: scale(1.2);
  box-shadow:
    0 0 10px var(--bullet-color),
    0 0 22px rgba(192,132,252,.55),
    0 0 36px rgba(192,132,252,.35);
  animation: bulletPulse 1.6s ease-in-out infinite;
}

@keyframes bulletPulse{
  0%,100%{ transform: scale(1.18); }
  50%    { transform: scale(1.28); }
}

.coverflow-card .swiper-button-prev,
.coverflow-card .swiper-button-next{
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 9999px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
  z-index: 6; 
}

.coverflow-card .swiper-button-prev{ left: 8px; }
.coverflow-card .swiper-button-next{ right: 8px; }

@media (min-width: 768px){
  .coverflow-card .swiper-button-prev{ left: 12px; }
  .coverflow-card .swiper-button-next{ right: 12px; }
}

.coverflow-card .swiper-button-prev::after,
.coverflow-card .swiper-button-next::after{
  font-family: 'swiper-icons' !important;
  font-weight: normal;
  font-size: var(--swiper-navigation-size, 18px);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1;
}

.coverflow-card .swiper-button-prev:hover,
.coverflow-card .swiper-button-next:hover{
  transform: translateY(-50%) scale(1.06);
  background: rgba(255,255,255,.12);
  box-shadow: 0 10px 28px rgba(0,0,0,.36), 0 0 14px rgba(192,132,252,.35);
}
.coverflow-card .swiper-button-disabled{
  opacity: .4;
  cursor: default;
  box-shadow: none;
}

.coverflow-card .slide-caption.card{ z-index: 2; }
.coverflow-card .swiper-button-prev,
.coverflow-card .swiper-button-next,
.coverflow-card .swiper-pagination{ z-index: 6; }


@media (min-width:1280px){
  .coverflow-card .slide-caption.card{
    left:24px; right:24px; bottom:20px; padding:18px 22px;
  }
}

.coverflow-card .slide-caption.card a{ pointer-events:auto; }




/*===========================================▲swiperカルーセル①▲================================================*/

/* ======================================▼swiperカルーセル②（ゲームタイトル）▼============================================== */

.game-swiper { 
	overflow: visible!important;
	padding: 60px 0; 
	margin-bottom:4em;
}
.game-swiper .swiper-slide {
  width: 75vw; max-width: 1000px;
  position: relative; border-radius: 18px; overflow: hidden;
}
@media (min-width: 900px){ .game-swiper .swiper-slide { width: 70vw; } .game-swiper .swiper-pagination{ bottom: -36px !important; }}

.game-swiper .swiper-slide img {
  width: 100%; height: 56vw; max-height: 520px; object-fit: cover; display: block;
}

.game-swiper .swiper-slide::after{
  content:""; position:absolute; inset:0;
  outline:4px solid #a020f0; outline-offset:-4px; border-radius:18px; pointer-events:none;
}

.game-swiper .card{
  position:absolute; left:24px; bottom:24px; max-width: 520px;
  background: rgba(39,0,58,.75); color:#fff;
  padding: 20px 24px; border-radius:16px; backdrop-filter: blur(6px);
}
.game-swiper .card h3{ margin:0 0 .25rem; font-size: clamp(18px,2.1vw,28px); font-weight:700; }
.game-swiper .card p{ margin:0; font-size: clamp(12px,1.5vw,15px); opacity:.9; }

.game-swiper .swiper-pagination{ bottom: -35px !important; }
.game-swiper .swiper-button-prev,
.game-swiper .swiper-button-next{ color:#FFF; background-color:rgb(0,0,0,.5);padding:1.5em; border:solid 2px #a020f0;box-shadow: 0px 0px 10px #FFF;}

.game-swiper .swiper-pagination-bullet{
  width: 12px; height: 12px;
  opacity: 1;                         
  background: rgba(255,255,255,.95);   
  border: 2px solid #a020f0;           
  box-shadow:
    0 0 0 2px rgba(0,0,0,.45),     
    0 2px 8px rgba(0,0,0,.4);      
  margin: 0 6px !important;  
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.game-swiper .swiper-pagination-bullet-active{
  background: #a020f0;     
  border-color: #fff;    
  box-shadow:
    0 0 0 2px rgba(0,0,0,.6),
    0 0 14px rgba(160,32,240,.8);
  transform: scale(1.2);
}

@media (max-width: 781px){
	.game-swiper .card p{display:none;}
}

/* ======================================▲swiperカルーセル②（ゲームタイトル）▲============================================== */

/*===========================================▼ゲームCTAエリア▼================================================*/

.game_cta img{
	width:clamp(50%,50vw,100%)!important;
	margin-top:1em;
}
.hun_txt1{
	font-size: clamp(20px, 3vw, 40px);
	padding:0 1em;
	margin-top:2em;
}

@media (max-width: 781px){
.right_img {
    display: flex;
  justify-content: flex-end;
  align-items: center; 
}
}
/*===========================================▲ゲームCTAエリア▲================================================*/


/*===========================================▼ネオンフレーム4▼================================================*/

.corner-frame{
  --corner-w: clamp(50px, 3.8vw, 80px);
  --corner-h: clamp(50px, 3.8vw, 80px);
  --corner-gap: 3px;
  --corner-out: 0px;  
  --glow-color:#7fe2ff; --glow-outer:18px; --glow-inner:10px;

  --corner-url: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'><path fill='%23fff' d='M37.82,245.03L245.41,37.44h253.71v-14.33l-106.79-.05L380.04.5h-203.24v1.57L.88,177.18v203.24l22.56,12.29.05,106.79h14.33v-254.47Z'/></svg>");

  position: relative; isolation:isolate;
  padding: clamp(20px, 4vw, 48px);
  background:#0b1a27; border-radius:0px;
  box-shadow:
    inset 0 0 0 2px rgba(127,226,255,.7),
    inset 0 0 24px color-mix(in srgb, var(--glow-color) 45%, transparent);
}

.corner-frame__body{ position:relative; z-index:3; }

.corner-frame::before,
.corner-frame::after,
.corner-frame__overlay::before,
.corner-frame__overlay::after{
  content:""; position:absolute; width:var(--corner-w); height:var(--corner-h);
  background-image:var(--corner-url); background-repeat:no-repeat; background-size:contain;
  filter: drop-shadow(0 0 var(--glow-inner) var(--glow-color))
          drop-shadow(0 0 var(--glow-outer) color-mix(in srgb, var(--glow-color) 70%, transparent));
  pointer-events:none;
}

.corner-frame::before{ top:calc(var(--corner-gap)*-1 - var(--corner-out)); left:calc(var(--corner-gap)*-1 - var(--corner-out)); }
.corner-frame::after { top:calc(var(--corner-gap)*-1 - var(--corner-out)); right:calc(var(--corner-gap)*-1 - var(--corner-out)); transform:scaleX(-1); }

.corner-frame__overlay{
  position:absolute; top:0; left:0; right:0;
  bottom: calc(-1 * var(--corner-out));
  z-index:2; pointer-events:none;
}
.corner-frame__overlay::before{ bottom:calc(var(--corner-gap)*-1 - var(--corner-out)); left:calc(var(--corner-gap)*-1 - var(--corner-out)); transform:scaleY(-1); }
.corner-frame__overlay::after { bottom:calc(var(--corner-gap)*-1 - var(--corner-out)); right:calc(var(--corner-gap)*-1 - var(--corner-out)); transform:scale(-1,-1); }

.corner-frame.corner-frame--outside{ overflow:visible; }
.wp-block-columns.corner-frame{ display:block; }
/* ======================================▲ネオンフレーム4▲============================================== */

/* ======================================▼おススメフレーム▼============================================== */

.recommend{
  border: 2px solid rgba(255,255,255,.65);
  border-radius: 6px;
  padding: 20px 24px;         
  margin-bottom: 2em;
}

.recommend > legend{
  padding: 0 .6em;
  margin-inline-start: 16px;    
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  white-space: nowrap;
}

.recommend-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.recommend-list li{
  position: relative;
  padding-left: 26px;
  line-height: 1.6;
}
.recommend-list li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(.1em);
  font-weight: 900;
  color: #25c4ad;
}

@media (max-width: 520px){
  .recommend-list{ grid-template-columns: 1fr; }
}
/* ======================================▲おススメフレーム▲============================================== */

/*===========================================▼一日のスケジュールスライダー▼================================================*/

.c-scrollHint{
	margin-top:0em!important;
}
.schedule-wrap{
  padding: 28px 0 36px;
}
.schedule-swiper .swiper-slide{
  width: clamp(260px, 30vw, 360px); 
  height: auto;
}

.scard{
  display:flex; flex-direction:column; gap:12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color:#fff; border-radius: 16px; padding: 14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
}

.scard .thumb{ position:relative; border-radius: 12px; overflow:hidden; }
.scard .thumb img, .scard .thumb .ph{
  width:100%; aspect-ratio: 16/9; display:block; object-fit:cover;
  background:#b7b7b7;  
}

.scard .time-badge{
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%);
  background:#fff; color:#111; border-radius:8px;
  padding:6px 10px; font-weight:700; letter-spacing:.02em;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  font-size:clamp(12px, 1vw, 16px);
}
.scard .time-badge .dash{ margin:0 .4em; opacity:.7; }

.scard-title{ margin:1.5rem 0!important; font-size:1.05rem; font-weight:800; }
.scard-text{
  margin: .1rem 0 0; font-size:.95rem; line-height:1.7; opacity:.9;
  display:-webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow:hidden;
}

.schedule-swiper .swiper-button-prev,
.schedule-swiper .swiper-button-next{ color:#fff; opacity:.85; }
.schedule-swiper .swiper-button-prev:hover,
.schedule-swiper .swiper-button-next:hover{ opacity:1; }
.schedule-swiper .swiper-pagination-bullet{ background:#fff; opacity:.35; }
.schedule-swiper .swiper-pagination-bullet-active{ opacity:1; }

.schedule-swiper{
  padding-bottom: 40px !important; 
}
.schedule-swiper .swiper-pagination{
  bottom: 10px !important;
}

.schedule-swiper .swiper-button-prev,
.schedule-swiper .swiper-button-next{
  --sched-nav-size: 44px;      
  width: var(--sched-nav-size);
  height: var(--sched-nav-size);
  top: 50%;
  transform: translateY(-50%);
  border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease, width .25s ease, opacity .2s;
  z-index: 6;
}
.schedule-swiper .swiper-button-prev{ left: 8px; }
.schedule-swiper .swiper-button-next{ right: 8px; }
@media (min-width: 768px){
  .schedule-swiper .swiper-button-prev{ left: 12px; }
  .schedule-swiper .swiper-button-next{ right: 12px; }
}

.schedule-swiper .swiper-button-prev::after,
.schedule-swiper .swiper-button-next::after{
  font-family: 'swiper-icons' !important;
  font-weight: normal;
  font-size: var(--swiper-navigation-size, 18px);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1;
}

.schedule-swiper .swiper-button-disabled{
  opacity: .35 !important;
  cursor: default !important;
  box-shadow: none !important;
}

.schedule-swiper .swiper-button-prev:focus-visible,
.schedule-swiper .swiper-button-next:focus-visible{
  outline: 2px solid #A78BFA; outline-offset: 2px;
}

.schedule-swiper .swiper-button-prev.sched-nav-glass,
.schedule-swiper .swiper-button-next.sched-nav-glass{
  background: linear-gradient(180deg, rgba(157,125,197,.12), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 28px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.12);
}
.schedule-swiper .swiper-button-prev.sched-nav-glass:hover,
.schedule-swiper .swiper-button-next.sched-nav-glass:hover{
  transform: translateY(-50%) scale(1.06);
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  box-shadow: 0 12px 32px rgba(0,0,0,.42), 0 0 0 2px rgba(167,139,250,.5);
}

@media (max-width: 480px){
  .schedule-swiper .swiper-slide{ width: min(88vw, 360px); }
  .schedule-swiper{ padding-bottom: 64px; }
  .schedule-swiper .swiper-pagination{ bottom: 8px !important; }
}

/*===========================================▲一日のスケジュールスライダー▲================================================*/


/*===========================================▼フロー部分▼================================================*/

.flow-clm{
	max-height:600px;
}

.flow_step .swell-block-step__title{
  --accent: #50c2c2;
  --line-h: 1px;  
  --dot: 12px;   

  position: relative;
  padding-bottom: 16px;
  font-weight: 700;
  color: #fff;      
}
.flow_step .swell-block-step__title::after {
  content: "";
  position: absolute;
  left: 0;
  right: var(--dot);  
  bottom: 0;
  height: var(--line-h);
  background: var(--accent);
  border-radius: 999px;
}
.flow_step .swell-block-step__title::before {
  content: "";
  position: absolute;
  right: 0;
  width: var(--dot);
  height: var(--dot);
  bottom: calc((var(--line-h) - var(--dot)) / 2); 
  border: var(--line-h) solid var(--accent);
  border-radius: 50%;
  background: transparent; 
}
.flow_step .swell-block-step__number{
  border:solid 1px #50c2c2;
  box-shadow: 0px 0px 6px #50c2c2;
}
/*===========================================▲フロー部分▲================================================*/

/*===========================================▼ラインサンド▼================================================*/


.point-band{
  --person-w: clamp(140px, 22vw, 270px); 
  --badge-w : 96px;                 
  --pad     : 20px;                  
  --line-h  : 2px;                     
  --line    : 0, 240, 255;          

  position: relative;
  padding: 20px calc(var(--person-w) + var(--pad)) 20px calc(var(--badge-w) + var(--pad) + 8px);
  color: #eaf6ff;
  background: #0b1118;
  border-radius: 8px;
  line-height: 1.9;
  isolation: isolate;
}

.point-band::before,
.point-band::after{
  content:"";
  position:absolute;
  left: 12px;
  right: 12px;
  height: var(--line-h);
  background: linear-gradient(
    to right,
    rgba(var(--line), 0) 0%,
    rgba(var(--line), .65) 20%,
    rgba(var(--line), .65) 80%,
    rgba(var(--line), 0) 100%
  );
  z-index: 0;
}
.point-band::before{ top: 0; }
.point-band::after { bottom: 0; }

.point-band__badge{
  position: absolute;
  left: var(--pad);
  top: 50%;
  transform: translateY(-50%);
  width: var(--badge-w);
  height: auto;
  z-index: 1;
}

.point-band__text{
  margin: 0;
  font-size: clamp(14px, 1.6vw, 16px);
  z-index: 1;
}

.point-band__person{
  position: absolute;
  right: 0;
  top: -40px;                  
  width: var(--person-w);
  height: auto;
  object-fit: contain;
  z-index: 2;                 
  pointer-events: none;        
}

@media (max-width: 560px){
  .point-band{
    --person-w: 5vw;
    --badge-w : 72px;
    padding: 16px calc(var(--person-w) + 12px) 16px calc(var(--badge-w) + 14px);
  }
  .point-band__person{ display:none; }
}

/*===========================================▲ラインサンド▲================================================*/


/*===========================================▼事業所一覧エリア▼================================================*/

.post_content {
}
.place_clm .wp-block-columns{
		  box-shadow: 0px 0px 20px #50c2c2;
}
.place_clm .wp-block-columns .wp-block-column{
		padding:0 0 1.5em 0!important;
}
.pls_inner{
	margin:1.5em!important;
}

/*===========================================▲事業所一覧エリア▲================================================*/

/*===========================================▼FCエリア▼================================================*/

.fc_area{
	  background-image: linear-gradient(90deg, #9d7dc5, #50c2c2 50%, #1f4ebd);
}
.fc_area .fc_btn{
	border:solid 2px #0071bc;
	border-radius:40px;
	/* グラデーションを広めにして背景を動かす */
	background-image: linear-gradient(90deg, #101723, #0f315f 50%, #101723);

	padding:clamp(15px, 2vw, 30px);

	/* 通常時：弱い外側＋内側の光 */
	box-shadow:
		0 0 6px  rgba(80,194,194,.25),
		0 0 12px rgba(80,194,194,.15),
		0 0 20px rgba(80,194,194,.1),
		inset 0 0 6px rgba(80,194,194,.18),
		inset 0 0 12px rgba(80,194,194,.1);

	position: relative;
	overflow: hidden;
	z-index: 1;

	transition:
		background-position .8s cubic-bezier(.22,.61,.36,1),
		box-shadow .65s cubic-bezier(.22,.61,.36,1),
		transform .25s ease;
}

/* 内側光彩オーバーレイ */
.fc_area .fc_btn::before{
	content: "";
	position: absolute;
	inset: 2px;
	border-radius: inherit;
	background: radial-gradient(120% 100% at 50% 50%,
		rgba(80,194,194,.28) 0%,
		rgba(80,194,194,.16) 35%,
		rgba(80,194,194,0) 65%);
	mix-blend-mode: screen;
	opacity: 0;
	transform: scale(1);
	pointer-events: none;
	transition: opacity .55s ease, transform .8s cubic-bezier(.22,.61,.36,1);
	z-index: 0;
}

/* ホバー時：背景色スライド＋光彩がぶわん */
.fc_area .fc_btn:hover{
	transform: translateY(-2px);
	background-position: 100% 50%;
	box-shadow:
		0 0 10px rgba(80,194,194,.70),
		0 0 22px rgba(80,194,194,.50),
		0 0 40px rgba(80,194,194,.30),
		inset 0 0 10px rgba(80,194,194,.50),
		inset 0 0 22px rgba(80,194,194,.30);
}
.fc_area .fc_btn:hover::before{
	opacity: 1;
	transform: scale(1.03);
}

.fc_area .fc_btn p{
	font-size:clamp(15px, 2vw, 30px);
	font-weight:bold;
	color:#fff;
	text-shadow: 0 0 6px rgba(80,194,194,.6);
}

:root{
  --laser-purple: #FFF;
  --laser-cyan:   #50c2c2;
  --laser-blue:   #FFF;
  --laser-thickness: 3px;   
  --laser-speed: 1.8s;     
}

.fc_area{
  position: relative;
  isolation: isolate;  
  overflow: hidden;   
}

.fc_area::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 120vw;                      
  height: var(--laser-thickness);
  background: linear-gradient(90deg,
              var(--laser-purple),
              var(--laser-cyan) 50%,
              var(--laser-blue));
  box-shadow:
    0 0 10px var(--laser-cyan),
    0 0 28px var(--laser-cyan);
  pointer-events: none;
  z-index: 0;
}

.fc_area::after{
  content: "";
  position: absolute;
  top: 50%;
  left: -25vw;
  transform: translateY(-50%);
  width: 22vw;
  height: var(--laser-thickness);
  background: linear-gradient(90deg, transparent, #fff, transparent);
  filter: drop-shadow(0 0 8px var(--laser-cyan))
          drop-shadow(0 0 22px var(--laser-cyan));
  mix-blend-mode: screen;
  animation: fc-sweep var(--laser-speed) linear infinite;
  pointer-events: none;
  z-index: 0;
}
.fc_area a {
	color:#FFF!important;
}
.fc_area .wp-block-column {
  position: relative;
}
.fc_area .block-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none; /* 下線消し */
}

@keyframes fc-sweep{
  to { left: 110vw; }
}

@media (prefers-reduced-motion: reduce){
  .fc_area::after{ animation: none; }
}

/*===========================================▲FCエリア▲================================================*/




/*===========================================▼問い合わせフォーム▼================================================*/
.cf7-onecol {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.cf7-modern {
  --bg: #0f0f14;
  --card: #151720;
  --muted: #8b91a1;
  --text: #e9ecf1;
  --border: #2a2e3a;
  --accent: #5b8cff;
  --accent-2: #7ee0d2;
  --danger: #ff6b6b;
  --success: #34d399;

  background: var(--bg);
  color: var(--text);
  padding: 40px 35px;
  border-radius: 18px;
  box-shadow: 0px 0px 20px #50c2c2;
}

.cf7-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
}

.label-top {
  font-size: 14px;
  margin-bottom: 6px;
  display: block;
  color: var(--text);
}

.field.floating {
  position: relative;
}

.field.floating > label {
  position: absolute;
  left: 14px;
  top: 14px;
  font-size: 14px;
  color: var(--muted);
  transition: all .2s ease;
  pointer-events: none;
  background: var(--bg);
  padding: 0 6px;
}

.cf7-modern .input-modern,
.cf7-modern .textarea-modern,
.cf7-modern .select-modern {
  width: 100%;
  padding: 16px 14px;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text);
  border-radius: 12px;
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.cf7-modern .input-modern::placeholder,
.cf7-modern .textarea-modern::placeholder {
  color: var(--muted);
}

.cf7-modern .input-modern:focus,
.cf7-modern .textarea-modern:focus,
.cf7-modern .select-modern:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(91,140,255,.25);
}

.field.floating :is(.input-modern, .textarea-modern):focus + label,
.field.floating :is(.input-modern, .textarea-modern):not(:placeholder-shown) + label {
  top: -8px;
  font-size: 12px;
  color: var(--accent);
}

.cf7-modern .select-modern {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) center,
    calc(100% - 12px) center;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.req {
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 12px;
  color: #fff;
  margin-left: 6px;
}

.terms {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: var(--muted);
}
.terms input[type="checkbox"] {
  accent-color: var(--accent);
  margin-top: 3px;
}

.btn-modern {
  display: block;
  width: 50%;
  margin: 0 auto;
  padding: 14px;
  border-radius: 12px;
  border: none;
  background: linear-gradient(135deg, #1f4ebd,#9d7dc5);
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: all .3s ease;
}

.btn-modern:hover {
  filter: brightness(1.1);
  box-shadow: 0 0 12px rgba(157,125,197,0.7), 
              0 0 24px rgba(31,78,189,0.6);
}

.btn-modern:active {
  transform: translateY(1px);
}

.cf7-modern .wpcf7-not-valid-tip {
  font-size: 12px;
  color: var(--danger);
  margin-top: 4px;
}
.cf7-modern .wpcf7-response-output {
  margin-top: 12px;
  font-size: 14px;
  border-radius: 10px;
  padding: 10px 12px;
}

.wpcf7 form.sent .wpcf7-response-output{
	background-color:#000;
	text-align:center;
	border-color:#a582c9!important;
	  box-shadow: 0 0 0 5px #9d7dc5,

}

/*===========================================▲問い合わせフォーム▲================================================*/

/*===========================================▼メインビジュアルコンテナ▼================================================*/

.center {
  display: grid;
  place-items: center;   
}

.center img{
	width:clamp(520px, 100vh, 1200px); 
}


.p-mainVisual__textLayer{
  display: grid;
  place-items: center;               
  text-align: center;
  min-height: clamp(520px, 75vh, 900px);  
}

:root{
  --mv-shift: 10vh; 
}
@media (max-width: 781px){
	  :root{ --mv-shift: 15vh; } 
	.taiken_btn > img{  width: 80%!important;}
}

.p-mainVisual__slideTitle{
  display: block;
  margin-inline: auto;                   
  width: min(95vw, 1400px);
  transform: translateY(var(--mv-shift));
}

.taiken_btn{
  display:block;
  width:min(70%, 300px);
  margin-bottom:2em;
  margin-left:auto;
  margin-right:3em;
}

.taiken_btn > img{
  display:block;
  width:100%;
  height:auto;

  /* 1) 通常時も drop-shadow を「3個」用意（うち1つは超弱く） */
  filter:
    drop-shadow(0 0 2px rgba(0,255,255,.25))
    drop-shadow(0 0 4px rgba(0,255,255,.15))
    drop-shadow(0 0 8px rgba(0,255,255,.08));  /* 追加：弱い3個目 */
  /* Safari 含めスムーズに */
  transition: filter .6s cubic-bezier(.22,.61,.36,1), -webkit-filter .6s cubic-bezier(.22,.61,.36,1);
  will-change: filter;
}

/* 2) ホバー時：同じ「3個」の強さだけを上げる（個数は変えない） */
.taiken_btn:hover > img{
  filter:
    drop-shadow(0 0 6px  rgba(0,255,255,.75))
    drop-shadow(0 0 14px rgba(0,255,255,.55))
    drop-shadow(0 0 28px rgba(0,255,255,.35));
}

/* 3) パルスは“遅らせて開始”して、トランジションを邪魔しない */
.taiken_btn:hover > img{
  animation: neonPulse 1.6s ease-in-out infinite alternate .6s; /* ← delay 0.6s */
}

@keyframes neonPulse{
  from{
    filter:
      drop-shadow(0 0 6px  rgba(0,255,255,.75))
      drop-shadow(0 0 14px rgba(0,255,255,.55))
      drop-shadow(0 0 28px rgba(0,255,255,.35));
  }
  to{
    filter:
      drop-shadow(0 0 10px rgba(0,255,255,.95))
      drop-shadow(0 0 22px rgba(0,255,255,.75))
      drop-shadow(0 0 40px rgba(0,255,255,.55));
  }
}

/* モーション配慮 */
@media (prefers-reduced-motion: reduce){
  .taiken_btn > img{ animation:none !important; }
}




/*===========================================▲メインビジュアルコンテナ▲================================================*/

/*===========================================▼ハンバーガー▼================================================*/
.-menuBtn .c-iconBtn__icon {
	width: 24px;
	height: 2px;
	background-color: #A782CB;
	display: grid;
	place-items: center;
	transition: transform .3s;
	
	&::before,
	&::after {
		grid-area: 1 / 1;
		content: '';
		display: block;
		inset: 0;
		width: 24px;
		height: 2px;
		background-color: #FFF;
		transition: transform .3s;
	}
	
	&::before {
		transform: translateY(-8px);
	}
	
	&::after {
		transform: translateY(8px);
	}
}

[data-spmenu=opened] {
	
	.-menuBtn .c-iconBtn__icon::before {
			transform: rotate(45deg);
	}
	
	.-menuBtn .c-iconBtn__icon {
		background-color: transparent;
	}
	
	.-menuBtn .c-iconBtn__icon::after {
		transform: rotate(-45deg);
	}
}

.l-header__menuBtn .c-iconBtn::after,
.p-spMenu__closeBtn .c-iconBtn::after {
	font-size: 10px;
	line-height: 10px;
	transform: translateY(12px);
}

.l-header__menuBtn .c-iconBtn::after {
/* 	content: 'MENU'; */
}

.p-spMenu__closeBtn .c-iconBtn::after {
/* 	content: 'CLOSE'; */
}

.p-spMenu__inner {
  width: 100%;
  height: 100%;
  transform: translateX(0)!important;
  opacity: 0;
  transition: opacity .5s ease-out!important;
}

[data-spmenu="opened"] .p-spMenu__inner {
  opacity: 1;
}

.p-spMenu__inner::before {
	background: rgb(0 0 0 / .5);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.p-spMenu__body {
	opacity: 0;
	transform: translateY(20px);
}
.p-spMenu__body img{
	display: block;
  margin: 0 auto;
	width:60%;
}
[data-spmenu="opened"] .p-spMenu__body {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 1s ease-in, transform .7s ease-out;
}
.p-spMenu__body .swell-block-linkList {
	gap: 2em;
}

.p-spMenu__body .swell-block-linkList__text {
	margin-inline: auto;
	color:#FFF;
}
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display:none;
}
/*===========================================▲ハンバーガー▲================================================*/


/*===========================================▼その他コンテンツ▼================================================*/
.c-gnav > li:hover > a, .c-gnav > .-current > a {
text-shadow:0px 0px 8px #FFF;	
transition: all .3s;
}
.l-content{	margin-bottom:0!important;}
.wide_btn a{width:100%;}
.top #content {padding-top: 0;}

.khp02{
	font-size:clamp(20px, 5vw,25px);
}
.khp03{
	font-size:clamp(30px,9vw,50px);
}
.msg_rotate{					
	transform: rotate(-8deg);
	font-size:clamp(15px, 3vw, 25px);
}

.zen-kurenaido-regular {
  font-family: "Zen Kurenaido", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.w-footer__box .widget_media_image{
	text-align: center;
}

@media (max-width: 781px){
	.q_icon{width:30%;margin:0 auto;}
	.q_title{gap:0!important;}
}

.place_clm .is-style-btn_line a{color:#48494c;}


/*===========================================▼修正パッチ▼================================================*/
/* --- セクションごとに重なり境界を作る（Z軸事故防止） --- */
.swell-block-fullWide { position: relative; isolation: isolate; }

/* --- 旧 .title_wrap を安全に（親の高さを確保して重ねる）--- */
.title_wrap { display: grid; place-items: end start; margin-bottom: .5em !important; }
.title_wrap > .title_back,
.title_wrap > .title_front { grid-area: 1 / 1; line-height: 1; }
.title_wrap .title_back{
  position: static;
  font-size: clamp(48px, 18vw, 120px);
  -webkit-text-stroke: 1px #0071bc;
  color: transparent; opacity: .8;
  z-index: 0; pointer-events: none; 
}
.title_wrap .title_front{
  position: relative;
  font-size: clamp(28px, 9vw, 70px);
  background: linear-gradient(to right, #1f4ebd, #9d7dc5);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  z-index: 1;
}
.ms1_clm{
	margin-right:1em!important;
	margin-left:1em!important;
}
.ms2_clm{
	margin-right:2em!important;
	margin-left:2em!important;
}

.dank{
	box-shadow: 12px 12px 2px 1px rgba(17, 37, 89, 1)!important;
	width:80%;
}

.flow-clm { max-height: none; }

@media (max-width: 781px){
  .wp-block-image.alignright,
  .wp-block-image.alignleft { float: none !important; margin: 0 auto 16px !important; }
}

.wp-block-image img { display: block; width: 100%; height: auto; }

@media (max-width: 959px){
  .has-bg-img.-fixbg { background-attachment: scroll !important; }
}

.right_in_pl, .left_in_pl { height: auto; }

.title_back, .title_back2 { pointer-events: none; }

/* 1) ヒーロー画像の横はみ出し対策 */
.center img{
  /* もとの指定を上書き */
  width: 100%;
  max-width: 1200px;
  height: auto;
}

/* 2) ローディングの100vw/100vh対策（dvh対応＋フォールバック） */
.loading{
  left: 0; right: 0; top: 0; bottom: 0; /* これで幅・高さを安定取得 */
  width: auto;  /* 100vwを使わない */
  height: auto; /* 100vhを使わない */
  /* 高さだけは動的ビューポートで安定させる（iOS 15.4+） */
  min-height: 100dvh;
}
@supports not (min-height: 100dvh){
  .loading{ min-height: 100vh; } /* 古いSafari向け */
}

/* 3) Swiperの横はみ出し対策（特にスマホ） */
@media (max-width: 781px){
  .swiper-3d,
  .game-swiper{
    overflow: hidden !important; /* 横スクロールの元を断つ */
  }
  /* スライド幅の上限を親幅に収める（75vwでもはみ出す場合があるため保険） */
  .game-swiper .swiper-slide{
    max-width: 100%;
  }
}

/* 4) 念のための最終防御（開発中の確認用なら残してOK、本番で邪魔なら外しても可） */
html, body{
  overflow-x: hidden;
}

/* 5) 古いiOSでの文字拡大暴走対策（フォーム/小サイズ文字が多いLP向け） */
html { -webkit-text-size-adjust: 100%; }
input, select, textarea { font-size: 16px; }
