@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@keyframes rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@-webkit-keyframes slide_loop_x {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@keyframes slide_loop_x {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@-webkit-keyframes slide_loop_y {
	0% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@keyframes slide_loop_y {
	0% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@-webkit-keyframes wave_hover {
	0% {
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
	}
	100% {
		-webkit-mask-position: 19px 0;
		        mask-position: 19px 0;
	}
}
@keyframes wave_hover {
	0% {
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
	}
	100% {
		-webkit-mask-position: 19px 0;
		        mask-position: 19px 0;
	}
}
html,
body,
div,
span,
em,
small,
main,
header,
footer,
section,
::before,
::after,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
img,
dl,
dt,
dd,
ol,
ul,
li,
table,
caption,
tr,
th,
td,
input,
button,
textarea,
select,
option {
	font-style: normal;
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	word-break: break-all;
}

ol,
ul {
	list-style: none;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-box-shadow: #000 0 0 0;
	        box-shadow: #000 0 0 0;
	-webkit-backface-visibility: hidden;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
	text-decoration: none;
	color: inherit;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	outline: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

select {
	background-color: transparent;
}
select:focus-visible {
	outline: none;
}

svg {
	width: 100%;
	overflow: visible;
}

path {
	vector-effect: non-scaling-stroke;
}

select,
textarea,
input[type=text],
input[type=email],
input[type=tel],
input[type=submit],
input[type=radio],
button {
	border-radius: 0;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	-webkit-appearance: none;
}

a:focus,
textarea:focus,
input:focus,
button:focus {
	outline: none;
}

*::before,
*::after {
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}

.svg.c_white svg {
	fill: #fff;
}
.svg.c_black svg {
	fill: #000;
}

.img-fit img {
	width: 100%;
	height: 100%;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
}

@media screen and (min-width: 801px) {
	.p_hover a:hover {
		opacity: 0.7;
	}
	.l_tel {
		pointer-events: none;
	}
}
@-webkit-keyframes float_loop {
	0%, 100% {
		-webkit-transform: translateY(0) rotate(-1deg);
		        transform: translateY(0) rotate(-1deg);
	}
	50% {
		-webkit-transform: translateY(-1rem) rotate(1deg);
		        transform: translateY(-1rem) rotate(1deg);
	}
}
@keyframes float_loop {
	0%, 100% {
		-webkit-transform: translateY(0) rotate(-1deg);
		        transform: translateY(0) rotate(-1deg);
	}
	50% {
		-webkit-transform: translateY(-1rem) rotate(1deg);
		        transform: translateY(-1rem) rotate(1deg);
	}
}
.float_loop {
	-webkit-animation: float_loop 2.8s ease-in-out infinite;
	        animation: float_loop 2.8s ease-in-out infinite;
	will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
	.float_loop {
		-webkit-animation: none;
		        animation: none;
		will-change: auto;
	}
}

.pixel_arrow {
	position: relative;
	display: block;
	width: 15px;
	aspect-ratio: 5/3;
	background: #111;
	clip-path: polygon(0 0, 100% 0, 100% 33.3333%, 80% 33.3333%, 80% 66.6667%, 60% 66.6667%, 60% 100%, 40% 100%, 40% 66.6667%, 20% 66.6667%, 20% 33.3333%, 0 33.3333%);
}
.pixel_arrow.c_right {
	width: 12px;
	aspect-ratio: 3/4;
	clip-path: polygon(0 0, 33.3333% 0, 33.3333% 18.75%, 66.6667% 18.75%, 66.6667% 37.5%, 100% 37.5%, 100% 62.5%, 66.6667% 62.5%, 66.6667% 81.25%, 33.3333% 81.25%, 33.3333% 100%, 0 100%);
}

.pixel_frame {
	--pixel_frame_border_color: #111;
	--pixel_frame_background_color: #fff;
	--pixel_frame_border_width: 3px;
	--pixel_frame_step: calc(var(--pixel_frame_border_width) * 2);
	position: relative;
	isolation: isolate;
}
.pixel_frame::before, .pixel_frame::after {
	position: absolute;
	content: "";
	-webkit-transition: background-color 0.2s;
	transition: background-color 0.2s;
}
.pixel_frame::before {
	inset: 0;
	z-index: -1;
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--pixel_frame_border_color))), -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--pixel_frame_border_color))), -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--pixel_frame_border_color))), -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--pixel_frame_border_color)));
	background-image: linear-gradient(var(--pixel_frame_border_color) 0 0), linear-gradient(var(--pixel_frame_border_color) 0 0), linear-gradient(var(--pixel_frame_border_color) 0 0), linear-gradient(var(--pixel_frame_border_color) 0 0);
	background-repeat: no-repeat;
	background-position: left var(--pixel_frame_border_width) top var(--pixel_frame_border_width), right var(--pixel_frame_border_width) top var(--pixel_frame_border_width), right var(--pixel_frame_border_width) bottom var(--pixel_frame_border_width), left var(--pixel_frame_border_width) bottom var(--pixel_frame_border_width);
	background-size: var(--pixel_frame_border_width) var(--pixel_frame_border_width);
}
.pixel_frame::after {
	inset: 0;
	z-index: -2;
	border: var(--pixel_frame_border_width) solid var(--pixel_frame_border_color);
	background-color: var(--pixel_frame_background_color);
	clip-path: polygon(var(--pixel_frame_step) 0%, calc(100% - var(--pixel_frame_step)) 0%, calc(100% - var(--pixel_frame_step)) var(--pixel_frame_step), 100% var(--pixel_frame_step), 100% calc(100% - var(--pixel_frame_step)), calc(100% - var(--pixel_frame_step)) calc(100% - var(--pixel_frame_step)), calc(100% - var(--pixel_frame_step)) 100%, var(--pixel_frame_step) 100%, var(--pixel_frame_step) calc(100% - var(--pixel_frame_step)), 0% calc(100% - var(--pixel_frame_step)), 0% var(--pixel_frame_step), var(--pixel_frame_step) var(--pixel_frame_step));
}

.parallax_bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}
.parallax_bg_layer {
	position: absolute;
	inset: calc(var(--parallax_bleed, 120px) * -1) 0;
	display: block;
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	.parallax_bg_layer {
		will-change: auto;
	}
}
:root {
	--c_base: #3c5ad2;
	--c_key1: #108ce8;
	--c_key2: #209dcd;
	--c_key3: #506cdf;
	--c_accent1: #feed00;
	--c_accent2: #fadb42;
	--font-size7: 7px;
	--font-size8: 8px;
	--font-size9: 9px;
	--font-size10: 10px;
	--font-size11: 11px;
	--font-size12: 12px;
	--font-size13: max(1.3rem, 12px);
	--font-size14: max(1.4rem, 12px);
	--font-size15: max(1.5rem, 12px);
	--font-size16: max(1.6rem, 13px);
	--font-size17: max(1.7rem, 14px);
	--font-size18: max(1.8rem, 15px);
	--font-size19: max(1.9rem, 16px);
	--font-size20: max(2rem, 17px);
	--font-size21: max(2.1rem, 18px);
	--font-size22: max(2.2rem, 19px);
	--font-size23: max(2.3rem, 20px);
	--font-size24: max(2.4rem, 21px);
	--font-size25: max(2.5rem, 22px);
	--font-size26: max(2.6rem, 23px);
	--font-size27: max(2.7rem, 24px);
	--font-size28: max(2.8rem, 25px);
	--font-size29: max(2.9rem, 26px);
	--font-size30: max(3rem, 27px);
	--font-size31: max(3.1rem, 28px);
	--font-size32: max(3.2rem, 29px);
	--font-size33: max(3.3rem, 30px);
	--font-size34: max(3.4rem, 31px);
	--font-size35: max(3.5rem, 32px);
	--font-size36: max(3.6rem, 33px);
	--font-size37: max(3.7rem, 34px);
	--font-size38: max(3.8rem, 35px);
	--font-size39: max(3.9rem, 36px);
	--font-size40: max(4rem, 37px);
	--font-size41: max(4.1rem, 38px);
	--font-size42: max(4.2rem, 39px);
	--font-size43: max(4.3rem, 40px);
	--font-size44: max(4.4rem, 41px);
	--font-size45: max(4.5rem, 42px);
	--font-size46: max(4.6rem, 43px);
	--font-size47: max(4.7rem, 44px);
	--font-size48: max(4.8rem, 45px);
	--font-size49: max(4.9rem, 46px);
	--font-size50: max(5rem, 47px);
	--font-size51: max(5.1rem, 48px);
	--font-size52: max(5.2rem, 49px);
	--font-size53: max(5.3rem, 50px);
	--font-size54: max(5.4rem, 51px);
	--font-size55: max(5.5rem, 52px);
	--font-size56: max(5.6rem, 53px);
	--font-size57: max(5.7rem, 54px);
	--font-size58: max(5.8rem, 55px);
	--font-size59: max(5.9rem, 56px);
	--font-size60: max(6rem, 57px);
	--font-size61: max(6.1rem, 58px);
	--font-size62: max(6.2rem, 59px);
	--font-size63: max(6.3rem, 60px);
	--font-size64: max(6.4rem, 61px);
	--font-size65: max(6.5rem, 62px);
	--font-size66: max(6.6rem, 63px);
	--font-size67: max(6.7rem, 64px);
	--font-size68: max(6.8rem, 65px);
	--font-size69: max(6.9rem, 66px);
	--font-size70: max(7rem, 67px);
	--font-size71: max(7.1rem, 68px);
	--font-size72: max(7.2rem, 69px);
	--font-size73: max(7.3rem, 70px);
	--font-size74: max(7.4rem, 71px);
	--font-size75: max(7.5rem, 72px);
	--font-size76: max(7.6rem, 73px);
	--font-size77: max(7.7rem, 74px);
	--font-size78: max(7.8rem, 75px);
	--font-size79: max(7.9rem, 76px);
	--font-size80: max(8rem, 77px);
	--font-size81: max(8.1rem, 78px);
	--font-size82: max(8.2rem, 79px);
	--font-size83: max(8.3rem, 80px);
	--font-size84: max(8.4rem, 81px);
	--font-size85: max(8.5rem, 82px);
	--font-size86: max(8.6rem, 83px);
	--font-size87: max(8.7rem, 84px);
	--font-size88: max(8.8rem, 85px);
	--font-size89: max(8.9rem, 86px);
	--font-size90: max(9rem, 87px);
	--font-size91: max(9.1rem, 88px);
	--font-size92: max(9.2rem, 89px);
	--font-size93: max(9.3rem, 90px);
	--font-size94: max(9.4rem, 91px);
	--font-size95: max(9.5rem, 92px);
	--font-size96: max(9.6rem, 93px);
	--font-size97: max(9.7rem, 94px);
	--font-size98: max(9.8rem, 95px);
	--font-size99: max(9.9rem, 96px);
	--font-size100: max(10rem, 97px);
	--font-size101: max(10.1rem, 98px);
	--font-size102: max(10.2rem, 99px);
	--font-size103: max(10.3rem, 100px);
	--font-size104: max(10.4rem, 101px);
	--font-size105: max(10.5rem, 102px);
	--font-size106: max(10.6rem, 103px);
	--font-size107: max(10.7rem, 104px);
	--font-size108: max(10.8rem, 105px);
	--font-size109: max(10.9rem, 106px);
	--font-size110: max(11rem, 107px);
	--font-size111: max(11.1rem, 108px);
	--font-size112: max(11.2rem, 109px);
	--font-size113: max(11.3rem, 110px);
	--font-size114: max(11.4rem, 111px);
	--font-size115: max(11.5rem, 112px);
	--font-size116: max(11.6rem, 113px);
	--font-size117: max(11.7rem, 114px);
	--font-size118: max(11.8rem, 115px);
	--font-size119: max(11.9rem, 116px);
	--font-size120: max(12rem, 117px);
	--font-size121: max(12.1rem, 118px);
	--font-size122: max(12.2rem, 119px);
	--font-size123: max(12.3rem, 120px);
	--font-size124: max(12.4rem, 121px);
	--font-size125: max(12.5rem, 122px);
	--font-size126: max(12.6rem, 123px);
	--font-size127: max(12.7rem, 124px);
	--font-size128: max(12.8rem, 125px);
	--font-size129: max(12.9rem, 126px);
	--font-size130: max(13rem, 127px);
	--font-size131: max(13.1rem, 128px);
	--font-size132: max(13.2rem, 129px);
	--font-size133: max(13.3rem, 130px);
	--font-size134: max(13.4rem, 131px);
	--font-size135: max(13.5rem, 132px);
	--font-size136: max(13.6rem, 133px);
	--font-size137: max(13.7rem, 134px);
	--font-size138: max(13.8rem, 135px);
	--font-size139: max(13.9rem, 136px);
	--font-size140: max(14rem, 137px);
	--font-size141: max(14.1rem, 138px);
	--font-size142: max(14.2rem, 139px);
	--font-size143: max(14.3rem, 140px);
	--font-size144: max(14.4rem, 141px);
	--font-size145: max(14.5rem, 142px);
	--font-size146: max(14.6rem, 143px);
	--font-size147: max(14.7rem, 144px);
	--font-size148: max(14.8rem, 145px);
	--font-size149: max(14.9rem, 146px);
	--font-size150: max(15rem, 147px);
	--font-size151: max(15.1rem, 148px);
	--font-size152: max(15.2rem, 149px);
	--font-size153: max(15.3rem, 150px);
	--font-size154: max(15.4rem, 151px);
	--font-size155: max(15.5rem, 152px);
	--font-size156: max(15.6rem, 153px);
	--font-size157: max(15.7rem, 154px);
	--font-size158: max(15.8rem, 155px);
	--font-size159: max(15.9rem, 156px);
	--font-size160: max(16rem, 157px);
	--font-size185: max(1.85rem, 15.5px);
	--font-size865: max(8.65rem, 83.5px);
}

html {
	font-size: 62.5%;
	scrollbar-gutter: stable;
}

@media screen and (min-width: 801px) and (max-width: 1200px) {
	html {
		font-size: calc(0.0084 * 100vw);
	}
}
@media screen and (max-width: 390px) {
	html {
		font-size: calc(0.0257 * 100vw);
	}
}
@media screen and (max-width: 767px) {
	.l-footer {
		padding-bottom: calc(40px + 16.25vw);
	}
}
body {
	-webkit-text-size-adjust: 100%;
}

.expectation {
	font-family: "Inter", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "MS PGothic", "MS Pゴシック", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	color: #111;
}

@media screen and (min-width: 801px) {
	.pc_off {
		display: none !important;
	}
}
@media screen and (max-width: 800px) {
	.expectation {
		min-width: 320px;
	}
	.sp_off {
		display: none !important;
	}
}
.wrap_1200 {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

/* ========================================

header

======================================== */
.header {
	position: absolute;
	z-index: 1002;
}
.header .logo {
	margin: 66px 0 0 30px;
}
.header .logo a {
	display: block;
}
.header .logo img {
	width: auto;
	max-width: 412px;
	height: clamp(39px, 5.6681vh, 56px);
}
.header .btn_nav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;
	display: block;
	width: 65px;
	height: 65px;
	background: transparent;
	cursor: pointer;
	-webkit-transition: all 0.4s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.header .btn_nav:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}
.header .btn_nav .menu span, .header .btn_nav::before, .header .btn_nav::after {
	position: absolute;
	left: calc(50% - 12.5px);
	display: block;
	width: 25px;
	height: 2px;
	background: #222;
	-webkit-transition: all 0.4s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.header .btn_nav .menu span {
	top: 50%;
}
.header .btn_nav::before, .header .btn_nav::after {
	content: "";
	-webkit-transform-origin: 50% 50%;
	        transform-origin: 50% 50%;
}
.header .btn_nav::before {
	-webkit-animation: btn_nav_top_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
	        animation: btn_nav_top_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
}
.header .btn_nav::after {
	-webkit-animation: btn_nav_bottom_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
	        animation: btn_nav_bottom_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
}
body.nav_active {
	overflow: hidden;
}
body.nav_active .header .btn_nav .menu span {
	opacity: 0;
}
body.nav_active .header .btn_nav::before {
	-webkit-animation: btn_nav_top_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
	        animation: btn_nav_top_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
}
body.nav_active .header .btn_nav::after {
	-webkit-animation: btn_nav_bottom_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
	        animation: btn_nav_bottom_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
}

.header_nav {
	display: none;
}

@-webkit-keyframes btn_nav_top_off {
	0% {
		top: 50%;
		-webkit-transform: rotate(30deg);
		        transform: rotate(30deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: calc(50% - 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
}

@keyframes btn_nav_top_off {
	0% {
		top: 50%;
		-webkit-transform: rotate(30deg);
		        transform: rotate(30deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: calc(50% - 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
}
@-webkit-keyframes btn_nav_top_on {
	0% {
		top: calc(50% - 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: 50%;
		-webkit-transform: rotate(30deg);
		        transform: rotate(30deg);
	}
}
@keyframes btn_nav_top_on {
	0% {
		top: calc(50% - 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: 50%;
		-webkit-transform: rotate(30deg);
		        transform: rotate(30deg);
	}
}
@-webkit-keyframes btn_nav_bottom_off {
	0% {
		top: 50%;
		-webkit-transform: rotate(-30deg);
		        transform: rotate(-30deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: calc(50% + 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
}
@keyframes btn_nav_bottom_off {
	0% {
		top: 50%;
		-webkit-transform: rotate(-30deg);
		        transform: rotate(-30deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: calc(50% + 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
}
@-webkit-keyframes btn_nav_bottom_on {
	0% {
		top: calc(50% + 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: 50%;
		-webkit-transform: rotate(-30deg);
		        transform: rotate(-30deg);
	}
}
@keyframes btn_nav_bottom_on {
	0% {
		top: calc(50% + 1vw);
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	100% {
		top: 50%;
		-webkit-transform: rotate(-30deg);
		        transform: rotate(-30deg);
	}
}
@media screen and (max-width: 800px) {
	.header {
		width: 100%;
	}
	.header .logo {
		width: 67.5vw;
		margin: 10vw 0 0 4.5vw;
	}
	.header .logo img {
		width: 100%;
		min-width: unset;
		height: auto;
	}
	.header .btn_nav {
		top: 9.625vw;
		right: 4.5vw;
		width: 13.7501vw;
		height: 9.75vw;
		border-radius: 100px;
		background-color: var(--c_accent2);
	}
	.header .btn_nav .menu span, .header .btn_nav::before, .header .btn_nav::after {
		left: calc(50% - 2.5vw);
		width: 5vw;
		height: 0.25vw;
	}
	.header .btn_nav .title {
		position: absolute;
		top: 11.75vw;
		left: 50%;
		display: none;
		width: 20.25vw;
		height: 2.375vw;
		overflow: hidden;
		background-image: url("../../../image/feature/expectation/nav_btn_close.png");
		white-space: nowrap;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		text-indent: 100%;
	}
	.header_nav {
		position: fixed;
		inset: 0;
		z-index: 998;
		display: block;
		overflow-y: auto;
		background-color: rgba(0, 0, 0, 0.82);
		opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity 0.4s cubic-bezier(0.33, 1, 0.68, 1), visibility 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition: opacity 0.4s cubic-bezier(0.33, 1, 0.68, 1), visibility 0.4s cubic-bezier(0.33, 1, 0.68, 1);
	}
	.header_nav_inner {
		width: 86vw;
		min-height: 100dvh;
		margin-left: auto;
		padding: 11.75vw 0 5.25vw;
		background-color: var(--c_key1);
		background-image: url("../../../image/feature/expectation/parts_texture.png");
		background-position: center top;
		background-repeat: repeat;
		background-size: 450px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-transform: translateX(100%);
		        transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition: -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
	}
	.header_nav_logo {
		display: block;
		width: 41.75vw;
		margin-left: 8.5vw;
	}
	.header_nav_logo:focus-visible {
		outline: 2px solid var(--c_accent2);
		outline-offset: 4px;
	}
	.header_nav_list {
		width: 69vw;
		margin: 18.25vw auto 0;
	}
	.header_nav_list li + li {
		margin-top: 4vw;
	}
	.header_nav_list a {
		display: -ms-grid;
		display: grid;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 2.75vw;
		color: #fff;
		-ms-grid-columns: 10.75vw 2.75vw 1fr;
		grid-template-columns: 10.75vw 1fr;
	}
	.header_nav_list a:focus-visible {
		outline: 2px solid var(--c_accent2);
		outline-offset: 4px;
	}
	.header_nav_list span {
		font-family: "Space Mono", monospace;
		font-weight: 400;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: 10.75vw;
		height: 5.75vw;
		border: 1px dotted #111;
		border-radius: 50%;
		background-color: var(--c_accent2);
		font-size: 2.5vw;
		font-weight: 400;
		color: #111;
		-webkit-transform: rotate(-11deg);
		        transform: rotate(-11deg);
	}
	.header_nav_list strong {
		font-size: 3.75vw;
		font-weight: 500;
		line-height: 1.4667;
	}
	.header_nav_banners {
		width: 46.75vw;
		margin: 7.5vw 0 0 8.5vw;
	}
	.header_nav_banners a {
		display: block;
	}
	.header_nav_banners a + a {
		margin-top: 3vw;
	}
	.header_nav_banners a:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 4px;
	}
	.header_nav_illust {
		display: block;
		width: 31.25vw;
		margin: 6.25vw auto 0;
	}
	.header_nav_copyright {
		font-family: "Press Start 2P", system-ui;
		font-weight: 400;
		margin-top: 3vw;
		font-size: 2vw;
		line-height: 1.75;
		text-align: center;
		color: #fff;
	}
	body.nav_active .header .btn_nav {
		top: 5.5vw;
		right: 8vw;
	}
	body.nav_active .header .btn_nav .title {
		display: block;
	}
	body.nav_active .header_nav {
		opacity: 1;
		visibility: visible;
	}
	body.nav_active .header_nav_inner {
		padding-top: 8vw;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
/* ========================================

kv

======================================== */
html.is_kv_loading .kv_title, html.is_kv_loading .kv_visual, html.is_kv_loading .kv_guide, html.is_kv_loading .kv_copy, html.is_kv_loading .kv_character {
	opacity: 0;
	visibility: hidden;
}

.kv {
	position: relative;
	z-index: 1;
	height: clamp(700px, 100vh, 988px);
	overflow: hidden;
	background-color: #364eec;
	background-image: url("../../../image/feature/expectation/parts_texture.png");
	background-position: center top;
	background-repeat: repeat;
	background-size: 450px;
	color: #fff;
}
.kv_ticker {
	position: relative;
	z-index: 6;
	height: 32px;
	overflow: hidden;
	background-color: var(--c_accent2);
	color: #111;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.kv_ticker_track, .kv_ticker_set {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
.kv_ticker_track {
	-webkit-animation: slide_loop_x 35s linear infinite;
	        animation: slide_loop_x 35s linear infinite;
}
.kv_ticker_set {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 32px;
}
.kv_ticker_set span {
	padding: 0 10px;
	white-space: nowrap;
	font-size: var(--font-size14);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.kv_loops {
	position: absolute;
	top: 62px;
	right: 0;
	bottom: 20px;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.kv_loop {
	width: 100%;
	height: clamp(46.7612px, 6.6802vh, 66px);
	overflow: hidden;
}
.kv_loop_track {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	-webkit-animation: kv_loop_left 35s linear infinite;
	        animation: kv_loop_left 35s linear infinite;
	will-change: transform;
}
.kv_loop_track img {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: auto;
	height: clamp(46.7612px, 6.6802vh, 66px);
}
.kv_loop.c_first {
	clip-path: polygon(480px 0, 100% 0, 100% 100%, 480px 100%);
}
.kv_loop.c_reverse .kv_loop_track {
	-webkit-animation-name: kv_loop_right;
	        animation-name: kv_loop_right;
}
.kv_title {
	position: absolute;
	top: clamp(311.7409px, 44.5345vh, 440px);
	left: 50%;
	z-index: 4;
	width: min(66.6667vw, 960px);
	height: clamp(107.6924px, 15.3847vh, 152px);
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}
.kv_title img {
	width: 100%;
	height: 100%;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-fit: contain;
	   object-fit: contain;
}
.kv_sub {
	position: absolute;
	top: calc(clamp(27.6316px, 5.6681vh, 56px) + 94px);
	left: 30px;
	z-index: 3;
	line-height: 1.6;
	letter-spacing: 0.02em;
	font-family: "Space Mono", monospace;
	font-weight: 400;
	font-size: var(--font-size15);
}
.kv_visual {
	position: relative;
	z-index: 2;
	width: min(80vw, 1071px);
	height: clamp(504.4535px, 72.0648vh, 712px);
	margin: 0 auto;
	margin-top: clamp(89.2713px, 12.7531vh, 126px);
	overflow: hidden;
	border-radius: 80px 0 0 80px;
	background-image: url("../../../image/feature/expectation/kv_visual_bg.webp");
	background-position: center;
	background-size: cover;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.kv_visual_illust {
	width: auto;
	max-height: min(94.1012%, 670px);
	-webkit-animation: kv_visual_float 4s ease-in-out infinite;
	        animation: kv_visual_float 4s ease-in-out infinite;
}
.kv_guide {
	position: absolute;
	bottom: 320px;
	left: calc(50% - 710px);
	z-index: 5;
	width: 1px;
	height: 92px;
	border-left: 1px dashed #fff;
}
.kv_guide::before {
	content: "";
	display: block;
	position: absolute;
	top: -9px;
	left: -11px;
	width: 21px;
	height: 19px;
	background-image: url("../../../image/feature/expectation/kv_scroll.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-animation: kv_guide 2.4s ease-in infinite;
	        animation: kv_guide 2.4s ease-in infinite;
}
.kv_copy {
	position: absolute;
	bottom: clamp(55.2632px, 7.8948vh, 78px);
	left: 50%;
	z-index: 5;
	margin-left: max(-45.7333vw, -686px);
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.kv_copy_line {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 4px 8px;
	background-color: #fff;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
}
.kv_copy_line.c_first img {
	width: auto;
	max-width: min(33.3334vw, 500px);
	height: auto;
	max-height: clamp(43.2187px, 6.1741vh, 61px);
}
.kv_copy_line.c_second {
	margin-top: min(0.4vw, 6px);
}
.kv_copy_line.c_second img {
	width: auto;
	max-width: min(40.4667vw, 607px);
	height: auto;
	max-height: clamp(43.2187px, 6.1741vh, 61px);
}
.kv_copy_line.c_third {
	margin-top: min(0.8667vw, 13px);
}
.kv_copy_line.c_third img {
	width: auto;
	max-width: min(26.5334vw, 398px);
	height: auto;
	max-height: clamp(18.4211px, 2.6316vh, 26px);
}
.kv_copy_balloon {
	position: absolute;
	top: min(-0.6666vw, -10px);
	left: 36.2439%;
	width: 12.6854%;
	translate: 0 -100%;
}
.kv_character {
	position: absolute;
	top: min(24.2915vh, 240px);
	left: calc(50% + min(33.3847vw, 434px));
	z-index: 5;
	width: min(12.8vw, 192px);
	height: min(17.915vh, 177px);
	aspect-ratio: 192/177;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.kv_character_balloon {
	position: absolute;
	top: 0;
	right: -20.8333%;
	width: 56.25%;
	margin-top: 17.7084%;
	translate: 0 -100%;
}
@media screen and (max-width: 800px) {
	.kv {
		height: 100svh;
		max-height: 175vw;
		background-size: 56.25vw;
	}
}
@media screen and (max-width: 800px) and (orientation: landscape) and (max-height: 500px) {
	.kv {
		height: 160vw;
	}
}
@media screen and (max-width: 800px) {
	.kv_ticker {
		height: 5vw;
	}
	.kv_ticker_set {
		height: 5vw;
	}
	.kv_ticker_set span {
		padding: 0 1vw;
		font-size: 2.25vw;
	}
	.kv_sub {
		display: none;
	}
	.kv_loops {
		top: 42.5vw;
		bottom: 17.5vw;
	}
	.kv_loop {
		height: 10.25vw;
	}
	.kv_loop_track img {
		height: 10.25vw;
	}
	.kv_loop.c_first {
		clip-path: none;
	}
	.kv_title {
		top: 25vw;
		width: 91vw;
	}
	.kv_title img {
		height: auto;
	}
	.kv_visual {
		width: 93.75vw;
		height: 62.2501vw;
		margin-top: 52.5vw;
		border-radius: 14.375vw 0 0 14.375vw;
	}
	.kv_visual_illust {
		top: 1.875vw;
		left: 5.8905%;
		width: 88.2192%;
	}
	.kv_guide {
		display: none;
	}
	.kv_copy {
		bottom: 100px;
		left: 4.5vw;
		margin-left: 0;
		-webkit-transform: none;
		        transform: none;
	}
	.kv_copy_line {
		padding: 0.5vw 1vw;
	}
	.kv_copy_line + .kv_copy_line {
		margin-top: 0.75vw;
	}
	.kv_copy_line.c_first img {
		max-width: 61.5vw;
		max-height: unset;
	}
	.kv_copy_line.c_second {
		margin-top: 0.75vw;
	}
	.kv_copy_line.c_second img {
		max-width: 74.75vw;
		max-height: unset;
	}
	.kv_copy_line.c_third {
		margin-top: 1.5vw;
	}
	.kv_copy_line.c_third img {
		max-width: 49vw;
		max-height: unset;
	}
	.kv_copy_balloon {
		top: 2.6756%;
		left: 6.689%;
		width: 16.388%;
	}
	.kv_character {
		top: 48.25vw;
		right: 3vw;
		left: auto;
		width: 26vw;
	}
	.kv_character_balloon {
		top: 0;
		right: -5.7692%;
		width: 51.9231%;
		margin-top: 17.3077%;
	}
}

@-webkit-keyframes kv_loop_left {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-25%);
		        transform: translateX(-25%);
	}
}

@keyframes kv_loop_left {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-25%);
		        transform: translateX(-25%);
	}
}
@-webkit-keyframes kv_loop_right {
	from {
		-webkit-transform: translateX(-25%);
		        transform: translateX(-25%);
	}
	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@keyframes kv_loop_right {
	from {
		-webkit-transform: translateX(-25%);
		        transform: translateX(-25%);
	}
	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@-webkit-keyframes kv_visual_float {
	0%, 100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	50% {
		-webkit-transform: translateY(-10px);
		        transform: translateY(-10px);
	}
}
@keyframes kv_visual_float {
	0%, 100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	50% {
		-webkit-transform: translateY(-10px);
		        transform: translateY(-10px);
	}
}
@-webkit-keyframes kv_guide {
	0% {
		opacity: 0;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	12% {
		opacity: 1;
	}
	88% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: translateY(92px);
		        transform: translateY(92px);
	}
}
@keyframes kv_guide {
	0% {
		opacity: 0;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	12% {
		opacity: 1;
	}
	88% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: translateY(92px);
		        transform: translateY(92px);
	}
}
/* ========================================

fixed banners

======================================== */
.fixed_banners {
	position: fixed;
	right: 14px;
	bottom: 72px;
	z-index: 1001;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	row-gap: 8px;
	width: 179px;
}
.fixed_banners_illust {
	position: absolute;
}
@media screen and (max-width: 800px) {
	.fixed_banners {
		right: auto;
		bottom: 1.5vw;
		left: 50%;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		width: 97vw;
		max-width: 400px;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		-webkit-column-gap: 1vw;
		   -moz-column-gap: 1vw;
		        column-gap: 1vw;
	}
	.fixed_banners_illust {
		top: -2.5vw;
		left: calc(50% - 6.25vw);
		z-index: 2;
		width: 12.5vw;
	}
}

.fixed_banner {
	position: relative;
}
.fixed_banner::before {
	position: absolute;
	top: 5px;
	left: 3px;
	z-index: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
	-webkit-mask-image: url(../../../image/feature/expectation/fixed_open.png);
	        mask-image: url(../../../image/feature/expectation/fixed_open.png);
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-size: 100%;
	        mask-size: 100%;
	content: "";
	display: block;
}
.fixed_banner_link {
	position: relative;
	z-index: 1;
	display: block;
	-webkit-transition: translate 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: translate 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.fixed_banner_link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}
.fixed_banner_link .pixel_arrow {
	position: absolute;
	top: calc(50% - 4px);
	right: 15px;
	width: 10px;
	scale: 0.8 1;
	-webkit-transition: right 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: right 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
@media (hover: hover) and (pointer: fine) {
	.fixed_banner_link:hover {
		translate: 3px 5px;
	}
	.fixed_banner_link:hover .pixel_arrow {
		right: 10px;
	}
}
.fixed_banner_balloon {
	position: absolute;
	top: -70px;
	right: 0;
	width: 76px;
}
@media screen and (max-width: 800px) {
	.fixed_banner {
		width: 50%;
	}
	.fixed_banner .pixel_arrow {
		display: none;
	}
}

@media screen and (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
	.fixed_banners {
		right: auto;
		bottom: 1.5vw;
		left: 50%;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		width: min(97vw, 400px);
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		-webkit-column-gap: 1vw;
		   -moz-column-gap: 1vw;
		        column-gap: 1vw;
	}
	.fixed_banners_illust {
		top: 0;
		left: 50%;
		z-index: 2;
		display: block !important;
		width: min(12.5vw, 50px);
		translate: -50% -30%;
	}
	.fixed_banner {
		width: 50%;
	}
	.fixed_banner_balloon,
	.fixed_banner .pixel_arrow {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.kv_ticker_track,
	.kv_loop_track,
	.kv_guide::before {
		-webkit-animation-play-state: paused;
		        animation-play-state: paused;
	}
	.kv_visual_illust {
		-webkit-animation: none;
		        animation: none;
	}
}
/* ========================================

intro

======================================== */
.intro {
	position: relative;
	background-color: #364eec;
	background-image: url("../../../image/feature/expectation/parts_texture.png");
	background-position: center top;
	background-repeat: repeat;
	background-size: 450px;
	color: #fff;
}
.intro::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	height: min(13.3334vw, 200px);
	background-image: url("../../../image/feature/expectation/strength_bg.webp");
	background-position: center top;
	background-repeat: repeat;
	background-size: min(100%, 1500px) auto;
	-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#000));
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 100%);
	mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#000));
	mask-image: linear-gradient(to bottom, transparent 0%, #000 100%);
	content: "";
}
.intro_inner {
	position: relative;
	z-index: 1;
	width: min(86.6667vw, 1300px);
	margin: 0 auto;
	padding: min(10vw, 150px) 0 min(8vw, 120px);
}
.intro_content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: min(2.6667vw, 40px);
}
.intro_text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	min-width: 0;
}
.intro_arrows {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-column-gap: 14px;
	   -moz-column-gap: 14px;
	        column-gap: 14px;
	margin-bottom: 20px;
}
.intro_arrows .pixel_arrow {
	width: 12px;
	background: var(--c_accent1);
	-webkit-animation: intro_arrow_blink 1.2s steps(1, end) infinite;
	        animation: intro_arrow_blink 1.2s steps(1, end) infinite;
}
.intro_arrows .pixel_arrow:nth-child(2) {
	-webkit-animation-delay: 0.4s;
	        animation-delay: 0.4s;
}
.intro_arrows .pixel_arrow:nth-child(3) {
	-webkit-animation-delay: 0.8s;
	        animation-delay: 0.8s;
}
.intro_lead {
	margin: 0;
	font-size: min(1.6vw, 24px);
	font-weight: 500;
	line-height: 2.4;
	scale: 1 0.8334;
	-webkit-transform-origin: 0 0;
	        transform-origin: 0 0;
}
.intro_lead p + p {
	margin-top: 1.7em;
}
.intro_title {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	margin-top: -15px;
	row-gap: 4px;
}
.intro_title_line {
	display: inline-block;
	padding: 0.2vw 0.1334vw 0.5334vw;
	background: #fff;
	font-size: min(2.56vw, 38.4px);
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	font-weight: 700;
	color: var(--c_base);
	scale: 1 0.8334;
	-webkit-transform-origin: 0 0;
	        transform-origin: 0 0;
}
.intro_balloon {
	position: absolute;
	top: max(-0.6666vw, -10px);
	right: 19.2308%;
	z-index: 1;
	width: min(5.4vw, 81px);
	translate: 0 -100%;
}
.intro_visual {
	position: relative;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 min(34.8667vw, 523px);
	        flex: 0 0 min(34.8667vw, 523px);
	margin: 90px 4.3334vw 0 0;
}
.intro_visual img {
	display: block;
}
.intro_loop {
	position: relative;
	z-index: 1;
	overflow: hidden;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.intro_loop_track, .intro_loop_set {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
.intro_loop_track {
	-webkit-animation: slide_loop_x 35s linear infinite;
	        animation: slide_loop_x 35s linear infinite;
}
.intro_loop_set {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	height: min(6.8667vw, 103px);
}
.intro_loop_set img {
	width: auto;
	height: 100%;
}
@media screen and (max-width: 800px) {
	.intro {
		padding-bottom: 19.5vw;
	}
	.intro::after {
		height: 50vw;
	}
	.intro_inner {
		width: 85vw;
		padding: 5vw 0 16.25vw;
	}
	.intro_content {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		gap: 0;
	}
	.intro_arrows {
		-webkit-column-gap: 2.25vw;
		   -moz-column-gap: 2.25vw;
		        column-gap: 2.25vw;
		margin-bottom: 2vw;
	}
	.intro_arrows .pixel_arrow {
		width: 1.5vw;
	}
	.intro_lead {
		font-size: 3.5001vw;
		line-height: 2;
	}
	.intro_title {
		margin-top: 6vw;
		row-gap: 0.75vw;
	}
	.intro_title_line {
		padding: 0.25vw 0.5vw 0.5vw;
		font-size: 5.175vw;
		scale: 1 0.8696;
	}
	.intro_visual {
		-ms-flex-item-align: center;
		    -ms-grid-row-align: center;
		    align-self: center;
		width: 74.875vw;
		margin-top: 10.25vw;
	}
	.intro_balloon {
		top: -2.5vw;
		right: 4.4379%;
		width: 13.7501vw;
	}
	.intro_loop_set {
		width: auto;
		height: 15.5vw;
	}
}

@-webkit-keyframes intro_arrow_blink {
	0%, 100% {
		opacity: 1;
	}
	33.3333% {
		opacity: 0.6;
	}
	66.6667% {
		opacity: 0.2;
	}
}

@keyframes intro_arrow_blink {
	0%, 100% {
		opacity: 1;
	}
	33.3333% {
		opacity: 0.6;
	}
	66.6667% {
		opacity: 0.2;
	}
}
/* ========================================

strength

======================================== */
.strength {
	position: relative;
	margin-bottom: max(-31.6666vw, -475px);
	padding: min(10vw, 150px) 0 calc(min(26.4vw, 396px) + 30px);
	overflow: hidden;
	background-image: url("../../../image/feature/expectation/strength_bg.webp");
	background-position: center top;
	background-repeat: repeat;
	background-size: min(100%, 1500px) auto;
}
.strength::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: min(31.6667vw, 475px);
	margin: 0;
	background-image: url("../../../image/feature/expectation/strength_bg_bottom.webp");
	background-repeat: repeat-x;
	background-size: min(100%, 1500px) auto;
	background-position: center bottom;
	pointer-events: none;
	content: "";
	display: block;
}
.strength_inner {
	position: relative;
	z-index: 2;
	width: min(92vw, 1380px);
	margin: 0 auto;
}
.strength_intro {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: min(87.3334vw, 1310px);
	margin: 0;
}
.strength_heading {
	position: relative;
	width: min(45.3334vw, 680px);
}
.strength_label, .strength_title {
	position: relative;
	display: inline-block;
	background: #fff;
	color: #111;
	scale: 1 0.8334;
}
.strength_label span, .strength_title span {
	display: inline-block;
}
.strength_label {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	padding: 4px 4px 7px;
	font-size: min(1.9334vw, 29px);
	font-weight: 500;
	-ms-grid-column: 1;
	grid-column: 1;
}
.strength_title {
	margin-top: 0;
	padding: 7px 8px 17px 4px;
	font-size: min(5.1334vw, 77px);
	font-weight: 700;
	letter-spacing: -0.06em;
	-ms-grid-row: 2;
	grid-row: 2;
	-ms-grid-column: 1;
	grid-column: 1;
}
.strength_title small {
	font-size: 0.7742em;
}
.strength_caption {
	position: absolute;
	right: 0;
	bottom: 4px;
	z-index: 1;
	margin: 0 0 min(0.2667vw, 4px) min(-0.8vw, -12px);
	padding: 1px 0.7143em 2px;
	background: #111;
	font-size: min(0.9334vw, 14px);
	color: #fff;
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.strength_message {
	position: relative;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: min(32.2vw, 483px);
	margin-top: 20px;
}
.strength_illust {
	position: absolute;
	top: min(0.6vw, 9px);
	right: auto;
	left: max(-8.6666vw, -130px);
	z-index: 3;
	width: min(9.7334vw, 146px);
	margin: 0;
}
.strength_illust img {
	display: block;
}
.strength_balloon {
	position: relative;
	z-index: 2;
	padding: min(1.3334vw, 20px) min(2.3334vw, 35px) min(1.4667vw, 22px);
	color: #fff;
	-webkit-transform-origin: 0 50%;
	        transform-origin: 0 50%;
}
.strength_balloon.pixel_frame {
	--pixel_frame_border_color: #fff;
	--pixel_frame_background_color: #222;
}
.strength_balloon_text {
	font-weight: 500;
	line-height: 1.7143;
	font-size: var(--font-size14);
}
.strength_balloon .pixel_arrow {
	position: absolute;
	right: 18px;
	bottom: 16px;
	background-color: #fff;
}
.strength_slider {
	width: min(82.6667vw, 1240px);
	margin: 95px auto 0;
}
.strength_cards {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-column-gap: min(1.9334vw, 28px);
	   -moz-column-gap: min(1.9334vw, 28px);
	        column-gap: min(1.9334vw, 28px);
}
.strength_card {
	position: relative;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 min(26.2667vw, 394px);
	        flex: 0 0 min(26.2667vw, 394px);
	padding: min(2.6667vw, 40px) 0 min(4vw, 60px);
	border-radius: min(1.0667vw, 16px);
	background: #fff;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.strength_badge {
	position: absolute;
	top: -2.1333vw;
	left: -1.3333vw;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: clamp(90px, 9.3847vw, 122px);
	aspect-ratio: 122/58;
	border: 1.5px dotted #111;
	border-radius: 50%;
	background: var(--c_accent2);
	line-height: 1.44;
	text-align: center;
	-webkit-transform: rotate(-15deg);
	        transform: rotate(-15deg);
	font-family: "Space Mono", monospace;
	font-weight: 400;
	font-size: var(--font-size14);
}
.strength_card_image {
	width: 81.4721%;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid #d7d7d7;
	border-radius: 3px;
}
.strength_card_image img {
	display: block;
}
.strength_card_text {
	margin-top: 26px;
}
.strength_card_text p {
	width: 81.4721%;
	margin: 0 auto;
	font-weight: 500;
	line-height: 1.8667;
	font-size: var(--font-size15);
}
.strength_card_title {
	margin-bottom: 24px;
	font-size: min(1.4667vw, 22px);
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
	-webkit-transform-origin: center;
	        transform-origin: center;
}
.strength_card_title span {
	margin: 0 -0.4em;
	font-size: 1.1819em;
	color: #108ce8;
}
.strength_card:nth-child(2) .strength_card_title span {
	color: #1ea0ce;
}
.strength_card:nth-child(3) .strength_card_title span {
	color: #506cdf;
}
.strength_pagination {
	display: none;
}
@media screen and (max-width: 800px) {
	.strength {
		margin-bottom: -37.5vw;
		padding-top: 0;
		padding-bottom: 42.5vw;
	}
	.strength::after {
		bottom: 0.5px;
		height: 37.5vw;
		background-image: url("../../../image/feature/expectation/strength_bg_bottom_sp.webp");
		background-size: 100% auto;
	}
	.strength_inner {
		width: 100%;
	}
	.strength_intro {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 100%;
	}
	.strength_heading {
		-ms-grid-columns: 63.5vw 1fr;
		grid-template-columns: 63.5vw 1fr;
		width: 92.5vw;
		row-gap: 1vw;
		margin: 0 auto;
	}
	.strength_label {
		-ms-grid-column: 1;
		grid-column: 1;
		width: -webkit-max-content;
		width: -moz-max-content;
		width: max-content;
		padding: 0.75vw 0 1.25vw 0.5vw;
		font-size: 4.25vw;
	}
	.strength_title {
		margin-top: 0;
		padding: 1.25vw 1.25vw 2vw 1vw;
		font-size: 10.75vw;
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-column: 1;
		grid-column: 1;
	}
	.strength_caption {
		margin: 0 -1vw 0.625vw 0;
		padding: 0 0.25vw 0.25vw;
		font-size: 2vw;
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-column: 2;
		grid-column: 2;
	}
	.strength_message {
		-ms-flex-item-align: end;
		    align-self: flex-end;
		width: 64vw;
		margin-top: 5vw;
		margin-right: 7.5vw;
	}
	.strength_illust {
		top: 5vw;
		right: auto;
		left: -15vw;
		width: 18.625vw;
	}
	.strength_balloon {
		--pixel_frame_border_width: 0.375vw;
		padding: 2.5vw 6.5vw;
	}
	.strength_balloon_text {
		font-size: 2.5vw;
		line-height: 1.5;
	}
	.strength_balloon .pixel_arrow {
		right: 2.5vw;
		bottom: 3.75vw;
		width: 2.25vw;
	}
	.strength_slider {
		width: 100vw;
		margin-top: 7.0001vw;
		overflow: visible;
	}
	.strength_cards {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		-webkit-box-sizing: content-box;
		        box-sizing: content-box;
		width: 100%;
		padding-left: 5vw;
		-webkit-transition-property: -webkit-transform;
		transition-property: -webkit-transform;
		transition-property: transform;
		transition-property: transform, -webkit-transform;
	}
	.strength_card {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		width: 85vw;
		padding: 7.5vw 0;
		border-radius: 2.5vw;
	}
	.strength_card:last-child {
		margin-right: 13.7501vw;
	}
	.strength_badge {
		top: -2.5vw;
		left: -2.5vw;
		width: 18.875vw;
		height: 9vw;
		font-size: 2.25vw;
	}
	.strength_card_image {
		height: 45vw;
		border: 0.125vw solid #d7d7d7;
		border-radius: 1vw;
	}
	.strength_card_text {
		margin-top: 3.75vw;
	}
	.strength_card_text p {
		font-size: 3.25vw;
		line-height: 1.6924;
	}
	.strength_card_title {
		margin-bottom: 2.5vw;
		font-size: 4.5vw;
		line-height: 1.5556;
		white-space: nowrap;
		-webkit-transform: scaleX(0.94);
		        transform: scaleX(0.94);
	}
	.strength_card_title span {
		font-size: 1.1667em;
	}
	.strength_pagination {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		margin-top: 5.75vw;
		-webkit-column-gap: 3.625vw;
		   -moz-column-gap: 3.625vw;
		        column-gap: 3.625vw;
	}
	.strength_arrow {
		width: 5vw;
		height: 5.25vw;
		padding: 0;
		border: 0;
		background: transparent;
	}
	.strength_arrow img {
		display: block;
		width: 100%;
		height: 100%;
		-webkit-filter: brightness(0) invert(1);
		        filter: brightness(0) invert(1);
	}
	.strength_prev img {
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
	}
	.strength_fraction {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: 11vw;
		height: 11vw;
		margin: 0;
		border-radius: 50%;
		background: #fff;
		font-size: 3vw;
		line-height: 1;
		color: #108ce8;
		font-family: "Space Mono", monospace;
		font-weight: 400;
	}
}

/* ========================================

uses

======================================== */
@-webkit-keyframes uses_badge_rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
@keyframes uses_badge_rotate {
	0% {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
.uses {
	position: relative;
	padding: calc(min(31.6667vw, 475px) + 158px) 0 65px;
	overflow: hidden;
	background-color: #fcf2eb;
	background-image: url("../../../image/feature/expectation/uses_bg.png");
	background-position: calc(50% - min(1.2vw, 18px)) -26px;
	background-repeat: repeat;
	background-size: min(12.9334vw, 194px) auto;
}
.uses_inner {
	position: relative;
	width: min(100vw, 1500px);
	margin: 0 auto;
}
.uses_heading {
	position: relative;
	z-index: 2;
	text-align: center;
	isolation: isolate;
}
.uses_heading::before {
	position: absolute;
	top: 0;
	right: 50%;
	z-index: -1;
	width: min(90%, 900px);
	height: 100%;
	background-color: #fcf2eb;
	translate: 50% 0;
	content: "";
}
.uses_label {
	font-weight: 500;
	letter-spacing: 0.02em;
	font-size: var(--font-size29);
	scale: 1 0.8334;
}
.uses_title {
	margin-top: 24px;
	font-size: clamp(54px, 4.4667vw, 67px);
	font-weight: 700;
	letter-spacing: 0.02em;
	scale: 1 0.8334;
}
.uses_description {
	margin-top: 30px;
	font-weight: 500;
	line-height: 1.7778;
	font-size: var(--font-size18);
}
.uses_nav {
	position: relative;
	z-index: 3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-top: 54px;
	-webkit-column-gap: 50px;
	   -moz-column-gap: 50px;
	        column-gap: 50px;
}
.uses_nav_button {
	--pixel_frame_border_width: 5px;
	--uses_nav_shadow_step2: calc(var(--pixel_frame_border_width) * 2);
	position: relative;
	width: 150px;
	aspect-ratio: 2/1;
	border: 0;
	background: transparent;
	font-weight: 400;
	letter-spacing: 0.6em;
	text-indent: 0.6em;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-transition: background-color 0.25s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	transition: background-color 0.25s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	transition: background-color 0.25s cubic-bezier(0.33, 1, 0.68, 1), transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	transition: background-color 0.25s cubic-bezier(0.33, 1, 0.68, 1), transform 0.25s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	font-size: var(--font-size20);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.uses_nav_button::after {
	position: absolute;
	bottom: var(--pixel_frame_border_width);
	left: var(--pixel_frame_border_width);
	z-index: 3;
	width: calc(100% - var(--pixel_frame_border_width) * 2);
	height: var(--uses_nav_shadow_step2);
	background: rgba(0, 0, 0, 0.1);
	clip-path: polygon(0 0, var(--pixel_frame_border_width) 0, var(--pixel_frame_border_width) var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) 0, 100% 0, 100% var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) 100%, var(--pixel_frame_border_width) 100%, var(--pixel_frame_border_width) calc(100% - var(--pixel_frame_border_width)), 0 var(--pixel_frame_border_width));
	content: "";
	pointer-events: none;
}
.uses_nav_button .pixel_frame {
	--pixel_frame_border_width: 5px;
}
.uses_nav_button_inner {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.uses_nav_button.c_excavation {
	--uses_nav_color: var(--c_key1);
}
.uses_nav_button.c_judgement {
	--uses_nav_color: var(--c_key3);
}
.uses_nav_button.c_analysis {
	--uses_nav_color: var(--c_key2);
}
.uses_nav_button.is_active {
	color: #fff;
}
.uses_nav_button.is_active .uses_nav_button_inner {
	--pixel_frame_background_color: var(--uses_nav_color);
}
@media (hover: hover) and (pointer: fine) {
	.uses_nav_button:hover {
		-webkit-transform: scale(1.1);
		        transform: scale(1.1);
	}
	.uses_nav_button:hover .uses_nav_button_inner {
		--pixel_frame_background_color: var(--uses_nav_color);
	}
}
.uses_nav_button:focus-visible {
	outline: 3px solid var(--uses_nav_color);
	outline-offset: 5px;
}
.uses_stage {
	position: relative;
	min-height: min(46.6667vw, 700px);
	margin-top: min(4.6667vw, 70px);
}
.uses_slider {
	position: relative;
	left: 50%;
	z-index: 2;
	width: 100vw;
	margin-left: -50vw;
	padding-top: min(1.6667vw, 25px);
	overflow: visible;
}
.uses_cards {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
	height: min(40.9334vw, 614px);
}
.uses_card {
	position: relative;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: min(31.5334vw, 473px);
}
.uses_card:not(:first-child) {
	display: none;
}
.uses_slider.is_initialized .uses_card {
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	-webkit-transform-origin: 50% 50%;
	        transform-origin: 50% 50%;
	will-change: transform;
}
.uses_card_inner {
	position: relative;
	-webkit-transform-origin: 50% 50%;
	        transform-origin: 50% 50%;
}
.uses_card_inner > img {
	display: block;
}
.uses_card_badge {
	position: absolute;
	top: min(-1.3333vw, -20px);
	right: min(-2.4666vw, -37px);
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: min(8.1334vw, 122px);
	font-size: min(1.0667vw, 16px);
	line-height: 1.375;
	text-align: center;
	aspect-ratio: 1;
	rotate: 15deg;
	isolation: isolate;
	font-family: "Press Start 2P", system-ui;
	font-weight: 400;
}
.uses_card_badge::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("../../../image/feature/expectation/uses_card_badge.png") center/contain no-repeat;
	-webkit-animation: uses_badge_rotate 12s linear infinite;
	        animation: uses_badge_rotate 12s linear infinite;
	content: "";
}
.uses_message {
	position: relative;
	z-index: 4;
	width: min(36vw, 390px);
	margin: 85px auto 0;
}
.uses_illust {
	position: absolute;
	bottom: min(-1.4vw, -21px);
	left: max(-8.4vw, -126px);
	z-index: 1;
	width: min(11.1334vw, 167px);
	margin: 0;
}
.uses_balloon {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: min(1.5334vw, 23px) min(2vw, 30px);
	-webkit-transform-origin: 0 50%;
	        transform-origin: 0 50%;
}
.uses_balloon_text {
	font-weight: 500;
	line-height: 1.7143;
	font-size: var(--font-size14);
	white-space: pre-line;
}
.uses_balloon .pixel_arrow {
	position: absolute;
	right: 14px;
	bottom: 12px;
}
@media screen and (max-width: 800px) {
	.uses {
		padding-top: 50vw;
		padding-bottom: 12.75vw;
		background-size: 24.25vw auto;
		background-position: calc(50% - 3vw) -26px;
	}
	.uses_inner {
		width: 100%;
	}
	.uses_label {
		font-size: 3.9vw;
	}
	.uses_title {
		margin-top: 3vw;
		font-size: 8.4vw;
		line-height: 1.2223;
	}
	.uses_description {
		margin: 4vw auto 0;
		font-size: 3.25vw;
		line-height: 1.8462;
	}
	.uses_nav {
		margin-top: 7.5vw;
		-webkit-column-gap: 5vw;
		   -moz-column-gap: 5vw;
		        column-gap: 5vw;
	}
	.uses_nav_button {
		--pixel_frame_border_width: 0.625vw;
		width: 20.75vw;
		aspect-ratio: 83/40;
		font-size: 3.3vw;
	}
	.uses_nav_button .pixel_frame {
		--pixel_frame_border_width: 0.625vw;
	}
	.uses_stage {
		min-height: 77.5vw;
		margin-top: 6.75vw;
	}
	.uses_slider {
		left: 50%;
		width: 100vw;
		margin-left: -50vw;
		padding-top: 3vw;
	}
	.uses_card {
		width: 59vw;
	}
	.uses_cards {
		-ms-touch-action: pan-y;
		    touch-action: pan-y;
	}
	.uses_card_badge {
		top: -2.5vw;
		right: -5vw;
		width: 15.25vw;
		font-size: var(--font-size8);
		font-size: 2vw;
	}
	.uses_message {
		width: 62.75vw;
		margin-top: 15vw;
		margin-right: 15vw;
	}
	.uses_illust {
		bottom: -2.75vw;
		left: -15.75vw;
		z-index: 3;
		width: 21vw;
	}
	.uses_balloon {
		--pixel_frame_border_width: 0.375vw;
		padding: 3vw 4vw;
	}
	.uses_balloon_text {
		font-size: 2.5vw;
		line-height: 1.5;
	}
	.uses_balloon .pixel_arrow {
		right: 2vw;
		bottom: 2vw;
		width: 2.25vw;
	}
}

@media (prefers-reduced-motion: reduce) {
	.uses_card_badge::before {
		-webkit-animation: none;
		        animation: none;
	}
	.uses_card_inner {
		-webkit-transition-duration: 0s;
		        transition-duration: 0s;
	}
}
/* ========================================

functions

======================================== */
@-webkit-keyframes functions_ticker_loop {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@keyframes functions_ticker_loop {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
.functions {
	position: relative;
}
.functions_group {
	--functions_accent: var(--c_key1);
	--functions_comment_bg: #eff8ff;
	position: relative;
	isolation: isolate;
	padding-bottom: 300px;
	background-color: var(--functions_accent);
	background-image: url("../../../image/feature/expectation/parts_texture.png");
	background-repeat: repeat;
	background-size: 450px auto;
}
.functions_group.c_excavation {
	z-index: 1;
	--functions_ticker_large_duration: 41s;
	--functions_ticker_small_duration: 43.3s;
}
.functions_group.c_dive {
	z-index: 2;
	--functions_accent: var(--c_key2);
	--functions_comment_bg: #ebf5fc;
	--functions_ticker_large_duration: 36s;
	--functions_ticker_small_duration: 42.4s;
	background: url("../../../image/feature/expectation/cta_bg01.webp") 50% 0/1500px auto repeat;
}
.functions_group.c_analyze {
	z-index: 3;
	--functions_accent: var(--c_key3);
	--functions_comment_bg: #f4f6ff;
	--functions_ticker_large_duration: 34s;
	--functions_ticker_small_duration: 39.7s;
	padding-bottom: 130px;
}
.functions_group + .functions_group {
	margin-top: -150px;
	border-radius: min(10vw, 150px) min(10vw, 150px) 0 0;
}
.functions_bg {
	z-index: -1;
}
.functions_bg_layer {
	background-image: url("../../../image/feature/expectation/functions_bg.webp");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: min(146.6667vw, 2200px) auto;
}
.functions_ticker {
	position: relative;
	z-index: 2;
	padding: 110px 0 120px;
	overflow: hidden;
	color: rgba(255, 255, 255, 0.6);
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.functions_ticker_large, .functions_ticker_small {
	overflow: hidden;
	text-transform: uppercase;
}
.functions_ticker_large {
	--functions_ticker_duration: var(--functions_ticker_large_duration, 34s);
	font-size: var(--font-size92);
	font-family: "Press Start 2P", system-ui;
	font-weight: 400;
	padding-top: 0.12em;
}
.functions_ticker_large .functions_ticker_set {
	gap: 40px;
	padding-right: 40px;
}
.functions_ticker_small {
	--functions_ticker_duration: var(--functions_ticker_small_duration, 34s);
	margin-top: 30px;
	font-size: var(--font-size18);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.functions_ticker_track, .functions_ticker_set {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
.functions_ticker_track {
	-webkit-animation: functions_ticker_loop var(--functions_ticker_duration, 34s) linear infinite;
	        animation: functions_ticker_loop var(--functions_ticker_duration, 34s) linear infinite;
	will-change: transform;
}
.functions_ticker_set {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
.functions_ticker_set span {
	white-space: nowrap;
}
.functions_ticker_set span small {
	font-size: 0.5em;
}
.functions_ticker_set img {
	width: auto;
	height: 92px;
	margin-top: -0.12em;
}
.functions_inner {
	position: relative;
	z-index: 2;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(0, 1fr) min(2.6667vw, 40px) 200px;
	grid-template-columns: minmax(0, 1fr) 200px;
	width: min(100vw, 1500px);
	margin: 0 auto;
	-webkit-column-gap: min(2.6667vw, 40px);
	   -moz-column-gap: min(2.6667vw, 40px);
	        column-gap: min(2.6667vw, 40px);
}
.functions_items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	row-gap: min(9.1334vw, 137px);
}
.functions_item {
	position: relative;
	padding: min(8.6667vw, 130px) min(5.3334vw, 80px) min(7.4667vw, 112px);
	border-radius: 0 min(10vw, 150px) min(10vw, 150px) 0;
	background-image: url("../../../image/feature/expectation/functions_bg02.png");
	background-size: 10px 10px;
	-webkit-box-shadow: min(1.0667vw, 16px) min(2.1334vw, 32px) 0 rgba(0, 0, 0, 0.15);
	        box-shadow: min(1.0667vw, 16px) min(2.1334vw, 32px) 0 rgba(0, 0, 0, 0.15);
	scroll-margin-top: 80px;
}
.functions_item_number {
	position: absolute;
	top: max(-2.1333vw, -32px);
	left: min(2.6667vw, 40px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: min(0.6667vw, 10px);
}
.functions_item_number span {
	width: min(13.4vw, 201px);
}
.functions_item_number em {
	margin-bottom: 0.1em;
	padding: min(0.6vw, 9px) min(1.3334vw, 20px);
	background: var(--functions_accent);
	font-size: var(--font-size16);
	line-height: 1;
	white-space: nowrap;
	color: #fff;
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.functions_item_top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-column-gap: min(40px, 2.6667vw, 40px);
	   -moz-column-gap: min(40px, 2.6667vw, 40px);
	        column-gap: min(40px, 2.6667vw, 40px);
}
.functions_item_information {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	row-gap: min(0.6667vw, 20px);
	width: min(38.6667vw, 537px);
}
.functions_item_title {
	font-size: min(5.52vw, 82.8px);
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
	color: var(--functions_accent);
	scale: 1 0.8696;
	-webkit-transform-origin: 0 0;
	        transform-origin: 0 0;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
}
@media screen and (max-width: 1240px) {
	.functions_item_title {
		font-size: min(4.4084vw, 67.85px);
	}
}
.functions_item_title small {
	display: block;
	font-size: 0.6667em;
	line-height: 1;
}
.functions_item_lead {
	font-size: min(1.8667vw, 28px);
	font-weight: 700;
	line-height: 1.6786;
}
.functions_item_lead mark {
	padding: 0 0.08em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(58%, transparent), color-stop(58%, var(--c_accent1)));
	background: linear-gradient(transparent 58%, var(--c_accent1) 58%);
	color: inherit;
}
.functions_item_description {
	font-size: clamp(13px, 1.0667vw, 16px);
	line-height: 2;
	color: #222;
}
.functions_item_card {
	display: block;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: min(28.8667vw, 433px);
	margin-right: min(1.3334vw, 20px);
}
.functions_point {
	position: relative;
	margin-top: min(2.6667vw, 40px);
	padding-top: min(4vw, 60px);
}
.functions_point_heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	color: var(--functions_accent);
}
.functions_point_heading h4 {
	font-size: var(--font-size16);
	font-family: "Press Start 2P", system-ui;
	font-weight: 400;
}
.functions_point_heading h4 em {
	margin: 0 1em;
}
.functions_point_heading span {
	font-size: var(--font-size15);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.functions_point_caption {
	margin-top: min(1.0667vw, 16px);
	font-size: var(--font-size18);
	text-align: center;
	color: var(--functions_accent);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.functions_point_list {
	display: -ms-grid;
	display: grid;
	gap: min(1.6667vw, 25px);
	margin-top: min(3.0667vw, 46px);
	-ms-grid-columns: 1fr min(1.6667vw, 25px) 1fr min(1.6667vw, 25px) 1fr;
	grid-template-columns: repeat(3, 1fr);
	counter-reset: functions_point;
	list-style: none;
}
.functions_point_list li {
	position: relative;
	padding: min(1.6vw, 24px) min(1.3334vw, 20px);
	border: 1.5px dotted #111;
	border-radius: 8px;
	background: #fff;
	font-size: var(--font-size17);
	font-weight: 500;
	line-height: 1.5883;
	letter-spacing: 0.02em;
	counter-increment: functions_point;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
}
.functions_point_list li::before {
	position: absolute;
	top: max(-1.8vw, -27px);
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: clamp(50px, 4.5334vw, 68px);
	aspect-ratio: 68/38;
	border-radius: 50%;
	background: var(--functions_accent);
	font-size: clamp(10px, 0.9334vw, 14px);
	color: var(--c_accent1);
	content: "＜0" counter(functions_point) "＞";
	-webkit-transform: rotate(-9.66deg);
	        transform: rotate(-9.66deg);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.functions_point_list li mark {
	padding: 0 0.12em;
	background: -webkit-gradient(linear, left bottom, left top, from(var(--c_accent1)), color-stop(var(--c_accent1)), color-stop(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
	background: linear-gradient(0deg, var(--c_accent1) 0%, var(--c_accent1) calc(100% - 0.2em), rgba(255, 255, 255, 0) calc(100% - 0.2em), rgba(255, 255, 255, 0) 100%);
	font-size: 1.0589em;
	font-weight: 700;
	color: inherit;
}
.functions_point::before, .functions_comment::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 28px;
	border-top: 1.5px dotted var(--functions_accent);
	content: "";
}
.functions_point::after, .functions_comment::after {
	position: absolute;
	top: -7px;
	left: 0;
	width: 12px;
	aspect-ratio: 3/4;
	background: var(--functions_accent);
	clip-path: polygon(0 0, 33.3333% 0, 33.3333% 18.75%, 66.6667% 18.75%, 66.6667% 37.5%, 100% 37.5%, 100% 62.5%, 66.6667% 62.5%, 66.6667% 81.25%, 33.3333% 81.25%, 33.3333% 100%, 0 100%);
	content: "";
}
.functions_movie {
	--pixel_frame_border_color: var(--functions_accent);
	--pixel_frame_background_color: #fff;
	--pixel_frame_border_width: min(0.5334vw, 8px);
	position: relative;
	width: min(53.2vw, 798px);
	margin: min(2vw, 30px) auto 0;
	padding: var(--pixel_frame_border_width);
}
.functions_movie.pixel_frame {
	--pixel_frame_background_color: transparent;
}
.functions_movie.pixel_frame::before {
	z-index: 0;
}
.functions_movie video {
	display: block;
	width: 100%;
	aspect-ratio: 16/9;
	background: #fff;
	-o-object-fit: cover;
	   object-fit: cover;
}
.functions_movie_badge {
	position: absolute;
	top: min(5.3334vw, 80px);
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: min(8.2667vw, 124px);
	height: min(8.1334vw, 122px);
	font-size: clamp(9px, 0.8667vw, 13px);
	font-family: "Press Start 2P", system-ui;
	font-weight: 400;
	line-height: 1.3847;
	text-align: center;
	isolation: isolate;
	rotate: -10deg;
}
.functions_movie_badge::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("../../../image/feature/expectation/functions_badge_bg.png") center/contain no-repeat;
	-webkit-animation: uses_badge_rotate 12s linear infinite;
	        animation: uses_badge_rotate 12s linear infinite;
	content: "";
}
.functions_movie_guide {
	position: absolute;
	z-index: 3;
	width: min(9.3334vw, 140px);
}
.functions_movie_guide > span {
	position: absolute;
	top: -3px;
	left: 50%;
	z-index: 1;
	display: block;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	height: 4.8334em;
	padding: 1em 0.8em 0 1em;
	border-radius: 99px;
	background: #111;
	font-size: clamp(9px, 0.8vw, 12px);
	font-weight: 700;
	line-height: 1.3334;
	text-align: center;
	color: #fff;
	translate: 0 -100%;
	font-style: italic;
}
.functions_movie_guide > span::after {
	position: absolute;
	bottom: max(-0.4666vw, -7px);
	left: 50%;
	width: min(1.0667vw, 16px);
	aspect-ratio: 16/14;
	background: url("../../../image/feature/expectation/functions_item_balloon.svg") center/contain no-repeat;
	content: "";
}
.functions_item:nth-child(odd) .functions_movie_badge {
	right: max(-6.3333vw, -95px);
}
.functions_item:nth-child(odd) .functions_movie_guide {
	bottom: max(-2.3333vw, -35px);
	left: max(-8.6666vw, -130px);
}
.functions_item:nth-child(even) .functions_movie_badge {
	left: max(-6.3333vw, -95px);
}
.functions_item:nth-child(even) .functions_movie_guide {
	right: max(-8vw, -120px);
	bottom: min(1.3334vw, 20px);
}
.functions_comment {
	position: relative;
	margin-top: min(4.2667vw, 64px);
	padding-top: min(3.3334vw, 50px);
}
.functions_comment_title {
	position: relative;
	z-index: 2;
	display: block;
	width: min(27.4vw, 411px);
	margin: 0 0 max(-1.6vw, -24px) min(1.8667vw, 28px);
}
.functions_comment_title picture {
	display: block;
}
.functions_comment_body {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: min(100%, 980px);
	padding: min(3vw, 45px) min(14.9334vw, 224px) min(3.0667vw, 46px) calc(min(4.3334vw, 65px) + clamp(80px, 7.6vw, 114px));
	border: 1.5px dotted var(--functions_accent);
	border-radius: 24px;
	background: var(--functions_comment_bg);
}
.functions_comment_body p {
	width: min(170.7318%, 574px);
	font-size: var(--font-size15);
	font-weight: 500;
	line-height: 2;
}
.functions_comment_label {
	position: absolute;
	top: min(3.3334vw, 50px);
	left: min(2.6667vw, 40px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: clamp(80px, 7.6vw, 114px);
}
@media screen and (min-width: 801px) {
	.functions_comment_label {
		aspect-ratio: 228/148;
		background-color: var(--functions_accent);
		-webkit-mask-image: url("../../../image/feature/expectation/functions_comment_hl_ja.png");
		        mask-image: url("../../../image/feature/expectation/functions_comment_hl_ja.png");
		-webkit-mask-position: center;
		        mask-position: center;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		font-size: clamp(9px, 0.7334vw, 11px);
		line-height: 1.3637;
		text-align: center;
		color: #fff;
	}
}
.functions_comment_illust {
	position: absolute;
	right: min(3.2vw, 48px);
	bottom: 0;
	width: min(9.8vw, 147px);
}
.functions_comment.c_left .functions_comment_body {
	padding-right: min(3.3334vw, 50px);
	padding-left: calc(min(16vw, 240px) + clamp(80px, 7.6vw, 114px));
}
.functions_comment.c_left .functions_comment_label {
	left: min(14.4vw, 216px);
}
.functions_comment.c_left .functions_comment_illust {
	right: auto;
	left: min(2.4667vw, 37px);
	width: min(10.4vw, 156px);
}
.functions_nav {
	position: sticky;
	top: 50px;
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
	width: 200px;
	color: #fff;
}
.functions_nav_title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	padding-bottom: 14px;
	border-bottom: 1.5px dotted #fff;
}
.functions_nav_title span {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 52px;
	aspect-ratio: 52/28;
	border-radius: 50%;
	background: var(--c_accent2);
	font-size: var(--font-size10);
	color: #111;
	-webkit-transform: rotate(-10deg);
	        transform: rotate(-10deg);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.functions_nav_title img {
	width: auto;
	height: 20px;
}
.functions_nav_link {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 30px 1fr;
	grid-template-columns: 30px 1fr;
	padding: 14px 18px 14px 0;
	border-bottom: 1.5px dotted #fff;
	color: inherit;
	-webkit-transition: color 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	transition: color 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}
.functions_nav_link::after {
	position: absolute;
	top: calc(50% - 6.25px);
	right: 14px;
	width: 12.5px;
	height: 12.5px;
	-webkit-transform-origin: 0 50%;
	        transform-origin: 0 50%;
	scale: 0.944;
	background: var(--c_accent2);
	clip-path: polygon(40% 0, 60% 0, 60% 20%, 80% 20%, 80% 40%, 100% 40%, 100% 60%, 80% 60%, 80% 80%, 60% 80%, 60% 100%, 40% 100%, 40% 80%, 20% 80%, 20% 60%, 0 60%, 0 40%, 20% 40%, 20% 20%, 40% 20%);
	content: "";
	opacity: 0;
	-webkit-transform: scale(0.6);
	        transform: scale(0.6);
	-webkit-transition: opacity 0.25s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	transition: opacity 0.25s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	transition: opacity 0.25s cubic-bezier(0.33, 1, 0.68, 1), transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
	transition: opacity 0.25s cubic-bezier(0.33, 1, 0.68, 1), transform 0.25s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}
.functions_nav_link > span {
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
	grid-row: 1/span 2;
	padding-top: 4px;
	font-size: var(--font-size9);
	font-family: "Press Start 2P", system-ui;
	font-weight: 400;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.functions_nav_link strong {
	font-size: var(--font-size14);
	font-weight: 500;
	line-height: 1.4286;
}
.functions_nav_link small {
	margin-top: 4px;
	font-size: var(--font-size11);
	line-height: 1.2728;
	opacity: 0.8;
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
.functions_nav_link.is_active {
	color: var(--c_accent2);
}
.functions_nav_link.is_active::after {
	opacity: 1;
	-webkit-transform: scale(1);
	        transform: scale(1);
}
@media (hover: hover) and (pointer: fine) {
	.functions_nav_link:hover {
		color: var(--c_accent2);
	}
	.functions_nav_link:hover::after {
		opacity: 1;
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
.functions_nav_link:focus-visible {
	outline: 3px solid var(--c_accent2);
	outline-offset: 3px;
}
.functions_message {
	position: absolute;
	top: -85px;
	left: 50%;
	z-index: 3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: min(60%, 616px);
	-webkit-transform: translate(-50%, 0);
	        transform: translate(-50%, 0);
}
.functions_message._left {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
}
.functions_message._left .functions_message_illust {
	z-index: -1;
	margin-right: max(-1.3333vw, -20px);
	margin-left: none;
}
.functions_message_illust {
	position: relative;
	z-index: 2;
	width: min(10.3334vw, 155px);
	margin-left: max(-1vw, -25px);
}
.functions_message_balloon {
	--pixel_frame_border_color: #fff;
	--pixel_frame_background_color: #111;
	--pixel_frame_border_width: 3px;
	position: relative;
	width: 78.5715%;
	padding: 24px 35px;
	font-size: var(--font-size14);
	font-weight: 500;
	line-height: 1.6429;
	color: #fff;
}
.functions_message_balloon .pixel_arrow {
	position: absolute;
	right: 18px;
	bottom: 16px;
	background: #fff;
}
@media screen and (max-width: 800px) {
	.functions_group {
		padding-bottom: 27.5001vw;
		background-size: 56.25vw auto;
	}
	.functions_group.c_dive {
		padding-top: 5vw;
		padding-bottom: 30vw;
	}
	.functions_group.c_analyze {
		padding-top: 7.5vw;
		padding-bottom: 17.5vw;
		padding-bottom: 20vw;
	}
	.functions_group + .functions_group {
		margin-top: 0;
		border-radius: 0;
	}
	.functions_bg_layer {
		background-image: url("../../../image/feature/expectation/functions_bg_sp.webp");
		background-size: 100% auto;
	}
	.functions_ticker {
		padding: 12vw 0 7.0001vw;
	}
	.functions_ticker_large {
		height: auto;
		font-size: 11.5vw;
	}
	.functions_ticker_small {
		margin-top: 3.75vw;
		font-size: 2.25vw;
	}
	.functions_ticker_set {
		gap: 5vw;
	}
	.functions_ticker_set img {
		height: 11.5vw;
	}
	.functions_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		width: 100%;
	}
	.functions_items {
		row-gap: 15vw;
	}
	.functions_item {
		position: relative;
		width: 95.75vw;
		padding: 15vw 3.75vw 12.5vw 7.5vw;
		border-radius: 0 15vw 15vw 0;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}
	.functions_item::before {
		position: absolute;
		top: 3.75vw;
		left: 0;
		z-index: -1;
		width: calc(100% + 2.5vw);
		height: 100%;
		border-radius: 0 16.25vw 16.25vw 0;
		background-color: rgba(0, 0, 0, 0.15);
		content: "";
		display: block;
	}
	.functions_item_number {
		top: -4vw;
		left: 5vw;
		gap: 1.5vw;
	}
	.functions_item_number span {
		width: 27.2501vw;
	}
	.functions_item_number em {
		display: none;
		margin-bottom: 0.75vw;
		padding: 1.25vw 2.5vw;
		font-size: 2.75vw;
	}
	.functions_item_top {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		row-gap: 6.25vw;
	}
	.functions_item_information {
		width: 97.6332%;
		-ms-flex-item-align: stretch;
		    -ms-grid-row-align: stretch;
		    align-self: stretch;
		row-gap: 0;
	}
	.functions_item_title {
		font-size: 11.5vw;
		line-height: 1.1;
	}
	.functions_item_title small {
		font-size: 7.6188vw;
		line-height: 1.4;
	}
	.functions_item_lead {
		font-size: 4.75vw;
		line-height: 1.4737;
	}
	.functions_item_description {
		margin-top: 3vw;
		font-size: 3.25vw;
		line-height: 1.5385;
	}
	.functions_item_card {
		width: 82vw;
		margin-right: 0;
		margin-left: -2.5vw;
	}
	.functions_point {
		position: relative;
		z-index: 1;
		margin-top: 7.0001vw;
		padding-top: 6vw;
	}
	.functions_point_heading {
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	.functions_point_heading h4 {
		margin-top: 0.2em;
		font-size: 3vw;
	}
	.functions_point_heading h4 em {
		margin: 0;
	}
	.functions_point_heading p {
		font-size: 2.75vw;
	}
	.functions_point_heading span {
		font-size: 2.5vw;
		line-height: 1.44;
		text-align: right;
	}
	.functions_point_caption {
		width: 78vw;
		margin-top: 2.5vw;
		font-size: 3.25vw;
	}
	.functions_point_list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 78vw;
		margin-top: 6vw;
		row-gap: 1.25vw;
	}
	.functions_point_list li {
		padding: 2.5vw 0;
		padding-left: 14.75vw;
		font-size: 3vw;
		line-height: 1.5385;
		text-align: left;
	}
	.functions_point_list li::before {
		top: 50%;
		left: 3vw;
		width: 9vw;
		aspect-ratio: 72/50;
		font-size: 2.25vw;
		translate: 0 -50%;
		rotate: -15deg;
	}
	.functions_point_list li mark {
		font-size: 1.0834em;
	}
	.functions_point::before, .functions_comment::before {
		left: 4vw;
	}
	.functions_point::after, .functions_comment::after {
		top: -0.75vw;
		width: 1.5vw;
	}
	.functions_movie {
		--pixel_frame_border_width: 1vw;
		position: relative;
		z-index: 2;
		width: 78vw;
		margin: 3.75vw 0 0;
		padding: 1vw;
	}
	.functions_movie_badge {
		display: none;
	}
	.functions_movie_guide {
		bottom: -10.75vw;
		width: 17vw;
	}
	.functions_movie_guide > span {
		top: 3vw;
		left: calc(50% + 2.25vw);
		height: 8.5vw;
		padding: 0.8em 0.6em 0 1em;
		font-size: 2vw;
		line-height: 1.25;
	}
	.functions_movie_guide > span::after {
		bottom: -1.25vw;
		width: 2vw;
	}
	.functions_item:nth-child(odd) .functions_movie_guide {
		bottom: -16.25vw;
		left: 0.6667vw;
	}
	.functions_item:nth-child(even) .functions_movie_guide {
		right: 7.5vw;
		bottom: -16.25vw;
	}
	.functions_comment {
		width: 100%;
		margin-top: 6.75vw;
		padding-top: 6.75vw;
	}
	.functions_comment_title {
		width: 50.5vw;
		margin: 0 0 -6.25vw 2.5vw;
	}
	.functions_comment_body, .functions_comment.c_left .functions_comment_body {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		width: 78vw;
		padding: 11.25vw 5vw 5vw;
		border-radius: 3.5001vw;
	}
	.functions_comment_body p, .functions_comment.c_left .functions_comment_body p {
		width: 100%;
		margin-top: 2.5vw;
		font-size: 3.25vw;
		line-height: 1.6924;
	}
	.functions_comment_label, .functions_comment.c_left .functions_comment_label {
		position: relative;
		inset: auto;
		width: auto;
		font-size: 3.75vw;
		font-weight: 700;
		color: var(--functions_accent);
	}
	.functions_comment_illust, .functions_comment.c_left .functions_comment_illust {
		bottom: auto;
		left: auto;
		translate: 0 -100%;
	}
	.functions_comment_illust {
		top: 15vw;
		right: 2.5vw;
		width: 19.5vw;
	}
	.functions_comment.c_left .functions_comment_illust {
		top: 15vw;
		right: 1.25vw;
		width: 21vw;
	}
	.functions_nav {
		position: relative;
		inset: auto;
		width: 85vw;
		margin: 0 auto 12.5vw;
	}
	.functions_nav_title {
		gap: 3vw;
		padding-bottom: 6px;
		border-bottom: none;
	}
	.functions_nav_title span {
		width: 15.25vw;
		aspect-ratio: 122/66;
		font-size: 2.75vw;
		-webkit-transform: rotate(-15deg);
		        transform: rotate(-15deg);
	}
	.functions_nav_title img {
		height: 4.75vw;
	}
	.functions_nav_list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.functions_nav_list li {
		width: 49%;
	}
	.functions_nav_link {
		-ms-grid-columns: 6.25vw 1fr;
		grid-template-columns: 6.25vw 1fr;
		-webkit-font-feature-settings: "palt";
		        font-feature-settings: "palt";
	}
	.functions_nav_link > span {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		font-size: 2vw;
	}
	.functions_nav_link strong {
		font-size: 3.5001vw;
		font-weight: 700;
	}
	.functions_nav_link small {
		display: none;
	}
	.functions_message {
		top: -17vw;
		left: calc(50% - 2.5vw);
		width: 81.5vw;
	}
	.functions_message_illust {
		width: 20.75vw;
		margin-right: -5vw;
	}
	.functions_message_balloon {
		--pixel_frame_border_width: 0.375vw;
		width: 65.5vw;
		padding: 3.5001vw 6.5vw;
		font-size: 2.5vw;
		line-height: 1.5;
	}
}

@media screen and (min-width: 1501px) {
	.functions_item {
		border-radius: 150px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.functions_ticker_track {
		-webkit-animation-play-state: paused;
		        animation-play-state: paused;
	}
	.functions_movie_badge::before {
		-webkit-animation: none;
		        animation: none;
	}
}
/* ========================================

voice

======================================== */
.voice {
	position: relative;
	padding-bottom: calc(min(24vw, 360px) + 90px);
	overflow: hidden;
	background-color: #dcedf4;
	background-image: url("../../../image/feature/expectation/voice_bg.png"), url("../../../image/feature/expectation/voice_bg_texture.webp");
	background-position: calc(50% - min(7.3334vw, 110px)) -25px, center top;
	background-repeat: repeat, repeat;
	background-size: auto min(17.2vw, 258px), 1500px auto;
}
.voice_ticker {
	height: 32px;
	overflow: hidden;
	background: #2a2727;
	color: #fff;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.voice_ticker_track, .voice_ticker_set {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
.voice_ticker_track {
	-webkit-animation: slide_loop_x 35s linear infinite;
	        animation: slide_loop_x 35s linear infinite;
}
.voice_ticker_set {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 32px;
}
.voice_ticker_set span {
	font-family: "Space Mono", monospace;
	font-weight: 400;
	padding: 0 6px;
	white-space: nowrap;
	font-size: var(--font-size14);
}
.voice_intro {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: min(88%, 1320px);
	margin: 0 auto;
	padding-top: min(16.6667vw, 250px);
}
.voice_heading {
	display: -ms-grid;
	display: grid;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: min(53.3334vw, 670px);
	margin-top: max(-5.3333vw, -80px);
	-ms-grid-columns: min(30.8667vw, 463px) 1fr;
	grid-template-columns: min(30.8667vw, 463px) 1fr;
	row-gap: 6px;
}
.voice_label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: min(10.8vw, 162px);
	height: min(3.0667vw, 46px);
	margin-left: 10px;
	border: 2px dotted #111;
	border-radius: 50%;
	background: var(--c_accent1);
	font-size: 1vw;
	font-weight: 500;
	-webkit-transform: rotate(-10deg);
	        transform: rotate(-10deg);
}
.voice_title {
	-ms-grid-row: 2;
	grid-row: 2;
	grid-column: 1/-1;
	width: min(30.8667vw, 463px);
}
.voice_title span,
.voice_title img {
	display: block;
}
.voice_caption {
	z-index: 1;
	margin-bottom: 1em;
	margin-left: -1em;
	padding: 1px 16px 2px;
	background: #364eec;
	white-space: nowrap;
	color: #fff;
	-ms-grid-row: 2;
	grid-row: 2;
	-ms-grid-column: 2;
	grid-column: 2;
	-ms-grid-row-align: end;
	    align-self: end;
	-ms-grid-column-align: start;
	    justify-self: start;
	font-family: "Space Mono", monospace;
	font-weight: 400;
	font-size: var(--font-size15);
}
.voice_message {
	position: relative;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: min(31.6667vw, 475px);
}
.voice_illust {
	position: absolute;
	top: max(-6.4vw, -96px);
	right: min(2.6667vw, 40px);
	z-index: 1;
	width: min(9.8667vw, 148px);
	margin: 0;
}
.voice_illust img {
	display: block;
}
.voice_balloon {
	position: relative;
	z-index: 2;
	padding: min(1.8vw, 27px) min(2.3334vw, 35px) calc(min(1.8vw, 27px) - 0.3em);
	-webkit-transform-origin: 0 50%;
	        transform-origin: 0 50%;
}
.voice_balloon_text {
	font-weight: 500;
	line-height: 1.6;
	white-space: pre-line;
	font-size: var(--font-size14);
}
.voice_balloon .pixel_arrow {
	position: absolute;
	right: 14px;
	bottom: 15px;
}
.voice_slider {
	margin-top: 63px;
	padding: 0 min(6vw, 90px) 40px;
	overflow: visible;
}
.voice_slider .swiper-wrapper {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	width: 100%;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
}
.voice_slide {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: min(27.7334vw, 416px);
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
}
.voice_slide.c_lower .voice_card {
	-webkit-transform: translateY(min(2.6667vw, 40px));
	        transform: translateY(min(2.6667vw, 40px));
}
.voice_slide[data-voice-color="1"] .voice_card {
	background-color: var(--c_key1);
}
.voice_slide[data-voice-color="2"] .voice_card {
	background-color: var(--c_key2);
}
.voice_slide[data-voice-color="3"] .voice_card {
	background-color: var(--c_key3);
}
.voice_card {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: clamp(0px, 2.4vw, 36px) clamp(0px, 3.4vw, 51px);
	border-radius: min(2.6667vw, 40px) 0 0 min(2.6667vw, 40px);
	font-weight: 500;
	line-height: 1.875;
	letter-spacing: 0.01em;
	color: #fff;
	-webkit-box-shadow: min(0.6667vw, 10px) min(0.6667vw, 10px) rgba(17, 17, 17, 0.14);
	        box-shadow: min(0.6667vw, 10px) min(0.6667vw, 10px) rgba(17, 17, 17, 0.14);
	-webkit-transition: -webkit-transform 0.65s cubic-bezier(0.33, 1, 0.68, 1);
	transition: -webkit-transform 0.65s cubic-bezier(0.33, 1, 0.68, 1);
	transition: transform 0.65s cubic-bezier(0.33, 1, 0.68, 1);
	transition: transform 0.65s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.65s cubic-bezier(0.33, 1, 0.68, 1);
	font-size: var(--font-size16);
}
.voice_pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-top: 61px;
	-webkit-column-gap: 30px;
	   -moz-column-gap: 30px;
	        column-gap: 30px;
}
.voice_arrow {
	width: 25px;
	height: 26px;
	padding: 0;
	border: 0;
	background: transparent;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	cursor: pointer;
	-webkit-transition: opacity 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: opacity 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.voice_arrow:focus-visible {
	outline: 2px solid #364eec;
	outline-offset: 4px;
	border-radius: 2px;
}
.voice_arrow span,
.voice_arrow img {
	display: block;
}
.voice_arrow.swiper-button-disabled {
	cursor: default;
}
.voice_prev {
	-webkit-transform: rotate(180deg);
	        transform: rotate(180deg);
}
.voice_fraction {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 55px;
	aspect-ratio: 1;
	border: 1px solid #364eec;
	border-radius: 50%;
	background-color: #fff;
	color: #364eec;
	font-size: var(--font-size16);
	font-family: "Space Mono", monospace;
	font-weight: 400;
}
@media screen and (max-width: 800px) {
	.voice {
		background-size: auto 129px, 750px auto;
	}
	.voice_ticker {
		height: 30px;
	}
	.voice_ticker_set {
		height: 30px;
	}
	.voice_ticker_set span {
		padding: 0 5px;
		font-size: var(--font-size10);
	}
	.voice_ticker_large span {
		font-size: 11.5vw;
	}
	.voice_ticker_small {
		margin-top: 30px;
	}
	.voice_ticker_small span {
		font-size: 2.25vw;
	}
	.voice_intro {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 100%;
		padding-top: 8.75vw;
	}
	.voice_heading {
		-ms-grid-columns: 61.1703% 1fr;
		grid-template-columns: 61.1703% 1fr;
		width: 95vw;
		row-gap: 0;
		margin: 0 auto;
	}
	.voice_label {
		width: 23.5vw;
		height: 7.25vw;
		border-width: 1px;
		font-size: 2.5vw;
	}
	.voice_title {
		width: 66vw;
	}
	.voice_caption {
		margin-left: auto;
		padding: 0 7px 1px;
		font-size: 2.5vw;
	}
	.voice_message {
		-ms-flex-item-align: end;
		    align-self: flex-end;
		width: 65.5vw;
		margin-top: 4.75vw;
		margin-right: 4.25vw;
	}
	.voice_illust {
		top: 2.5vw;
		right: auto;
		left: -18vw;
		z-index: 3;
		width: 20.75vw;
	}
	.voice_balloon {
		--pixel_frame_border_width: 0.375vw;
		padding: 4vw 5vw;
	}
	.voice_balloon_text {
		font-size: 2.5vw;
		line-height: 1.5;
	}
	.voice_balloon .pixel_arrow {
		right: 3vw;
		bottom: 2.5vw;
		width: 2.25vw;
	}
	.voice_slider {
		margin-top: 8.5vw;
		padding-right: 6vw;
		padding-bottom: 5vw;
		padding-left: 6vw;
	}
	.voice_slide {
		width: 69.5vw;
	}
	.voice_slide.c_lower .voice_card {
		-webkit-transform: translateY(6.75vw);
		        transform: translateY(6.75vw);
	}
	.voice_card {
		padding: 5vw 8vw;
		border-radius: 7.5vw 0 0 7.5vw;
		-webkit-box-shadow: 1.25vw 1.25vw rgba(17, 17, 17, 0.14);
		        box-shadow: 1.25vw 1.25vw rgba(17, 17, 17, 0.14);
		font-size: 3vw;
		line-height: 1.6667;
	}
	.voice_pagination {
		margin-top: 7.5vw;
		-webkit-column-gap: 3.75vw;
		   -moz-column-gap: 3.75vw;
		        column-gap: 3.75vw;
	}
	.voice_fraction {
		width: 11vw;
		font-size: 3vw;
	}
}

@media (prefers-reduced-motion: reduce) {
	.intro_arrows .pixel_arrow,
	.intro_loop_track,
	.voice_ticker_track {
		-webkit-animation-play-state: paused;
		        animation-play-state: paused;
	}
	.voice_card {
		-webkit-transition-duration: 0s;
		        transition-duration: 0s;
	}
}
/* ========================================

cta

======================================== */
@-webkit-keyframes cta_arrow_blink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.5;
	}
}
@keyframes cta_arrow_blink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.5;
	}
}
.expectation:not(:has(.voice)) .cta {
	margin-top: 0;
}
.expectation:not(:has(.voice)) .cta::before {
	display: none;
}
.expectation:not(:has(.voice)) .cta_parallax {
	top: 0;
}
.expectation:not(:has(.voice)) .cta_inner {
	padding-top: min(13.3334vw, 200px);
}

.cta {
	position: relative;
	margin-top: max(-24vw, -360px);
	padding-bottom: 80px;
	overflow: hidden;
	color: #fff;
}
.cta::before {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	width: min(112.4vw, 1686px);
	height: min(24vw, 360px);
	background: url("../../../image/feature/expectation/cta_bg_top.webp") 50% 0/100% auto no-repeat;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	content: "";
	display: block;
}
.cta_parallax {
	top: min(23.9334vw, 359px);
	--parallax_bleed: 0px;
}
.cta_parallax_texture {
	background: url("../../../image/feature/expectation/cta_bg01.webp") 50% 0/1500px auto repeat;
}
.cta_parallax_visual {
	background: url("../../../image/feature/expectation/cta_bg02.webp") 50% 0/min(100vw, 1630px) auto no-repeat;
}
.cta_cloud {
	position: absolute;
	z-index: 2;
	display: block;
	max-width: none;
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.cta_cloud01 {
	top: calc(min(24vw, 360px) + 120px);
	left: 50%;
	width: min(129.6154vw, 1685px);
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}
.cta_cloud02 {
	top: -29px;
	right: -94px;
	z-index: 2;
	width: 272px;
}
.cta_cloud03 {
	right: 50%;
	bottom: 0;
	width: 344px;
	margin-right: min(24vw, 360px);
}
.cta_inner {
	position: relative;
	z-index: 3;
	width: min(88vw, 1320px);
	margin: 0 auto;
	padding-top: min(20.6667vw, 310px);
}
.cta_welcome {
	text-align: center;
}
.cta_welcome_title {
	position: relative;
	display: inline-block;
	font-size: min(7.8667vw, 118px);
	text-align: center;
	color: var(--c_accent2);
	font-family: "Press Start 2P", system-ui;
	font-weight: 400;
}
.cta_welcome_balloon {
	position: absolute;
	top: min(0.5334vw, 8px);
	left: min(7.8667vw, 118px);
	width: min(5.0667vw, 76px);
	translate: 0 -100%;
}
.cta_full {
	width: min(100%, 1150px);
	margin: 60px auto 0;
}
.cta_heading {
	text-align: center;
}
.cta_badge {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	height: 44px;
	padding: 0 40px;
	padding-bottom: 0.1em;
	border-radius: 230px;
	background: #fff;
	font-weight: 700;
	color: #1a92bf;
	font-size: var(--font-size20);
}
.cta_title {
	margin-top: 36px;
	font-weight: 700;
	font-size: var(--font-size56);
}
.cta_description {
	margin-top: 20px;
	font-weight: 500;
	line-height: 2;
	font-size: var(--font-size16);
}
.cta_full_choices {
	position: relative;
	display: -ms-grid;
	display: grid;
	margin-top: 60px;
	padding-bottom: 20px;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
}
.cta_full_choices::before {
	position: absolute;
	top: -20px;
	bottom: 0;
	left: 50%;
	border-left: 2px dotted #fff;
	content: "";
}
.cta_choice {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
}
.cta_choice_label {
	margin-bottom: 25px;
	font-weight: 700;
	letter-spacing: 0.04em;
	font-size: var(--font-size30);
}
.cta_choice_lead {
	margin-bottom: 10px;
	font-weight: 700;
	font-size: var(--font-size20);
}
.cta_choice_condition {
	display: inline-block;
	padding: 8px 10px 9px;
	background: #fff;
	font-weight: 700;
	white-space: nowrap;
	color: #231815;
	-webkit-transform: skewX(-8deg);
	        transform: skewX(-8deg);
	font-size: var(--font-size20);
}
.cta_choice.c_account .cta_choice_lead {
	color: var(--c_accent1);
}
.cta_choice.c_account .cta_choice_condition {
	background: var(--c_accent1);
}
.cta_button {
	--pixel_frame_border_width: 3px;
	--cta_button_shadow_step2: calc(var(--pixel_frame_border_width) * 2);
	position: relative;
	width: min(86%, 462px);
	margin: 18px auto 0;
}
.cta_button::before {
	position: absolute;
	bottom: -9px;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(17, 17, 17, 0.25);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cta_button_shadow_step2)), calc(100% - var(--pixel_frame_border_width)) calc(100% - var(--cta_button_shadow_step2)), calc(100% - var(--pixel_frame_border_width)) calc(100% - var(--pixel_frame_border_width)), calc(100% - var(--cta_button_shadow_step2)) calc(100% - var(--pixel_frame_border_width)), calc(100% - var(--cta_button_shadow_step2)) 100%, var(--cta_button_shadow_step2) 100%, var(--cta_button_shadow_step2) calc(100% - var(--pixel_frame_border_width)), var(--pixel_frame_border_width) calc(100% - var(--pixel_frame_border_width)), var(--pixel_frame_border_width) calc(100% - var(--cta_button_shadow_step2)), 0 calc(100% - var(--cta_button_shadow_step2)));
	content: "";
}
.cta_button::after {
	position: absolute;
	bottom: var(--pixel_frame_border_width);
	left: var(--pixel_frame_border_width);
	z-index: 3;
	width: calc(100% - var(--pixel_frame_border_width) * 2);
	height: calc(var(--pixel_frame_border_width) * 2);
	background: rgba(0, 0, 0, 0.15);
	content: "";
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	clip-path: polygon(0 0, var(--pixel_frame_border_width) 0, var(--pixel_frame_border_width) var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) 0, 100% 0%, 100% var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) var(--pixel_frame_border_width), calc(100% - var(--pixel_frame_border_width)) 100%, var(--pixel_frame_border_width) 100%, var(--pixel_frame_border_width) calc(100% - var(--pixel_frame_border_width)), 0 var(--pixel_frame_border_width));
}
@media (hover: hover) and (pointer: fine) {
	.cta_button:hover::after {
		-webkit-transform: translateY(6px);
		        transform: translateY(6px);
	}
	.cta_button:hover .cta_button_link {
		-webkit-transform: translateY(6px);
		        transform: translateY(6px);
		--pixel_frame_background_color: #f6f6f6;
	}
	.cta_button:hover.c_yellow .cta_button_link {
		--pixel_frame_background_color: var(--c_accent2);
	}
	.cta_button:hover .pixel_arrow {
		-webkit-animation: cta_arrow_blink 1s steps(1, end) infinite;
		        animation: cta_arrow_blink 1s steps(1, end) infinite;
	}
}
.cta_button_link {
	position: relative;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
	height: 110px;
	font-weight: 700;
	color: #111;
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	font-size: var(--font-size24);
}
.cta_button_link:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 4px;
}
.cta_button_link:focus-visible .pixel_arrow {
	-webkit-animation: cta_arrow_blink 1s steps(1, end) infinite;
	        animation: cta_arrow_blink 1s steps(1, end) infinite;
}
.cta_button .pixel_arrow {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 15px;
	margin-right: 8px;
	-webkit-animation: none;
	        animation: none;
	scale: 0.8 1;
}
.cta_button_text {
	padding-bottom: 0.1em;
}
.cta_button.c_yellow .cta_button_link {
	--pixel_frame_background_color: var(--c_accent1);
}
.cta_light {
	width: min(100%, 1150px);
	margin: 70px auto 0;
}
.cta_light .cta_title {
	font-size: var(--font-size48);
}
.cta_light .cta_badge {
	height: 42px;
	font-size: var(--font-size18);
}
.cta_light_card {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-top: 40px;
	padding: 40px min(5.3334vw, 80px);
	border-radius: 20px;
	background: #fff;
	-webkit-column-gap: 30px;
	   -moz-column-gap: 30px;
	        column-gap: 30px;
	color: #231815;
}
.cta_light_text {
	width: 464px;
	font-weight: 500;
	line-height: 1.8667;
	font-size: var(--font-size15);
}
.cta_light_title {
	margin-bottom: 20px;
	font-weight: 700;
	line-height: 1.4286;
	color: #0077d0;
	font-size: var(--font-size21);
}
.cta_light_action {
	width: min(100%, 460px);
}
.cta_light_action .cta_button {
	width: 100%;
	margin-top: 20px;
}
.cta_light_action .cta_button_link {
	height: 94px;
	font-size: min(1.76vw, 22px);
}
.cta_light_action .cta_button_link .pixel_arrow {
	width: min(1.2vw, 15px);
}
.cta_light_now {
	font-weight: 700;
	text-align: center;
	font-size: var(--font-size22);
}
.cta_light_now::before, .cta_light_now::after {
	display: inline-block;
	width: 4px;
	height: 26px;
	margin: 0 16px -5px;
	background: #111;
	content: "";
}
.cta_light_now::before {
	-webkit-transform: rotate(-27deg);
	        transform: rotate(-27deg);
}
.cta_light_now::after {
	-webkit-transform: rotate(27deg);
	        transform: rotate(27deg);
}
.cta_compare {
	margin-top: 110px;
}
.cta_compare_heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.cta_compare_title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-weight: 700;
	font-size: var(--font-size40);
}
.cta_compare_caption {
	padding: 3px 10px;
	background: #364eec;
	font-family: "Space Mono", monospace;
	font-weight: 400;
	font-size: var(--font-size15);
}
.cta_compare_table_wrap {
	margin-top: 35px;
	padding: 58px 67px 64px;
	border: 1.5px dotted #2a2a2a;
	border-radius: 20px;
	background: #faf8f8;
	color: #111;
}
.cta_compare_table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.cta_compare_table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	border: 0;
	white-space: nowrap;
	clip: rect(0 0 0 0);
}
.cta_compare_table th,
.cta_compare_table td {
	vertical-align: middle;
}
.cta_compare_table thead {
	border-bottom: 1.5px dotted #2a2a2a;
}
.cta_compare_table thead tr {
	height: 88px;
}
.cta_compare_table thead th {
	font-weight: 500;
	text-align: center;
	font-size: var(--font-size16);
}
.cta_compare_table thead th span {
	display: inline-block;
	padding: 10px 20px;
	border: 1.5px dotted #2a2a2a;
	border-radius: 150px;
	background: #fff;
}
.cta_compare_table thead th:last-child span {
	border-color: #f00;
	color: #f00;
}
.cta_compare_table tbody tr {
	border-bottom: 1.5px dotted #2a2a2a;
}
.cta_compare_table tbody th {
	padding: 30px 0;
	font-weight: 700;
	text-align: left;
	font-size: var(--font-size16);
}
.cta_compare_table tbody td {
	padding: 30px 0;
	font-weight: 700;
	text-align: center;
	font-size: var(--font-size18);
}
.cta_compare_table tbody td b,
.cta_compare_table tbody td small {
	display: block;
}
.cta_compare_table tbody td small {
	margin-top: 4px;
	font-weight: 400;
	font-size: var(--font-size14);
}
.cta_compare_function {
	width: 36%;
}
.cta_compare_light, .cta_compare_full {
	width: 22%;
}
.cta_compare_note {
	margin-top: 13px;
	font-weight: 500;
	text-align: right;
	font-size: var(--font-size15);
}
.cta_ng {
	font-weight: 700;
}
.cta_circle {
	display: inline-block;
	width: 18px;
	aspect-ratio: 1;
	border: 3px solid #e95433;
	border-radius: 50%;
}
@media screen and (max-width: 800px) {
	.cta {
		margin-top: -32.5vw;
		padding-bottom: 10vw;
	}
	.cta::before {
		width: 100%;
		height: 32.5vw;
		background-image: url("../../../image/feature/expectation/cta_bg_top_sp.webp");
	}
	.cta_parallax {
		top: 32.25vw;
		--parallax_bleed: 15vw;
	}
	.cta_parallax_texture {
		background-size: 375vw auto;
	}
	.cta_parallax_visual {
		background-image: url("../../../image/feature/expectation/cta_bg02_sp.webp");
		background-size: 164.75vw auto;
	}
	.cta_bg_top {
		width: 187.5vw;
		aspect-ratio: 5/1;
		background-image: url("../../../image/feature/expectation/cta_bg_top_sp.webp");
	}
	.cta_cloud01 {
		top: 65vw;
		left: -42.5vw;
		width: 275vw;
		-webkit-transform: none;
		        transform: none;
	}
	.cta_cloud02 {
		top: -61.25vw;
		right: -36.25vw;
		z-index: 0;
		width: 49.25vw;
	}
	.cta_cloud03 {
		bottom: 11vw;
		left: -40vw;
		display: none;
		width: 61.875vw;
	}
	.cta_inner {
		width: 100%;
		padding-top: 37.5vw;
	}
	.cta_welcome_title {
		font-size: 12.25vw;
	}
	.cta_welcome_balloon {
		top: 0;
		left: 10vw;
		width: 14.25vw;
	}
	.cta_full {
		width: 80.5vw;
		height: 160vw;
		margin-top: 10vw;
	}
	.cta_badge {
		padding: 1.25vw 5vw;
		font-size: 3.25vw;
	}
	.cta_title {
		margin-top: 5vw;
		font-size: 8vw;
	}
	.cta_description {
		margin-top: 6.25vw;
		font-size: 3.25vw;
		line-height: 1.6924;
	}
	.cta_full_choices {
		display: block;
		margin-top: 7.5vw;
	}
	.cta_full_choices::before {
		display: none;
	}
	.cta_choice + .cta_choice {
		margin-top: 7.5vw;
	}
	.cta_choice_label {
		margin-bottom: 2.5vw;
		font-size: 4.5vw;
	}
	.cta_choice_lead {
		margin-bottom: 3.75vw;
		font-size: 4vw;
	}
	.cta_choice_condition {
		margin-bottom: 1.25vw;
		padding: 1vw 1.25vw 1.5vw;
		font-size: 4vw;
	}
	.cta_button {
		--pixel_frame_border_width: 0.5vw;
		width: 71.25vw;
		margin-top: 2.5vw;
	}
	.cta_button::before {
		bottom: calc(var(--pixel_frame_border_width) * -5);
	}
	.cta_button::after {
		bottom: calc(var(--pixel_frame_border_width) * 1);
		height: var(--pixel_frame_border_width);
		opacity: 0.5;
	}
	.cta_button_link {
		--pixel_frame_border_width: 0.5vw;
		height: 25.5vw;
		font-size: 4.5vw;
	}
	.cta_button .pixel_arrow {
		width: 2.5vw;
		margin-right: 1.5vw;
	}
	.cta_light {
		width: 91vw;
		height: 119.25vw;
		margin-top: 12.5vw;
	}
	.cta_light .cta_title {
		font-size: 7.0001vw;
	}
	.cta_light .cta_badge {
		font-size: 3vw;
	}
	.cta_light_card {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 85vw;
		margin: 6.25vw auto 0;
		padding: 7.5vw 10vw;
		border-radius: 2.5vw;
	}
	.cta_light_text {
		width: 70vw;
		font-size: 3vw;
		line-height: 1.8334;
	}
	.cta_light_title {
		margin-bottom: 2.5vw;
		font-size: 4vw;
		line-height: 1.5;
		text-align: center;
	}
	.cta_light_action {
		width: 70vw;
		margin-top: 5vw;
	}
	.cta_light_action .cta_button {
		width: 70vw;
		margin-top: 3vw;
	}
	.cta_light_action .cta_button::before {
		bottom: calc(var(--pixel_frame_border_width) * -2);
	}
	.cta_light_action .cta_button_link {
		height: 14.25vw;
		font-size: 3vw;
	}
	.cta_light_action .cta_button_link .pixel_arrow {
		width: 1.875vw;
		margin-right: 1vw;
	}
	.cta_light_now {
		font-size: 3.75vw;
	}
	.cta_light_now::before, .cta_light_now::after {
		width: 0.375vw;
		height: 3.5001vw;
		margin: 0 2vw -0.5vw;
	}
	.cta_compare {
		width: 92.5vw;
		margin: 12.375vw auto 0;
	}
	.cta_compare_heading {
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	.cta_compare_title {
		font-size: 5.5vw;
	}
	.cta_compare_title .pixel_arrow {
		width: 2.75vw;
		margin-right: 2vw;
	}
	.cta_compare_caption {
		margin-top: 2vw;
		padding: 0.25vw 1.25vw;
		font-size: 2.5vw;
	}
	.cta_compare_table_wrap {
		margin-top: 4vw;
		padding: 7.25vw 3vw 7.75vw;
		border-width: 1px;
		border-radius: 2.5vw;
	}
	.cta_compare_table thead {
		border-width: 1px;
	}
	.cta_compare_table thead tr {
		height: 11vw;
	}
	.cta_compare_table thead th {
		font-size: 2.5vw;
	}
	.cta_compare_table thead th span {
		padding: 1.25vw 2.5vw;
		border-width: 1px;
	}
	.cta_compare_table tbody tr {
		height: 14.0001vw;
		border-width: 1px;
	}
	.cta_compare_table tbody th {
		font-size: 2.75vw;
		line-height: 1.3;
	}
	.cta_compare_table tbody td {
		font-size: 2.75vw;
	}
	.cta_compare_table tbody td small {
		margin-top: 0.5vw;
		font-size: 2.75vw;
		line-height: 1.4286;
	}
	.cta_compare_function {
		width: 39%;
	}
	.cta_compare_light, .cta_compare_full {
		width: 30.5%;
	}
	.cta_compare_note {
		margin-top: 1.7501vw;
		font-size: 1.875vw;
	}
	.cta_circle {
		width: 2.75vw;
		border-width: 0.5vw;
	}
}

@media (prefers-reduced-motion: reduce) and (hover: hover) and (pointer: fine) {
	.cta_button:hover .cta_button_arrow {
		-webkit-animation: none;
		        animation: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cta_button_link:focus-visible .cta_button_arrow {
		-webkit-animation: none;
		        animation: none;
	}
	.cta_button_link {
		-webkit-transition-duration: 0s;
		        transition-duration: 0s;
	}
}
/* ========================================

disclaimer

======================================== */
.disclaimer {
	position: relative;
	padding-bottom: 100px;
	background: #292929;
	color: #fff;
}
.disclaimer_notice {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	height: 8rem;
	padding: 0 20px;
	background: #fff;
	font-weight: 500;
	line-height: 2;
	text-align: center;
	color: #292929;
	font-size: var(--font-size16);
}
.disclaimer_inner {
	width: min(88%, 1320px);
	margin: 100px auto 0;
	font-size: var(--font-size16);
	line-height: 2.125;
	letter-spacing: 0.01em;
}
.disclaimer_inner p {
	font-size: var(--font-size18);
	margin: 0;
	font-weight: 400;
}
.disclaimer .common_disclaimer > div {
	margin-bottom: 32px;
}
.disclaimer .common_disclaimer > div:last-child {
	margin-bottom: 0;
	padding-right: min(9.3334vw, 140px);
}
.disclaimer .pagetop {
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(9.6vw, 144px);
	margin-bottom: max(-2.9333vw, -44px);
	cursor: pointer;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.disclaimer .pagetop:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 4px;
}
.disclaimer .pagetop_balloon {
	position: absolute;
	top: 0;
	left: -27.7777%;
	display: block;
	width: 72.9167%;
	margin-top: -38.1944%;
	-webkit-transform: rotate(-15deg);
	        transform: rotate(-15deg);
	-webkit-transform-origin: 50% 100%;
	        transform-origin: 50% 100%;
}
.disclaimer .pagetop_illust {
	margin-left: auto;
}
@media screen and (max-width: 800px) {
	.disclaimer {
		padding-bottom: 50px;
	}
	.disclaimer_notice {
		padding: 2.5455em 0;
		font-size: 2.75vw;
		line-height: 1.4546;
	}
	.disclaimer_inner {
		width: 91.25%;
		margin-top: 10vw;
		font-size: 2.75vw;
		line-height: 1.5455;
	}
	.disclaimer_inner p {
		font-size: inherit;
	}
	.disclaimer_inner .common_disclaimer > div {
		margin-bottom: 4.25vw;
	}
	.disclaimer_inner .common_disclaimer:last-child {
		padding-right: 0;
	}
	.disclaimer .pagetop {
		bottom: -72px;
		width: 74px;
		margin-bottom: 0;
	}
	.disclaimer .pagetop_balloon {
		width: 75.6757%;
		margin-top: -20px;
	}
}
/*# sourceMappingURL=common.css.map */