@charset "UTF-8";
main {
	position: relative;
	overflow-x: clip; /* 画面の右端からはみ出す要素で、横スクロールが出ないように */
}
/*---COMMON---*/
.js [data-anim] {
	opacity: 0;
}
.js [data-anim].is-animated {
	animation-fill-mode: forwards;
}
.js [data-anim="zoomin"].is-animated {
	animation-name: animZoomIn;
	animation-duration: 0.8s;
	animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
}
.js [data-anim="fadein"].is-animated {
	animation-name: animFadeIn;
	animation-duration: 0.7s;
	animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
.js [data-anim="fade-left"].is-animated {
	animation-name: animFadeLeft;
	animation-duration: 1s;
	animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
.js [data-anim="fade-right"].is-animated {
	animation-name: animFadeRight;
	animation-duration: 1s;
	animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
@keyframes animZoomIn {
	0% {
		scale: 0.8;
		opacity: 0;
	}
	100% {
		scale: none;
		opacity: 1;
	}
}
@keyframes animFadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes animFadeLeft {
	0% {
		translate: -30px 0;
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		translate: none;
		opacity: 1;
	}
}
@keyframes animFadeRight {
	0% {
		translate: 30px 0;
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		translate: none;
		opacity: 1;
	}
}
/* 時間差：data-anim-delay="1"〜"3" で0.3秒ずつ遅らせて、順番に出す */
.js [data-anim-delay="1"].is-animated {
	animation-delay: 0.3s;
}
.js [data-anim-delay="2"].is-animated {
	animation-delay: 0.6s;
}
.js [data-anim-delay="3"].is-animated {
	animation-delay: 0.9s;
}
@media (prefers-reduced-motion: reduce) {
	.js [data-anim] {
		opacity: 1;
		animation: none !important;
	}
}
.bracket_start {
	margin-left: -0.5em;
}
.is-skew {
	writing-mode: vertical-rl;
	transform: skewY(10deg);
	position: absolute;
	color: #888888;
	font-size: calc(var(--winW) * 9);
	letter-spacing: calc(5em / 100);
}
/* =========================
   共通：四隅に＋がつく枠
   ========================= */
.cross_frame {
  --cross-color: rgba(255, 255, 255, 0.9); /* ＋の色 */
  --cross-size: 9px;                        /* ＋の大きさ（端から端） */
  --cross-line: 0.5px;                        /* ＋の線の太さ */
  --cross-shift: 0px;                       /* ＋を外側にずらす量 */
  --frame-color: var(--cross-color);        /* 枠の色（transparentで枠なし） */
  --frame-line: var(--cross-line);          /* 枠の太さ */
  position: relative;
}

.cross_frame::before,
.cross_frame::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.cross_frame::before {
  inset: 0;
  border: var(--frame-line) solid var(--frame-color);
}

.cross_frame::after {
  --c: linear-gradient(var(--cross-color), var(--cross-color));
  --p: calc(var(--cross-size) / 2 - var(--cross-line) / 2);

  inset: calc(var(--frame-line) / 2 - var(--cross-size) / 2 - var(--cross-shift));

  background:
    var(--c) left 0 top var(--p)     / var(--cross-size) var(--cross-line) no-repeat,
    var(--c) right 0 top var(--p)    / var(--cross-size) var(--cross-line) no-repeat,
    var(--c) left 0 bottom var(--p)  / var(--cross-size) var(--cross-line) no-repeat,
    var(--c) right 0 bottom var(--p) / var(--cross-size) var(--cross-line) no-repeat,
    var(--c) left var(--p) top 0     / var(--cross-line) var(--cross-size) no-repeat,
    var(--c) right var(--p) top 0    / var(--cross-line) var(--cross-size) no-repeat,
    var(--c) left var(--p) bottom 0  / var(--cross-line) var(--cross-size) no-repeat,
    var(--c) right var(--p) bottom 0 / var(--cross-line) var(--cross-size) no-repeat;
}

@media only screen and (min-width: 769px) {
	.is-skew {
		writing-mode: unset;
		transform: skewX(-10deg);
		font-size: calc(var(--winW) * 12);
	}
}
/*---nav---*/

.float-nav {
	position: fixed;
	left: 50%;
	bottom: calc(var(--winW) * 10);
	z-index: 100;
	width: calc(var(--winW) * 345);
	height: calc(var(--winW) * 40);
	background-color: #C3012F;
	transform: translate(-50%, calc(100% + var(--winW) * 20));
	visibility: hidden;
	transition: transform 0.4s ease, visibility 0.4s;
}
.float-nav.is-show {
	transform: translate(-50%, 0);
	visibility: visible;
}
.float-nav ul {
	display: flex;
	height: 100%;
	padding: 0 calc(var(--winW) * 10);
}
.float-nav li {
	flex: 1 1 0%;
}
.float-nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(var(--winW) * 9);
	height: 100%;
	color: #ffffff;
	font-size: calc(var(--winW) * 10);
	letter-spacing: calc(10em / 100);
	line-height: 1;
	white-space: nowrap;
}

/* アイコンはSVGの形でマスクして色を塗る（通常は白、ホバーで赤） */
.float-nav_icon {
	display: block;
	flex-shrink: 0;
	background-color: #ffffff;
	-webkit-mask: var(--icon) center / contain no-repeat;
	mask: var(--icon) center / contain no-repeat;
	transition: background-color 0.3s;
}
.icon_selfsim {
	--icon: url("../IMAGES/icon_car.svg");
	width: calc(var(--winW) * 13 * 62 / 52);
	height: calc(var(--winW) * 13);
}
.icon_lineup {
	--icon: url("../IMAGES/icon_line_up.svg");
	width: calc(var(--winW) * 11 * 31 / 16);
	height: calc(var(--winW) * 11);
}
.icon_testdrive {
	--icon: url("../IMAGES/icon_shop.svg");
	width: calc(var(--winW) * 16 * 72 / 52);
	height: calc(var(--winW) * 16);
	margin: 0 calc(var(--winW) * -3);
}
.float-nav a {
	transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
}
/* ホバー：背景を白、文字を黒、アイコンを赤に */
@media (hover: hover) {
	.float-nav a:hover {
		background-color: #ffffff;
		color: #000000;
	}
	/* 両端は ul の左右の余白（10）まで白で埋める。
	   影の長さは最初から固定し、色だけを透明→白に変えて背景と同時にフェードさせる */
	.float-nav li:first-child a {
		box-shadow: calc(var(--winW) * -10) 0 0 rgba(255, 255, 255, 0);
	}
	.float-nav li:last-child a {
		box-shadow: calc(var(--winW) * 10) 0 0 rgba(255, 255, 255, 0);
	}
	.float-nav li:first-child a:hover {
		box-shadow: calc(var(--winW) * -10) 0 0 #ffffff;
	}
	.float-nav li:last-child a:hover {
		box-shadow: calc(var(--winW) * 10) 0 0 #ffffff;
	}
	.float-nav a:hover .float-nav_icon {
		background-color: #C3012F;
	}
}

@media only screen and (min-width: 769px) {
	.float-nav {
		right: calc(var(--winW) * 20);
		left: unset;
		bottom: calc(var(--winW) * 10);
		width: calc(var(--winW) * 690);
		height: calc(var(--winW) * 60);
		background-color: #C3012F;
		transform: translate(0, calc(100% + var(--winW) * 30)); /* 右寄せなので横方向の-50%は不要 */
	}
	.float-nav.is-show {
		transform: translate(0, 0);
	}
	.float-nav a {
		gap: calc(var(--winW) * 14);
		font-size: calc(var(--winW) * 16);
	}
	.icon_selfsim {
		width: calc(var(--winW) * 20 * 62 / 52);
		height: calc(var(--winW) * 20);
	}
	.icon_lineup {
		width: calc(var(--winW) * 17 * 31 / 16);
		height: calc(var(--winW) * 17);
	}
	.icon_testdrive {
		width: calc(var(--winW) * 23 * 72 / 52);
		height: calc(var(--winW) * 23);
		margin: 0 calc(var(--winW) * -5);
	}
}
/*---KV---*/
.kv {
	position: relative;
	height: calc(var(--winW) * 800);
	padding-top: calc(var(--winW) * 80);
}
.kv h1 {
	font-size: calc(var(--winW) * 25);
	letter-spacing: calc(35em / 100);
	line-height: 1.8;
	color: #fff;
	text-align: center;
}

.kv_period {
	letter-spacing: 0;
	margin-right: -0.5em;
}

.kv_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: -1;
}
.kv_logo {
	position: absolute;
	top: calc(var(--winW) * 360);
	left: calc(var(--winW) * 40);
	width: calc(var(--winW) * 240);
}
.kv_label {
	position: absolute;
	top: calc(var(--winW) * 398);
	left: 0;
	width: calc(var(--winW) * 300);
	padding: calc(var(--winW) * 1.5) 0 calc(var(--winW) * 1.5) calc(var(--winW) * 23);
	background-color: #000;
}
.kv_label p {
	font-size: calc(var(--winW) * 15);
	letter-spacing: calc(20em / 100);
	line-height: 2;
	color: #fff;
	text-align: center;
	transform: skewX(-10deg);
}
.kv_label p span {
	letter-spacing: calc(5em / 100);
}
.kv_tags {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  top: calc(var(--winW) * 446);
  left: calc(var(--winW) * 38);
  gap: calc(var(--winW) * 11) calc(var(--winW) * 12);
  margin: 0;
  padding: 0;
  list-style: none;
}
.kv_tag {
  --cross-color: rgba(255, 255, 255, 0.9);
  --cross-size: calc(var(--winW) * 6);
  --cross-shift: calc(var(--winW) * 0.5);
  padding: calc(var(--winW) * 3) calc(var(--winW) * 6);
  font-size: calc(var(--winW) * 10);
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #000;
  background: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}
/* ラベルとタグのフェードインは、通常（0.7s）の倍の時間でゆっくり表示する（強めのイーズアウト：easeOutQuint） */
.js .kv_label.is-animated,
.js .kv_tags.is-animated {
	animation-duration: 1.4s;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.kv_statement {
	position: absolute;
	bottom: calc(var(--winW) * -270);
	left: calc(var(--winW) * 25);
	font-size: calc(var(--winW) * 15);
	letter-spacing: calc(10em / 100);
	line-height: 2.8;
	color: #fff;
	z-index: 2;
	text-align: left;
}
/* SCROLLの枠：KVと同じ高さ。SCROLLは枠の一番下に置く */
.kv_scroll_wrap {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	pointer-events: none;
}
/* 画面の下に追従し（sticky）、KVの下端まで来たらそこで止まる */
.kv_scroll {
	--scroll-h: calc(var(--winW) * 99);
	--scroll-bottom: 0px; /* 下端からの距離 */
	position: sticky;
	bottom: var(--scroll-bottom);
	margin-left: calc(var(--winW) * 12);
	display: flex;
	align-items: flex-end;
}
.kv_scroll_text {
	writing-mode: vertical-rl;
	font-size: calc(var(--winW) * 9);
	letter-spacing: calc(10em / 100);
	margin-bottom: calc(var(--winW) * 5);
	line-height: 1;
	color: #fff;
}
.kv_scroll_line {
	position: relative;
	width: calc(var(--winW) * 5 + 1px); /* ハネが右に出るぶんの幅 */
	margin-left: calc(var(--winW) * 5); /* 文字との間隔 */
	height: var(--scroll-h);
	overflow: hidden;
}
.kv_scroll_line::before,
.kv_scroll_line::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 1px;
	background-color: #fff;
	animation: kvScrollArrow 2.5s ease-in-out infinite;
}
.kv_scroll_line::before {
	height: 100%;
}
.kv_scroll_line::after {
	height: calc(var(--winW) * 10);
	transform: rotate(30deg);
	transform-origin: bottom center;
}
.sp_only_area {
	position: relative;
	height: calc(var(--winW) * 359);
	margin-top: -2px;
	background-color: #181818;
}
.sp_only_area p {
	position: absolute;
	top: calc(var(--winW) * 20.5);
	right: calc(var(--winW) * 2);
	writing-mode: vertical-rl;
	transform: skewY(10deg);
	color: transparent;
	-webkit-text-stroke: 0.5px #555555; 
	font-size: calc(var(--winW) * 40);
	letter-spacing: calc(5em / 100);
}
@keyframes kvScrollArrow {
	0% {
		translate: 0 calc(var(--scroll-h) * -1);
	}
	30% {
		translate: 0 0;
	}
	70%,
	100% {
		translate: 0 var(--scroll-h);
	}
}

/* SP：画面の高さが足りない端末では、KVを画面の高さに収める
   KV内の単位（--winW）を「画面幅 / 375」と「画面の高さ / 800」の小さいほうにして、KV全体をデザインの比率のまま縮小する。
   横幅は100%のまま、左右に広げたKV画像（kv_sp：918×1598）で左右を埋める。
   画像上の文字は、画像の中央（元デザインの375幅ぶん）に合わせて左右位置をずらす。 */
@media only screen and (max-width: 768px) {
	.kv {
		--pageW: calc(100vw / 375); /* ページ全体の単位（KV外と揃える用） */
		--winW: min(calc(100vw / 375), calc(100vh / 800));
		--winW: min(calc(100vw / 375), calc(100svh / 800));
		--kv-ox: calc((100vw - var(--winW) * 375) / 2); /* 元デザインの375幅を中央に置いたときの左端 */
	}
	.kv picture {
		position: absolute;
		inset: 0;
		z-index: -1;
		overflow: hidden;
	}
	.kv_img {
		height: 100%;
		object-fit: cover;
	}
	.kv_logo {
		left: calc(var(--winW) * 40 + var(--kv-ox));
	}
	.kv_label {
		width: calc(var(--winW) * 300 + var(--kv-ox));
		padding-left: calc(var(--winW) * 23 + var(--kv-ox));
	}
	.kv_tags {
		left: calc(var(--winW) * 38 + var(--kv-ox));
		width: calc(var(--winW) * 337); /* 元デザインと同じ位置で折り返す */
	}
	/* リード文はKVの下の黒いエリアに置いているので、ページ全体の単位で配置する */
	.kv_statement {
		bottom: calc(var(--pageW) * -270);
		left: calc(var(--pageW) * 25);
		font-size: calc(var(--pageW) * 15);
		width: max-content; /* KVが縮んでも改行位置が変わらないように */
	}
}

@media only screen and (min-width: 769px) {
	.kv {
		height: calc(var(--winW) * 960);
		padding-top: calc(var(--winW) * 135);
	}
	.kv h1 {
		font-size: calc(var(--winW) * 34);
		line-height: 1;
	}
	.kv_logo {
		position: absolute;
		top: calc(var(--winW) * 210);
		left: calc(var(--winW) * 650);
		width: calc(var(--winW) * 300);
	}
	.kv_label {
		position: absolute;
		top: calc(var(--winW) * 271);
		left: calc(var(--winW) * 631);
		width: calc(var(--winW) * 340);
		padding: 0;
	}
	.kv_label p {
		font-size: calc(var(--winW) * 18);
	}
	.kv_tags {
		width: calc(var(--winW) * 340);
		top: calc(var(--winW) * 320);
		left: calc(var(--winW) * 631);
		gap: calc(var(--winW) * 11) calc(var(--winW) * 15);
	}
	.kv_tag {
	  --cross-size: calc(var(--winW) * 6);
	  font-size: calc(var(--winW) * 12);
	}
	.kv_statement {
		position: absolute;
		bottom: calc(var(--winW) * 55);
		left: calc(var(--winW) * 462);
		font-size: calc(var(--winW) * 18);
		letter-spacing: calc(30em / 100);
		line-height: 2;
		text-align: center;
	}
	.kv_scroll {
		--scroll-h: calc(var(--winW) * 165);
		--scroll-bottom: calc(var(--winW) * 5);
		margin-left: calc(var(--winW) * 76);
	}
	.kv_scroll_text {
		font-size: calc(var(--winW) * 12);
		margin-bottom: calc(var(--winW) * 20);
	}
	.kv_scroll_line {
		width: calc(var(--winW) * 6 + 1px);
		margin-left: calc(var(--winW) * 7);
	}
	.kv_scroll_line::after {
		height: calc(var(--winW) * 12);
	}
}

/*---MOVIE_area---*/
.tie_up_movie {
	background-color: #000000;
	margin-top: -1px;
	overflow-x: clip; /* 横から出てくるアニメーション中に横スクロールが出ないように */
}
/*---共通---*/
.movie {
	position: relative;
}
.movie_number {
	position: absolute;
	transform: skewX(-10deg);
	color: transparent;
	-webkit-text-stroke: 1px #888888;
	font-size: calc(var(--winW) * 120);
	letter-spacing: calc(-5em / 100);
}
.movie_en {
	position: absolute;
	transform: skewX(-5deg);
	color: #888888;
	font-size: calc(var(--winW) * 10);
	letter-spacing: calc(10em / 100);
	line-height: 1.2;
	text-align: right;
}
.movie_head {

}
.statement {
	transform: skewX(-5deg);
	color: #dddddd;
	font-size: calc(var(--winW) * 16);
	letter-spacing: calc(10em / 100);
	line-height: 1.8;
}
.movie_tmb_area {
	position: relative;
	width: calc(var(--winW) * 350);
}
.movie_tmb {
	display: block;
	width: 100%;
	height: auto;
}
/* サムネイル（押すと動画モーダルが開く） */
.movie_play {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
}
/* 再生ボタン（すりガラスの円＋白い三角） */
.play_icon {
	position: absolute;
	right: calc(var(--winW) * 10);
	bottom: calc(var(--winW) * -38);
	width: calc(var(--winW) * 75);
	height: calc(var(--winW) * 75);
	border: 1px solid #ffffff;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.2);
	-webkit-backdrop-filter: blur(7.5px);
	backdrop-filter: blur(7.5px);
	transition: border-color 0.3s;
}
.play_icon::before {
	content: "";
	position: absolute;
	top: 41.34%;
	left: 40.33%;
	width: 29%;
	height: 17.32%;
	background-color: #ffffff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transition: background-color 0.3s;
}
/* ホバー：再生ボタンの枠・三角と「PLAY MOVIE」を赤に */
@media (hover: hover) {
	.movie_play:hover .play_icon {
		border-color: #C3012F;
	}
	.movie_play:hover .play_icon::before {
		background-color: #C3012F;
	}
	.movie_play:hover .play_txt {
		color: #C3012F;
	}
}
.tmb_en {
	position: absolute;
	writing-mode: vertical-rl;
	white-space: nowrap;
	transform: skewY(10deg);
	color: #888888;
	font-size: calc(var(--winW) * 9);
	letter-spacing: calc(5em / 100);
}
.movie_text {

}
.point {
	transform: skewX(-10deg);
	font-size: calc(var(--winW) * 16);
	letter-spacing: calc(15em / 100);
	line-height: 2;
	color: #ffffff;
}
/* 見出しの前後にダブルクオーテーションを付ける（本文と差別化するため、太い欧文書体で表示） */
.point::before,
.point::after {
	display: inline-block;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: bold;
	font-size: 1em;
	line-height: 0;
	letter-spacing: 0;
	vertical-align: 0.05em;
	transform: skewX(10deg); /* 見出しの斜体を打ち消して、記号はまっすぐにする */
}
.point::before {
	content: "\201C";
	content: "\201C" / "";
	margin-right: 0.1em;
}
.point::after {
	content: "\201D";
	content: "\201D" / "";
	margin-left: -0.05em; /* 最後の文字の字間ぶんを詰める */
}
.detail {
	font-size: calc(var(--winW) * 12.5);
	letter-spacing: calc(5em / 100);
	line-height: 1.8;
	color: #dddddd;
}
.report_link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(var(--winW) * 345);
	padding: calc(var(--winW) * 17) calc(var(--winW) * 22) calc(var(--winW) * 17) calc(var(--winW) * 25);
	border-bottom: 1px solid #C3012F;
	background-color: #222222;
	color: #ffffff;
	transition: background-color 0.3s;
}
.report_link_txt {
	font-size: calc(var(--winW) * 14);
	letter-spacing: calc(10em / 100);
	line-height: 1;
}
.report_link_more {
	display: flex;
	transform: skewX(-10deg);
	align-items: center;
	gap: calc(var(--winW) * 18);
	font-size: calc(var(--winW) * 10);
	letter-spacing: calc(10em / 100);
	line-height: 1;
	color: #dddddd;
}
.report_link_more::after {
	content: "";
	width: calc(var(--winW) * 14);
	height: calc(var(--winW) * 9);
	background-color: #C3012F;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transition: background-color 0.3s;
}
/* ホバー：背景を #C3012F の50%に、三角を白に */
@media (hover: hover) {
	.report_link:hover {
		background-color: rgba(195, 1, 47, 0.5);
	}
	.report_link:hover .report_link_more::after {
		background-color: #ffffff;
	}
}
@media only screen and (min-width: 769px) {
	.movie_number {
		-webkit-text-stroke: 2px #888888;
		font-size: calc(var(--winW) * 200);
	}
	.movie_en {
		position: absolute;
		transform: skewX(-10deg);
		color: #888888;
		font-size: calc(var(--winW) * 10);
		letter-spacing: calc(10em / 100);
		line-height: 1.2;
		text-align: right;
	}
	.movie_head {

	}
	.statement {
		font-size: calc(var(--winW) * 22);
	}
	.movie_tmb_area {
		width: calc(var(--winW) * 900);
	}
	.movie_tmb {

	}
	.play_icon {
		right: calc(var(--winW) * 39);
		bottom: calc(var(--winW) * -75);
		width: calc(var(--winW) * 150);
		height: calc(var(--winW) * 150);
	}
	.play_txt {
		position: absolute;
		top: calc(100% + var(--winW) * 10);
		right: calc(var(--winW) * 206);
		transform: skewX(-10deg);
		color: #ffffff;
		font-size: calc(var(--winW) * 12);
		letter-spacing: calc(5em / 100);
		line-height: 2;
		transition: color 0.3s;
	}
	.tmb_en {
		writing-mode: unset;
		transform: skewX(-10deg);
		font-size: calc(var(--winW) * 12);
	}
	.movie_text {
		width: calc(var(--winW) * 460);
	}
	.point {
		font-size: calc(var(--winW) * 20);
	}
	.detail {
		font-size: calc(var(--winW) * 16);
		line-height: 2.2;
	}
	.report_link {
		width: calc(var(--winW) * 460);
		padding: calc(var(--winW) * 31) calc(var(--winW) * 40) calc(var(--winW) * 31) calc(var(--winW) * 33);
	}
	.report_link_txt {
		font-size: calc(var(--winW) * 16);
	}
	.report_link_more {
		gap: calc(var(--winW) * 22);
		font-size: calc(var(--winW) * 12);
	}
	.report_link_more::after {
		width: calc(var(--winW) * 17);
		height: calc(var(--winW) * 11);
	}
}
/*---動画モーダル（Modaal）---*/
/* サイズは https://www2.nissan.co.jp/SP/TESTDRIVECP/ の #movie を参考に、16:9で表示 */
/* SPは左右の余白を4だけにして、横幅いっぱいに表示 */
.modaal-video .modaal-inner-wrapper {
	padding-left: 0;
	padding-right: 0;
}
.modaal-video-wrap {
	margin: auto calc(var(--winW) * 4);
}
.modaal-video-container {
	width: 100%;
	max-width: none;
	height: auto !important;
	max-height: none !important;
	padding-bottom: 0 !important;
	aspect-ratio: 16 / 9;
}
/* 縦長動画（ショート）は9:16。画面の高さ（上下の余白80px×2を除く）に収まる幅にする */
.modaal-wrapper.is-vertical .modaal-video-container {
	width: min(90vw, calc((100vh - 160px) * 9 / 16));
	aspect-ratio: 9 / 16;
}
@media only screen and (min-width: 769px) {
	.modaal-video-wrap {
		margin: auto;
	}
	.modaal-video-container {
		/* 画面幅の80%。画面の高さが足りないときは、上下の余白(80px×2)に収まる幅まで縮める */
		width: min(80vw, calc((100vh - 160px) * 16 / 9));
	}
}

/*---グリッド線（Figma: X-trail_movie の line / vertical / horizon / Vector）---*/
/* 線は .movie の疑似要素と、サムネイル基準の疑似要素で描画する。
   SP：上の横線・＋・赤線はサムネイル上端基準、下の横線・＋はセクション下端基準。
   PC：すべてセクション基準。
   ＋は線の1pxを中心に上下左右対称。位置は round() で整数pxに丸めて、にじみを防ぐ（round() 非対応の古いブラウザでは線は表示されない）。 */
.movie {
	--g-line: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)); /* 線 */
	--g-plus: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)); /* ＋ */
	--g-red: linear-gradient(#C3012F, #C3012F);                                     /* 赤線 */
	z-index: 0; /* 疑似要素(z-index:-1)をコンテンツの背面に置くため */
}
.movie::before,
.movie::after,
.movie_tmb_area::before,
.movie_05 .movie_head::before {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
}
/* 05の上の線はカード上端（.movie_head 基準）で配置する */
.movie_05 .movie_head {
	position: relative;
}
.movie::before {
	top: calc(round(calc(var(--winW) * 5), 1px) * -1);
	bottom: round(calc(var(--winW) * 5), 1px);
	left: 0;
	right: 0;
	background: var(--g-line) left round(calc(var(--winW) * 15), 1px) top 0 / 1px 100% no-repeat;
}
.movie_01::before {
	top: 0;
}
.movie_02::before,
.movie_04::before {
	background-position: round(calc(var(--winW) * 360), 1px) 0;
}
/* SP：下の横線と＋（線はセクション下端から5） */
.movie::after {
	left: 0;
	right: 0;
	bottom: 0;
	height: calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px);
	background:
		var(--g-plus) left calc(round(calc(var(--winW) * 15), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 360), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-line) left 0 top round(calc(var(--winW) * 5), 1px) / 100% 1px no-repeat;
}
/* SP：上の横線・＋・赤線（赤線はサムネイル上端まで） */
.movie_01 .movie_tmb_area::before {
	bottom: 100%;
	left: 0;
	width: round(calc(var(--winW) * 375), 1px);
	height: calc(round(calc(var(--winW) * 180), 1px) + round(calc(var(--winW) * 5), 1px) + 1px);
	background:
		var(--g-red) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) + 1px) / 1px round(calc(var(--winW) * 180), 1px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 15), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 360), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-line) left 0 top round(calc(var(--winW) * 5), 1px) / 100% 1px no-repeat;
}
.movie_02 .movie_tmb_area::before {
	bottom: 100%;
	left: calc(var(--winW) * -25);
	width: round(calc(var(--winW) * 375), 1px);
	height: calc(round(calc(var(--winW) * 180), 1px) + round(calc(var(--winW) * 5), 1px) + 1px);
	background:
		var(--g-red) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) + 1px) / 1px round(calc(var(--winW) * 180), 1px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 15), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 360), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-line) left 0 top round(calc(var(--winW) * 5), 1px) / 100% 1px no-repeat;
}
.movie_03 .movie_tmb_area::before {
	bottom: 100%;
	left: 0;
	width: round(calc(var(--winW) * 375), 1px);
	height: calc(round(calc(var(--winW) * 190), 1px) + round(calc(var(--winW) * 5), 1px) + 1px);
	background:
		var(--g-red) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) + 1px) / 1px round(calc(var(--winW) * 190), 1px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 15), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 360), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-line) left 0 top round(calc(var(--winW) * 5), 1px) / 100% 1px no-repeat;
}
.movie_04 .movie_tmb_area::before {
	bottom: 100%;
	left: calc(var(--winW) * -25);
	width: round(calc(var(--winW) * 375), 1px);
	height: calc(round(calc(var(--winW) * 180), 1px) + round(calc(var(--winW) * 5), 1px) + 1px);
	background:
		var(--g-red) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) + 1px) / 1px round(calc(var(--winW) * 180), 1px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 15), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 360), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-line) left 0 top round(calc(var(--winW) * 5), 1px) / 100% 1px no-repeat;
}
/* 05はカード上端（= .movie_head 下端からカード300＋余白27）基準 */
.movie_05 .movie_head::before {
	bottom: calc(var(--winW) * 327);
	left: 0;
	width: round(calc(var(--winW) * 375), 1px);
	height: calc(round(calc(var(--winW) * 154), 1px) + round(calc(var(--winW) * 5), 1px) + 1px);
	background:
		var(--g-red) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) + 1px) / 1px round(calc(var(--winW) * 154), 1px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 15), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 15), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-plus) left calc(round(calc(var(--winW) * 360), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 5), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) 0.5px no-repeat,
		var(--g-plus) left round(calc(var(--winW) * 360), 1px) top calc(round(calc(var(--winW) * 5), 1px) - round(calc(var(--winW) * 5), 1px)) / 0.5px calc(round(calc(var(--winW) * 5), 1px) * 2 + 0.5px) no-repeat,
		var(--g-line) left 0 top round(calc(var(--winW) * 5), 1px) / 100% 1px no-repeat;
}
@media only screen and (min-width: 769px) {
	/* PC：サムネイル基準の疑似要素は使わない */
	.movie_tmb_area::before,
	.movie_05 .movie_head::before,
	.movie::after {
		content: none;
	}
	/* PC：縦線3本・横線3本・＋・赤線をまとめて描画 */
	.movie::before,
	.movie_02::before,
	.movie_04::before {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
	}
	/* 01はFigmaより19px下から始まるため、上側の線を19px上に補正 */
	.movie_01::before {
		background:
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 131), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) top calc(round(calc(var(--winW) * 131), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 960), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 131), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 960), 1px) top calc(round(calc(var(--winW) * 131), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 960), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 960), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 131), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) top calc(round(calc(var(--winW) * 131), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-red) left round(calc(var(--winW) * 1539), 1px) top round(calc(var(--winW) * 137), 1px) / 1px round(calc(var(--winW) * 200), 1px) no-repeat,
			var(--g-line) left round(calc(var(--winW) * 60), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 960), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 1539), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left 0 top round(calc(var(--winW) * 131), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom round(calc(var(--winW) * 32), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom 0 / 100% 1px no-repeat;
	}
	.movie_02::before {
		background:
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 639), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 639), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 639), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 639), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-red) left round(calc(var(--winW) * 60), 1px) top round(calc(var(--winW) * 157), 1px) / 1px round(calc(var(--winW) * 250), 1px) no-repeat,
			var(--g-line) left round(calc(var(--winW) * 60), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 639), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 1539), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left 0 top round(calc(var(--winW) * 151), 1px) / 100% 1px no-repeat,
			var(--g-line) left round(calc(var(--winW) * 979), 1px) top round(calc(var(--winW) * 219), 1px) / round(calc(var(--winW) * 580), 1px) 1px no-repeat,
			var(--g-line) left 0 bottom round(calc(var(--winW) * 32), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom 0 / 100% 1px no-repeat;
	}
	.movie_03::before {
		background:
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 960), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 960), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 960), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 960), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-red) left round(calc(var(--winW) * 1539), 1px) top round(calc(var(--winW) * 151), 1px) / 1px round(calc(var(--winW) * 220), 1px) no-repeat,
			var(--g-line) left round(calc(var(--winW) * 60), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 960), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 1539), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left 0 top round(calc(var(--winW) * 151), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom round(calc(var(--winW) * 32), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom 0 / 100% 1px no-repeat;
	}
	.movie_04::before {
		background:
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 639), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 639), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 639), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 639), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 151), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) top calc(round(calc(var(--winW) * 151), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-red) left round(calc(var(--winW) * 60), 1px) top round(calc(var(--winW) * 157), 1px) / 1px round(calc(var(--winW) * 250), 1px) no-repeat,
			var(--g-line) left round(calc(var(--winW) * 60), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 639), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 1539), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left 0 top round(calc(var(--winW) * 151), 1px) / 100% 1px no-repeat,
			var(--g-line) left round(calc(var(--winW) * 979), 1px) top round(calc(var(--winW) * 219), 1px) / round(calc(var(--winW) * 580), 1px) 1px no-repeat,
			var(--g-line) left 0 bottom round(calc(var(--winW) * 32), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom 0 / 100% 1px no-repeat;
	}
	.movie_05::before {
		background:
			var(--g-plus) left calc(round(calc(var(--winW) * 60), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 60), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 960), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 150), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 960), 1px) top calc(round(calc(var(--winW) * 150), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 960), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 960), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) top round(calc(var(--winW) * 150), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) top calc(round(calc(var(--winW) * 150), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-plus) left calc(round(calc(var(--winW) * 1539), 1px) - round(calc(var(--winW) * 5), 1px)) bottom round(calc(var(--winW) * 32), 1px) / calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) 1px no-repeat,
			var(--g-plus) left round(calc(var(--winW) * 1539), 1px) bottom calc(round(calc(var(--winW) * 32), 1px) - round(calc(var(--winW) * 5), 1px)) / 1px calc(round(calc(var(--winW) * 5), 1px) * 2 + 1px) no-repeat,
			var(--g-red) left round(calc(var(--winW) * 1539), 1px) top round(calc(var(--winW) * 150), 1px) / 1px round(calc(var(--winW) * 210), 1px) no-repeat,
			var(--g-line) left round(calc(var(--winW) * 60), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 960), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left round(calc(var(--winW) * 1539), 1px) top 0 / 1px 100% no-repeat,
			var(--g-line) left 0 top round(calc(var(--winW) * 150), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom round(calc(var(--winW) * 32), 1px) / 100% 1px no-repeat,
			var(--g-line) left 0 bottom 0 / 100% 1px no-repeat;
	}
}

/*---movie_01---*/
.movie_01 {
	padding: calc(var(--winW) * 50) 0 calc(var(--winW) * 40);
}
.movie_01 .movie_number {
	top: calc(var(--winW) * -50);
	left: calc(var(--winW) * 10);
}
.movie_01 .movie_en {
	top: calc(var(--winW) * 10);
	right: calc(var(--winW) * 15);
}
.movie_01 .movie_head {

}
.movie_01 .statement {
	margin-left: calc(var(--winW) * 36);
	margin-bottom: calc(var(--winW) * 47.3);

}
.movie_01 .movie_tmb_area {

}
.movie_01 .movie_tmb {
	
}
.movie_01 .tmb_en {
	top: calc(var(--winW) * 2);
	right: calc(var(--winW) * -15);
}
.tmb1_en {
	position: absolute;
	width: calc(var(--winW) * 105);
	top: calc(var(--winW) * -20);
	right: calc(var(--winW) * 10);
}
.movie_01 .movie_text {
	padding-top: calc(var(--winW) * 38);
}
.movie_01 .point {
	margin-left: calc(var(--winW) * 40);
}
.movie_01 .detail {
	margin: calc(var(--winW) * 12.5) 0  calc(var(--winW) * 34);
	padding: 0 calc(var(--winW) * 10) 0 calc(var(--winW) * 40);
}
.movie_01 .report_link {
	margin: 0 calc(var(--winW) * 15);
}
@media only screen and (min-width: 769px) {
	.movie_01 {
		padding: calc(var(--winW) * 200) 0 calc(var(--winW) * 75);
	}
	.movie_01 .movie_number {
		top: 0;
		left: unset;
		right: calc(var(--winW) * 416);
	}
	.movie_01 .movie_en {
		top: calc(var(--winW) * 170);
		right: calc(var(--winW) * 70);
	}
	.movie_01 .movie_head {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		padding-left: calc(var(--winW) * 60);
		gap: calc(var(--winW) * 40);
	}
	.movie_01 .statement {
		margin-left: 0;
		margin-bottom:0;

	}
	.movie_01 .movie_tmb_area {

	}
	.movie_01 .movie_tmb {

	}
	.movie_01 .tmb_en {
		top: unset;
		right: unset;
		bottom: calc(var(--winW) * -25);
		left: calc(var(--winW) * 15);
	}
	.tmb1_en {
		width: calc(var(--winW) * 240);
		top: calc(var(--winW) * -40);
		right: calc(var(--winW) * 20);
	}
	.movie_01 .movie_text {
		padding-top: unset;
		position: absolute;
		top: calc(var(--winW) * 384);
		right: calc(var(--winW) * 120);
	}
	.movie_01 .point {
		margin-left: unset;
	}
	.movie_01 .detail {
		margin: calc(var(--winW) * 20) 0  calc(var(--winW) * 80);
		padding: unset;
	}
	.movie_01 .report_link {
		margin: unset;
	}
}
/*---movie_02---*/
.movie_02 {
	padding: calc(var(--winW) * 140) 0 calc(var(--winW) * 40);
}
.movie_02 .movie_number {
	top: calc(var(--winW) * 30);
	right: calc(var(--winW) * 20);
}
.movie_02 .movie_en {
	top: calc(var(--winW) * 107);
	right: calc(var(--winW) * 8);
}
.movie_02 .movie_head {

}
.movie_02 .statement {
	margin: 0 0 calc(var(--winW) * 17) calc(var(--winW) * 29);
}
.movie_02 .movie_tmb_area {
	margin-left: calc(var(--winW) * 25);
}
.movie_02 .movie_tmb {

}
.movie_02 .tmb_en {
	top: calc(var(--winW) * 2);
	left: calc(var(--winW) * -17);
}
.movie_02 .movie_text {
	padding-top: calc(var(--winW) * 38);
}
.movie_02 .point {
	margin-left: calc(var(--winW) * 25);
}
.movie_02 .detail {
	margin: calc(var(--winW) * 12.5) 0 0;
	padding: 0 calc(var(--winW) * 25) 0;
}
@media only screen and (min-width: 769px) {
	.movie_02 {
		padding: calc(var(--winW) * 220) 0 calc(var(--winW) * 75);
	}
	.movie_02 .movie_number {
		top: calc(var(--winW) * 20);
		right: unset;
		left: calc(var(--winW) * 55);
	}
	.movie_02 .movie_en {
		top: calc(var(--winW) * 190);
		right: calc(var(--winW) * 970);
	}
	.movie_02 .movie_head {
		display: flex;
		justify-content: flex-end;
		margin-right: calc(var(--winW) * 60);
		gap: calc(var(--winW) * 145);
	}
	.movie_02 .statement {
		margin: unset;
	}
	.movie_02 .movie_tmb_area {
		margin-left: unset;
	}
	.movie_02 .movie_tmb {

	}
	.movie_02 .tmb_en {
		top: unset;
		bottom: calc(var(--winW) * -25);
		left: calc(var(--winW) * 15);
	}
	.movie_02 .movie_text {
		position: absolute;
		padding-top: unset;
		top: calc(var(--winW) * 420.5);
		left: calc(var(--winW) * 125);
	}
	.movie_02 .point {
		margin-left: unset;
	}
	.movie_02 .detail {
		margin: calc(var(--winW) * 12.5) 0 0;
		padding: unset;
	}
}

/*---movie_03---*/
.movie_03 {
	padding: calc(var(--winW) * 155) 0 calc(var(--winW) * 30);
}
.movie_03 .movie_number {
	top: calc(var(--winW) * 45);
	left: calc(var(--winW) * 10);
}
.movie_03 .movie_en {
	top: calc(var(--winW) * 107);
	right: calc(var(--winW) * 15);
}
.movie_03 .movie_head {

}
.movie_03 .statement {
	margin-left: calc(var(--winW) * 36);
	margin-bottom: calc(var(--winW) * 18);
}
.statement_min {
	font-size: calc(var(--winW) * 13);
}
.movie_03 .movie_tmb_area {
	position: relative;
}
.movie_03 .movie_tmb {

}
.movie_03 .tmb_en {
	top: calc(var(--winW) * -7);
	right: calc(var(--winW) * -15);
}
.movie_03 .movie_text {
	padding-top: calc(var(--winW) * 38);
}
.movie_03 .point {
	margin-left: calc(var(--winW) * 40);
}
.movie_03 .detail {
	margin: calc(var(--winW) * 12.5) 0 0;
	padding: 0 calc(var(--winW) * 10) 0 calc(var(--winW) * 40);
}
@media only screen and (min-width: 769px) {
	.movie_03 {
		padding: calc(var(--winW) * 220) 0 calc(var(--winW) * 75);
	}
	.movie_03 .movie_number {
		top: calc(var(--winW) * 23);
		left: unset;
		right: calc(var(--winW) * 371);
	}
	.movie_03 .movie_en {
		top: calc(var(--winW) * 193);
		right: calc(var(--winW) * 70);
	}
	.movie_03 .movie_head {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		padding-left: calc(var(--winW) * 60);
		gap: calc(var(--winW) * 40);
	}
	.movie_03 .statement {
		margin-left: 0;
		margin-bottom: 0;
	}
	.statement_min {
		font-size: calc(var(--winW) * 18);
	}
	.movie_03 .movie_tmb_area {
		position: relative;
	}
	.movie_03 .movie_tmb {

	}
	.movie_03 .tmb_en {
		top: unset;
		right: unset;
		bottom: calc(var(--winW) * -25);
		left: calc(var(--winW) * 15);
	}
	.movie_03 .movie_text {
		padding-top: unset;
		position: absolute;
		top: calc(var(--winW) * 408.5);
		right: calc(var(--winW) * 120);
	}
	.movie_03 .point {
		margin-left: unset;
	}
	.movie_03 .detail {
		margin: calc(var(--winW) * 12.5) 0 0;
		padding: unset;
	}
}


/*---movie_04---*/
.movie_04 {
	padding: calc(var(--winW) * 150) 0 calc(var(--winW) * 30);
}
.movie_04 .movie_number {
	top: calc(var(--winW) * 29);
	right: calc(var(--winW) * 23);
}
.movie_04 .movie_en {
	top: calc(var(--winW) * 107);
	right: calc(var(--winW) * 15);
}
.movie_04 .movie_head {

}
.movie_04 .statement {
	margin: 0 0 calc(var(--winW) * 29) calc(var(--winW) * 27.4);
}
.movie_04 .movie_tmb_area {
	margin-left: calc(var(--winW) * 25);
}
.movie_04 .movie_tmb {

}
.movie_04 .tmb_en {
	top: calc(var(--winW) * 2);
	left: calc(var(--winW) * -17);
}
.movie_04 .movie_text {
	padding-top: calc(var(--winW) * 38);
}
.tmb4_en {
	position: absolute;
	width: calc(var(--winW) * 117);
	top: calc(var(--winW) * -19);
	right: calc(var(--winW) * 10);
}
.movie_04 .point {
	margin-left: calc(var(--winW) * 25);
}
.movie_04 .detail {
	margin: calc(var(--winW) * 12.5) 0 calc(var(--winW) * 34);
	padding: 0 calc(var(--winW) * 25) 0;
}
.movie_04 .report_link {
	margin: 0 calc(var(--winW) * 15);
}
@media only screen and (min-width: 769px) {
	.movie_04 {
		padding: calc(var(--winW) * 220) 0 calc(var(--winW) * 75);
	}
	.movie_04 .movie_number {
		top: calc(var(--winW) * 30);
		right: unset;
		left: calc(var(--winW) * 55);
	}
	.movie_04 .movie_en {
		top: calc(var(--winW) * 190);
		right: calc(var(--winW) * 970);
	}
	.movie_04 .movie_head {
		display: flex;
		justify-content: flex-end;
		margin-right: calc(var(--winW) * 60);
		gap: calc(var(--winW) * 80);
	}
	.movie_04 .statement {
		margin: unset;
	}
	.movie_04 .movie_tmb_area {
		margin-left: unset;
	}
	.movie_04 .movie_tmb {

	}
	.movie_04 .tmb_en {
		top: unset;
		bottom: calc(var(--winW) * -25);
		left: calc(var(--winW) * 15);
	}
	.movie_04 .movie_text {
		position: absolute;
		padding-top: unset;
		top: calc(var(--winW) * 420.5);
		left: calc(var(--winW) * 100);
	}
	.tmb4_en {
		width: calc(var(--winW) * 322);
		top: calc(var(--winW) * -51);
		right: calc(var(--winW) * 15);
	}
	.movie_04 .point {
		margin-left: unset;
	}
	.movie_04 .detail {
		margin: calc(var(--winW) * 20) 0  calc(var(--winW) * 53);
		padding: unset;
	}
	.movie_04 .report_link {
		margin: unset;
	}
}
/*---movie_05---*/
.movie_05 {
	padding: calc(var(--winW) * 145) 0 calc(var(--winW) * 50);
}
.movie_05 .movie_number {
	top: calc(var(--winW) * 30);
	left: calc(var(--winW) * 10);
}
.movie_05 .movie_en {
	top: calc(var(--winW) * 107);
	right: calc(var(--winW) * 15);
}
.movie_05 .movie_head {

}
.movie_05 .statement {
	margin-left: calc(var(--winW) * 36);
	margin-bottom: calc(var(--winW) * 18);
}
/* 縦長カード（SPは横スクロール） */
.movie_cards {
	display: flex;
	gap: calc(var(--winW) * 10);
	padding: 0 calc(var(--winW) * 20) calc(var(--winW) * 27);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 calc(var(--winW) * 20);
	scrollbar-width: none;
}
.movie_cards::-webkit-scrollbar {
	display: none;
}
.movie_card {
	position: relative;
	flex: 0 0 auto;
	width: calc(var(--winW) * 220);
	padding-left: calc(var(--winW) * 20);
	scroll-snap-align: start;
}
.movie_05 .play_icon {
	right: calc(var(--winW) * 8);
	bottom: calc(var(--winW) * -27);
	width: calc(var(--winW) * 55);
	height: calc(var(--winW) * 55);
}
.movie_05 .tmb_en {
	top: 0;
	left: calc(var(--winW) * 3);
}
.movie_05 .movie_text {
	padding-top: calc(var(--winW) * 18);
}
/* ユーザーコメント */
.movie_comment {
	--cross-color: rgba(255, 255, 255, 0.8);
	--cross-size: calc(var(--winW) * 10);
	--cross-line: 1px;
	--frame-color: rgba(255, 255, 255, 0.4);
	--frame-line: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--winW) * 300);
	height: calc(var(--winW) * 80);
	margin-left: calc(var(--winW) * 26);
}
.movie_comment + .movie_comment {
	margin: calc(var(--winW) * 25) 0 0 calc(var(--winW) * 60);
}
.comment_label {
	position: absolute;
	top: calc(var(--winW) * -13);
	left: calc(var(--winW) * 7);
	transform: skewX(-10deg);
	color: #888888;
	font-size: calc(var(--winW) * 9);
	letter-spacing: calc(5em / 100);
	line-height: 2;
}
.comment_txt {
	transform: skewX(-10deg);
	color: #dddddd;
	font-size: calc(var(--winW) * 14);
	letter-spacing: calc(15em / 100);
	line-height: 2;
	text-align: center;
}
.comment_name {
	position: absolute;
	right: calc(var(--winW) * -5);
	bottom: calc(var(--winW) * -7);
	z-index: 1;
	padding: 0 calc(var(--winW) * 10);
	background-color: #555555;
	color: #dddddd;
	font-size: calc(var(--winW) * 11);
	letter-spacing: calc(5em / 100);
	line-height: 1.8;
}
.movie_05 .report_link {
	margin: calc(var(--winW) * 39) calc(var(--winW) * 15) 0;
}
@media only screen and (min-width: 769px) {
	.movie_05 {
		padding: calc(var(--winW) * 171) 0 calc(var(--winW) * 123);
	}
	.movie_05 .movie_number {
		top: calc(var(--winW) * 17);
		left: calc(var(--winW) * 957);
	}
	.movie_05 .movie_en {
		top: calc(var(--winW) * 188);
		right: calc(var(--winW) * 66);
	}
	.movie_05 .movie_head {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		align-items: flex-start;
		padding-left: calc(var(--winW) * 61);
		gap: calc(var(--winW) * 64);
	}
	.movie_05 .statement {
		margin: calc(var(--winW) * 55) 0 0;
	}
	.movie_cards {
		gap: calc(var(--winW) * 25);
		padding: 0;
		overflow: visible;
	}
	.movie_card {
		width: calc(var(--winW) * 437);
		padding-left: 0;
	}
	.movie_05 .play_icon {
		right: calc(var(--winW) * 20);
		bottom: calc(var(--winW) * -48);
		width: calc(var(--winW) * 100);
		height: calc(var(--winW) * 100);
	}
	.movie_05 .tmb_en {
		top: unset;
		bottom: calc(var(--winW) * -32);
		left: calc(var(--winW) * 15);
	}
	.movie_05 .movie_text {
		position: absolute;
		top: calc(var(--winW) * 405);
		left: calc(var(--winW) * 995);
		width: calc(var(--winW) * 515);
		padding-top: 0;
	}
	.movie_comment {
		width: calc(var(--winW) * 380);
		height: calc(var(--winW) * 70);
		margin-left: 0;
	}
	.movie_comment + .movie_comment {
		margin: calc(var(--winW) * 54) 0 0 calc(var(--winW) * 130);
	}
	.comment_label {
		top: calc(var(--winW) * -14);
		left: calc(var(--winW) * 16);
		font-size: calc(var(--winW) * 10);
	}
	.comment_txt {
		font-size: calc(var(--winW) * 16);
	}
	.comment_name {
		bottom: calc(var(--winW) * -9);
		font-size: calc(var(--winW) * 12);
	}
	.movie_05 .report_link {
		margin: calc(var(--winW) * 76) 0 0 calc(var(--winW) * 25);
	}
}

/*---FAQ_area---*/
.faq_area {
	background-color: #000;
	margin-top: -1px;
}
.faq_banner {
	display: block;
	padding: calc(var(--winW) * 47) calc(var(--winW) * 20) calc(var(--winW) * 40);
}
.faq_banner img {
	display: block;
	width: 100%;
	height: auto;
}
.faq_box {
	padding: calc(var(--winW) * 51) calc(var(--winW) * 10) calc(var(--winW) * 81);
	background-color: #1e1e1e;
}
.faq_ttl {
	font-size: calc(var(--winW) * 34);
	letter-spacing: calc(25em / 100);
	line-height: 2;
	color: #fff;
	text-align: center;
	transform: skewX(-10deg);
}
.faq_list {
	--mark-color: #888;
	--mark-size: calc(var(--winW) * 8);
	--mark-line: 1px;
	margin-top: calc(var(--winW) * 5);
}
.faq_item {
	position: relative;
	background-color: #000;
}
.faq_item + .faq_item {
	border-top: 1px solid #333;
}
.faq_item::before,
.faq_item:last-child::after {
	--c: linear-gradient(var(--mark-color), var(--mark-color));
	content: "";
	position: absolute;
	left: calc(var(--mark-line) * -1);
	right: calc(var(--mark-line) * -1);
	height: var(--mark-size);
	pointer-events: none;
	z-index: 1;
}
.faq_item::before {
	top: calc(var(--mark-size) / -2);
	background:
		var(--c) left 0 top 0 / var(--mark-line) 100% no-repeat,
		var(--c) right 0 top 0 / var(--mark-line) 100% no-repeat,
		var(--c) left 0 top 50% / var(--mark-size) var(--mark-line) no-repeat,
		var(--c) right 0 top 50% / var(--mark-size) var(--mark-line) no-repeat;
}
.faq_item:first-child::before {
	top: 0;
	background:
		var(--c) left 0 top 0 / var(--mark-line) 100% no-repeat,
		var(--c) right 0 top 0 / var(--mark-line) 100% no-repeat,
		var(--c) left 0 top 0 / var(--mark-size) var(--mark-line) no-repeat,
		var(--c) right 0 top 0 / var(--mark-size) var(--mark-line) no-repeat;
}
.faq_item:last-child::after {
	bottom: 0;
	background:
		var(--c) left 0 bottom 0 / var(--mark-line) 100% no-repeat,
		var(--c) right 0 bottom 0 / var(--mark-line) 100% no-repeat,
		var(--c) left 0 bottom 0 / var(--mark-size) var(--mark-line) no-repeat,
		var(--c) right 0 bottom 0 / var(--mark-size) var(--mark-line) no-repeat;
}
.faq_q {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: calc(var(--winW) * 80);
	padding: calc(var(--winW) * 20) calc(var(--winW) * 15) calc(var(--winW) * 18) calc(var(--winW) * 15);
	border: none;
	background: none;
	color: #fff;
	text-align: left;
	cursor: pointer;
}
.faq_mark {
	flex-shrink: 0;
	width: calc(var(--winW) * 30);
	font-size: calc(var(--winW) * 18);
	line-height: 1.6;
	color: #888;
}
.faq_q_txt {
	flex: 1;
	font-size: calc(var(--winW) * 13);
	letter-spacing: calc(10em / 100);
	line-height: 1.6;
}
.faq_icon {
	position: relative;
	flex-shrink: 0;
	width: calc(var(--winW) * 16);
	height: calc(var(--winW) * 16);
	margin-right: calc(var(--winW) * 2);
	margin-left: calc(var(--winW) * 15);
}
.faq_icon::before,
.faq_icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #fff;
	transform: translate(-50%, -50%);
	transition: transform 0.3s;
}
.faq_icon::before {
	width: 100%;
	height: 1px;
}
.faq_icon::after {
	width: 1px;
	height: 100%;
}
.faq_q[aria-expanded="true"] .faq_icon::after {
	transform: translate(-50%, -50%) scaleY(0);
}
.faq_a {
	margin: 0;
	background-color: #222222;
}
.faq_a_inner {
	display: flex;
	padding: calc(var(--winW) * 20) calc(var(--winW) * 15) calc(var(--winW) * 20) calc(var(--winW) * 15);
}
.faq_a .faq_mark {
	padding-top: calc(var(--winW) * 2);
	color: #C3012F;
}
.faq_a_txt {
	flex: 1;
	font-size: calc(var(--winW) * 12);
	letter-spacing: calc(5em / 100);
	line-height: 1.8;
	color: #fff;
}
.faq_a_txt p + p {
	margin-top: calc(var(--winW) * 10);
}
.faq_a_txt a {
	color: inherit;
	text-decoration: underline;
}
@media only screen and (min-width: 769px) {
	.faq_area {
		padding-bottom: calc(var(--winW) * 15);
	}
	.faq_banner {
		width: calc(var(--winW) * 1340);
		margin: 0 auto;
		padding: calc(var(--winW) * 89) 0 calc(var(--winW) * 100);
		transition: opacity 0.3s;
	}
	.faq_banner:hover {
		opacity: 0.7;
	}
	.faq_box {
		width: calc(var(--winW) * 1340);
		margin: 0 auto;
		padding: calc(var(--winW) * 26) 0 calc(var(--winW) * 71);
	}
	.faq_ttl {
		font-size: calc(var(--winW) * 54);
	}
	.faq_list {
		--mark-size: calc(var(--winW) * 10);
		width: calc(var(--winW) * 1200);
		margin: calc(var(--winW) * 18.5) auto 0;
	}
	.faq_q {
		min-height: calc(var(--winW) * 100);
		padding: calc(var(--winW) * 20) calc(var(--winW) * 58) calc(var(--winW) * 20) calc(var(--winW) * 35);
		transition: background-color 0.3s;
	}
	.faq_q:hover {
		background-color: #111;
	}
	.faq_mark {
		width: calc(var(--winW) * 65);
		font-size: calc(var(--winW) * 30);
	}
	.faq_q_txt {
		font-size: calc(var(--winW) * 20);
		letter-spacing: calc(15em / 100);
	}
	.faq_icon {
		width: calc(var(--winW) * 25);
		height: calc(var(--winW) * 25);
	}
	.faq_icon::before {
		height: 2px;
	}
	.faq_icon::after {
		width: 2px;
	}
	.faq_a_inner {
		padding: calc(var(--winW) * 35) calc(var(--winW) * 58) calc(var(--winW) * 35) calc(var(--winW) * 37);
	}
	.faq_a .faq_mark {
		padding-top: calc(var(--winW) * 4);
		line-height: 1;
	}
	.faq_a_txt {
		font-size: calc(var(--winW) * 16);
	}
	.faq_a_txt.a_center p {
		margin-top: calc(var(--winW) * 7);
	}
	.faq_a_txt p + p {
		margin-top: calc(var(--winW) * 15);
	}
}


/*---link_area---*/
.link_area {
	background-color: #000;
}
.links1,
.links2 {
	display: flex;
	flex-direction: column;
	gap: calc(var(--winW) * 20);
	padding: 0 calc(var(--winW) * 20);
}
.links1 {
	padding-top: calc(var(--winW) * 27);
}
.links2 {
	margin-top: calc(var(--winW) * 20);
}
.links1 a,
.links2 a {
	display: block;
}
.links1 img,
.links2 img {
	display: block;
	width: 100%;
	height: auto;
}
.link_annotation {
	padding: 0 calc(var(--winW) * 20);
	text-indent: -1em;
	padding-left: 1em;
	margin: calc(var(--winW) * 23) 0 calc(var(--winW) * 32) calc(var(--winW) * 20);
	font-size: calc(var(--winW) * 10);
	letter-spacing: calc(10em / 100);
	line-height: 1.5;
	color: #dddddd;
	text-align: left;
}
.support_txt {
	padding-top: calc(var(--winW) * 50);
	font-size: calc(var(--winW) * 20);
	letter-spacing: calc(20em / 100);
	line-height: 1;
	color: #fff;
	text-align: center;
	border-top: 1px solid #C3012F;
}
.support_link {
	display: flex;
	padding: calc(var(--winW) * 45) 0 calc(var(--winW) * 40);
}
.support_link li {
	position: relative;
	flex: 1 1 0%;
}
.support_link li + li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: calc(var(--winW) * 105);
	background-color: #555;
	transform: translateY(-50%);
}
.support_link a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: calc(var(--winW) * 20);
	padding: calc(var(--winW) * 10) 0;
	font-size: calc(var(--winW) * 12);
	letter-spacing: calc(10em / 100);
	line-height: 1.5;
	color: #fff;
	text-align: center;
}
.support_link_icon {
	width: auto;
	height: calc(var(--winW) * 33);
}
@media only screen and (min-width: 769px) {
	.links1,
	.links2 {
		flex-direction: row;
		justify-content: center;
		padding: 0;
	}
	.links1 {
		gap: calc(var(--winW) * 40);
		padding-top: calc(var(--winW) * 88);
	}
	.links1 li {
		width: calc(var(--winW) * 580);
	}
	.links2 {
		gap: calc(var(--winW) * 18);
		margin-top: calc(var(--winW) * 100);
	}
	.links2 li {
		width: calc(var(--winW) * 360);
	}
	.links1 a,
	.links2 a {
		transition: opacity 0.3s;
	}
	.links1 a:hover,
	.links2 a:hover {
		opacity: 0.7;
	}
	.link_annotation {
		padding: 0 calc(var(--winW) * 50);
		text-indent: -1em;
		padding-left: 1em;
		margin: calc(var(--winW) * 55) 0 calc(var(--winW) * 50) 0;
		font-size: calc(var(--winW) * 12);
		text-align: right;
	}
	.support_txt {
		padding-top: calc(var(--winW) * 70);
		font-size: calc(var(--winW) * 32);
	}
	.support_link {
		justify-content: center;
		padding: calc(var(--winW) * 60) 0 calc(var(--winW) * 85);
	}
	.support_link li {
		flex: 0 0 calc(var(--winW) * 350);
	}
	.support_link li + li::before {
		height: calc(var(--winW) * 120);
	}
	.support_link a {
		gap: calc(var(--winW) * 22);
		padding: calc(var(--winW) * 20) 0 0;
		font-size: calc(var(--winW) * 16);
	}	
	.support_link a::after {
		content: "";
		display: block;
		width: 100%;
		border-bottom: 3px solid #C3012F;
		transform: scaleX(0);
		transform-origin: center center;
		transition: transform 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
	}
	.support_link a:hover::after {
		transform: scaleX(0.5);
	}
	.support_link_icon {
		height: calc(var(--winW) * 48);
	}
}