@charset "utf-8";

#docsbotai-root {
	z-index: 2;
	position: relative;
}

/**
 * About MediaQueries
 * default style
 * @media print, (min-width: 768px) {}
 * @media screen and (max-width: 767.98px) {}
 * -------------------------------------------------- */
:where(.l-chapter,.l-section) {
	width: min(100% - var(--stretchgap) * 2, 1024px);
	margin: var(--sectiongap) auto 0;
}
:where(.l-chapter:last-child) {
	padding-bottom: calc(var(--sectiongap) * 2);
}
:where(.l-chapter .l-section) {
	width: 100%;
	margin-top: calc(var(--sectiongap) / 2);
}

/* ::::: チャプタータイトル (Serviceにしかない) :::::: */
.l-chapter_title {
	display: grid;
	z-index: 0;
	position: relative;
	width: min(100%, 744px);
	color: white;
	--fontBasis: 80;
	line-height: 1.2;
}
.l-chapter_title::before {
	content: "";
	grid-area: 1 / 1 / 3 / 2;
	margin-left: var(--breakout);
	border-radius: 0 4em 4em 0;
	background: linear-gradient(to left, #73c6c2, #005eb9);
}
.l-chapter_title .main {
	grid-area: 1 / 1;
	padding-top: .8em;
	font-weight: 600;
	font-family: var(--fontEn);
}
.l-chapter_title .sub {
	grid-area: 2 / 1;
	padding-bottom: 2.5em;
	font-size: max(.625rem, 36.25%);
}
@media screen and (max-width: 767.98px) {
	.l-chapter_title {
		--fontBasis: 40;
	}
}

/* ::::: タイポグラフィ :::::: */
.c-subject {
	font-weight: 600;
	--fontBasis: 40;
	line-height: 1.5;
}
.c-subject small {
	font-size: max(.625rem, 55%);
}
.c-lead {
	color: var(--themecolor);
	--fontBasis: 20;
}
.c-capsule {
	position: relative;
	width: fit-content;
	margin-inline: auto;
	padding: .5em 2em;
	border: 1px solid var(--themecolor);
	border-radius: 2em;
	color: var(--themecolor);
	font-weight: 500;
	--fontBasis: 29;
	line-height: 1.2;
	font-family: var(--font);
	background: white;
}
.c-capsule::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 8px -8px -8px 8px;
	border: inherit;
	border-radius: inherit;
	background: var(--accentcolor);
}
.c-hgroup,
.c-heading {
	padding-left: var(--basisgap);
	border-left: 4px solid currentcolor;
	color: var(--themecolor);
}
.c-heading {
	--fontBasis: 22;
}
.c-heading > * {
	display: block;
}
.c-heading .main {
	font-size: 182%;
	line-height: 1.2;
}
.c-hgroup .c-lead,
.c-heading .sub {
	margin-top: .5em;
	padding-bottom: .5em;
}
.c-heading .sub {
	padding-bottom: .25em;
}
/* 本文 */
.c-paragraph,
.c-list,
.c-numlist,
.c-termlist,
.c-datalist {
	--fontBasis: 18;
}
.c-paragraph strong,
.c-list strong,
.c-numlist strong {
	font-weight: inherit;
	background: linear-gradient(var(--accentcolor), var(--accentcolor)) left bottom .1em / 100% 1em no-repeat;
}
.c-note {
	padding-left: 1em;
	--fontBasis: 14;
	text-indent: -1em;
}
@media screen and (max-width: 767.98px) {
	.c-subject {
		--fontBasis: 28;
	}
	.c-heading {
		--fontBasis: 18;
	}
	.c-lead {
		--fontBasis: 16;
	}
	.c-paragraph,
	.c-list,
	.c-numlist,
	.c-termlist,
	.c-datalist {
		--fontBasis: 15;
	}
	.c-note {
		--fontBasis: 12;
	}
}

/**
 * ボタン (黄色ベタ青枠青文字がデフォルト)
 * .c-button > :is(.ico,.arr)
 * @modifier -more: 詳細ページを見る (青ベタ白文字ボタン)
 */
.c-button {
	display: grid;
	grid-auto-flow: column;
	align-items: center;
	justify-content: space-between;
	width: min(var(--cw) * 264 / var(--aspect), 264px);
	height: min(var(--cw) * 80 / var(--aspect), 80px);
	padding-inline: 40px;
	border: 1px solid var(--themecolor);
	border-radius: 80px;
	--txColor: var(--themecolor);
	color: var(--themecolor);
	font-weight: 600;
	--fontBasis: 18;
	line-height: 1.5;
	font-family: var(--font);
	background: var(--accentcolor);
}
.c-button.-more {
	column-gap: 1em;
	width: fit-content;
	height: min(var(--cw) * 56 / var(--aspect), 56px);
	padding-inline: 2em;
	--txColor: white;
	color: white;
	--fontBasis: 14;
	background: var(--themecolor);
}
:where(.ico,.arr) {
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
}
@media (hover) {
	.c-button .arr {
		transition: translate var(--dur) var(--easeOut);
	}
	.c-button:hover .arr {
		translate: .25em 0;
	}
}
@media screen and (max-width: 767.98px) {
	.c-button {
		height: min(var(--cw) * 64 / var(--aspect), 64px);
		--fontBasis: 14;
	}
	.c-button.-more {
		height: min(var(--cw) * 48 / var(--aspect), 48px);
		--fontBasis: 12;
	}
}

/* ::::: 下層メインコンテンツ :::::: */
.l-main {
	z-index: 1;
	position: relative;
	overflow-x: clip;
}
.l-main_grad {
	z-index: -1;
	position: absolute;
	inset: 0;
	margin-bottom: 1px;
	border-radius: 0 0 50vw 50vw;
	box-shadow: 0 0 0 .3px var(--themecolor);
	background: white;
	background-attachment: fixed;
	background-image:
		radial-gradient(circle at 5% 90%, #fff 16vw, #fff0 32vw),
		radial-gradient(circle at 50% 50%, #fff 16vw, #fff0 32vw),
		radial-gradient(circle at 95% 90%, #fff 16vw, #fff0 32vw),
		radial-gradient(circle at 10% 35%, #e5f7f7 16vw, #e5f7f700 32vw),
		radial-gradient(circle at 50% 96%, #e5f7f7 16vw, #e5f7f700 32vw),
		radial-gradient(circle at 90% 25%, #eafff2 16vw, #eafff200 32vw);
}

/**
 * リスト (ビュレット付き一覧)
 * .c-list > li
 */
.c-list li {
	padding-left: .6em;
	text-indent: -.6em;
}
.c-list li *,
.c-list li::before {
	text-indent: 0;
}
.c-list li::before {
	content: "";
	display: inline-block;
	position: relative;
	top: -.1em;
	width: .2em;
	height: .2em;
	margin-inline: .1em .3em;
	border-radius: .2em;
	vertical-align: middle;
	background: currentcolor;
}
.c-list.-large li {
	padding-left: 2.2em;
	text-indent: -2.2em;
}
.c-list.-large li::before {
	width: 1.2em;
	height: 1.2em;
	margin-right: 1em;
	border: 1px solid var(--themecolor);
	border-radius: 1.2em;
	background: var(--accentcolor);
}

/**
 * リスト (連番付き一覧)
 * .c-numlist > :is(li,.item,dt,dd)
 */
.c-numlist > li,
.c-numlist > .item {
	counter-increment: num;
}
.c-numlist > li::before,
.c-numlist > .item > dt::before {
	content: counter(num) ".";
	display: inline-block;
	width: 1em;
	text-indent: 0;
}
.c-numlist > li,
.c-numlist > .item > dt {
	padding-left: 1em;
	text-indent: -1em;
}

/**
 * 定義リスト
 * .c-datalist > :is(dt,dd)
 */
.c-datalist {
	display: grid;
	justify-content: start;
	column-gap: 1.5em;
}
.c-datalist > dt {
	grid-column: 1;
}
.c-datalist > dd {
	grid-column: 2;
}

/**
 * 条項系リスト
 * .c-termslist > .item > :is(dt,dd)
 */
.c-termslist {}

/**
 * ラインナップ (一覧)
 * .c-lineup > .item > :is(.image,.text)
 * @modifier -numbering: 連番表示
 * @variable {number} --column: カラム数
 */
.c-lineup {
	--column: 1;
	display: grid;
	grid-template-columns: repeat(var(--column, 1), 1fr);
}
.c-lineup .item {
	position: relative;
}
.c-lineup .text {
	--fontBasis: 24;
}
.c-lineup .text dt {
	color: var(--themecolor);
	font-weight: 700;
}
.c-lineup .text dd {
	font-weight: 400;
	font-size: 72%;
	letter-spacing: 0;
}
.c-lineup .text .ex {
	font-size: 60%;
}
.c-lineup .text .ex * {
	font-size: inherit;
}
.c-lineup.-numbering .item {
	counter-increment: num;
}
.c-lineup.-numbering dt::before {
	content: counter(num);
	display: inline-grid;
	place-items: center;
	width: 1.8em;
	height: 1.8em;
	margin-right: .25em;
	padding-bottom: .1em;
	border-radius: 1.8em;
	line-height: 0;
	font-variant-numeric: tabular-nums;
	background: var(--accentcolor);
}
.c-lineup.-numbering .item:nth-child(-n+9) dt::before {
	content: "0" counter(num);
}
.c-lineup .c-button {
	margin-top: 1em;
	margin-left: auto;
}
@media screen and (max-width: 767.98px) {
	.c-lineup .text {
		--fontBasis: 20;
	}
}
@media (hover) {
	.c-lineup .link {
		position: relative;
	}
	.c-lineup .link::after {
		content: "";
		position: absolute;
		top: calc(50% - 20px);
		right: 16px;
		width: 40px;
		height: 40px;
		border-radius: 40px;
		background: var(--accentcolor) url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" style="fill:none;stroke:%232f3a78;stroke-linecap:round;stroke-linejoin:round;"><path d="M.5.5l7,5.5L.5,11.5"/></svg>') center / 25% no-repeat;
		transition: opacity var(--dur), translate var(--dur);
		opacity: 0;
		transition-timing-function: var(--easeOut);
	}
	.c-lineup .link:hover::after {
		translate: 8px 0;
		opacity: 1;
		transition-duration: calc(var(--dur) / 2);
	}
}

/**
 * 下層ページタイトル
 * .c-pagetitle > .motif
 * .c-pagetitle > .title > :is(.main,.sub)
 * @modifier -round: 二階層用, -belt: 三階層用
 * @variable {number} --column: カラム数
 */
.c-pagetitle {
	place-items: center;
	position: relative;
	padding-top: var(--sectiongap);
}
.c-pagetitle.-belt {
	display: grid;
}
.c-pagetitle::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
}
.c-pagetitle.-belt::before {
	grid-area: 1 / 1;
	margin-block: auto;
	background: var(--pagetitleGrad);
	opacity: .5;
}
.c-pagetitle.-round::before {
	position: absolute;
	inset: 0 0 auto;
	height: calc(var(--cw)  / 2);
	background: linear-gradient(to right, #fffff2, 12%, #98dfe2, 88%, #fff);
	-webkit-mask-image: radial-gradient(circle at 50% 100%, transparent calc(var(--cw) / 2), black calc(var(--cw) / 2 + 1px));
	mask-image: radial-gradient(circle at 50% 100%, transparent calc(var(--cw) / 2), black calc(var(--cw) / 2 + 1px));
}
.c-pagetitle.-round .motif {
	display: grid;
	align-content: end;
	height: 300px;
}
.c-pagetitle .title {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	color: var(--themecolor);
	--fontBasis: 25;
}
.c-pagetitle.-belt .title {
	grid-area: 1 / 1;
	position: relative;
}
.c-pagetitle.-round .title {
	align-self: start;
}
.c-pagetitle .main {
	font-weight: 600;
	font-size: 240%;
	font-family: var(--font);
}
.c-pagetitle.-belt .main {
	margin-top: -.25em;
}
.c-pagetitle.-belt .motif {
	position: absolute;
	top: 50%;
}
.c-pagetitle.-belt .motif.-l {
	left: calc(var(--basisgap) * -1);
	translate: -100% -50%;
}
.c-pagetitle.-belt .motif.-r {
	right: calc(var(--basisgap) * -1);
	translate: 100% -50%;
}
@media print, (min-width: 768px) {
	.c-pagetitle.-belt::before {
		height: 288px;
	}
}
@media screen and (max-width: 767.98px) {
	.c-pagetitle.-belt::before {
		height: 200px;
	}
	.c-pagetitle .title {
		--fontBasis: 18;
	}
	.c-pagetitle .main {
		font-size: 200%;
	}
}

/**
 * 枠付きセクション
 * .c-frame > :is(.shadow>.tail,.tail,.image,.c-paragraph)
 */
.c-frame {
	position: relative;
	padding: var(--basisgap);
	color: var(--themecolor);
}
.c-frame::before {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid var(--themecolor);
	border-radius: var(--radius);
}
.c-frame .c-capsule {
	margin-top: calc(var(--basisgap) * -1.85);
	margin-bottom: var(--basisgap);
}

/**
 * 吹き出しセクション
 * .c-balloon > :is(.shadow>.tail,.tail,.image,.c-paragraph)
 */
.c-balloon {
	position: relative;
	margin-bottom: 42px;
	padding: var(--basisgap);
	border: 1px solid var(--themecolor);
	border-radius: var(--radius);
	background: white;
}
.c-balloon .tail {
	overflow: visible;
	aspect-ratio: 48 / 42;
	position: absolute;
	top: calc(100% - 1px);
	left: calc(50% - 24px);
	width: 48px;
	height: auto;
	fill: white;
	stroke: var(--themecolor);
}
.c-balloon .shadow {
	z-index: -1;
	position: absolute;
	inset: 8px -8px -8px 8px;
	border: 1px solid var(--themecolor);
	border-radius: var(--radius);
	background: var(--accentcolor);
}
.c-balloon .shadow .tail {
	left: calc(50% - 28px);
	fill: var(--accentcolor);
	stroke: var(--themecolor);
}
@media screen and (max-width: 767.98px) {
	.c-balloon {
		margin-bottom: 21px;	
	}
	.c-balloon .tail {
		top: calc(100% - .5px);
		left: calc(50% - 12px);
		width: 24px;
		stroke-width: 2;
	}
	.c-balloon .shadow .tail {
		left: calc(50% - 16px);
	}
}

/* ::::: あとがき :::::: */
.c-afterwords {
	color: var(--themecolor);
	font-weight: 500;
	--fontBasis: 20;
	line-height: 2;
	text-align: center;
}

/**
 * Header
 * -------------------------------------------------- */
.l-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 2;
	position: fixed;
	inset: 0 0 auto;
	height: var(--headerHeight);
	padding-inline: var(--stretchgap);
	pointer-events: none;
}
.l-header > * {
	pointer-events: auto;
}
.l-header .logo {
	line-height: 0;
}
.l-header .logo svg {
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}
.l-header .drawer {
	display: grid;
	place-items: center;
	width: 80px;
	height: 48px;
	margin-right: calc(var(--stretchgap) * -1);
	border-radius: 48px 0 0 48px;
	color: white;
	font-weight: 600;
	--fontBasis: 10;
	background: var(--themecolor);
}
.l-header .drawer .bar {
	grid-area: 1 / 1;
	transform-origin: right center;
	fill: none;
	stroke: currentcolor;
}
.l-header .drawer .bar:nth-child(1) {
	transform: translateY(-6px);
}
.l-header .drawer .bar:nth-child(2) {
	transform: scaleX(.65);
}
.l-header .drawer .bar:nth-child(3) {
	transform: translateY(6px) scaleX(.3);
}
/* モーション */
.l-header .drawer.is-active {
	translate: 100% 0;
}
.l-header .drawer.is-motion {
	transition: translate .2s var(--easeOut);
}
.l-header .drawer.is-motion:not(.is-active) {
	transition-delay: .2s;
	transition-duration: .4s;
	transition-timing-function: var(--easeInOut);
}

/**
 * Navigation
 * -------------------------------------------------- */
.l-nav {
	z-index: 3;
	position: fixed;
	inset: 0;
}
.nav_overlay {
	position: absolute;
	inset: 0;
	background: #0001;
}
.nav_container {
	position: absolute;
	inset: 32px 0 auto auto;
	width: min(100% - var(--stretchgap), 368px);
	padding: 64px 32px 80px 64px;
	border: 1px solid var(--themecolor);
	border-right: 0;
	border-radius: 24px 0 0 24px;
	background: linear-gradient(to left, #d6ffffd9, #ffffffd9);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.nav_close {
	display: grid;
	place-items: center;
	position: absolute;
	inset: 32px 32px auto auto;
	color: var(--themecolor);
	font-weight: 600;
	--fontBasis: 10;
	line-height: 1.2;
	font-size: var(--fontSize);
	text-transform: uppercase;
}
.nav_close::before,
.nav_close::after {
	content: "";
	grid-area: 1 / 1;
	height: 3em;
	border-left: 1px solid currentcolor;
}
.nav_close::before {
	rotate: 45deg;
}
.nav_close::after {
	rotate: -45deg;
}
@media screen and (max-width: 767.98px) {
	.nav_container {
		top: 16px;
		padding: 40px 16px 64px 40px;
	}
	.nav_close {
		top: 16px;
		right: 16px;
	}
}
.nav_menu {
	--txColor: var(--themecolor);
	color: var(--themecolor);
	font-weight: 700;
	--fontBasis: 20;
	letter-spacing: .12em;
}
.nav_menu .link {
	display: inline-block;
	padding: .5em 1em;
	line-height: 1.2;
}
.nav_menu .link[aria-current="page"] {
	pointer-events: none;
	background: linear-gradient(var(--accentcolor), var(--accentcolor)) left .75em bottom .5em / calc(100% - 1.5em) .5em no-repeat;
}
.nav_menu .link .ico {
	position: relative;
	top: -.1em;
	width: .92em;
	height: auto;
	margin-left: .5em;
	vertical-align: middle;
}
.nav_terms {
	display: flex;
	overflow: hidden;
	position: absolute;
	inset: auto 0 0 auto;
	padding: 1em;
	padding-left: 40px;
	--txColor: white;
	color: white;
	--fontBasis: 10;
	letter-spacing: .05em;
	white-space: nowrap;
}
.nav_terms::before {
	content: "";
	position: absolute;
	inset: 0 0 -24px;
	border-top-left-radius: 72px 100%;
	background: var(--themecolor);
}
.nav_terms .item {
	position: relative;
}
.nav_terms .item:nth-child(n+2)::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	height: 1em;
	margin: auto 0;
	border-left: .5px solid currentcolor;
	opacity: .5;
}
.nav_terms .link {
	padding: 1em;
}
/* モーション */
.l-nav:not(.is-active) {
	display: none;
}
.nav_overlay:not(.is-active) {
	opacity: 0
}
.nav_container:not(.is-active) {
	translate: 100% 0;
}
.nav_close:not(.is-active)::before {
	rotate: 90deg;
}
.nav_close:not(.is-active)::after {
	rotate: -90deg;
}
.nav_overlay.is-motion {
	transition: opacity .4s .2s;
}
.nav_overlay.is-motion.is-active {
	transition-delay: 0s;
}
.nav_container.is-motion {
	transition: translate .4s var(--easeInOut);
}
.nav_container.is-motion.is-active {
	transition-delay: .2s;
	transition-timing-function: var(--easeOut);
}
.nav_close.is-motion::before,
.nav_close.is-motion::after {
	transition: rotate .4s var(--easeOut);
}
.nav_close.is-motion.is-active::before,
.nav_close.is-motion.is-active::after {
	transition-delay: .4s;
	transition-timing-function: var(--easeBack);
}

/**
 * Footer
 * -------------------------------------------------- */
.l-footer {
	position: relative;
	border-image: linear-gradient(#cddde4, #cddde4) 0 fill / 0 / 50vw 50vw 0;
}
.footer_container {
	display: grid;
	width: min(100% - var(--stretchgap) * 2, 1024px);
	padding-bottom: var(--basisgap);
	color: var(--themecolor);
}
.footer_conversion {
	display: flex;
	align-items: center;
	gap: 1em;
	--fontBasis: 20;
}
@media print, (min-width: 768px) {
	.footer_container {
		grid-template-columns: auto 1fr;
		justify-content: start;
		margin-inline: auto;
	}
	.footer_container::after {
		content: "";
		grid-area: 3 / 1 / 4 / 3;
		border-image: linear-gradient(currentcolor, currentcolor) 1 0 0 / 1px 0 0 / 0 50vw;
	}
}
@media screen and (max-width: 767.98px) {
	.footer_container {
		row-gap: var(--basisgap);
		margin-inline: auto;
		padding-bottom: calc(var(--basisgap) + 55px); /* DocsBotAI分考慮 */
	}
}

/* :::::: 会社情報 :::::: */
.footer_info {
	font-weight: 500;
	--fontBasis: 14;
	letter-spacing: .12em;
}
.footer_info .logo {
	width: min(var(--cw) * 239 / var(--aspect), 239px);
}
.footer_info .logo svg {
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}
.footer_info .title {
	margin-top: .75em;
	font-size: 114%;
}
.footer_info .youtube {
	margin-top: .25em;
	font-weight: 700;
	font-size: 143%;
}
.footer_info .youtube .ico {
	position: relative;
	top: -.1em;
	width: 1.12em;
	height: auto;
	margin-left: .4em;
	fill: currentcolor;
	stroke: none;
	vertical-align: middle;
}

/* :::::: サイトマップ :::::: */
.footer_sitemap {
	display: grid;
	align-content: start;
	z-index: 1;
	font-weight: 600;
	--fontBasis: 13;
	line-height: 1.2;
	letter-spacing: .06em;
}
.footer_sitemap > .item > .link {
	position: relative;
}
.footer_sitemap > .item > .link::before {
	content: "";
	position: absolute;
	top: calc(50% - .3em);
	left: 0;
	width: .7em;
	height: .7em;
	border-radius: .7em;
	background: currentcolor;
}
.footer_motif1,
.footer_motif2 {
	user-select: none;
	pointer-events: none;
}
.footer_sitemap .link {
	display: inline-block;
	padding: .4em 0 .4em 1.5em;
}
.footer_sitemap .link[aria-current="page"] {
	pointer-events: none;
	background: linear-gradient(var(--accentcolor), var(--accentcolor)) left 1.25em bottom .25em / calc(100% - 1.25em) .5em no-repeat;
}
.footer_sitemap .link .ico {
	position: relative;
	top: -.1em;
	width: .92em;
	height: auto;
	margin-left: .5em;
	vertical-align: middle;
}
.sitemap_children {
	font-weight: 400;
}
.footer_terms,
.l-footer .copyright {
	padding-top: .5em;
	white-space: nowrap;
}
.footer_terms {
	z-index: 1;
	display: flex;
	column-gap: 1em;
	--fontBasis: 10;
}
.l-footer .copyright {
	--fontBasis: 10;
}
@media print, (min-width: 768px) {
	.footer_motif1 {
		grid-area: 1 / 1;
		margin-left: calc(var(--stretchgap) / 1.5);
	}
	.footer_motif2 {
		position: absolute;
		right: max(50% - 640px, var(--stretchgap));
		bottom: 96px;
	}
	.footer_conversion {
		grid-area: 1 / 2;
		padding-top: 5em;
	}
	.footer_info,
	.footer_sitemap {
		margin-bottom: 64px;
	}
	.footer_info {
		grid-area: 2 / 1;
		padding-right: var(--stretchgap);
	}
	.footer_sitemap {
		grid-area: 2 / 2;
		justify-self: start;
		column-gap: 1em;
		padding-top: 1em;
	}
	.footer_sitemap > .item { grid-column: 1; }
	.footer_sitemap > .-company { grid-column: 2; }
	.footer_sitemap > .-access { grid-column: 3; }
	.footer_sitemap > .-group { grid-column: 4; }
	.footer_sitemap > :where(.-company,.-access,.-group) {
		grid-row: 1 / 9;
	}
	.footer_sitemap > .-home { grid-row: 1; }
	.footer_sitemap > .-service { grid-row: 2; }
	.footer_sitemap > .-product { grid-row: 3; }
	.footer_sitemap > .-partnership { grid-row: 4; }
	.footer_sitemap > .-interview { grid-row: 5; }
	.footer_sitemap > .-news { grid-row: 6; }
	.footer_sitemap > .-recruit { grid-row: 7; }
	.footer_terms {
		grid-area: 3 / 1;
	}
	.l-footer .copyright {
		grid-area: 3 / 2;
		justify-self: end;
	}
}
@media screen and (max-width: 767.98px) {
	.footer_motif2 {
		position: absolute;
		top: calc(var(--basisgap) * -1);
		right: 0;
	}
	.footer_conversion {
		flex-direction: column;
	}
	.footer_sitemap {
		grid-template-columns: auto auto;
		column-gap: 1em;
	}
	.footer_sitemap > .-home {
		grid-column: span 2;
	}
	.footer_sitemap > :where(.-home,.-product) {
		order: -1;
	}
	.footer_sitemap > .-company {
		grid-row: span 2;
	}
	.footer_sitemap > :where(.-company,.-access,.-group) {
		order: 1;
	}
	.l-footer .copyright {
		margin-top: calc(var(--basisgap) * -1);
	}
}

/**
 * Loader
 * -------------------------------------------------- */
.l-loader {
	z-index: 10;
	position: fixed;
	inset: 0;
	background: white;
}
.l-loader.is-fadeout {
	opacity: 0;
	transition: opacity .8s;
}
.l-loader.is-standby {
	opacity: 0;
	pointer-events: none;
}
.l-loader.is-fadein {
	opacity: 1;
	transition: opacity .2s;
}

/**
 * DocsBotAI
 * -------------------------------------------------- */
#docsbotai-root .floating-button {
	width: 128px !important;
	height: 48px !important;
}

/**
 * Utility / JavaScript
 * -------------------------------------------------- */
@media (hover) {
	.c-splitstring {
		--interval: 8ms;
		clip-path: inset(-.25em);
	}
	.cr-termsbar .c-splitstring {
		z-index: 1;
	}
	.c-splitstring .c {
		display: inline-block;
		color: var(--txColor);
		text-shadow: 0 1.5em 0 transparent;
		transition: translate, color, text-shadow;
		transition-duration: var(--dur);
		transition-timing-function: var(--easeOut);
	}
	a:hover .c-splitstring .c {
		display: inline-block;
		color: transparent;
		text-shadow: 0 1.5em 0 var(--txColor);
		translate: 0 -1.5em;
	}
	a:hover .c-splitstring .-c1  { transition-delay: calc(var(--interval) * 0); }
	a:hover .c-splitstring .-c2  { transition-delay: calc(var(--interval) * 1); }
	a:hover .c-splitstring .-c3  { transition-delay: calc(var(--interval) * 2); }
	a:hover .c-splitstring .-c4  { transition-delay: calc(var(--interval) * 3); }
	a:hover .c-splitstring .-c5  { transition-delay: calc(var(--interval) * 4); }
	a:hover .c-splitstring .-c6  { transition-delay: calc(var(--interval) * 5); }
	a:hover .c-splitstring .-c7  { transition-delay: calc(var(--interval) * 6); }
	a:hover .c-splitstring .-c8  { transition-delay: calc(var(--interval) * 7); }
	a:hover .c-splitstring .-c9  { transition-delay: calc(var(--interval) * 8); }
	a:hover .c-splitstring .-c10 { transition-delay: calc(var(--interval) * 9); }
	a:hover .c-splitstring .-c11 { transition-delay: calc(var(--interval) * 10); }
	a:hover .c-splitstring .-c12 { transition-delay: calc(var(--interval) * 11); }
	a:hover .c-splitstring .-c13 { transition-delay: calc(var(--interval) * 12); }
	a:hover .c-splitstring .-c14 { transition-delay: calc(var(--interval) * 13); }
	a:hover .c-splitstring .-c15 { transition-delay: calc(var(--interval) * 14); }
	a:hover .c-splitstring .-c16 { transition-delay: calc(var(--interval) * 15); }
	a:hover .c-splitstring .-c17 { transition-delay: calc(var(--interval) * 16); }
	a:hover .c-splitstring .-c18 { transition-delay: calc(var(--interval) * 17); }
	a:hover .c-splitstring .-c19 { transition-delay: calc(var(--interval) * 18); }
	a:hover .c-splitstring .-c20 { transition-delay: calc(var(--interval) * 19); }
}
.u-visuallyhidden {
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: -1px;
	white-space: nowrap;
	clip: rect(0 0 0 0);
}
.u-alignr {
	text-align: right;
}
.u-alignc {
	text-align: center;
}
.-comingsoon {
	opacity: .3;
	user-select: none;
	pointer-events: none;
}
:root {
	interpolate-size: allow-keywords;
	
	--themecolor: #2f3a78;
	--accentcolor: #e8ff3c;
	--gray: #acacac;
	--lightgray: #c7c7c7;
	--red: #b44628;
	
	--sky: linear-gradient(to top, #99e0e3, #fffff3);
	--bg: linear-gradient(to top, #99e0e3, 25%, #fffff3);
	--grad: linear-gradient(to left, #8ec6c3, #2d74b9);
	--pagetitleGrad: linear-gradient(to right, #98dfe2, 12%, #e8f3eb, 88%, #98dfe2);
	
	--fontJa: "Zen Kaku Gothic New", sans-serif;
	--fontEn: "Poppins", sans-serif;
	--radius: 8px;
	
	--dur: .4s;
	--easeIn: cubic-bezier(.3,0,.7,0);
	--easeOut: cubic-bezier(.3,1,.7,1);
	--easeInOut: cubic-bezier(.7,0,.3,1);
	--easeBack: cubic-bezier(.3,1.6,.7,1);
}
body {
	--cw: 100vw;
	--breakout: calc(50% - var(--cw) / 2);
	
	--slope: calc( (var(--max, 16) - var(--min, 12)) / (var(--basisMax) - var(--basisMin)) );
	--lerp: calc( var(--max, 16) + var(--slope) * (var(--cw) - var(--basisMax) * .0625rem) );
	--lerpSize: clamp( var(--min, 12) * .0625rem, var(--lerp), var(--max, 16) * .0625rem );
}
:where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,figcaption,button,.c-button) {
	--fontStatic: calc(var(--fontBasis) * .0625rem);
	--fontSize: clamp(.625rem, var(--cw) * var(--fontBasis) / var(--aspect), var(--fontBasis) * .0625rem);
	font-size: var(--fontSize);
}
:where(img[src$=".png"])[style^="--w:"],
:where(img[src$=".webp"])[style^="--w:"] {
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * .5px);
}
:where(svg)[style^="--w:"],
:where(img[src$=".svg"])[style^="--w:"] {
	width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * 1px);
}
@media print, (min-width: 768px) {
	.u-md { display: none; }
	:root {
		--aspect: 1200;
		--basisMax: 1200;
		--basisMin: 768;
	}
	body {
		/* Headerの高さ */
		--headerHeight: 112px;
		/**
		 * セクション内要素の空きに使用
		 * 広め: calc(var(--basisgap) * 2)など
		 * 狭め: calc(var(--basisgap) / 2)など
		 */
		--basisgap: 40px;
		/**
		 * ウィンドウ幅で伸縮させたい空き (主にレイアウト両脇の空き)
		 */
		--stretchgap: min(var(--cw) * 40 / var(--aspect), 40px);
		/**
		 * セクション間の空きに使用
		 * 広め: calc(var(--stretchgap) * 2)など
		 * 狭め: calc(var(--stretchgap) / 2)など
		 */
		--sectiongap: 120px;
	}
}
@media screen and (max-width: 767.98px) {
	.u-dt { display: none; }
	:root {
		--aspect: 400;
		--basisMax: 400;
		--basisMin: 320;
	}
	body {
		--headerHeight: 80px;
		--basisgap: 24px;
		--stretchgap: calc(var(--cw) * 24 / var(--aspect));
		--sectiongap: 80px;
	}
	:where(svg)[style^="--w:"],
	:where(img[src$=".svg"])[style^="--w:"] {
		width: min(var(--cw) * var(--w) / var(--aspect), var(--w) * .5px);
	}
}
html {
	scroll-behavior: auto;
	-webkit-text-size-adjust: 100%;
}
body {
	overscroll-behavior: auto;
	color: var(--black);
	font: 500 1em / 1.75 var(--fontJa);
	font-feature-settings: "palt" 1;
	letter-spacing: .04em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	background: white;
}
body.scrollbar {
	overflow-y: scroll;
}
*,*::before,*::after{box-sizing:border-box;}
:where(ul,ol){list-style:none;padding:0;}
:where(img,svg,video,iframe){vertical-align:middle;}
:where(img[height],picture>img,video[height]){height:auto;}
:where(input,button,textarea,select,small){font:inherit;}
:where(body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol,dl,dd){margin:0;}
:where(img,picture,video,iframe){display:inline-block;max-width:100%;}
:where(a){color:inherit;text-decoration:inherit;text-decoration-skip-ink:auto;}
:where(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;color:inherit;background:none;}
:where(sub){vertical-align:baseline;}
@media(hover){:where(a[href],button){cursor:pointer;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}