@charset "UTF-8";
/* Google Fonts は index.html の <link> で読み込み済み */

/** *********************** **/

/*
font-family: "Inter", sans-serif;
	font-weight: 700;
font-family: 'M PLUS 1p', sans-serif;
	font-weight: 500;
font-family: 'M PLUS 1p', sans-serif;
	font-weight: 700;
font-family: 'M PLUS 1p', sans-serif;
	font-weight: 800;
*/

/** *********************** **/

.pc_view {
	display: none !important;
}
img {
	width: 100%;
	height: auto;
}

/** *********************** **/

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

/** *********************** **/

html {
	 scrollbar-gutter: stable;
}
body {
	width: 100%;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 500;
	color: #000;
	position: relative;
	-webkit-font-smoothing: antialiased;
	overflow: hidden;
	overflow-x: hidden;
}
body.loaded {
    overflow: auto;
}
  body.modal-open {
    overflow: hidden;
  }

/** *********************** **/

#loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #004ea2;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.2s ease-out;
    overflow: hidden;
}
.loading-counter {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10001;
    pointer-events: none;
    display: flex;
    align-items: baseline;
    gap: 3px;
}
.loading-counter__num {
    font-size: 72px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    font-family: "Inter", sans-serif;
    letter-spacing: -0.02em;
}
.loading-counter__pct {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    font-family: "Inter", sans-serif;
}
#loading-screen.fade-out {
    opacity: 0;
    pointer-events: none;
}
#loading-video {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: auto;
    transform: translateY(-50%);
}

/** *********************** **/
/* ============================================================
 * 軽量化: 浮遊・回転アニメーションを CSS @keyframes に委譲
 * Motion.js の無限ループ RAF を排除してスマホ負荷を削減
 * ============================================================ */

@keyframes sp-float-a {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(6px); }
}
@keyframes sp-float-b {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(-7px); }
}
@keyframes sp-float-c {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(5px); }
}
@keyframes sp-float-d {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(-5px); }
}

.sp-float {
  animation-name: sp-float-a;
  animation-duration: var(--sp-float-dur, 5s);
  animation-delay: var(--sp-float-delay, 0s);
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.sp-float[data-float-pat="b"] { animation-name: sp-float-b; }
.sp-float[data-float-pat="c"] { animation-name: sp-float-c; }
.sp-float[data-float-pat="d"] { animation-name: sp-float-d; }

@keyframes sp-spin {
  to { transform: rotate(360deg); }
}

/* ─── MV 入場アニメーション（CSS のみ・低スペック端末向け） ─── */
@keyframes mv-img-enter {
  from { opacity: 0; transform: translateY(10vh); }
  to   { opacity: 1; transform: translateY(0);    }
}
.float-mv-img.mv-enter {
  animation: mv-img-enter 1s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--mv-enter-delay, 0s);
}

/* ─── cnt_03 浮遊画像 入場アニメーション（cnt_mv_images と同仕様） ─── */
.float-img.cnt03-enter {
  animation: mv-img-enter 1s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--cnt03-enter-delay, 0s);
}

@keyframes mv-text-enter {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0);    }
}
.cnt_mv_wrap h2,
.cnt_mv_wrap p {
  opacity: 0;
}
.cnt_mv_wrap h2.mv-enter,
.cnt_mv_wrap p.mv-enter {
  animation: mv-text-enter 0.5s ease both;
}

/** *********************** **/

#main-content {
    opacity: 0;
    visibility: hidden;
		transition: opacity 0.2s ease-in;
}
#main-content.show {
    opacity: 1;
    visibility: visible;
}

/*@keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }*/

/** *********************** **/

header {
	width: 100%;
	height: 19.46vw;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	transition: background 0.3s ease, transform 0.3s ease;
}
header.modal-hidden {
	transform: translateY(-100%);
}
header.active {
	background: rgba(255,255,255,0.40);
}
header.menu-open {
	z-index: 201;
	background: #fff;
}
.header_wrap {
	width: 100%;
	height: 19.46vw;
	position: relative;
}
.header_wrap h1 {
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 3.2vw;
	line-height: 10.93vw;
	position: absolute;
	top: 4.26vw;
	left: 5.33vw;
}
.header_wrap h1 span {
	width: 23.2vw;
	height: 10.93vw;
	background: url("../sp_img/head_logo.png") no-repeat;
	background-size: 23.2vw 10.93vw;
	text-indent: -9876px;
	display: inline-block;
	margin-right: 3.2vw;
}
.header_wrap ul {
	position: absolute;
	top: 40px;
	right: 245px;
	font-size: 0;
	display: none;
}
.header_wrap li {
	font-size: 16px;
	line-height: 1;
	font-weight: 700;
	display: inline-block;
	vertical-align: top;
	margin-right: 20px;
}
.header_wrap li:last-child {
	margin-right: 0;
}
.head_entry {
	width: 200px;
	height: 95px;
	position: absolute;
	top: 0;
	right: 0;
	display: none;
}
.head_entry a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	background: #000;
	color: #fff;
	font-size: 11px;
	line-height: 1;
	text-align: center;
	padding-top: 58px;
	border-radius: 0 0 0 10px;
}
.head_entry a::before {
	content: "Entry";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 35px;
	line-height: 1;
	color: #fff;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 22px;
	left: 0;
}
.head_entry a::after {
	content: "";
	width: 18px;
	height: 6px;
	background: url("../sp_img/head_arrw.png") no-repeat;
	background-size: 18px 6px;
	position: absolute;
	top: 44.5px;
	right: 23px;
}

/** *********************** **/

.cnt_mv_wrap {
	width: 100%;
	height: 100vh;
	overflow: clip;
  overflow-x: clip;
  overflow-y: visible;
	position: sticky;            /* スクロール中も画面上部に固定 */
  top: 0;
  z-index: 1;
	background: url("../sp_img/mv_bg.jpg") no-repeat top center;
	background-size: 100% auto;
}
.cnt_mv {
	width: 100%;
	height: 100vh;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mv_content {
	width: 100%;
	/*margin-top: 10vw;*/
}
.cnt_mv h2 {
	width: 74.57vw;
	margin: 13vw auto 8.73vw auto;
	position: relative;
	z-index: 80;
}
.cnt_mv p {
	width: 64.88vw;
	margin: 0 auto;
	position: relative;
	z-index: 80;
	margin-bottom: 10.66vw;
}

/** *********************** **/

/* ===== MV セクション 浮遊画像（function.js items 配列の値を CSS に移植） ===== */

.cnt_mv_images {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.float-mv-img {
  position: absolute;
  opacity: 0;                     /* 初期非表示（CSS animation で入場） */
  will-change: transform;
}
.float-mv-img.is-visible {
  opacity: 1;
}

.float-mv-img[data-float-index="0"]  { width: 5.51vw; height: 4.35vw; top: 35.2vw; left: 4.267vw; }
.float-mv-img[data-float-index="1"]  { width: 20.62vw; height: 18.4vw; top: 25.6vw; left: 14.933vw; }
.float-mv-img[data-float-index="2"]  { width: 8.53vw; height: 10.31vw; top: 34.933vw; left: 39.733vw; }
.float-mv-img[data-float-index="3"]  { width: 12.71vw; height: 11.37vw; top: 21.333vw; right: 27.467vw; }
.float-mv-img[data-float-index="4"]  { width: 52.26vw; height: 62.13vw; top: 0.533vw; right: -29.6vw; }
.float-mv-img[data-float-index="5"]  { width: 3.55vw; height: 3.91vw; top: 66.4vw; left: 6.93vw; }
.float-mv-img[data-float-index="6"]  { width: 24.44vw; height: 24.62vw; top: 83.46vw; left: -4.8vw; }
.float-mv-img[data-float-index="7"]  { width: 11.82vw; height: 8.44vw; top: 95.73vw; right: 1.86vw; }
.float-mv-img[data-float-index="8"]  { width: 16.62vw; height: 16vw; top: 133.86vw; left: 1.86vw; }
.float-mv-img[data-float-index="9"]  { width: 10.48vw; height: 10.22vw; top: 147.2vw; left: 19.73vw; }
.float-mv-img[data-float-index="10"] { width: 33.24vw; height: 24.26vw; top: 138.93vw; right: -5.33vw; }
.float-mv-img[data-float-index="11"] { width: 8.44vw; height: 8.97vw; top: 164.267vw; right: 27.2vw; }
.float-mv-img[data-float-index="12"] { display: none; }

/** *********************** **/

/* ─── 既存CSS（改変箇所にコメント付き） ─── */

.mv_scroll {
  width: 17.06vw;
  height: 17.06vw;
  border-radius: 8.53vw;
  background: #000;
  margin: 0 auto;
  text-align: center;
  /* ▼ 追加: 回転テキストが外側にはみ出すため */
  overflow: visible;
  z-index: 10;
}

.mv_scroll a {
  width: 100%;
  height: 100%;
  display: block;
  padding-top: 5.86vw;
  font-size: 2.66vw;
  line-height: 1;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  color: #fff;
  position: relative;
  /* ▼ 追加: ホバー時の中央テキスト演出 */
  text-decoration: none;
}

.mv_scroll a::after {
  content: "";
  width: 1.15vw;
  height: 3.91vw;
  background: url("../sp_img/mv_arrw.png") no-repeat;
  background-size: 1.15vw 3.91vw;
  position: absolute;
  top: 10.4vw;
  left: 8.5vw;
}

/* ─── ▼ 以下すべて追加 ─── */

/* 回転テキスト コンテナ（CSS アニメーションで回転） */
.rotating-text {
  position: absolute;
  width: 24vw;
  height: 24vw;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  pointer-events: none;
  animation: sp-spin 18s linear infinite;
}
.rotating-text__img {
  display: block;
  width: 24vw;
  height: 24vw;
}

/* SVG */
.rotating-text__svg {
  display: block;
  width: 100%;
  height: 100%;
  will-change: transform;
}
	
/** *********************** **/

.cnt_main_wap {
	width: 100%;
	background: url("../sp_img/cnt_main_bg.png") no-repeat top center;
	background-size: 100% auto;
	position: relative;
	z-index: 10;
	padding-top: 23.2vw;
}

/** *********************** **/

.cnt_01_wrap {
  width: 100%;
}
.cnt_01 {
	width: 100%;
	height: 142.4vw;
	padding-top: 12.53vw;
	margin: 0 auto 12.8vw auto;
}
.cnt_01 h3 {
	width: 45.68vw;
	margin: 0 auto 12.8vw auto;
	position: relative;
}
.cnt_01 h3::after {
	content: "";
	width: 0.26vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}
.cnt_01 p:nth-of-type(1) {
	width: 74.31vw;
	margin: 0 auto 4.8vw auto;
}
.cnt_01 p:nth-of-type(2) {
	width: 69.33vw;
	font-weight: 500;
	font-size: 3.73vw;
	line-height: 5.86vw;
	text-align: left;
	margin: 0 auto 5.33vw auto;
}
.cnt_01 dl {
	text-align: center;
	font-size: 0;
}
.cnt_01 dt {
	width: 53.33vw;
	height: 6.66vw;
	background: #f63964;
	font-weight: 800;
	font-size: 4vw;
	line-height: 6.66vw;
	color: #fff;
	margin: 0 auto 5.33vw auto;
	position: relative;
}
.cnt_01 dt::after {
	content: "";
	width: 0;
  height: 0;
  border-style: solid;
  border-left: 0.8vw solid transparent;
  border-right: 0.8vw solid transparent;
  border-top: 0.8vw solid #f63964;
	position: absolute;
	bottom: -0.66vw;
	right: 50%;
	margin-left: -0.8vw;
}
.cnt_01 dd {
	font-weight: 800;
	font-size: 4.26vw;
	line-height: 5.86vw;
	color: #000;
	text-align: center;
}

/** *********************** **/

.cnt_02_wrap {
  width: 100%;
	padding-bottom: 22.10vw;
}
.cnt_02 {
	width: 100%;
}
.cnt_02 h3 {
	width: 69.24vw;
	margin: 0 auto 10.66vw auto;
	position: relative;
}
.cnt_02 h3::after {
	content: "";
	width: 0.26vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}

/** *********************** **/

/* ============================
   Slider Wrapper
   ============================ */
.slider-container {
  position: relative;
  width: 100%;
  overflow-x: clip; /* 横方向のみクリップ（縦方向は visible のまま → dots が見える） */
}

.slider-viewport {
  overflow-x: clip;    /* 横は .slider-container と二重でクリップ */
  overflow-y: visible; /* ポップアニメーションの上方向拡大をクリップしない */
  width: 100%;
	margin: 0 auto;
}

.slider-track {
  display: flex;
  align-items: center;
  /* transition は Motion.js が担当 */
}

 .slider-track .slide {
    flex: 0 0 76.26vw;
    margin: 0 4vw;
    cursor: pointer;
  }
.slider-track .slide .slide-inner {
  width: 100%;
  will-change: transform;
  /*
   * scale / opacity は slider.js の slideStates[] が完全管理。
   * CSS にデフォルト値を書かない理由:
   *   CSS の scale プロパティと Motion がインラインに書く scale プロパティは
   *   同名だが、「CSS ルール < インライン」なので Motion が上書きするはず。
   *   ただし初回アニメーション前（即時セット後）に CSS 側が残ると
   *   意図しない合成が起きる可能性があるため、JS 側のみで制御する。
   * FOUC 対策:
   *   moveTo(currentIndex, false) が DOMContentLoaded 後すぐ走るため
   *   実質フラッシュは発生しない。
   */
}

/* .is-center の scale / opacity は Motion.js が animate() で制御するため
   CSS では定義しない。初期値は上の .slide-inner に定義済み。 */

.slider-track .slide img {
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
}

/* .no-transition ユーティリティは Motion.js に移行したため不要 */

/* ============================
 Prev / Next ボタン
 ============================ */
.slider-btn {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  z-index: 10;
  width: 12.8vw;
  height: 16vw;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
}

.slider-btn--prev { 
	left: 0;
	border-radius: 0 8vw 8vw 0;
	background: #000 url("../sp_img/cnt_02_arrw_left.png") no-repeat center center;
	background-size:  3.64vw 1.24vw;
}
.slider-btn--next {
	right: 0;
	border-radius: 8vw 0 0 8vw;
	background: #000 url("../sp_img/cnt_02_arrw_right.png") no-repeat center center;
	background-size:  3.64vw 1.24vw;
}

/* ============================
 ドットナビゲーション
 ============================ */
.slider-dots {
	width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.66vw;
	position: absolute;
	top: 80.66vw;
	left: 0;
}
.slider-dot {
  width: 3.2vw;
  height: 3.2vw;
  border-radius: 1.6vw;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: var(--dot-color, #ccc);
}

/* ============================
 モーダル
 ============================ */
 
.modal-overlay {
position: fixed;
inset: 0;
z-index: 9990;
background: rgba(0, 0, 0, 0.8);
display: flex;
justify-content: center;
align-items: center;
opacity: 0;
visibility: hidden;
}
.modal-overlay.is-visible {
visibility: visible;
}
.modal-content {
  border-radius: 2.66vw;
  width: 89.33vw;
  position: relative;
  z-index: 9991;
  /* transform・transition は Motion.js が担当 */
}
.modal-body {
  position: relative;
  z-index: 9992;
	overflow-y: auto;
	max-height: 70vh;
	padding: 10.66vw 8vw 12vw 8vw;
	border-radius: 2.66vw;
	clip-path: inset(0 round 2.66vw);
}
.modal-body.modal-suzuki {
	background: #f63864 !important;
}
.modal-body.modal-honda {
	background: #f48b2e !important;
}
.modal-body.modal-nakagoshi {
	background: #169ee8 !important;
}
.modal-content .modal_name {
	margin-bottom: 2.66vw;
}
.modal-content .modal_name dt {
	width: 18.66vw;
	height: 4.26vw;
	background: #000;
	font-size: 2.93vw;
	line-height: 4.26vw;
	font-weight: 700;
	color: #fff;
	text-align: center;
	margin: 0 auto 3.46vw auto;
}
.modal-body.modal-suzuki .modal_name dd {
	width: 57.68vw;
	margin: 0 auto;
}
.modal-body.modal-honda .modal_name dd {
	width: 55.02vw;
	margin: 0 auto;
}
.modal-body.modal-nakagoshi .modal_name dd {
	width: 72.44vw;
	margin: 0 auto;
}

.modal-content h4 {
	font-weight: 800;
	font-size: 3.46vw;
	line-height: 1;
	text-align: center;
	margin-bottom: 5.33vw;
}
.modal-content .cnt_02_modal_img {
	width: 72vw;
	border-radius: 1.86vw;
	margin: 0 auto  5.33vw auto;
}
.modal-content .cnt_02_modal_img img {
	width: 100%;
	height: auto;
	border-radius: 1.86vw;
}
.modal-content .cnt_02_modal_history {
	width: 72vw;
	margin: 0 auto 5.33vw auto;
}
.modal-content .cnt_02_modal_history h5 {
	font-weight: 800;
	font-size: 3.73vw;
	line-height: 1;
	margin-bottom: 2.66vw;
}
.modal-content .cnt_02_modal_history h5 span {
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 8.93vw;
	line-height: 1;
	letter-spacing: 0.8vw;
	color: #fff;
	margin-right: 2.13vw;
	display: inline-block;
}
.cnt_02_modal_history ul {
	width: 72vw;
	position: relative;
}
.modal-body.modal-suzuki .cnt_02_modal_history ul::after {
	content: "";
	width: 0.53vw;
	height: calc(100% - 4vw);
	background: #000;
	position: absolute;
	top: 2.66vw;
	left: 2.76vw;
}
.modal-body.modal-honda .cnt_02_modal_history ul::after {
	content: "";
	width: 0.53vw;
	height: calc(100% - 8vw);
	background: #000;
	position: absolute;
	top: 3.56vw;
	left: 2.76vw;
}
.modal-body.modal-nakagoshi .cnt_02_modal_history ul::after {
	content: "";
	width: 0.53vw;
	height: calc(100% - 4vw);
	background: #000;
	position: absolute;
	top: 2.66vw;
	left: 2.76vw;
}

.modal-body.modal-suzuki .cnt_02_modal_history li {
	width: 62.66vw;
	background: #000;
	border-radius: 1.33vw;
	padding: 2.13vw 4vw;
	font-weight: 500;
	font-size: 2.93vw;
	line-height: 4vw;
	color: #fff;
	margin: 0 0  0.8vw auto;
	position: relative;
}
.modal-body.modal-honda .cnt_02_modal_history li {
	width: 62.66vw;
	background: #000;
	border-radius: 1.33vw;
	padding: 2.13vw 4vw;
	font-weight: 500;
	font-size: 2.93vw;
	line-height: 4vw;
	color: #fff;
	margin: 0 0  0.8vw auto;
	position: relative;
}
.modal-body.modal-nakagoshi .cnt_02_modal_history li {
	width: 62.66vw;
	background: #000;
	border-radius: 1.33vw;
	padding: 2.13vw 4vw;
	font-weight: 500;
	font-size: 2.93vw;
	line-height: 4vw;
	color: #fff;
	margin: 0 0  0.8vw auto;
	position: relative;
}

.modal-body.modal-suzuki .cnt_02_modal_history li::before {
	content: "";
	width: 5.155vw;
	height: 5.155vw;
	background: url("../sp_img/cnt_02_modal_suzuki_circle.png") no-repeat;
	background-size: 5.155vw 5.155vw;
	position: absolute;
	top: 50%;
	margin-top: -2.5775vw;
	left: -8.8vw;
	z-index: 10;
}
.modal-body.modal-honda .cnt_02_modal_history li::before {
	content: "";
	width: 5.155vw;
	height: 5.155vw;
	background: url("../sp_img/cnt_02_modal_honda_circle.png") no-repeat;
	background-size: 5.155vw 5.155vw;
	position: absolute;
	top: 50%;
	margin-top: -2.5775vw;
	left: -8.8vw;
	z-index: 10;
}
.modal-body.modal-nakagoshi .cnt_02_modal_history li::before {
	content: "";
	width: 5.155vw;
	height: 5.155vw;
	background: url("../sp_img/cnt_02_modal_nakagoshi_circle.png") no-repeat;
	background-size: 5.155vw 5.155vw;
	position: absolute;
	top: 50%;
	margin-top: -2.5775vw;
	left: -8.8vw;
	z-index: 10;
}

.modal-body .cnt_02_modal_history li::after {
	content: "";
	width: 5.33vw;
	height: 0.26vw;
	background: #000;
	position: absolute;
	top: 50%;
	margin-top: -0.13vw;
	left: -5.33vw;
	z-index: 9;
}

.cnt_02_modal_question {
	width: 100%;
}
.cnt_02_modal_question dl {
	width: 100%;
	background: #fff;
	padding: 4vw;
	border-radius: 1.86vw;
	margin-bottom: 2.66vw;
}
.cnt_02_modal_question dl:last-child {
	margin-bottom: 0;
}
.modal-body.modal-suzuki .cnt_02_modal_question dt {
	width: 100%;
	background: #f63864;
	border-radius: 1.86vw;
	padding: 2.66vw 2.66vw 2.66vw 16vw;
	font-weight: 800;
	font-size: 4.26vw;
	line-height: 5.86vw;
	color: #fff;
	position: relative;
}
.modal-body.modal-honda .cnt_02_modal_question dt {
	width: 100%;
	background: #f48b2e;
	border-radius: 1.86vw;
	padding: 2.66vw 2.66vw 2.66vw 16vw;
	font-weight: 800;
	font-size: 4.26vw;
	line-height: 5.86vw;
	color: #fff;
	position: relative;
}
.modal-body.modal-nakagoshi .cnt_02_modal_question dt {
	width: 100%;
	background: #169ee8;
	border-radius: 1.86vw;
	padding: 2.66vw 2.66vw 2.66vw 16vw;
	font-weight: 800;
	font-size: 4.26vw;
	line-height: 5.86vw;
	color: #fff;
	position: relative;
}

.cnt_02_modal_question dl:nth-of-type(1) dt::before {
	content: "Q1.";
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 5.86vw;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 2.66vw;
	left: 3.2vw;
}
.cnt_02_modal_question dl:nth-of-type(2) dt::before {
	content: "Q2.";
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 5.86vw;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 2.66vw;
	left: 3.2vw;
}
.cnt_02_modal_question dl:nth-of-type(3) dt::before {
	content: "Q3.";
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 5.86vw;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 2.66vw;
	left: 3.2vw;
}
.cnt_02_modal_question dl:nth-of-type(4) dt::before {
	content: "Q4.";
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 5.86vw;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 2.66vw;
	left: 3.2vw;
}


.cnt_02_modal_question dd {
	padding: 4vw 2.66vw 1.33vw 2.66vw;
	font-weight: 500;
	font-size: 3.73vw;
	line-height: 5.86vw;
}

/* .modal-overlay.is-visible .modal-content の transform は Motion.js が担当 */
.modal-close {
position: absolute;
top: -8.46vw;
right: -4vw;
width: 16vw;
height: 16vw;
border: none;
border-radius: 8vw;
background: #000 url("../sp_img/cnt_02_modal_close.png") no-repeat center center;
background-size: 6.4vw 6.66vw;
font-size: 20px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
transition: background 0.3s;
z-index: 9993;
text-indent: -9876px;
}

/** *********************** **/

.cnt_03_wrap {
  width: 100%;
  background: url("../sp_img/cnt_03_bg.jpg") no-repeat top -2vw center;
  background-size: cover;
  padding: 21.86vw 0 16vw 0;
  position: relative;
  overflow: clip;
}
.cnt_03 {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 2;
	padding-top: 21.86vw;
  /* overflow: hidden;  ← 削除 */
}
.cnt_03 h3 {
	width: 69.24vw;
	margin: 0 auto 9.33vw auto;
	position: relative;
  z-index: 10; 
}
.cnt_03 h3::after {
	content: "";
	width: 0.26vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}
.cnt_03_name_img {
	width: 91.46vw;
	margin: 0 auto;
	padding-bottom: 33.86vw;
	position: relative;
}
.cnt_03_name_img::after {
	content: "";
	width: 75.2vw;
	height: 46.31vw;
	background: url("../sp_img/cnt_03_img_02.png") no-repeat;
	background-size: 75.2vw 46.31vw;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -37.6vw;
	z-index: 3;
}
.cnt_03_name_img h4 {
	width: 89.06vw;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.cnt_03_name_img figure {
	width: 91.46vw;
	margin: -1.86vw auto 0 auto;
	position: relative;
	z-index: 1;
}
.cnt_03_crosstalk {
	width: 89.33vw;
	background: #fff;
	border-radius: 2.66vw;
	box-shadow: 0px 1.33vw 10.66vw 4vw rgba(192, 200, 219, 0.2);
	padding: 0 0 0 0;
	margin: 0 auto 5.33vw auto;
	position: relative;
	transition: padding-bottom 0.3s ease;
}
.cnt_03 div:nth-of-type(2)::after {
	content: "Session - 01";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 3.2vw;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 8vw;
	left: 0;
	text-align: center;
	width: 100%;
	z-index: 10;
}
.cnt_03 div:nth-of-type(3)::after {
	content: "Session - 02";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 3.2vw;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 8vw;
	left: 0;
	text-align: center;
	width: 100%;
	z-index: 10;
}
.cnt_03 div:nth-of-type(4)::after {
	content: "Session - 03";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 3.2vw;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 8vw;
	left: 0;
	text-align: center;
	width: 100%;
	z-index: 10;
}
.cnt_03_crosstalk.is-open {
	padding-bottom: 12vw;
}
.cnt_03_crosstalk:last-child {
	margin-bottom: 0 !important;
}
.cnt_03_crosstalk div {
	width: 100%;
	padding-top: 5.33vw;
	margin-top: -5.33vw;
}
.cnt_03_crosstalk .accordion-inner {
	overflow: hidden;
	transition: height 0.3s ease-in-out, opacity 0.2s ease-in;
}
.cnt_03_crosstalk h4 {
	font-weight: 800;
	font-size: 4.8vw;
	line-height: 7.46vw;
	padding: 22.66vw 0 9vw 0;
	text-align: center;
	position: relative;  /* .accordion-icon の基準 */
}
/* JS で h4 内に追加されるアイコン要素 */
.cnt_03_crosstalk h4 .accordion-icon {
	position: absolute;
	top: 4.8vw;
	right: 4vw;
	width: 8vw;
	height: 8vw;
	background: url("../sp_img/cnt_03_open.png") no-repeat center center;
	background-size: 8vw 8vw;
	will-change: transform;
	transition: transform 0.4s ease-in-out;
}
.cnt_03_crosstalk h4.is-open::after {
	width: 8vw;
	content: "Close";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 1.6vw;
	line-height: 1;
	letter-spacing: 0.26vw;
	color: #b1b9ca;
	text-align: center;
	position: absolute;
	top: 14.66vw;
	right: 4vw;
}
.cnt_03_crosstalk h4::after {
	width: 8vw;
	content: "Open";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 1.6vw;
	line-height: 1;
	letter-spacing: 0.26vw;
	color: #b1b9ca;
	text-align: center;
	position: absolute;
	top: 14.66vw;
	right: 4vw;
}
.cnt_03 div:nth-of-type(4) h4::after {
bottom: 2.66vw;
}
.cnt_03_crosstalk dl.yoshizumi {
	width: 74.66vw;
	background: #eff1f5;
	border-radius: 2.66vw;
	padding: 4.2vw 5.33vw 8vw 5.33vw;
	position: relative;
	margin: 0 auto 6.66vw auto;
}
.cnt_03_crosstalk dl.yoshizumi::after {
	content: "";
	width: 23.46vw;
	height: 23.46vw;
	background: url("../sp_img/cnt_03_img_03.png") no-repeat;
	background-size: 23.46vw 23.46vw;
	position: absolute;
	top: -5.33vw;
	right: -5.33vw;
}
.cnt_03_crosstalk dl.chiba {
	width: 74.66vw;
	background: #eff1f5;
	border-radius: 2.66vw;
	padding: 4.2vw 5.33vw 8vw 5.33vw;
	position: relative;
	margin: 0 auto 6.66vw auto;
}
.cnt_03_crosstalk dl.chiba::after {
	content: "";
	width: 23.46vw;
	height: 23.46vw;
	background: url("../sp_img/cnt_03_img_04.png") no-repeat;
	background-size: 23.46vw 23.46vw;
	position: absolute;
	top: -5.33vw;
	left: -5.33vw;
}
.cnt_03_crosstalk dl:last-child {
	margin-bottom: 0 !important;
}
.cnt_03_crosstalk dl.yoshizumi dt {
	text-align: right;
	font-weight: 800;
	font-size: 3.46vw;
	line-height: 1;
	color: #000;
	padding-right: 14.66vw;
	margin-bottom: 4vw;
}
.cnt_03_crosstalk dl.yoshizumi dt span {
	display: block;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 6.13vw;
	color: #3eae48;
	margin-bottom: 1.33vw;
}
.cnt_03_crosstalk dl.yoshizumi dt i {
	font-weight: 500;
	font-size: 2.13vw;
	color: #000;
	font-style: normal;
	padding-left: 5px;
}
.cnt_03_crosstalk dl.chiba dt {
	text-align: left;
	font-weight: 800;
	font-size: 3.46vw;
	line-height: 1;
	color: #000;
	padding-left: 14.66vw;
	margin-bottom: 4vw;
}
.cnt_03_crosstalk dl.chiba dt span {
	display: block;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 6.13vw;
	color: #ffca00;
	margin-bottom: 1.33vw;
}
.cnt_03_crosstalk dl.chiba dt i {
	font-weight: 500;
	font-size: 2.13vw;
	color: #000;
	font-style: normal;
	padding-left: 5px;
}

.cnt_03_crosstalk dl.yoshizumi dd {
	text-align: left;
	font-weight: 500;
	font-size: 3.73vw;
	line-height: 5.86vw;
	color: #000;
}
.cnt_03_crosstalk dl.chiba dd {
	text-align: left;
	font-weight: 500;
	font-size: 3.73vw;
	line-height: 5.86vw;
	color: #000;
}

/** *********************** **/

.cnt_03_images {
  position: sticky;        /* .cnt_03_wrap 内だけ Fixed のように追従 */
  top: 0;
  width: 100%;
  height: 100vh;
	margin-top: -21.86vw;
  margin-bottom: -100vh;  /* 後続の .cnt_03 コンテンツへの押し下げを打ち消す */
  z-index: 1;              /* 背面 */
  pointer-events: none;
}

/* ----- 個別の画像 ----- */
.float-img {
  position: absolute;
  opacity: 0;                     /* 初期非表示（JSでフェードイン） */
  will-change: transform;
  pointer-events: none;
  width: clamp(80px, 12vw, 180px);
  height: auto;
  transition: opacity 0.6s ease-out;
}
.float-img.is-visible {
  opacity: 1;
}
.float-img img {
  width: 100%;
  height: 100%;
  display: block;
}

/* ===== 10枚の初期配置（お好みで調整） ===== */
.float-img[data-float-index="0"] { width: 14.4vw; height: 12.8vw; top: 6.667vw; left: 12.533vw; }
.float-img[data-float-index="1"] { width: 11.822vw; height: 10.578vw; top: 5.867vw; left: 65.6vw; }
.float-img[data-float-index="2"] { width: 6.4vw; height: 5.867vw; top: 18.933vw; left: -1.333vw; }
.float-img[data-float-index="3"] { width: 8.533vw; height: 9.867vw; top: 14.4vw; left: 32.267vw; }
.float-img[data-float-index="4"] { width: 54.133vw; height: 64.8vw; top: -4.8vw; right: -37.067vw; }
.float-img[data-float-index="5"] { width: 20.533vw; height: 20.533vw; top: 31.467vw; left: -2.667vw; }
.float-img[data-float-index="6"] { width: 12.8vw; height: 11.467vw; top: 39.2vw; right: -16vw; }
.float-img[data-float-index="7"] { width: 12.889vw; height: 12.533vw; top: 128.267vw; left: -3.467vw; }
.float-img[data-float-index="8"] { width: 30.933vw; height: 23.2vw; top: 126.4vw; right: -5.867vw; }
.float-img[data-float-index="9"] { width: 6.933vw; height: 6.933vw; top: 145.6vw; left: 5.067vw; }

.float-img[data-float-index="10"] { width: 6.13vw; height: 7.2vw; top: 159.2vw; left: -2.66vw; }
.float-img[data-float-index="11"] { width: 13.33vw; height: 12.53vw; top: 158.4vw; right: -8.8vw; }
.float-img[data-float-index="12"] { width: 15.11vw; height: 14.75vw; top: 171.2vw; left: -1.06vw; }
.float-img[data-float-index="13"] { width: 20.8vw; height: 15.46vw; top: 182.6vw; right: -8.26vw; }
.float-img[data-float-index="14"] { width: 8vw; height: 8.08vw; top: 195.46vw; left: 1.33vw; }

/** *********************** **/

.cnt_04_05_wrap {
  width: 100%;
	height: 609.77vw;
  background: url("../sp_img/cnt_04_05_wrap_bg.jpg") no-repeat top center;
  background-size: cover;
  padding: 14.93vw 0 0 0;
	position: relative;
	z-index: 50;
}

/** *********************** **/

.cnt_04 {
  width: 100%;
}
.cnt_04 h3 {
	width: 48.53vw;
	margin: 0 auto 12vw auto;
	position: relative;
}
.cnt_04 h3::after {
	content: "";
	width: 0.263vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}

.charts-wrapper {
	width: 89.33vw;
	margin: 0 auto 29.33vw auto;
}
/* 個別のグラフコンテナ設定 */
.chart-container {
  width: 89.33vw;
	background: #fff;
	border-radius: 2.66vw;
	border: 0.26vw solid rgba(255,255,255,0.5);
	padding: 8vw 0 10.66vw 0;
  position: relative;
	margin-bottom: 5.33vw;
}
.chart-container:nth-of-type(3) {
  padding: 8vw 0 6.66vw 0;
}
.chart-container:last-child {
	margin-bottom: 0 !important; 
}
.chart-container h4 {
	text-align: center;
	font-weight: 700;
	font-size: 4.8vw;
	line-height: 1;
	margin-bottom: 10.66vw;
}
.chart-container canvas {
	width: 34.66vw !important;
	height: 34.66vw !important;
	margin: 0 auto;
}
.chart-container p {
	text-align: center;
	font-weight: 500;
	font-size: 2.53vw;
	line-height: 1;
	padding-top: 2.66vw;
}
.chart-container:nth-of-type(1)::after {
	content: "";
	width: 67.2vw;
	height: 37.86vw;
	background: url("../sp_img/cnt_04_graph_txt_01.png") no-repeat;
	background-size: 67.2vw 37.86vw;
	position: absolute;
	top: 18.66vw;
	left: 12vw;
	z-index: 10;
}
.chart-container:nth-of-type(2)::after {
	content: "";
	width: 59.46vw;
	height: 38.48vw;
	background: url("../sp_img/cnt_04_graph_txt_02.png") no-repeat;
	background-size: 59.46vw 38.48vw;
	position: absolute;
	top: 18.66vw;
	left: 17.86vw;
	z-index: 10;
}
.chart-container:nth-of-type(3)::after {
	content: "";
	width: 67.73vw;
	height: 36vw;
	background: url("../sp_img/cnt_04_graph_txt_03.png") no-repeat;
	background-size: 67.73vw 36vw;
	position: absolute;
	top: 16.53vw;
	left: 10.66vw;
	z-index: 10;
}
.chart-container:nth-of-type(4)::after {
	content: "";
	width: 68.44vw;
	height: 40.17vw;
	background: url("../sp_img/cnt_04_graph_txt_04.png") no-repeat;
	background-size: 68.44vw 40.17vw;
	position: absolute;
	top: 21.33vw;
	left: 12.8vw;
	z-index: 10;
}
.chart-container:nth-of-type(1)::before {
	content: "";
	width: 9.33vw;
	height: 8vw;
	background: url("../sp_img/cnt_04_graph_icn_01.png") no-repeat;
	background-size: 9.33vw 8vw;
	position: absolute;
	top: 37.33vw;
	left: 50%;
	margin-left: -4.665vw;
	z-index: 11;
}
.chart-container:nth-of-type(2)::before {
	content: "";
	width: 9.33vw;
	height: 8vw;
	background: url("../sp_img/cnt_04_graph_icn_02.png") no-repeat;
	background-size: 9.33vw 8vw;
	position: absolute;
	top: 37.33vw;
	left: 50%;
	margin-left: -4.665vw;
	z-index: 11;
}
.chart-container:nth-of-type(3)::before {
	content: "";
	width: 9.33vw;
	height: 8vw;
	background: url("../sp_img/cnt_04_graph_icn_03.png") no-repeat;
	background-size: 9.33vw 8vw;
	position: absolute;
	top: 37.33vw;
	left: 50%;
	margin-left: -4.665vw;
	z-index: 11;
}
.chart-container:nth-of-type(4)::before {
	content: "";
	width: 9.33vw;
	height: 8vw;
	background: url("../sp_img/cnt_04_graph_icn_04.png") no-repeat;
	background-size: 9.33vw 8vw;
	position: absolute;
	top: 37.33vw;
	left: 50%;
	margin-left: -4.665vw;
	z-index: 11;
}

/* ── .cnt_04 グラフ順次表示 ── */
.chart-container {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
.chart-container::after,
.chart-container::before {
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
.chart-container.is-shown {
  opacity: 1;
}
.chart-container.is-drawn::after,
.chart-container.is-drawn::before {
  opacity: 1;
}

/** *********************** **/

.cnt_05 {
  width: 89.33vw;
	margin: 0 auto;
}
.cnt_05 h3 {
	width: 54.57vw;
	margin: 0 auto 10.66vw auto;
	position: relative;
}
.cnt_05 h3::after {
	content: "";
	width: 0.263vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}
.cnt_05 p:nth-of-type(1) {
	width: 60.97vw;
	margin: 0 auto 7.46vw auto;
}
.cnt_05 p:nth-of-type(2) {
	width: 28.44vw;
	margin: 0 auto 5.33vw auto;
}
.cnt_05 ul li {
  opacity: 0;
  transition: opacity 0.8s ease-out;
}
.cnt_05 ul.is-visible li {
  opacity: 1;
}
.cnt_05 ul {
	width: 89.33vw;
	height: 44.8vw;
	position: relative;
	margin: 0 auto 6.66vw auto;
}
.cnt_05 ul li:nth-of-type(1) {
	width: 29.77vw;
	height: 29.77vw;
	position: absolute;
	top: 0;
	left: -2.57vw;
}
.cnt_05 ul li:nth-of-type(2) {
	width: 30.93vw;
	height: 29.77vw;
	position: absolute;
	top: 0;
	left: 28.71vw;
}
.cnt_05 ul li:nth-of-type(3) {
	width: 30.84vw;
	height: 29.77vw;
	position: absolute;
	top: 0;
	right: -2.48vw;
}
.cnt_05 ul li:nth-of-type(4) {
	width: 30.84vw;
	height: 29.77vw;
	position: absolute;
	top: 15.11vw;
	left: 12.53vw;
}
.cnt_05 ul li:nth-of-type(5) {
	width: 30.93vw;
	height: 29.77vw;
	position: absolute;
	top: 15.11vw;
	left: 44.88vw;
}
.cnt_05 div {
	width: 89.33vw;
	padding: 0 8vw;
	margin: 0 auto;
	font-size: 0;
	text-align: center;
}
.cnt_05 div dl {
	display: inline-block;
	vertical-align: top;
	width: calc(100%/2);
	margin-bottom: 5.33vw;
}
.cnt_05 div dl:nth-of-type(1) {
	width: 100% !important;
}
.cnt_05 div dt {
	font-weight: 700;
	font-size: 7.2vw;
	line-height: 1;
	margin-bottom: 1.66vw;
}
.cnt_05_tc_01 {
	color: #f48b2e;
}
.cnt_05_tc_02 {
	color: #f63964;
}
.cnt_05_tc_03 {
	color: #ffca00;
}
.cnt_05_tc_04 {
	color: #3eae48;
}
.cnt_05_tc_05 {
	color: #169ee8;
}
.cnt_05 div dd {
	font-weight: 500;
	font-size: 3.46vw;
	line-height: 5.6vw;
}

/** *********************** **/

.cnt_06_wrap {
	width: 100%;
	background: url("../sp_img/cnt_06_bg.jpg") no-repeat top -78.13vw left -3.74vw;
	background-size: 108vw auto;
}
.cnt_06 {
  width: 100%;
	margin: 0 auto 24vw auto;	
	padding-top: 14.13vw;
}
.cnt_06 h3 {
	width: 61.77vw;
	margin: 0 auto 8vw auto;
	position: relative;
}
.cnt_06 h3::after {
	content: "";
	width: 0.263vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}
.cnt_06 .member_list li {
  transform-origin: center center;
  opacity: 0;
  transition: opacity 0.8s ease-out;
}
.cnt_06 .member_list.is-visible li {
  opacity: 1;
}
.cnt_06 .member_list {
	width: 91.73vw;
	height: 166.4vw;
	position: relative;
	margin: 0 auto 24vw auto;
}
.cnt_06 .member_list li:nth-of-type(1) {
	width: 51.2vw;
	height: 38.4vw;
	position: absolute;
	top: 6.66vw;
	left: 0;
	z-index: 10;
}
.cnt_06 .member_list li:nth-of-type(2) {
	width: 38.4vw;
	height: 51.2vw;
	position: absolute;
	top:  0.26vw;
	right: 6.38vw;
	z-index: 10;
}
.cnt_06 .member_list li:nth-of-type(4) {
	width: 38.4vw;
	height: 51.2vw;
	position: absolute;
	top: 40.93vw;
	left: 6.4vw;
	z-index: 10;
}
.cnt_06 .member_list li:nth-of-type(5) {
	width: 51.2vw;
	height: 38.4vw;
	position: absolute;
	top: 47.33vw;
	right: 0;
	z-index: 10;
} 
.cnt_06 .member_list li:nth-of-type(7) {
	width: 51.2vw;
	height: 38.4vw;
	position: absolute;
	top: 87.86vw;
	left: 0;
	z-index: 10;
}
.cnt_06 .member_list li:nth-of-type(6) {
	width: 38.4vw;
	height: 51.2vw;
	position: absolute;
	top: 81.36vw;
	right: 6.38vw;
	z-index: 10;
}
.cnt_06 .member_list li:nth-of-type(3) {
	width: 51.2vw;
	height: 38.4vw;
	position: absolute;
	top: 128.4vw;
	right: 0;
	z-index: 10;
}
.cnt_06 .member_list li:nth-of-type(1)::after {
	content: "多湖";
	width: 16vw;
	height: 5.33vw;
	background: #169ee8;
	border-left: 1.86vw solid #1491d9;
	box-shadow: 
		1px 1px 2px rgba(0, 0, 0, 0.05),
		2px 2px 4px rgba(0, 0, 0, 0.1),
		4px 4px 8px rgba(0, 0, 0, 0.15),
		8px 8px 16px rgba(0, 0, 0, 0.2);
	font-weight: 700;
	font-size: 2.8vw;
	line-height: 4.8vw;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 22.66vw;
	left: 13.33vw;
	z-index: 11;
}
.cnt_06 .member_list li:nth-of-type(2)::after {
	content: "畑瀬";
	width: 16vw;
	height: 5.33vw;
	background: #f63864;
	border-left: 1.86vw solid #e0335d;
	box-shadow: 
		1px 1px 2px rgba(0, 0, 0, 0.05),
		2px 2px 4px rgba(0, 0, 0, 0.1),
		4px 4px 8px rgba(0, 0, 0, 0.15),
		8px 8px 16px rgba(0, 0, 0, 0.2);
	font-weight: 700;
	font-size: 2.8vw;
	line-height: 4.8vw;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 26.66vw;
	left: 16.8vw;
}
.cnt_06 .member_list li:nth-of-type(3)::after {
	content: "相賀";
	width: 16vw;
	height: 5.33vw;
	background: #ffca00;
	border-left: 1.86vw solid #e8b900;
	box-shadow: 
		1px 1px 2px rgba(0, 0, 0, 0.05),
		2px 2px 4px rgba(0, 0, 0, 0.1),
		4px 4px 8px rgba(0, 0, 0, 0.15),
		8px 8px 16px rgba(0, 0, 0, 0.2);
	font-weight: 700;
	font-size: 2.8vw;
	line-height: 4.8vw;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 8vw;
	left: 29.33vw;
}
.cnt_06 .member_list li:nth-of-type(4)::after {
	content: "宮坂";
	width: 16vw;
	height: 5.33vw;
	background: #f48b2e;
	border-left: 1.86vw solid #de802b;
	box-shadow: 
		1px 1px 2px rgba(0, 0, 0, 0.05),
		2px 2px 4px rgba(0, 0, 0, 0.1),
		4px 4px 8px rgba(0, 0, 0, 0.15),
		8px 8px 16px rgba(0, 0, 0, 0.2);
	font-weight: 700;
	font-size: 2.8vw;
	line-height: 4.8vw;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 32vw;
	left: 22.66vw;
}
.cnt_06 .member_list li:nth-of-type(5)::after {
	content: "栗田";
	width: 16vw;
	height: 5.33vw;
	background: #3eae48;
	border-left: 1.86vw solid #38a043;
	box-shadow: 
		1px 1px 2px rgba(0, 0, 0, 0.05),
		2px 2px 4px rgba(0, 0, 0, 0.1),
		4px 4px 8px rgba(0, 0, 0, 0.15),
		8px 8px 16px rgba(0, 0, 0, 0.2);
	font-weight: 700;
	font-size: 2.8vw;
	line-height: 4.8vw;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 4.8vw;
	left: 33.6vw;
}
.cnt_06 .member_list li:nth-of-type(6)::after {
	content: "浦野";
	width: 16vw;
	height: 5.33vw;
	background: #169ee8;
	border-left: 1.86vw solid #1491d9;
	box-shadow: 
		1px 1px 2px rgba(0, 0, 0, 0.05),
		2px 2px 4px rgba(0, 0, 0, 0.1),
		4px 4px 8px rgba(0, 0, 0, 0.15),
		8px 8px 16px rgba(0, 0, 0, 0.2);
	font-weight: 700;
	font-size: 2.8vw;
	line-height: 4.8vw;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 35.2vw;
	left: 18.66vw;
}
.cnt_06 .member_list li:nth-of-type(7)::after {
	content: "黒﨑";
	width: 16vw;
	height: 5.33vw;
	background: #f63864;
	border-left: 1.86vw solid #e0335d;
	box-shadow: 
		1px 1px 2px rgba(0, 0, 0, 0.05),
		2px 2px 4px rgba(0, 0, 0, 0.1),
		4px 4px 8px rgba(0, 0, 0, 0.15),
		8px 8px 16px rgba(0, 0, 0, 0.2);
	font-weight: 700;
	font-size: 2.8vw;
	line-height: 4.8vw;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 22.66vw;
	left: 30.93vw;
}
.modal-body.modal-cnt06-01 {
	background: #169ee8 url("../sp_img/cnt_06_member_01_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 22.66vw 8vw !important;
}
.modal-body.modal-cnt06-02 {
	background: #f63864 url("../sp_img/cnt_06_member_02_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 22.66vw 8vw !important;
}
.modal-body.modal-cnt06-03 {
	background: #ffca00 url("../sp_img/cnt_06_member_03_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 22.66vw 8vw !important;
}
.modal-body.modal-cnt06-04 {
	background: #f48b2e url("../sp_img/cnt_06_member_04_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 22.66vw 8vw !important;
}
.modal-body.modal-cnt06-05 {
	background: #3eae48 url("../sp_img/cnt_06_member_05_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 22.66vw 8vw !important;
}
.modal-body.modal-cnt06-06 {
	background: #169ee8 url("../sp_img/cnt_06_member_06_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 22.66vw 8vw !important;
}
.modal-body.modal-cnt06-07 {
	background: #f63864 url("../sp_img/cnt_06_member_07_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 22.66vw 8vw !important;
}
.modal_wrap {
	width: 100%;
	background: #fff;
	padding: 10.66vw 6.66vw;
	border-radius: 2.66vw;
	text-align: left !important;
	font-size: 0;
}
.modal_wrap div:nth-of-type(1) {
	width: 100%;
	margin-bottom: 6.66vw;
}
.modal_wrap div:nth-of-type(2) {
	width: 100%;
	background: #f6f8fc;
	border-radius: 2.66vw;
	padding: 8vw 4vw 8vw 5.33vw;
}
.modal_wrap div h4 {
	font-weight: 700;
	font-size: 6.66vw;
	line-height: 1;
	text-align: left !important;
	margin-bottom: 1.33vw;
}
.modal_wrap div p {
	font-weight: 500;
	font-size: 3.73vw;
	line-height: 5.86vw;
	text-align: left !important;
	margin-bottom: 5.33vw;
}
.modal_wrap div p:nth-of-type(2) {
	margin-bottom: 0 !important;
}
.modal_wrap .modal_right li {
	font-weight: 700;
	font-size: 3.73vw;
	line-height: 6.4vw;
	height: 6.93vw;
	text-align: right;
}
.modal_wrap .modal_right li span {
	width: 30.66vw;
	height: 6.93vw;
	/*background: url("../sp_img/cnt_06_eval_bg.svg") no-repeat left center;
	background-size: 165px 36px;*/
	display: inline-block;
	vertical-align: middle;
	margin-left: 1.33vw;
}

/** *********************** **/

.cnt_07 {
  width: 89.33vw;
	background-image: -moz-linear-gradient( 90deg, rgb(238,241,246) 0%, rgb(222,227,235) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(238,241,246) 0%, rgb(222,227,235) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(238,241,246) 0%, rgb(222,227,235) 100%);
  box-shadow: 0px 2.66vw 8vw 0px rgba(226, 230, 238, 0.5);
	border: 1px solid rgba(255,255,255,0.50);
	border-radius: 2.66vw;
	margin: 0 auto 13.33vw auto;	
	padding: 12.53vw 0 20.26vw 0;
}
.cnt_07 h3 {
	width: 59.82vw;
	margin: 0 auto 12.26vw auto;
	position: relative;
}
.cnt_07 h3::after {
	content: "";
	width: 0.263vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}
.cnt_07 p {
	font-weight: 500;
	font-size: 3.73vw;
	line-height: 5.86vw;
	text-align: center;
	margin-bottom: 3.46vw;
}
.cnt_07_chart {
	width: 100%;
	height: 113.86vw;
	background: url("../sp_img/cnt_07_arrw.png") no-repeat top center;
	background-size: 3.55vw 113.86vw;
	margin: 0 auto;
	position: relative;
	z-index: 0;
}
.cnt_07_chart div a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
.cnt_07_chart03 figure {
	display: block;
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 3.73vw;
	background: #004ea2;
	border: 1.06vw solid rgba(93,154,220,0.6);
  outline: 1.06vw solid rgba(152,199,251,0.35);
	position: absolute;
	top: -2.66vw;
	right: 0.53vw;
	padding: 0.6vw 0 0 0;
	z-index: 5;
}
.cnt_07_chart05 figure {
	display: block;
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 3.73vw;
	background: #004ea2;
	border: 1.06vw solid rgba(93,154,220,0.6);
  outline: 1.06vw solid rgba(152,199,251,0.35);
	position: absolute;
	top: -2.66vw;
	left: 0;
	padding: 0.6vw 0 0 0;
	z-index: 5;
}
.cnt_07_chart07 figure {
	display: block;
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 3.73vw;
	background: #004ea2;
	border: 1.06vw solid rgba(93,154,220,0.6);
  outline: 1.06vw solid rgba(152,199,251,0.35);
	position: absolute;
	top: -2.66vw;
	right: 4vw;
	padding: 0.6vw 0 0 0;
	z-index: 5;
}
.cnt_07_chart div figure img {
	width: 4.08vw;
	height: 4.08vw;
}
.cnt_07_chart01 {
	width: 19.73vw;
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 4.53vw;
  left: 20.53vw;
}
.cnt_07_chart02 {
	width: 19.73vw;
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 34.4vw;
  left: 3.46vw;
}
.cnt_07_chart03 {
	width: 19.73vw;
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 48vw;
  left: 20.53vw;
}
.cnt_07_chart04 {
	width: 19.73vw;
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 55.73vw;
  right: 20.53vw;
}
.cnt_07_chart05 {
	width: 19.73vw;
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 63.46vw;
  left: 3.46vw;
}
.cnt_07_chart06 {
	width: 26.66vw;
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 79.46vw;
  left: 17.33vw;
}
.cnt_07_chart07 {
	width: 26.66vw;
	font-size: 4vw;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 71.46vw;
  right: 1.86vw;
}
.cnt_07_chart01 span {
	width:  13.33vw;
	height: 13.33vw;
	border-radius: 6.665vw;
	display: block;
	background: #fff url("../sp_img/cnt_07_icn_01.png") no-repeat center center;
	background-size: 7.2vw 6.13vw;
	border: 1.33vw solid #edf0f6;
  outline: 0.26vw solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 1.33vw auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart02 span {
	width:  13.33vw;
	height: 13.33vw;
	border-radius: 6.665vw;
	display: block;
	background: #fff url("../sp_img/cnt_07_icn_02.png") no-repeat center center;
	background-size: 7.2vw 6.13vw;
	border: 1.33vw solid #edf0f6;
  outline: 0.26vw solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 1.33vw auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart03 span {
	width:  13.33vw;
	height: 13.33vw;
	border-radius: 6.665vw;
	display: block;
	background: #fff url("../sp_img/cnt_07_icn_03.png") no-repeat center center;
	background-size: 7.2vw 6.13vw;
	border: 1.33vw solid #cde0f6;
  outline: 0.26vw solid #004ea2;
  outline-offset: 0px;
	margin: 0 auto 1.33vw auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart04 span {
	width:  13.33vw;
	height: 13.33vw;
	border-radius: 6.665vw;
	display: block;
	background: #fff url("../sp_img/cnt_07_icn_04.png") no-repeat center center;
	background-size: 7.2vw 6.13vw;
	border: 1.33vw solid #edf0f6;
  outline: 0.26vw solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 1.33vw auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart05 span {
	width:  13.33vw;
	height: 13.33vw;
	border-radius: 6.665vw;
	display: block;
	background: #fff url("../sp_img/cnt_07_icn_05.png") no-repeat center center;
	background-size: 7.2vw 6.13vw;
	border: 1.33vw solid #cde0f6;
  outline: 0.26vw solid #004ea2;
  outline-offset: 0px;
	margin: 0 auto 1.33vw auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart06 span {
	width:  13.33vw;
	height: 13.33vw;
	border-radius: 6.665vw;
	display: block;
	background: #fff url("../sp_img/cnt_07_icn_07.png") no-repeat center center;
	background-size: 7.2vw 6.13vw;
	border: 1.33vw solid #edf0f6;
  outline: 0.26vw solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 1.33vw auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart07 span {
	width:  13.33vw;
	height: 13.33vw;
	border-radius: 6.665vw;
	display: block;
	background: #fff url("../sp_img/cnt_07_icn_06.png") no-repeat center center;
	background-size: 7.2vw 6.13vw;
	border: 1.33vw solid #cde0f6;
  outline: 0.26vw solid #004ea2;
  outline-offset: 0px;
	margin: 0 auto 1.33vw auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart01::before,
.cnt_07_chart03::before{
	content: "";
	width: 4.26vw;
	height: 4.26vw;
	border-radius: 2.13vw;
	background: #99a4b5;
	border: 1.06vw solid #ffffff;
  outline: 0.26vw solid #bac0ca;
	position: absolute;
	top: 4.535vw;
	right: -6.36vw;
	z-index: 2;
}
.cnt_07_chart02::before,
.cnt_07_chart05::before {
	content: "";
	width: 4.26vw;
	height: 4.26vw;
	border-radius: 2.13vw;
	background: #99a4b5;
	border: 1.06vw solid #ffffff;
  outline: 0.26vw solid #bac0ca;
	position: absolute;
	top: 4.535vw;
	right: -23.46vw;
	z-index: 2;
}
.cnt_07_chart04::before {
	content: "";
	width: 4.26vw;
	height: 4.26vw;
	border-radius: 2.13vw;
	background: #99a4b5;
	border: 1.06vw solid #ffffff;
  outline: 0.26vw solid #bac0ca;
	position: absolute;
	top: 4.535vw;
	left: -6.36vw;
	z-index: 2;
}
.cnt_07_chart06::before {
	content: "";
	width: 4.26vw;
	height: 4.26vw;
	border-radius: 2.13vw;
	background: #99a4b5;
	border: 1.06vw solid #ffffff;
  outline: 0.26vw solid #bac0ca;
	position: absolute;
	top: 4.535vw;
	right: -2.595vw;
	z-index: 2;
}
.cnt_07_chart07::before {
	content: "";
	width: 4.26vw;
	height: 4.26vw;
	border-radius: 2.13vw;
	background: #99a4b5;
	border: 1.06vw solid #ffffff;
  outline: 0.26vw solid #bac0ca;
	position: absolute;
	top: 4.535vw;
	left: -18.06vw;
	z-index: 2;
}
.cnt_07_chart01::after,
.cnt_07_chart03::after {
	content: "";
	width: 8vw;
	height: 0.26vw;
	background: #bac0ca;
	position: absolute;
	top: 6.535vw;
	right: -2.66vw;
	z-index: 1;
}
.cnt_07_chart02::after,
.cnt_07_chart05::after {
	content: "";
	width: 25.33vw;
	height: 0.26vw;
	background: #bac0ca;
	position: absolute;
	top: 6.535vw;
	right: -22.33vw;
	z-index: 1;
}
.cnt_07_chart04::after {
	content: "";
	width: 8vw;
	height: 0.26vw;
	background: #bac0ca;
	position: absolute;
	top: 6.535vw;
	left: -2.66vw;
	z-index: 1;
}
.cnt_07_chart06::after {
	content: "";
	width: 8vw;
	height: 0.26vw;
	background: #bac0ca;
	position: absolute;
	top: 6.535vw;
	right: -1.00vw;
	z-index: 1;
}
.cnt_07_chart07::after {
	content: "";
	width: 25.33vw;
	height: 0.26vw;
	background: #bac0ca;
	position: absolute;
	top: 6.535vw;
	left: -16.5vw;
	z-index: 1;
}
.cnt_07_chart02 i,
.cnt_07_chart03 i,
.cnt_07_chart04 i,
.cnt_07_chart05 i,
.cnt_07_chart06 i,
.cnt_07_chart07 i {
	font-style: normal;
	font-size: 1.73vw;
	line-height: 1;
	font-weight: 400;
	color: #717e92;
	display: block;
	padding-top: 0.8vw;
}
.cnt_07_chart li {
	height: 5.86vw;
	border: 0.26vw solid #bac0ca;
	background: #fff;
	border-radius: 1.33vw;
	font-size: 2.66vw;
	line-height: 5.33vw;
	font-weight: 700;
	color: #717e92;
	text-align: center;
}
.cnt_07_chart li:nth-of-type(1) {
	width: 34.66vw;
	position: absolute;
	top: 20.53vw;
	right: 4vw;
}
.cnt_07_chart li:nth-of-type(2) {
	width: 22.66vw;
	position: absolute;
	top: 26.66vw;
	left: 18.13vw;
}
.cnt_07_chart li:nth-of-type(3) {
	width: 34.66vw;
	position: absolute;
	top: 31.73vw;
	right: 4vw;
}
.cnt_07_chart li:nth-of-type(4) {
	width: 34.66vw;
	position: absolute;
	top: 45.06vw;
	right: 4vw;
}
.cnt_07_chart li:nth-of-type(5) {
	width: 34.66vw;
	position: absolute;
	top: 96.8vw;
	right: 4vw;
}

.cnt_07_chart li:nth-of-type(1)::before,
.cnt_07_chart li:nth-of-type(3)::before,
.cnt_07_chart li:nth-of-type(4)::before,
.cnt_07_chart li:nth-of-type(5)::before {
	content: "";
	width: 2.66vw;
	height: 2.66vw;
	border-radius: 1.33vw;
	background: #bac0ca;
	border: 0.53vw solid #ffffff;
  outline: 0.26vw solid #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -1.6vw;
	left: -7.16vw;
	z-index: 2;
}
.cnt_07_chart li:nth-of-type(2)::before {
	content: "";
	width: 2.66vw;
	height: 2.66vw;
	border-radius: 1.33vw;
	background: #bac0ca;
	border: 0.53vw solid #ffffff;
  outline: 0.26vw solid #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -1.6vw;
	right: -5.13vw;
	z-index: 2;
}

.cnt_07_chart li:nth-of-type(1)::after,
.cnt_07_chart li:nth-of-type(3)::after,
.cnt_07_chart li:nth-of-type(4)::after,
.cnt_07_chart li:nth-of-type(5)::after{
	content: "";
	width: 5.33vw;
	height: 0.26vw;
	background: #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -0.26vw;
	left: -5.33vw;
	z-index: 1;
}
.cnt_07_chart li:nth-of-type(2)::after {
	content: "";
	width: 5.33vw;
	height: 0.26vw;
	background: #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -0.26vw;
	right: -5.33vw;
	z-index: 1;
}
.cnt_07_chart p {
	width: 100%;
	font-weight: 400 !important;
	font-size: 2.93vw;
	line-height: 1;
	text-align: center;
	position: absolute;
	bottom: -13.33vw;
	left: 0;
}

/** *********************** **/

/** cnt_07 aタグ ホバーアニメーション **/

@keyframes cnt07Ripple {
  0% {
    box-shadow:
      inset 0 0 0 0 rgba(205,224,246, 1);
  }
  70% {
    box-shadow:
      inset 0 0 0 10px rgba(205,224,246, 0);
  }
  100% {
    box-shadow:
      inset 0 0 0 10px rgba(205,224,246, 0);
  }
}

@keyframes cnt07FigureBlink {
  0% {
    box-shadow:
      0 0 0 0 rgba(93,154,220,0.6),
      0 0 0 0 rgba(152,199,251,0.4);
  }
  70% {
    box-shadow:
      0 0 0 10px rgba(93,154,220, 0),
      0 0 0 20px rgba(152,199,251, 0);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(93,154,220, 0),
      0 0 0 0 rgba(152,199,251, 0);
  }
}

/*.cnt_07_chart03 a span,
.cnt_07_chart05 a span,
.cnt_07_chart07 a span {
  border: 1.33vw solid #cde0f6;
  outline: 0.26vw solid #004ea2;
  outline-offset: 0;
	background-color: #fff;
  animation: cnt07Ripple 1.0s ease-out infinite;
}*/

.cnt_07_chart03 a figure,
.cnt_07_chart05 a figure,
.cnt_07_chart07 a figure {
  animation: cnt07FigureBlink 1.0s ease-out infinite;
}

/** cnt_07 バルーン **/

.cnt_07_balloon {
  display: none;
  width: 94.66vw;
  height: 45.33vw;
	position: absolute;
  z-index: 50;
  background: #004ea2;
  border-radius: 2.66vw;
  padding: 9.33vw 8vw 8vw 8vw;
  box-sizing: border-box;
	text-align: left;
}
.cnt_07_balloon.is-visible {
  display: block;
}
/* 下向き吹き出し三角（--arrow-left でspan中心に個別配置） */
.cnt_07_balloon::after {
  content: "";
  position: absolute;
  bottom: -4.6vw;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 4.8vw solid #004ea2;
  border-left: 4vw solid transparent;
  border-right: 4vw solid transparent;
  border-bottom: 0;
}
.cnt_07_balloon_ttl {
	width: 26.66vw;
	height: 10.66vw;
	background: #fff;
	border: 0.8vw solid #004ea2;
	border-radius: 1.33vw;
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 9.33vw;
  color: #004ea2;
	position: absolute;
	top: -4.8vw;
	left: 8.8vw;
	text-align: center;
}
.cnt_07_balloon_txt {
  font-weight: 500;
  font-size: 3.73vw;
  line-height: 5.86vw;
  color: #fff;
}

/** *********************** **/

.cnt_08 {
  width: 100%;
	margin: 0 auto;	
}
.cnt_08 h3 {
	width: 34.13vw;
	margin: 0 auto 6.66vw auto;
	position: relative;
}
.cnt_08 h3::after {
	content: "";
	width: 0.263vw;
	height: 3.2vw;
	background: #000;
	position: absolute;
	bottom: -5.86vw;
	left: 50%;
	margin-left: -0.13vw;
}
.cnt_08 p:nth-of-type(1) {
	font-weight: 500;
	font-size: 3.73vw;
	line-height: 5.86vw;
	text-align: center;
	margin-bottom: 10.66vw;
}
.cnt_08_chart {
	width: 88.53vw;
	margin: 0 auto 4vw auto;
	position: relative;
	font-size: 0;
	padding-bottom: 5.33vw;
	text-align: center;
}
.cnt_08_chart::after {
	content: "";
	width: 93.68vw;
	height: 28.35vw;
	background: url("../sp_img/cnt_08_img.png") no-repeat;
	background-size: 93.68vw 28.35vw;
	position: absolute;
	bottom: -2.66vw;
	left: -2.575vw;
}
.cnt_08_chart div {
	width: calc(100%/4);
	display: inline-block;
	vertical-align: top;
	text-align: center;
	padding-top: 0.26vw;
	border-right: 0.26vw solid #e7e9ec;
}
.cnt_08_chart div {
	border-left: 0.26vw solid #e7e9ec;
}
.cnt_08_chart div:nth-of-type(1) span {
	display: block;
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 3.73vw;
	background: #ffbc17 url("../sp_img/cnt_08_icn_05.png") no-repeat center center;
	background-size: 4.08vw 4.08vw;
	border: 0.8vw solid #ffdc85;
  outline: 0.8vw solid #fff0cc;
	margin: 0 auto 2.66vw auto;
}
.cnt_08_chart div:nth-of-type(2) span {
	display: block;
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 3.73vw;
	background: #ff8e19 url("../sp_img/cnt_08_icn_05.png") no-repeat center center;
	background-size: 4.08vw 4.08vw;
	border: 0.8vw solid #ffc68d;
  outline: 0.8vw solid #ffe9d2;
	margin: 0 auto 2.66vw auto;
}
.cnt_08_chart div:nth-of-type(3) span {
	display: block;
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 3.73vw;
	background: #ff1316 url("../sp_img/cnt_08_icn_05.png") no-repeat center center;
	background-size: 4.08vw 4.08vw;
	border: 0.8vw solid #ffa1a2;
  outline: 0.8vw solid #ffe7e7;
	margin: 0 auto 2.66vw auto;
}
.cnt_08_chart div:nth-of-type(4) span {
	display: block;
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 3.73vw;
	background: #ca0503 url("../sp_img/cnt_08_icn_05.png") no-repeat center center;
	background-size: 4.08vw 4.08vw;
	border: 0.8vw solid #fda9a9;
  outline: 0.8vw solid #ffdddc;
	margin: 0 auto 2.66vw auto;
}
.cnt_08_chart div:nth-of-type(1) .cnt_08_dl_01 {
	margin-bottom: 20.26vw;
	color: #ffbc17;
}
.cnt_08_chart div:nth-of-type(2) .cnt_08_dl_01 {
	margin-bottom: 16.8vw;
	color: #ff8b16;
}
.cnt_08_chart div:nth-of-type(3) .cnt_08_dl_01 {
	margin-bottom: 10vw;
	color: #ff1316;
}
.cnt_08_chart div:nth-of-type(4) .cnt_08_dl_01 {
	margin-bottom: 1.73vw;
	color: #c90303;
}
.cnt_08_chart .cnt_08_dl_01 dt {
	font-family: "Inter", sans-serif;
	font-weight: 300;
	font-size: 2.4vw;
	line-height: 1;
	letter-spacing: 0.26vw;
	margin-bottom: 0.53vw;
}
.cnt_08_chart .cnt_08_dl_01 dd {
	font-family: "Inter", sans-serif;
	font-weight: 300;
	font-size: 4vw;
	line-height: 1;
}
.cnt_08_chart div h4 {
	font-weight: 500;
	font-size: 2.4vw;
	line-height: 4vw;
	margin-bottom: 1.33vw;
}
.cnt_08_chart div figure {
	width: 8.8vw;
	margin: 0 auto;
}

.cnt_08 h5 {
	width: 65.86vw;
	margin: 0 auto 4vw auto;
}
.cnt_08 p:nth-of-type(2) {
	font-weight: 500;
	font-size: 2.93vw;
	line-height: 4.53vw;
	text-align: center;
}

/** cnt_08 span アニメーション **/

@keyframes cnt08SpanBlink_01 {
  0% {
    box-shadow:
      0 0 0 0 rgba(255,220,133,1.0),
      0 0 0 0 rgba(255,240,204,1.0);
  }
  70% {
    box-shadow:
      0 0 0 10px rgba(255,220,133, 0),
      0 0 0 20px rgba(255,240,204, 0);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(255,220,133, 0),
      0 0 0 0 rgba(255,240,204, 0);
  }
}
@keyframes cnt08SpanBlink_02 {
  0% {
    box-shadow:
      0 0 0 0 rgba(255,198,141,1.0),
      0 0 0 0 rgba(255,233,210,1.0);
  }
  70% {
    box-shadow:
      0 0 0 10px rgba(255,198,141, 0),
      0 0 0 20px rgba(255,233,210, 0);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(255,198,141, 0),
      0 0 0 0 rgba(255,233,210, 0);
  }
}
@keyframes cnt08SpanBlink_03 {
  0% {
    box-shadow:
      0 0 0 0 rgba(255,161,162,1.0),
      0 0 0 0 rgba(255,231,231,1.0);
  }
  70% {
    box-shadow:
      0 0 0 10px rgba(255,161,162, 0),
      0 0 0 20px rgba(255,231,231, 0);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(255,161,162, 0),
      0 0 0 0 rgba(255,231,231, 0);
  }
}
@keyframes cnt08SpanBlink_04 {
  0% {
    box-shadow:
      0 0 0 0 rgba(253,169,169,1.0),
      0 0 0 0 rgba(255,221,220,1.0);
  }
  70% {
    box-shadow:
      0 0 0 10px rgba(253,169,169, 0),
      0 0 0 20px rgba(255,221,220, 0);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(253,169,169, 0),
      0 0 0 0 rgba(255,221,220, 0);
  }
}

.cnt_08_chart div {
  cursor: pointer;
}
.cnt_08_chart div:nth-of-type(1) span {
  animation: cnt08SpanBlink_01 1.0s ease-out infinite;
}
.cnt_08_chart div:nth-of-type(2) span {
  animation: cnt08SpanBlink_02 1.0s ease-out infinite;
}
.cnt_08_chart div:nth-of-type(3) span {
  animation: cnt08SpanBlink_03 1.0s ease-out infinite;
}
.cnt_08_chart div:nth-of-type(4) span {
  animation: cnt08SpanBlink_04 1.0s ease-out infinite;
}

/** cnt_08 バルーン **/

.cnt_08_balloon {
  display: none;
  width: 94.66vw !important;
  height: 40vw;
  position: absolute;
  z-index: 50;
  border-radius: 2.66vw;
  padding: 9.33vw 8vw 0 8vw;
  box-sizing: border-box;
	text-align: left;
}
.cnt_08_balloon_01 {
	background: #ffbc17;
}
.cnt_08_balloon_02 {
	background: #ff8e19;
}
.cnt_08_balloon_03 {
	background: #ff1316;
}
.cnt_08_balloon_04 {
	background: #ca0503;
}
.cnt_08_balloon.is-visible {
  display: block;
}
.cnt_08_balloon::after {
  content: "";
  position: absolute;
  bottom: -3.8vw;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
}
.cnt_08_balloon.cnt_08_balloon_01::after {
	border-style: solid;
  border-top: 4vw solid #ffbc17;
  border-left: 3.33vw solid transparent;
  border-right: 3.33vw solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon.cnt_08_balloon_02::after {
	border-style: solid;
  border-top: 4vw solid #ff8e19;
  border-left: 3.33vw solid transparent;
  border-right: 3.33vw solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon.cnt_08_balloon_03::after {
	border-style: solid;
  border-top: 4vw solid #ff1316;
  border-left: 3.33vw solid transparent;
  border-right: 3.33vw solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon.cnt_08_balloon_04::after {
	border-style: solid;
  border-top: 4vw solid #ca0503;
  border-left: 3.33vw solid transparent;
  border-right: 3.33vw solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon_ttl {
  width: 26.66vw;
	height: 10.66vw;
  background: #fff;
  border-radius: 1.33vw;
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 9.33vw;
  position: absolute;
  top: -4.8vw;
	left: 8.8vw;
  text-align: center;
}
.cnt_08_balloon.cnt_08_balloon_01 .cnt_08_balloon_ttl {
	border: 0.8vw solid #ffbc17;
	color: #ffbc17;
}
.cnt_08_balloon.cnt_08_balloon_02 .cnt_08_balloon_ttl {
	border: 0.8vw solid #ff8e19;
	color: #ff8e19;
}
.cnt_08_balloon.cnt_08_balloon_03 .cnt_08_balloon_ttl {
	border: 0.8vw solid #ff1316;
	color: #ff1316;
}
.cnt_08_balloon.cnt_08_balloon_04 .cnt_08_balloon_ttl {
	border: 0.8vw solid #ca0503;
	color: #ca0503;
}
.cnt_08_balloon_txt {
  font-weight: 500;
  font-size: 3.73vw;
  line-height: 5.86vw;
  color: #fff;
}

/** *********************** **/

/* ===== ハンバーガーボタン ===== */
.head_hamburger_btn {
  position: absolute;
  top: 50%;
  right: 5.33vw;
  translate: 0 -50%;
  width: 7.46vw;
  height: 5.6vw;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 201;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.head_hamburger_btn span {
  display: block;
  width: 100%;
  height: 0.53vw;
  background: #000;
  border-radius: 0.27vw;
  transition: transform 0.35s ease, opacity 0.3s ease;
  transform-origin: center center;
}
.head_hamburger_btn.is-open span:nth-child(1) {
  transform: translateY(2.54vw) rotate(45deg);
}
.head_hamburger_btn.is-open span:nth-child(2) {
  opacity: 0;
}
.head_hamburger_btn.is-open span:nth-child(3) {
  transform: translateY(-2.54vw) rotate(-45deg);
}

/* ===== ハンバーガーメニュー オーバーレイ ===== */
.head_hamburger {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  background: #fff;
  z-index: 200;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  pointer-events: none;
  transform: translateX(100%);
  visibility: hidden;
  /* 閉じる時のトランジション（visibility は transform 完了後に hidden） */
  transition: transform 0.3s ease-in, visibility 0s linear 0.3s;
}
.head_hamburger.is-open {
  pointer-events: auto;
  transform: translateX(0%);
  visibility: visible;
  /* 開く時のトランジション（ease-out-quint = 慣性のある動き） */
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s;
}
/* ナビゲーション */
.head_hamburger ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  font-size: 0 !important;
  gap: 6.66vw;
  margin-bottom: 8vw;
}
.head_hamburger ul li {
  display: block !important;
  font-size: 4.26vw !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin-right: 0 !important;
}
.head_hamburger ul li a {
  color: #000 !important;
  text-decoration: none;
  display: block;
}
/* エントリーボタン */
.head_hamburger .head_entry {
  display: block !important;
  position: static !important;
  width: 60vw !important;
  height: auto !important;
}
.head_hamburger .head_entry a {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  background: #000 url("../sp_img/head_arrw.png") no-repeat top 5.86vw right 5.33vw !important;
	background-size: 4.71vw auto !important;
  color: #fff !important;
  font-size: 2.26vw !important;
  text-align: center !important;
  padding: 2.66vw 0 2.66vw 0 !important;
  border-radius: 2.66vw !important;
  position: static !important;
}
.head_hamburger .head_entry a::before {
  content: "Entry" !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 700 !important;
  font-size: 7.46vw !important;
  line-height: 1 !important;
  color: #fff !important;
  display: block !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  text-align: center !important;
  margin-bottom: 0.26vw !important;
}
.head_hamburger .head_entry a::after {
  display: none !important;
}

/** *********************** **/

.cnt_09_wrap {
  width: 100%;
	height: 173.06vw;
	overflow-x: clip;
	overflow-y: visible;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 5;
}
.cnt_09 {
	width: 100%;
	position: relative;
	z-index: 100;
}
.cnt_09 h3 {
	width: 84.62vw;
	margin: 0 auto 8vw auto;
  opacity: 0;
}
.cnt_09 h3.cnt09-h3-enter {
  animation: mv-text-enter 0.5s ease both;
}
.cnt_09 a {
	width: 66.4vw;
	display: block;
	margin: 0 auto 7.46vw auto;
}
.cnt_09 a figure {
	width: 66.4vw;
}
.cnt_09 small {
	display: block;
	font-family: "Inter", sans-serif;
	font-weight: 400;
	font-size: 2.66vw;
	line-height: 1;
	text-align: center;
}
.cnt_09_wrap li {
	position: absolute;
  opacity: 0;
}
.cnt_09_wrap li.cnt09-enter {
  animation: mv-img-enter 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--cnt09-enter-delay, 0s);
}
.cnt_09_wrap li.is-visible {
  opacity: 1;
}
.cnt_09_wrap li:nth-of-type(1) {
	width: 59.55vw;
	height: 45.68vw;
	top: -30.4vw;
	left: -41.6vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(2) {
	width: 29.6vw;
	height: 25.51vw;
	top: 13.06vw;
	left: 9.6vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(3) {
	width: 18.04vw;
	height: 16.08vw;
	top: 24.53vw;
	right: 23.46vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(4) {
	width: 47.2vw;
	height: 56.35vw;
	top: -13.6vw;
	right: -27.73vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(5) {
	width: 11.82vw;
	height: 13.24vw;
	top: 40.53vw;
	left: 0;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(6) {
	width: 8.53vw;
	height: 7.64vw;
	top: 49.93vw;
	right: 0;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(7) {
	width: 26.93vw;
	height: 19.64vw;
	top: 68.8vw;
	right: -13.33vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(8) {
	width: 17.24vw;
	height: 22.04vw;
	top: 92.8vw;
	left: -18.93vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(9) {
	width: 24.97vw;
	height: 24.17vw;
	top: 119.46vw;
	left: 2.4vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(10) {
	width: 8.53vw;
	height: 5.86vw;
	top: 130.66vw;
	left: 36.53vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(11) {
	width: 21.51vw;
	height: 23.2vw;
	top: 122.93vw;
	right: 14.93vw;
	z-index: 8;
}
.cnt_09_wrap li:nth-of-type(12) {
	width: 51.73vw;
	height: 37.6vw;
	top: 114.4vw;
	right: -30.4vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(13) {
	width: 22.04vw;
	height: 27.64vw;
	top: 145.6vw;
	right: 25.06vw;
	z-index: 7;
}
.cnt_09_bg {
	width: 100%;
	height: 44.71vw;
	position: absolute;
	bottom: -8vw;
	left:0;
	z-index: 6;
}

/** cnt_09 パネルアニメーション **/
.cnt_09_panels {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	overflow: hidden;
	pointer-events: none;
	z-index: 5;
}
.cnt_09_panel {
	flex: 1;
	height: 100%;
	background: #fff;
	transform: translateY(100%);
	transition: transform 0.9s cubic-bezier(0.76, 0, 0.24, 1);
}
.cnt_09_wrap.is-panel-inview .cnt_09_panel:nth-child(1) {
	transform: translateY(0);
	transition-delay: 0s;
}
.cnt_09_wrap.is-panel-inview .cnt_09_panel:nth-child(2) {
	transform: translateY(0);
	transition-delay: 0.12s;
}
.cnt_09_wrap.is-panel-inview .cnt_09_panel:nth-child(3) {
	transform: translateY(0);
	transition-delay: 0.24s;
}
.cnt_09_wrap.is-panel-inview .cnt_09_panel:nth-child(4) {
	transform: translateY(0);
	transition-delay: 0.36s;
}

/** *********************** **/