@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    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
*/

/* セクションの土台 */
.hero {
  background-image: linear-gradient(90deg, #ffffff, #a582c9 40%);
	position: relative;
  padding-block: clamp(64px, 10vw, 120px);
  padding-inline: clamp(16px, 4vw, 48px);
	padding:6em 0 0 0!important;
}
.hero.is-ready{ background-image:linear-gradient(90deg,#a582c9,#775fa8)!important; }


/* レイヤーの基準座標 */
.hero-inner {
  position: relative;
}

/* 画像：セクション幅の90%／左上のみ角丸／影／右からフェード */
.hero .hero-photo {
  width: 95%;         /* 横幅いっぱいに広がる */
  max-width: none;     /* 上限を外す */
  height: 700px;       /* ここで表示高さを固定（任意の高さ） */
  overflow: hidden;    /* はみ出した部分を隠す */
	margin:0 0 0 auto;
}

.hero .hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* アスペクト比維持でトリミング */
  border-radius: 80px 0 0 0;
}
/* テキストを画像の右側上に重ねる */
.hero .hero-overlay {
  position: absolute;
  inset: 0;                       /* 画像の上を全域カバー */
  display: flex;
  justify-content: flex-end;      /* 右側へ */
  align-items: center;            /* 中央揃え（上寄せなら flex-start） */
  pointer-events: none;           /* 背景だけならクリック透過。ボタンを置くなら後述 */
  padding-right: clamp(16px, 4vw, 56px);
  padding-left: clamp(16px, 3vw, 40px);
	z-index:99;
}

/* オーバーレイ内のパネル（必要なら） */
.hero .hero-overlay > * {
  pointer-events: auto;           /* ボタンをクリック可能にする */
  max-width: min(38ch, 46%);      /* 右側の幅を調整 */
  background: transparent;        /* 透過。白パネルにしたい場合は rgba(255,255,255,.9) など */
  padding: 0;                     /* パネル化するなら余白を設定 */
}

/* 右からフェードイン */
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}
.fadein-right { animation: slideInRight .8s ease-out .2s both; }

/* レスポンシブ */
@media (max-width: 781px) {
  .hero { padding-block: 56px; }
  .hero .hero-photo { width: 95%; }
  .hero .hero-overlay {
    position: static;            /* 重ねを解除して縦並び */
    display: block;
    padding: 16px 0 0;
  }
  .hero .hero-overlay > * {
    max-width: 100%;
  }
}









/* マップヘッダーカット */
.map-embed{
  position: relative;
  height: 480px;          /* 表示したい高さ */
  overflow: hidden;       /* はみ出しを隠す */
  border-radius: 8px;     /* 任意 */
}
.map-embed iframe{
  position: absolute;
  top: -70px;             /* ← ヘッダーの高さ分だけ上にずらす（要調整） */
  left: 0;
  width: 100%;
  height: calc(100% + 60px); /* ずらした分だけ高さを足す */
  border: 0;
}
@media (max-width: 600px){
  .map-embed iframe{
    top: -80px;                 /* 端末によりヘッダー高さが違うので調整 */
    height: calc(100% + 80px);
  }
}



.neon-inner-crisp{
  position: relative;
  background: #000;               /* 背景次第で調整 */
  /* ① くっきりした内側の線（blur=0・spread=線の太さ） */
	  padding: 8px;

  box-shadow:
    inset 0 0 0 8px #9f3dff,
    /* ② 内側の光（ぼかしあり） */
    inset 0 0 16px rgba(159,61,255,.9),
    inset 0 0 32px rgba(159,61,255,.6);
}

/* ネオン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;
}

/* 上2角：外へ */
.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); }

/* 下2角の土台（空要素）：親いっぱい＋下に延長 */
.corner-frame__overlay{
  position:absolute; top:0; left:0; right:0;
  bottom: calc(-1 * var(--corner-out));
  z-index:2; pointer-events:none;
}
/* 下2角：外へ */
.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; }
/* Columns を外枠に使っている場合の保険（本来はGroup推奨） */
.wp-block-columns.corner-frame{ display:block; }






.login_button {
    display: inline-block;
    padding: 10px 20px;
	margin-bottom:0.2em;
    background-color: #0073aa; /* WordPressっぽい青 */
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
    transition: 0.3s;
}

.login_button:hover {
    background-color: #005f8d;
}


/* ##配色
 * 
 * - white: white
 * - gray: whitesmoke
 * - black: slategray
 * - sub: #FCECEA
 * - main: #EE817B
 * 
 * 上のカラーコードで検索かけて一括変換すればお好みの色に変えられます。cssの辛いとこね、これ
 *
*/

/*bbPressフォーラム一覧画面*/

#bbpress-forums ul.bbp-forums {
  border: none;
}

#bbpress-forums li.bbp-header, #bbpress-forums li.bbp-footer, #bbpress-forums li.bbp-body li.bbp-forum-reply-count, #bbpress-forums li.bbp-body li.bbp-forum-freshness {
  display: none;
}

#bbpress-forums li.bbp-body ul.forum {
  border-top: none;
  background: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#bbpress-forums li.bbp-forum-info {
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}

#bbpress-forums .bbp-forum-info .bbp-forum-content {
  position: relative;
  display: inline-block;
  padding: .5em 1em .5em 5px;
  min-width: 200px;
  max-width: 100%;
  border-radius: 3px;
  color: slategray;
  background: whitesmoke;
}

#bbpress-forums .bbp-forum-info .bbp-forum-content::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 30px;
  margin-left: -15px;
  border: 10px solid transparent;
  border-bottom: 10px solid whitesmoke;
}

#bbpress-forums .bbp-forum-info a.bbp-forum-title {
  display: block;
  font-size: 1.2em;
  font-weight: 900;
  color: #EE817B;
  /*カテゴリー名の文字色*/
  text-decoration: none;
  padding: 15px 15px 15px 0;
}

#bbpress-forums li.bbp-body li.bbp-forum-topic-count {
  text-align: center;
  vertical-align: middle;
  margin-top: 15px;
  width: 25px;
  min-width: 25px;
  height: 25px;
  line-height: 25px;
  border-radius: 50%;
  background: whitesmoke;
  color: slategray;
}


/*bbPressトピック一覧画面*/

.bbp-template-notice, #bbpress-forums li.bbp-topic-title p.bbp-topic-meta, #bbpress-forums li.bbp-topic-voice-count, #bbpress-forums li.bbp-topic-freshness, #bbpress-forums .bbp-pagination {
  display: none;
}

#bbpress-forums ul.bbp-topics, #bbpress-forums li.bbp-header {
  border: none;
}

#bbpress-forums div.odd, #bbpress-forums ul.odd {
  background: white;
}

#bbpress-forums li.bbp-body ul.topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#bbpress-forums li.bbp-body ul.topic li.bbp-topic-title {
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
}

#bbpress-forums li.bbp-body ul.topic li.bbp-topic-title a.bbp-topic-permalink {
  display: block;
  font-weight: 900;
  color: #EE817B;
  /*カテゴリー名の文字色*/
  text-decoration: none;
  padding: 15px 15px 15px 0;
}

#bbpress-forums li.bbp-body ul.topic li.bbp-topic-reply-count {
  text-align: center;
  vertical-align: middle;
  margin-top: 15px;
  width: 25px;
  min-width: 25px;
  height: 25px;
  line-height: 25px;
  border-radius: 50%;
  background: whitesmoke;
  color: slategray;
}


/*トピック作成フォーム*/

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form {
  background: white;
  border: none;
  padding: 0;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form legend {
  position: relative;
  padding: 10px 40px 10px 10px;
  margin: 0 0 1em;
  line-height: 20px;
  background: #FCECEA;
  border-left: 40px solid #EE817B;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form legend::before {
  content: "\f5ad";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2em;
  color: white;
  position: absolute;
  left: -32px;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form label, #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form select, #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form br {
  display: none;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>p:nth-of-type(1)::before{
  content: "タイトル";
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>div.bbp-the-content-wrapper::before {
  content: "本文";
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>p:nth-of-type(1)::before,
#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form>div>div.bbp-the-content-wrapper::before {
  color: slategray;
  line-height: 50px;
  background: #FCECEA;
  padding: .5em 1.5em;
  border-radius: 30px;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form input#bbp_topic_title, #bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form textarea#bbp_topic_content {
  width: 100%;
  background: whitesmoke;
  border: none;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form .bbp-submit-wrapper {
  float: none;
  text-align: center;
}

#bbpress-forums div.bbp-topic-form form#new-post fieldset.bbp-form .bbp-submit-wrapper button#bbp_topic_submit {
  width: 100%;
  max-width: 600px;
  margin: auto;
  background: #EE817B;
  color: white;
  border: none;
  border-radius: 3px;
}


/*トピック詳細画面*/

#bbpress-forums ul.bbp-replies {
  border: none;
}

#bbpress-forums div.bbp-reply-header {
  background-color: white;
  border-top: none;
}

#bbpress-forums div.bbp-reply-author {
  width: 20%;
}

#bbpress-forums .bbp-author-role, #bbpress-forums .bbp-reply-ip, #bbpress-forums .bbp-reply-permalink, #bbpress-forums span.bbp-admin-links {
  display: none;
}

#bbpress-forums .bbp-meta {
  text-align: right;
}

#bbpress-forums .bbp-body span.bbp-reply-post-date {
  color: #ccc;
}

#bbpress-forums div.bbp-reply-author img.avatar {
  margin: 0 auto;
  border-radius: 50%;
}

#bbpress-forums div.bbp-reply-author a.bbp-author-name {
  color: slategray;
  text-decoration: none;
}

#bbpress-forums div.bbp-reply-content {
  position: relative;
  display: inline-block;
  padding: 30px;
  margin-left: 20px;
  min-width: 200px;
  max-width: calc( 80% - 20px);
  border-radius: 3px;
  color: slategray;
  background: whitesmoke;
}

#bbpress-forums div.bbp-reply-content::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 30px;
  border: 10px solid transparent;
  border-right: 10px solid whitesmoke;
}

@media(max-width:480px) {
  #bbpress-forums .bbp-body div.bbp-reply-author {
    margin: 0;
    min-height: 85px;
  }
  #bbpress-forums .bbp-body div.bbp-reply-content {
    margin: 0;
  }
  #bbpress-forums .bbp-body div.bbp-reply-content p {
    padding: .5em 1em;
    margin: 0;
  }
  #bbpress-forums div.bbp-reply-content::before {
    top: -20px;
    left: 20px;
    border: 10px solid transparent;
    border-bottom: 10px solid whitesmoke;
  }
}


/*返信フォーム*/

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form legend {
  position: relative;
  padding: 10px 40px 10px 10px;
  margin: 0 0 1em;
  line-height: 20px;
  background: #FCECEA;
  border-left: 40px solid #EE817B;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form legend::before {
  content: "\f5ad";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2em;
  color: white;
  position: absolute;
  left: -32px;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form {
  border: none;
  padding: 0;
  background: white;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form textarea#bbp_reply_content {
  width: 100%;
  background: whitesmoke;
  border: none;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form .bbp-submit-wrapper {
  float: none;
  text-align: center;
}

#bbpress-forums div.bbp-reply-form form#new-post fieldset.bbp-form .bbp-submit-wrapper button#bbp_reply_submit {
  width: 100%;
  max-width: 600px;
  margin: auto;
  background: #EE817B;
  color: white;
  border: none;
  border-radius: 3px;
}

/*匿名投稿を可能にする時用*/
fieldset.bbp-form p.form-allowed-tags,
fieldset.bbp-form>div>fieldset.bbp-form {
  display: none;
}

/*お問い合わせフォーム*/
.form_kome-text{
 color:#008080	;
 text-align:center;
 font-size:0.8em;
margin-top:2em;
}

.cf-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 2em 0;
	border-bottom: 1px dashed #ccc;
	transition: all .3s;
}

.cf-area:last-child {
	border-bottom: none;
}

.cf-area dt {
  width: 200px;
  padding-right: 30px;
  text-align: right;
	line-height:1.5em;
}

.cf-area dd {
    flex: 1;
}

.cf-area input, .cf-area textarea {
  width: 100%;
  padding: 0.8em;
  border: none;
  background-color: #e6e6e6;
  font-size: 16px;
	resize: vertical;
	transition: all .3s;
}

.cf-area input:focus,.cf-area textarea:focus {
	outline: none;
	background: #dde2e9;
}

.cf-required {
	background: #b91e23;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px 2px;
	border-radius: 2px
}
.cf-optional {
	background: #6599b7;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px 2px;
	border-radius: 2px
}

.cf-send input {
	display: block;
	background: linear-gradient(135deg, #6b7a8e 0%, #3b4a5e 100%);
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	border: none;
	border-radius: 10px;
	color: #fff;
	box-shadow: 2px 5px 15px 0 rgba(0, 0, 0, .2);
	font-size: 1.3em;
	font-weight: bold;
	transition: all .3s;
}

.cf-send input:hover {
	filter: brightness(1.25);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #fce3e3;
	border: none;
	text-align: center;
}

@media screen and (max-width:768px){
		.p-mainVisual__slideTitle{
			position:relative;
			top: 50px;
	    text-align:left;
			align-items: flex-end;
      font-size:1.8em;
			color:#FFF;
			text-shadow:1px 1px 0px rgba(0, 0, 0, 0.3);;
}
	.cf-area {
		display: block;
	}

	.cf-area dt {
    width: 100%;
		margin-bottom: 5px;
    padding-right: 0;
    text-align: left;
		line-height:1.5em;
	}
}

/*以下テストカルーセル（後ほど削除）*/
.game-swiper { padding: 60px 0; }
.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-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:12px !important; }
.game-swiper .swiper-button-prev,
.game-swiper .swiper-button-next{ color:#a020f0; }

/* コンテナ余白（好みで調整） */
.coverflow3 { padding: 40px 0; }

/* スライドの形状（3:4の縦長っぽく） */
.coverflow3 .swiper-slide{
  aspect-ratio: 3 / 4;           /* モダン環境。古いテーマは固定高さでもOK */
  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; }

/* スライドの器 */
.coverflow-card .swiper-slide{
  position: relative;
  aspect-ratio: 3 / 4;           /* 縦長に見せる。不要なら削除して固定高さでもOK */
  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:0 0 .25rem; 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;
}



/* 大画面の微調整 */
@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; }





/* 余白 */
.testimonial-swiper { padding: 36px 0; }

/* スライド全体（カード） */
.testimonial-swiper .swiper-slide { height: auto; transition: opacity .35s ease; }
.tcard{
  display: flex; flex-direction: column; gap: 10px;
  background: #0f0f12; color: #fff; border-radius: 16px;
  padding: 18px; box-shadow: 0 12px 28px rgba(0,0,0,.25);
}

/* ヘッダー（アイコン＋名前＋肩書き） */
.t-head{ display:flex; align-items:center; gap:12px; }
.t-head .avatar{ width:56px; height:56px; border-radius:50%; object-fit:cover; }
.t-head .name{ font-weight:700; line-height:1.2; }
.t-head .role{ font-size:.9rem; opacity:.75; }

/* 見出しと本文 */
.tcard .title{ margin:.25rem 0 0; font-size:1.05rem; font-weight:700; }
.tcard .text{ margin:.4rem 0 0; font-size:.95rem; line-height:1.7; }

/* 星評価（必要なければ削除OK） */
.rating{ letter-spacing:2px; font-size:1rem; color:#ffd45c; }

/* アクティブ強調（左右は薄め） */
.testimonial-swiper .swiper-slide{ opacity:.35; }
.testimonial-swiper .swiper-slide-prev,
.testimonial-swiper .swiper-slide-next{ opacity:.75; }
.testimonial-swiper .swiper-slide-active{ opacity:1; }


/* CSS */
/* MV */
@keyframes imgFadeIn {
  to {
    opacity: 1;
    filter: blur(0px);
  }
}
@keyframes SlideInText {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 吹き出し */
@keyframes bubbleAnimation {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.9);
  }
}

/* fadeUp */
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  10% {
    opacity: 0;
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  10% {
    opacity: 0;
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

/* 既存の keyframes はそのまま利用 */
@keyframes SlideInText {
  from { opacity: 0; transform: translateY(100%); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ここから適用用のスタイルを追加 */
.mvTitle {
  overflow: hidden;           /* 下から入ってくる部分を隠す */
  line-height: 1.4;
}

.mvTitle .slideInText {
  display: inline-block;      /* transformの基準を自分に */
  opacity: 0;                 /* 初期は非表示 */
  transform: translateY(100%);/* 初期位置（念のため明示） */
  animation: SlideInText .6s ease-out forwards;
	animation-delay: 2s;
}

/* 2行目を少し遅らせて順番に */
.mvTitle .slideInText:nth-of-type(2) {
  animation-delay: .15s;
}






