@charset "utf-8";


/* Header/DocsBotAI */
.l-header.is-standby {
	translate: 0 calc(var(--headerHeight) * -1);
}
.l-footer.is-standby {
	display: none;
}
body:has(.l-header.is-standby) #docsbotai-root {
	pointer-events: none;
	opacity: 0;
}
.l-header.is-motion {
	transition: translate 1s var(--easeInOut);
}
#docsbotai-root.is-motion {
	transition: opacity var(--dur);
}

/* 超えTech/News */
.home_news.is-standby,
.home_catchcopy.is-standby {
	opacity: 0;
}
.home_catchcopy.is-standby {
	translate: 8% 0;
}
.home_news.is-motion {
	transition: opacity var(--dur);
}
.home_catchcopy.is-motion {
	transition: opacity 1s var(--easeOut), translate 1s var(--easeOut);
}

.tobeyond ~ .home_visual .town {
	position: absolute;
	inset: 0 0 auto;
	translate: 0 100vh !important;
}
.tobeyond:has(.andBeyond.is-anim) ~ .home_visual .town {
	translate: none !important;
	transition: translate 2.2s 2.2s var(--easeOut);
}

.tobeyond {
	--aspect: 1440;
	--blue: #657bd8, #97c6c3;
	--violet: #8b6aef, #5e6eed, #738deb;
	--cloud: #546dd8, #90c6c3, #d6ddbc;
	--purple: #bac0e9, #7781de;
	--window: #88acea, #a2c9ea;
	--sky: #cbefeb, #99e0e3;
	z-index: 1;
	position: fixed;
	inset: 0;
	overflow: hidden;
	width: 100%;
}
.tobeyond .scene {
	display: grid;
	place-items: center;
	perspective: 800px;
	height: 100dvh;
}
.tobeyond .scene > * {
	pointer-events: none;
	grid-area: 1 / 1;
}
.tobeyond .wrap {
	display: grid;
	place-items: center;
	place-content: center;
	width: 100vw;
	height: 100dvh;
	perspective: 600px;
}
.tobeyond .character {
	width: max(var(--cw) * 58 / var(--aspect), 58px);
	height: max(var(--cw) * 54 / var(--aspect), 54px);
}
.tobeyond .wrap > *,
.tobeyond .wrap::before,
.tobeyond .wrap::after {
	grid-area: 1 / 1;
}
@keyframes framing1 {
	from { visibility: hidden; }
	79.9%, to { visibility: visible; }
}
@keyframes framing2 {
	from { visibility: hidden; }
	89.9%, to { visibility: visible; }
}
@keyframes framing3 {
	from { visibility: hidden; }
	89.9%, to { visibility: visible; }
}

/** :::::: 「無限の彼方へ」編 :::::: */
.toInfinity .bg {
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, var(--blue));
}
.toInfinity .warphole > * {
	--ring: max(50vw, 480px);
	--interval: calc(5s / 10);
	display: grid;
	position: relative;
	width: var(--ring);
	height: var(--ring);
	border: 5px solid white;
	border-radius: var(--ring);
	transform: translate3d(0,0,0);
}
.toInfinity .warphole .ring1::after {
	content: "";
	width: inherit;
	height: inherit;
	border-radius: inherit;
	background: white;
}
.toInfinity .character {
	position: relative;
	top: 6vh;
	left: -6vw;
}
.toInfinity .character img {
	will-change: transform;
	max-width: none;
	width: calc(var(--cw) * 2400 / var(--aspect)); /* ボヤけ防止 x10サイズ */
}
@media screen and (max-width: 767.98px) {
	.toInfinity .character {
		top: 12vh;
		left: -24vw;
	}
}

/* Animation */
.toInfinity.is-anim .warphole > * {
	animation: warp 5s var(--easeIn) both;
}
.toInfinity.is-anim .warphole .ring1 {
	animation-name: warpend;
	animation-delay: 0s;
	animation-iteration-count: 1;
}
.toInfinity.is-anim .warphole .ring2 { animation-delay: calc(var(--interval) * -1); }
.toInfinity.is-anim .warphole .ring3 { animation-delay: calc(var(--interval) * -2); }
.toInfinity.is-anim .warphole .ring4 { animation-delay: calc(var(--interval) * -3); }
.toInfinity.is-anim .warphole .ring5 { animation-delay: calc(var(--interval) * -4); }
.toInfinity.is-anim .warphole .ring6 { animation-delay: calc(var(--interval) * -5); }
.toInfinity.is-anim .warphole .ring7 { animation-delay: calc(var(--interval) * -6); }
.toInfinity.is-anim .warphole .ring8 { animation-delay: calc(var(--interval) * -7); }
.toInfinity.is-anim .warphole .ring9 { animation-delay: calc(var(--interval) * -8); }
.toInfinity.is-anim .warphole .ring1::after {
	animation: warpafter 5s var(--easeIn) both 1;
}

.toInfinity.is-anim .character {
	--interval: calc(5s / 5);
	animation: flying 5s ease-out both;
}
.toInfinity.is-anim .character > * {
	animation: framing1 5s steps(1) backwards;
	visibility: hidden;
}
.toInfinity.is-anim .character .f5 { animation-delay: 0s; }
.toInfinity.is-anim .character .f1 { animation-delay: calc(var(--interval) * -4); }
.toInfinity.is-anim .character .f2 { animation-delay: calc(var(--interval) * -3); }
.toInfinity.is-anim .character .f3 { animation-delay: calc(var(--interval) * -2); }
.toInfinity.is-anim .character .f4 { animation-delay: calc(var(--interval) * -1); }

@keyframes warp {
	from { transform: translate3d(100%,-20%,-2400px) scale(.05); opacity: 0; } /* ボヤけ防止 1/10スケール */
	60% { opacity: 1; }
	to { transform: translate3d(0,0,600px) scale(.2); opacity: 0; }
}
@keyframes warpend {
	from { transform: translate3d(100%,-20%,-2400px) scale(.05); opacity: 0; }
	60% { opacity: 1; }
	to { transform: translate3d(0,0,600px) scale(.2); }
}
@keyframes warpafter {
	from, 80% { scale: 0; filter: blur(80px); }
	to { scale: 1; filter: none; }
}
@keyframes flying {
	from { transform: translate3d(-200px,50px,1200px) scale(.1); }
	80% { opacity: 1; }
	to { transform: translate3d(300px,-100px,-600px) scale(.05); opacity: 0; }
}
@media screen and (max-width: 767.98px) {
	@keyframes flying {
		from { transform: translate3d(-32vw,-8vh,1200px) scale(.2); }
		80% { opacity: 1; }
		to { transform: translate3d(300px,-100px,-600px) scale(.05); opacity: 0; }
	}
}

/** :::::: 「さぁ行くぞ！」編 :::::: */
.andBeyond {
	/* キャラクターの最終位置 */
	--goalY: 28.85%;
	--goalX: calc(50% - var(--cw) * 0.1234);
}
.andBeyond .sky {
	align-self: start;
	width: 100%;
	height: 300vh;
	background: linear-gradient(to top, var(--sky));
}
.andBeyond .clouds {
	grid-template: repeat(5, auto) / repeat(3, 1fr);
	width: var(--cw);
	height: calc(var(--cw) * 2);
	align-content: space-between;
}
.andBeyond .clouds > * {
	position: relative;
	width: calc(var(--cw) * var(--w) / var(--aspect));
	height: auto;
}
@media screen and (max-width: 767.98px) {
	.andBeyond .sky {
		height: 500vh;
	}
	.andBeyond .clouds {
		justify-self: center;
	}
	.andBeyond .clouds > * {
		width: calc(var(--cw) * var(--w) * 1.8 / var(--aspect));
		max-width: none;
	}
}
.andBeyond .clouds .cloud1 { grid-area: 1 / 1 / 3 / 4; }
.andBeyond .clouds .cloud2 { grid-area: 2 / 1 / 3 / 3; }
.andBeyond .clouds .cloud3 { grid-area: 3 / 3; place-self: end; left: 4vw; }
.andBeyond .clouds .cloud4 { grid-area: 3 / 2 / 4 / 4; --dur: 6; --del: 3; }
.andBeyond .clouds .cloud5 { grid-area: 3 / 3; place-self: center end; left: 10vw; }
.andBeyond .clouds .cloud6 { grid-area: 3 / 2; place-self: end start; }
.andBeyond .clouds .cloud7 { grid-area: 4 / 2 / 5 / 4; place-self: end; left: 16vw; }
.andBeyond .clouds .cloud8 { grid-area: 5 / 2; left: -8vw; }
.andBeyond .character {
	place-self: center;
	position: absolute;
	top: var(--goalY);
	left: var(--goalX);
}
.andBeyond .character img {
	max-width: none;
	width: max(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}

/* Animation */
.andBeyond.is-standby {
	opacity: 0;
}
.andBeyond.is-motion {
	transition: opacity .4s;
}
.andBeyond.is-anim .sky {
	animation: skydive 2.5s linear forwards;
}
.andBeyond.is-motion .clouds,
.andBeyond.is-standby .clouds {
	transform: translate3d(-5vw,100dvh,400px);
}
@media screen and (max-width: 767.98px) {
	.andBeyond.is-motion .clouds,
	.andBeyond.is-standby .clouds {
		transform: translate3d(-5vw,200dvh,400px);
	}
}
.andBeyond.is-anim .clouds {
	animation: panning 5s var(--easeOut) both;
}
.andBeyond.is-anim .clouds > * {
	animation: clouding calc(var(--dur) * .5s) calc(var(--del) * .1s) linear both;
}
.andBeyond.is-anim .clouds .cloud1 { --dur: 9; --del: -8; }
.andBeyond.is-anim .clouds .cloud2 { --dur: 8; --del: -7; }
.andBeyond.is-anim .clouds .cloud3 { --dur: 4; --del: -6; }
.andBeyond.is-anim .clouds .cloud4 { --dur: 6; --del: -5; }
.andBeyond.is-anim .clouds .cloud5 { --dur: 4; --del: -4; }
.andBeyond.is-anim .clouds .cloud6 { --dur: 8; --del: -3; }
.andBeyond.is-anim .clouds .cloud7 { --dur: 5; --del: -2; }
.andBeyond.is-anim .clouds .cloud8 { --dur: 6; --del: -1; }

.andBeyond .character.is-standby {
	opacity: 0;
	translate: 0 -50vh;
	transform: translate3d(0,-100px,400px);
}
.andBeyond .character > *:not(.f1) {
	visibility: hidden;
}
.andBeyond .character.is-motion {
	transition: opacity .6s var(--easeBack), translate .6s var(--easeOut);
}
.andBeyond .character.is-anim {
	--interval: calc(5s / 10);
	animation: scaling ease-in both, landing ease-out both;
	animation-duration: calc(5s - var(--interval) * 3);
}
.andBeyond .character.is-anim > * {
	animation: framing2 5s steps(1) backwards;
	visibility: hidden;
}
.andBeyond .character.is-anim .f10 {
	animation-fill-mode: both;
}
.andBeyond .character.is-anim .f10 { animation-name: framing3; animation-delay: 0s; }
.andBeyond .character.is-anim .f1 { animation-delay: calc(var(--interval) * -9); }
.andBeyond .character.is-anim .f2 { animation-delay: calc(var(--interval) * -8); }
.andBeyond .character.is-anim .f3 { animation-delay: calc(var(--interval) * -7); }
.andBeyond .character.is-anim .f4 { animation-delay: calc(var(--interval) * -6); }
.andBeyond .character.is-anim .f5 { animation-delay: calc(var(--interval) * -5); }
.andBeyond .character.is-anim .f6 { animation-delay: calc(var(--interval) * -4); }
.andBeyond .character.is-anim .f7 { animation-delay: calc(var(--interval) * -3); }
.andBeyond .character.is-anim .f8 { animation-delay: calc(var(--interval) * -2); }
.andBeyond .character.is-anim .f9 { animation-delay: calc(var(--interval) * -1); }

@keyframes skydive {
	from { transform: translate3d(0,0,0); }
	80% { opacity: 1; }
	to { transform: translate3d(0,-200vh,0); opacity: 0; }
}
@keyframes panning {
	from { transform: translate3d(-5vw,100dvh,400px); }
	to { transform: translate3d(0,calc(-100% - 100dvh),0); }
}
@keyframes clouding {
	from { transform: translate3d(20vw,8vw,0); }
	to { transform: translate3d(-20vw,-8vw,0); }
}
@keyframes landing {
	from { transform: translate3d(0,0,400px); }
	to { transform: translate3d(0,0,0); }
}
@keyframes scaling {
	from { translate: 5vw 0; scale: .4; animation-timing-function: ease-out; } /* ボヤけ防止 1/10スケール */
	to { translate: 0; scale: .1; animation-timing-function: ease-in; }
}
@media screen and (max-width: 767.98px) {
	@keyframes skydive {
		from { transform: translate3d(0,0,0); }
		80% { opacity: 1; }
		to { transform: translate3d(0,-400vh,0); opacity: 0; }
	}
	@keyframes panning {
		from { transform: translate3d(-5vw,300dvh,400px); }
		to { transform: translate3d(0,calc(-100% - 300dvh),0); }
	}
}

/**
 * Home
 * ---------------------------------------- */
.home_visual {
	--aspect: 1440;
	overflow: hidden;
	width: var(--cw);
	height: 100dvh;
}
.home_visual .app {
	z-index: 0;
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: 11 / 8;
	background: #a9e7e6;
}
.home_visual .town {
	--width: 4000;
	--height: 3000;
	width: max(var(--cw) * var(--width) / var(--aspect) - var(--cw) * 80 / var(--aspect), var(--width) * 1px - 80px);
	height: max(var(--cw) * var(--height) / var(--aspect) - var(--cw) * 60 / var(--aspect), var(--height) * 1px - 60px);
	transform: translateZ(0);
	will-change: transform;
	backface-visibility: hidden;
}
.home_visual .container {
	display: grid;
	width: max(var(--cw) * var(--width) / var(--aspect), var(--width) * 1px);
	height: max(var(--cw) * var(--height) / var(--aspect), var(--height) * 1px);
	margin-inline: min(var(--cw) * -40 / var(--aspect), -40px);
	margin-bottom: min(var(--cw) * -60 / var(--aspect), -60px);
	clip-path: inset(0);
	background: linear-gradient(to top, #fffff1 70%, #a9e7e6);
}
.home_visual .container > * {
	grid-area: 1 / 1;
	-webkit-user-select: none;
	user-select: none;
}
.home_visual .container img {
	pointer-events: none;
}
.home_visual .canvas {
	width: 100%;
	height: 100%;
}
@media (hover) {
	.home_visual .app:hover {
		cursor: grab;
	}
	.home_visual .app:active {
		cursor: grabbing;
	}
}

/* :::::: スワイプアテンション :::::: */
.home_visual .swipe {
	display: grid;
	place-items: center;
	position: fixed;
	inset: 0;
	background: #0001;
	opacity: 0;
}
.home_visual .swipe .icon {
	overflow: visible;
	width: 120px;
	height: auto;
	fill: none;
	stroke: white;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Motion */
.home_visual .swipe.is-active .icon path:first-child {
	transform-origin: 50% 80%;
	animation: swipeAction 1.6s;
}
.home_visual .swipe.is-show {
	opacity: 1;
}
.home_visual .swipe.is-hide {
	opacity: 0;
}
.home_visual .swipe.is-hide .icon {
	scale: 0;
}
.home_visual .swipe.is-motion {
	transition: opacity var(--dur);
}
.home_visual .swipe.is-motion.is-show:not(.is-hide) {
	transition-duration: .2s;
}
.home_visual .swipe.is-hide .icon {
	transition: scale var(--dur) var(--easeInOut);
}
@keyframes swipeAction {
	from, to { transform: none; }
	20% { transform: rotate(-8deg); }
	40% { transform: rotate(8deg); }
	60% { transform: rotate(-8deg); }
	80% { transform: rotate(8deg); }
}
@media (hover) {
	.home_visual .swipe {
		display: none;
	}
}

/* :::::: ローダー :::::: */
.home_visual .loading {
	display: grid;
	place-items: center;
	position: fixed;
	inset: 0;
	pointer-events: none;
}
.home_visual .loader {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: var(--themecolor);
	stroke-width: 10;
	stroke-linecap: round;
	stroke-dasharray: 230 230;
	animation: loader 1s infinite cubic-bezier(.4,0,.3,1), loading .7s infinite linear;
}
@keyframes loader {
	from { stroke-dashoffset: 230; }
	to { stroke-dashoffset: -230; }
}
@keyframes loading {
	from { transform: none; }
	to { transform: rotate(360deg); }
}

/* Motion */
.home_visual .app.is-standby,
.home_visual .loading.is-loaded {
	opacity: 0;
}
.home_visual .loading.is-loaded .loader {
	scale: 0;
}
.home_visual .app.is-motion,
.home_visual .loading.is-motion {
	transition: opacity var(--dur);
}
.home_visual .loading.is-motion .loader {
	transition: scale var(--dur) var(--easeInOut);
}

/**
 * マーカー
 * ---------------------------------------- */
.home_visual .markers {
	position: absolute;
	inset: 20% 14% 21% 14%;
	pointer-events: none;
}
.home_visual .marker {
	position: absolute;
	pointer-events: auto;
}
.home_visual .marker img {
	pointer-events: none;
}
/* MEMO: townをズームアウトしてる分2倍サイズで指定 */
.home_visual .marker_act,
.home_visual .marker_info {
	z-index: 1;
	position: absolute;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}
.home_visual .marker_act {
	bottom: 32px;
	left: calc(50% - 200px);
}
.home_visual .marker_act,
.home_visual .marker_act::after {
	width: 400px;
	height: 400px;
	border-radius: 400px;
}
.home_visual .marker_act::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid var(--themecolor);
}
.home_visual .marker_act .wrap {
	overflow: hidden;
	width: 448px;
	height: 448px;
	border-radius: 448px;
	margin: -24px;
}
.home_visual .marker_info {
	width: 480px;
	bottom: 48px;
	left: calc(50% - 240px);
	padding: calc(var(--basisgap) * .6) calc(var(--basisgap) * .4);
	border: 2px solid var(--themecolor);
	border-radius: calc(var(--radius) * 2);
	font-size: calc(28 * .0625rem);
	background: linear-gradient(to left, #d6ffffd9, #ffffffd9);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	transform-origin: center bottom;
}

/* Motion */
.home_visual .marker_act {
	clip-path: circle(0);
	transition: clip-path .2s var(--easeInOut);
}
.home_visual .marker_act::after {
	scale: 0;
	transition: scale .2s var(--easeInOut);
}
.home_visual .marker_info {
	opacity: 0;
	transform: scale(.8);
	transition: opacity .2s, transform .2s var(--easeInOut);
}
.home_visual .marker.is-active,
.home_visual .marker:has(:focus-visible) {
	z-index: 1;
	will-change: transform;
}
.home_visual .marker.is-active .marker_act,
.home_visual .marker:has(:focus-visible) .marker_act {
	clip-path: circle(200px);
	pointer-events: auto;
	transition-duration: .4s;
	transition-timing-function: var(--easeBack);
}
.home_visual .marker.is-active .marker_act::after,
.home_visual .marker:has(:focus-visible) .marker_act::after {
	scale: 1;
	transition-duration: .4s;
	transition-timing-function: var(--easeBack);
}
.home_visual .marker.is-active .marker_info,
.home_visual .marker:has(:focus-visible) .marker_info {
	opacity: 1;
	transform: none;
	pointer-events: auto;
	transition-timing-function: var(--easeOut);
}

/* フキダシがあるとき */
.home_visual :where(.marker:has(.marker_act)) .marker_info {
	left: 80px;
	transform: translateX(-40px);
}
.home_visual .marker:has(.marker_act).is-active .marker_info,
.home_visual .marker:has(.marker_act):has(:focus-visible) .marker_info {
	transition-duration: .4s;
	transition-delay: .2s;
}

.home_visual .marker_info dt {
	margin-inline: calc(var(--basisgap) * -.2);
	padding: .25em;
	border-radius: .2em;
	color: var(--themecolor);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	background: var(--accentcolor)
}
.home_visual .marker_info dt a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.home_visual .marker_info dd {
	margin-top: .75em;
	font-size: 85.7%
}
.home_visual .marker_icon {
	z-index: 1;
	position: absolute;
	width: 48px;
	bottom: 0;
	left: -24px;
	transform-origin: center bottom;
}
.home_visual .marker_icon span {
	display: block;
}
.home_visual .marker_icon img {
	width: 100%;
	height: auto;
}
.home_visual .markers.is-standby .marker_icon {
	opacity: 0;
}
.home_visual .markers.is-appear .marker_icon {
	animation: markerAppear .8s both;
	animation-delay: calc(var(--delay) * .05s);
}
@keyframes markerAppear {
	from { opacity: 0; transform: translateY(-50%); }
	25% { opacity: 1; transform: scale(1.12, .6); }
	50% { transform: scale(.9, 1.1); }
	75% { transform: none; }
	to { opacity: 1; }
}
.home_visual .markers.is-fix .marker_icon span {
	transform-origin: center bottom;
	animation: markerAttention 5s -2s;
	animation-delay: calc(var(--delay) * .05s);
}
.home_visual .markers.is-fix .marker_icon img {
	transform-origin: center bottom;
	animation: markerAttention2 5s -2s;
	animation-delay: calc(var(--delay) * .05s);
}
@keyframes markerAttention {
	from { transform: none; }
	5% { transform: scale(1.12, .6); animation-timing-function: cubic-bezier(.3,1,.7,1); }
	10% { transform: scale(.9, 1.1) translateY(-50%); animation-timing-function: cubic-bezier(.3,0,.7,0); }
	15% { transform: none; animation-timing-function: ease; }
	15.75% { transform: scale(1.08, .8); animation-timing-function: ease; }
	18%, to { transform: none; }
}
@keyframes markerAttention2 {
	from, 5% { transform: none; }
	15% { transform: rotateY(180deg); }
	15.01%, to { transform: none; }
}
.home_visual .marker:nth-child(1) .marker_icon { --delay: 1; }
.home_visual .marker:nth-child(2) .marker_icon { --delay: 2; }
.home_visual .marker:nth-child(3) .marker_icon { --delay: 3; }
.home_visual .marker:nth-child(4) .marker_icon { --delay: 4; }
.home_visual .marker:nth-child(5) .marker_icon { --delay: 5; }
.home_visual .marker:nth-child(6) .marker_icon { --delay: 6; }
.home_visual .marker:nth-child(7) .marker_icon { --delay: 7; }
.home_visual .marker:nth-child(8) .marker_icon { --delay: 8; }
.home_visual .marker:nth-child(9) .marker_icon { --delay: 9; }
.home_visual .marker:nth-child(10) .marker_icon { --delay: 10; }
.home_visual .marker:nth-child(11) .marker_icon { --delay: 11; }
.home_visual .marker:nth-child(12) .marker_icon { --delay: 12; }
.home_visual .marker:nth-child(13) .marker_icon { --delay: 13; }
.home_visual .marker:nth-child(14) .marker_icon { --delay: 14; }
.home_visual .marker:nth-child(15) .marker_icon { --delay: 15; }
/* グローバル事業 */
.home_visual .marker.-m1 {
	top: 12.58672%;
	left: 43.9148%;
}
/* クラウド事業 */
.home_visual .marker.-m2 {
	top: 20.84358%;
	left: 14.21348%;
}
/* DX事業 */
.home_visual .marker.-m3 {
	top: 23.62263%;
	left: 71.38584%;
}
/* 官公庁事業 */
.home_visual .marker.-m4 {
	top: 29.10044%;
	left: 27.64165%;
}
/* 製造業事業 */
.home_visual .marker.-m5 {
	top: 29.08331%;
	left: 80.85855%;
}
/* ロジスティクス事業 */
.home_visual .marker.-m6 {
	top: 31.76702%;
	left: 15.01874%;
}
/* エンベデッド事業 */
.home_visual .marker.-m7 {
	top: 35.64657%;
	left: 68.6379%;
}
/* 金融事業 */
.home_visual .marker.-m8 {
	top: 50.09647%;
	left: 31.31769%;
}
/* カーボンニュートラル事業 */
.home_visual .marker.-m9 {
	top: 59.57653%;
	left: 75.30761%;
}
/* 医療・製薬事業 */
.home_visual .marker.-m10 {
	top: 63.98701%;
	left: 23.27893%;
}
/* コンサルティング事業 */
.home_visual .marker.-m11 {
	top: 65.60719%;
	left: 63.88987%;
}
/* AI事業 */
.home_visual .marker.-m12 {
	top: 67.09698%;
	left: 34.34043%;
}
/* xR事業 */
.home_visual .marker.-m13 {
	top: 70.8279%;
	left: 79.66748%;
}
/* 鉄道事業 */
.home_visual .marker.-m14 {
	top: 74.25112%;
	left: 50.99372%;
}

/**
 * 超えTech
 * ---------------------------------------- */
.home_catchcopy {
	pointer-events: none;
	z-index: 1;
	position: absolute;
	inset: auto auto var(--basisgap) var(--stretchgap);
	max-width: calc(100% - var(--stretchgap) * 2);
	fill: var(--themecolor);
}
.home_catchcopy > * {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767.98px) {
	.home_catchcopy {
		bottom: max(25%, 144px);
	}
}

/**
 * ニュース
 * ---------------------------------------- */
.home_news {
	position: fixed;
	inset: auto 20px 96px auto;
	width: min(100% - 40px, 400px);
	height: 40px;
	padding-inline: 1em;
	border-radius: var(--radius);
	font-weight: 700;
	font-size: calc(12 * .0625rem);
	line-height: 1;
	background: white;
	box-shadow: 1px 2px 8px #0003;
}
.news_label {
	color: var(--red);
	font-size: 133.3333%;
	font-family: var(--fontEn);
}
.home_news,
.home_news .news_list .item {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	white-space: nowrap;
}
.home_news .news_list .item {
	column-gap: .5em;
}
.home_news .news_list {
	margin-left: .75em;
	padding-left: .75em;
	border-left: 1px solid var(--lightgray);
}
.home_news .news_list dt {
	color: var(--gray);
	font-size: 108.3333%;
	font-family: var(--fontEn);
}
.home_news .news_list dd {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.home_news .news_list a::before {
	content: "";
	position: absolute;
	inset: 0;
}
body:has(.page-home) .l-footer {
	display: none;
}