@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;
*/

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

a[href^="tel:"] {
    pointer-events: none !important;
}
.sp_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 {
	/*min-width: 1200px;*/
	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;
}
.loading-counter {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10001;
    pointer-events: none;
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.loading-counter__num {
    font-size: 120px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    font-family: "Inter", sans-serif;
    letter-spacing: -0.02em;
}
.loading-counter__pct {
    font-size: 42px;
    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: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
}

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

#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: 95px;
	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_wrap {
	width: 100%;
	min-width: 1300px;
	height: 95px;
	position: relative;
}
.header_wrap h1 {
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 50px;
	position: absolute;
	top: 23px;
	left: 30px;
}
.header_wrap h1 span {
	width: 107px;
	height: 50px;
	background: url("../pc_img/head_logo.png") no-repeat;
	background-size: 107px 50px;
	text-indent: -9876px;
	display: inline-block;
	margin-right: 20px;
}
.header_wrap ul {
	position: absolute;
	top: 40px;
	right: 245px;
	font-size: 0;
}
.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_hamburger ナビ：マウスオンで 16px → 18px 中心拡大 */
.head_hamburger li {
	transform-origin: center center;
	transition: transform 0.2s ease;
}
.head_hamburger li:hover {
	transform: scale(1.125);
}
.head_entry {
	width: 200px;
	height: 95px;
	position: absolute;
	top: 0;
	right: 0;
}
.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;
	transform-origin: top right;
	transition: transform 0.15s ease;
}
.head_entry a:hover {
	transform: scale(1.05);
}
.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("../pc_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;              /* ← wrap 側で横はみ出しだけ制御 */
  overflow-x: clip;
  overflow-y: visible;
  position: sticky;            /* スクロール中も画面上部に固定 */
  top: 0;
  z-index: 1;                  /* .cnt_main_wap (z-index:10) の背面に置く */
	background: url("../pc_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%;
	/* position: relative を外すことで .cnt_mv_images / .mv_scroll が .cnt_mv 基準で配置される */
}

.cnt_mv h2 {
	width: 65vw;
	margin: 3vw auto 3vw auto;
	position: relative;
	z-index: 80;
}

.cnt_mv p {
	width: 43.14vw;
	margin: 0 auto 0 auto;
	position: relative;
	z-index: 80;
	margin-bottom: 4vw;
}


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

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

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

.float-mv-img {
  position: absolute;
  display: block;                 /* <picture> 要素対応 */
  opacity: 0;                     /* 初期非表示（JSでフェードイン） */
  will-change: transform, opacity;
}
.float-mv-img img {
  width: 100%;
  height: 100%;
  display: block;
}

.float-mv-img[data-float-index="0"]  { width: 12.357vw; height: 11.071vw; top:  4.071vw;  left: 19vw;     }
.float-mv-img[data-float-index="1"]  { width:  4.928vw; height:  6.071vw; top: 10.428vw;  left: 36.571vw; }
.float-mv-img[data-float-index="2"]  { width:  8.107vw; height:  7.214vw; top: 7vw;  left: 60.5vw;     }
.float-mv-img[data-float-index="3"]  { width: 27.786vw; height: 33.286vw; top: -0.643vw;  left: 78.857vw; }
.float-mv-img[data-float-index="4"]  { width:  5.214vw; height:  3.571vw; top: 17.857vw;  left:  9.571vw; }
.float-mv-img[data-float-index="5"]  { width: 13.643vw; height: 14.929vw; top: 22.5vw;    left: -1.143vw; }
.float-mv-img[data-float-index="6"]  { width:  3.5vw;   height:  3.214vw; top: 33.5vw;    left: 21.571vw; }
.float-mv-img[data-float-index="7"]  { width:  6.643vw; height:  4.714vw; top: 31.357vw;  left: 91.857vw; }
.float-mv-img[data-float-index="8"]  { width:  9.429vw; height:  9.143vw; top: 39.714vw;  left: 15.5vw;   }
.float-mv-img[data-float-index="9"]  { width:  6.071vw; height:  5.929vw; top: 48.286vw;  left: 30.714vw; }
.float-mv-img[data-float-index="10"] { width:  4.857vw; height:  5.214vw; top: 41.714vw;  left: 62vw;     }
.float-mv-img[data-float-index="11"] { width: 23.786vw; height: 17.429vw; top: 37.429vw;  left: 68.071vw; }


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

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

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

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

.mv_scroll a::after {
  content: "";
  width: 0.428vw;
  height: 1.214vw;
  background: url("../pc_img/mv_arrw.png") no-repeat;
  background-size: 0.428vw 1.214vw;
  position: absolute;
  top: 3.285vw;
  left: 2.714vw;
}

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

/* 回転テキスト コンテナ */
.rotating-text {
  position: absolute;
  width: 7.7994vw;
  height: 7.7994vw;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  pointer-events: none;
  will-change: transform;
}
.rotating-text__img {
  display: block;
  width: 7.7994vw;
  height: 7.7994vw;
  will-change: transform;
}

/* SVG */
.rotating-text__svg {
  display: block;
  width: 100%;
  height: 100%;
  will-change: transform;
}
/* ホバー時: 外周リングをうっすら表示 */
.mv_scroll a::before {
  content: "";
  position: absolute;
  width: 140%;
  height: 140%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0);
  transition: border-color 0.4s;
  pointer-events: none;
}

.mv_scroll a:hover::before {
  border-color: rgba(255, 255, 255, 0.3);
}

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

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

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

.cnt_01_wrap {
  width: 100%;
	position: relative;
	z-index: 11;
}
.cnt_01 {
	width: 1195px;
	height: 668px;
	padding-top: 174px;
	margin: 0 auto 174px auto;
}
.cnt_01 h3 {
	width: 100%;
	margin: 0 auto 96px auto;
	position: relative;
	z-index: 3;
}
.cnt_01 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_01 h3::before {
	content: "About";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #e7eaf1;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_01 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}
.cnt_01 p:nth-of-type(1) {
	width: 816px;
	margin: 0 auto 30px auto;
}
.cnt_01 p:nth-of-type(2) {
	font-weight: 500;
	font-size: 22px;
	line-height: 32px;
	text-align: center;
	margin-bottom: 33px;
}
.cnt_01 dl {
	text-align: center;
	font-size: 0;
}
.cnt_01 dt {
	width: 265px;
	height: 34px;
	background: #f63964;
	font-weight: 800;
	font-size: 20px;
	line-height: 34px;
	color: #fff;
	display: inline-block;
	vertical-align: top;
	margin-right: 28px;
	position: relative;
}
.cnt_01 dt::after {
	content: "";
	width: 0;
  height: 0;
  border-style: solid;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #f63964;
  border-right: 0;
	position: absolute;
	top: 10px;
	right: -7px;
}
.cnt_01 dd {
	font-weight: 800;
	font-size: 20px;
	line-height: 34px;
	color: #000;
	display: inline-block;
	vertical-align: top;
	text-align: left;
}

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

.cnt_02_wrap {
  width: 100%;
	padding-bottom: 118px;
}
.cnt_02 {
	width: 100%;
	margin: 0 auto;
}
.cnt_02 h3 {
	width: 100%;
	margin: 0 auto 96px auto;
	position: relative;
	z-index: 3;
}
.cnt_02 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_02 h3::before {
	content: "Interview";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #f5f7fa;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_02 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}

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

/* ============================
   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 508px;
    margin: 0 20px;  /* JS の SLIDE_MARGIN と同値 */
    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: 50;
  width: 70px;
  height: 80px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
}

.slider-btn--prev { 
	left: 0;
	border-radius: 0 40px 40px 0;
	background: #000 url("../pc_img/cnt_02_arrw_left.png") no-repeat center center;
	background-size:  18px 6px;
}
.slider-btn--next {
	right: 0;
	border-radius: 40px 0 0 40px;
	background: #000 url("../pc_img/cnt_02_arrw_right.png") no-repeat center center;
	background-size:  18px 6px;
}

/* ============================
 ドットナビゲーション
 ============================ */
.slider-dots {
	width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
	position: absolute;
	top: 508px;
	left: 0;
	z-index: 50;
}

.slider-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: var(--dot-color, #ccc);
  /*
   * opacity / transform は slider.js の dotStates[] + Motion.animate が完全管理。
   * CSS にデフォルト値を書くと Motion のインラインスタイルと競合するため
   * ここでは定義しない。初期値は dotEls 生成時に btn.style で直接セット済み。
   */
}

/* ============================
 モーダル
 ============================ */
 
.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;
/* transition は Motion.js が担当 */
}
.modal-overlay.is-visible {
visibility: visible; /* opacity は Motion.js が制御 */
}
.modal-content {
  border-radius: 10px;
  width: 925px;
  position: relative;
  z-index: 9991;
  /* transform・transition は Motion.js が担当 */
}
.modal-body {
  position: relative;
  z-index: 9992;
	overflow-y: auto;
	max-height: 70vh;
	padding: 60px 95px 65px 105px;
	border-radius: 10px;
	clip-path: inset(0 round 10px); 
	
}
.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: 20px;
}
.modal-content .modal_name dt {
	width: 100px;
	height: 20px;
	background: #000;
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	margin: 0 auto 10px auto;
}
.modal-body.modal-suzuki .modal_name dd {
	width: 323px;
	margin: 0 auto;
}
.modal-body.modal-honda .modal_name dd {
	width: 308px;
	margin: 0 auto;
}
.modal-body.modal-nakagoshi .modal_name dd {
	width: 506px;
	margin: 0 auto;
}

.modal-content h4 {
	font-weight: 800;
	font-size: 14px;
	line-height: 1;
	text-align: center;
	margin-bottom: 25px;
}
.modal-content .cnt_02_modal_img {
	width: 350px;
	display: inline-block;
	vertical-align: top;
	border-radius: 7px;
	margin-bottom: 35px;
}
.modal-content .cnt_02_modal_img img {
	width: 100%;
	height: auto;
	border-radius: 7px;
}
.modal-content .cnt_02_modal_history {
	width: 355px;
	display: inline-block;
	vertical-align: top;
	padding-left: 25px;
}
.modal-content .cnt_02_modal_history h5 {
	font-weight: 800;
	font-size: 17px;
	line-height: 1;
	margin-bottom: 10px;
}
.modal-content .cnt_02_modal_history h5 span {
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 3px;
	color: #fff;
	margin-right: 10px;
	display: inline-block;
}
.cnt_02_modal_history ul {
	width: 330px;
	position: relative;
}
.modal-body.modal-suzuki .cnt_02_modal_history ul::after {
	content: "";
	width: 3px;
	height: calc(100% - 10px);
	background: #000;
	position: absolute;
	top: 5px;
	left: 8.5px;
}
.modal-body.modal-honda .cnt_02_modal_history ul::after {
	content: "";
	width: 3px;
	height: calc(100% - 30px);
	background: #000;
	position: absolute;
	top: 15px;
	left: 8.5px;
}
.modal-body.modal-nakagoshi .cnt_02_modal_history ul::after {
	content: "";
	width: 3px;
	height: calc(100% - 22px);
	background: #000;
	position: absolute;
	top: 11px;
	left: 8.5px;
}

.modal-body.modal-suzuki .cnt_02_modal_history li {
	width: 290px;
	background: #000;
	border-radius: 7px;
	padding: 6px 15px;
	font-weight: 500;
	font-size: 14px;
	line-height: 18px;
	color: #fff;
	margin: 0 0 9px auto;
	position: relative;
}
.modal-body.modal-honda .cnt_02_modal_history li {
	width: 290px;
	background: #000;
	border-radius: 7px;
	padding: 6px 15px;
	font-weight: 500;
	font-size: 14px;
	line-height: 18px;
	color: #fff;
	margin: 0 0 5.625px auto;
	position: relative;
}
.modal-body.modal-nakagoshi .cnt_02_modal_history li {
	width: 290px;
	background: #000;
	border-radius: 7px;
	padding: 11.7px 15px;
	font-weight: 500;
	font-size: 14px;
	line-height: 18px;
	color: #fff;
	margin: 0 0 9px auto;
	position: relative;
}

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

.modal-body .cnt_02_modal_history li::after {
	content: "";
	width: 25px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	margin-top: -0.5px;
	left: -25px;
	z-index: 9;
}

.cnt_02_modal_question {
	width: 100%;
}
.cnt_02_modal_question dl {
	width: 100%;
	background: #fff;
	padding: 10px;
	border-radius: 7px;
	margin-bottom: 10px;
}
.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: 7px;
	padding: 10px 10px 10px 75px;
	font-weight: 800;
	font-size: 18px;
	line-height: 1;
	color: #fff;
	position: relative;
}
.modal-body.modal-honda .cnt_02_modal_question dt {
	width: 100%;
	background: #f48b2e;
	border-radius: 7px;
	padding: 10px 10px 10px 75px;
	font-weight: 800;
	font-size: 18px;
	line-height: 1;
	color: #fff;
	position: relative;
}
.modal-body.modal-nakagoshi .cnt_02_modal_question dt {
	width: 100%;
	background: #169ee8;
	border-radius: 7px;
	padding: 10px 10px 10px 75px;
	font-weight: 800;
	font-size: 18px;
	line-height: 1;
	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: 25px;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 5px;
	left: 20px;
}
.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: 25px;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 5px;
	left: 20px;
}
.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: 25px;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 5px;
	left: 20px;
}
.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: 25px;
	line-height: 1;
	color: #000;
	position: absolute;
	top: 5px;
	left: 20px;
}


.cnt_02_modal_question dd {
	padding: 15px 10px 15px 75px;
	font-weight: 500;
	font-size: 15px;
	line-height: 25px;
}

/* .modal-overlay.is-visible .modal-content の transform は Motion.js が担当 */
.modal-close {
position: absolute;
top: -30px;
right: -40px;
width: 80px;
height: 80px;
border: none;
border-radius: 40px;
background: #000 url("../pc_img/cnt_02_modal_close.png") no-repeat center center;
background-size: 31px 32px;
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("../pc_img/cnt_03_bg.jpg") no-repeat top center;
  background-size: cover;
  padding: 194px 0 100px 0;
  position: relative;
  overflow: clip;
}
.cnt_03 {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 2;
  /* overflow: hidden;  ← 削除 */
}
.cnt_03 h3 {
	width: 100%;
	margin: 0 auto 96px auto;
	position: relative;
	z-index: 3;
}
.cnt_03 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_03 h3::before {
	content: "CrossTalk";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #e8ebf2;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_03 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}
.cnt_03_name_img {
	width: 924px;
	margin: 0 auto;
	padding-bottom: 87px;
	position: relative;
}
.cnt_03_name_img::after {
	content: "";
	width: 473px;
	height: 292.5px;
	background: url("../pc_img/cnt_03_img_02.png") no-repeat;
	background-size: 473px 292.5px;
	position: absolute;
	bottom: 0;
	left: 226.5px;
	z-index: 3;
}
.cnt_03_name_img h4 {
	width: 785px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.cnt_03_name_img figure {
	width: 924px;
	margin: -21px auto 0 auto;
	position: relative;
	z-index: 1;
}
.cnt_03_crosstalk {
	width: 924px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0px 8px 40px 0px rgba(192, 200, 219, 0.4);
	padding: 0 0 0 0;
	margin: 0 auto 45px 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: 17px;
	line-height: 1;
	color: #000;
	position: absolute;
	top: -10px;
	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: 17px;
	line-height: 1;
	color: #000;
	position: absolute;
	top: -10px;
	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: 17px;
	line-height: 1;
	color: #000;
	position: absolute;
	top: -10px;
	left: 0;
	text-align: center;
	width: 100%;
	z-index: 10;
}
.cnt_03_crosstalk.is-open {
	padding-bottom: 60px;
}
.cnt_03_crosstalk:last-child {
	margin-bottom: 0 !important;
}
.cnt_03_crosstalk div {
	width: 100%;
}
.cnt_03_crosstalk h4 {
	font-weight: 800;
	font-size: 26px;
	line-height: 1;
	padding: 60px 0 60px 0;
	text-align: center;
	position: relative;  /* .accordion-icon の基準 */
}
/* JS で h4 内に追加されるアイコン要素 */
.cnt_03_crosstalk h4 .accordion-icon {
	position: absolute;
	top: 50%;
	right: 45px;
	width: 42px;
	height: 42px;
	margin-top: -21px;  /* 上下中央 */
	background: url("../pc_img/cnt_03_open.png") no-repeat center center;
	background-size: 42px 42px;
	will-change: transform;
}
.cnt_03_crosstalk h4.is-open::after {
	width: 42px;
	content: "Close";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 8px;
	line-height: 1;
	letter-spacing: 1px;
	color: #b1b9ca;
	text-align: center;
	position: absolute;
	bottom: 37px;
	right: 45px;
}
.cnt_03_crosstalk h4::after {
	width: 42px;
	content: "Open";
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 8px;
	line-height: 1;
	letter-spacing: 1px;
	color: #b1b9ca;
	text-align: center;
	position: absolute;
	bottom: 37px;
	right: 45px;
}
.cnt_03_crosstalk dl.yoshizumi {
	width: 825px;
	background: #eff1f5;
	border-radius: 10px;
	padding: 25px 130px 25px 45px;
	position: relative;
	margin: 0 auto 25px auto;
}
.cnt_03_crosstalk dl.yoshizumi::after {
	content: "";
	width: 117px;
	height: 117px;
	background: url("../pc_img/cnt_03_img_03.png") no-repeat;
	background-size: 117px 117px;
	position: absolute;
	top: -18px;
	right: -18px;
}
.cnt_03_crosstalk dl.chiba {
	width: 825px;
	background: #eff1f5;
	border-radius: 10px;
	padding: 25px 45px 25px 130px;
	position: relative;
	margin: 0 auto 25px auto;
}
.cnt_03_crosstalk dl.chiba::after {
	content: "";
	width: 117px;
	height: 117px;
	background: url("../pc_img/cnt_03_img_04.png") no-repeat;
	background-size: 117px 117px;
	position: absolute;
	top: -18px;
	left: -18px;
}
.cnt_03_crosstalk dl:last-child {
	margin-bottom: 0 !important;
}
.cnt_03_crosstalk dl.yoshizumi dt {
	text-align: right;
	font-weight: 800;
	font-size: 15px;
	line-height: 1;
	color: #000;
	margin-bottom: 10px;
}
.cnt_03_crosstalk dl.yoshizumi dt span {
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 27px;
	color: #3eae48;
	padding-right: 10px;
}
.cnt_03_crosstalk dl.yoshizumi dt i {
	font-weight: 500;
	font-size: 10px;
	color: #000;
	font-style: normal;
	padding-left: 5px;
}
.cnt_03_crosstalk dl.chiba dt {
	text-align: left;
	font-weight: 800;
	font-size: 15px;
	line-height: 1;
	color: #000;
	margin-bottom: 10px;
}
.cnt_03_crosstalk dl.chiba dt span {
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 27px;
	color: #ffca00;
	padding-right: 10px;
}
.cnt_03_crosstalk dl.chiba dt i {
	font-weight: 500;
	font-size: 10px;
	color: #000;
	font-style: normal;
	padding-left: 5px;
}

.cnt_03_crosstalk dl.yoshizumi dd {
	text-align: left;
	font-weight: 500;
	font-size: 16px;
	line-height: 26px;
	color: #000;
	padding-right: 30px;
}
.cnt_03_crosstalk dl.chiba dd {
	text-align: left;
	font-weight: 500;
	font-size: 16px;
	line-height: 26px;
	color: #000;
	padding-right: 30px;
}

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

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

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

/* ===== 10枚の初期配置（お好みで調整） ===== */
.float-img[data-float-index="0"] { width: 5.214vw; height: 6.286vw; top: -3.786vw; left: 13vw; }
.float-img[data-float-index="1"] { width: 8.071vw; height: 7.214vw; top: -7vw; right: 11.714vw; }
.float-img[data-float-index="2"] { width: 12.357vw; height: 11.071vw; top: -1.643vw; left: -2.357vw; }
.float-img[data-float-index="3"] { width: 5.214vw; height: 3.571vw; top: 11.071vw; left: 8.429vw; }
.float-img[data-float-index="4"] { width: 19.714vw; height: 23.786vw; top: 2.5vw; right: -3.786vw; }
.float-img[data-float-index="5"] { width: 14.786vw; height: 14.929vw; top: 20.143vw; left: -2.857vw; }
.float-img[data-float-index="6"] { width: 3.5vw; height: 3.214vw; top: 22.214vw; left: 18vw; }
.float-img[data-float-index="7"] { width: 9.429vw; height: 9.143vw; top: 39.857vw; left: 2.714vw; }
.float-img[data-float-index="8"] { width: 6.643vw; height: 4.714vw; top: 38.857vw; right: 3.5vw; }
.float-img[data-float-index="9"] { width: 4.857vw; height: 5.214vw; top: 53.429vw; right: 6.643vw; }
.float-img[data-float-index="10"] { width: 6.071vw; height: 5.929vw; top: 63.214vw; left: 3.929vw; }
.float-img[data-float-index="11"] { width: 16.714vw; height: 12.286vw; top: 59.429vw; right: -5vw; }

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

.cnt_04_05_wrap {
  width: 100%;
  background: url("../pc_img/cnt_04_05_wrap_bg.png") no-repeat calc(50% - 24px) top;
  background-size: 5636.5px auto;
  padding: 178px 0 154px 0;
	position: relative;
	z-index: 50;
}

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

.cnt_04 {
  width: 100%;
	margin-bottom: 77px;
}
.cnt_04 h3 {
	width: 100%;
	margin: 0 auto 64px auto;
	position: relative;
	z-index: 3;
}
.cnt_04 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_04 h3::before {
	content: "Data";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #f8f9fb;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_04 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}

.charts-wrapper {
	width: 1140px;
	margin: 0 auto;
  display: flex;
  flex-wrap: wrap; /* 画面幅が足りないときに折り返す設定 */
  gap: 20px;       /* グラフ同士の間隔 */
  justify-content: center; /* 中央寄せ */
  padding: 20px;
}
/* 個別のグラフコンテナ設定 */
.chart-container {
  width: 540px;
  height: 420px;
	background: #fff;
	border-radius: 10px;
	padding-top: 50px;
  position: relative;
}
.chart-container h4 {
	text-align: center;
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	margin-bottom: 65px;
}
.chart-container canvas {
	width: 200px;
	margin: 0 auto;
}
.chart-container p {
	text-align: center;
	font-weight: 500;
	font-size: 15px;
	line-height: 1;
	padding-top: 15px;
}
.chart-container:nth-of-type(1)::after {
	content: "";
	width: 399px;
	height: 225px;
	background: url("../pc_img/cnt_04_graph_txt_01.png") no-repeat;
	background-size: 399px 225px;
	position: absolute;
	top: 110px;
	left: 87px;
	z-index: 10;
}
.chart-container:nth-of-type(2)::after {
	content: "";
	width: 354px;
	height: 229px;
	background: url("../pc_img/cnt_04_graph_txt_02.png") no-repeat;
	background-size: 354px 229px;
	position: absolute;
	top: 123px;
	left: 112px;
	z-index: 10;
}
.chart-container:nth-of-type(3)::after {
	content: "";
	width: 403px;
	height: 214px;
	background: url("../pc_img/cnt_04_graph_txt_03.png") no-repeat;
	background-size: 403px 214px;
	position: absolute;
	top: 100px;
	left: 82px;
	z-index: 10;
}
.chart-container:nth-of-type(4)::after {
	content: "";
	width: 407px;
	height: 239px;
	background: url("../pc_img/cnt_04_graph_txt_04.png") no-repeat;
	background-size: 407px 239px;
	position: absolute;
	top: 132px;
	left: 87px;
	z-index: 10;
}
.chart-container:nth-of-type(1)::before {
	content: "";
	width: 55px;
	height: 50px;
	background: url("../pc_img/cnt_04_graph_icn_01.png") no-repeat;
	background-size: 55px 50px;
	position: absolute;
	top: 218px;
	left: 50%;
	margin-left: -21.5px;
	z-index: 11;
}
.chart-container:nth-of-type(2)::before {
	content: "";
	width: 55px;
	height: 50px;
	background: url("../pc_img/cnt_04_graph_icn_02.png") no-repeat;
	background-size: 55px 50px;
	position: absolute;
	top: 218px;
	left: 50%;
	margin-left: -23.5px;
	z-index: 11;
}
.chart-container:nth-of-type(3)::before {
	content: "";
	width: 55px;
	height: 50px;
	background: url("../pc_img/cnt_04_graph_icn_03.png") no-repeat;
	background-size: 55px 50px;
	position: absolute;
	top: 218px;
	left: 50%;
	margin-left: -27.0px;
	z-index: 11;
}
.chart-container:nth-of-type(4)::before {
	content: "";
	width: 55px;
	height: 50px;
	background: url("../pc_img/cnt_04_graph_icn_04.png") no-repeat;
	background-size: 55px 50px;
	position: absolute;
	top: 218px;
	left: 50%;
	margin-left: -22.5px;
	z-index: 11;
}

/* ── .cnt_04 グラフ個別表示（Safari 点滅対策: CSS transition のみ使用） ── */
.chart-container {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
.chart-container.is-shown {
  opacity: 1;
}
.chart-container::after,
.chart-container::before {
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
.chart-container.is-drawn::after,
.chart-container.is-drawn::before {
  opacity: 1;
}

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

.cnt_05 {
  width: 1195px;
	height: 1290px;
	background: url("../pc_img/cnt_05_bg.png") no-repeat top left 24px;
	background-size: 1195px 1290px;
	padding: 152px 0 0 46px;
	margin: -15px auto 0 auto;
	transform: translateX(-23px);
}
.cnt_05 h3 {
	width: 100%;
	margin: 0 auto 115px auto;
	position: relative;
	z-index: 3;
}
.cnt_05 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_05 h3::before {
	content: "Criteria";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #e7eaf1;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_05 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -75px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}
.cnt_05 p:nth-of-type(1) {
	width: 714px;
	margin: 0 auto 54px auto;
}
.cnt_05 p:nth-of-type(2) {
	width: 170px;
	margin: 0 auto 21px auto;
}
.cnt_05 ul {
	width: 802px;
	height: 388px;
	position: relative;
	margin: 0 auto 50px auto;
}
.cnt_05 ul li:nth-of-type(1) {
	width: 253px;
	height: 253.5px;
	position: absolute;
	top: 0;
	left: 0;
}
.cnt_05 ul li:nth-of-type(2) {
	width: 262px;
	height: 253.5px;
	position: absolute;
	top: 0;
	left: 265px;
}
.cnt_05 ul li:nth-of-type(3) {
	width: 262px;
	height: 253.5px;
	position: absolute;
	top: 0;
	right: 0;
}
.cnt_05 ul li:nth-of-type(4) {
	width: 262.5px;
	height: 253.5px;
	position: absolute;
	top: 129px;
	left: 128px;
}
.cnt_05 ul li:nth-of-type(5) {
	width: 262px;
	height: 253.5px;
	position: absolute;
	top: 129px;
	left: 403px;
}
.cnt_05 div {
	width: 702px;
	margin: 0 auto;
	font-size: 0;
	text-align: center;
}
.cnt_05 div dl {
	display: inline-block;
	vertical-align: top;
	width: calc(100%/3);
	margin-bottom: 30px;
}
.cnt_05 div dt {
	font-weight: 700;
	font-size: 42px;
	line-height: 1;
	margin-bottom: 15px;
}
.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: 15px;
	line-height: 25px;
}

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

.cnt_06_wrap {
	width: 100%;
	background: url("../pc_img/cnt_06_bg.png") no-repeat top -517px center;
	background-size: 3500px auto;
}
.cnt_06 {
  width: 1100px;
	margin: 0 auto 160px auto;	
	padding-top: 131px;
}
.cnt_06 h3 {
	width: 100%;
	margin: 0 auto 96px auto;
	position: relative;
	z-index: 3;
}
.cnt_06 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_06 h3::before {
	content: "Member";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #e7eaf1;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_06 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}
.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: 828px;
	height: 827px;
	position: relative;
	margin: -31px auto 160px auto;
}
.cnt_06 .member_list li:nth-of-type(1) {
	width: 320px;
	height: 240px;
	position: absolute;
	top: 41px;
	left: 252px;
}
.cnt_06 .member_list li:nth-of-type(2) {
	width: 240px;
	height: 320px;
	position: absolute;
	top:  1px;
	right: 41px;
}
.cnt_06 .member_list li:nth-of-type(3) {
	width: 320px;
	height: 240px;
	position: absolute;
	top: 295px;
	left: -2px
}
.cnt_06 .member_list li:nth-of-type(4) {
	width: 240px;
	height: 320px;
	position: absolute;
	top: 255px;
	left: 292px;
}
.cnt_06 .member_list li:nth-of-type(5) {
	width: 320px;
	height: 240px;
	position: absolute;
	top: 295px;
	right: 1px;
} 
.cnt_06 .member_list li:nth-of-type(6) {
	width: 240px;
	height: 320px;
	position: absolute;
	top: 509px;
	left: 39px;
}
.cnt_06 .member_list li:nth-of-type(7) {
	width: 320px;
	height: 240px;
	position: absolute;
	top: 549px;
	left: 252px;
}
.cnt_06 .member_list li:nth-of-type(1)::after {
	content: "多湖";
	width: 104px;
	height: 36px;
	background: #169ee8;
	border-left: 10px 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: 18px;
	line-height: 36px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 145px;
	left: 85px;
}
.cnt_06 .member_list li:nth-of-type(2)::after {
	content: "畑瀬";
	width: 104px;
	height: 36px;
	background: #f63864;
	border-left: 10px 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: 18px;
	line-height: 36px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 165px;
	left: 105px;
}
.cnt_06 .member_list li:nth-of-type(3)::after {
	content: "相賀";
	width: 104px;
	height: 36px;
	background: #ffca00;
	border-left: 10px 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: 18px;
	line-height: 36px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 45px;
	left: 185px;
}
.cnt_06 .member_list li:nth-of-type(4)::after {
	content: "宮坂";
	width: 104px;
	height: 36px;
	background: #f48b2e;
	border-left: 10px 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: 18px;
	line-height: 36px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 198px;
	left: 142px;
}
.cnt_06 .member_list li:nth-of-type(5)::after {
	content: "栗田";
	width: 104px;
	height: 36px;
	background: #3eae48;
	border-left: 10px 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: 18px;
	line-height: 36px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 30px;
	left: 210px;
}
.cnt_06 .member_list li:nth-of-type(6)::after {
	content: "浦野";
	width: 104px;
	height: 36px;
	background: #169ee8;
	border-left: 10px 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: 18px;
	line-height: 36px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 220px;
	left: 120px;
}
.cnt_06 .member_list li:nth-of-type(7)::after {
	content: "黒﨑";
	width: 104px;
	height: 36px;
	background: #f63864;
	border-left: 10px 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: 18px;
	line-height: 36px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 140px;
	left: 195px;
}
.modal-body.modal-cnt06-01 {
	background: #169ee8 url("../pc_img/cnt_06_member_01_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 85px !important;
}
.modal-body.modal-cnt06-02 {
	background: #f63864 url("../pc_img/cnt_06_member_02_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 85px !important;
}
.modal-body.modal-cnt06-03 {
	background: #ffca00 url("../pc_img/cnt_06_member_03_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 85px !important;
}
.modal-body.modal-cnt06-04 {
	background: #f48b2e url("../pc_img/cnt_06_member_04_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 85px !important;
}
.modal-body.modal-cnt06-05 {
	background: #3eae48 url("../pc_img/cnt_06_member_05_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 85px !important;
}
.modal-body.modal-cnt06-06 {
	background: #169ee8 url("../pc_img/cnt_06_member_06_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 85px !important;
}
.modal-body.modal-cnt06-07 {
	background: #f63864 url("../pc_img/cnt_06_member_07_bg.jpg") no-repeat center center;
	background-size: cover;
	padding: 85px !important;
}

/* ── modal-body スクロールバーカラー（モーダル色に合わせる） ── */
.modal-body.modal-suzuki,
.modal-body.modal-cnt06-02,
.modal-body.modal-cnt06-07   { scrollbar-color: #c41040 #fce4ea; }

.modal-body.modal-honda,
.modal-body.modal-cnt06-04   { scrollbar-color: #c96a14 #fde8d0; }

.modal-body.modal-nakagoshi,
.modal-body.modal-cnt06-01,
.modal-body.modal-cnt06-06   { scrollbar-color: #0a7ab8 #d0eefa; }

.modal-body.modal-cnt06-03   { scrollbar-color: #cc9f00 #fff5c0; }

.modal-body.modal-cnt06-05   { scrollbar-color: #2a8032 #d0f0d2; }

.modal_wrap {
	width: 100%;
	background: #fff;
	padding: 20px 30px;
	border-radius: 10px;
	text-align: left !important;
	font-size: 0;
}
.modal_wrap div:nth-of-type(1) {
	width: 350px;
	display: inline-block;
	vertical-align: top;
	padding-top: 5px;
	margin-right: 15px;
}
.modal_wrap div:nth-of-type(2) {
	width: 330px;
	display: inline-block;
	vertical-align: top;
	background: #f6f8fc;
	border-radius: 10px;
	padding: 40px 25px 40px 25px;
}
.modal_wrap div h4 {
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	text-align: left !important;
	margin-bottom: 10px;
}
.modal_wrap div p {
	font-weight: 500;
	font-size: 15px;
	line-height: 25px;
	text-align: left !important;
	margin-bottom: 20px;
}
.modal_wrap div p:nth-of-type(2) {
	margin-bottom: 0 !important;
}
.modal_wrap .modal_right li {
	font-weight: 700;
	font-size: 20px;
	line-height: 36px;
	height: 40px;
	text-align: right;
}
.modal_wrap .modal_right li span {
	width: 165px;
	height: 36px;
	/*background: url("../pc_img/cnt_06_eval_bg.svg") no-repeat left center;
	background-size: 165px 36px;*/
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
}

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

.cnt_07 {
  width: 1100px;
	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 10px 40px 0px rgba(226, 230, 238, 0.5);
	border: 1px solid #fff;
	border-radius: 10px;
	margin: 0 auto 147px auto;	
	padding: 144px 60px 70px 60px;
}
.cnt_07 h3 {
	width: 100%;
	margin: 0 auto 96px auto;
	position: relative;
	z-index: 3;
}
.cnt_07 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_07 h3::before {
	content: "Support";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #f8f9fb;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_07 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}
.cnt_07 p {
	font-weight: 500;
	font-size: 21px;
	line-height: 1;
	text-align: center;
	margin-bottom: 50px;
}
.cnt_07_chart {
	width: 100%;
	height: 833px;
	background: url("../pc_img/cnt_07_arrw.png") no-repeat top center;
	background-size: 25px 833px;
	margin: 0 auto;
	position: relative;
	z-index: 0;
}
.cnt_07_chart div a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
.cnt_07_chart div figure {
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 22px;
	background: #004ea2;
	border: 5px solid rgba(93,154,220,0.6);
  outline: 5px solid rgba(152,199,251,0.35);
	position: absolute;
	top: -17px;
	right: 20px;
	padding: 3.75px 0 0 0;
	z-index: 5;
}
.cnt_07_chart div figure img {
	width: 19px;
	height: 19px;
}
.cnt_07_chart01 {
	width: 144px;
	font-size: 23px;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 57px;
  left: 50%;
  transform: translateX(calc(-50% - 132px)) !important;
}
.cnt_07_chart02 {
	width: 144px;
	font-size: 23px;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 255px;
  left: 50%;
  transform: translateX(calc(-50% - 257px)) !important;
}
.cnt_07_chart03 {
	width: 144px;
	font-size: 23px;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 355px;
  left: 50%;
  transform: translateX(calc(-50% - 132px)) !important;
}
.cnt_07_chart04 {
	width: 144px;
	font-size: 23px;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 410px;
  left: 50%;
  transform: translateX(calc(-50% + 132px)) !important;
}
.cnt_07_chart05 {
	width: 144px;
	font-size: 23px;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 470px;
  left: 50%;
  transform: translateX(calc(-50% - 257px)) !important;
}
.cnt_07_chart06 {
	width: 144px;
	font-size: 23px;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 582px;
  left: 50%;
  transform: translateX(calc(-50% - 132px)) !important;
}
.cnt_07_chart07 {
	width: 144px;
	font-size: 23px;
	line-height: 1;
	font-weight: 700;
	color: #717e92;
	text-align: center;
	position: absolute;
	top: 525px;
  left: 50%;
  transform: translateX(calc(-50% + 257px)) !important;
}
.cnt_07_chart01 span {
	width: 94px;
	height: 94px;
	border-radius: 47px;
	display: block;
	background: #fff url("../pc_img/cnt_07_icn_01.png") no-repeat center center;
	background-size: 53px 46px;
	border: 10px solid #edf0f6;
  outline: 1px solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 10px auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart02 span {
	width: 94px;
	height: 94px;
	border-radius: 47px;
	display: block;
	background: #fff url("../pc_img/cnt_07_icn_02.png") no-repeat center center;
	background-size: 53px 46px;
	border: 10px solid #edf0f6;
  outline: 1px solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 10px auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart03 span {
	width: 94px;
	height: 94px;
	border-radius: 47px;
	display: block;
	background: #fff url("../pc_img/cnt_07_icn_03.png") no-repeat center center;
	background-size: 53px 46px;
	border: 10px solid #cde0f6;
  outline: 1px solid #004ea2;
  outline-offset: 0px;
	margin: 0 auto 10px auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart04 span {
	width: 94px;
	height: 94px;
	border-radius: 47px;
	display: block;
	background: #fff url("../pc_img/cnt_07_icn_04.png") no-repeat center center;
	background-size: 53px 46px;
	border: 10px solid #edf0f6;
  outline: 1px solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 10px auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart05 span {
	width: 94px;
	height: 94px;
	border-radius: 47px;
	display: block;
	background: #fff url("../pc_img/cnt_07_icn_05.png") no-repeat center center;
	background-size: 53px 46px;
	border: 10px solid #cde0f6;
  outline: 1px solid #004ea2;
  outline-offset: 0px;
	margin: 0 auto 10px auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart06 span {
	width: 94px;
	height: 94px;
	border-radius: 47px;
	display: block;
	background: #fff url("../pc_img/cnt_07_icn_07.png") no-repeat center center;
	background-size: 53px 46px;
	border: 10px solid #edf0f6;
  outline: 1px solid #bac0ca;
  outline-offset: 0px;
	margin: 0 auto 10px auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart07 span {
	width: 94px;
	height: 94px;
	border-radius: 47px;
	display: block;
	background: #fff url("../pc_img/cnt_07_icn_06.png") no-repeat center center;
	background-size: 53px 46px;
	border: 10px solid #cde0f6;
  outline: 1px solid #004ea2;
  outline-offset: 0px;
	margin: 0 auto 10px auto;
	position: relative;
	z-index: 3;
}
.cnt_07_chart01::before,
.cnt_07_chart03::before,
.cnt_07_chart06::before {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 15px;
	background: #99a4b5;
	border: 5px solid #ffffff;
  outline: 1px solid #bac0ca;
	position: absolute;
	top: 32px;
	right: -75px;
	z-index: 2;
}
.cnt_07_chart02::before,
.cnt_07_chart05::before {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 15px;
	background: #99a4b5;
	border: 5px solid #ffffff;
  outline: 1px solid #bac0ca;
	position: absolute;
	top: 32px;
	right: -200px;
	z-index: 2;
}
.cnt_07_chart04::before {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 15px;
	background: #99a4b5;
	border: 5px solid #ffffff;
  outline: 1px solid #bac0ca;
	position: absolute;
	top: 32px;
	left: -75px;
	z-index: 2;
}
.cnt_07_chart07::before {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 15px;
	background: #99a4b5;
	border: 5px solid #ffffff;
  outline: 1px solid #bac0ca;
	position: absolute;
	top: 32px;
	left: -200px;
	z-index: 2;
}
.cnt_07_chart01::after,
.cnt_07_chart03::after,
.cnt_07_chart06::after {
	content: "";
	width: 120px;
	height: 1px;
	background: #bac0ca;
	position: absolute;
	top: 46.5px;
	right: -75px;
	z-index: 1;
}
.cnt_07_chart02::after,
.cnt_07_chart05::after {
	content: "";
	width: 220px;
	height: 1px;
	background: #bac0ca;
	position: absolute;
	top: 46.5px;
	right: -185px;
	z-index: 1;
}
.cnt_07_chart04::after {
	content: "";
	width: 120px;
	height: 1px;
	background: #bac0ca;
	position: absolute;
	top: 46.5px;
	left: -75px;
	z-index: 1;
}
.cnt_07_chart07::after {
	content: "";
	width: 220px;
	height: 1px;
	background: #bac0ca;
	position: absolute;
	top: 46.5px;
	left: -185px;
	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: 12px;
	line-height: 1;
	font-weight: 400;
	color: #717e92;
	display: block;
	padding-top: 5px;
}
.cnt_07_chart li {
	height: 34px;
	border: 1px solid #bac0ca;
	background: #fff;
	border-radius: 10px;
	font-size: 20px;
	line-height: 32px;
	font-weight: 700;
	color: #717e92;
	text-align: center;
}
.cnt_07_chart li:nth-of-type(1) {
	width: 270px;
	position: absolute;
	top: 152px;
	left: 50%;
  transform: translateX(calc(-50% + 196px));
}
.cnt_07_chart li:nth-of-type(2) {
	width: 140px;
	position: absolute;
	top: 195px;
	left: 50%;
  transform: translateX(calc(-50% - 130px));
}
.cnt_07_chart li:nth-of-type(3) {
	width: 270px;
	position: absolute;
	top: 233px;
	left: 50%;
  transform: translateX(calc(-50% + 196px));
}
.cnt_07_chart li:nth-of-type(4) {
	width: 270px;
	position: absolute;
	top: 330px;
	left: 50%;
  transform: translateX(calc(-50% + 196px));
}
.cnt_07_chart li:nth-of-type(5) {
	width: 270px;
	position: absolute;
	top: 682px;
	left: 50%;
  transform: translateX(calc(-50% + 196px));
}

.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: 20px;
	height: 20px;
	border-radius: 10px;
	background: #bac0ca;
	border: 5px solid #ffffff;
  outline: 1px solid #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -10px;
	left: -71px;
	z-index: 2;
}
.cnt_07_chart li:nth-of-type(2)::before {
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 10px;
	background: #bac0ca;
	border: 5px solid #ffffff;
  outline: 1px solid #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -10px;
	right: -71px;
	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: 70px;
	height: 1px;
	background: #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -0.5px;
	left: -70px;
	z-index: 1;
}
.cnt_07_chart li:nth-of-type(2)::after {
	content: "";
	width: 70px;
	height: 1px;
	background: #bac0ca;
	position: absolute;
	top: 50%;
	margin-top: -0.5px;
	right: -70px;
	z-index: 1;
}
.cnt_07_chart p {
	font-weight: 400 !important;
	font-size: 15px;
	line-height: 1;
	text-align: right;
	position: absolute;
	bottom: 5px;
	right: 0;
	margin: 0 0 0 0 !important;
}

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

/** 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_01 {
  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);
  }
}
@keyframes cnt07FigureBlink_02 {
  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 20px rgba(93,154,220, 0),
      0 0 0 30px 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:hover span,
.cnt_07_chart05 a:hover span,
.cnt_07_chart07 a:hover span {
	border: 10px solid #cde0f6;
  outline: 1px solid #004ea2;
  outline-offset: 0;
	background-color: #fff;
  animation: cnt07Ripple 1.0s ease-out infinite;
}*/

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

/** cnt_07 バルーン **/

.cnt_07_balloon {
  display: none;
  width: 565px;
  height: 170px;
  position: absolute;
  z-index: 50;
  background: #004ea2;
  border-radius: 10px;
  padding: 45px 60px;
  box-sizing: border-box;
	text-align: left;
}
.cnt_07_balloon.is-visible {
  display: block;
}
/* 下向き吹き出し三角 */
.cnt_07_balloon::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 15px solid #004ea2;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 0;
}
.cnt_07_balloon_ttl {
	width: 110px;
	height: 40px;
	background: #fff;
	border: 3px solid #004ea2;
	border-radius: 5px;
  font-weight: 700;
  font-size: 21px;
  line-height: 32px;
  color: #004ea2;
  margin-bottom: 12px;
	position: absolute;
	top: -20px;
	left: 25px;
	text-align: center;
}
.cnt_07_balloon_txt {
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  color: #fff;
}

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

.cnt_08 {
  width: 1100px;
	margin: 0 auto;	
}
.cnt_08 h3 {
	width: 100%;
	margin: 0 auto 96px auto;
	position: relative;
	z-index: 3;
}
.cnt_08 h3 img {
	display: block;
	width: 374px;
	margin: 0 auto;
}
.cnt_08 h3::before {
	content: "Step";
	width: 100%;
	text-align: center;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-size: 185px;
	line-height: 1;
	color: #e7eaf1;
	position: absolute;
	top: -93px;
	left: 0;
	z-index: -1;
}
.cnt_08 h3::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #000;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -0.5px;
	z-index: 2;
}
.cnt_08 p:nth-of-type(1) {
	font-weight: 500;
	font-size: 21px;
	line-height: 1;
	text-align: center;
	margin-bottom: 42px;
}
.cnt_08_chart {
	width: 928px;
	margin: 0 auto 80px auto;
	position: relative;
	font-size: 0;
	padding-bottom: 58px;
	text-align: center;
}
.cnt_08_chart::after {
	content: "";
	width: 928px;
	height: 253.5px;
	background: url("../pc_img/cnt_08_img.png") no-repeat;
	background-size: 928px 253.5px;
	position: absolute;
	bottom: 0;
	left: 10px;
	opacity: 0;
	transform: translate(-20px, 20px);
	transition: opacity 1.0s ease-out, transform 1.0s ease-out;
}
.cnt_08_chart.is-inview::after {
	opacity: 1;
	transform: translate(0, 0);
}
.cnt_08_chart div {
	width: 210px;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	padding-top: 20px;
	border-right: 1px dashed #e7e9ec;
}
.cnt_08_chart div {
	border-left: 1px dashed #e7e9ec;
}
.cnt_08_chart div:nth-of-type(1) span {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	background: #ffbc17 url("../pc_img/cnt_08_icn_05.png") no-repeat center top 9px;
	background-size: 19px 19px;
	border: 5px solid #ffdc85;
  outline: 5px solid #fff0cc;
	margin: 0 auto 18px auto;
}
.cnt_08_chart div:nth-of-type(2) span {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	background: #ff8e19 url("../pc_img/cnt_08_icn_05.png") no-repeat center top 9px;
	background-size: 19px 19px;
	border: 5px solid #ffc68d;
  outline: 5px solid #ffe9d2;
	margin: 0 auto 18px auto;
}
.cnt_08_chart div:nth-of-type(3) span {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	background: #ff1316 url("../pc_img/cnt_08_icn_05.png") no-repeat center top 9px;
	background-size: 19px 19px;
	border: 5px solid #ffa1a2;
  outline: 5px solid #ffe7e7;
	margin: 0 auto 18px auto;
}
.cnt_08_chart div:nth-of-type(4) span {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 25px;
	background: #ca0503 url("../pc_img/cnt_08_icn_05.png") no-repeat center top 9px;
	background-size: 19px 19px;
	border: 5px solid #fda9a9;
  outline: 5px solid #ffdddc;
	margin: 0 auto 18px auto;
}
.cnt_08_chart div:nth-of-type(1) .cnt_08_dl_01 {
	margin-bottom: 195px;
	color: #ffbc17;
}
.cnt_08_chart div:nth-of-type(2) .cnt_08_dl_01 {
	margin-bottom: 160px;
	color: #ff8b16;
}
.cnt_08_chart div:nth-of-type(3) .cnt_08_dl_01 {
	margin-bottom: 95px;
	color: #ff1316;
}
.cnt_08_chart div:nth-of-type(4) .cnt_08_dl_01 {
	margin-bottom: 20px;
	color: #c90303;
}
.cnt_08_chart .cnt_08_dl_01 dt {
	font-family: "Inter", sans-serif;
	font-weight: 300;
	font-size: 21px;
	line-height: 1;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
.cnt_08_chart .cnt_08_dl_01 dd {
	font-family: "Inter", sans-serif;
	font-weight: 300;
	font-size: 36px;
	line-height: 1;
}
.cnt_08_chart div h4 {
	font-weight: 500;
	font-size: 19px;
	line-height: 27px;
	margin-bottom: 20px;
}
.cnt_08_chart div figure {
	width: 76px;
	margin: 0 auto;
}

.cnt_08 h5 {
	width: 559px;
	margin: 0 auto 30px auto;
}
.cnt_08 p:nth-of-type(2) {
	font-weight: 500;
	font-size: 13px;
	line-height: 1;
	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);
  }
}

@keyframes cnt08SpanBlink_05 {
  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 20px rgba(255,220,133, 0),
      0 0 0 30px 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_06 {
  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 30px rgba(255,198,141, 0),
      0 0 0 30px 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_07 {
  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 20px rgba(255,161,162, 0),
      0 0 0 30px 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_08 {
  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 20px rgba(253,169,169, 0),
      0 0 0 30px 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_chart div:nth-of-type(1):hover span {
  animation: cnt08SpanBlink_05 1.0s ease-out infinite;
}
.cnt_08_chart div:nth-of-type(2):hover span {
  animation: cnt08SpanBlink_06 1.0s ease-out infinite;
}
.cnt_08_chart div:nth-of-type(3):hover span {
  animation: cnt08SpanBlink_07 1.0s ease-out infinite;
}
.cnt_08_chart div:nth-of-type(4):hover span {
  animation: cnt08SpanBlink_08 1.0s ease-out infinite;
}

/** cnt_08 バルーン **/

.cnt_08_balloon {
  display: none;
  width: 565px !important;
  height: 170px;
  position: absolute;
  z-index: 50;
  border-radius: 10px;
  padding: 45px 60px;
  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: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
}
.cnt_08_balloon.cnt_08_balloon_01::after {
	border-style: solid;
  border-top: 15px solid #ffbc17;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon.cnt_08_balloon_02::after {
	border-style: solid;
  border-top: 15px solid #ff8e19;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon.cnt_08_balloon_03::after {
	border-style: solid;
  border-top: 15px solid #ff1316;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon.cnt_08_balloon_04::after {
	border-style: solid;
  border-top: 15px solid #ca0503;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 0;
}
.cnt_08_balloon_ttl {
  width: 110px;
  height: 40px;
  background: #fff;
  border-radius: 5px;
  font-weight: 700;
  font-size: 21px;
  line-height: 32px;
  position: absolute;
  top: -20px;
  left: 25px;
  text-align: center;
}
.cnt_08_balloon.cnt_08_balloon_01 .cnt_08_balloon_ttl {
	border: 3px solid #ffbc17;
	color: #ffbc17;
}
.cnt_08_balloon.cnt_08_balloon_02 .cnt_08_balloon_ttl {
	border: 3px solid #ff8e19;
	color: #ff8e19;
}
.cnt_08_balloon.cnt_08_balloon_03 .cnt_08_balloon_ttl {
	border: 3px solid #ff1316;
	color: #ff1316;
}
.cnt_08_balloon.cnt_08_balloon_04 .cnt_08_balloon_ttl {
	border: 3px solid #ca0503;
	color: #ca0503;
}
.cnt_08_balloon_txt {
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  color: #fff;
}

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

.cnt_09_wrap {
  width: 100%;
	min-width: 1200px;
	height: 95.14vw;
	overflow: clip;
	overflow-x: clip;
	overflow-y: visible;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cnt_09 {
	width: 100%;
	position: relative;
	z-index: 100;
}
.cnt_09 h3 {
	width: 44.785vw;
	margin: 0 auto 3.214vw auto;
	padding-top: 3vw;
}
.cnt_09 a {
	width: 41.285vw;
	display: block;
	margin: 0 auto 3.571vw auto;
	transition: transform 0.3s ease;
}
.cnt_09 a:hover {
	transform: scale(1.1);
}
.cnt_09 a figure {
	width: 41.285vw;
}
.cnt_09 small {
	display: block;
	font-family: "Inter", sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 1;
	text-align: center;
}
.cnt_09_wrap li {
	position: absolute;
}
.cnt_09_wrap li:nth-of-type(1) {
	width: 35.214vw;
	height: 27.214vw;
	top: -8.5vw;
	left: -11.214vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(2) {
	width: 6.286vw;
	height: 7.929vw;
	top: 5.071vw;
	right: 13.429vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(3) {
	width: 15.642vw;
	height: 13.464vw;
	top: 17.64vw;
	left: 26.929vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(4) {
	width: 10.643vw;
	height: 9.500vw;
	top: 21.429vw;
	right: 26.500vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(5) {
	width: 27.786vw;
	height: 33.286vw;
	top: 6.000vw;
	right: -6.071vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(6) {
	width: 7.500vw;
	height: 8.071vw;
	top: 29.929vw;
	left: 14.929vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(7) {
	width: 21.214vw;
	height: 14.071vw;
	top: 38.071vw;
	left: -4.571vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(8) {
	width: 7.500vw;
	height: 6.714vw;
	top: 43.786vw;
	right: 18.214vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(9) {
	width: 23.786vw;
	height: 17.429vw;
	top: 40.929vw;
	right: -6.643vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(10) {
	width: 14.643vw;
	height: 14.143vw;
	bottom: 8.714vw;
	left: 12.214vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(11) {
	width: 5.214vw;
	height: 3.571vw;
	top: 65.429vw;
	left: 34.429vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(12) {
	width: 12.643vw;
	height: 13.643vw;
	top: 69.000vw;
	left: 51.214vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(13) {
	width: 34.071vw;
	height: 24.857vw;
	bottom: 7.071vw;
	right: -4.714vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(14) {
	width: 12.929vw;
	height: 16.214vw;
	bottom: 0.428vw;
	left: 39.500vw;
	z-index: 7;
}
.cnt_09_wrap li:nth-of-type(15) {
	width: 15.357vw;
	height: 12.143vw;
	bottom: 4.428vw;
	right: 7.857vw;
	z-index: 7;
}
.cnt_09_bg {
	width: 100vw;
	height: 32.357vw;
	position: absolute;
	bottom: -1.428vw;
	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;
}

/* ── H3 スクロール入場アニメーション ── */
.cnt_main_wap h3 {
  opacity: 0;
  transform: translateY(20px);
}
.cnt_main_wap h3::before {
  opacity: 0;
}
.cnt_main_wap h3::after {
  opacity: 0;
}
.cnt_main_wap h3.h3-in {
  animation: pc-h3-fade-up 0.5s ease forwards;
}
.cnt_main_wap h3.h3-in::before {
  animation: pc-h3-pseudo-fade-up 0.5s ease 0.3s forwards;
}
.cnt_main_wap h3.h3-in::after {
  animation: pc-h3-pseudo-fade-up 0.5s ease 0.6s forwards;
}
@keyframes pc-h3-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pc-h3-pseudo-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}


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