@import "swiper-bundle.min.css";
@-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;
	}
}
.kv {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
.kv::before {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 12.1334vw;
	background-color: var(--c_base);
	-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/top/kv_mask.svg");
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 100%), url("../img/top/kv_mask.svg");
	        mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/top/kv_mask.svg");
	        mask-image: linear-gradient(180deg, #000 0%, #000 100%), url("../img/top/kv_mask.svg");
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: 0 -0.5px, 50% -0.5px;
	        mask-position: 0 -0.5px, 50% -0.5px;
	-webkit-mask-size: 100% 100%, min(100%, 1500px) auto;
	        mask-size: 100% 100%, min(100%, 1500px) auto;
	-webkit-mask-size: 100% 101%, 100% auto;
	        mask-size: 100% 101%, 100% auto;
	-webkit-mask-composite: xor;
	        mask-composite: exclude;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	border-bottom: 40px solid var(--c_base);
	content: "";
	display: block;
}
.kv_slide {
	position: relative;
	z-index: 1;
	height: calc(100vh - 30px);
	background-color: var(--c_base);
}
.kv_slide_track {
	opacity: 0;
}
.kv_slide .img {
	width: 87.3334%;
	height: 100%;
	margin: 0 auto;
}
.kv_slide .img img {
	width: 100%;
	height: 100%;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.kv_copy {
	position: absolute;
	bottom: 40px;
	bottom: 0;
	left: 0;
	z-index: 3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: calc(12.1334vw + 40px);
	overflow: visible;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	pointer-events: none;
}
.kv_copy_motion {
	position: absolute;
	bottom: 75px;
	left: 0;
	width: 100%;
}
.kv_copy_motion path {
	fill: none;
	stroke: none;
}
.kv_copy_motion_sp path {
	fill: none;
	stroke: none;
}
.kv_copy .letter {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 4.8vw;
	visibility: hidden;
	-webkit-transform-origin: 50% 0%;
	        transform-origin: 50% 0%;
}
.kv_copy .letter svg {
	width: auto;
	height: 100%;
	fill: #fff;
}
.kv_copy .letter[data-text=V] svg, .kv_copy .letter[data-text=L] svg, .kv_copy .letter[data-text=F] svg, .kv_copy .letter[data-text=R] svg, .kv_copy .letter[data-text=H] svg, .kv_copy .letter[data-text=I] svg {
	height: 98.5916%;
}
.kv_copy .letter[data-text=E] svg {
	height: 97.2223%;
}
.kv_copy .letter[data-text=":"] svg {
	height: 58.3334%;
}
.kv_copy_ja {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	overflow: visible;
}
.kv_copy_ja path {
	fill: none;
	stroke: none;
}
.kv_copy_ja_text {
	fill: #fff;
	font-size: var(--font-size30);
	font-weight: 600;
	letter-spacing: 0.12em;
	opacity: 0;
	visibility: hidden;
}
.kv_copy_ja_sp {
	display: none;
}
.kv_cont {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 220px;
}
.kv_cont .cmn_scroll .txt {
	color: #fff;
}
.kv_cont_choice {
	--size: 38px;
	position: absolute;
	right: 38px;
	bottom: 26px;
	z-index: 2;
	width: 15.4286vw;
}
.kv_cont_choice_item {
	overflow: hidden;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}
.kv_cont_choice_item_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	-webkit-animation: slide_loop_x linear 10s infinite;
	        animation: slide_loop_x linear 10s infinite;
}
.kv_cont_choice_item_inner span {
	display: block;
	width: 38px;
	margin: 0 17px;
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.kv_cont_choice_item_inner span img {
	animation: rotate linear 4.4s infinite reverse;
}
.kv_cont_choice_item_inner span.chara01 {
	width: calc(var(--size) * 0.981153);
}
.kv_cont_choice_item_inner span.chara02 {
	width: calc(var(--size) * 0.983359);
}
.kv_cont_choice_item_inner span.chara03 {
	width: calc(var(--size) * 0.974404);
}
.kv_cont_choice_item_inner span.chara04 {
	width: calc(var(--size) * 0.96598);
}
.kv_cont_choice_item_inner span.chara05 {
	width: calc(var(--size) * 1);
}
.kv_cont_choice .txt {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	position: relative;
	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: 10px;
	overflow: hidden;
	font-size: var(--font-size14);
	letter-spacing: 0.08em;
	color: #fff;
}
.kv_cont_choice .txt ._arrow {
	margin-left: 8px;
}

@media screen and (max-width: 800px) {
	.kv {
		height: calc(100svh + 120px);
	}
	.kv::before {
		bottom: 120px;
		height: 62.5vw;
		border: none;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/top/kv_mask_sp.svg");
		-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 100%), url("../img/top/kv_mask_sp.svg");
		        mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/top/kv_mask_sp.svg");
		        mask-image: linear-gradient(180deg, #000 0%, #000 100%), url("../img/top/kv_mask_sp.svg");
		-webkit-mask-size: 100% 100%, 100% 32.775vw;
		        mask-size: 100% 100%, 100% 32.775vw;
		-webkit-mask-position: 0% 0%, 50% -0.1px;
		        mask-position: 0% 0%, 50% -0.1px;
	}
	.kv_slide {
		height: calc(100svh - 110px);
	}
	.kv_slide .img {
		width: 100%;
	}
	.kv_copy {
		bottom: 120px;
		height: 62.5vw;
	}
	.kv_copy_motion_sp {
		position: absolute;
		bottom: 15vw;
		left: 0;
	}
	.kv_copy_motion_sp path {
		fill: none;
		stroke: none;
	}
	.kv_copy .letter {
		height: 6.75vw;
	}
	.kv_copy_ja {
		display: none;
	}
	.kv_copy_ja_sp {
		position: absolute;
		bottom: 33.75vw;
		left: 0;
		display: block;
		width: 100%;
		overflow: visible;
	}
	.kv_copy_ja_sp path {
		fill: none;
		stroke: none;
	}
	.kv_copy_ja_sp_text {
		fill: #fff;
		font-size: var(--font-size19);
		font-weight: 600;
		letter-spacing: 0.12em;
		visibility: hidden;
	}
	.kv_cont {
		bottom: 0;
		height: 120px;
		background-color: var(--c_base);
	}
	.kv_cont .cmn_scroll {
		bottom: 135px;
	}
	.kv_cont_choice {
		--size: 32px;
		position: relative;
		inset: 0;
		width: min(80%, 320px);
		margin: 60px auto 0;
	}
	.kv_cont_choice .txt {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}
.about {
	position: relative;
	background: var(--c_base);
	color: #fff;
}
.about_inner {
	position: relative;
	z-index: 3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: min(80%, 1400px);
	margin: 0 auto calc(135px + 8.9334vw);
	padding: 90px 0 0;
}
.about_cont {
	padding: 0 90px;
}
.about_head {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
.about_head_sub {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	margin-left: 0.1em;
	font-size: var(--font-size20);
	letter-spacing: 0.04em;
}
.about_head_hl {
	margin-top: 60px;
	font-size: min(7.3077vw, 95px);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.2em;
}
.about_body {
	padding-top: 90px;
}
.about_body_txt {
	margin-right: -30px;
	font-size: min(1.5518vw, 18px);
	line-height: 2.6667;
}
.about_body .link_arrow {
	width: 300px;
	margin-top: 90px;
}
.about_body .link_arrow a {
	font-size: var(--font-size22);
}
.about .cmn_slide_item {
	width: 50.6667vw;
}

@media screen and (max-width: 800px) {
	.about_inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 100%;
		margin-bottom: 100px;
	}
	.about_cont {
		padding: 0;
	}
	.about_head {
		text-align: center;
	}
	.about_head_sub {
		margin-left: 0;
		font-size: var(--font-size16);
	}
	.about_head_hl {
		margin-top: 40px;
		font-size: var(--font-size40);
	}
	.about_head_hl span {
		display: inline-block;
		margin-right: -0.3em;
		letter-spacing: 0;
	}
	.about_body {
		width: 80vw;
		margin: 0 auto;
		padding-top: 40px;
	}
	.about_body_txt {
		margin: 0;
		font-size: var(--font-size14);
		line-height: 2.5;
		text-align: justify;
	}
	.about_body .link_arrow {
		width: 220px;
		margin: 50px auto 0;
	}
	.about .cmn_slide_item {
		width: 60vw;
	}
}
.work {
	padding: calc(130px + 8.9334vw) 0 120px;
	background: var(--c_base);
	color: #fff;
}
.work_inner {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 2000px;
	margin: 0 auto;
}
.work_inner::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 100%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	border-left: 2px dotted #fff;
	content: "";
	display: block;
}
.work_item {
	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;
	width: 50%;
	padding: 60px 0;
}
.work_head_hl {
	position: relative;
	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;
}
.work_head_hl .txt {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size865);
}
.work_head_hl .sub {
	position: absolute;
	top: 0;
	right: 0;
	font-size: var(--font-size18);
	font-weight: 500;
	translate: calc(100% + 1em) 1em;
}
.work_visual {
	position: relative;
	width: min(90%, 500px);
	margin-top: 120px;
	padding-bottom: 40px;
}
.work_visual_img {
	position: relative;
	z-index: 1;
	display: block;
}
.work_visual .en {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	font-size: var(--font-size10);
	font-weight: 700;
	line-height: 1.6;
}
.work_visual .ja {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	font-size: var(--font-size12);
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.04em;
}
.work_body {
	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;
	margin-top: 70px;
	color: #fff;
}
.work_body_hl {
	font-size: var(--font-size24);
	font-weight: 700;
	line-height: 1.875;
	letter-spacing: 0.04em;
	text-align: center;
}
.work_body_txt {
	width: min(80%, 445px);
	margin: 24px auto 0;
	font-size: var(--font-size16);
	line-height: 2;
	letter-spacing: 0.02em;
	text-align: justify;
}
.work_body .link_arrow {
	gap: 60px;
	margin-top: 70px;
}

@media screen and (max-width: 800px) {
	.work {
		padding: calc(40px + 10.75vw) 0 0;
	}
	.work_inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.work_inner::before {
		position: relative;
		inset: 0;
		width: 80%;
		height: 1px;
		margin: 80px auto 20px;
		background: repeating-linear-gradient(to left, #fff 0 2px, transparent 2px 4px);
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		border-left: none;
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}
	.work_item {
		width: 90vw;
		margin: 0 auto;
		padding-bottom: 0;
	}
	.work_item:nth-child(1) {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}
	.work_item:nth-child(2) {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}
	.work_head_hl .txt {
		font-size: var(--font-size50);
	}
	.work_head_hl .sub {
		font-size: var(--font-size12);
		translate: calc(100% + 0.5em) 0.4em;
	}
	.work_visual {
		width: 100%;
		margin-top: 34px;
		padding-bottom: 0;
	}
	.work_visual .en {
		margin-left: 3em;
		font-size: var(--font-size7);
		line-height: 1.6429;
	}
	.work_visual .ja {
		position: relative;
		inset: 0;
		margin-top: 10px;
		font-size: var(--font-size9);
		line-height: 1.6667;
		text-align: center;
	}
	.work_body {
		margin-top: 40px;
	}
	.work_body_hl {
		font-size: var(--font-size17);
	}
	.work_body_txt {
		width: 88.8889%;
		margin-top: 16px;
		font-size: var(--font-size13);
		line-height: 2.1539;
	}
	.work_body .link_arrow {
		margin-top: 30px;
	}
}
.choice_visual {
	position: relative;
	height: 460px;
	overflow: hidden;
	background: var(--c_base);
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.choice_visual_wrap {
	position: relative;
	z-index: 1;
}
.choice_visual::before {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	background: #fff;
}
@media screen and (min-width: 801px) {
	.choice_visual::before {
		height: 144px;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/top/choice_visual_bg.svg");
		-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 100%), url("../img/top/choice_visual_bg.svg");
		        mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url("../img/top/choice_visual_bg.svg");
		        mask-image: linear-gradient(180deg, #000 0%, #000 100%), url("../img/top/choice_visual_bg.svg");
		-webkit-mask-repeat: no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat;
		-webkit-mask-position: 0 0, 50% 0;
		        mask-position: 0 0, 50% 0;
		-webkit-mask-size: 100% calc(100% + 0.5px), 1760px auto;
		        mask-size: 100% calc(100% + 0.5px), 1760px auto;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
	}
}
@media screen and (max-width: 800px) {
	.choice_visual::before {
		height: 10.75vw;
		-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg);
		-webkit-mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg);
		        mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)), url(../img/common/parts_mask_top_sp.svg);
		        mask-image: linear-gradient(#000 0 0), url(../img/common/parts_mask_top_sp.svg);
		-webkit-mask-repeat: no-repeat, no-repeat;
		        mask-repeat: no-repeat, no-repeat;
		-webkit-mask-position: 0 -0.5px, 50% -0.5px;
		        mask-position: 0 -0.5px, 50% -0.5px;
		-webkit-mask-size: 100% 101%, 100% auto;
		        mask-size: 100% 101%, 100% auto;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
	}
}
.choice_visual::before {
	content: "";
	display: block;
}
.choice_visual_hl {
	position: relative;
	z-index: 4;
	padding-top: 90px;
	font-size: var(--font-size36);
	font-weight: 400;
	text-align: center;
	color: #fff;
	translate: 120px 0;
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
}
.choice_visual_hl small {
	display: inline-block;
	margin: 0 0.22em;
	font-size: 0.8334em;
	translate: 0 -0.15em;
}
.choice_visual .choice_motion {
	position: absolute;
	right: 50%;
	bottom: 85px;
	width: 3000px;
	height: 134px;
	opacity: 0;
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	translate: 50% 0%;
}
.choice_visual_chara {
	--size: 158px;
	position: absolute;
	inset: 0;
	z-index: 3;
}
.choice_visual_chara_item {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	opacity: 0;
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.choice_visual_chara_item.chara01 {
	width: calc(var(--size) * 0.983359);
}
.choice_visual_chara_item.chara02 {
	width: calc(var(--size) * 0.981153);
}
.choice_visual_chara_item.chara03 {
	width: calc(var(--size) * 1);
}
.choice_visual_chara_item.chara04 {
	width: calc(var(--size) * 0.96598);
}
.choice_visual_chara_item.chara05 {
	width: calc(var(--size) * 0.974404);
}
.choice_cont {
	position: relative;
	z-index: 2;
	margin-top: -30px;
	overflow: hidden;
}
.choice_inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 90px 200px;
}
.choice_head {
	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;
}
.choice_head_hl {
	font-size: var(--font-size24);
	font-weight: 600;
	line-height: 1.8334;
	letter-spacing: 0.1em;
}
.choice_head_sub {
	padding-top: 20px;
	font-size: var(--font-size20);
	font-weight: 600;
	line-height: 2.25;
	letter-spacing: 0.08em;
	color: var(--c_base);
}
.choice_word {
	margin-top: 20px;
	margin-left: calc(50% - 50vw);
	pointer-events: none;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.choice_word_track {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	font-size: 108px;
	white-space: nowrap;
	color: var(--c_base);
	-webkit-animation: slide_loop_x 60s linear infinite;
	        animation: slide_loop_x 60s linear infinite;
}
.choice_word_track span {
	position: relative;
	display: block;
	margin-right: 15px;
	padding-right: 80px;
}
.choice_word_track span::before, .choice_word_track span::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 65px;
	height: 2px;
	background-color: var(--c_base);
	content: "";
	display: block;
}
.choice_word_track span::before {
	rotate: 45deg;
}
.choice_word_track span::after {
	rotate: -45deg;
}
.choice_body {
	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;
	margin-top: 30px;
}
.choice_body_txt {
	font-size: var(--font-size20);
	font-weight: 500;
	line-height: 2.25;
	letter-spacing: 0.04em;
}
.choice_body .link_arrow {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: clamp(180px, 19.077vw, 248px);
}

@-webkit-keyframes illust01_move {
	0% {
		offset-distance: 0%;
		offset-rotate: 0deg;
	}
	100% {
		offset-distance: 100%;
	}
}

@keyframes illust01_move {
	0% {
		offset-distance: 0%;
		offset-rotate: 0deg;
	}
	100% {
		offset-distance: 100%;
	}
}
@media screen and (max-width: 800px) {
	.choice {
		position: relative;
		overflow: hidden;
	}
	.choice_visual {
		bottom: -0.1px;
		height: 77.5vw;
	}
	.choice_visual_hl {
		padding-top: 35vw;
		font-size: var(--font-size19);
		translate: 0 0;
	}
	.choice_visual .choice_motion {
		bottom: 9vw;
		width: 100%;
		height: 10.75vw;
	}
	.choice_visual_chara {
		--size: 18vw;
	}
	.choice_cont {
		margin-top: 50px;
	}
	.choice_inner {
		width: 80%;
		margin: 0 auto;
		padding: 0;
	}
	.choice_head {
		position: relative;
	}
	.choice_head_hl {
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		font-size: var(--font-size18);
		line-height: 1.8889;
	}
	.choice_head_sub {
		position: absolute;
		right: 0;
		bottom: 0;
		font-size: var(--font-size12);
		line-height: 2.1667;
	}
	.choice_word {
		margin-top: 30px;
	}
	.choice_word_track {
		font-size: 48px;
	}
	.choice_word_track span {
		margin-right: 5px;
		padding-right: 34px;
	}
	.choice_word_track span::before, .choice_word_track span::after {
		width: 29px;
		height: 1px;
	}
	.choice_body {
		-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;
		margin-top: 24px;
	}
	.choice_body_txt {
		font-size: var(--font-size14);
		line-height: 2.0715;
	}
	.choice_body .link_arrow {
		width: 173px;
		margin-top: 30px;
	}
}
.crosstalk {
	margin: 0 30px;
}
.crosstalk_inner {
	position: relative;
	max-width: 2000px;
	height: 780px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 10px;
	background-color: #ebebeb;
}
.crosstalk_inner::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 50%;
	background: -webkit-gradient(linear, left bottom, left top, from(rgba(235, 235, 235, 0)), color-stop(35%, rgba(235, 235, 235, 0.9)), to(#ebebeb));
	background: linear-gradient(0deg, rgba(235, 235, 235, 0) 0%, rgba(235, 235, 235, 0.9) 35%, #ebebeb 100%);
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.crosstalk_bg {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 550px;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}
.crosstalk_bg_track {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	height: 100%;
	-webkit-animation: slide_loop_x linear 100s infinite;
	        animation: slide_loop_x linear 100s infinite;
}
.crosstalk_bg_item {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	height: 100%;
}
.crosstalk_bg_item img {
	display: block;
	width: auto;
	height: 100%;
}
.crosstalk_cont {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	height: 100%;
}
.crosstalk_copy {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	position: absolute;
	top: 50%;
	left: 30px;
	height: 100%;
	font-size: var(--font-size185);
	letter-spacing: 0.04em;
	text-align: center;
	color: var(--c_base);
	translate: 0 -50%;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.crosstalk_body {
	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;
	width: 69.4445%;
	margin: 0 auto;
	padding-top: 130px;
}
.crosstalk_head_hl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.crosstalk_head_hl .txt {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size64);
	letter-spacing: 0.02em;
}
.crosstalk_head_hl .sub {
	font-size: var(--font-size16);
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--c_base);
}
.crosstalk_head_txt {
	margin-top: 40px;
	padding-left: 1.6em;
	font-size: var(--font-size15);
	line-height: 1.8667;
	letter-spacing: 0.02em;
}
.crosstalk .link_arrow {
	width: clamp(160px, 14.6667vw, 220px);
}

@media screen and (width <= 1100px) {
	.crosstalk_body {
		width: min(80%, 722px);
	}
}
@media screen and (max-width: 800px) {
	.crosstalk {
		margin: 0 20px;
		margin-top: 120px;
	}
	.crosstalk_inner {
		height: 590px;
	}
	.crosstalk_inner::before {
		height: 70%;
	}
	.crosstalk_bg {
		height: 280px;
	}
	.crosstalk_copy {
		left: 14px;
		font-size: var(--font-size12);
	}
	.crosstalk_body {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 100%;
		padding-top: 80px;
	}
	.crosstalk_head {
		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;
		margin-bottom: 40px;
	}
	.crosstalk_head_hl {
		position: relative;
	}
	.crosstalk_head_hl .txt {
		font-size: var(--font-size40);
	}
	.crosstalk_head_hl .sub {
		position: absolute;
		top: 0;
		right: 0;
		font-size: var(--font-size12);
		translate: 100% -4px;
	}
	.crosstalk_head_txt {
		width: 67.2223%;
		margin-top: 20px;
		padding-left: 0;
		font-size: var(--font-size13);
		line-height: 2.1539;
		text-align: justify;
	}
	.crosstalk .link_arrow {
		width: 174px;
	}
}
.journal {
	width: 100%;
	margin-top: 175px;
	overflow: hidden;
}
.journal_head {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	width: 86.6667%;
	margin: 0 auto 80px;
}
.journal_head_hl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.journal_head_hl .txt {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	margin-bottom: -0.2812em;
	font-size: var(--font-size64);
}
.journal_head_hl .count {
	display: inline-block;
	margin-bottom: -0.2857em;
	margin-left: 1em;
	padding: 1px 9px;
	border: 1.5px dotted var(--c_base);
	border-radius: 50%;
	font-size: var(--font-size14);
	letter-spacing: 0.1em;
	color: var(--c_base);
}
.journal_head_category {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 15px 20px;
	margin-right: min(3.077vw, 40px);
	margin-left: min(4.6154vw, 60px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.journal_head_category li a {
	padding-bottom: 4px;
	font-size: var(--font-size16);
	letter-spacing: 0.04em;
	border-bottom: 1px solid #000;
}
@media (hover: hover) and (pointer: fine) {
	.journal_head_category li a:hover {
		border-color: var(--c_base);
		color: var(--c_base);
	}
}
.journal .link_arrow {
	width: clamp(130px, 12.2667vw, 184px);
	margin-bottom: -10px;
	margin-left: auto;
}
.journal_slides {
	padding-bottom: 18px;
	padding-left: 6.6667%;
}
.journal_list {
	width: auto;
	padding-bottom: 80px;
}
.journal_list_item {
	position: relative;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 298px;
	margin-right: 42px;
}
.journal_list_item:last-of-type {
	margin-right: 6.6667%;
}
.journal_list_item a {
	display: block;
}
.journal_card {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 16px;
}
.journal_thumb {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 240px;
	overflow: hidden;
	border-radius: 6px;
	aspect-ratio: 240/358;
}
.journal_thumb img {
	width: 100%;
	height: 100%;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.journal_meta {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 4px 0 0 12px;
}
.journal_meta time {
	font-family: "Elms Sans", sans-serif;
	font-weight: 300;
	font-size: var(--font-size26);
	letter-spacing: 0.02em;
	color: var(--c_base);
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.journal_meta .cat {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 6px;
	margin-left: 7px;
}
.journal_meta .cat span {
	font-family: "Elms Sans", sans-serif;
	font-weight: 500;
	font-size: var(--font-size12);
	letter-spacing: 0.02em;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	border-left: 1px solid #000;
}
.journal_meta_new {
	font-family: "Elms Sans", sans-serif;
	font-weight: 400;
	position: absolute;
	right: 0;
	bottom: 0;
	display: inline-block;
	padding: 1px 10px 0.5px;
	border: 1.5px dotted var(--c_base);
	border-radius: 50%;
	font-size: var(--font-size10);
	line-height: 0.9;
	text-align: center;
	color: var(--c_base);
}
.journal_text {
	width: 240px;
	font-size: var(--font-size14);
	line-height: 1.8215;
}
.journal_progress {
	position: relative;
	height: 1px;
	margin-right: 100px;
	border-bottom: 1.5px dotted #c0c0c0;
}
.journal_progress_bar {
	position: absolute;
	top: 50%;
	left: 0;
	width: 113px;
	height: 36px;
	border-radius: 999px;
	background: var(--c_base);
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	cursor: -webkit-grabbing;
	cursor: grabbing;
}
.journal_progress_bar::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	aspect-ratio: 1/1;
	content: "";
	display: block;
}
.journal_progress_bar::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px;
	height: 12px;
	background-color: #fff;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	content: "";
	display: block;
}

@media screen and (max-width: 800px) {
	.journal {
		position: relative;
		margin-top: 120px;
		padding-bottom: 10px;
	}
	.journal_inner {
		position: relative;
		padding-bottom: 52px;
	}
	.journal_head {
		-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;
		width: 100%;
		margin-bottom: 40px;
	}
	.journal_head_hl {
		position: relative;
		margin-bottom: 20px;
	}
	.journal_head_hl .txt {
		margin-bottom: 0;
		font-size: var(--font-size40);
		letter-spacing: 0.02em;
	}
	.journal_head_hl .count {
		position: absolute;
		right: -10px;
		bottom: 10px;
		padding: 1px 5px;
		font-size: var(--font-size10);
		translate: 100% 0%;
	}
	.journal_head_category {
		width: 90vw;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 15px 14px;
		margin: 0 auto;
	}
	.journal_head_category li a {
		font-size: var(--font-size11);
	}
	.journal_link {
		width: 156px;
	}
	.journal .link_arrow {
		position: absolute;
		bottom: 0;
		left: 50%;
		z-index: 2;
		width: 160px;
		translate: -50%;
	}
	.journal_slides {
		padding-bottom: 13px;
		padding-left: 5vw;
	}
	.journal_list {
		padding-bottom: 40px;
	}
	.journal_list_item {
		width: 205px;
		margin-right: 30px;
	}
	.journal_list_item:last-of-type {
		margin-right: 5vw;
	}
	.journal_card {
		margin-bottom: 10px;
	}
	.journal_thumb {
		width: 165px;
	}
	.journal_meta {
		padding-left: 8px;
	}
	.journal_meta time {
		font-size: var(--font-size16);
	}
	.journal_meta .cat span {
		font-size: var(--font-size8);
	}
	.journal_meta_new {
		padding: 1px 7px 0.5px;
		border-width: 1px;
		font-size: var(--font-size7);
		line-height: 0.9;
	}
	.journal_text {
		width: 165px;
		font-size: var(--font-size12);
		line-height: 1.8334;
	}
	.journal_progress {
		margin-right: 10vw;
		margin-left: 5vw;
	}
	.journal_progress_bar {
		width: 70px;
		height: 24px;
	}
	.journal_progress_bar::before {
		width: 8px;
	}
	.journal_progress_bar::after {
		height: 8px;
	}
}
/*# sourceMappingURL=top.css.map */