/*▼虫眼鏡検索▼*/

#pagefind-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.45);
  display:none;
  z-index:99999;
  opacity:0;
  transition: opacity .18s ease;
}

#pagefind-overlay.is-open{
  display:block;
  opacity:0;
}

#pagefind-overlay.is-open.is-visible{
  opacity:1;
}

#pagefind-overlay .pagefind-box{
  position:absolute;
  left:50%; top:12px;
  transform:translateX(-50%);
  width:min(92vw,520px);
  background:#fff;
  border-radius:12px;
  padding:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}

#pagefind-overlay .pagefind-row{
  display:grid;
  grid-template-columns:1fr 44px 44px 44px;
  gap:8px; align-items:center;
}

#pagefind-overlay input{
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.2);
  border-radius:10px;
  font-size:16px; 
}

#pagefind-overlay button{
  height:42px;
  border:1px solid rgba(0,0,0,.2);
  background:#f7f7f7;
  border-radius:10px;
  font-size:18px;
}

#pagefind-overlay .pagefind-note{
  margin-top:8px;
  font-size:12px;
  opacity:.75;
}

mark.pagefind-mark{
  background:#ffeb3b;
  color:inherit;
  padding:0 .08em;
  border-radius:.2em;
}

mark.pagefind-current{
  background:#ffc107;
  color:inherit;
  padding:0 .08em;
  border-radius:.2em;
  outline:2px solid rgba(0,0,0,.15);
}

/*▼その他コンテンツ▼*/
.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);
}
@font-face {
  font-family: "Zen Kurenaido";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/swell_child/fonts/zen-kurenaido-v19-japanese-regular.woff2") format("woff2");
}

.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;}


/*▼修正パッチ▼*/
.swell-block-fullWide { position: relative; isolation: isolate; }
.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; }
.ms1_clm{margin:0!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; }
.right_in_pl{padding-left: 2em;}
.left_in_pl {padding-right:2em;}
.title_back, .title_back2 { pointer-events: none; }

.center img{
  width: 100%;
  max-width: 1200px;
  height: auto;
}
.loading{
  left: 0; right: 0; top: 0; bottom: 0; 
  width: auto; 
  height: auto;
  min-height: 100dvh;
}
@supports not (min-height: 100dvh){
  .loading{ min-height: 100vh; }
}
@media (max-width: 781px){
  .swiper-3d,
  .game-swiper{
    overflow: hidden !important;
  }
  .game-swiper .swiper-slide{
    max-width: 100%;
  }
}
html, body{
  overflow-x: hidden;
	background-color: #000!important; 
}
html { -webkit-text-size-adjust: 100%; }
input, select, textarea { font-size: 16px; }

/* =========================================================
 * スクロール負荷対策：画面外の常時アニメーションだけ停止
 * 初期状態は動かす。JSで is-outview が付いた時だけ停止。
========================================================= */

.be-main-visual.is-outview .be-main-visual__slide,
.be-main-visual.is-outview .be-main-visual__slide img,
.be-main-visual.is-outview .be-main-visual__scroll-icon,
.be-loop-hero.is-outview .be-loop-hero__group,
.fc_area.is-outview::after {
  animation-play-state: paused;
}

/* 画面外ではGPU予約を解除 */
.be-main-visual.is-outview .be-main-visual__slide img,
.be-loop-hero.is-outview .be-loop-hero__group {
  will-change: auto;
}

/* 表示中は必要なものだけGPU予約 */
.be-main-visual:not(.is-outview) .be-main-visual__slide img {
  will-change: transform;
}

.be-loop-hero:not(.is-outview) .be-loop-hero__group {
  will-change: transform;
}