@charset "UTF-8";

/* ================================================================
   サイト全体スタイルシート
   ================================================================
   このファイルは、コーポレートサイト全ページのスタイルを管理します。
   構成：
     1. @keyframes アニメーション定義
     2. 各ページ固有のスタイル（PC デスクトップ基準）
     3. レスポンシブ対応（メディアクエリ）
   ================================================================ */

/* ################################################################
   共通パーツ：@keyframes アニメーション定義
   ################################################################ */

/* DXページ横スクロールアニメーション */
@keyframes dxScroll {
	0% {
		transform: translate3d(0%, 0, 0);
	}
	100% {
		transform: translate3d(-50%, 0, 0);
	}
}
/* 360度回転アニメーション（ローディング等に使用） */
@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/* 雲の背景横移動アニメーション */
@keyframes moveCloud {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 1920px 0;
	}
}
/* ソリューション幅拡張アニメーション */
@keyframes solutionWidth {
	0% {
		width: 485px;
	}
	100% {
		width: 610px;
	}
}
/* スクロールダウンインジケーターのアニメーション（伸縮） */
@keyframes scrollDown {
	0% {
		transform-origin: center top;
		transform: scale(1, 0);
	}
	10% {
		transform-origin: center top;
		transform: scale(1, 0);
	}
	50% {
		transform-origin: center top;
		transform: scale(1, 1);
	}
	60% {
		transform-origin: center bottom;
		transform: scale(1, 1);
	}
	90% {
		transform-origin: center bottom;
		transform: scale(1, 0);
	}
	100% {
		transform-origin: center bottom;
		transform: scale(1, 0);
	}
}
/* キャレット（カーソル）点滅アニメーション */
@keyframes caret {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* 水平方向のグラデーションラインアニメーション */
@keyframes lineGradientHorizon {
	0% {
		background-position: 0% 0%;
	}
	100% {
		background-position: 200% 0%;
	}
}
/* 垂直方向のグラデーションラインアニメーション */
@keyframes lineGradientVertical {
	0% {
		background-position: 0% 0%;
	}
	100% {
		background-position: 0% 200%;
	}
}

/* ================================================================
   スプラッシュ（トップページ専用ローディングアニメーション）
   ================================================================ */
.splash {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.splash.is-hide {
	transform: translateY(-100%);
}
.splash_logo {
	max-width: 160px;
	opacity: 0;
	animation: splashFadeIn 0.3s 0.1s forwards;
}
.splash_logo > img {
	width: 100%;
	height: auto;
}
@keyframes splashFadeIn {
	from { opacity: 0; transform: scale(1.6); }
	to   { opacity: 1; transform: scale(1); }
}

/* ################################################################
   企業情報ページ（会社概要・沿革・組織図・取引先・企業メッセージ）
   ################################################################ */

/* ========================================
   企業メッセージ — 代表メッセージや企業理念テキストエリア
   ======================================== */
.corp-message {}

/* ========================================
   イントロ画像（ワイド） — ページ上部のワイド背景画像セクション
   ======================================== */
.intro-wide-image {
	padding-bottom: 0;
	margin-bottom: 94px;
	z-index: 2;
	height: 41.6vw;
	max-height: 800px;
	min-height: 600px;
	overflow: hidden;
	position: relative;
	background-color: #f6fbff;
}
.intro-wide-image-mbL {
	margin-bottom: 160px;
}
.intro-wide-image > img {
	display: block;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.corp-message_bgCircle {
	position: absolute;
	border-radius: 50%;
	z-index: 0;
}
.corp-message_areaTxt {
	position: relative;
	z-index: 1;
	padding-bottom: 134px;
}
.corp-message_inner {
	max-width: 907px;
	position: relative;
	z-index: 2;
}
.corp-message_title {}
.corp-message_headline {}
.corp-message_text {
	font-size: 26px;
	line-height: 2;
	color: var(--color-dark-blue);
	font-weight: 600;
	margin-bottom: 52px;
}
.corp-message_name {
	font-size: 26px;
	font-weight: 600;
	color: var(--color-dark-blue);
	margin-top: 57px;
}
.corp-message_name_post {
	font-size: 18px;
	margin-right: 18px;
}
.corp-message_name_main {}
.corp-message_bgCircle-left {
	width: 1087px;
	height: 1087px;
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	background-image: radial-gradient(circle, rgba(201, 233, 255, 1.0) 0%, rgba(201, 233, 255, 0.8) 20%, rgba(201, 233, 255, 0.4) 40%, rgba(201, 233, 255, 0.1) 60%, rgba(201, 233, 255, 0.0) 70%);
	width: 1500px;
	height: 1500px;
}
.corp-message_bgCircle-right {
	width: 1000px;
	height: 1000px;
	background-image: radial-gradient(circle, rgba(233, 255, 137, 1.0) 0%, rgba(233, 255, 137, 0.8) 20%, rgba(233, 255, 137, 0.4) 40%, rgba(233, 255, 137, 0.1) 60%, rgba(233, 255, 137, 0.0) 70%);
	right: 0;
	bottom: 0;
	transform: translate(50%, 50%);
	margin-right: 0;
	opacity: .8;
}

/* ========================================
   エリア：概要 — 会社概要ページ全体のラッパー
   ======================================== */
.area-outline {}

/* ========================================
   会社概要 — 会社名・住所・設立日などの基本情報テーブル
   ======================================== */
.outline-company {
	margin-bottom: 120px;
}
.outline-company_contents {}
.outline-company_contents_inner {}
.outline-company_cols {
	display: flex;
	justify-content: space-between;
}
.outline-company_col {}
.outline-company_col-ttl {
	width: 300px;
}
.outline-company_title {
	margin-bottom: 0;
}
.outline-company_col-txt {
	width: calc(100% - 350px);
	max-width: 847px;
}
.outline-company_areaTbl {}
.outline-company_table {}
.outline-company_table > tbody {}
.outline-company_table > tbody > tr {}
.outline-company_table > tbody > tr > th {}
.outline-company_table > tbody > tr > td {}
.outline-company_list {
	list-style: none;
	line-height: 2.25;
}
.outline-company_list > li {}
.outline-company_list > li > a {
	text-decoration: underline;
}
.outline-company_cTbl {
	line-height: 2.25;
}
.outline-company_cTbl > tbody {}
.outline-company_cTbl > tbody > tr {}
.outline-company_cTbl > tbody > tr > th {
	white-space: nowrap;
	width: 200px;
	text-align: left;
	vertical-align: top;
	padding-right: 20px;
	box-sizing: border-box;
}
.outline-company_cTbl > tbody > tr > td {
	vertical-align: top;
	padding: 0 20px;
}
.outline-company_tblTxt {}
.outline-company_tblTxt_note {
	font-size: 13px;
	margin-left: 6px;
}

/* ========================================
   沿革 — 会社の歴史年表セクション
   ======================================== */
.outline-history {
	margin-bottom: 130px;
}
.outline-history_contents {
	padding-top: 100px;
	padding-bottom: 145px;
	background-color: var(--color-light-blue);
}
.outline-history_contents_inner {}
.outline-history_title {}
.outline-history_areaTxt {
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	padding: 73px 30px;
}
.outline-history_areaTxt_inner {
	max-width: 1120px;
	margin: 0 auto;
}
.outline-history_table {}
.outline-history_table > tbody {}
.outline-history_table > tbody > tr {}
.outline-history_table > tbody > tr > th {}
.outline-history_table > tbody > tr > td {}

/* ========================================
   組織図 — 組織構成図の画像表示セクション
   ======================================== */
.outline-organization {
	margin-bottom: 120px;
}
.outline-organization_contents {}
.outline-organization_contents_inner {}
.outline-organization_title {}
.outline-organization_areaImg {}
.outline-organization_image {}
.outline-organization_image > img {
	display: block;
}

/* ========================================
   取引先 — 主要取引先一覧テーブル
   ======================================== */
.outline-partners {
	margin-bottom: 158px;
}
.outline-partners_contents {
	padding-top: 130px;
	padding-bottom: 120px;
	background-color: var(--color-light-blue);
}
.outline-partners_contents_inner {}
.outline-partners_title {}
.outline-partners_areaTbl {}
.outline-partners_table {}
.outline-partners_table > tbody {}
.outline-partners_table > tbody > tr {}
.outline-partners_table > tbody > tr > th {
	white-space: nowrap;
}
.outline-partners_table > tbody > tr > td {}
.outline-partners_tblList {
	list-style: none;
	line-height: 2.25;
}
.outline-partners_tblList > li {}
.area-outline_inner {}

/* ################################################################
   DXビジョン2030ページ
   ################################################################ */

/* ========================================
   DXナビゲーション — DXビジョンへの導線CTA（画像＋テキスト）
   ======================================== */
.dx-nav {}
.dx-nav_inner {
	max-width: 1498px;
}
.dx-nav_contents {
	position: relative;
}
.dx-nav_areaTxt {
	min-height: 478px;
	position: relative;
	z-index: 2;
	background-color: rgba(4, 55, 111, 0.70);
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	color: var(--color-white);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 42.7%;
	padding: 20px 30px;
	min-width: 480px;
}
.dx-nav_areaTxt_inner {
	width: 100%;
	max-width: 485px;
	margin: 0 auto;
}
.dx-nav_title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 34px;
}
.dx-nav_en {
	font-size: 42px;
	font-weight: bold;
	font-family: var(--font-jetbranins);
}
.dx-nav_main {
	display: block;
	margin-top: 10px;
}
.dx-nav_text {}
.dx-nav_link {
	max-width: 232px;
	margin-top: 70px;
}
.dx-nav_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.dx-nav_bg > img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
}

/* ################################################################
   事業拠点・グループ企業ページ
   ################################################################ */

/* ========================================
   グループ企業：ヘッダー — グループ企業紹介の見出しと概要テーブル
   ======================================== */
.group-head {
	margin-bottom: 165px;
}
.group-head_contents {}
.group-head_contents_inner {}
.group-head_title {}
.group-head_image {
	margin-bottom: 75px;
}
.group-head_image > img {
	display: block;
	margin: 0 auto;
}
.group-head_headline {}
.group-head_table {}
.group-head_table > tbody {}
.group-head_table > tbody > tr {}
.group-head_table > tbody > tr > th {}
.group-head_table > tbody > tr > td {}
.group-head_mail {}
.group-head_mail > a {}
.group-head_list {}
.group-head_list > li {
	margin-top: 11px;
}
.group-head_list > li:first-child {
	margin-top: 0;
}
.group-head_note {
	margin-top: 22px;
}
.group-head_note > a {}
.group-head_note > a > .icon {}
.group-head_map {
	position: relative;
	padding-bottom: 34.3%;
	margin-top: 35px;
}
.group-head_map > iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ========================================
   グループ企業：拠点 — 各拠点の住所・連絡先カード
   ======================================== */
.group-branch {
	margin-bottom: 160px;
}
.group-branch_contents {}
.group-branch_contents_inner {}
.group-branch_title {}
.group-branch_cell {
	padding-bottom: 40px;
	border-bottom: 1px solid var(--color-border-light);
	margin-bottom: 40px;
}
.group-branch_cell:last-child {
	margin-bottom: 0;
}
.group-branch_cols {
	display: flex;
	justify-content: space-between;
}
.group-branch_col {}
.group-branch_col-txt {
	width: 65%;
}
.group-branch_cCols {
	display: flex;
	justify-content: space-between;
}
.group-branch_cCol {}
.group-branch_cCol-ttl {
	width: 200px;
}
.group-branch_office {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	font-size: 20px;
	font-weight: 600;
	line-height: 24px;
}
.group-branch_office_type {
	display: block;
	font-size: 16px;
	font-weight: 500;
	background-color: var(--color-blue);
	color: var(--color-white);
	font-family: var(--font-jetbranins);
	padding: 0px 2px;
	margin-right: 10px;
}
.group-branch_office_main {
	display: block;
}
.group-branch_cCol-txt {
	width: calc(100% - 216px);
	line-height: 1.7;
}
.group-branch_add {}
.group-branch_tel {}
.group-branch_tel > a {
	text-decoration: none;
	color: inherit;
}
.group-branch_mail {
	margin-bottom: 19px;
}
.group-branch_mail > a {}
.group-branch_box {}
.group-branch_headline {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 3px;
}
.group-branch_list {
	line-height: 1.5;
}
.group-branch_list > li {}
.group-branch_list > li::before {
	top: 0.75em;
}
.group-branch_link {
	max-width: 176px;
	margin-top: 29px;
}
.group-branch_col-img {
	max-width: 410px;
	width: 32.5%;
}
.group-branch_image {}
.group-branch_image > img {
	display: block;
	margin: 0 auto;
}

/* ========================================
   グループ企業：関連会社 — グループ関連会社の紹介カード（画像＋テキスト）
   ======================================== */
.group-companies {}
.group-companies_contents {
	background-color: var(--color-light-blue);
	padding-top: 138px;
	padding-bottom: 100px;
}
.group-companies_contents_inner {}
.group-companies_title {}
.group-companies_cell {
	margin-bottom: 77px;
}
.group-companies_headline {}
.group-companies_cols {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.group-companies_cols:last-child {
	margin-bottom: 0;
}
.group-companies_col {}
.group-companies_col-img {
	width: 47%;
	max-width: 590px;
}
.group-companies_image {}
.group-companies_image > img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.group-companies_col-txt {
	width: 49%;
	max-width: 630px;
	padding-top: 35px;
}
.group-companies_subhead {
	margin-bottom: 14px;
}
.group-companies_text {}
.group-companies_link {
	max-width: 232px;
	margin-top: 50px;
}

/* ========================================
   グループ企業：役員 — 役員一覧の3列グリッド表示
   ======================================== */
.group-member {}
.group-member_cells {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background-color: var(--color-white);
}
.group-member_cell {
	padding: 55px 20px 50px;
	border-left: 1px solid var(--color-border-light);
}
.group-member_cell:nth-child(n+4) {
	border-top: 1px solid var(--color-border-light);
}
.group-member_cell:nth-child(3n+1) {
	border-left: none;
}
.group-member_cell_inner {
	max-width: 366px;
	margin: 0 auto;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.group-member_fig {
	margin-bottom: 5px;
}
.group-member_fig > img {
	display: block;
	margin: 0 auto;
}
.group-member_fig > figcaption {
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	margin-top: 43px;
	line-height: 1.6;
}
.group-member_text {
	line-height: 1.5;
	margin-bottom: auto;
}
.group-member_link {
	max-width: 176px;
	margin: 32px auto 0;
	width: 100%;
}
.azul {
	background-image: linear-gradient(297.02deg, var(--gradient-dark) -65.77%, var(--gradient-mid) 28.15%, var(--gradient-light) 113.45%);
	position: relative;
	padding: 50px 20px;
}
.azul_inner {
	max-width: 1120px;
	margin: 0 auto;
}
.azul_sponsor {
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(../img/group/bg-sponsor.svg);
	background-size: 100% 100%;
	width: 136px;
	height: 136px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.azul_sponsor_main {
	display: block;
	font-family: var(--font-jetbranins);
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	transform: rotate(-45deg);
	position: relative;
	left: -14px;
	top: -13px;
}
.azul_cols {
	display: flex;
	justify-content: space-between;
}
.azul_col {}
.azul_col-img {
	width: 28%;
	padding-top: 15px;
}
.azul_logo {}
.azul_logo > img {
	display: block;
	margin: 0 auto;
}
.azul_col-txt {
	width: 64.6%;
}
.azul_title {
	margin-bottom: 8px;
}
.azul_message {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.9;
	margin-bottom: 20px;
}
.azul_message_span {
	background-color: var(--color-white);
	letter-spacing: 0.05em;
	padding: 0.1em 0.3em 0em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.azul_message_span:first-child {
	margin-top: 0;
}
.azul_text {
	color: var(--color-white);
}
.azul_link {
	max-width: 176px;
	margin-top: 30px;
}
.azul_link > a {
	min-height: 46px;
}

/* ################################################################
   共通パーツ：ページネーション
   ################################################################ */

/* ページャー — 一覧ページの前後ナビゲーション（ページ番号ボタン） */
.pager {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 90px;
}
.pager > a,
.pager > span {
	border: 1px solid rgba(4, 55, 111, 0.30);
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--font-jetbranins);
	color: var(--color-blue);
	min-width: 48px;
	height: 48px;
	border-radius: var(--radius-md);
	margin: 10px;
	box-sizing: border-box;
	font-size: 16px;
	transition-duration: var(--transition-base);
	transition-property: background-color, color, border-color;
	font-weight: bold;
	background-color: var(--color-white);
}
.pager > .previouspostslink {
	font-size: 10px;
	border: none;
	background-color: rgba(255, 255, 255, 0);
}
.pager > .current {
	border-color: var(--color-blue);
	color: var(--color-white);
	background-color: var(--color-blue);
}
.pager > .extend {
	border-color: rgba(255, 255, 255, 0);
	background-color: rgba(255, 255, 255, 0);
}
.pager > .nextpostslink {
	font-size: 10px;
	border: none;
	background-color: rgba(255, 255, 255, 0);
}

/* ################################################################
   ニュースページ
   ################################################################ */

/* ニュース — サイドバー付きニュース一覧レイアウト（カテゴリフィルター＋記事リスト） */
.news {}
.news_inner {
	max-width: var(--width-container-wide);
}
.news_cols {
	display: flex;
	justify-content: space-between;
}
.news_col {}
.news_col-side {
	width: 290px;
	padding-top: 30px;
}
.news_catList {
	background-color: var(--color-light-blue);
	padding: 10px 10px;
	list-style: none;
	border-radius: var(--radius-sm);
}
.news_catList > li {}
.news_catList > li:nth-child(n+2) {
	margin-top: 0px;
}
.news_catList_item {
	text-decoration: none;
	display: block;
	color: inherit;
	position: relative;
	padding: 6px;
	padding-left: 45px;
	transition-duration: var(--transition-base);
	transition-property: color, background-color;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	line-height: 2;
}
.news_catList_item::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	width: 6px;
	height: 6px;
	background-color: var(--color-blue);
	left: 28px;
	top: calc(1em + 6px);
	transform: translateY(-50%);
}
.news_catList_item[aria-current="page"] {
	background-color: var(--color-white);
}
.news_catList_item[aria-selected="true"] {
	background-color: var(--color-white);
}
.news_col-main {
	width: calc(100% - 320px);
	max-width: 987px;
}

/* ========================================
   ニュース一覧 — ニュース記事のリスト表示
   ======================================== */
.news-list {
	list-style: none;
}
.news-list > li {}
.news-list > li > a {
	text-decoration: none;
	color: inherit;
	display: block;
}

/* ========================================
   ニュースアイテム — 各ニュース記事の個別カード（日付・カテゴリ・タイトル）
   ======================================== */
.news-item {
	position: relative;
	padding-top: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--color-border-light);
	padding-right: 40px;
}
.news-item::after {
	content: "";
	display: block;
	background-image: linear-gradient(to left, #F9FF43 10%, #FEFFEC 28%, #0073FF 95%);
	position: absolute;
	bottom: 0;
	left: auto;
	width: 0;
	height: 2px;
	transform: translateY(50%);
	background-position: left center;
	background-repeat: repeat-x;
	background-size: 100% 100%;
	transition-duration: .4s;
	transition-property: width;
	right: 0;
}
.news-item_areaCat {
	display: flex;
	align-items: center;
	margin-bottom: 22px;
}
.news-item_update {}
.news-item_update > time {}
.news-item_cat {
	margin-left: 20px;
}
.news-item_text {
	transition-duration: var(--transition-base);
	transition-property: color, background-color;
}
.news-item_icon {
	right: 0px;
}

/* ========================================
   エリア：応募フォーム — ニュース詳細内の応募・エントリーフォーム
   ======================================== */
.area-entry {}
.area-entry_catWrap {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}
.area-entry_update {}
.area-entry_update > time {}
.area-entry_cat {
	margin-left: 20px;
}
.area-entry_cat > a {}
.area-entry_title {
	font-size: 60px;
	font-weight: bold;
	line-height: 1.5;
}
.entry {}
.entry_body {
	padding-bottom: 90px;
	position: relative;
}
.entry_body::after {
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background-color: var(--color-light-gray);
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
}
.entry_editor {
	font-weight: normal;
}
.entry_link {
	max-width: 230px;
	margin: 121px auto 0;
}
.entry_link > a {
	padding: 10px 60px;
	padding-right: 20px;
}

/* ################################################################
   イベントページ
   ################################################################ */

/* ========================================
   エリア：イベント — イベント一覧の3列グリッドレイアウト
   ======================================== */
.area-event {
	padding-top: 130px;
	padding-bottom: 130px;
	background-color: var(--color-light-blue);
}
.area-event_inner {}
.area-event_list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
	row-gap: 100px;
}
.area-event_list > li {}
.area-event_list > li > a {
	text-decoration: none;
	color: inherit;
	display: block;
}

/* ========================================
   イベントアイテム — 各イベントカード（画像・カテゴリ・タイトル・開催情報）
   ======================================== */
.event-item {}
.event-item_areaImg {
	box-shadow: 0 0 45px -9px rgba(0, 0, 0, 0.15);
	margin-bottom: 32px;
	overflow: hidden;
	border-radius: var(--radius-md);
	position: relative;
}
.event-item_image {
	padding-bottom: 64.65%;
	border-radius: var(--radius-md);
	transition-duration: var(--transition-base);
	transition-property: transform;
}
.event-item_image > img {
	display: block;
}
.event-item_areaTxt {}
.event-item_catList {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	row-gap: 10px;
	column-gap: 11px;
	margin-bottom: 15px;
}
.event-item_catList > li {}
.event-item_cat {}
.event-item_title {
	font-size: 22px;
	font-weight: 500;
	line-height: 2;
	border-bottom: 1px solid rgba(0, 0, 0, 0.31);
	margin-bottom: 41px;
	padding-bottom: 15px;
}
.event-item_title:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.event-item_table {
	display: block;
	font-size: 16px;
	color: var(--color-blue);
	line-height: 1.7;
}
.event-item_table > tbody {
	display: block;
}
.event-item_table > tbody > tr {
	display: flex;
	justify-content: flex-start;
	margin-top: 6px;
}
.event-item_table > tbody > tr:first-child {
	margin-top: 0;
}
.event-item_table > tbody > tr > th {
	white-space: nowrap;
	display: block;
	padding-left: 3px;
	padding-right: 15px;
	background-color: var(--color-white);
	min-height: 100%;
}
.event-item_table > tbody > tr > td {
	display: block;
	background-color: var(--color-white);
	padding-right: 3px;
}
.event-item_endTxt {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.20);
	width: 100%;
	height: 100%;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--color-white);
}
.event-item_endTxt_main {
	display: block;
	background-color: rgba(80, 80, 80, 0.50);
}

/* ========================================
   イベント詳細 — イベント詳細ページの2カラムレイアウト（画像＋情報）
   ======================================== */
.event-detail {
	background-color: var(--color-light-blue);
	padding-top: 160px;
	padding-bottom: 170px;
	margin-bottom: 160px;
}
.event-detail_inner {
	max-width: 1496px;
}
.event-detail_cols {
	display: flex;
	justify-content: space-between;
	overflow: hidden;
	border-radius: var(--radius-sm);
	background-color: var(--color-white);
	align-items: center;
}
.event-detail_col {
	width: 50%;
	box-sizing: border-box;
}
.event-detail_col-img {}
.event-detail_areaImg {
	position: relative;
}
.event-detail_image {
	padding-bottom: 64.65%;
}
.event-detail_image > img {}
.event-detail_col-txt {
	padding: 20px 20px;
}
.event-detail_areaTxt {}
.event-detail_areaTxt-narrow {
	max-width: 649px;
	margin: 0 auto;
}
.event-detail_txtBox {
	max-width: var(--width-container);
	margin: 102px auto 0;
	font-weight: normal;
}
.event-item_title-large {
	font-size: 42px;
	border-bottom: none;
	padding-bottom: 0;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 18px;
}
.event-item_cat > a {}
.event-detail_text {}
.event-detail_infoTable {
	margin-bottom: 15px;
}
.event-detail_infoTable > tbody {}
.event-detail_infoTable > tbody > tr {}
.event-detail_infoTable > tbody > tr > th {
	white-space: nowrap;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	position: relative;
	padding-right: 17px;
	width: 50px;
	box-sizing: border-box;
}
.event-detail_infoTable > tbody > tr > th::after {
	content: "：";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
}
.event-detail_infoTable > tbody > tr > td {
	vertical-align: top;
}

/* ========================================
   イベントナビ — イベント一覧への導線（タイトル＋リンク＋グリッド）
   ======================================== */
.event-nav {}
.event-nav_inner {}
.event-nav_cols {
	display: flex;
	justify-content: space-between;
	margin-bottom: 36px;
}
.event-nav_col {}
.event-nav_col-ttl {
	width: calc(100% - 262px);
	padding-top: 7px;
}
.event-nav_title {
	margin-bottom: 0;
}
.event-nav_title_en {
	font-size: 48px;
}
.event-nav_col-link {
	width: 232px;
}
.event-nav_link {}
.event-nav_list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
	row-gap: 40px;
}
.event-nav_list > li {}
.event-nav_list > li > a {
	text-decoration: none;
	color: inherit;
}
.event-detail_ttlBox {
	background-color: var(--color-white);
	padding: 65px 30px;
}
.event-detail_ttlBox_inner {
	max-width: 1365px;
	margin: 0 auto;
}
.event-item_table-flex {}
.event-item_table-flex > tbody {
	display: flex;
	align-items: center;
}
.event-item_table-flex > tbody > tr {
	margin-top: 0;
	margin-right: 23px;
}
.event-item_table-flex > tbody > tr:last-child {
	margin-right: 0;
}
/* ################################################################
   企業情報ページ（続き）：企業情報カード・ナビゲーション
   ################################################################ */

/* 企業情報 — 企業情報カードの2列グリッドレイアウト */
.corp {
	margin-bottom: 160px;
}
.corp_inner {}
.corp_cells {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 58px;
}
.corp_cell {}
.corp_cell > a {
	text-decoration: none;
	color: inherit;
	display: block;
	height: 100%;
}

/* ========================================
   About：アイテム — 各ページへの導線カード（画像＋タイトル＋テキスト＋矢印）
   ======================================== */
.about-item {
	box-shadow: 0 0 15px 0 rgba(26, 115, 240, 0.15);
	border-radius: var(--radius-sm);
	overflow: hidden;
	padding: 20px 20px 24px;
	position: relative;
	height: 100%;
	box-sizing: border-box;
	background-color: rgba(255, 255, 255, 0.60);
	border: 1px solid var(--color-white);
	display: flex;
	flex-direction: column;
}
.about-item-nav {
	padding: 2px 2px 30px;
	box-shadow: 0 0 20px -7px rgba(26, 115, 240, 0.20);
	background-color: var(--color-white);
}
.about-item_areaImg {
	position: relative;
}
.about-item_image {
	max-width: 570px;
	margin: 0 auto;
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.about-item_image-nav {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.about-item_image > img {
	display: block;
	max-width: 100%;
	height: auto;
	transition-duration: var(--transition-slow);
	transition-property: transform;
	width: 100%;
}
.about-item_message {
	position: absolute;
	bottom: 21px;
	left: -20px;
	margin-bottom: 0;
	font-size: 28px;
	letter-spacing: 0.05em;
}
.about-item_message_main {
	padding-left: 20px;
}
.about-item_areaTxt {
	max-width: 555px;
	margin-top: 24px;
	box-sizing: border-box;
	width: 100%;
	flex-grow: 1;
	align-self: center;
	display: flex;
	flex-direction: column;
}
.about-item_areaTxt-nav {
	max-width: 372px;
	margin-top: 33px;
	padding-left: 10px;
	padding-right: 10px;
}
.about-item_title {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 3px;
}
.about-item_title_en {
	display: block;
	font-family: var(--font-jetbranins);
	color: var(--color-blue);
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 2px;
}
.about-item_title_main {
	display: block;
}
.about-item_text {
	padding-right: 70px;
	margin-bottom: -44px;
	color: #555;
}
.about-item_arrow {
	width: 42px;
	height: 42px;
	border: 1px solid rgba(4, 55, 111, 0.30);
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	margin-left: auto;
	transition-duration: var(--transition-base);
	transition-property: color, background-color;
	margin-top: auto;
	box-sizing: border-box;
}
.about-item_arrow-nav {
	width: 48px;
	height: 48px;
	margin-top: auto;
}

/* ========================================
   企業情報ナビ — 企業情報関連ページへの3列グリッドナビゲーション
   ======================================== */
.corp-nav {
	background-color: var(--color-light-blue);
	padding-top: 160px;
	padding-bottom: 160px;
}
.corp-nav_inner {}
.corp-nav_list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
	row-gap: 40px;
}
.corp-nav_list > li {}
.corp-nav_list > li > a {
	text-decoration: none;
	color: inherit;
}
.about-item_navTtl {
	line-height: 1.5;
	font-size: 22px;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: -48px;
	padding-right: 60px;
}
.about-item_navTtl_en {
	display: block;
	font-size: 16px;
	color: var(--color-white);
	background-color: var(--color-blue);
	font-family: var(--font-jetbranins);
	padding: 0 2px;
	margin-bottom: 10px;
}
.about-item_navTtl_main {
	display: block;
}

/* ################################################################
   共通パーツ：セクションナビゲーション
   ################################################################ */

/* ========================================
   セクションナビ — 背景画像付きの次セクション誘導バナー
   ======================================== */
.section-nav {}
.section-nav > a {
	text-decoration: none;
	color: inherit;
	position: relative;
	display: flex;
	width: 100%;
	align-items: center;
	padding: 80px 0;
	box-sizing: border-box;
}
.section-nav_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.section-nav_bg::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	background-color: rgba(26, 53, 82, 0.70);
	width: 100%;
	height: 100%;
}
.section-nav_bg > img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.section-nav_inner {
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
}
.section-nav_areaTxt {
	position: relative;
	z-index: 2;
	background-color: rgba(255, 255, 255, 0.90);
	border-radius: var(--radius-sm);
	padding: 50px 30px;
	min-height: 230px;
	box-sizing: border-box;
}
.section-nav_cols {
	display: flex;
	max-width: 1180px;
	margin: 0 auto;
	justify-content: space-between;
}
.section-nav_col {}
.section-nav_col-ttl {}
.section-nav_title {
	margin-bottom: 0;
}
.section-nav_title_en {
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1.5;
	margin-bottom: 0;
}
.section-nav_col-txt {
	padding-right: 80px;
	position: relative;
}
.section-nav_message {
	margin-bottom: 10px;
}
.section-nav_text {}
.section-nav_arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(4, 55, 111, 0.30);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-md);
	font-size: 11px;
	transition-duration: var(--transition-base);
	transition-property: color, background-color, border-color;
}
/* ################################################################
   DXビジョン2030ページ（続き）
   ################################################################ */

/* DXページ — メインビジュアル背景画像 */
.dx {}
.dx_bg {
	position: relative;
	padding-bottom: 41.67%;
	background-color: var(--color-light-blue);
}
.dx_bg > img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right bottom;
}

/* ========================================
   DXミッション — DXビジョン2030のミッション説明セクション
   ======================================== */
.dx-mission {
	padding-top: 160px;
	padding-bottom: 200px;
	overflow: hidden;
	position: relative;
}
.dx-mission_inner {
	max-width: 1064px;
	position: relative;
	z-index: 1;
}
.dx-mission_title {
	text-align: center;
}
.dx-mission_message {
	font-size: 46px;
	text-align: center;
	line-height: 1.65;
	font-weight: 600;
	margin-bottom: 60px;
	margin-left: -10px;
	margin-right: -10px;
}
.dx-mission_message_point {
	margin-right: 10px;
	padding: 0 8px;
	background-color: var(--color-yellow);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.dx-mission_text {
	font-size: 24px;
}

/* ========================================
   DXビジョン — DXビジョン2030の3列ビジョンカード（アイコン＋見出し＋テキスト）
   ======================================== */
.dx-vision {
	background-image: linear-gradient(115deg, var(--gradient-dark) 1.65%, var(--gradient-mid) 68.34%, var(--gradient-light) 128.91%);
	padding-top: 167px;
	padding-bottom: 160px;
	color: var(--color-white);
}
.dx-vision_inner {}
.dx-vision_title {
	color: var(--color-white);
	margin-bottom: 210px;
}
.dx-vision_title_en {
	font-size: 90px;
}
.dx-vision_title_main {
	margin-top: 0;
}
.dx-vision_message {
	margin-bottom: 100px;
}
.dx-vision_cells {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 50px;
}
.dx-vision_cell {}
.dx-vision_icon {
	margin-bottom: 50px;
	max-width: 190px;
	margin-left: auto;
	margin-right: auto;
}
.dx-vision_icon > img {
	display: block;
	margin: 0 auto;
	width: 100%;
	height: auto;
}
.dx-vision_headline {
	font-size: 26px;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	line-height: 1.5;
	align-items: flex-start;
	margin-bottom: 20px;
}
.dx-vision_headline_main {
	color: var(--color-dark-blue);
	background-color: var(--color-yellow);
	padding: 0 2px;
	margin-bottom: 6px;
}
.dx-vision_headline_main:last-child {
	margin-bottom: 0;
}
.dx-vision_text {}

/* ################################################################
   サステナビリティページ
   ################################################################ */

/* サステナビリティ — SDGs・CSR等のサステナビリティ紹介 */
.sustain {}
.sustain_title {
	margin-bottom: 50px;
}
.sustain_title > img {
	display: block;
	margin: 0 auto;
}
.sustain_image {
	margin-bottom: 80px;
}
.sustain_image > img {
	display: block;
	margin: 0 auto;
}
.sustain_text {
	margin-bottom: 80px;
}
.sustain_cell {
	margin-bottom: 78px;
}
.sustain_cell:last-child {
	margin-bottom: 0;
}
.sustain_headline {
	font-size: 40px;
	color: var(--color-blue);
	line-height: 1.5;
	margin-bottom: 30px;
}
.sustain_headline_mark {
	font-family: var(--font-jetbranins);
}
.sustain_list {
	font-weight: 600;
}
.sustain_list > li {}
.sustain_list > li:nth-child(n+2) {
	margin-top: 10px;
}
/* ################################################################
   ソリューション個別ページ（各ツール・サービス紹介）
   ################################################################ */

.tool {}

/* ========================================
   ツール紹介 — ソリューション個別ページのメインビジュアル（テキスト＋画像）
   ======================================== */
.tool-intro {
	background-color: var(--color-light-blue);
	padding-top: 140px;
	padding-bottom: 130px;
	margin-bottom: 70px;
}
.tool-intro_contents_inner {
	max-width: 1702px;
}
.tool-intro_cols {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1598px;
	margin-left: auto;
}
.tool-intro_col {}
.tool-intro_col-txt {
	width: 690px;
}
.tool-intro_title {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 30px;
	position: relative;
}
.tool-intro_title::after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	background-color: currentColor;
	margin-top: 30px;
}
.tool-intro_text {}
.tool-intro_col-img {
	max-width: 836px;
	width: calc(100% - 700px);
	position: relative;
}
.tool-intro_image {}
.tool-intro_image > img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* ========================================
   ニュースセクション — ソリューション個別ページ内の関連ニュース
   ======================================== */
.news-section {
	margin-bottom: 100px;
}
.news-section_inner {}
.news-section_cols {
	display: flex;
	justify-content: space-between;
}
.news-section_col {}
.news-section_col-ttl {
	width: 30%;
	padding-top: 30px;
}
.news-section_title {
	margin-bottom: 0;
}
.news-section_col-list {
	width: 66%;
}

/* ========================================
   ツール：課題解決 — ツールで解決できる課題の概要セクション
   ======================================== */
.tool-solution {
	margin-bottom: 126px;
}
.tool-solution_contents {
	background-color: var(--color-light-blue);
	padding-top: 107px;
	padding-bottom: 100px;
}
.tool-solution_contents_inner {}
.tool-solution_title {}
.tool-solution_headline {}

/* ========================================
   ソリューションボックス — 課題解決カードの3列グリッド（アイコン＋テキスト）
   ======================================== */
.solution-box {
	margin-bottom: 70px;
}
.solution-box:last-child {
	margin-bottom: 0;
}
.solution-box_cells {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
}
.solution-box_cell {}
.solution-box_cell-wide {
	grid-column: span 3;
}
.solution-box_areaImg {
	background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-section-soft) 70%, transparent) 0%, rgba(255, 255, 255, 0.7) 100%);
	border-radius: var(--radius-sm);
	padding: 33px 20px;
	box-sizing: border-box;
	border: 1px solid var(--color-light-blue);
	box-shadow: 0px 0px 20px -7px rgba(26, 115, 240, 0.15);
	margin-bottom: 40px;
	max-width: 413px;
}
.solution-box_image {
	max-width: 160px;
	margin: 0 auto;
}
.solution-box_image > img {
	display: block;
	margin: auto 0;
}
.solution-box_areaTxt {}
.solution-box_subhead {
	font-size: 20px;
	font-weight: 600;
}
.solution-box_text {
	font-size: 14px;
	max-width: 365px;
}

/* ========================================
   ツール：課題 — 現場の課題を列挙するリスト（チェックマーク付き）
   ======================================== */
.tool-problems {
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	padding: 63px 20px 60px;
}
.tool-problems_inner {
	max-width: 1159px;
	margin: 0 auto;
}
.tool-problems_cell {
	margin-bottom: 45px;
	border-bottom: 1px solid var(--color-light-gray);
	padding-bottom: 38px;
}
.tool-problems_cell:last-child {
	margin-bottom: 0;
	border-bottom: none;
	padding-bottom: 0;
}
.tool-problems_cols {
	display: flex;
	justify-content: space-between;
}
.tool-problems_col {}
.tool-problems_col-ttl {
	width: 38%;
}
.tool-problems_areaTtl {
	display: flex;
	align-items: center;
}
.tool-problems_number {
	font-size: 55px;
	font-weight: bold;
	line-height: 1;
	font-family: var(--font-jetbranins);
	color: rgba(26, 115, 240, 0.15);
	margin-right: 16px;
	min-width: 70px;
}
.tool-problems_title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
}
.tool-problems_col-txt {
	width: 58.6%;
}
.tool-problems_list {
	font-weight: 600;
}
.tool-problems_list > li {}
.tool-problems_list > li:nth-child(n+2) {
	margin-top: 10px;
}
.tool-problems_title_sub {
	display: block;
	font-size: 80%;
}

/* ========================================
   ツール：特徴 — 各ツールの強み・特徴リスト（ナンバリング付き）
   ======================================== */
.tool-features {
	margin-bottom: 125px;
}
.tool-features_contents {}
.tool-features_contents_inner {}
.tool-features_title {}
.strength {}
.strengtd {}
.strength_cell {
	margin-bottom: 75px;
}
.strength_cell:last-child {
	margin-bottom: 0;
}
.strength_areaTitle {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 25px;
}
.strength_number {
	font-size: 14px;
	font-family: var(--font-jetbranins);
	background-color: var(--color-light-blue);
	padding: 0 3px;
	line-height: 1.5;
	margin-bottom: 10px;
}
.strength_headline {
	margin-bottom: 0;
}
.strength_text {}

/* ========================================
   ツール：機能 — ツールの機能一覧（アイコン＋説明の2列グリッド）
   ======================================== */
.tool-function {
	margin-bottom: 120px;
}
.tool-function_contents {
	background-color: var(--color-light-blue);
	padding-top: 100px;
	padding-bottom: 120px;
}
.tool-function_contents_inner {}
.tool-function_title {}
.tool-function_box {
	background-color: var(--color-white);
	border-radius: var(--radius-lg);
	padding: 55px 30px;
	margin-bottom: 120px;
}
.tool-function_box:last-child {
	margin-bottom: 0;
}
.tool-function_box_inner {
	max-width: 1160px;
	margin: 0 auto;
}
.tool-function_headline {}
.tool-function_headline_main {
	background-color: var(--color-light-blue);
	color: var(--color-dark-blue);
}
.tool-function_cells {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 100px;
	overflow: hidden;
	position: relative;
}
.tool-function_cells::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--color-light-gray);
}
.tool-function_cells:last-child {
	margin-bottom: 0;
}
.tool-function_cell {
	border-bottom: 1px solid var(--color-light-gray);
	padding-bottom: 40px;
	padding-top: 40px;
	box-sizing: border-box;
	padding-right: 30px;
}
.tool-function_cols {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 470px;
	margin-bottom: 34px;
}
.tool-function_cols:last-child {
	margin-bottom: 0;
}
.tool-function_col {}
.tool-function_col-img {
	width: 90px;
	height: 90px;
}
.tool-function_icon {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-light-blue);
	border-radius: var(--radius-sm);
}
.tool-function_icon > img {
	display: block;
}
.tool-function_col-txt {
	width: calc(100% - 125px);
}
.tool-function_subhead {
	font-size: 22px;
	font-weight: bold;
	color: var(--color-blue);
	line-height: 1.5;
	margin-bottom: 5px;
}
.tool-function_text {
	font-size: 14px;
	color: #333;
}

/* ========================================
   ツール：導入ステップ — 導入フロー（番号付き縦タイムライン）
   ======================================== */
.tool-step {}
.tool-step_cells {}
.tool-step_cell {
	margin-bottom: 27px;
	position: relative;
}
.tool-step_cell:last-child {
	margin-bottom: 0;
}
.tool-step_cols {
	display: flex;
	justify-content: space-between;
}
.tool-step_col {}
.tool-step_col-number {
	width: 133px;
	position: relative;
}
.tool-step_col-number::after {
	content: "";
	display: block;
	width: 2px;
	height: calc(100% - 116px);
	background-color: var(--color-blue);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 138px;
}
.tool-step_col-number-last::after {
	display: none;
}
.tool-step_number {
	width: 100%;
	height: 133px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(180deg, var(--gradient-light) 0%, var(--gradient-mid) 100%);
	border-radius: 50%;
	color: var(--color-white);
	font-family: var(--font-jetbranins);
	font-size: 20px;
	font-weight: bold;
}
.tool-step_col-txt {
	width: calc(100% - 163px);
	max-width: 1067px;
}
.tool-step_areaTxt {
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	padding: 30px 30px 26px;
	box-sizing: border-box;
	min-height: 133px;
}
.tool-step_headline {}
.tool-step_text {
	color: #333;
}

/* ========================================
   ツール：FAQ — よくある質問（アコーディオン開閉式Q&A）
   ======================================== */
.tool-faq {}
.tool-faq_contents {}
.tool-faq_contents_inner {}
.tool-faq_title {}
.faq {
	border: 1px solid var(--color-light-gray);
	border-radius: var(--radius-sm);
	margin-bottom: 20px;
}
.faq:last-child {
	margin-bottom: 0;
}
.faq_inner {}
.faq_title {}
.faq_title_btn {
	display: block;
	width: 100%;
	text-align: left;
	position: relative;
	padding: 30px 70px 28px;
	padding-left: 105px;
	font-size: 18px;
	font-weight: 600;
	line-height: 36px;
	transition-duration: var(--transition-base);
	transition-property: color, background-color;
	box-sizing: border-box;
}
.faq_title_btn::after {
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: var(--color-blue);
}
.faq_title_btn_mark {
	display: block;
	font-size: 40px;
	line-height: 1;
	color: var(--color-blue);
	font-family: var(--font-jetbranins);
	width: 48px;
	position: absolute;
	top: 48px;
	left: 40px;
	transform: translateY(-50%);
}
.faq_title_btn_open {
	display: block;
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
}
.faq_title_btn_open::before {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	position: absolute;
	background-color: var(--color-blue);
}
.faq_title_btn_open::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 2px;
	height: 100%;
	background-color: var(--color-blue);
	transition-duration: var(--transition-base);
	transition-property: transform;
}
[aria-expanded="true"] .faq_title_btn_open::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.faq_answer {
	display: none;
	padding: 0 20px 28px;
}
.is-show.faq_answer {
	display: block;
}
.faq_text {}
.tool-function_cell-noBorder {
	border-bottom: none;
}
.tool-step_headWrap {
	display: flex;
}
.tool-step_headNote {
	margin-left: 15px;
	font-size: 14px;
}
.faq_answer_inner {
	background-color: var(--color-light-blue);
	padding: 20px;
	border-radius: var(--radius-sm);
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.spread {
	background-color: var(--color-light-blue);
	padding: 56px 20px 60px;
	margin-top: 60px;
	margin-bottom: 60px;
	border-radius: var(--radius-sm);
}
.spread_inner {
	max-width: 1160px;
	margin: 0 auto;
}

/* ========================================
   スプレッド：ステップ — 導入ステップの画像＋テキスト横並びフロー
   ======================================== */
.spread-step {}
.spread-step_cells {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	column-gap: 10px;
}
.spread-step_cell {}
.spread-step_image {
	margin-bottom: 28px;
}
.spread-step_image > img {
	display: block;
}
.spread-step_number {
	display: flex;
	align-items: flex-start;
	line-height: 1.5;
}
.spread-step_number_main {
	display: block;
	background-color: var(--color-white);
	font-family: var(--font-jetbranins);
	font-size: 14px;
	padding: 0 2px;
	margin-bottom: 10px;
}
.spread-step_title {
	margin-bottom: 0;
}
.spread-step_arrow {
	font-family: var(--font-jetbranins);
	font-size: 28px;
	text-align: center;
	display: flex;
	justify-content: center;
	padding-top: 90px;
	box-sizing: border-box;
}

/* ========================================
   スプレッド：スキル — 2列グリッドのスキル紹介カード
   ======================================== */
.spread-skill {}
.spread-skill_image {
	margin-bottom: 50px;
}
.spread-skill_image > img {
	display: block;
	margin: 0 auto;
}
.spread-skill_cells {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 3.2%;
	margin-bottom: 60px;
}
.spread-skill_cell {}
.spread-skill_subImage {}
.spread-skill_subImage > img {
	display: block;
	margin: 0 auto;
}
.spread-skill_title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 16px;
}
.spread-skill_text {
	font-size: 14px;
}
.spread-skill_message {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: var(--color-white);
	background-color: var(--color-blue);
	border-radius: var(--radius-sm);
	padding: 12px;
	line-height: 1.8;
}

/* ========================================
   スプレッド：公開 — 公開プラン・料金比較の6列グリッド
   ======================================== */
.spread-public {}
.spread-public_cell {
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	border: 1px dashed var(--color-blue);
	box-sizing: border-box;
	padding: 30px;
	margin-bottom: 30px;
}
.spread-public_title {
	font-size: 26px;
	font-weight: 600;
	font-family: var(--font-jetbranins);
	line-height: 1.5;
	margin-bottom: 20px;
}
.spread-public_list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	column-gap: 20px;
	row-gap: 20px;
	font-size: 20px;
	font-family: var(--font-jetbranins);
	max-width: 1098px;
	margin: 0 auto 60px;
}
.spread-public_list_item {
	text-align: center;
	background-color: var(--color-light-blue);
	border-radius: var(--radius-sm);
	padding: 20px 10px;
	grid-column: span 3;
}
.spread-public_list_item-wide {
	grid-column: span 6;
	color: var(--color-white);
	background-color: var(--color-blue);
}
.spread-public_list_item-light {
	opacity: 0.5;
}
.spread-public_list_item-white {
	background-color: var(--color-white);
}
.spread-public_list:last-child {
	margin-bottom: 0;
}
.tool-problems_list_note {
	display: block;
	font-size: 14px;
	color: rgba(4, 55, 111, 0.50);
	text-indent: -1em;
	padding-left: 1em;
}
.tool-function_miniCell {
	margin-bottom: 20px;
	max-width: 480px;
}
.tool-function_miniCell:last-child {
	margin-bottom: 0;
}
.tool-function_miniCellTitle {}
.tool-function_text {}
.tool-step_contents {
	background-color: var(--color-light-blue);
	padding-top: 130px;
	padding-bottom: 100px;
	margin-bottom: 130px;
}
.tool-step_contents_inner {}
.tool-step_title {}

/* ========================================
   ツール：価格 — 料金プランの2列比較カード
   ======================================== */
.tool-price {
	margin-top: 130px;
}
.tool-price_title {}
.tool-price_cols {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
}
.tool-price_col {}
.tool-price_col-no1 {}
.tool-price_areaTxt {
	background-color: rgba(26, 115, 240, 0.10);
	border-radius: var(--radius-lg);
	padding: 40px 20px 25px;
	text-align: center;
}
.tool-price_text {
	display: block;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.7;
	margin-bottom: 6px;
}
.tool-price_text_en {
	font-size: 14px;
	font-weight: bold;
	color: var(--color-blue);
	display: block;
	font-family: var(--font-jetbranins);
}
.tool-price_text_main {}
.tool-price_fee {
	font-size: 34px;
	font-weight: 600;
}
.tool-price_yen_unit {
	font-size: 70%;
	margin-left: 2px;
}
.tool-price_col-no2 {}

/* ========================================
   ツール：動画 — ツール紹介動画の埋め込み（iframe）
   ======================================== */
.tool-video {
	margin-bottom: 120px;
}
.tool-video_contents {}
.tool-video_contents_inner {}
.tool-video_title {}
.tool-video_areaMovie {
	max-width: 852px;
	margin: 0 auto;
}
.tool-video_movie {
	position: relative;
	padding-bottom: 59.4%;
}
.tool-video_movie > iframe {
	display: block;
	border: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.tool-problems_inner-narrow {
	max-width: 1030px;
}

/* ################################################################
   ソリューション一覧ページ
   ################################################################ */

/* ========================================
   ソリューション：メインビジュアル — ソリューション一覧のヒーロー画像
   ======================================== */
.solution-visual {
	margin-bottom: 80px;
}
.solution-visual_image {
	position: relative;
	padding-bottom: 800px;
}
.solution-visual_image > img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.solution-visual_image-right > img {
	object-position: right top;
}

/* ========================================
   ソリューション：概要 — ソリューション全体の概要説明（背景色付きボックス）
   ======================================== */
.solution-outline {
	margin-bottom: 107px;
}
.solution-outline_contents {
	background-color: var(--color-light-blue);
	padding-top: 107px;
	padding-bottom: 100px;
}
.solution-outline_contents_inner {}
.solution-outline_title {}
.solution-outline_headline {}
.solution-outline_text {
	margin-bottom: 70px;
}
.solution-outline_box {
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	padding: 40px 20px;
}
.solution-outline_box_inner {
	max-width: 1200px;
	margin: 0 auto;
}
.solution-outline_subhead {
	margin-bottom: 30px;
}
.solution-outline_subhead_main {
	background-color: var(--color-light-blue);
	color: var(--color-blue);
}
.solution-outline_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 10px;
	column-gap: 20px;
}
.solution-outline_list > li {}

/* ========================================
   ソリューション：サービス — 提供サービスの説明セクション
   ======================================== */
.solution-service {
	margin-bottom: 100px;
}
.solution-service_contents {}
.solution-service_contents_inner {}
.solution-service_title {}
.solution-service_headline {}
.solution-service_text {
	margin-bottom: 60px;
	color: #333;
}
.solution-service_cell {}
.solution-service_subhead {
	margin-bottom: 29px;
}
.solution-service_subhead_main {
	background-color: var(--color-light-blue);
	color: var(--color-dark-blue);
}

/* ========================================
   ソリューション：強み — ソリューションの強みリスト（ナンバリング付き）
   ======================================== */
.solution-strength {}
.solution-strength_contents {
	background-color: var(--color-light-blue);
	padding-top: 107px;
	padding-bottom: 100px;
}
.solution-strength_contents_inner {}
.solution-strength_title {}
.strength_number-white {
	background-color: var(--color-white);
}

/* ========================================
   ソリューション：ポイント — 担当者コメント付きポイント解説（顔写真＋テキスト）
   ======================================== */
.solution-point {
	margin-top: 47px;
	border-top: 2px solid var(--color-blue);
	border-bottom: 2px solid var(--color-blue);
	padding: 40px 0 30px;
}
.solution-point_cols {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.solution-point_col {}
.solution-point_col-img {
	width: 120px;
}
.solution-point_image {
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.solution-point_image > img {
	display: block;
	margin: 0 auto;
}
.solution-point_col-txt {
	width: calc(100% - 150px);
}
.solution-point_areaTxt {}
.solution-point_title {}
.solution-point_title_main {
	background-color: var(--color-blue);
}
.solution-point_text {
	font-size: 14px;
}
.solution-point_name {
	font-weight: 600;
	margin-top: 15px;
}
.solution-point_name_post {
	display: block;
	font-size: 87.5%;
}
.solution-point_name_main {
	display: block;
}
.solution-point_name_main > small {
	font-size: 75%;
}
.stength_areaTbl {
	margin-top: 60px;
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	padding: 80px 20px;
}
.stength_areaTbl_inner {
	max-width: 1110px;
	margin: 0 auto;
}
.stength_table {}
.stength_table > tbody {}
.stength_table > tbody > tr {}
.stength_table > tbody > tr > th {
	font-size: 55px;
}
.stength_table > tbody > tr > td {}
.strength_boxs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 3.1%;
	margin-top: 60px;
	row-gap: 83px;
}
.strength_box {}
.strength_boxImage {
	border-radius: var(--radius-sm);
	overflow: hidden;
	margin-bottom: 40px;
}
.strength_boxImage > img {
	display: block;
}
.strength_boxTitle {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 15px;
}
.strength_boxText {
	font-size: 14px;
}
.strength_chart {
	margin-top: 60px;
}
.strength_chart > img {
	display: block;
}

/* ========================================
   ソリューション：プロダクト — ソリューション一覧内のプロダクト紹介カード
   ======================================== */
.solution-product {}
.solution-product_contents {
	padding-top: 130px;
	padding-bottom: 160px;
}
.solution-product_contents_inner {}
.solution-product_title {}
.solution-product_cell {
	box-shadow: 0 0 20px -7px rgba(26, 115, 240, 0.15);
	padding: 64px 20px 60px;
	margin-bottom: 30px;
	border: 1px solid var(--color-light-blue);
	border-radius: var(--radius-sm);
}
.solution-product_cell:last-child {
	margin-bottom: 0;
}
.solution-product_cols {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1120px;
	margin: 0 auto;
}
.solution-product_col {}
.solution-product_col-logo {
	width: 410px;
}
.solution-product_logo {}
.solution-product_logo > img {
	display: block;
	margin: 0 auto;
}
.solution-product_col-txt {
	width: calc(100% - 440px);
	max-width: 550px;
}
.solution-product_headline {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 600;
	margin-bottom: 13px;
}
.solution-product_text {}
.solution-product_link {
	max-width: 232px;
	margin-top: 30px;
}
.solution-product_link > a {}

/* ========================================
   強み：Celf — Celfプロダクト固有の強み・リンク
   ======================================== */
.strength-celf {
	margin-top: 40px;
}
.strength-celf_title {
	font-size: 16px;
}
.strength-celf_text {}
.strength-celf_link {
	margin-top: 5px;
}
.strength-celf_link > a {
	text-decoration: none;
	color: inherit;
	display: block;
	font-size: 14px;
	transition-duration: var(--transition-base);
	transition-property: color, background-color;
	position: relative;
	padding-left: 12px;
}
.strength-celf_link_mark {
	color: var(--color-blue);
	position: absolute;
	display: block;
	top: 1em;
	transform: translateY(-50%);
	left: 0;
	width: 10px;
	margin-top: -1px;
}
.strength-celf_link_icon {
	font-size: 12px;
	background-color: var(--color-blue);
	color: var(--color-white);
	font-weight: 600;
	padding: 0px 9px;
	vertical-align: middle;
	text-align: center;
	margin-left: 7px;
}
.strength_cCell {
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	padding: 40px 20px 35px;
	margin-top: 20px;
}
.strength_cCell_inner {
	max-width: 1180px;
	margin: 0 auto;
}
.strength_cCellList {
	font-weight: 600;
}
.strength_cCellList > li {}
.strength_cCellList > li:nth-child(n+2) {
	margin-top: 10px;
}
.strength_cCell_sect {
	margin-bottom: 38px;
}
.strength_cCell_sect:last-child {
	margin-bottom: 0;
}
.strength_cCell_title {
	color: var(--color-dark-blue);
	margin-bottom: 10px;
}
.strength_cCell_text {}

/* ################################################################
   事業内容ページ：プロダクト
   ################################################################ */

/* ========================================
   プロダクト：自社開発 — 自社開発プロダクトの4列カードグリッド
   ======================================== */
.product-inhouse {
	margin-bottom: 130px;
}
.product-inhouse_contents {
	background-color: rgba(235, 246, 255, 0.40);
	padding-top: 130px;
	padding-bottom: 240px;
}
.product-inhouse_contents_inner {
	max-width: 1492px;
}
.product-inhouse_areaTtl {
	max-width: var(--width-container);
	margin: 0 auto;
}
.product-inhouse_title {}
.product-inhouse_text {
	margin-bottom: 55px;
}
.product-inhouse_cells {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 20px;
	row-gap: 70px;
}

/* ========================================
   自社開発アイテム — 各プロダクトカード（ロゴ＋テキスト、段差レイアウト）
   ======================================== */
.inhouse-item {
	position: relative;
}
.inhouse-item:nth-child(4n+1) {
	top: 120px;
}
.inhouse-item:nth-child(4n+2) {
	top: 80px;
}
.inhouse-item:nth-child(4n+3) {
	top: 40px;
}
.inhouse-item:nth-child(n+5) {}
.inhouse-item > a {
	text-decoration: none;
	color: inherit;
	background-color: var(--color-white);
	box-sizing: border-box;
	box-shadow: 0 0 20px -7px rgba(26, 115, 240, 0.15);
	border-radius: var(--radius-sm);
	height: 100%;
	display: flex;
	flex-direction: column;
}
.inhouse-item_areaLogo {
	padding: 10px 10px 33px;
	border-bottom: 1px solid var(--color-light-gray);
}
.inhouse-item_number {
	font-size: 10px;
	color: var(--color-blue);
	line-height: 1.5;
	font-family: var(--font-jetbranins);
	margin-bottom: 36px;
}

/* ========================================
   自社開発 — プロダクトロゴ画像の表示
   ======================================== */
.in-house_logo {}
.in-house_logo > img {
	display: block;
	margin: 0 auto;
	transition-duration: var(--transition-base);
	transition-property: transform;
}
.inhouse-item_areaTxt {
	padding: 20px 10px 35px;
	position: relative;
	padding-right: 60px;
	margin-top: auto;
}
.inhouse-item_areaTxt_inner {
	max-width: 245px;
	margin: 0 auto;
}
.inhouse-item_text {
	font-size: 14px;
	line-height: 1.5;
}
.inhouse-item_arrow {
	border: 1px solid var(--color-light-gray);
	color: var(--color-dark-blue);
	width: 31px;
	height: 31px;
	right: 19px;
	font-size: 9px;
}

/* ========================================
   プロダクト：提供（別） — 提供プロダクトの別レイアウト
   ======================================== */
.product-offer-alt {}

/* ========================================
   プロダクト：提供 — 提供プロダクトの4列ロゴグリッド
   ======================================== */
.product-offer-alt_contents {}
.product-offer-alt_contents_inner {}
.product-offer-alt_title {}
.product-offer-alt_text {
	margin-bottom: 103px;
}
.product-offer-alt_list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 20px;
	row-gap: 60px;
}
.product-offer-alt_list > li {}
.product-offer-alt_list > li > a {
	text-decoration: none;
	color: inherit;
	display: block;
}
.product-offer_item {
	overflow: hidden;
	transition-duration: var(--transition-base);
	transition-property: color, background-color, border-color;
}
.product-offer-alt_logo {
	border: 1px solid var(--color-light-gray);
	transition-duration: var(--transition-base);
	transition-property: border-color, color;
	margin-bottom: 21px;
}
.product-offer-alt_logo > img {
	display: block;
	margin: 0 auto;
}
/* ソリューション一覧 — ソリューション全体のリスト表示エリア */
.solution {}
.solution_contents {
	background-color: var(--color-light-blue);
	padding-top: 140px;
	padding-bottom: 235px;
}
.solution_contents_inner {}
.solution_title {}
.solution_text {
	margin-bottom: 100px;
}

/* ========================================
   ソリューションアイテム — 各ソリューションカード（2列グリッド、段差レイアウト）
   ======================================== */
.solution-item_cells {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 60px;
	row-gap: 120px;
}
.solution-item_cell {
	position: relative;
}
.solution-item_cell:nth-child(2n) {
	top: 80px;
}
.solution-item_cell:nth-child(n+2) {}
.solution-item_cell > a {
	display: block;
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
	height: 100%;
}
.about-item_number {
	font-size: 12px;
	line-height: 1;
	color: var(--color-white);
	display: flex;
	align-items: flex-start;
	flex-direction: row-reverse;
	position: absolute;
	top: 20px;
	right: 25px;
	z-index: 3;
}
.about-item_number_main {
	display: block;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.07em;
}
.about-item_areaTxt-solution {
	max-width: 550px;
	align-self: flex-end;
}
.about-item_subtitle {
	margin-top: -20px;
	position: relative;
	z-index: 2;
}

/* ################################################################
   ソリューション個別ページ（Numap）
   ################################################################ */

/* ========================================
   Numap：イントロ — Numapプロダクトのヒーローセクション（グラデ背景＋テキスト＋画像）
   ======================================== */
.numap-intro {
	position: relative;
	margin-bottom: 27px;
	padding-top: 40px;
	box-sizing: border-box;
	min-height: 560px;
}
.numap-intro_gradBg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 100px);
	background-image: linear-gradient(to right, var(--color-section-alt), var(--color-section-soft));
}
.numap-intro_gradBg_svg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.numap-intro_inner {
	max-width: 1590px;
}
.numap-intro_cols {
	display: flex;
	justify-content: space-between;
	max-width: 1540px;
	margin-left: auto;
	position: relative;
	z-index: 2;
}
.numap-intro_col {}
.numap-intro_col-txt {
	width: 540px;
	padding-top: 110px;
}
.numap-intro_title {
	font-size: 40px;
	font-weight: bold;
	color: var(--color-white);
	line-height: 1.5;
	margin-bottom: 30px;
}
.numap-intro_title::after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	background-color: currentColor;
	margin-top: 30px;
}
.numap-intro_text {
	color: var(--color-white);
	margin-bottom: 50px;
}

/* ========================================
   Numap：ダウンロード一覧 — アプリDLリンクのボタングリッド
   ======================================== */
.numap-dl-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 16px;
	max-width: 460px;
}
.numap-dl-list-dl {
	max-width: none;
}
.numap-dl-list > li {}
.numap-dl-list > li > a {
	text-decoration: none;
	color: inherit;
	display: block;
	background-color: var(--color-black);
	border-radius: var(--radius-lg);
	padding: 12px 10px;
	border: 1px solid #AEACA8;
	box-sizing: border-box;
	transition-duration: var(--transition-base);
	transition-property: color, background-color, border-color;
}
.numap-dl-list-dl > li > a {
	padding: 16px 10px;
}
.numap-dl-list_image {
	max-width: 154px;
	margin: 0 auto;
}
.numap-dl-list_image > img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.numap-dl-list_image-large {
	max-width: 217px;
}
.numap-intro_col-img {
	width: calc(100% - 580px);
	max-width: 813px;
}
.numap-intro_image {}
.numap-intro_image > img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* ========================================
   Numap：概要 — Numap製品の概要説明（テキスト＋画像の2列レイアウト）
   ======================================== */
.numap-about {
	margin-bottom: 115px;
}
.numap-about_inner {}
.numap-about_title {}
.numap-about_message {
	margin-bottom: 77px;
}
.numap-about_cols {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.numap-about_col {}
.numap-about_col-txt {
	max-width: 739px;
	width: 61%;
}
.numap-about_cells {
	background-color: var(--color-light-blue);
	border-radius: var(--radius-sm);
	padding: 59px 20px 50px;
}
.numap-about_cell {
	max-width: 659px;
	margin: 0 auto;
	border-bottom: 1px solid rgba(4, 55, 111, 0.15);
	padding-bottom: 39px;
	margin-bottom: 53px;
}
.numap-about_cell:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.numap-about_headline {
	font-size: 20px;
	font-weight: 600;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 23px;
}
.numap-about_headline_number {
	color: rgba(26, 115, 240, 0.25);
	font-size: 55px;
	font-family: var(--font-jetbranins);
	line-height: 1;
	font-weight: bold;
	display: block;
	white-space: nowrap;
	margin-right: 20px;
}
.numap-about_headline_main {}
.numap-about_text {}
.numap-about_col-img {
	max-width: 432px;
	width: 34%;
}
.numap-about_image {}
.numap-about_image > img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* ========================================
   Numap：特徴 — Numapの3つの特徴カード（アイコン＋テキスト＋画像）
   ======================================== */
.numap-features {
	padding-top: 108px;
	background-color: var(--color-light-blue);
	padding-bottom: 120px;
	margin-bottom: 120px;
}
.numap-features_inner {}
.numap-features_title {}
.numap-features_cells {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
}
.numap-features_cell {
	background-color: var(--color-white);
	border-radius: var(--radius-lg);
	padding: 40px 20px;
}
.numap-features_cell_inner {
	max-width: 333px;
	margin: 0 auto;
}
.numap-features_icon {
	width: 90px;
	height: 90px;
	margin: 0 auto 30px;
	background-color: var(--color-light-blue);
	border-radius: var(--radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
}
.numap-features_icon > img {
	display: block;
}
.numap-features_headline {
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 10px;
}
.numap-features_text {
	font-size: 14px;
	margin-bottom: 30px;
}
.numap-features_image {}
.numap-features_image > img {
	display: block;
	margin: 0 auto;
}

/* ========================================
   Numap：ダウンロードナビ — DL促進のCTAバナー（背景画像＋オーバーレイ）
   ======================================== */
.numap-dl-nav {
	margin-bottom: 143px;
}
.numap-dl-nav_inner {}
.numap-dl-nav_body {
	position: relative;
	min-height: 382px;
	border-radius: var(--radius-sm);
	overflow: hidden;
	display: flex;
	align-items: center;
	color: var(--color-white);
	text-align: center;
	box-sizing: border-box;
	padding: 30px 20px;
}
.numap-dl-nav_bg::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(4, 55, 111, 0.85);
	position: absolute;
	top: 0;
	left: 0;
}
.numap-dl-nav_body_inner {
	position: relative;
	z-index: 1;
	max-width: 644px;
	margin: 0 auto;
	width: 100%;
}
.numap-dl-nav_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.numap-dl-nav_bg > img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.numap-dl-nav_title {
	color: var(--color-white);
	text-align: center;
	line-height: 1.2;
	font-weight: 600;
	margin-bottom: 17px;
	font-size: 16px;
}
.numap-dl-nav_title_main {
	display: block;
	margin-bottom: 5px;
}
.numap-dl-nav_title_en {
	display: block;
	font-size: 50px;
	font-weight: bold;
	font-family: var(--font-jetbranins);
}
.numap-dl-nav_text {
	margin-bottom: 40px;
}

/* ========================================
   Numap：連携 — 外部サービスとの連携紹介（グラデーション背景＋画像配置）
   ======================================== */
.numap-collab {
	background-image: linear-gradient(31deg, var(--gradient-dark) 0, var(--gradient-mid) 48%, var(--gradient-light) 82.5%, #F8FFEA 100%);
	padding-top: 130px;
	padding-bottom: 90px;
}
.numap-collab_bg {}
.numap-collab_inner {
	max-width: 1640px;
}
.numap-collab_cols {
	display: flex;
	justify-content: space-between;
	max-width: 1565px;
	margin-left: auto;
}
.numap-collab_col {}
.numap-collab_col-txt {
	width: 52%;
	max-width: 800px;
	padding-top: 48px;
}
.numap-collab_title {
	color: var(--color-yellow);
}
.numap-collab_text {
	max-width: 735px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-white);
}
.numap-collab_link {
	max-width: 500px;
	margin-top: 42px;
}
.numap-collab_link > a {
	min-height: 100px;
	background-image: linear-gradient(110deg, var(--gradient-dark) -50%, var(--gradient-mid) 0, var(--gradient-light) 130%);
	font-size: 24px;
	padding-left: 40px;
	padding-right: 80px;
	transition-duration: var(--transition-base);
	transition-property: background-color, color, border-color, background-image;
	border: none;
	overflow: hidden;
}
.numap-collab_link > a::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-white);
	left: 0;
	top: 0;
	opacity: 0;
	transition-duration: var(--transition-base);
	transition-property: opacity;
}
.numap-collab_col-img {
	width: 45%;
	max-width: 645px;
}
.numap-collab_areaImg {
	position: relative;
	padding-bottom: 80.77%;
}
.numap-collab_image {
	position: absolute;
}
.numap-collab_image-no1 {
	top: 19%;
	left: 0;
	width: 22%;
}
.numap-collab_image-no2 {
	top: 0;
	right: 0;
	width: 68.5%;
}
.numap-collab_image-no3 {
	bottom: 0;
	left: 12%;
	width: 46.2%;
}
.numap-collab_image > img {
	display: block;
	max-width: 100%;
	height: auto;
}
.numap-collab_link_arrow {
	right: 40px;
	z-index: 2;
}
/* ################################################################
   私たちについてページ
   ################################################################ */

/* 私たちについて — メインコンテンツエリア */
.about,
.top-product {
	padding-top: 131px;
	padding-bottom: 160px;
	position: relative;
}
.about_inner,
.top-product_inner {
	position: relative;
	z-index: 1;
}
.about_title,
.top-product_title {}
.about_headline,
.top-product_headline {
	margin-bottom: 29px;
}
.about_text,
.top-product_text {
	margin-bottom: 97px;
}

/* ========================================
   About：クラブ活動 — クラブ活動紹介セクション
   ======================================== */
.top-product-cat {
	margin-bottom: 100px;
}
.top-product-cat:last-child {
	margin-bottom: 0;
}
.top-product-cat_cell {}
.top-product-cat_number {
	font-size: 14px;
	font-family: var(--font-jetbranins);
	line-height: 1.5;
	margin-bottom: 3px;
}
.top-product-cat_title {
	margin-bottom: 34px;
}
.top-product-cat_title_main {
	background-color: var(--color-blue);
}
.top-product-cat_cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
	row-gap: 20px;
}
.top-product-cat_card {}
.top-product-cat_card > a {
	text-decoration: none;
	color: inherit;
	display: block;
	height: 100%;
}
.top-product-cat_link {
	max-width: 232px;
	margin: 60px auto 0;
}
.top-product-cat_cmImage {
	max-width: 846px;
	margin: 77px auto 0;
}
.top-product-cat_cmImage > img {
	display: block;
}
.about-item-product {
	background-color: #fff;
}
/* プロダクト＆サービス キャラクター画像 */
.service-header {
	position: relative;
}
.service-header_img {
	position: absolute;
	right: 0;
	bottom: -300px;
	height: 480px;
	width: auto;
}
/* お問い合わせ キャラクター画像 */
.contact-charImg {
	position: absolute;
	bottom: 50px;
	height: 55%;
	width: auto;
	z-index: 2;
}
.contact-charImg--left {
	left: 30px;
	height: 47%;
}
.contact-charImg--right {
	right: 30px;
}
/* ソリューション キャラクター画像 */
.solution-header {
	position: relative;
}
.solution-header_img {
	position: absolute;
	right: 0;
	bottom: -180px;
	height: 360px;
	width: auto;
}
/* 4つのレイヤー キャラクター画像 */
.fourlayer-img {
	position: absolute;
	right: 0;
	bottom: -60px;
	margin-bottom: 50px;
	height: 180px;
	width: auto;
}
.about-item_catch-product {
	font-size: 11px;
	color: #888;
	margin-bottom: 0;
}
.about-item_title-product {
	font-size: 18px;
	font-weight: bold;
	color: var(--color-primary);
	margin-bottom: 2px;
}
.about-item_areaTxt-product {
	max-width: none;
}
.about-item-product .about-item_text-small {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.top-product-cat_card > a {
	text-decoration: none;
	color: inherit;
	display: block;
	height: 100%;
}
.about-bgBlue,
.top-product-bgBlue {
	background-image: linear-gradient(293.92deg, var(--gradient-dark) -7.44%, var(--gradient-mid) 63.42%, var(--gradient-light) 127.78%);
	padding-top: 141px;
	color: var(--color-white);
	position: relative;
	overflow: hidden;
}
.about-bgBlue::after,
.top-product-bgBlue::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image:
		repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 1px, transparent 1px, transparent var(--bg-grid-size)),
		repeating-linear-gradient(90deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 1px, transparent 1px, transparent var(--bg-grid-size));
	background-size: var(--bg-grid-size) var(--bg-grid-size);
	pointer-events: none;
	z-index: 0;
}
.about-bgBlue::before,
.top-product-bgBlue::before {
	content: "";
	position: absolute;
	top: 0;
	right: -100px;
	width: 50vw;
	height: 50vw;
	max-width: 720px;
	max-height: 720px;
	background: url("../img/home/product-bg.png") no-repeat top right;
	background-size: contain;
	pointer-events: none;
	opacity: 0.15;
	transform: rotate(10deg);
}
.about-bgBlue .u-title_en_text,
.about-bgBlue .u-title_main,
.about-bgBlue .top-product-cat_number,
.top-product-bgBlue .u-title_en_text,
.top-product-bgBlue .u-title_main,
.top-product-bgBlue .top-product-cat_number {
	color: var(--color-white);
}
.about-bgBlue .u-title-highlight_main,
.top-product-bgBlue .u-title-highlight_main {
	background-color: var(--color-white);
	color: var(--color-primary);
}
.about-bgBlue .u-title-highlight_main-blue,
.top-product-bgBlue .u-title-highlight_main-blue {
	background-color: var(--color-blue);
	color: var(--color-white);
}
.about-bgBlue .u-title_en_arrow,
.top-product-bgBlue .u-title_en_arrow {
	color: var(--color-white);
}
.top-product-cat_cards + .top-product-cat_number {
	margin-top: 60px;
}
.about-bgBlue .about-item-product,
.top-product-bgBlue .about-item-product {
	color: var(--color-primary);
}
.top-service_link-all {
	text-align: right;
	padding: 0 40px;
	margin-top: 40px;
	position: relative;
	z-index: 1;
}
.top-service_link-all .u-button {
	display: inline-flex;
	width: auto;
}
@media screen and (max-width: 767px) {
	.top-service_link-all {
		text-align: center;
		padding: 0 20px;
	}
	.top-service_link-all .u-button {
		display: flex;
		width: 100%;
	}
}
.product-ticker {
	position: absolute;
	bottom: 40px;
	left: 0;
	right: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
	display: flex;
	width: 100%;
	opacity: 0.15;
}
.product-ticker_item {
	flex-shrink: 0;
	white-space: nowrap;
	font-size: 180px;
	font-weight: 900;
	color: #fff;
	line-height: 1;
	text-transform: uppercase;
	font-family: var(--font-jetbranins);
}
.product-ticker:not(.no-tick) .product-ticker_item:nth-child(odd) {
	animation: MoveLeft var(--tick-duration, 24s) var(--tick-delay, -12s) infinite linear;
}
.product-ticker:not(.no-tick) .product-ticker_item:nth-child(even) {
	animation: MoveLeft2 var(--tick-duration, 24s) infinite linear;
}

/* ========================================
   About：考え方 — 考え方・理念の2列カード（テキスト＋画像）
   ======================================== */
.about-think {
	margin-bottom: 95px;
}
.about-think_areaTtl {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 28px;
}
.about-think_number {
	font-size: 14px;
	font-family: var(--font-jetbranins);
	background-color: var(--color-white);
}
.about-think_title {
	margin-bottom: 0;
}
.about-think_text {
	margin-bottom: 43px;
	font-weight: 600;
}
.about-think_text:last-child {
	margin-bottom: 0;
}
.about-think_cell {
	box-shadow: 0 0 15px -5px rgba(26, 115, 240, 0.15);
	padding: 50px 20px;
	margin-bottom: 20px;
	background-color: var(--color-white);
}
.about-think_cell:last-child {
	margin-bottom: 0;
}
.about-think_cols {
	display: flex;
	max-width: 1160px;
	margin: 0 auto;
	justify-content: space-between;
	align-items: center;
}
.about-think_col {}
.about-think_col-txt {
	width: 60%;
	max-width: 673px;
}
.about-think_areTxt {}
.about-think_miniNumber {
	font-size: 40px;
	line-height: 1;
	color: var(--color-blue);
	font-family: var(--font-jetbranins);
	font-weight: 600;
	margin-bottom: 15px;
}
.about-think_headline {}
.about-think_headline_main {
	background-color: var(--color-light-blue);
	color: var(--color-blue);
}
.about-think_col-img {
	width: 35%;
	max-width: 412px;
}
.about-think_areaImg {
	box-shadow: 0 0 20px -7px rgba(26, 115, 240, 0.15);
	border-radius: var(--radius-sm);
	background-image: linear-gradient(to bottom, color-mix(in srgb, var(--color-section-soft) 70%, transparent), var(--color-white));
	box-sizing: border-box;
	padding: 20px;
	min-height: 230px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.about-think_image {}
.about-think_image > img {
	display: block;
	margin: 0 auto;
}

/* ################################################################
   プライバシーポリシーページ
   ################################################################ */

/* ========================================
   エリア：プライバシーポリシー — 個人情報保護方針の本文スタイル
   ======================================== */
.area-privacy {
	padding-bottom: 110px;
	border-bottom: 1px solid var(--color-light-gray);
	margin-bottom: 100px;
	font-weight: normal;
}
.area-privacy:last-child {
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 0;
}
.priv {
	margin-bottom: 120px;
}
.priv:last-child {
	margin-bottom: 0;
}
.priv_title {
	font-size: 36px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 42px;
}
.priv_text {
	margin-bottom: 10px;
}
.priv_text:last-child {
	margin-bottom: 0;
}
.priv_text-mbL {
	margin-bottom: 50px;
}
.priv_oList {}
.priv_oList > li {}
.priv_date {
	margin-top: 30px;
	text-align: right;
}
.priv_name {
	text-align: right;
	margin-top: 3px;
	font-size: 18px;
}
.priv_name > small {
	font-size: 83%;
	margin-right: 14px;
}
.priv_name_corp {
	display: block;
	font-size: 16px;
}
.priv_cell {
	margin-bottom: 40px;
}
.priv_cell:last-child {
	margin-bottom: 0;
}
.priv_headline {
	font-size: 28px;
	margin-bottom: 12px;
}
.priv_headline_main {
	background-color: var(--color-light-blue);
	color: var(--color-dark-blue);
}
.priv_list {}
.priv_list > li {}
.priv_text_point {
	font-weight: bold;
	background-color: var(--color-yellow);
	padding: 0 0.1em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.priv_corp {}
.priv_tel {}
.priv_tel > a {
	text-decoration: none;
	color: inherit;
}
.priv_mail {}
.priv_mail > a {
	color: var(--color-blue);
}
/* ################################################################
   サイトマップページ
   ################################################################ */

/* サイトマップ — 全ページリンクの2列グリッド */
.sitemap {}
.sitemap_cells {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 78px;
	row-gap: 110px;
}
.sitemap_cell {}
.sitemap_cell:last-child {
	margin-bottom: 0;
}
.sitemap_title {
	font-size: 13px;
	color: var(--color-dark-blue);
	margin-bottom: 30px;
}
.sitemap_title:last-child {
	margin-bottom: 0;
}
.sitemap_title > a {
	text-decoration: none;
	color: inherit;
	display: block;
	transition-duration: var(--transition-base);
	transition-property: color, background-color;
}
.sitemap_title_en {
	font-size: 46px;
}
.sitemap_list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 40px;
	row-gap: 10px;
}
.sitemap_list > li {}
.sitemap_list > li.-wide {
	grid-column: span 2;
}
.sitemap_list > li > a {
	text-decoration: none;
	color: inherit;
	position: relative;
	font-size: 14px;
	font-weight: 600;
	padding: 5px 0px;
	padding-right: 25px;
	border-bottom: 1px solid #eee;
	transition-duration: var(--transition-base);
	transition-property: color, background-color;
	height: 100%;
	box-sizing: border-box;
	line-height: 1.3;
	min-height: 52px;
	display: flex;
	align-items: center;
}
.sitemap_list_arrow {
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0px;
	font-size: 12px;
}
.sitemap_list_arrow > .icon {}
/* ################################################################
   事業内容ページ：派遣
   ################################################################ */

/* 派遣 — 派遣事業の紹介セクション */
.dispatch {
	margin-bottom: 120px;
}
.dispatch:last-child {
	margin-bottom: 0;
}
.dispatch_areaTtl {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.dispatch_title {
	color: var(--color-blue);
	font-size: 40px;
	font-weight: bold;
	margin-right: 20px;
	padding-left: 0.8em;
	line-height: 1.6;
	position: relative;
}
.dispatch_title > .icon {
	position: absolute;
	top: 0.8em;
	left: 0;
	position: absolute;
	transform: translateY(-51%) scale(0.56);
	transform-origin: left center;
}
.dispatch_date {
	font-size: 15px;
	font-weight: normal;
}
.dispatch_table {}
.dispatch_table > tbody {}
.dispatch_table > tbody > tr {}
.dispatch_table > tbody > tr > th {}
.dispatch_table > tbody > tr > td {}
.dispatch_headline {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 28px;
}

/* ========================================
   派遣：キャリア — キャリアアップ制度のテーブル・情報カード
   ======================================== */
.dispatch-career {}
.dispatch-career_tblWrap {}
.dispatch-career_table {}
.dispatch-career_table > thead {}
.dispatch-career_table > thead > tr {}
.dispatch-career_table > thead > tr > th {}
.dispatch-career_table > thead > tr > td {}
.dispatch-career_table > tbody {}
.dispatch-career_table > tbody > tr {}
.dispatch-career_table > tbody > tr > th {
	width: 470px;
}
.dispatch-career_table > tbody > tr > td {
	width: 220px;
}
.dispatch-career_list {
	font-weight: normal;
	padding-left: 5px;
	margin-top: 5px;
	line-height: 1.8;
}
.dispatch-career_list > li {}
.dispatch-career_list > li::before {
	top: 0.9em;
}
.dispatch-career_tblTitle {
	font-size: 16px;
	text-align: center;
	font-weight: bold;
	background-color: #80ADD5;
	color: var(--color-white);
	padding: 7px 10px;
	line-height: 1.5;
}
.dispatch-career_info {
	margin-top: 120px;
	border: 1px solid #E1E1E1;
	border-radius: var(--radius-sm);
	padding: 36px 20px 30px;
}
.dispatch-career_infoCols {
	display: flex;
	max-width: 1174px;
	margin: 0 auto;
	justify-content: space-between;
}
.dispatch-career_infoCol {
	width: 50%;
}
.dispatch-career_infoCol-ttl {
	padding-right: 20px;
	box-sizing: border-box;
}
.dispatch-career_subhead {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.8;
}
.dispatch-career_infoCol-txt {}
.dispatch-career_dList {
	list-style: none;
	font-size: 20px;
}
.dispatch-career_dList > dt {}
.dispatch-career_dList > dd {}
.dispatch-career_dList > dd > a {
	text-decoration: none;
	color: inherit;
}

/* ========================================
   派遣：労務 — 労務サービスのチェックリスト
   ======================================== */
.dispatch-labor {}
.dispatch-labor_list {
	font-size: 18px;
	list-style: none;
}
.dispatch-labor_list > li {
	position: relative;
	padding-left: 30px;
}
.dispatch-labor_list > li:nth-child(n+2) {
	margin-top: 12px;
}
.dispatch-labor_list_check {
	width: 17px;
	height: 17px;
	display: block;
	border: 1px solid rgba(99, 148, 200, 0.50);
	border-radius: 3px;
	position: absolute;
	top: 1em;
	transform: translateY(-50%);
	left: 0;
	box-sizing: border-box;
}
.dispatch-labor_cList {
	font-weight: normal;
	font-size: 16px;
}
.dispatch-labor_cList > li {}
.dispatch-labor_list_check > img {
	display: block;
}
.about-item_message_dummy {
	display: inline-block;
	width: 20px;
	visibility: hidden;
}
.about-item_message_dummy-lowResInline {
	display: none;
}
.about-item_message_dummy-spsInline {
	display: none;
}
.about-item_message-small {
	font-size: 22px;
}
.about-item_text-small {
	font-size: 12px;
	margin-bottom: -33px;
	padding-right: 50px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.about-item_text-wide {
	padding-right: 0;
	margin-bottom: 0;
}
.about-item_arrow-small {
	width: 33px;
	height: 33px;
	font-size: 10px;
}
.entry_customLink {
	display: flex;
}
.entry_customLink > a {
	width: auto;
	min-width: 212px;
}
.numap-collab_link_text {
	position: relative;
	z-index: 1;
	display: block;
}
.strength_fullImage {}
.strength_fullImage > img {}
.spread-public_list_item-grad {
	grid-column: span 2;
	background-image: linear-gradient(70.35deg, var(--gradient-dark) 5.62%, var(--gradient-mid) 53.84%, var(--gradient-light) 88.49%, #F8FFEA 106.07%);
	color: var(--color-white);
}
.spread-public_image {}
.spread-public_image > img {
	display: block;
	margin: 0 auto;
}
.sustain_fig {}
.sustain_fig > img {
	display: block;
}
.sustain_cols {
	display: flex;
}
.sustain_col {}
.sustain_col-txt {}
.sustain_col-img {
	width: calc(100% - 570px);
	margin-left: auto;
	max-width: 628px;
}
.sustain_caution {
	font-size: 14px;
	text-indent: -1em;
	padding-left: 1em;
	margin-top: 10px;
}

/* ################################################################
   DXビジョン2030ページ（続き）：ギャラリー・装飾
   ################################################################ */

/* ========================================
   DXギャラリー — DXページの横スクロール写真ギャラリー
   ======================================== */
.dx-gallery {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	z-index: 1;
	margin-top: 150px;
}
.dx-gallery_cell {}
.dx-gallery_cell-no1 {
	padding-top: 50px;
}
.dx-gallery_cell-no2 {
	padding-top: 220px;
}
.dx-gallery_cell-no3 {}
.dx-gallery_cell-no4 {
	padding-top: 50px;
}
.dx-gallery_cell-no5 {
	padding-top: 120px;
}
.dx-gallery_cell-no6 {
	padding-top: 220px;
}
.dx-gallery_scroll {}
.dx-gallery_images {
	display: flex;
	animation-name: dxScroll;
	animation-duration: 60s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.dx-gallery_image {
	margin-right: 40px;
	width: 300px;
}
.dx-gallery_image-large {
	width: 700px;
}
.dx-gallery_image > img {
	display: block;
}
/* DXミッション：円形背景装飾（グラデーション円、複数配置） */
.dx-mission_cricle {
	position: absolute;
	width: 1500px;
	height: 1500px;
	left: 50%;
	top: 50%;
	opacity: 0.7;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background-image: radial-gradient(circle, rgba(123, 194, 255, 1.0) 0%, rgba(123, 194, 255, 0.8) 20%, rgba(123, 194, 255, 0.4) 40%, rgba(123, 194, 255, 0.1) 60%, rgba(123, 194, 255, 0.0) 70%);
}
.dx-mission_cricle-no1 {
	margin-left: -1079px;
	margin-top: -953px;
}
.dx-mission_cricle-no2 {
	opacity: 0;
	position: absolute;
	width: 1000px;
	height: 1000px;
	opacity: 0.4;
	margin-top: -570px;
	margin-left: 850px;
}
.dx-mission_cricle-no3 {
	position: absolute;
	width: 900px;
	height: 900px;
	margin-left: -340px;
	opacity: 1;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 1.0) 0%, rgba(255, 255, 255, 0.8) 20%, rgba(255, 255, 255, 0.4) 40%, rgba(255, 255, 255, 0.1) 60%, rgba(255, 255, 255, 0.0) 70%);
}
.dx-mission_cricle-no4 {
	width: 1498px;
	height: 1498px;
	margin-top: 470px;
	margin-left: -930px;
	background-image: radial-gradient(circle, rgba(123, 211, 255, 1.0) 0%, rgba(123, 211, 255, 0.8) 20%, rgba(123, 211, 255, 0.4) 40%, rgba(123, 211, 255, 0.1) 60%, rgba(123, 211, 255, 0.0) 70%);
}
.dx-mission_cricle-no5 {
	width: 1498px;
	height: 1498px;
	margin-top: 1000px;
	background-image: radial-gradient(circle, rgba(123, 211, 255, 1.0) 0%, rgba(123, 211, 255, 0.8) 20%, rgba(123, 211, 255, 0.4) 40%, rgba(123, 211, 255, 0.1) 60%, rgba(123, 211, 255, 0.0) 70%);
}
.dx-mission_cricle-no6 {
	width: 900px;
	height: 900px;
	margin-left: 880px;
	margin-top: 860px;
	background-image: radial-gradient(circle, rgba(233, 255, 137, 1.0) 0%, rgba(233, 255, 137, 0.8) 20%, rgba(233, 255, 137, 0.4) 40%, rgba(233, 255, 137, 0.1) 60%, rgba(233, 255, 137, 0.0) 70%);
}
.dx-vision_headline-hasLine {
	display: block;
	line-height: 1.75;
}
.dx-vision_headline_inner {
	background-color: var(--color-yellow);
	color: var(--color-dark-blue);
	padding: 0 0.1em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.about-item_image-product {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.about-think_mainImage {
	max-width: 1290px;
	margin: 53px auto 0;
}
.about-think_mainImage > img {
	max-width: 100%;
	height: auto;
}
.about_bg {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	min-width: 1920px;
	height: 100%;
	transform: translateX(-50%);
	pointer-events: none;
}
.about_bg > img {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.about_inner-mb {
	margin-bottom: 110px;
}

/* ========================================
   About：マップ — 拠点地図の表示セクション（地図＋人数データ）
   ======================================== */
.about-map {
	background-image: linear-gradient(180deg, var(--color-primary-light) 0%, var(--color-primary-light) 53.5%, var(--color-section-soft) 142.28%);
	padding-bottom: 160px;
	padding-top: 140px;
}
.about-map_inner {}
.about-map_title {}
.about-map_headline {
	margin-bottom: 27px;
}
.about-map_text {
	max-width: 1070px;
}
.about-map_canvas {
	max-width: 1052px;
	margin: 9px auto 0;
	margin-top: 11px;
}
.about-map_dList {
	list-style: none;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	position: absolute;
	z-index: 1;
}
.about-map_dList-nagoya {
	top: 32.7%;
	left: 0;
}
.about-map_dList > dt {
	display: inline;
	margin-right: 0.7em;
}
.about-map_dList > dd {
	display: inline;
}
.about-map_dList_num {
	font-size: 50px;
	color: var(--color-blue);
	font-weight: inherit;
}
.about-map_dList-osaka {
	top: 46.8%;
	left: 0;
}
.about-map_dList-metropolitan {
	top: 70.7%;
	right: 0;
}
.about-map_dList-shizuoka {
	bottom: 10%;
	right: 0;
}
.about-map_canvas_image {}
.about-map_canvas_image > img {
	display: block;
}
.about-map_canvas_inner {
	position: relative;
}

/* ========================================
   About：取り組み — 企業の取り組み紹介セクション
   ======================================== */
.about-do {
	margin-bottom: 172px;
}
.about-do_inner {}
.about-do_title {}
.about-do_headline {
	margin-bottom: 40px;
}
.about-do_text {}
.product-offer_item_title {
	font-weight: 600;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.5;
}
.product-offer_item_title_arrow {
	display: inline-block;
	margin-left: 8px;
	font-size: 10px;
}
.product-offer_item_text {
	font-size: 14px;
	line-height: 1.5;
}
/* ################################################################
   お問い合わせページ
   ################################################################ */

/* お問い合わせフォーム — フォーム全体のレイアウト・入力フィールド */
.form {}
.form_text {
	font-weight: normal;
}
.form_title {
	color: var(--color-blue);
	font-weight: bold;
	font-size: 40px;
	line-height: 1.4;
	position: relative;
	padding-left: 25px;
	margin-top: 80px;
	margin-bottom: 45px;
}
.form_title:first-child {
	margin-top: 0;
}
.form_title > .icon {
	display: block;
	position: absolute;
	top: 0.7em;
	left: 0;
	transform: translateY(-50%) scale(0.6);
	transform-origin: left center;
	margin-top: -1px;
}
.form_box {
	background-color: var(--color-light-blue);
	border-radius: var(--radius-sm);
	padding: 44px 39px 60px;
	margin-top: 71px;
}
.form_table {
	width: 100%;
}
.form_table > tbody {}
.form_table > tbody > tr {}
.form_table > tbody > tr > th {
	white-space: nowrap;
	font-weight: normal;
	text-align: left;
	padding: 15px 0;
	vertical-align: top;
	width: 211px;
	box-sizing: border-box;
	padding-right: 30px;
}
.form_table > tbody > tr > td {
	padding: 15px 0;
	vertical-align: top;
}
.form_label {
	display: flex;
	font-weight: 600;
	min-height: 64px;
	align-items: center;
}
.form_agree {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	text-align: center;
	margin-top: 37px;
}
.form_submit {
	max-width: 232px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 32px;
	font-family: var(--font-gothic);
}
.wpcf7-list-item {
	display: block;
}
.wpcf7-list-item > label {
	display: block;
	margin: 0;
	position: relative;
	line-height: 36px;
}
.wpcf7-list-item > label > [type="checkbox"] {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	opacity: 0;
}
.wpcf7-list-item-label {
	display: block;
	position: relative;
	padding-left: 30px;
}
[type="checkbox"] + .wpcf7-list-item-label::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border: 1px solid #6394C8;
	border-radius: 3px;
	position: absolute;
	z-index: 0;
	transition-duration: var(--transition-base);
	transition-property: background-color, color, border-color;
	background-color: var(--color-white);
	top: 18px;
	left: 0;
	transform: translateY(-50%);
	box-sizing: border-box;
}
[type="checkbox"] + .wpcf7-list-item-label::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='%23fff' stroke-width='3px' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2.01 9.25 5.84 12.82 13.99 3.18'/%3E%3C/svg%3E");
	width: 13px;
	height: 13px;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	top: 50%;
	transform: translateY(-50%);
	left: 4px;
	opacity: 0;
	transition-duration: var(--transition-base);
	transition-property: opacity;
}
[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background-color: var(--color-blue);
	border-color: var(--color-blue);
}
[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}
.wpcf7-form-control-wrap {
	display: block;
}
.wpcf7-form-control {
	display: block;
}
.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 10px;
}
.form_submit_loading {
	animation-name: rotate;
	animation-iteration-count: infinite;
	animation-duration: 2s;
	animation-timing-function: linear;
	font-size: 24px;
	width: 1em;
	height: 1em;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	visibility: hidden;
}
[data-status="submitting"] .form_submit {
	pointer-events: none;
}
[data-status="submitting"] .form_submit_text {
	visibility: hidden;
}
[data-status="submitting"] .form_submit_loading {
	visibility: visible;
}
.wpcf7-not-valid-tip {
	color: var(--color-red);
	font-weight: normal;
	display: block;
	display: inline-block;
	vertical-align: baseline;
	margin-top: 1px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
}
.screen-reader-response {
	display: none;
}
.wpcf7-response-output {
	color: #3A87AD;
	background-color: #D9EDF7;
	border: 1px solid #BCE8F1;
	padding: 20px 20px;
	margin-top: 35px;
	display: none;
}
[data-status="spam"] .wpcf7-response-output,
[data-status="invalid"] .wpcf7-response-output {
	color: var(--color-red);
	background-color: #ffdfdf;
	border-color: rgba(211, 66, 38, 0.44);
	display: block;
}
[data-status="sent"] .wpcf7-response-output {
	display: block;
}

/* ========================================
   セクションラッパー — 共通セクション外枠
   ======================================== */
.section-wrap {}

/* ========================================
   セクションギャラリー — 動画・音声コンテンツのギャラリーグリッド
   ======================================== */
.section-gallery {
	padding: 128px 0 160px;
}
.section-gallery-blue {
	background-color: var(--color-light-blue);
}
.section-gallery_inner {}
.section-gallery_series {
	color: var(--color-blue);
	font-family: var(--font-jetbranins);
	font-weight: 500;
	font-size: 25px;
	line-height: 1;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.section-gallery_title {
	font-size: 52px;
	line-height: 1.5;
	color: var(--color-blue);
	position: relative;
	padding-left: 35px;
	margin-bottom: 58px;
}
.section-gallery_title > .icon {
	position: absolute;
	top: 0.75em;
	left: 0;
	transform-origin: left center;
	transform: translateY(-50%) scale(0.6);
}
.section-gallery_sect {
	margin-bottom: 100px;
}
.section-gallery_sect:last-child {
	margin-bottom: 0;
}
.section-gallery_headline {
	font-size: 26px;
	font-weight: 600;
	color: var(--color-white);
	margin-bottom: 23px;
}
.section-gallery_audio {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 20px;
}
.section-gallery_headline_inner {
	background-color: var(--color-dark-blue);
	padding: 0 0.1em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.section-gallery_text {
	margin-bottom: 30px;
}
.section-gallery_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
	row-gap: 40px;
}
.section-gallery_cell {}
.section-gallery_cell-wide {
	grid-column: span 3;
}

/* ========================================
   動画アイテム — 個別動画カード（サムネイル＋タイトル＋情報）
   ======================================== */
.video-item {
	height: 100%;
}
.video-item > a {
	text-decoration: none;
	color: inherit;
	display: block;
	height: 100%;
}
.video-item_inner {
	background-color: var(--color-white);
	box-shadow: 0px 0px 15px rgba(26, 115, 240, 0.15);
	border-radius: var(--radius-sm);
	padding: 20px 20px 35px;
	box-sizing: border-box;
	height: 100%;
}
.video-item_cols {
	display: flex;
}
.video-item_col {}
.video-item_col-img {
	width: 50%;
}
.video-item_image {
	position: relative;
	padding-bottom: 56.13%;
	border-radius: var(--radius-sm);
	overflow: hidden;
	margin-bottom: 29px;
	background-color: var(--color-light-blue);
}
.video-item_image:last-child {
	margin-bottom: 0;
}
.video-item_image > img {
	display: block;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition-duration: 0.4s;
	transition-property: transform;
}
.video-item_col-txt {
	width: 45.3%;
	margin-left: auto;
	align-self: center;
}
.video-item_subhead {
	font-size: 22px;
	line-height: 34px;
	position: relative;
	padding-left: 47px;
	margin-bottom: 7px;
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
}
.video-item_subhead-large {
	font-size: 28px;
	line-height: 42px;
	margin-bottom: 11px;
	padding-left: 68px;
}
.video-item_subhead_arrow {
	background-color: var(--color-blue);
	display: flex;
	width: 39px;
	height: 39px;
	border-radius: var(--radius-sm);
	color: var(--color-white);
	position: absolute;
	top: 17px;
	left: 0;
	transform: translateY(-50%);
	align-items: center;
	justify-content: center;
	font-size: 13px;
}
.video-item_subhead_arrow-large {
	top: 21px;
	width: 48px;
	height: 48px;
	font-size: 16px;
}
.video-item_info {
	font-size: 14px;
	line-height: 1.5;
	padding-left: 47px;
}
.video-item_info-large {
	font-size: 16px;
	padding-left: 68px;
}
.video-item_inner-large {
	padding-bottom: 20px;
}

/* ========================================
   セクションカラム — 2列レイアウトの注釈・コラムボックス
   ======================================== */
.section-column {
	border: 1px dashed var(--color-blue);
	border-radius: var(--radius-sm);
	background-color: var(--color-white);
	margin-bottom: 94px;
	padding: 60px 30px 46px;
}
.section-column_inner {
	max-width: 1163px;
	margin: 0 auto;
}
.section-column_cols {
	display: flex;
}
.section-column_col {}
.section-column_col-title {
	width: 253px;
	padding-top: 10px;
}
.section-column_title {}
.section-column_title > img {
	display: block;
}
.section-column_col-txt {
	width: calc(100% - 312px);
	margin-left: auto;
}
.section-column_text {}

/* ========================================
   音声アイテム — ポッドキャスト・音声コンテンツのプレイヤーカード
   ======================================== */
.audio-item {
	box-shadow: 0px 0px 15px rgba(26, 115, 240, 0.15);
	border-radius: var(--radius-sm);
	padding: 0 25px 0;
	background-color: var(--color-white);
}
.audio-item_cols {
	display: flex;
	align-items: center;
	max-width: 1223px;
}
.audio-item_col {}
.audio-item_col-audio {
	width: 487px;
}
.audio-item_audio {
	display: block;
	width: 100%;
}
.audio-item_audio > source {}
.audio-item_col-title {
	width: calc(100% - 515px);
	margin-left: auto;
}
.audio-item_title {
	font-size: 22px;
	line-height: 1.5;
}
.audio-item_title > a {
	text-decoration: none;
	color: inherit;
	display: block;
	position: relative;
	padding: 35px 0;
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
	padding-right: 50px;
}
.audio-item_title_arrow {
	background-color: var(--color-blue);
	display: flex;
	width: 39px;
	height: 39px;
	border-radius: var(--radius-sm);
	color: var(--color-white);
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	align-items: center;
	justify-content: center;
	font-size: 13px;
}
.audio-item_title-noLink {
	padding: 35px 0;
}
.audio-item_col-fit {
	width: 100%;
}
.error {}
.error_inner {}
.error_title {}
.error_text {}
.error_link {
	max-width: 232px;
	margin-top: 25px;
}

/* ========================================
   ソリューションナビ — ソリューション一覧への誘導スライダー（グラデ背景）
   ======================================== */
.solution-nav {
	background-image: linear-gradient(297.02deg, var(--gradient-dark) -65.77%, var(--gradient-mid) 28.15%, var(--gradient-light) 113.45%);
	padding: 120px 0 132px;
}
.solution-nav_inner {
	max-width: var(--width-container-wide);
}
.solution-nav_title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
	padding-right: 170px;
	margin-bottom: -63px;
}
.solution-nav_title_en {
	line-height: 46px;
	font-weight: 500;
	font-family: var(--font-jetbranins);
	font-size: 32px;
	background-color: var(--color-white);
	text-transform: uppercase;
	margin-bottom: 11px;
}
.solution-nav_title_main {}
.solution-nav_swiper {
	overflow: visible;
}
.solution-nav_areaBtn {
	display: flex;
	justify-content: flex-end;
	column-gap: 6px;
	margin-bottom: 59px;
}
.solution-nav_btn {
	display: flex;
	width: 64px;
	height: 64px;
	border-radius: var(--radius-md);
	background-color: var(--color-white);
	align-items: center;
	justify-content: center;
	font-size: 14px;
}
.solution-nav_btn-prev {}
.solution-nav_btn-next {}
.solution-nav_swiper_wrapper {}
.solution-nav_swiper_item {
	width: 485px;
	height: auto;
}
.solution-nav_swiper_item > a {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.form_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 10px;
}
.form_cell {}
.form_postal {
	display: grid;
	grid-template-columns: 1fr 16px 1fr;
	column-gap: 16px;
}
.form_postal_cell {}
.form_postal_hyphen {
	height: 1px;
	background-color: currentColor;
	position: relative;
	top: 32px;
	transform: translateY(-50%);
}
.form_field {
	margin-bottom: 10px;
}
.form_field:last-child {
	margin-bottom: 0;
}
.form_box_inner {
	max-width: 1120px;
	margin: 0 auto;
}

/* ================================================================
   私たちについてページ（続き）：イントロ・モーダル
   ================================================================ */

/* ========================================
   About：イントロ — 「私たちについて」ページのインタラクティブマップセクション
   ======================================== */
.about-intro {
	background-image: linear-gradient(180deg, var(--color-section-soft) 0%, var(--color-white) 100%);
	padding-top: 130px;
	margin-bottom: 90px;
}
.about-intro_inner {}
.about-intro_title {}
.about-intro_cols {
	display: flex;
	max-width: 1068px;
}
.about-intro_col {}
.about-intro_col-ttl {}
.about-intro_headline {
	font-size: 30px;
	line-height: 1.9;
	margin-bottom: 0;
}
.about-intro_col-txt {
	margin-left: auto;
}
.about-intro_text {}
.about-intro_canvas {
	width: 1278px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 25px;
}
.about-intro_list_btn_text {
	display: block;
	color: var(--color-primary);
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
	position: relative;
	z-index: 1;
}
.about-intro_cloud {
	position: absolute;
	top: 25px;
	left: 50%;
	width: 100vw;
	background-image: url(../img/about/bg-cloud@2x.png);
	background-size: 1920px 338px;
	height: 338px;
	z-index: 0;
	transform: translateX(-50%);
	animation-name: moveCloud;
	animation-duration: 60s;
	animation-iteration-count: infinite;
	background-repeat: repeat-x;
	animation-timing-function: linear;
}
.about-intro_image {
	position: relative;
	z-index: 1;
}
.about-intro_image > img {
	display: block;
}
.about-intro_list {
	list-style: none;
}
@keyframes fukidashi-float {
	0%, 100% { transform: translateX(-50%) translateY(0); }
	50% { transform: translateX(-50%) translateY(-10px); }
}
.about-intro_list_item {
	position: absolute;
	z-index: 2;
	transform: translateX(-50%);
	animation: fukidashi-float 3s ease-in-out infinite;
}
.about-intro_list_item-no1 { animation-delay: 0s; }
.about-intro_list_item-no2 { animation-delay: 0.75s; }
.about-intro_list_item-no3 { animation-delay: 1.5s; }
.about-intro_list_item-no4 { animation-delay: 2.25s; }
.about-intro_list_item-no1 {
	top: 44%;
	left: 17.8%;
}
.about-intro_list_btn {
	display: block;
	background-color: currentColor;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: auto;
	position: relative;
	font-size: 18px;
	font-weight: 600;
	color: #ffd900;
	padding: 10px 20px 6px;
	white-space: nowrap;
	filter: drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 1.5px #fff) drop-shadow(0 5px 15px rgba(0, 0, 0, 0.2));
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
	min-width: auto;
}
.about-intro_list_btn_tip {
	display: block;
	width: 32px;
	height: 27px;
	fill: currentColor;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: -9px;
	pointer-events: none;
}
.about-intro_list_item-no2 {
	top: calc(18.9% - 130px);
	left: 32.5%;
}
.about-intro_list_item-no3 {
	top: calc(41% + 180px);
	left: calc(58% + 80px);
}
.about-intro_list_item-no4 {
	top: calc(28.8% - 120px);
	left: calc(79.1% - 150px);
}

/* ========================================
   About：モーダル — 詳細情報のモーダルダイアログ（オーバーレイ＋閉じるボタン）
   ======================================== */
.about-modal {
	position: fixed;
	z-index: 2000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.50);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition-property: opacity, visibility;
	transition-duration: var(--transition-slow);
}
.about-modal.is-show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.about-modal_inner {
	max-width: 1080px;
	width: 100%;
	box-sizing: border-box;
}
.about-modal_box {
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.about-modal_head {
	background-color: var(--color-primary);
	color: var(--color-white);
	padding: 30px 30px 55px;
}
.about-modal_head_inner {
	max-width: 950px;
	margin-left: auto;
}
.about-modal_btn {
	display: block;
	width: 46px;
	height: 46px;
	border-radius: var(--radius-sm);
	background-color: var(--color-white);
	margin-left: auto;
	color: var(--color-dark-blue);
	position: relative;
	margin-bottom: -18px;
	border: 1px solid var(--color-white);
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
}
.about-modal_btn::before {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(18deg);
}
.about-modal_btn::after {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-18deg);
}
.about-modal_title {
	font-size: 40px;
	font-weight: 600;
	line-height: 1.2;
	padding-right: 60px;
}
.about-modal_contents {
	padding: 60px 30px 44px;
	box-sizing: border-box;
	max-height: calc(100vh - 230px);
	overflow: auto;
}
.about-modal_contents_inner {
	max-width: 920px;
	margin: 0 auto;
}
.about-modal_cols {
	display: flex;
	justify-content: space-between;
}
.about-modal_col {
	width: 48%;
	max-width: 430px;
}
.about-modal_col-ttl {
	padding-top: 3px;
}
.about-modal_headline {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 20px;
}
.about-modal_text {}
.about-modal_image {
	max-width: 414px;
	margin: 16px auto 0;
}
.about-modal_image > img {
	display: block;
}
.about-modal_col-link {}
.about-modal_list {
	list-style: none;
}
.about-modal_list > li {}
.about-modal_list > li:nth-child(n + 2) {
	margin-top: 10px;
}
.about-modal_list > li > a {
	text-decoration: none;
	color: inherit;
	display: flex;
	background-color: var(--color-light-blue);
	border-radius: var(--radius-sm);
	height: 60px;
	align-items: center;
	position: relative;
	font-size: 18px;
	font-weight: 600;
	padding: 10px 20px;
	box-sizing: border-box;
	padding-right: 55px;
	line-height: 1.2;
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
}
.about-modal_list_arrow {
	width: 28px;
	height: 28px;
	background-color: var(--color-white);
	font-size: 10px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(4, 55, 111, 0.20);
	box-sizing: border-box;
	border-radius: var(--radius-md);
	color: var(--color-dark-blue);
}
.about-modal_list_arrow > .icon {}

/* ################################################################
   事業内容ページ
   ################################################################ */

/* ========================================
   ビジネス：イントロ — 事業内容ページのメインタイトル＋リード文
   ======================================== */
.business-intro {
	position: relative;
	z-index: 1;
	margin-top: 103px;
	margin-bottom: 111px;
}
.business-intro_inner {}
.business-intro_title {
	font-size: 70px;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
.business-intro_text {
	font-size: 24px;
	max-width: 1116px;
	margin: 60px auto 0;
}
.business {
	position: relative;
	padding-bottom: 90px;
}
.business_num {
	font-size: 214px;
	font-family: var(--font-jetbranins);
	line-height: 1;
	color: var(--color-blue);
	text-align: right;
	overflow: hidden;
	letter-spacing: -0.1em;
	margin-bottom: -104px;
	white-space: nowrap;
}
.business_num_inner {
	display: block;
	max-width: 1920px;
	margin: 0 auto;
}
.business_num_text {
	display: block;
	opacity: .05;
	transform: translateX(1%);
}
.business_catch {
	font-size: 150px;
	font-weight: 500;
	line-height: 0.9;
	text-transform: uppercase;
	font-family: var(--font-jetbranins);
	white-space: nowrap;
	letter-spacing: -0.1em;
	color: var(--color-blue);
	position: absolute;
	z-index: 0;
	top: 670px;
	left: 0;
	overflow: hidden;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	white-space: nowrap;
}
.business_catch_inner {
	display: block;
	position: relative;
	margin-left: -1074px;
}
.business_catch_text {
	display: block;
	opacity: .05;
}
.business_inner {
	max-width: 1491px;
}
.business_cols {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
	max-width: 1497px;
	margin-right: auto;
}
.business_col {
	width: 47.6%;
	max-width: 609px;
}
.business_col-img {}
.business_col-txt {
	padding-top: 19px;
}
.business_title {
	margin-bottom: 30px;
}
.business_sect {
	margin-bottom: 60px;
}
.business_sect:last-child {
	margin-bottom: 0;
}
.business_subTitle {
	font-family: var(--font-jetbranins);
	color: var(--color-blue);
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid currentColor;
	padding-bottom: 14px;
	margin-bottom: 23px;
}
.business_subTitle_num {}
.business_subTitle_main {}
.business_headline {
	font-size: 40px;
	margin-bottom: 25px;
}
.business_image {
	margin-bottom: 20px;
}
.business_image > img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--radius-sm);
}
.business_subhead {
	font-size: 20px;
	font-weight: 600;
	line-height: 2;
	margin-bottom: 15px;
	display: inline;
	background-color: var(--color-primary);
	color: var(--color-white);
	padding: 2px 8px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.business_list {
	list-style: none;
}
.business_list > li {}
.business_list > li:nth-child(n + 2) {
	margin-top: 10px;
}
.business_list > li > a {
	text-decoration: none;
	color: inherit;
	display: flex;
	min-height: 60px;
	background-color: var(--color-white);
	font-size: 18px;
	font-weight: 600;
	position: relative;
	padding: 5px 20px;
	box-sizing: border-box;
	align-items: center;
	box-shadow: 0px 0px 20px -10px rgba(0, 115, 255, 0.3);
	border-radius: var(--radius-sm);
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
	padding-right: 60px;
	line-height: 1.2;
}
.business_list_arrow {
	font-size: 10px;
	width: 28px;
	height: 28px;
	border-radius: var(--radius-md);
	border: 1px solid rgba(4, 55, 111, 0.30);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	box-sizing: border-box;
	background-color: var(--color-white);
	color: var(--color-dark-blue);
}
.business_bg {
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	overflow: hidden;
	top: 0;
	left: 0;
}
.business_bg_item {
	position: absolute;
	width: 100%;
	height: 6221px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.0) 0%, var(--color-primary-light) 8.58%, var(--color-primary-light) 37.6%, var(--color-section-soft) 100%);
	top: 0;
	left: 0;
}
.section-nav_title_en_arrow {
	top: 0.5em;
}
.section-nav_title-solution {
	max-width: 360px;
}
.business_canvas {
	position: sticky;
	top: 120px;
}

/* ========================================
   ビジネスキャンバス — 事業領域の円形インタラクティブ図（SVG進捗アニメーション付き）
   ======================================== */
.business-canvas {
	width: 700px;
	height: 700px;
	position: relative;
}
.business-canvas_orbit {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -60px;
	margin-left: -60px;
	width: 120px;
	height: 120px;
	z-index: 3;
	animation: orbit 6s linear infinite;
	pointer-events: none;
}
.business-canvas_orbit > img {
	display: block;
	width: 100%;
	height: auto;
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes orbit {
	0% { transform: rotate(0deg) translateX(265px) rotate(90deg); }
	100% { transform: rotate(360deg) translateX(265px) rotate(90deg); }
}
.business-canvas_circleBase {
	width: 600px;
	height: 600px;
	position: absolute;
	border-radius: 50%;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition-duration: 0.4s;
	transition-property: transform;
	border: 1px dashed rgba(255, 255, 255, 0.20);
	box-sizing: border-box;
	z-index: 2;
}
.business-canvas_circleBase::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background:
		repeating-linear-gradient(0deg, transparent, transparent 19px, rgba(255,255,255,0.05) 19px, rgba(255,255,255,0.05) 20px),
		repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(255,255,255,0.05) 19px, rgba(255,255,255,0.05) 20px);
	transition-duration: 0.4s;
	transition-property: transform;
	z-index: -1;
}
.business-canvas_circleBase::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background: url(../img/home/pdca-bg.png) center / cover no-repeat;
	animation: spin 60s linear infinite reverse;
	z-index: -2;
}
.business-canvas_circle {
	position: absolute;
	backdrop-filter: blur(3px);
	border-radius: 50%;
	z-index: 4;
}
.business-canvas_circle_inner {
	padding-top: 16px;
	width: 220px;
	height: 220px;
	background: linear-gradient(180deg, #b3d6fb 0%, #e5eefd 60%);
	border: 3px solid #FFFFFF;
	box-shadow: 0px 0px 20px -10px rgba(0, 115, 255, 0.5);
	border-radius: 50%;
	box-sizing: border-box;
	transition-duration: 0.4s;
	transition-property: transform;
}
.business-canvas_circle_image {
	max-width: 175px;
	margin: 0 auto;
}
.business-canvas_circle_image > img {
	display: block;
	max-width: 100%;
	height: auto;
}
.business-canvas_circle_text {
	font-weight: 600;
	font-size: 14px;
	line-height: 21px;
	text-align: center;
}
.business-canvas_circle_textWrap {
	display: flex;
	justify-content: center;
	height: 42px;
	align-items: center;
}
.business-canvas_circle_text_inner {
	background-color: var(--color-white);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	padding: 0 .1em;
}
.business-canvas_circle-no1 {
	left: 50%;
	top: 50px;
	transform: translate(-50%, -50%);
}
.business-canvas_circle-no2 {
	right: 50px;
	top: 50%;
	transform: translate(50%, -50%);
}
.business-canvas_circle-no3 {
	left: 50%;
	bottom: 50px;
	transform: translate(-50%, 50%);
}
.business-canvas_circle-no4 {
	left: 50px;
	top: 50%;
	transform: translate(-50%, -50%);
}
.business-canvas_progress {
	display: block;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: var(--color-blue);
	stroke-dasharray: 2px 2px;
	stroke-width: 1px;
}
.business-canvas_progress-main {
	z-index: 1;
	stroke: var(--color-yellow);
	stroke-width: 2px;
	stroke-dasharray: 1665px 1665px;
	stroke-dashoffset: 1665px;
	transition-duration: var(--transition-slow);
	transition-property: stroke-dashoffset;
}
.business-canvas_progress-mainTop {
	transition: none;
}
.business-canvas_areaText {
	position: absolute;
	top: 274px;
	left: 0;
	width: 100%;
	text-align: center;
	color: var(--color-white);
	z-index: 10;
	visibility: hidden;
	opacity: 0;
	transition-duration: .4s;
	transition-property: opacity, visibility;
	pointer-events: none;
}
.business-canvas_areaText.is-show {
	opacity: 1;
	visibility: visible;
}
.business-canvas_num {
	font-size: 16px;
	font-weight: 500;
	color: var(--color-yellow);
	font-family: var(--font-jetbranins);
	line-height: 1.5;
	margin-bottom: 17px;
}
.business-canvas_headline {
	font-size: 32px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
}
[data-progress="1"] .business-canvas_circleBase {
	transform: rotate(-90deg);
}
[data-progress="1"] .business-canvas_circleBase::before {
	transform: rotate(90deg);
}
[data-progress="1"] .business-canvas_circle_inner {
	transform: rotate(90deg);
}
[data-progress="2"] .business-canvas_circleBase {
	transform: rotate(-180deg);
}
[data-progress="2"] .business-canvas_circleBase::before {
	transform: rotate(180deg);
}
[data-progress="2"] .business-canvas_circle_inner {
	transform: rotate(180deg);
}
[data-progress="3"] .business-canvas_circleBase {
	transform: rotate(-270deg);
}
[data-progress="3"] .business-canvas_circleBase::before {
	transform: rotate(270deg);
}
[data-progress="3"] .business-canvas_circle_inner {
	transform: rotate(270deg);
}
/* --- 選択中（上に来ている）アイコンの背景色変更 --- */
[data-progress="0"] .business-canvas_circle-no1 .business-canvas_circle_inner,
[data-progress="1"] .business-canvas_circle-no2 .business-canvas_circle_inner,
[data-progress="2"] .business-canvas_circle-no3 .business-canvas_circle_inner,
[data-progress="3"] .business-canvas_circle-no4 .business-canvas_circle_inner {
	background:
		repeating-linear-gradient(0deg, transparent, transparent 19px, rgba(255,255,255,0.15) 19px, rgba(255,255,255,0.15) 20px),
		repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(255,255,255,0.15) 19px, rgba(255,255,255,0.15) 20px),
		linear-gradient(180deg, #b3d6fb 0%, #e5eefd 60%);
	border-color: #0071bc;
	border-width: 5px;
	box-shadow: 0px 0px 20px -10px rgba(255, 165, 0, 0.5);
}
/* --- 選択中アイコンの画像切り替え --- */
.business-canvas_circle_image .is-active,
.business-canvas_circle_image .is-sp {
	display: none;
}
[data-progress="0"] .business-canvas_circle-no1 .is-default,
[data-progress="1"] .business-canvas_circle-no2 .is-default,
[data-progress="2"] .business-canvas_circle-no3 .is-default,
[data-progress="3"] .business-canvas_circle-no4 .is-default {
	display: none;
}
[data-progress="0"] .business-canvas_circle-no1 .is-active,
[data-progress="1"] .business-canvas_circle-no2 .is-active,
[data-progress="2"] .business-canvas_circle-no3 .is-active,
[data-progress="3"] .business-canvas_circle-no4 .is-active {
	display: block;
}
/* --- 非選択アイコンの画像透明度 --- */
[data-progress="0"] .business-canvas_circle-no2 .business-canvas_circle_image,
[data-progress="0"] .business-canvas_circle-no3 .business-canvas_circle_image,
[data-progress="0"] .business-canvas_circle-no4 .business-canvas_circle_image,
[data-progress="1"] .business-canvas_circle-no1 .business-canvas_circle_image,
[data-progress="1"] .business-canvas_circle-no3 .business-canvas_circle_image,
[data-progress="1"] .business-canvas_circle-no4 .business-canvas_circle_image,
[data-progress="2"] .business-canvas_circle-no1 .business-canvas_circle_image,
[data-progress="2"] .business-canvas_circle-no2 .business-canvas_circle_image,
[data-progress="2"] .business-canvas_circle-no4 .business-canvas_circle_image,
[data-progress="3"] .business-canvas_circle-no1 .business-canvas_circle_image,
[data-progress="3"] .business-canvas_circle-no2 .business-canvas_circle_image,
[data-progress="3"] .business-canvas_circle-no3 .business-canvas_circle_image {
	opacity: 1;
}
[data-progress="1"] .business-canvas_progress-main {
	stroke-dashoffset: 1249px;
}
[data-progress="2"] .business-canvas_progress-main {
	stroke-dashoffset: 832px;
}
[data-progress="3"] .business-canvas_progress-main {
	stroke-dashoffset: 416px;
}
[data-progress] .business-canvas_progress-mainTop {
	stroke-dashoffset: calc(1665px - (1665px * var(--scroll-ratio)));
}
.business-canvas_catch {
	display: none;
}
.event-item_info {
	line-height: 2.3;
}
.event-item_info_inner {
	background-color: var(--color-white);
	color: var(--color-blue);
	padding: 0.2em 0.1em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.tool-intro_subImage {
	width: 31.1%;
	position: absolute;
	z-index: 1;
	bottom: -40px;
	right: -25px;
}
.tool-intro_subImage > img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* ################################################################
   トップページ
   ################################################################ */

/* ========================================
   トップ：採用 — トップページの採用セクション（テキスト＋写真スライダー）
   ======================================== */
.top-recruit {
	background: linear-gradient(291.36deg, var(--color-section-soft) 58.76%, var(--color-section-alt) 98.22%);
	padding: 130px 0 201px;
	position: relative;
	overflow: hidden;
}
.top-recruit_inner {
	max-width: 1367px;
}
.top-recruit_cols {
	display: flex;
	max-width: 1303px;
	margin-left: auto;
	gap: 40px;
}
.top-recruit_col {}
.top-recruit_col-txt {}
.top-recruit_title {
	color: var(--color-dark-blue);
}
.top-recruit_text {}
.top-recruit_link {
	max-width: 232px;
	margin-top: 40px;
}
.top-recruit_link > a {
	font-family: var(--font-gothic);
}
.top-recruit_col-img {
	margin-left: auto;
	width: calc(100% - 470px);
	max-width: 690px;
	padding-top: 20px;
}
.top-recruit_slide_inner {
	position: relative;
	padding-bottom: 75.68%;
}
.top-recruit_slide {
	display: flex;
	align-items: center;
}
.top-recruit_slide_body {
	max-width: 555px;
	margin-right: 10px;
	width: calc(100% - 50px);
}
.top-recruit_slide_item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top-recruit_slide_item[data-index="1"] {
	z-index: 10;
	transform: rotate(-7deg);
}
.top-recruit_slide_item[data-index="2"] {
	transform: rotate(-2.45deg);
	z-index: 9;
}
.top-recruit_slide_item[data-index="3"] {
	z-index: 8;
	transform: rotate(6.55deg);
}
.top-recruit_slide_image {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.top-recruit_slide_image > img {
	display: block;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-recruit_list {
	list-style: none;
	width: 18px;
	margin-left: auto;
}
.top-recruit_list > li {}
.top-recruit_list_btn {
	display: block;
	width: 6px;
	height: 6px;
	border: 6px solid rgba(255, 255, 255, 0);
	box-sizing: content-box;
	background-clip: content-box;
	background-color: var(--color-white);
	border-radius: 50%;
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
}
.top-recruit_list_btn[aria-current="true"] {
	background-color: var(--color-blue);
}

/* ========================================
   トップ：企業情報 — トップページの企業情報セクション（グラデ背景＋ギャラリー）
   ======================================== */
.top-company {
	background-image: linear-gradient(293.92deg, var(--gradient-dark) -7.44%, var(--gradient-mid) 63.42%, var(--gradient-light) 127.78%);
	color: var(--color-white);
	padding: 138px 0 0;
	overflow: hidden;
	position: relative;
}
.top-company_inner {
	max-width: 1487px;
}
.top-company_contents {
	position: relative;
}
.top-company_title {
	color: inherit;
	margin-bottom: 28px;
}
.top-company_text {
	max-width: 500px;
}
.top-company_link {
	position: absolute;
	top: 30px;
	right: 0;
	width: 232px;
}
.top-company_body {
	margin-top: -47px;
}
.top-company_deco {
	font-size: 160px;
	font-family: var(--font-jetbranins);
	text-transform: uppercase;
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.1em;
	color: rgba(255, 255, 255, 0.15);
	white-space: nowrap;
}
.top-company_deco-top {
	text-align: right;
	margin-bottom: -0.1em;
}
.top-company_cols {
	display: flex;
	position: relative;
}
.top-company_cols::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	height: 1px;
	width: 150vw;
	background-color: rgba(255, 255, 255, 0.50);
	transform: translateX(-50%);
	z-index: 0;
	z-index: 1;
}
.top-company_cols::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	height: 1px;
	width: 150vw;
	background-color: rgba(255, 255, 255, 0.50);
	transform: translateX(-50%);
	z-index: 0;
}
.top-company_col {}
.top-company_col-list {
	width: calc(100% - 628px);
	border-right: 1px solid rgba(255, 255, 255, 0.50);
	box-sizing: border-box;
}
.top-company_list {
	list-style: none;
}
.top-company_list > li {}
.top-company_list > li > a {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	height: 126px;
	justify-content: center;
	padding-right: 54px;
}
.top-company_list > li:nth-last-child(n + 2) > a::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	height: 1px;
	width: 100vw;
	background-color: rgba(255, 255, 255, 0.50);
	z-index: 0;
}
.top-company_list_bg {
	position: absolute;
	z-index: 0;
	width: 100vw;
	right: 0;
	top: 0;
	height: 100%;
	background-image: linear-gradient(291.74deg, var(--gradient-light) -45.8%, var(--gradient-mid) 79.06%, var(--gradient-dark) 127.7%);
	opacity: 0;
	transition-duration: var(--transition-base);
	transition-property: opacity;
}
.top-company_list_en {
	display: block;
	font-weight: 500;
	font-size: 36px;
	font-family: var(--font-jetbranins);
	text-transform: uppercase;
	line-height: 1.1;
	position: relative;
	z-index: 1;
	margin-bottom: 6px;
}
.top-company_list_main {
	display: block;
	background-color: var(--color-white);
	font-size: 14px;
	color: var(--color-dark-blue);
	line-height: 28px;
	font-weight: 600;
	position: relative;
	z-index: 1;
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
}
.top-company_list_arrow {
	position: absolute;
	top: 50%;
	right: 52px;
	transform: translateY(-50%);
	font-size: 13px;
}
.top-company_list_arrow > .icon {}
.top-company_col-img {
	width: 628px;
	position: relative;
}
.top-company_gallery {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-width: 670px;
	width: calc(100% + ((100vw - 1478px) / 2));
	background-color: #56b7ff;
}
.top-company_gallery_item {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition-duration: 0.7s;
	transition-property: opacity, visibility;
}
.top-company_gallery_item.is-show {
	opacity: 1;
	visibility: visible;
}
.top-company_gallery_item_image {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top-company_gallery_item_image > img {
	display: block;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-company_deco-bottom {}

/* ========================================
   トップ：イベント — トップページのイベントスライダーセクション
   ======================================== */
.top-event {
	margin-bottom: 160px;
	position: relative;
	overflow: hidden;
}
.top-event_inner {
	max-width: 1487px;
}
.top-event_contents {
	position: relative;
	padding-top: 121px;
	padding-bottom: 86px;
}
.top-event_bg {
	position: absolute;
	top: 0;
	left: -100px;
	width: calc(100% + 100px + ((100vw - 1487px) / 2));
	height: 100%;
	z-index: -1;
	background-color: var(--color-primary-light);
	min-width: 1600px;
	overflow: hidden;
	border-radius: var(--radius-sm);
}
.top-event_bg_image > img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top-event_cols {
	display: flex;
}
.top-event_col {}
.top-event_col-txt {
	width: 500px;
	padding-top: 0px;
}
.top-event_title {
	margin-bottom: 36px;
}
.top-event_link {
	width: 232px;
}
.top-event_col-body {
	width: calc(100% - 500px);
	clip-path: polygon(0 -50px, 0 100%, 100vw 100%, 100vw -50px);
	padding-top: 25px;
}
.top-event_swiper {
	overflow: visible;
}
.top-event_swiper_wrapper {}
.top-event_swiper_item {
	width: 309px;
}
.top-event_swiper_item > a {
	display: block;
	text-decoration: none;
	color: inherit;
}
.top-event_bg_circle {
	position: absolute;
	width: 1397px;
	height: 1397px;
	z-index: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	opacity: .3;
	background-image: radial-gradient(circle, rgba(123, 194, 255, 1.0) 0%, rgba(123, 194, 255, 0.8) 20%, rgba(123, 194, 255, 0.4) 40%, rgba(123, 194, 255, 0.1) 60%, rgba(123, 194, 255, 0.0) 70%);
}
.top-event_bg_circle-left {
	margin-left: -860px;
	margin-top: 510px;
}
.top-event_bg_circle-right {
	margin-left: 720px;
	margin-top: -430px;
}
.event-item_title-small {
	font-size: 16px;
	margin-bottom: 20px;
}
.event-item_info-small {
	font-size: 14px;
}

/* ========================================
   トップ：ニュース — カテゴリタブ切替付きニュース一覧セクション（2カラム：リンク＋記事パネル）
   ======================================== */
.top-news {
	padding: 136px 0 157px;
	position: relative;
	overflow: hidden;
}
.top-news_inner {
	max-width: 1487px;
}
.top-news_contents {}
.top-news_title {
	margin-bottom: 10px;
}
.top-news_cols {
	display: flex;
}
.top-news_col {}
.top-news_col-link {
	width: 290px;
	padding-top: 29px;
}
.top-news_link {
	max-width: 232px;
	margin-top: 50px;
}
.top-news_col-body {
	width: calc(100% - 330px);
	margin-left: auto;
	max-width: 987px;
}
.top-news_panel {
	display: none;
}
.top-news_panel.is-show {
	display: block;
}

/* ========================================
   トップ：プロダクト
   ======================================== */
.top-service {
	position: relative;
	padding: 141px 0 149px;
	overflow: hidden;
	background-color: var(--color-primary-light);
}
.top-service_bg {
	position: absolute;
	width: 1397px;
	height: 1397px;
	z-index: 0;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	border-radius: 50%;
	background-image: radial-gradient(circle, rgba(123, 194, 255, 1.0) 0%, rgba(123, 194, 255, 0.8) 20%, rgba(123, 194, 255, 0.4) 40%, rgba(123, 194, 255, 0.1) 60%, rgba(123, 194, 255, 0.0) 70%);
}
.top-service_bg-no1 {
	margin-left: -1000px;
	margin-top: -500px;
	opacity: .8;
}
.top-service_bg-no2 {
	top: 580px;
	margin-left: 940px;
}
.top-service_bg-no3 {
	top: 1450px;
	margin-left: -480px;
	opacity: 0.7;
}
.top-service_inner {
	max-width: 1487px;
	position: relative;
	z-index: 1;
}
.top-service_title {
	margin-bottom: 28px;
}
.top-service_text {
	margin-bottom: 96px;
}
.top-service_sect {
	margin-bottom: 159px;
}
.top-service_sect:last-child {
	margin-bottom: 0;
}
.top-service_headline {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	font-weight: bold;
	font-size: 16px;
}
.top-service_headline_en {
	line-height: 48px;
	background-color: var(--color-yellow);
	font-size: 32px;
	font-family: var(--font-jetbranins);
	font-weight: 500;
}
.top-service_headline_main {
	display: block;
	line-height: 1.5;
	margin-top: 10px;
}
.top-service_swiper {
	overflow: hidden;
}
.top-service_areaBtn {
	display: flex;
	justify-content: flex-end;
	column-gap: 8px;
	margin-bottom: 60px;
	max-width: 1394px;
}
.top-service_swiper_btn {
	display: flex;
	width: 64px;
	height: 64px;
	background-color: var(--color-white);
	border-radius: var(--radius-md);
	align-items: center;
	justify-content: center;
	font-size: 14px;
}
.top-service_swiper_btn-prev {}
.top-service_swiper_btn-next {}
.top-service_swiper_wrapper {
	display: flex;
	gap: 20px;
}
.top-service_swiper_slide {
	width: 485px;
	transition: none;
	height: auto;
	flex-shrink: 0;
}
.top-service_swiper_slide.is-active {
	width: 620px;
}
.top-service_swiper_slide > a {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.top-service_swiper_slide .u-title-highlight_main-white {
	background-color: var(--color-dark-blue);
	color: var(--color-white);
}
.top-service_link {
	width: 232px;
}
.top-service_link-solution {
	position: absolute;
	top: 200px;
	right: 40px;
	z-index: 2;
	width: auto;
}
.top-service_link-solution .u-button {
	display: inline-flex;
	width: auto;
}
.top-service_link-products {
	margin-left: auto;
	margin-top: 70px;
}
.top-service_swiperWrap {
	position: relative;
	padding-bottom: 0;
	box-sizing: border-box;
	margin-top: -64px;
}

/* ========================================
   トップ：私たちの強み — カウントアップ数値セクション
   ======================================== */
.top-strengths {
	position: relative;
	overflow: hidden;
	background-image: linear-gradient(293.92deg, var(--gradient-dark) -7.44%, var(--gradient-mid) 63.42%, var(--gradient-light) 127.78%);
	padding: 36px 0 50px;
	color: var(--color-white);
}
.top-strengths::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image:
		repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 1px, transparent 1px, transparent var(--bg-grid-size)),
		repeating-linear-gradient(90deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 1px, transparent 1px, transparent var(--bg-grid-size));
	background-size: var(--bg-grid-size) var(--bg-grid-size);
	pointer-events: none;
	z-index: 0;
}
.top-strengths_inner {
	position: relative;
	z-index: 1;
}
.top-strengths_heading {
	text-align: center;
	font-size: 32px;
	font-weight: 900;
	color: var(--color-white);
	margin-bottom: 40px;
}
.top-strengths .u-title_en_text,
.top-strengths .u-title_main,
.top-strengths .u-title_en_arrow {
	color: var(--color-white);
}
.top-strengths_numbers {
	display: flex;
	justify-content: center;
	column-gap: 80px;
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.top-strengths_numbers[data-animation="before"] {
	opacity: 0;
	transform: translateY(30px);
}
.top-strengths_numbers[data-animation="after"] {
	opacity: 1;
	transform: translateY(0);
}
.top-strengths_number {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.top-strengths_number + .top-strengths_number {
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	padding-left: 80px;
}
.top-strengths_number_row {
	display: flex;
	align-items: baseline;
}
.top-strengths_number_value {
	font-family: var(--font-jetbranins);
	font-size: 72px;
	font-weight: 700;
	color: var(--color-white);
	line-height: 1.1;
}
.top-strengths_number_suffix {
	font-family: var(--font-jetbranins);
	font-size: 32px;
	font-weight: 700;
	color: var(--color-white);
	line-height: 1.1;
	display: inline;
	margin-left: 4px;
}
.top-strengths_number_label {
	font-size: 14px;
	font-weight: 600;
	color: var(--color-primary);
	margin-top: 12px;
	letter-spacing: 0.05em;
	background-color: var(--color-white);
	border-radius: 9999px;
	padding: 4px 16px;
}

/* ========================================
   トップ：メッセージ — 代表メッセージの2カラムレイアウト（テキスト＋画像）と放射グラデーション背景装飾
   ======================================== */
.top-message {
	position: relative;
	overflow: hidden;
}
.top-message_bg {
	width: 1150px;
	height: 1150px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
	border-radius: 50%;
	background-image: radial-gradient(circle, rgba(218, 240, 255, 1.0) 0%, rgba(218, 240, 255, 0.8) 20%, rgba(218, 240, 255, 0.4) 40%, rgba(218, 240, 255, 0.1) 60%, rgba(218, 240, 255, 0.0) 70%);
}
.top-message_bg-no1 {
	margin-left: -620px;
	margin-top: -130px;
	width: 889px;
	height: 889px;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 1.0) 0%, rgba(255, 255, 255, 0.8) 20%, rgba(255, 255, 255, 0.4) 40%, rgba(255, 255, 255, 0.1) 60%, rgba(255, 255, 255, 0.0) 70%);
}
.top-message_bg-no2 {
	width: 861px;
	height: 861px;
	margin-top: 110px;
	margin-left: -70px;
	z-index: 1;
	background-image: radial-gradient(circle, rgba(233, 255, 137, 1.0) 0%, rgba(233, 255, 137, 0.8) 20%, rgba(233, 255, 137, 0.4) 40%, rgba(233, 255, 137, 0.1) 60%, rgba(233, 255, 137, 0.0) 70%);
}
.top-message_bg-no3 {
	margin-top: 170px;
	margin-left: 121px;
	background-image: radial-gradient(circle, rgba(201, 233, 255, 1.0) 0%, rgba(201, 233, 255, 0.8) 20%, rgba(201, 233, 255, 0.4) 40%, rgba(201, 233, 255, 0.1) 60%, rgba(201, 233, 255, 0.0) 70%);
}
.top-message_bg-no4 {
	margin-top: -110px;
	margin-left: 1230px;
	width: 1397px;
	height: 1397px;
	background-image: radial-gradient(circle, rgba(123, 194, 255, 1.0) 0%, rgba(123, 194, 255, 0.8) 20%, rgba(123, 194, 255, 0.4) 40%, rgba(123, 194, 255, 0.1) 60%, rgba(123, 194, 255, 0.0) 70%);
}
.top-message_bg-no5 {
	margin-top: 970px;
	width: 1397px;
	height: 1397px;
	margin-left: 50px;
	background-image: radial-gradient(circle, rgba(123, 211, 255, 1.0) 0%, rgba(123, 211, 255, 0.8) 20%, rgba(123, 211, 255, 0.4) 40%, rgba(123, 211, 255, 0.1) 60%, rgba(123, 211, 255, 0.0) 70%);
	opacity: .5;
}
.top-message_bg-no6 {
	margin-top: 630px;
	width: 1397px;
	height: 1397px;
	margin-left: -1021px;
	background-image: radial-gradient(circle, rgba(123, 211, 255, 1.0) 0%, rgba(123, 211, 255, 0.8) 20%, rgba(123, 211, 255, 0.4) 40%, rgba(123, 211, 255, 0.1) 60%, rgba(123, 211, 255, 0.0) 70%);
}
.top-message_inner {
	max-width: 1498px;
	position: relative;
	z-index: 4;
}
.top-message_cols {
	display: flex;
	column-gap: 40px;
}
.top-message_col {}
.top-message_col-txt {
	width: 730px;
	padding-top: 117px;
}
.top-message_title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 73px;
	white-space: nowrap;
}
.top-message_title_en {
	display: block;
	position: relative;
	font-family: var(--font-jetbranins);
	color: var(--color-blue);
	text-transform: uppercase;
	line-height: 1;
	padding-left: 0.9em;
	font-size: 25px;
	margin-bottom: 25px;
}
.top-message_title_en > .icon {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: left center;
	transform: scale(0.55);
}
.top-message_title_text {}
.top-message_title_main {
	display: block;
	font-size: 46px;
	font-weight: 600;
	line-height: 1.7;
}
.top-message_title_main_inner {
	background-color: var(--color-primary);
	color: var(--color-white);
}
.top-message_text {
	font-size: 26px;
	font-weight: 600;
	width: 100%;
	top: 0;
	left: 0;
	position: relative;
	z-index: 1;
}
.top-message_textWrap {
	margin-bottom: 2em;
	position: relative;
	transition: none;
}
.top-message_link {
	width: 232px;
	margin-top: 20px;
}
.top-message_textWrap:last-child {
	margin-bottom: 0;
}
.top-message_col-img {
	width: calc(100% - 730px);
	max-width: 658px;
	margin-left: auto;
}
.top-message_image {
	width: 875px;
}
.top-message_image > img {
	display: block;
	height: auto;
}

/* ========================================
   固定セクションナビ — 画面右下に固定表示されるフローティングナビ（カード型リンク＋閉じるボタン）
   ======================================== */
.sticky-section-nav {
	position: fixed;
	z-index: 999;
	bottom: 20px;
	right: 20px;
	transition-duration: var(--transition-base);
	transition-property: opacity, visibility;
}
.sticky-section-nav.is-hidden {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.sticky-section-nav_body {
	box-shadow: 0px 2.30469px 23.0469px rgba(0, 47, 117, 0.15);
	border: 1px solid #C1E1FF;
	background-color: var(--color-white);
	border-radius: var(--radius-lg);
}
.sticky-section-nav_body_inner {
	padding: 5px 5px 7px;
}
.sticky-section-nav > a {
	text-decoration: none;
	color: inherit;
}
.sticky-section-nav_image {
	position: relative;
	overflow: hidden;
}
.sticky-section-nav_image > img {
	display: block;
	transition-duration: var(--transition-base);
	transition-property: transform;
}
.sticky-section-nav_text {
	display: flex;
	align-items: center;
	line-height: 22px;
	justify-content: space-between;
	margin-top: 8px;
	padding: 0 7px;
	font-size: 14px;
	font-weight: 500;
}
.sticky-section-nav_arrow {
	width: 22px;
	height: 22px;
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	font-size: 8px;
	border: 1px solid rgba(4, 55, 111, 0.20);
	border-radius: var(--radius-sm);
}

/* ========================================
   ヒーロー外枠 — ヒーローセクション全体のラッパー（背景透過・overflow:hidden）
   ======================================== */
.hero-wrap {
	background-color: transparent;
	position: relative;
	overflow: hidden;
}
.hero-ticker {
	top: 70%;
}

/* ========================================
   ヒーローセクション — メインビジュアル（タイトルグラデーションアニメ・装飾ライン・スクロールインジケーター・Lottie画像）
   ======================================== */
.hero {
	position: relative;
	margin-bottom: 54px;
	caret-color: rgba(255, 255, 255, 0);
}
.hero_bg {
	width: 1150px;
	height: 1150px;
	border-radius: 50%;
	position: absolute;
	z-index: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: radial-gradient(circle, rgba(123, 194, 255, 1.0) 0%, rgba(123, 194, 255, 0.8) 20%, rgba(123, 194, 255, 0.4) 40%, rgba(123, 194, 255, 0.1) 60%, rgba(123, 194, 255, 0.0) 70%);
}
.hero_bg-no1 {
	margin-top: -750px;
	margin-left: 50px;
}
.hero_bg-no2 {
	margin-top: -310px;
	margin-left: 1000px;
	width: 883px;
	height: 883px;
}
.hero_bg-no3 {
	margin-left: 530px;
	margin-top: 60px;
	background-image: radial-gradient(circle, rgba(218, 240, 255, 1.0) 0%, rgba(218, 240, 255, 0.8) 20%, rgba(218, 240, 255, 0.4) 40%, rgba(218, 240, 255, 0.1) 60%, rgba(218, 240, 255, 0.0) 70%);
}
.hero_bg-no4 {
	margin-left: 810px;
	margin-top: 430px;
	width: 991px;
	height: 991px;
}
.hero_bg-no5 {
	margin-left: -1180px;
	margin-top: 410px;
	width: 1397px;
	height: 1397px;
}
.hero_line {
	position: absolute;
	z-index: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-53deg);
	margin-left: 175px;
	margin-top: -135px;
	width: 0;
	height: 0;
	z-index: 2;
	opacity: 0;
	transition-duration: 1s;
	transition-property: opacity;
}
.hero_line.is-show {
	opacity: 1;
}
.hero_line_vertical {
	width: 4px;
	position: absolute;
	height: 200vh;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1, 0);
	transition-duration: 1s;
	transition-delay: .3s;
	transition-property: transform;
}
.hero_line.is-show .hero_line_vertical {
	transform: translate(-50%, -50%) scale(1, 1);
}
.hero_line_vertical_up {}
.hero_line_item {
	background-image: linear-gradient(to bottom, #0073FF, #FEFFEC, #F9FF43, #FEFFEC, #0073FF);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: 0 0;
	animation-name: lineGradientVertical;
	animation-iteration-count: infinite;
	animation-fill-mode: backwards;
	animation-duration: 5s;
	background-repeat: repeat;
	background-size: 100% 200%;
}
.hero_line_item-vUp {}
.hero_line_vertical_down {}
.hero_line_item-vDown {}
.hero_line_horizontal {
	width: 100vw;
	height: 4px;
	position: absolute;
	top: 50%;
	right: 0;
	transform-origin: right top;
	transform: rotate(17.1deg) scale(0, 1);
	transition-duration: 1s;
	transition-delay: .3s;
	transition-property: transform;
}
.hero_line.is-show .hero_line_horizontal {
	transform: rotate(17.1deg) scale(1, 1);
}
.hero_line_item-h {
	background-image: linear-gradient(to left, #0073FF, #FEFFEC, #F9FF43, #FEFFEC, #0073FF);
	animation-name: lineGradientHorizon;
	background-size: 200% 100%;
	animation-direction: reverse;
}
.hero_deco {
	font-size: 160px;
	line-height: 1;
	font-weight: 500;
	font-family: var(--font-jetbranins);
	white-space: nowrap;
	text-transform: uppercase;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-36deg);
	z-index: 1;
	margin-left: 361px;
	margin-top: -105px;
	letter-spacing: -0.1em;
	color: rgba(255, 255, 255, 0.70);
	opacity: 0;
	transition-duration: 1s;
	transition-property: opacity;
}
.hero_deco.is-show {
	opacity: 1;
}
.hero_inner {
	max-width: 1760px;
	position: relative;
	z-index: 4;
	height: 100vh;
	display: flex;
	align-items: center;
	min-height: 750px;
}
.hero_cols {
	display: flex;
	max-width: 1656px;
	width: 100%;
	margin-top: -60px;
}
.hero_col {}
.hero_col-txt {
	width: 720px;
}
.hero_title {
	font-size: 85px;
	font-weight: 900;
	line-height: 1.35;
	white-space: nowrap;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-accent) 25%, var(--color-primary) 50%, var(--color-accent) 75%, var(--color-primary) 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: textGradient 4s ease-in-out infinite;
}
@keyframes textGradient {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}
.hero_title_strong {
	font-size: 75px;
	font-weight: inherit;
	display: flex;
}
.hero_catch {
	font-size: clamp(12px, 1.5vw, 23px);
	font-weight: 500;
	font-family: var(--font-gothic);
	color: var(--color-blue);
	margin-top: 1.8em;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.47826087;
}
.hero_catch_inner {
	margin-top: 0.5em;
	position: relative;
	padding: 0 5px;
}
.hero_catch_inner::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-white);
	transform-origin: left top;
	transform: scale(0, 1);
	transition-duration: var(--transition-base);
	transition-property: transform;
}
.hero_catch_inner.is-show::before {
	transform: scale(1, 1);
}
.hero_catch_inner:first-child {
	margin-top: 0;
}
.hero_scroll {
	position: absolute;
	right: 30px;
	bottom: 60px;
	font-size: 14px;
	font-family: var(--font-jetbranins);
	color: var(--color-blue);
	line-height: 1;
	display: flex;
	column-gap: 7px;
	opacity: 1;
	transition-duration: 1s;
	transition-property: opacity;
}
.hero_scroll.is-show {
	opacity: 1;
}
.hero_scroll_bar {
	width: 1px;
	height: 201px;
	display: block;
	background-color: rgba(26, 115, 240, 0.50);
	position: relative;
}
.hero_scroll_bar_item {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 150%;
	height: 100%;
	background-color: var(--color-blue);
	animation-name: scrollDown;
	animation-duration: 3s;
	animation-fill-mode: backwards;
	animation-iteration-count: infinite;
}
.hero_scroll_text {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	display: block;
	line-height: 1;
	white-space: nowrap;
}
.hero_col-img {
	margin-left: 0;
	width: calc(100% - 720px);
	max-width: 1600px;
	overflow: visible;
	position: relative;
}
.hero_charas {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.hero_chara {
	display: block;
	position: relative;
}
.hero_chara_note {
	position: absolute;
	right: 15%;
	bottom: 200px;
	writing-mode: vertical-rl;
	font-size: 11px;
	color: var(--color-primary);
	letter-spacing: 0.1em;
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.6s ease;
}
.hero_chara_note.is-show {
	opacity: 1;
}
.hero_chara-doctor {
	width: 30%;
	z-index: 1;
	margin-bottom: -60px;
	opacity: 0;
	transform: translateX(-100px);
}
.hero_chara-doctor.is-animated {
	animation: float 3s ease-in-out infinite;
}
@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
.hero_chara-assistant {
	width: 45%;
	z-index: 2;
	margin-left: -10%;
	margin-bottom: -130px;
	transform-origin: center bottom;
	opacity: 0;
	transform: translateX(100px);
}
.hero_chara-assistant.is-animated {
	animation: bounce 2s ease infinite;
}
@keyframes bounce {
	0%, 20%, 53%, 100% { transform: translateY(0); }
	40% { transform: translateY(-100px); }
	43% { transform: translateY(-100px); }
	70% { transform: translateY(-25px); }
	80% { transform: translateY(0); }
	90% { transform: translateY(-6px); }
}
/* Lottie用（イラストに置き換え済み）
.hero_col-img dotlottie-wc {
	display: block;
	width: 180%;
	position: absolute;
	left: -30%;
	top: calc(-30% + 40px);
	transform: scaleX(-1);
} */
.hero_image {
	opacity: 0;
	transition-duration: 1s;
	transition-property: opacity;
}
.hero_image.is-show {
	opacity: 1;
}
.hero_image > img {
	display: block;
}
.sticky-section-nav_btn {
	width: 22px;
	height: 22px;
	background-color: var(--color-dark-blue);
	color: var(--color-white);
	border-radius: 50%;
	position: absolute;
	top: -5px;
	right: -5px;
	z-index: 10;
	border: 1px solid var(--color-dark-blue);
	box-sizing: border-box;
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
}
.sticky-section-nav_btn::before {
	content: "";
	display: block;
	width: 9px;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
.sticky-section-nav_btn::after {
	content: "";
	display: block;
	width: 9px;
	height: 1px;
	background-color: currentColor;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}
.top-company_list_img {
	display: none;
}
.top-company_list_img > img {}

/* ========================================
   トップ：事業紹介 — 事業紹介セクション（グラデーション背景・sticky縦スクロールアニメーション・装飾テキスト）
   ======================================== */
.top-business {
	background-image: linear-gradient(115deg, var(--gradient-dark) 1.65%, var(--gradient-mid) 68.34%, var(--gradient-light) 128.91%);
	height: calc(500vh);
	position: relative;
}
.top-business_contents {
	padding: 170px 0 61px;
	color: var(--color-white);
	position: sticky;
	z-index: 1;
	overflow: hidden;
	top: 0;
	left: 0;
	min-height: 100vh;
	box-sizing: border-box;
}
.top-business_textWrap {
	display: none;
}
.top-business_inner {
	max-width: 1493px;
}
.top-business_title {
	color: inherit;
	margin: 0;
}
.top-business_canvas {
	color: var(--color-dark-blue);
	max-width: 700px;
	margin: 0 auto;
}
.top-business_canvas_inner {}
.top-business_deco {
	font-weight: 500;
	font-size: 180px;
	line-height: .9;
	letter-spacing: -0.1em;
	text-transform: uppercase;
	font-family: var(--font-jetbranins);
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.15);
	margin-top: -197px;
}
.top-product-cat_cm {
	background-color: rgba(255, 255, 255, 0.60);
	border-radius: var(--radius-sm);
	box-shadow: 0px 0px 15px rgba(26, 115, 240, 0.15);
	padding: 20px 20px;
}
.top-product-cat_cm_cols {
	display: flex;
	max-width: 1170px;
	align-items: center;
}
.top-product-cat_cm_col {
	width: 53%;
}
.top-product-cat_cm_col-img {
	max-width: 620px;
}
.top-product-cat_cm_image {
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.top-product-cat_cm_image > img {
	display: block;
}
.top-product-cat_cm_col-no2 {
	margin-left: auto;
	max-width: 490px;
	width: 43%;
}
.top-product-cat_cm_text {}
.top-product-cat_cm_link {
	max-width: 232px;
	margin-top: 40px;
}
.top-product-cat_cm_link > a {
	font-family: var(--font-gothic);
}
.top-service_pickSwiper {
	display: none;
}
.top-service_pickSwiper_wrapper {}
.top-service_pickSwiper_slide {}
.top-service_pickup {}
.top-service_swiper_pagination {
	display: none;
}

/* ========================================
   トップ：お客様の声（VOICE）
   ======================================== */
.top-voice {
	margin-top: 70px;
	position: relative;
	z-index: 1;
}
.top-voice_header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0 10px;
	margin-bottom: 40px;
	line-height: 1.5;
	font-weight: bold;
}
.top-voice_header_icon {
	font-size: 24px;
	color: var(--color-dark-blue);
}
.top-voice_header_ja {
	font-size: 32px;
	color: var(--color-dark-blue);
}
.top-voice_header_en {
	font-size: 14px;
	font-family: var(--font-jetbranins);
	color: var(--color-blue);
	font-weight: 500;
	width: 100%;
	text-align: center;
}
.top-service_link-voice {
	text-align: right;
	max-width: 100%;
	margin: 30px 0 0;
}
.top-service_link-voice .u-button {
	display: inline-flex;
	width: auto;
}
.top-voice_cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 24px;
	row-gap: 24px;
	max-width: 100%;
	margin: 0;
}
.top-voice_card {
	display: flex;
	flex-direction: column;
	background-color: var(--color-white);
	border-radius: var(--radius-sm);
	box-shadow: 0 0 15px 0 rgba(26, 115, 240, 0.15);
	padding: 28px 30px;
	box-sizing: border-box;
}
.top-voice_rating {
	display: flex;
	align-items: center;
	gap: 3px;
	margin-bottom: 12px;
	color: #f5a623;
	font-size: 16px;
}
.top-voice_rating_num {
	font-size: 20px;
	font-weight: bold;
	color: var(--color-dark-blue);
	margin-left: 6px;
}
.top-voice_rating_label {
	font-size: 12px;
	color: #999;
	margin-right: 6px;
}
.top-voice_card_title {
	font-size: 16px;
	font-weight: bold;
	color: var(--color-dark-blue);
	margin-bottom: 10px;
	line-height: 1.6;
}
.top-voice_card_body {
	display: flex;
	flex-direction: row-reverse;
	gap: 20px;
	align-items: flex-start;
}
.top-voice_card_text {
	font-size: 13px;
	line-height: 1.8;
	color: #555;
	flex: 1;
	min-width: 0;
}
.top-voice_card_author {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	width: 90px;
}
.top-voice_avatar {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background-color: #d0d8e0;
	flex-shrink: 0;
}
.top-voice_card_author_name {
	font-size: 11px;
	color: #666;
	text-align: center;
	line-height: 1.4;
}
.top-voice_card_tags {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin-top: auto;
	flex-wrap: wrap;
}
.top-voice_tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	line-height: 1;
	padding: 5px 12px;
	border-radius: 5px;
	background-color: var(--color-blue);
	color: #fff;
	white-space: nowrap;
	text-decoration: none;
	transition: opacity 0.3s;
}
.top-voice_tag:hover {
	opacity: 0.8;
}
.top-voice_tag > i {
	font-size: 9px;
}

/* ========================================
   トップ：背景画像セクション（渋谷）
   ======================================== */
.top-cityscape {
	height: 300px;
	background: url('../img/home/shibuya.jpg') center 80% / cover no-repeat;
	position: relative;
}
.top-cityscape::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(1, 51, 132, 0.3);
}

.top-event_bg_image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top-recruit_swiper {
	margin-right: 0;
	margin-left: auto;
	box-sizing: border-box;
	padding-right: 40px;
	transform: rotate(3.9deg);
}
.top-recruit_swiper_wrapper {
	width: calc(100% - 50px);
}
.top-recruit_swiper_slide {
	border-radius: var(--radius-lg);
	overflow: hidden;
	max-width: 555px;
}
.top-recruit_swiper .top-recruit_swiper_pagination {
	position: absolute;
	top: 0;
	height: 100%;
	bottom: auto;
	right: 0;
	flex-direction: column;
	left: auto;
	margin: 0;
	width: auto;
	transform: rotate(-3.9deg);
}
.top-recruit_swiper_image {}
.top-recruit_swiper_image > img {
	width: 100%;
	height: auto;
}
.top-company_deco_inner {
	display: block;
}
.top-company_deco_inner-top {
	margin-right: -200px;
}
.top-company_deco_inner-bottom {
	margin-left: -234px;
}
.hero_title_row {
	display: flex;
	align-items: flex-end;
}
.hero_title_row-last {
	margin-top: 0.14em;
}
.hero_title_caret {
	display: block;
	width: 1px;
	height: 75px;
	background-color: var(--color-dark-blue);
	align-self: center;
	animation-name: caret;
	animation-duration: 0.5s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-timing-function: steps(2);
	display: none;
}
.hero_title_caret.is-show {
	display: block;
}
.hero_title_row_char {
	display: flex;
}
.hero_title_row_char-last {
	padding-bottom: 0.15em;
}
.hero_title_caret-large {
	height: 120px;
}
.hero_catch_char {
	display: block;
	position: relative;
	white-space: nowrap;
	z-index: 1;
	opacity: 0;
	transition-duration: var(--transition-base);
	transition-property: opacity;
}
.hero_catch_inner.is-show .hero_catch_char {
	opacity: 1;
}
.hero_scrollWrap {
	position: absolute;
	z-index: 10;
	bottom: 0;
	left: 0;
	width: 100%;
}
.hero_scrollWrap_inner {
	max-width: 1760px;
}
.hero_title_chars {}
.top-business_number {
	font-size: 230px;
	font-family: var(--font-jetbranins);
	line-height: 1;
	color: rgba(255, 255, 255, 0.15);
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: right;
	transform: translateY(-50%);
}
.top-business_number_inner {
	max-width: 1750px;
}
.top-business_number_text {}
.top-business_areaText {
	display: flex;
	justify-content: flex-end;
	margin-top: -131px;
}
.top-business_areaText_inner {}
.top-business_text {
	margin-bottom: 50px;
}
.top-business_link {
	max-width: 232px;
}
.top-business_trigger {
	position: absolute;
	top: 0;
	height: 1px;
	width: 100%;
	z-index: 10;
	height: 1px;
	z-index: 100;
	pointer-events: none;
}
.top-business_trigger-no1 {
	top: 20%;
}
.top-business_trigger-no2 {
	top: 40%;
}
.top-business_trigger-no3 {
	top: 60%;
}
.top-business_trigger-no4 {
	top: 80%;
}
.top-business_trigger-sp {
	display: none;
}
.top-business_trigger-pc {}
.top-business_container {}
.top-business_container_body {}
.top-business_deco_inner {
	display: block;
	margin-left: -130px;
}
.form_label-free {
	min-height: 0;
	margin-bottom: 5px;
	margin-top: 30px;
}
.form_label-free:first-child {
	margin-top: 0;
}
.form_caution {
	font-size: 14px;
}
.form_box-free {
	margin-top: 0;
}
.form-free {
	margin: 30px 0;
}
.business_circle {
	position: absolute;
	top: -210px;
	left: 0;
	width: 100%;
	overflow: hidden;
	height: 800px;
	z-index: -1;
}
.business_circle_item {
	position: absolute;
	width: 800px;
	height: 800px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(193, 220, 251, 1.0) 0%, rgba(193, 220, 251, 0.8) 20%, rgba(193, 220, 251, 0.4) 40%, rgba(193, 220, 251, 0.1) 60%, rgba(193, 220, 251, 0.0) 70%);
	transform: translateX(-50%);
	left: 50%;
	z-index: 0;
	top: 0;
	margin-left: 520px;
	opacity: 0.5;
}

/* ========================================
   トップ：固定ラベル — 画面右端に固定表示される縦書きラベル（スクロール追従）
   ======================================== */
.top-fix-label {
	position: fixed;
	z-index: 100;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--font-jetbranins);
	line-height: 1;
	font-size: 14px;
	font-weight: 500;
	display: flex;
	flex-direction: column;
	row-gap: 0.5em;
	transition-duration: var(--transition-base);
	transition-property: background-color, color;
}
.top-fix-label[data-color="white"] {
	color: var(--color-white);
}
.top-fix-label_bracket {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	display: block;
	line-height: 1;
	white-space: nowrap;
}
.top-fix-label_bracket-first {}
.top-fix-label_text {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	display: block;
	line-height: 1;
	white-space: nowrap;
}
.top-fix-label_bracket-last {}
.top-message_text-shadow {
	position: absolute;
	z-index: 2;
	color: #c2c2c2;
}
.top-message_text_inner {
	mask-image: linear-gradient(to right, rgba(255, 255, 255, 0.0) 50%, #fff 50%);
	mask-size: 200% 100%;
	mask-position: -100% 0;
	transition-delay: .3s;
	transition-duration: 1s;
	transition-property: mask-position;
}
[data-animation="after"] .top-message_text-shadow .top-message_text_inner {
	mask-position: -200% 0;
}
/* .top-service_swiper_slide.isHover {
	width: 610px;
} */
.top-product-cat_caution {
	font-size: 14px;
	text-align: center;
	color: rgba(4, 55, 111, 0.70);
	margin-top: 15px;
}
.strength_cell-mb {
	margin-bottom: 120px;
}
.about-think_mainImage_cols {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.about-think_mainImage_col {}
.about-think_mainImage_col-main {
	width: 54.80%;
}
.about-think_mainImage_image {}
.about-think_mainImage_image > img {
	display: block;
}
.about-think_mainImage_col-sign {
	width: 5.426%;
}
.about-think_mainImage_sign {
	border: 4px solid var(--color-blue);
	border-left: none;
	border-right: none;
	height: 26px;
	box-sizing: border-box;
}
.about-think_mainImage_col-logo {
	width: 30.2%;
}
.about-think_mainImage_logo {}
.about-think_mainImage_logo > img {
	display: block;
}
.top-business_deco-sp {
	display: none;
}
.business_lead {
	font-size: 18px;
	line-height: 2;
	margin-bottom: 40px;
}
.business_text {
	margin-top: 10px;
	margin-bottom: 2em;
}
.business_text:last-child {
	margin-bottom: 0;
}
.business_text.is-clamped {
	overflow: hidden;
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.business_text.is-clamped.is-open {
	display: block;
	-webkit-line-clamp: unset;
}
.business_text_more {
	display: block;
	background: none;
	border: none;
	color: var(--color-blue);
	font-size: 14px;
	cursor: pointer;
	padding: 4px 0;
	margin-top: 2px;
	text-align: right;
	width: 100%;
	margin-bottom: 2em;
}
.business-overview_header {
	margin-top: 80px;
	margin-bottom: 0;
}
.business-closing_imgWrap {
	position: relative;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.business-closing_img {
	display: block;
	width: 100%;
}
.business-closing_orbit {
	position: absolute;
	top: 40%;
	left: 50%;
	margin-top: -50px;
	margin-left: -50px;
	width: 100px;
	height: 100px;
	z-index: 1;
	animation: closingOrbit 8s linear infinite;
	pointer-events: none;
}
.business-closing_orbit img {
	display: block;
	width: 100%;
	height: auto;
}
@keyframes closingOrbit {
	0% { transform: rotate(0deg) translateX(clamp(80px, 14vw, 170px)) rotate(90deg); }
	100% { transform: rotate(360deg) translateX(clamp(80px, 14vw, 170px)) rotate(90deg); }
}
.business-closing_text {
	text-align: center;
	font-size: 32px;
	font-weight: bold;
	margin-top: 40px;
	line-height: 1.8;
}
.business-closing_sub {
	text-align: center;
	font-size: 16px;
	margin-top: 20px;
	line-height: 1.8;
}
/* --- 強みヘッダー2カラム --- */
.strengths-header {
	display: flex;
	gap: 40px;
	align-items: center;
}
.strengths-header_txt {
	flex: 1;
}
.strengths-header_img {
	flex-shrink: 0;
	width: 40%;
}
.strengths-header_img > img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 767px) {
	.strengths-header {
		flex-direction: column;
	}
	.strengths-header_img {
		width: 100%;
	}
}
/* --- /強みヘッダー2カラム --- */

/* --- 強み見出しバッジ --- */
.strengths-headline {
	margin-bottom: 20px;
}
.strengths-headline_inner {
	display: inline;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 22px;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 2px;
}
/* --- /強み見出しバッジ --- */

/* --- 強み3カラムカード --- */
.strengths-cards {
	display: flex;
	gap: 30px;
	margin: 20px 0 0;
}
.strengths-cards_item {
	flex: 1;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
	overflow: hidden;
	display: flex;
	flex-direction: row;
	gap: 0;
}
.strengths-cards_img {
	flex-shrink: 0;
	width: 40%;
}
.strengths-cards_img > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.strengths-cards_body {
	flex: 1;
	padding: 24px;
	display: flex;
	flex-direction: column;
}
.strengths-cards_title {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 12px;
	color: var(--color-primary);
}
.strengths-cards_text {
	font-size: 14px;
	line-height: 1.8;
	color: #333;
	margin-bottom: 30px;
}
.strengths-cards_link {
	text-align: right;
	margin-top: auto;
}
@media screen and (max-width: 1099px) {
	.strengths-cards_item {
		flex-direction: column;
	}
	.strengths-cards_img {
		width: 100%;
	}
	.strengths-cards_img > img {
		height: auto;
	}
}
@media screen and (max-width: 767px) {
	.strengths-cards {
		flex-direction: column;
		gap: 40px;
	}
	.strengths-cards_title {
		text-align: center;
	}
}
/* --- /強み3カラムカード --- */

.business-cards {
	display: flex;
	gap: 30px;
	max-width: 960px;
	margin: 40px auto 0;
}
.business-cards_item {
	flex: 1;
	background: #fff;
	border-radius: 12px;
	padding: 32px 28px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}
.business-cards_item:first-child {
	background: #d5e6f3;
	border: 3px solid #3378bb;
}
.business-cards_item:first-child .business-cards_title {
	color: #3378bb;
}
.business-cards_item:first-child .u-button {
	background: #3378bb;
	border-color: #3378bb;
	color: #fff;
}
.business-cards_item:first-child .u-button_arrow {
	background-color: #fff;
	color: #3378bb;
}
.business-cards_item:first-child .u-button:hover {
	background: #fff;
	border-color: #3378bb;
	color: #3378bb;
}
.business-cards_item:first-child .u-button:hover .u-button_arrow {
	background-color: #3378bb;
	color: #fff;
}
.business-cards_item:last-child {
	background: #d5eddf;
	border: 3px solid #389167;
}
.business-cards_item:last-child .business-cards_title {
	color: #389167;
}
.business-cards_item:last-child .u-button {
	background: #389167;
	border-color: #389167;
	color: #fff;
}
.business-cards_item:last-child .u-button_arrow {
	background-color: #fff;
	color: #389167;
}
.business-cards_item:last-child .u-button:hover {
	background: #fff;
	border-color: #389167;
	color: #389167;
}
.business-cards_item:last-child .u-button:hover .u-button_arrow {
	background-color: #389167;
	color: #fff;
}
.business-cards_icon {
	text-align: center;
	margin-bottom: 12px;
}
.business-cards_icon img {
	width: 100px;
	height: auto;
}
.business-cards_title {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 12px;
	text-align: center;
}
.business-cards_text {
	font-size: 14px;
	line-height: 1.8;
	margin-bottom: 20px;
	color: #333;
}
.business-cards_link {
	text-align: center;
}
.priv_subhead {
	font-size: 20px;
	font-weight: bold;
}
.solution-outline_box_hr {
	display: block;
	height: 1px;
	background-color: var(--color-border-light);
	margin: 30px 0;
}
.solution-outline_box_figs {
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
	display: grid;
}
.solution-outline_box_figs_cell {}
.solution-outline_box_fig {}
.solution-outline_box_fig > img {
	display: block;
}
.solution-outline_box_fig > figcaption {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	margin-top: 26px;
}
.solution-outline_box_text {
	font-size: 14px;
	font-weight: 500;
	margin-top: 15px;
}
.strength_app {}
.strength_app_subhead {}
.strength_app_image {}
.strength_app_image > img {
	display: block;
}

/* ========================================
   キーDX — DX推進の2カラムグリッドレイアウト（タイトルバー・画像・矢印付きカード）
   ======================================== */
.key-dx {
	margin-top: 38px;
}
.key-dx_cols {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 40px;
}
.key-dx_col {}
.key-dx_col-no1 {}
.key-dx_title {
	height: 40px;
	background-color: var(--color-blue);
	color: var(--color-white);
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	margin-left: -20px;
	margin-right: -20px;
}
.key-dx_item {
	border: 2px solid var(--color-blue);
	border-radius: var(--radius-sm);
	overflow: hidden;
	padding: 0 20px 26px;
}
.key-dx_image {
	max-width: 479px;
	margin: 23px auto 0;
}
.key-dx_image > img {
	display: block;
}
.key-dx_arrow {
	max-width: 20px;
	margin: 15px auto 0;
}
.key-dx_arrow > img {
	display: block;
}
.key-dx_col-no2 {}
.key-dx_subhead {
	background-color: #BAD5FA;
	display: flex;
	height: 60px;
	border-radius: var(--radius-sm);
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 26px;
	font-weight: 600;
	margin-top: 15px;
}
.key-dx_imageLine {
	margin-top: 35px;
}
.key-dx_imageLine > img {
	display: block;
}
.key-dx_imageDevice {
	max-width: 707px;
	margin: 60px auto 0;
}
.key-dx_imageDevice > img {
	display: block;
}
.strength_figs {
	display: flex;
	justify-content: space-between;
	margin-top: 41px;
}
.strength_figs_item {
	width: 48.5%;
	max-width: 617px;
}
.strength_figs_item > img {
	display: block;
}
.strength_logo {
	margin-top: 30px;
}
.strength_logo > img {
	display: block;
}
.strength_image {
	margin-top: 40px;
}
.strength_image > img {
	display: block;
}

/* ========================================
   アドオンシステム — タイトルバー付き3カラムグリッドで機能一覧を表示するコンポーネント
   ======================================== */
.addon-system {
	margin-top: 40px;
}
.addon-system_title {
	background-color: #BAD5FA;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
}
.addon-system_box {
	background-color: var(--color-white);
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 48px 30px;
}
.addon-system_inner {
	max-width: 1170px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
	position: relative;
	overflow: hidden;
	row-gap: 40px;
}
.addon-system_cell {
	position: relative;
}
.addon-system_cell:nth-child(n + 4) {
	padding-top: 40px;
}
.addon-system_cell:nth-child(3n + 1)::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1400px;
	height: 1px;
	background-color: var(--color-light-gray);
}
.addon-system_cell:first-child::before {
	display: none;
}
.addon-system_headline {
	font-size: 20px;
	margin-bottom: 27px;
}
.addon-system_headline_main {
	color: var(--color-blue);
}
.addon-system_list {
	list-style: none;
}
.addon-system_list > li {}
.addon-system_list > li:nth-child(n + 2) {
	margin-top: 9px;
}

/* ========================================
   TPICSデータ — キャプション付きデータテーブル（thead/tbody構成の仕様一覧表）
   ======================================== */
.tpics-data {
	margin-top: 39px;
}
.tpics-data_caution {
	display: none;
}
.tpics-data_tableWrap {}
.tpics-data_tableWrap_contents {}
.tpics-data_table {
	width: 100%;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.6;
}
.tpics-data_table > caption {
	background-color: #BAD5FA;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	font-size: 20px;
	font-weight: 600;
	line-height: 60px;
}
.tpics-data_table > thead {}
.tpics-data_table > thead > tr {}
.tpics-data_table > thead > tr > th {
	white-space: nowrap;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-weight: bold;
	border: 1px solid #ddd;
	height: 40px;
	box-sizing: border-box;
	border-top: none;
	padding: 0 5px;
}
.tpics-data_table > thead > tr > td {}
.tpics-data_table > tbody {}
.tpics-data_table > tbody > tr {}
.tpics-data_table > tbody > tr > th {
	white-space: nowrap;
	height: 41px;
	background-color: var(--color-white);
	border: 1px solid #dddd;
	box-sizing: border-box;
	font-weight: normal;
	vertical-align: middle;
	width: 87px;
	padding: 5px 5px;
}
.tpics-data_table > tbody > tr > td {
	background-color: var(--color-white);
	border: 1px solid #ddd;
	text-align: center;
	vertical-align: middle;
	height: 41px;
	box-sizing: border-box;
	font-weight: normal;
	padding: 5px 5px;
}
.form_box_names {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
}
.form_box_names_cell {}

/* ################################################################
   #### レスポンシブ対応（メディアクエリ）
   #### 各画面幅に応じたレイアウト・フォントサイズの調整
   ################################################################ */

/* --- レスポンシブ: 1639px以下（ヒーローセクション vw対応） --- */
@media screen and (max-width:1639px) {
	.hero_title {
		font-size: 4.57vw;
	}
	.hero_col-txt {
		width: 39vw;
	}
	.hero_col-img {
		width: calc(61vw - 30px);
	}
	.hero_title_strong {
		font-size: 7.3vw;
	}
	.hero_catch {
		font-size: 1.4vw;
		margin-top: 2.86vw;
	}
	.hero_image > img {
		max-width: 100%;
		height: auto;
	}
	.hero_scroll {
		margin-top: 8.6vw;
	}
	.hero_deco {
		font-size: 9.762vw;
		margin-left: 22vw;
		margin-top: -6vw;
	}
	.hero_scroll_bar {
		height: 12.2vw;
	}
	.hero_title_caret {
		height: 4.57vw;
	}
	.hero_title_caret-large {
		height: 7.3vw;
	}
	.hero_bg {}
	.hero_bg-no1 {}
	.hero_bg-no2 {
		margin-left: 61vw;
	}
	.hero_bg-no3 {
		margin-left: 32.33vw;
	}
	.hero_bg-no4 {
		margin-left: 49.42vw;
	}
	.hero_bg-no5 {
		margin-left: -72vw;
	}
}

/* --- レスポンシブ: 1599px以下（numap・製品スライド調整） --- */
@media screen and (max-width:1599px) {
	.numap-about_title_en {
		font-size: 50px;
	}
	.top-service_swiper_slide {
		width: 400px;
	}
}

/* --- レスポンシブ: 1549px以下（イベント背景の角丸解除） --- */
@media screen and (max-width:1549px) {
	.top-event_bg {
		left: -35px;
		width: calc(100% + 70px);
		min-width: 0;
		border-radius: 0;
	}
}

/* --- レスポンシブ: 1499px以下（会社紹介カラム・ギャラリー幅調整） --- */
@media screen and (max-width:1499px) {
	.top-company_col-list {
		width: 600px;
	}
	.top-company_col-img {
		width: calc(100% - 600px);
	}
	.top-company_gallery {
		width: calc(100% + 35px);
		max-width: none;
		min-width: 0;
	}
}

/* --- レスポンシブ: 1399px以下（ツール紹介・ソリューション・ビジネスキャンバス縮小） --- */
@media screen and (max-width:1399px) {
	.tool-intro_col-txt {
		width: 560px;
	}
	.tool-intro_col-img {
		width: calc(100% - 590px);
	}
	.tool-intro_title {
		font-size: 34px;
	}
	.solution-visual_image {
		padding-bottom: 62.5%;
	}
	.numap-collab_image-no3 {}
	.business_canvas_inner {
		transform-origin: left top;
		transform: scale(0.85);
	}
	.business_canvas {
		height: 595px;
	}
	.business_catch {
		top: 570px;
	}
}

/* --- レスポンシブ: 1299px以下（自社開発・ソリューション・イベント・メッセージ・製品カラム調整） --- */
@media screen and (max-width:1299px) {
	.inhouse-item_areaTxt {
		padding: 20px 10px;
	}
	.inhouse-item_arrow {
		position: static;
		margin-left: auto;
		margin-top: 12px;
		transform: none;
	}
	.solution-item_cells {
		column-gap: 30px;
		row-gap: 60px;
	}
	.sitemap_cells {
		column-gap: 50px;
	}
	.solution-nav_swiper_item {
		width: 400px;
	}
	.business_canvas_inner {
		transform: scale(0.7);
	}
	.business_canvas {
		height: 490px;
	}
	.business_catch {
		font-size: 120px;
		top: 480px;
	}
	.business_catch_inner {
		margin-left: -910px;
	}
	.business_col-img {
		width: 490px;
	}
	.business_col-txt {
		width: calc(100% - 520px);
	}
	.top-event_col-txt {
		width: 380px;
	}
	.top-event_col-body {
		width: calc(100% - 380px);
	}
	.top-message_title_main {
		font-size: 45px;
	}
	.top-message_text {
		font-size: 22px;
	}
	.top-message_col-txt {
		width: 550px;
		padding-top: 60px;
	}
	.top-message_col-img {
		width: calc(100% - 550px);
	}
	.top-message_image {
		width: 700px;
	}
	.corp-message_text {
		font-size: 23px;
	}
	/* .top-service_swiper_slide.isHover {
		width: 500px;
	} */
	.contact-charImg--left {
		height: 40%;
	}
	.contact-charImg--right {
		height: 45%;
	}
}

/* --- レスポンシブ: 1199px以下（イベント詳細・企業紹介・numap・ビジネス・会社一覧調整） --- */
@media screen and (max-width:1199px) {
	.event-detail_col-img {}
	.event-detail_col-txt {}
	.event-item_title-large {
		font-size: 30px;
	}
	.about-item_navTtl {
		font-size: 20px;
	}
	.about-item_arrow-nav {
		width: 42px;
		height: 42px;
		right: 20px;
	}
	.numap-intro_gradBg {
		height: calc(100% - 60px);
	}
	.numap-intro_col-txt {
		padding-top: 36px;
	}
	.about-item_message_dummy-lowResInline {
		display: inline-block;
	}
	.business_headline {
		font-size: 36px;
	}
	.business-intro_title {
		font-size: 55px;
	}
	.business-intro_text {
		font-size: 20px;
	}
	.top-company_col-list {
		width: 460px;
	}
	.top-company_col-img {
		width: calc(100% - 460px);
	}
	.top-company_list_arrow {
		right: 20px;
	}
	.tpics-data_table {
		font-size: 14px;
	}
}

/* --- レスポンシブ: 1099px以下（企業紹介キャンバス・見出し縮小） --- */
@media screen and (max-width:1099px) {
	.about-intro_canvas {
		width: 1128px;
	}
	.business_headline {
		font-size: 32px;
	}
}

/* --- PC 高さ制限: 画面高1099px以下（ビジネスセクション・製品スライド縮小） --- */
@media screen and (min-width:1000px) and (max-height:1099px) {
	.top-business_contents {
		padding-top: 120px;
	}
	.top-business_areaText {
		margin-top: -107px;
	}
	.top-business_text {
		margin-bottom: 15px;
	}
	.top-business_deco {
		font-size: 150px;
	}
	.top-business_canvas_inner {
		transform: scale(0.8);
		transform-origin: left top;
	}
	.top-business_canvas {
		width: 560px;
		height: 560px;
	}
	.top-service_swiper_slide {
		width: 400px;
	}
}

/* --- PC 高さ制限: 画面高899px以下（ビジネスキャンバス・装飾テキスト縮小） --- */
@media screen and (min-width:1000px) and (max-height:899px) {
	.top-business_canvas_inner {
		transform: scale(0.65);
	}
	.top-business_canvas {
		width: 455px;
		height: 455px;
	}
	.top-business_deco {
		font-size: 130px;
	}
}

/* --- PC 高さ制限: 画面高751px以下（メッセージ・ヒーロー・ビジネス縮小） --- */
@media screen and (min-width:1000px) and (max-height:751px) {
	.top-message_text {
		font-size: 22px;
	}
	.top-message_title_main {
		font-size: 47px;
	}
	.top-message_title {
		margin-bottom: 50px;
	}
	.top-message {
		padding-bottom: 150px;
	}
	.hero_col-img {
		max-width: 750px;
	}
	.hero_scroll_bar {
		height: 130px;
	}
	.hero_scroll {
		font-size: 13px;
	}
	.top-business_canvas_inner {
		transform: scale(0.6);
	}
	.top-business_canvas {
		width: 420px;
		height: 420px;
	}
	.top-business_number {
		font-size: 180px;
	}
}

/* --- PC ホバー対応: マウス操作デバイス向けホバーエフェクト一覧 --- */
@media screen and (min-width:1000px) and (hover:hover) {
	.sticky-section-nav_btn:hover {
		background-color: var(--color-white);
		color: var(--color-dark-blue);
	}
	.top-recruit_list_btn:hover {
		background-color: var(--color-blue);
	}
	.top-company_list > li > a:hover {}
	a:hover .top-company_list_bg,
	a.is-active .top-company_list_bg {
		opacity: 1;
	}
	a:hover .top-company_list_main,
	a.is-active .top-company_list_main {
		background-color: var(--color-yellow);
	}
	.top-service_swiper_btn:hover {}
	.sticky-section-nav > a:hover {}
	a:hover .sticky-section-nav_image > img {
		transform: scale(1.05);
	}
	.business_list > li > a:hover {
		background-color: var(--color-blue);
		color: var(--color-white);
	}
	.numap-collab_link > a:hover::after {
		opacity: 1;
	}
	.about-intro_list_btn:hover .about-intro_list_btn_text {
		color: var(--color-white);
	}
	.about-intro_list_btn:hover {
		color: var(--color-blue);
	}
	.about-modal_btn:hover {
		background-color: var(--color-blue);
		color: var(--color-wi);
	}
	.about-modal_list > li > a:hover {
		background-color: var(--color-blue);
		color: var(--color-white);
	}
	.dispatch-career_dList > dd > a:hover {}
	.sitemap_title > a:hover {
		color: var(--color-blue);
	}
	.sitemap_list > li > a:hover {
		color: var(--color-blue);
	}
	.top-product-cat_card > a:hover {}
	.priv_tel > a:hover {}
	.priv_mail > a:hover {}
	.numap-dl-list > li > a:hover {
		background-color: #3a3a3a;
	}
	.numap-collab_link > a:hover {}
	.product-offer-alt_list > li > a:hover {}
	a:hover .product-offer-alt_logo {
		border-color: var(--color-blue);
	}
	.inhouse-item > a:hover {}
	a:hover .in-house_logo > img {
		transform: scale(1.05);
	}
	a:hover .inhouse-item_arrow {
		background-color: var(--color-dark-blue);
		color: var(--color-white);
		border-color: var(--color-dark-blue);
	}
	.strength-celf_link > a:hover {
		color: var(--color-blue);
	}
	.faq_title_btn:hover {
		color: var(--color-blue);
	}
	.corp_cell > a:hover {}
	a:hover .about-item_image > img {
		transform: scale(1.1);
	}
	a:hover .about-item_arrow {
		background-color: var(--color-dark-blue);
		color: var(--color-white);
	}
	.corp-nav_list > li > a:hover {}
	.section-nav > a:hover {}
	a:hover .section-nav_arrow {
		background-color: var(--color-dark-blue);
		border-color: var(--color-dark-blue);
		color: var(--color-white);
	}
	.event-item_cat > a:hover {}
	.event-nav_list > li > a:hover {}
	.area-event_list > li > a:hover {}
	a:hover .event-item_image {
		transform: scale(1.1);
	}
	.pager > .previouspostslink:hover {
		background-color: rgba(255, 255, 255, 0);
		color: var(--color-blue);
	}
	.pager > .nextpostslink:hover {
		background-color: rgba(255, 255, 255, 0);
		color: var(--color-blue);
	}
	.area-entry_cat > a:hover {}
	.entry_link > a:hover {}
	.pager > a:hover {
		background-color: var(--color-blue);
		color: var(--color-white);
		border-color: var(--color-blue);
	}
	.news_catList_item:hover {
		background-color: var(--color-white);
	}
	.news-list > li > a:hover {}
	a:hover .news-item::after {
		width: 100%;
		left: 0;
		right: auto;
	}
	.group-branch_tel > a:hover {}
	.group-branch_mail > a:hover {}
	.outline-company_list > li > a:hover {}
	.group-head_mail > a:hover {}
	.group-head_note > a:hover {}
	.solution-nav_btn:hover {}
	a:hover .video-item_image > img {
		transform: scale(1.05);
	}
	a:hover .video-item_subhead {
		color: var(--color-blue);
	}
	.audio-item_title > a:hover {
		color: var(--color-blue);
	}
}

/* ================================================================
   #### レスポンシブ: タブレット以下 (999px以下)
   #### 2カラム→1カラム化、フォントサイズ・余白の全体的な縮小
   #### 対象: 全ページ・全コンポーネント
   ================================================================ */
@media screen and (max-width:999px) {

	/* --- タブレット: 企業メッセージ・ワイド画像 --- */
	.corp-message {}
	.intro-wide-image {
		height: 420px;
		max-height: none;
		min-height: 0;
		margin-bottom: 60px;
	}
	.intro-wide-image-mbL {
		margin-bottom: 90px;
	}
	.intro-wide-image > img {}
	.corp-message_bgCircle {}
	.corp-message_areaTxt {
		padding-bottom: 100px;
	}
	.corp-message_inner {}
	.corp-message_title {}
	.corp-message_headline {}
	.corp-message_text {
		font-size: 22px;
		margin-bottom: 35px;
	}
	.corp-message_name {
		margin-top: 48px;
	}
	.corp-message_name_post {}
	.corp-message_name_main {}
	.corp-message_bgCircle-left {
		width: 543px;
		height: 543px;
	}
	.corp-message_bgCircle-right {
		width: 500px;
		height: 500px;
	}

	/* --- タブレット: 会社概要（概要・沿革・組織・パートナー） --- */
	.area-outline {}
	.outline-company {
		margin-bottom: 100px;
	}
	.outline-company_contents {}
	.outline-company_contents_inner {}
	.outline-company_cols {
		display: block;
	}
	.outline-company_col {
		width: auto;
	}
	.outline-company_col-ttl {
		margin-bottom: 40px;
	}
	.outline-company_title {}
	.outline-company_col-txt {}
	.outline-company_areaTbl {}
	.outline-company_table {}
	.outline-company_table > tbody {}
	.outline-company_table > tbody > tr {}
	.outline-company_table > tbody > tr > th {}
	.outline-company_table > tbody > tr > td {}
	.outline-company_list {}
	.outline-company_list > li {}
	.outline-company_list > li > a {}
	.outline-company_cTbl {}
	.outline-company_cTbl > tbody {}
	.outline-company_cTbl > tbody > tr {}
	.outline-company_cTbl > tbody > tr > th {}
	.outline-company_cTbl > tbody > tr > td {}
	.outline-company_tblTxt {}
	.outline-company_tblTxt_note {}
	.outline-history {
		margin-bottom: 90px;
	}
	.outline-history_contents {
		padding-top: 80px;
		padding-bottom: 110px;
	}
	.outline-history_contents_inner {}
	.outline-history_title {}
	.outline-history_areaTxt {
		padding: 50px 25px;
	}
	.outline-history_areaTxt_inner {}
	.outline-history_table {}
	.outline-history_table > tbody {}
	.outline-history_table > tbody > tr {}
	.outline-history_table > tbody > tr > th {}
	.outline-history_table > tbody > tr > td {}
	.outline-organization {
		margin-bottom: 90px;
	}
	.outline-organization_contents {}
	.outline-organization_contents_inner {}
	.outline-organization_title {}
	.outline-organization_areaImg {}
	.outline-organization_image {}
	.outline-organization_image > img {}
	.outline-partners {
		margin-bottom: 120px;
	}
	.outline-partners_contents {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.outline-partners_contents_inner {}
	.outline-partners_title {}
	.outline-partners_areaTbl {}
	.outline-partners_table {}
	.outline-partners_table > tbody {}
	.outline-partners_table > tbody > tr {}
	.outline-partners_table > tbody > tr > th {}
	.outline-partners_table > tbody > tr > td {}
	.outline-partners_tblList {}
	.outline-partners_tblList > li {}
	.area-outline_inner {}

	/* --- タブレット: DXナビゲーション --- */
	.dx-nav {}
	.dx-nav_inner {}
	.dx-nav_contents {}
	.dx-nav_areaTxt {
		min-height: 382px;
		min-width: 380px;
	}
	.dx-nav_areaTxt_inner {}
	.dx-nav_title {
		font-size: 15px;
		margin-bottom: 25px;
	}
	.dx-nav_en {
		font-size: 32px;
	}
	.dx-nav_main {}
	.dx-nav_text {}
	.dx-nav_link {}
	.dx-nav_bg {}
	.dx-nav_bg > img {}

	/* --- タブレット: グループ企業（本社・支店・グループ会社・メンバー） --- */
	.group-head {
		margin-bottom: 100px;
	}
	.group-head_contents {}
	.group-head_contents_inner {}
	.group-head_title {}
	.group-head_image {
		margin-bottom: 50px;
	}
	.group-head_image > img {}
	.group-head_headline {}
	.group-head_table {}
	.group-head_table > tbody {}
	.group-head_table > tbody > tr {}
	.group-head_table > tbody > tr > th {}
	.group-head_table > tbody > tr > td {}
	.group-head_mail {}
	.group-head_mail > a {}
	.group-head_list {}
	.group-head_list > li {}
	.group-head_list > li:first-child {}
	.group-head_note {}
	.group-head_note > a {}
	.group-head_note > a > .icon {}
	.group-head_map {}
	.group-head_map > iframe {}
	.group-branch {
		margin-bottom: 95px;
	}
	.group-branch_contents {}
	.group-branch_contents_inner {}
	.group-branch_title {}
	.group-branch_cell {}
	.group-branch_cell:last-child {}
	.group-branch_cols {
		display: block;
	}
	.group-branch_col {
		width: auto;
	}
	.group-branch_col-txt {
		margin-bottom: 30px;
	}
	.group-branch_cCols {}
	.group-branch_cCol {}
	.group-branch_cCol-ttl {}
	.group-branch_office {}
	.group-branch_office_type {}
	.group-branch_office_main {}
	.group-branch_cCol-txt {}
	.group-branch_add {}
	.group-branch_tel {}
	.group-branch_tel > a {}
	.group-branch_mail {}
	.group-branch_mail > a {}
	.group-branch_box {}
	.group-branch_headline {}
	.group-branch_list {}
	.group-branch_list > li {}
	.group-branch_list > li::before {}
	.group-branch_link {}
	.group-branch_col-img {
		max-width: none;
		padding-left: 216px;
	}
	.group-branch_image {
		max-width: 410px;
	}
	.group-branch_image > img {}
	.group-companies {}
	.group-companies_contents {
		padding-bottom: 80px;
		padding-top: 90px;
	}
	.group-companies_contents_inner {}
	.group-companies_title {}
	.group-companies_cell {
		margin-bottom: 60px;
	}
	.group-companies_headline {}
	.group-companies_cols {}
	.group-companies_col {}
	.group-companies_col-img {
		width: 43%;
	}
	.group-companies_image {}
	.group-companies_image > img {}
	.group-companies_col-txt {
		width: 53%;
		padding-top: 0;
	}
	.group-companies_subhead {}
	.group-companies_text {}
	.group-companies_link {
		margin-top: 35px;
	}
	.group-member {}
	.group-member_cells {}
	.group-member_cell {
		padding: 30px 20px;
	}
	.group-member_cell:nth-child(n + 4) {}
	.group-member_cell:nth-child(3n + 1) {}
	.group-member_cell_inner {}
	.group-member_fig {}
	.group-member_fig > img {}
	.group-member_fig > figcaption {
		font-size: 17px;
	}
	.group-member_text {}
	.group-member_link {}

	/* --- タブレット: アズール スポンサーシップ --- */
	.azul {
		padding: 30px 20px;
	}
	.azul_inner {}
	.azul_sponsor {}
	.azul_sponsor_main {}
	.azul_cols {
		align-items: center;
	}
	.azul_col {}
	.azul_col-img {
		width: 160px;
	}
	.azul_logo {}
	.azul_logo > img {}
	.azul_col-txt {
		width: calc(100% - 200px);
	}
	.azul_title {}
	.azul_message {
		font-size: 26px;
		margin-bottom: 15px;
	}
	.azul_message_span {}
	.azul_message_span:first-child {}
	.azul_text {}
	.azul_link {}
	.azul_link > a {}

	/* --- タブレット: ページネーション --- */
	.pager {
		margin-top: 65px;
	}
	.pager > a,
	.pager > span {}
	.pager > .previouspostslink {}
	.pager > .current {}
	.pager > .extend {}
	.pager > .nextpostslink {}

	/* --- タブレット: ニュース一覧・カテゴリ・記事詳細 --- */
	.news {}
	.news_inner {}
	.news_cols {
		display: block;
	}
	.news_col {
		width: auto;
	}
	.news_col-side {
		padding-top: 0;
		margin-bottom: 25px;
	}
	.news_catList {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	.news_catList > li {}
	.news_catList > li:nth-child(n + 2) {}
	.news_catList_item {
		padding-left: 35px;
	}
	.news_catList_item::before {
		left: 20px;
		top: calc(1em + 5px);
	}
	.news_catList_item[aria-current="page"] {}
	.news_col-main {}
	.news-list {}
	.news-list > li {}
	.news-list > li > a {}
	.news-item {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.news-item::after {}
	.news-item_areaCat {}
	.news-item_update {}
	.news-item_update > time {}
	.news-item_cat {}
	.news-item_text {}
	.news-item_icon {}
	.area-entry {}
	.area-entry_catWrap {}
	.area-entry_update {}
	.area-entry_update > time {}
	.area-entry_cat {}
	.area-entry_cat > a {}
	.area-entry_title {
		font-size: 45px;
	}
	.entry {}
	.entry_body {
		padding-bottom: 70px;
	}
	.entry_body::after {
		width: calc(100% + 40px);
	}
	.entry_editor {}
	.entry_link {
		margin-top: 100px;
	}
	.entry_link > a {}

	/* --- タブレット: イベント一覧・イベント詳細・イベントナビ --- */
	.area-event {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.area-event_inner {}
	.area-event_list {
		row-gap: 60px;
		grid-template-columns: repeat(2, 1fr);
	}
	.area-event_list > li {}
	.area-event_list > li > a {}
	.event-item {}
	.event-item_areaImg {
		margin-bottom: 25px;
	}
	.event-item_image {}
	.event-item_image > img {}
	.event-item_areaTxt {}
	.event-item_catList {}
	.event-item_catList > li {}
	.event-item_cat {}
	.event-item_title {
		font-size: 18px;
		margin-bottom: 28px;
	}
	.event-item_table {
		font-size: 14px;
	}
	.event-item_table > tbody {}
	.event-item_table > tbody > tr {}
	.event-item_table > tbody > tr:first-child {}
	.event-item_table > tbody > tr > th {}
	.event-item_table > tbody > tr > td {}
	.event-item_endTxt {}
	.event-item_endTxt_main {}
	.event-detail {
		padding-top: 100px;
		padding-bottom: 100px;
		margin-bottom: 100px;
	}
	.event-detail_inner {}
	.event-detail_cols {
		display: block;
	}
	.event-detail_col {
		width: auto;
	}
	.event-detail_col-img {}
	.event-detail_areaImg {}
	.event-detail_image {}
	.event-detail_image > img {}
	.event-detail_col-txt {}
	.event-detail_areaTxt {}
	.event-detail_areaTxt-narrow {
		max-width: none;
	}
	.event-detail_txtBox {
		margin-top: 60px;
	}
	.event-item_title-large {
		font-size: 32px;
	}
	.event-item_cat > a {}
	.event-detail_text {}
	.event-detail_infoTable {}
	.event-detail_infoTable > tbody {}
	.event-detail_infoTable > tbody > tr {}
	.event-detail_infoTable > tbody > tr > th {}
	.event-detail_infoTable > tbody > tr > th::after {}
	.event-detail_infoTable > tbody > tr > td {}
	.event-nav {}
	.event-nav_inner {}
	.event-nav_cols {}
	.event-nav_col {}
	.event-nav_col-ttl {}
	.event-nav_title {}
	.event-nav_title_en {
		font-size: 40px;
	}
	.event-nav_col-link {}
	.event-nav_link {}
	.event-nav_list {
		column-gap: 12px;
	}
	.event-nav_list > li {}
	.event-nav_list > li > a {}
	.event-detail_ttlBox {
		padding: 40px 20px;
	}
	.event-detail_ttlBox_inner {}
	.event-item_table-flex {}
	.event-item_table-flex > tbody {}
	.event-item_table-flex > tbody > tr {}
	.event-item_table-flex > tbody > tr:last-child {}

	/* --- タブレット: 企業情報カード・ナビゲーション・セクションナビ --- */
	.corp {
		margin-bottom: 90px;
	}
	.corp_inner {}
	.corp_cells {
		column-gap: 20px;
	}
	.corp_cell {}
	.corp_cell > a {}
	.about-item {
		padding: 15px 15px 20px;
	}
	.about-item-nav {
		padding: 10px 10px 15px;
	}
	.about-item_areaImg {}
	.about-item_image {}
	.about-item_image > img {}
	.about-item_message {
		font-size: 21px;
		left: -15px;
	}
	.about-item_message_main {
		padding-left: 15px;
	}
	.about-item_areaTxt {
		max-width: none;
	}
	.about-item_areaTxt-nav {
		margin-top: 25px;
	}
	.about-item_title {
		font-size: 24px;
	}
	.about-item_title_en {
		font-size: 16px;
	}
	.about-item_title_main {}
	.about-item_text {
		line-height: 1.8;
		padding-right: 60px;
	}
	.about-item_arrow {
		bottom: 20px;
		right: 20px;
	}
	.about-item_arrow-nav {
		width: 30px;
		height: 30px;
		font-size: 10px;
	}
	.corp-nav {
		padding-top: 90px;
		padding-bottom: 100px;
	}
	.corp-nav_inner {}
	.corp-nav_list {
		column-gap: 10px;
	}
	.corp-nav_list > li {}
	.corp-nav_list > li > a {}
	.about-item_navTtl {
		font-size: 18px;
		margin-bottom: -30px;
		padding-right: 40px;
	}
	.about-item_navTtl_en {
		font-size: 14px;
	}
	.about-item_navTtl_main {}
	.section-nav {}
	.section-nav > a {
		padding: 50px 0;
	}
	.section-nav_bg {}
	.section-nav_bg::before {}
	.section-nav_bg > img {}
	.section-nav_inner {}
	.section-nav_areaTxt {
		padding: 30px 25px;
	}
	.section-nav_cols {
		display: block;
	}
	.section-nav_col {
		width: auto;
	}
	.section-nav_col-ttl {
		margin-bottom: 20px;
	}
	.section-nav_title {
		margin-bottom: 0;
	}
	.section-nav_title_en {
		font-size: 15px;
	}
	.section-nav_col-txt {
		padding-right: 70px;
		max-width: none;
	}
	.section-nav_message {}
	.section-nav_text {}
	.section-nav_arrow {}

	/* --- タブレット: DXページ（ミッション・ビジョン・ギャラリー） --- */
	.dx {}
	.dx_bg {
		padding-bottom: 400px;
	}
	.dx_bg > img {}
	.dx-mission {
		padding-top: 100px;
		padding-bottom: 110px;
	}
	.dx-mission_inner {}
	.dx-mission_title {}
	.dx-mission_message {
		font-size: 34px;
	}
	.dx-mission_message_point {}
	.dx-mission_text {
		font-size: 20px;
	}
	.dx-vision {
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.dx-vision_inner {}
	.dx-vision_title {
		margin-bottom: 100px;
	}
	.dx-vision_title_en {
		font-size: 70px;
	}
	.dx-vision_title_main {}
	.dx-vision_message {
		margin-bottom: 70px;
	}
	.dx-vision_cells {
		column-gap: 25px;
	}
	.dx-vision_cell {}
	.dx-vision_icon {
		max-width: 140px;
		margin: 0 auto 35px;
	}
	.dx-vision_icon > img {}
	.dx-vision_headline {
		font-size: 22px;
	}
	.dx-vision_headline_main {}
	.dx-vision_headline_main:last-child {}
	.dx-vision_text {}

	/* --- タブレット: サステナビリティ --- */
	.sustain {}
	.sustain_title {}
	.sustain_title > img {}
	.sustain_image {
		margin-bottom: 55px;
	}
	.sustain_image > img {}
	.sustain_text {
		margin-bottom: 65px;
	}
	.sustain_cell {
		margin-bottom: 45px;
	}
	.sustain_cell:last-child {}
	.sustain_headline {
		font-size: 34px;
		margin-bottom: 20px;
	}
	.sustain_headline_mark {}
	.sustain_list {}
	.sustain_list > li {}
	.sustain_list > li:nth-child(n + 2) {}

	/* --- タブレット: ツール紹介ページ（導入・課題・機能・手順・FAQ・料金・動画） --- */
	.tool {}
	.tool-intro {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.tool-intro_contents_inner {}
	.tool-intro_cols {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}
	.tool-intro_col {
		width: auto;
	}
	.tool-intro_col-txt {
		max-width: none;
		margin-bottom: 30px;
	}
	.tool-intro_title {}
	.tool-intro_title::after {
		margin-top: 20px;
	}
	.tool-intro_text {}
	.tool-intro_col-img {
		max-width: 640px;
	}
	.tool-intro_image {}
	.tool-intro_image > img {}
	.news-section {
		margin-bottom: 80px;
	}
	.news-section_inner {}
	.news-section_cols {}
	.news-section_col {}
	.news-section_col-ttl {
		padding-top: 20px;
	}
	.news-section_title {}
	.news-section_col-list {}
	.tool-solution {
		margin-bottom: 90px;
	}
	.tool-solution_contents {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.tool-solution_contents_inner {}
	.tool-solution_title {}
	.tool-solution_headline {}
	.solution-box {
		margin-bottom: 50px;
	}
	.solution-box_cells {}
	.solution-box_cell {}
	.solution-box_areaImg {
		margin-bottom: 25px;
	}
	.solution-box_image {
		max-width: 135px;
	}
	.solution-box_image > img {}
	.solution-box_areaTxt {}
	.solution-box_subhead {
		font-size: 18px;
	}
	.solution-box_text {
		max-width: none;
	}
	.tool-problems {
		padding: 40px 30px;
	}
	.tool-problems_inner {}
	.tool-problems_cell {}
	.tool-problems_cell:last-child {}
	.tool-problems_cols {
		display: block;
	}
	.tool-problems_col {
		width: auto;
	}
	.tool-problems_col-ttl {
		margin-bottom: 20px;
	}
	.tool-problems_areaTtl {}
	.tool-problems_number {}
	.tool-problems_title {}
	.tool-problems_col-txt {}
	.tool-problems_list {}
	.tool-problems_list > li {}
	.tool-problems_list > li:nth-child(n + 2) {}
	.tool-problems_title_sub {}
	.tool-features {
		margin-bottom: 100px;
	}
	.tool-features_contents {}
	.tool-features_contents_inner {}
	.tool-features_title {}
	.strength {}
	.strengtd {}
	.strength_cell {
		margin-bottom: 55px;
	}
	.strength_cell:last-child {}
	.strength_areaTitle {}
	.strength_number {}
	.strength_headline {}
	.strength_text {}
	.tool-function {
		margin-bottom: 90px;
	}
	.tool-function_contents {
		padding-top: 80px;
		padding-bottom: 90px;
	}
	.tool-function_contents_inner {}
	.tool-function_title {}
	.tool-function_box {
		padding: 30px 20px 40px;
		margin-bottom: 90px;
	}
	.tool-function_box_inner {}
	.tool-function_headline {}
	.tool-function_headline_main {}
	.tool-function_cells {
		margin-bottom: 75px;
	}
	.tool-function_cells:last-child {}
	.tool-function_cell {
		padding: 20px;
		padding-left: 0;
	}
	.tool-function_cols {}
	.tool-function_col {}
	.tool-function_col-img {
		width: 75px;
		height: 75px;
	}
	.tool-function_icon {}
	.tool-function_icon > img {
		width: 50px;
		height: 50px;
	}
	.tool-function_col-txt {
		width: calc(100% - 95px);
	}
	.tool-function_subhead {
		font-size: 19px;
	}
	.tool-function_text {}
	.tool-step {}
	.tool-step_cell {}
	.tool-step_cell:last-child {}
	.tool-step_cols {}
	.tool-step_col {}
	.tool-step_col-number {}
	.tool-step_col-number::after {}
	.tool-step_col-number-last::after {}
	.tool-step_number {}
	.tool-step_col-txt {}
	.tool-step_areaTxt {}
	.tool-step_headline {}
	.tool-step_text {}
	.tool-faq {}
	.tool-faq_contents {}
	.tool-faq_contents_inner {}
	.tool-faq_title {}
	.faq {}
	.faq:last-child {}
	.faq_inner {}
	.faq_title {}
	.faq_title_btn {
		padding-left: 85px;
		padding-right: 50px;
	}
	.faq_title_btn::after {}
	.faq_title_btn_mark {
		left: 25px;
	}
	.faq_title_btn_open {
		right: 25px;
	}
	.faq_title_btn_open::before {}
	.faq_title_btn_open::after {}
	.faq_answer {}
	.is-show.faq_answer {}
	.faq_text {}
	.tool-function_cell-noBorder {}
	.tool-step_headWrap {}
	.tool-step_headNote {}
	.faq_answer_inner {}
	.spread {
		margin-top: 45px;
		padding: 40px 20px;
	}
	.spread_inner {}
	.spread-step {}
	.spread-step_cells {}
	.spread-step_cell {}
	.spread-step_image {}
	.spread-step_image > img {}
	.spread-step_number {}
	.spread-step_number_main {}
	.spread-step_title {}
	.spread-step_arrow {
		padding-top: 40px;
	}
	.spread-skill {}
	.spread-skill_image {}
	.spread-skill_image > img {}
	.spread-skill_cells {
		column-gap: 20px;
	}
	.spread-skill_cell {}
	.spread-skill_subImage {}
	.spread-skill_subImage > img {}
	.spread-skill_title {
		font-size: 18px;
		margin-bottom: 12px;
	}
	.spread-skill_text {}
	.spread-skill_message {}
	.spread-public {}
	.spread-public_cell {}
	.spread-public_title {}
	.spread-public_list {}
	.spread-public_list_item {}
	.spread-public_list_item-wide {}
	.spread-public_list_item-light {}
	.spread-public_list_item-white {}
	.tool-problems_list_note {}
	.tool-function_miniCell {}
	.tool-function_miniCell:last-child {}
	.tool-function_miniCellTitle {}
	.tool-function_text {}
	.tool-step_contents {
		padding-top: 90px;
		padding-bottom: 80px;
		margin-bottom: 80px;
	}
	.tool-step_contents_inner {}
	.tool-step_title {}
	.tool-price {
		margin-top: 105px;
	}
	.tool-price_title {}
	.tool-price_cols {}
	.tool-price_col {}
	.tool-price_col-no1 {}
	.tool-price_areaTxt {}
	.tool-price_text {}
	.tool-price_text_en {}
	.tool-price_text_main {}
	.tool-price_fee {}
	.tool-price_yen_unit {}
	.tool-price_col-no2 {}
	.tool-video {
		margin-bottom: 90px;
	}
	.tool-video_contents {}
	.tool-video_contents_inner {}
	.tool-video_title {}
	.tool-video_areaMovie {}
	.tool-video_movie {}
	.tool-video_movie > iframe {}
	.tool-problems_inner-narrow {}
	.solution-visual {
		margin-bottom: 60px;
	}
	/* --- タブレット: ソリューションページ（概要・サービス・強み・製品） --- */
	.solution-visual_image {}
	.solution-visual_image > img {}
	.solution-visual_image-right > img {}
	.solution-outline {
		margin-bottom: 75px;
	}
	.solution-outline_contents {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.solution-outline_contents_inner {}
	.solution-outline_title {}
	.solution-outline_headline {}
	.solution-outline_text {
		margin-bottom: 40px;
	}
	.solution-outline_box {
		padding: 30px 20px;
	}
	.solution-outline_box_inner {}
	.solution-outline_subhead {}
	.solution-outline_subhead_main {}
	.solution-outline_list {}
	.solution-outline_list > li {}
	.solution-service {
		margin-bottom: 80px;
	}
	.solution-service_contents {}
	.solution-service_contents_inner {}
	.solution-service_title {}
	.solution-service_headline {}
	.solution-service_text {
		margin-bottom: 40px;
	}
	.solution-service_cell {}
	.solution-service_subhead {}
	.solution-service_subhead_main {}
	.solution-strength {}
	.solution-strength_contents {
		padding-top: 75px;
		padding-bottom: 80px;
	}
	.solution-strength_contents_inner {}
	.solution-strength_title {}
	.strength_number-white {}
	.solution-point {}
	.solution-point_cols {}
	.solution-point_col {}
	.solution-point_col-img {}
	.solution-point_image {}
	.solution-point_image > img {}
	.solution-point_col-txt {}
	.solution-point_areaTxt {}
	.solution-point_title {}
	.solution-point_title_main {}
	.solution-point_text {}
	.solution-point_name {}
	.solution-point_name_post {}
	.solution-point_name_main {}
	.solution-point_name_main > small {}
	.stength_areaTbl {
		margin-top: 40px;
		padding: 45px 20px;
	}
	.stength_areaTbl_inner {}
	.stength_table {}
	.stength_table > tbody {}
	.stength_table > tbody > tr {}
	.stength_table > tbody > tr > th {
		font-size: 48px;
	}
	.stength_table > tbody > tr > td {}
	.strength_boxs {
		margin-top: 40px;
	}
	.strength_box {}
	.strength_boxImage {}
	.strength_boxImage > img {}
	.strength_boxTitle {}
	.strength_boxText {}
	.strength_chart {
		margin-top: 40px;
	}
	.strength_chart > img {}
	.solution-product {}
	.solution-product_contents {
		padding-top: 90px;
		padding-bottom: 100px;
	}
	.solution-product_contents_inner {}
	.solution-product_title {}
	.solution-product_cell {
		padding: 42px 20px 35px;
	}
	.solution-product_cols {
		display: block;
	}
	.solution-product_col {
		width: auto;
	}
	.solution-product_col-logo {
		margin-bottom: 40px;
	}
	.solution-product_logo {}
	.solution-product_logo > img {}
	.solution-product_col-txt {
		max-width: none;
	}
	.solution-product_headline {
		font-size: 22px;
	}
	.solution-product_text {}
	.solution-product_link {
		margin: 30px auto 0;
	}
	.solution-product_link > a {}
	.strength-celf {}
	.strength-celf_title {}
	.strength-celf_text {}
	.strength-celf_link {}
	.strength-celf_link > a {}
	.strength-celf_link_mark {}
	.strength-celf_link_icon {}
	.strength_cCell {
		padding: 30px 20px;
	}
	.strength_cCell_inner {}
	.strength_cCellList {}
	.strength_cCellList > li {}
	.strength_cCellList > li:nth-child(n + 2) {}

	/* --- タブレット: 自社開発製品・提供製品一覧 --- */
	.product-inhouse {
		margin-bottom: 95px;
	}
	.product-inhouse_contents {
		padding-top: 100px;
		padding-bottom: 130px;
	}
	.product-inhouse_contents_inner {}
	.product-inhouse_areaTtl {}
	.product-inhouse_title {}
	.product-inhouse_text {
		margin-bottom: 40px;
	}
	.product-inhouse_cells {
		grid-template-columns: repeat(2, 1fr);
		max-width: 680px;
		margin: 0 auto;
		row-gap: 20px;
	}
	.inhouse-item {}
	.inhouse-item:nth-child(2n + 1) {
		top: 40px;
	}
	.inhouse-item:nth-child(2n + 2) {
		top: 0;
	}
	.inhouse-item:nth-child(n + 5) {}
	.inhouse-item > a {}
	.inhouse-item_areaLogo {}
	.inhouse-item_number {}
	.in-house_logo {}
	.in-house_logo > img {}
	.inhouse-item_areaTxt {
		padding: 20px 30px;
	}
	.inhouse-item_areaTxt_inner {
		max-width: none;
	}
	.inhouse-item_text {}
	.inhouse-item_arrow {
		margin-top: 5px;
	}
	.product-offer-alt {}
	.product-offer-alt_contents {}
	.product-offer-alt_contents_inner {}
	.product-offer-alt_title {}
	.product-offer-alt_text {
		margin-bottom: 70px;
	}
	.product-offer-alt_list {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 40px;
	}
	.product-offer-alt_list > li {}
	.product-offer-alt_list > li > a {}
	.product-offer_item {}
	.product-offer-alt_logo {}
	.product-offer-alt_logo > img {}

	/* --- タブレット: ソリューション一覧・ソリューション項目カード --- */
	.solution {}
	.solution_contents {
		padding-top: 80px;
		padding-bottom: 160px;
	}
	.solution_contents_inner {}
	.solution_title {}
	.solution_text {
		margin-bottom: 60px;
	}
	.solution-item_cells {
		row-gap: 30px;
	}
	.solution-item_cell {}
	.solution-item_cell:nth-child(2n) {
		top: 60px;
	}
	.solution-item_cell:nth-child(n + 2) {}
	.solution-item_cell > a {}
	.about-item_number {
		font-size: 11px;
		right: 10px;
	}
	.about-item_number_main {}
	.about-item_areaTxt-solution {}

	/* --- タブレット: numap（紹介・概要・特徴・ダウンロード・コラボ） --- */
	.numap-intro {
		padding-top: 60px;
		min-height: 0;
	}
	.numap-intro_gradBg {}
	.numap-intro_gradBg_svg {}
	.numap-intro_inner {}
	.numap-intro_cols {
		display: block;
		max-width: none;
	}
	.numap-intro_col {
		width: auto;
	}
	.numap-intro_col-txt {
		padding-top: 0;
		margin-bottom: 50px;
	}
	.numap-intro_title {
		font-size: 37px;
	}
	.numap-intro_title::after {}
	.numap-intro_text {
		margin-bottom: 30px;
	}
	.numap-dl-list {
		max-width: 600px;
		margin: 0 auto;
	}
	.numap-dl-list > li {}
	.numap-dl-list > li > a {}
	.numap-dl-list-dl > li > a {}
	.numap-dl-list_image {}
	.numap-dl-list_image > img {}
	.numap-dl-list_image-large {}
	.numap-intro_col-img {
		max-width: 600px;
		margin: 0 auto;
	}
	.numap-intro_image {}
	.numap-intro_image > img {}
	.numap-about {
		margin-bottom: 90px;
	}
	.numap-about_inner {}
	.numap-about_title {}
	.numap-about_message {
		margin-bottom: 50px;
	}
	.numap-about_cols {}
	.numap-about_col {}
	.numap-about_col-txt {
		width: 65%;
	}
	.numap-about_cells {
		padding: 40px 20px;
	}
	.numap-about_cell {
		padding-bottom: 28px;
		margin-bottom: 38px;
	}
	.numap-about_cell:last-child {}
	.numap-about_headline {}
	.numap-about_headline_number {}
	.numap-about_headline_main {}
	.numap-about_text {}
	.numap-about_col-img {
		width: 30%;
	}
	.numap-about_image {}
	.numap-about_image > img {}
	.numap-features {
		padding-top: 80px;
		padding-bottom: 90px;
		margin-bottom: 100px;
	}
	.numap-features_inner {}
	.numap-features_title {}
	.numap-features_cells {
		column-gap: 10px;
	}
	.numap-features_cell {
		padding: 30px 15px;
	}
	.numap-features_cell_inner {}
	.numap-features_icon {
		margin-bottom: 25px;
	}
	.numap-features_icon > img {}
	.numap-features_headline {
		font-size: 22px;
	}
	.numap-features_text {}
	.numap-features_image {
		max-width: 160px;
		margin: 0 auto;
	}
	.numap-features_image > img {}
	.numap-dl-nav {
		margin-bottom: 100px;
	}
	.numap-dl-nav_inner {}
	.numap-dl-nav_body {
		min-height: 315px;
	}
	.numap-dl-nav_bg::after {}
	.numap-dl-nav_body_inner {}
	.numap-dl-nav_bg {}
	.numap-dl-nav_bg > img {}
	.numap-dl-nav_title {}
	.numap-dl-nav_title_main {}
	.numap-dl-nav_title_en {
		font-size: 45px;
	}
	.numap-dl-nav_text {
		margin-bottom: 20px;
	}
	.numap-collab {
		padding-top: 90px;
		padding-bottom: 70px;
		background-image: linear-gradient(31deg, var(--gradient-dark) 0, var(--gradient-mid) 63%, var(--gradient-light) 82.5%, #F8FFEA 110%);
	}
	.numap-collab_bg {}
	.numap-collab_inner {}
	.numap-collab_cols {
		display: block;
		max-width: none;
	}
	.numap-collab_col {
		width: auto;
		max-width: none;
	}
	.numap-collab_col-txt {
		padding-top: 0;
		margin-bottom: 50px;
	}
	.numap-collab_title {}
	.numap-collab_text {}
	.numap-collab_link {
		max-width: 380px;
		margin: 30px auto 0;
	}
	.numap-collab_link > a {
		min-height: 80px;
		font-size: 22px;
	}
	.numap-collab_col-img {
		max-width: 644px;
		margin: 0 auto;
	}
	.numap-collab_areaImg {}
	.numap-collab_image {}
	.numap-collab_image-no1 {}
	.numap-collab_image-no2 {}
	.numap-collab_image-no3 {
		top: 65%;
		width: 46.2%;
	}
	.numap-collab_image > img {}
	.numap-collab_link_arrow {}

	/* --- タブレット: プライバシーポリシー --- */
	.area-privacy {
		padding-bottom: 90px;
		margin-bottom: 80px;
	}
	.area-privacy:last-child {}
	.priv {
		margin-bottom: 90px;
	}
	.priv:last-child {}
	.priv_title {
		font-size: 30px;
		margin-bottom: 30px;
	}
	.priv_text {}
	.priv_text:last-child {}
	.priv_text-mbL {}
	.priv_oList {}
	.priv_oList > li {}
	.priv_date {}
	.priv_name {}
	.priv_name > small {}
	.priv_name_corp {}
	.priv_cell {}
	.priv_headline {
		font-size: 25px;
	}
	.priv_headline_main {}
	.priv_list {}
	.priv_list > li {}
	.priv_text_point {}
	.priv_corp {}
	.priv_tel {}
	.priv_tel > a {}
	.priv_mail {}
	.priv_mail > a {}

	/* --- タブレット: サイトマップ --- */
	.sitemap {}
	.sitemap_cells {
		row-gap: 45px;
		column-gap: 30px;
	}
	.sitemap_cell {}
	.sitemap_title {}
	.sitemap_title > a {}
	.sitemap_title_en {
		font-size: 36px;
	}
	.sitemap_list {
		display: block;
	}
	.sitemap_list > li {}
	.sitemap_list > li > a {}
	.sitemap_list_arrow {}
	.sitemap_list_arrow > .icon {}

	/* --- タブレット: 人材派遣ページ（派遣・キャリア・労務） --- */
	.dispatch {
		margin-bottom: 90px;
	}
	.dispatch:last-child {}
	.dispatch_areaTtl {
		margin-bottom: 30px;
	}
	.dispatch_title {
		font-size: 30px;
		margin-right: 15px;
	}
	.dispatch_date {
		font-size: 14px;
	}
	.dispatch_table {}
	.dispatch_table > tbody {}
	.dispatch_table > tbody > tr {}
	.dispatch_table > tbody > tr > th {}
	.dispatch_table > tbody > tr > td {}
	.dispatch_headline {
		font-size: 25px;
		margin-bottom: 20px;
	}
	.dispatch-career {}
	.dispatch-career_tblWrap {}
	.dispatch-career_table {}
	.dispatch-career_table > thead {}
	.dispatch-career_table > thead > tr {}
	.dispatch-career_table > thead > tr > th {}
	.dispatch-career_table > thead > tr > td {}
	.dispatch-career_table > tbody {}
	.dispatch-career_table > tbody > tr {}
	.dispatch-career_table > tbody > tr > th {}
	.dispatch-career_table > tbody > tr > td {}
	.dispatch-career_list {}
	.dispatch-career_list > li {}
	.dispatch-career_list > li::before {}
	.dispatch-career_tblTitle {}
	.dispatch-career_info {
		margin-top: 90px;
		padding: 30px 20px;
	}
	.dispatch-career_infoCols {
		align-items: center;
	}
	.dispatch-career_infoCol {}
	.dispatch-career_infoCol-ttl {}
	.dispatch-career_subhead {}
	.dispatch-career_infoCol-txt {}
	.dispatch-career_dList {
		font-size: 18px;
	}
	.dispatch-career_dList > dt {}
	.dispatch-career_dList > dd {}
	.dispatch-career_dList > dd > a {}
	.dispatch-labor {}
	.dispatch-labor_list {}
	.dispatch-labor_list > li {}
	.dispatch-labor_list > li:nth-child(n + 2) {}
	.dispatch-labor_list_check {}
	.dispatch-labor_cList {}
	.dispatch-labor_cList > li {}
	.dispatch-labor_list_check > img {}
	.about-item_message_dummy {
		width: 15px;
	}
	.about-item_text-wide {
		padding-right: 0;
		margin-bottom: 0;
	}
	.about-item_arrow-small {}
	.entry_customLink {}
	.entry_customLink > a {}
	.numap-collab_link_text {}
	.strength_fullImage {}
	.strength_fullImage > img {}
	.spread-public_list_item-grad {}
	.spread-public_image {}
	.spread-public_image > img {}
	.sustain_fig {}
	.sustain_fig > img {}
	.sustain_cols {
		display: block;
	}
	.sustain_col {
		width: auto;
	}
	.sustain_col-txt {}
	.sustain_col-img {
		margin-right: auto;
		margin-top: 60px;
		max-width: 500px;
	}
	.sustain_caution {}

	/* --- タブレット: DXギャラリー・DXミッション装飾 --- */
	.dx-gallery {
		margin-top: 100px;
	}
	.dx-gallery_cell {}
	.dx-gallery_cell-no1 {}
	.dx-gallery_cell-no2 {}
	.dx-gallery_cell-no3 {}
	.dx-gallery_cell-no4 {}
	.dx-gallery_cell-no5 {}
	.dx-gallery_cell-no6 {}
	.dx-gallery_scroll {}
	.dx-gallery_images {}
	.dx-gallery_image {
		width: 200px;
	}
	.dx-gallery_image-large {
		width: 500px;
		margin-right: 30px;
	}
	.dx-gallery_image > img {}
	.dx-mission_cricle {}
	.dx-mission_cricle-no1 {
		margin-left: -520px;
	}
	.dx-mission_cricle-no2 {
		margin-left: 570px;
	}
	.dx-mission_cricle-no3 {}
	.dx-mission_cricle-no4 {}
	.dx-mission_cricle-no5 {}
	.dx-mission_cricle-no6 {
		margin-left: 270px;
	}
	.dx-vision_headline-hasLine {}
	.dx-vision_headline_inner {}

	/* --- タブレット: 企業情報ページ（マップ・取り組み・紹介） --- */
	.about-item_image-product {}
	.about-think_mainImage {}
	.about-think_mainImage > img {}
	.about_bg {}
	.about_bg > img {}
	.about_inner-mb {}
	.about-map {
		padding: 100px 0;
	}
	.about-map_inner {}
	.about-map_title {}
	.about-map_headline {}
	.about-map_text {}
	.about-map_canvas {}
	.about-map_dList {
		font-size: 12px;
	}
	.about-map_dList-nagoya {}
	.about-map_dList > dt {}
	.about-map_dList > dd {}
	.about-map_dList_num {
		font-size: 35px;
	}
	.about-map_dList-osaka {}
	.about-map_dList-metropolitan {}
	.about-map_dList-shizuoka {}
	.about-map_canvas_image {}
	.about-map_canvas_image > img {}
	.about-map_canvas_inner {}
	.about-do {
		margin-bottom: 100px;
	}
	.about-do_inner {}
	.about-do_title {}
	.about-do_headline {}
	.about-do_text {}
	.product-offer_item_title {
		font-size: 16px;
	}
	.product-offer_item_title_arrow {}
	.product-offer_item_text {}

	/* --- タブレット: お問い合わせフォーム --- */
	.form {}
	.form_text {}
	.form_title {}
	.form_title > .icon {}
	.form_box {}
	.form_table {
		display: block;
		width: auto;
	}
	.form_table > tbody {
		display: block;
	}
	.form_table > tbody > tr {
		display: block;
		margin-bottom: 25px;
	}
	.form_table > tbody > tr > th {
		display: block;
		width: auto;
		padding: 0;
	}
	.form_table > tbody > tr > td {
		display: block;
		padding: 0;
	}
	.form_label {}
	.form_agree {}
	.form_submit {}
	.wpcf7-list-item {}
	.wpcf7-list-item > label {}
	.wpcf7-list-item > label > [type="checkbox"] {}
	.wpcf7-list-item-label {}
	[type="checkbox"] + .wpcf7-list-item-label::before {}
	[type="checkbox"] + .wpcf7-list-item-label::after {}
	[type="checkbox"]:checked + .wpcf7-list-item-label::before {}
	[type="checkbox"]:checked + .wpcf7-list-item-label::after {}
	.wpcf7-form-control-wrap {}
	.wpcf7-form-control {}
	.form_submit_loading {}
	[data-status="submitting"] .form_submit {}
	[data-status="submitting"] .form_submit_text {}
	[data-status="submitting"] .form_submit_loading {}
	.wpcf7-not-valid-tip {}
	.screen-reader-response {}
	.wpcf7-response-output {}
	[data-status="spam"] .wpcf7-response-output,
	[data-status="invalid"] .wpcf7-response-output {}
	[data-status="sent"] .wpcf7-response-output {}

	/* --- タブレット: ギャラリー・動画・音声セクション --- */
	.section-wrap {}
	.section-gallery {
		padding: 100px 0;
	}
	.section-gallery-first {}
	.section-gallery-blue {}
	.section-gallery_inner {}
	.section-gallery_series {
		font-size: 20px;
	}
	.section-gallery_title {
		font-size: 42px;
		margin-bottom: 35px;
	}
	.section-gallery_title > .icon {}
	.section-gallery_sect {
		margin-bottom: 60px;
	}
	.section-gallery_sect:last-child {}
	.section-gallery_headline {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.section-gallery_audio {}
	.section-gallery_headline_inner {}
	.section-gallery_text {}
	.section-gallery_grid {
		row-gap: 20px;
		column-gap: 15px;
	}
	.section-gallery_cell {}
	.section-gallery_cell-wide {}
	.video-item {}
	.video-item > a {}
	.video-item_inner {
		padding: 15px 15px;
	}
	.video-item_cols {}
	.video-item_col {}
	.video-item_col-img {}
	.video-item_image {
		margin-bottom: 15px;
	}
	.video-item_image:last-child {}
	.video-item_image > img {}
	.video-item_col-txt {
		width: calc(50% - 20px);
	}
	.video-item_subhead {
		font-size: 18px;
		line-height: 28px;
		padding-left: 35px;
	}
	.video-item_subhead-large {}
	.video-item_subhead_arrow {
		width: 30px;
		height: 30px;
		font-size: 11px;
	}
	.video-item_subhead_arrow-large {}
	.video-item_info {
		font-size: 12px;
		padding-left: 35px;
	}
	.video-item_info-large {}
	.video-item_inner-large {}
	.section-column {
		padding: 34px 25px;
	}
	.section-column_inner {}
	.section-column_cols {}
	.section-column_col {}
	.section-column_col-title {
		padding-top: 0;
		width: 180px;
	}
	.section-column_title {}
	.section-column_title > img {}
	.section-column_col-txt {
		width: calc(100% - 210px);
	}
	.section-column_text {}
	.audio-item {
		padding: 0 20px;
	}
	.audio-item_cols {}
	.audio-item_col {}
	.audio-item_col-audio {
		width: 300px;
	}
	.audio-item_audio {}
	.audio-item_audio > source {}
	.audio-item_col-title {
		width: calc(100% - 320px);
	}
	.audio-item_title {
		font-size: 18px;
	}
	.audio-item_title > a {
		padding-top: 25px;
		padding-bottom: 25px;
	}
	.audio-item_title_arrow {}
	.audio-item_title-noLink {
		padding-top: 25px;
		padding-bottom: 25px;
	}
	.audio-item_col-fit {
		width: 100%;
	}

	/* --- タブレット: エラーページ・ソリューションナビ --- */
	.error {}
	.error_inner {}
	.error_title {}
	.error_text {}
	.error_link {}
	.solution-nav {}
	.solution-nav_inner {}
	.solution-nav_title {}
	.solution-nav_title_en {}
	.solution-nav_title_main {}
	.solution-nav_swiper {}
	.solution-nav_areaBtn {}
	.solution-nav_btn {}
	.solution-nav_btn-prev {}
	.solution-nav_btn-next {}
	.solution-nav_swiper_wrapper {}
	.solution-nav_swiper_item {}
	.solution-nav_swiper_item > a {}
	.form_grid {}
	.form_cell {}
	.form_postal {}
	.form_postal_cell {}
	.form_postal_hyphen {}
	.form_field {}
	.form_field:last-child {}
	.form_box_inner {}

	/* --- タブレット: 企業紹介（イントロ・モーダル・クラブ活動） --- */
	.about-intro {}
	.about-intro_inner {}
	.about-intro_title {}
	.about-intro_cols {
		display: block;
	}
	.about-intro_col {}
	.about-intro_col-ttl {
		margin-bottom: 25px;
	}
	.about-intro_headline {
		margin-bottom: 0;
	}
	.about-intro_col-txt {}
	.about-intro_text {}
	.about-intro_canvas {
		width: 830px;
	}
	.about-intro_list_btn_text {}
	.about-intro_cloud {
		top: 0;
	}
	.about-intro_image {}
	.about-intro_image > img {}
	.about-intro_list {}
	.about-intro_list_item {}
	.about-intro_list_item-no1 {}
	.about-intro_list_btn {
		font-size: 13px;
		min-width: auto;
		height: auto;
		padding: 7px 14px 4px;
	}
	.about-intro_list_btn_tip {
		margin-top: -14px;
	}
	.about-intro_list_item-no2 {
		top: calc(18.9% - 130px + 40px);
		left: calc(32.5% - 5px);
	}
	.about-intro_list_item-no3 {
		top: calc(41% + 180px - 60px);
		left: calc(58% + 80px - 25px);
	}
	.about-intro_list_item-no4 {
		top: calc(28.8% - 120px + 40px);
		left: calc(79.1% - 150px + 40px);
	}
	.about-modal {}
	.about-modal.is-show {}
	.about-modal_inner {}
	.about-modal_box {}
	.about-modal_head {
		padding: 20px 20px 40px;
	}
	.about-modal_head_inner {}
	.about-modal_btn {}
	.about-modal_btn::before {}
	.about-modal_btn::after {}
	.about-modal_title {
		font-size: 30px;
	}
	.about-modal_contents {
		padding: 30px 20px 20px;
	}
	.about-modal_contents_inner {}
	.about-modal_cols {}
	.about-modal_col {}
	.about-modal_col-ttl {}
	.about-modal_headline {
		font-size: 20px;
	}
	.about-modal_text {}
	.about-modal_image {}
	.about-modal_image > img {}
	.about-modal_col-link {}
	.about-modal_list {}
	.about-modal_list > li {}
	.about-modal_list > li:nth-child(n + 2) {}
	.about-modal_list > li > a {
		font-size: 16px;
	}
	.about-modal_list_arrow {}
	.about-modal_list_arrow > .icon {}
	.about,
	.top-product {
		padding: 100px 0;
	}
	.about_inner,
	.top-product_inner {}
	.about_title,
	.top-product_title {}
	.about_headline,
	.top-product_headline {}
	.about_text,
	.top-product_text {
		margin-bottom: 50px;
	}
	.top-product-cat {}
	.top-product-cat:last-child {}
	.top-product-cat_cell {}
	.top-product-cat_number {}
	.top-product-cat_title {}
	.top-product-cat_title_main {}
	.top-product-cat_cards {}
	.top-product-cat_card {}
	.top-product-cat_card > a {}
	.top-product-cat_link {}
	.top-product-cat_cmImage {
		margin-top: auto;
	}
	.top-product-cat_cmImage > img {}
	.about-item-product {}
	.about-item_areaTxt-product {}
	.about-item_title-product {}
	.about-bgBlue,
	.top-product-bgBlue {}
	.about-think {}
	.about-think_areaTtl {}
	.about-think_number {}
	.about-think_title {}
	.about-think_text {}
	.about-think_cell {
		padding: 20px 20px;
	}
	.about-think_cell:last-child {}
	.about-think_cols {}
	.about-think_col {}
	.about-think_col-txt {}
	.about-think_areTxt {}
	.about-think_miniNumber {}
	.about-think_headline {}
	.about-think_headline_main {}
	.about-think_col-img {}
	.about-think_areaImg {}
	.about-think_image {}
	.about-think_image > img {}

	/* --- タブレット: 事業紹介ページ（イントロ・事業一覧・キャンバス） --- */
	.business-intro {
		margin-top: 80px;
		margin-bottom: 80px;
	}
	.business-intro_inner {}
	.business-intro_title {
		font-size: 45px;
	}
	.business-intro_text {
		font-size: 18px;
		margin-top: 40px;
	}
	.business {
		padding-bottom: 100px;
	}
	.business_num {}
	.business_num_inner {}
	.business_num_text {}
	.business_catch {
		font-size: 90px;
		top: 350px;
	}
	.business_catch_inner {
		margin-left: -350px;
	}
	.business_catch_text {}
	.business_inner {}
	.business_cols {
		display: block;
	}
	.business_col {
		width: auto;
		max-width: none;
	}
	.business_col-img {}
	.business_col-txt {}
	.business_title {}
	.business_sect {
		max-width: 609px;
		margin: 0 auto 80px;
	}
	.business_sect:last-child {}
	.business_subTitle {}
	.business_subTitle_num {}
	.business_subTitle_main {}
	.business_headline {}
	.business_image {
		max-width: 609px;
		margin-left: auto;
		margin-right: auto;
	}
	.business_image > img {}
	.business_subhead {}
	.business_list {}
	.business_list > li {}
	.business_list > li:nth-child(n + 2) {}
	.business_list > li > a {}
	.business_list_arrow {}
	.business_bg {}
	.business_bg_item {}
	.section-nav_title_en_arrow {}
	.section-nav_title-solution {}
	.business_canvas {
		width: 490px;
		margin: 0 auto;
		position: relative;
		top: 0;
	}
	.business-canvas {}
	.business-canvas_circleBase {}
	.business-canvas_circle {}
	.business-canvas_circle_inner {
		background:
			repeating-linear-gradient(0deg, transparent, transparent 19px, rgba(255,255,255,0.15) 19px, rgba(255,255,255,0.15) 20px),
			repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(255,255,255,0.15) 19px, rgba(255,255,255,0.15) 20px),
			linear-gradient(180deg, #b3d6fb 0%, #e5eefd 60%) !important;
		border-color: #47a471 !important;
		border-width: 5px !important;
		box-shadow: 0px 0px 20px -10px rgba(71, 164, 113, 0.5) !important;
	}
	.business-canvas_circle_image {
		opacity: 1 !important;
	}
	.business-canvas_circle_image .is-default,
	.business-canvas_circle_image .is-active {
		display: none !important;
	}
	.business-canvas_circle_image .is-sp {
		display: block !important;
	}
	.business-canvas_circle_image > img {}
	.business-canvas_circle_text {}
	.business-canvas_circle_textWrap {}
	.business-canvas_circle_text_inner {}
	.business-canvas_circle-no1 {}
	.business-canvas_circle-no2 {}
	.business-canvas_circle-no3 {}
	.business-canvas_circle-no4 {}
	.business-canvas_progress {}
	.business-canvas_progress-main {}
	.business-canvas_areaText {
		display: none;
	}
	.business-canvas_areaText.is-show {}
	.business-canvas_num {}
	.business-canvas_headline {}
	.business-canvas_catch {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 10;
		transform: translate(-50%, -50%);
		text-align: center;
	}
	.business-canvas_catch > img {
		display: block;
		width: 150px;
		height: auto;
	}
	.event-item_info {}
	.event-item_info_inner {}
	.tool-intro_subImage {}
	.tool-intro_subImage > img {}

	/* --- タブレット: トップページ 採用セクション --- */
	.top-recruit {
		padding: 100px 0;
	}
	.top-recruit_inner {}
	.top-recruit_cols {
		display: block;
		max-width: 600px;
		margin: 0 auto;
	}
	.top-recruit_col {}
	.top-recruit_col-txt {
		display: flex;
		flex-direction: column;
	}
	.top-recruit_title {}
	.top-recruit_text {}
	.top-recruit_link {}
	.top-recruit_link > a {}
	.top-recruit_col-img {
		width: auto;
		padding: 0;
		max-width: 560px;
		margin: 100px auto 0;
	}
	.top-recruit_slide_inner {}
	.top-recruit_slide {
		display: block;
	}
	.top-recruit_slide_body {
		width: auto;
		margin-right: 0;
	}
	.top-recruit_slide_item {}
	.top-recruit_slide_item[data-index="1"] {}
	.top-recruit_slide_item[data-index="2"] {}
	.top-recruit_slide_item[data-index="3"] {}
	.top-recruit_slide_image {}
	.top-recruit_slide_image > img {}
	.top-recruit_list {
		display: flex;
		width: auto;
		margin-top: 40px;
		justify-content: center;
	}
	.top-recruit_list > li {}
	.top-recruit_list_btn {}
	.top-recruit_list_btn[aria-current="true"] {}

	/* --- タブレット: トップページ 会社紹介セクション --- */
	.top-company {}
	.top-company_inner {}
	.top-company_contents {}
	.top-company_title {}
	.top-company_text {}
	.top-company_link {}
	.top-company_body {
		margin-top: 0;
	}
	.top-company_deco {
		font-size: 120px;
	}
	.top-company_deco-top {}
	.top-company_cols {
		display: block;
		margin-right: -20px;
	}
	.top-company_cols::before {
		z-index: 2;
	}
	.top-company_cols::after {}
	.top-company_col {}
	.top-company_col-list {
		border-right: none;
		width: auto;
	}
	.top-company_list {}
	.top-company_list > li {}
	.top-company_list > li > a {
		position: relative;
	}
	.top-company_list > li:nth-last-child(n + 2) > a::before {
		right: -130px;
		z-index: 2;
		width: calc(200vw);
	}
	.top-company_list_bg {}
	.top-company_list_en {}
	.top-company_list_main {}
	.top-company_list_arrow {
		right: 150px;
	}
	.top-company_list_arrow > .icon {}
	.top-company_col-img {
		display: none;
	}
	.top-company_gallery {}
	.top-company_gallery_item {}
	.top-company_gallery_item_image {}
	.top-company_gallery_item_image > img {}
	.top-company_deco-bottom {}

	/* --- タブレット: トップページ イベントセクション --- */
	.top-event {
		margin-bottom: 100px;
	}
	.top-event_inner {}
	.top-event_contents {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.top-event_bg {}
	.top-event_bg_image > img {}
	.top-event_cols {}
	.top-event_col {}
	.top-event_col-txt {
		width: 330px;
	}
	.top-event_title {}
	.top-event_link {}
	.top-event_col-body {
		width: calc(100% - 330px);
	}
	.top-event_swiper {}
	.top-event_swiper_wrapper {}
	.top-event_swiper_item {}
	.top-event_swiper_item > a {}
	.top-event_bg_circle {
		left: 0;
		top: auto;
		margin-top: 0;
		transform: none;
		margin-left: 0;
		width: 1000px;
		height: 1000px;
	}
	.top-event_bg_circle-left {
		left: -500px;
		bottom: -500px;
	}
	.top-event_bg_circle-right {
		left: auto;
		right: -500px;
		top: -500px;
	}
	.event-item_title-small {}
	.event-item_info-small {}

	/* --- タブレット: トップページ ニュースセクション --- */
	.top-news {
		padding: 100px 0;
	}
	.top-news_inner {}
	.top-news_contents {
		position: relative;
		padding-bottom: 100px;
	}
	.top-news_title {
		margin-bottom: 40px;
	}
	.top-news_cols {
		display: block;
	}
	.top-news_col {
		width: auto;
		padding: 0;
	}
	.top-news_col-link {
		margin-bottom: 40px;
	}
	.top-news_link {
		position: absolute;
		bottom: 0;
		width: 100%;
		right: 0;
		margin: 0;
	}
	.top-news_col-body {}
	.top-news_panel {}
	.top-news_panel.is-show {}

	/* --- タブレット: トップページ 製品・サービスセクション --- */
	.top-service {
		padding: 100px 0;
	}
	.top-service_bg {
		transform: none;
		width: 700px;
		height: 700px;
		top: 0;
		left: 0;
	}
	.top-service_bg-no1 {
		margin-left: -240px;
		margin-top: -330px;
	}
	.top-service_bg-no2 {
		top: 430px;
		margin-left: auto;
		left: auto;
		right: 0;
		margin-right: -320px;
	}
	.top-service_bg-no3 {
		top: auto;
		bottom: 0;
		margin-left: -210px;
		margin-top: auto;
		margin-bottom: -220px;
	}
	.top-service_inner {}
	.top-service_title {}
	.top-service_text {}
	.top-service_sect {
		margin-bottom: 100px;
	}
	.top-service_sect:last-child {}
	.top-service_headline {}
	.top-service_headline_en {
		font-size: 26px;
		line-height: 40px;
	}
	.top-service_headline_main {}
	.top-service_swiper {}
	.top-service_areaBtn {}
	.top-service_swiper_btn {
		width: 50px;
		height: 50px;
		font-size: 11px;
	}
	.top-service_swiper_btn-prev {}
	.top-service_swiper_btn-next {}
	.top-service_swiper_wrapper {}
	.top-service_swiper_slide {
		min-height: 0;
	}
	.top-service_swiper_slide.is-active {}
	.top-service_swiper_slide > a {}
	.top-service_link {}
	.top-service_link-solution {}
	.top-service_link-products {}
	.top-service_swiperWrap {
		margin-top: -50px;
	}

	/* --- タブレット: トップページ 強みセクション --- */
	.top-strengths {
		padding: 40px 0;
	}
	.top-strengths_numbers {
		column-gap: 40px;
	}
	.top-strengths_number_value {
		font-size: 56px;
	}
	.top-strengths_number_suffix {
		font-size: 24px;
	}

	/* --- タブレット: トップページ メッセージセクション --- */
	.top-message {}
	.top-message_bg {}
	.top-message_bg-no1 {}
	.top-message_bg-no2 {
		width: 600px;
		height: 600px;
		margin-left: 120px;
		margin-top: 240px;
	}
	.top-message_bg-no3 {}
	.top-message_bg-no4 {}
	.top-message_bg-no5 {}
	.top-message_bg-no6 {}
	.top-message_inner {}
	.top-message_cols {}
	.top-message_col {}
	.top-message_col-txt {
		width: 430px;
	}
	.top-message_title {
		margin-bottom: 40px;
	}
	.top-message_title_en {
		font-size: 20px;
	}
	.top-message_title_en > .icon {}
	.top-message_title_text {}
	.top-message_title_main {
		font-size: 34px;
	}
	.top-message_title_main_inner {}
	.top-message_text {
		font-size: 18px;
	}
	.top-message_text:last-child {}
	.top-message_col-img {
		width: calc(100% - 430px);
	}
	.top-message_image {
		width: 500px;
	}
	.top-message_image > img {}

	/* --- タブレット: 固定セクションナビ・ヒーローセクション --- */
	.sticky-section-nav {}
	.sticky-section-nav_body {}
	.sticky-section-nav_body_inner {}
	.sticky-section-nav > a {}
	.sticky-section-nav_image {}
	.sticky-section-nav_image > img {}
	.sticky-section-nav_text {}
	.sticky-section-nav_arrow {}
	.hero-wrap {}
	.hero {}
	.hero_bg {}
	.hero_bg-no1 {}
	.hero_bg-no2 {}
	.hero_bg-no3 {}
	.hero_bg-no4 {}
	.hero_bg-no5 {}
	.hero_line {}
	.hero_line_vertical {
		width: 3px;
	}
	.hero_line_vertical_up {}
	.hero_line_item {}
	.hero_line_item-vUp {}
	.hero_line_vertical_down {}
	.hero_line_item-vDown {}
	.hero_line_horizontal {
		height: 3px;
	}
	.hero_line_item-h {}
	.hero_deco {}
	.hero_inner {
		min-height: 500px;
	}
	.hero_cols {}
	.hero_col {}
	.hero_col-txt {}
	.hero_title {}
	.hero_title_strong {}
	.hero_catch {
		font-size: 13px;
		margin-top: 20px;
	}
	.hero_catch_inner {}
	.hero_scroll {
		font-size: 11px;
	}
	.hero_scroll_bar {
		height: 110px;
	}
	.hero_scroll_bar_item {}
	.hero_scroll_text {}
	.hero_col-img {}
	.hero_image {}
	.hero_image > img {}
	.sticky-section-nav_btn {}
	.sticky-section-nav_btn::before {}
	.sticky-section-nav_btn::after {}
	.top-company_list_img {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 126px;
		height: 100%;
		border-left: 1px solid rgba(255, 255, 255, 0.50);
		z-index: 0;
	}
	.top-company_list_img > img {
		position: absolute;
		z-index: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	/* --- タブレット: トップページ 事業紹介セクション --- */
	.top-business {}
	.top-business_inner {}
	.top-business_title {}
	.top-business_canvas {}
	.top-business_canvas_inner {}
	.top-business_deco {
		font-size: 120px;
		margin-top: -100px;
	}
	.top-product-cat_cm {}
	.top-product-cat_cm_cols {}
	.top-product-cat_cm_col {}
	.top-product-cat_cm_col-img {}
	.top-product-cat_cm_image {}
	.top-product-cat_cm_image > img {}
	.top-product-cat_cm_col-no2 {}
	.top-product-cat_cm_text {}
	.top-product-cat_cm_link {
		margin-top: 13px;
	}
	.top-product-cat_cm_link > a {}
	.top-service_pickSwiper {}
	.top-service_pickSwiper_wrapper {}
	.top-service_pickSwiper_slide {}
	.top-service_pickup {}
	.top-service_swiper_pagination {}
	/* --- タブレット: お客様の声（VOICE） --- */
	.top-voice {
		margin-top: 70px;
	}
	.top-voice_cards {
		max-width: 100%;
	}
	.top-event_bg_image {}
	.top-recruit_swiper {
		padding: 0;
	}
	.top-recruit_swiper_wrapper {}
	.top-recruit_swiper_slide {}
	.top-recruit_swiper .top-recruit_swiper_pagination {
		position: static;
		flex-direction: row;
		margin-top: 43px;
	}
	.top-recruit_swiper_image {}
	.top-recruit_swiper_image > img {}
	.top-company_deco_inner {}
	.top-company_deco_inner-top {}
	.top-company_deco_inner-bottom {}
	.hero_title_row {}
	.hero_title_row-last {}
	.hero_title_caret {}
	.hero_title_caret.is-show {}
	.hero_title_row_char {}
	.hero_title_row_char-last {}
	.hero_title_caret-large {}
	.hero_catch_char {}
	.hero_catch_inner.is-show .hero_catch_char {}
	.hero_scrollWrap {}
	.hero_scrollWrap_inner {}
	.hero_title_chars {}
	.top-business_number {
		font-size: 140px;
		margin-top: -160px;
	}
	.top-business_number_inner {}
	.top-business_number_text {}
	.top-business_areaText {
		margin-top: -100px;
	}
	.top-business_areaText_inner {}
	.top-business_text {
		margin-bottom: 20px;
	}
	.top-business_link {}
	.top-business_trigger {}
	.top-business_trigger-no1 {}
	.top-business_trigger-no2 {}
	.top-business_trigger-no3 {}
	.top-business_trigger-no4 {}
	.top-business_contents {}
	.business-canvas_areaText-top {
		display: block;
	}
	.top-business_trigger-sp {}
	.top-business_trigger-pc {}
	.top-business_container {}
	.top-business_container_body {}
	.top-business_deco_inner {}
	.business_circle {
		top: -80px;
	}
	.business_circle_item {
		right: 0;
		width: 400px;
		height: 400px;
		left: auto;
		margin-left: 0px;
		transform: translateX(50%);
		margin-right: 60px;
	}
	.top-fix-label {
		display: none;
	}
	.top-fix-label[data-color="white"] {}
	.top-fix-label_bracket {}
	.top-fix-label_bracket-first {}
	.top-fix-label_text {}
	.top-fix-label_bracket-last {}
	.top-message_textWrap {}
	.top-message_text-shadow {}
	.top-message_text_inner {}
	[data-animation="after"] .top-message_text-shadow .top-message_text_inner {}
	.top-product-cat_caution {}
	.about-think_mainImage_cols {}
	.about-think_mainImage_col {}
	.about-think_mainImage_col-main {}
	.about-think_mainImage_image {}
	.about-think_mainImage_image > img {}
	.about-think_mainImage_col-sign {}
	.about-think_mainImage_sign {
		border-width: 2px;
		height: 15px;
	}
	.about-think_mainImage_col-logo {}
	.about-think_mainImage_logo {}
	.about-think_mainImage_logo > img {}
	.business_text {}
	.business-closing_orbit {
		top: 49%;
	}
	@keyframes closingOrbit {
		0% { transform: rotate(0deg) translateX(clamp(100px, 18vw, 200px)) rotate(90deg); }
		100% { transform: rotate(360deg) translateX(clamp(100px, 18vw, 200px)) rotate(90deg); }
	}
	.business-closing_text {
		font-size: 20px;
		margin-top: 40px;
	}
	.business-cards {
		flex-direction: column;
		gap: 20px;
		padding: 0 15px;
	}
	.priv_subhead {}
	.solution-outline_box_hr {}
	.solution-outline_box_figs {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.solution-outline_box_figs_cell {}
	.solution-outline_box_figs_cell:nth-child(n + 2) {
		margin-top: 45px;
	}
	.solution-outline_box_fig {}
	.solution-outline_box_fig > img {}
	.solution-outline_box_fig > figcaption {
		font-size: 18px;
		margin-top: 20px;
	}
	.solution-outline_box_text {
		margin-top: 10px;
	}
	.strength_app {}
	.strength_app_subhead {}
	.strength_app_image {}
	.strength_app_image > img {}

	/* --- タブレット: キーDX・アドオンシステム・TPICSデータ --- */
	.key-dx {}
	.key-dx_cols {}
	.key-dx_col {}
	.key-dx_col-no1 {}
	.key-dx_title {}
	.key-dx_item {}
	.key-dx_image {}
	.key-dx_image > img {}
	.key-dx_arrow {}
	.key-dx_arrow > img {}
	.key-dx_col-no2 {}
	.key-dx_subhead {}
	.key-dx_imageLine {}
	.key-dx_imageLine > img {}
	.key-dx_imageDevice {
		max-width: 500px;
	}
	.key-dx_imageDevice > img {}
	.strength_figs {}
	.strength_figs_item {}
	.strength_figs_item > img {}
	.strength_logo {}
	.strength_logo > img {}
	.strength_image {}
	.strength_image > img {}
	.addon-system {}
	.addon-system_title {}
	.addon-system_box {}
	.addon-system_inner {
		column-gap: 10px;
	}
	.addon-system_cell {}
	.addon-system_cell:nth-child(n + 4) {}
	.addon-system_cell:nth-child(3n + 1)::before {}
	.addon-system_cell:first-child::before {}
	.addon-system_headline {
		margin-bottom: 8px;
		font-size: 18px;
	}
	.addon-system_headline_main {}
	.addon-system_list {}
	.addon-system_list > li {}
	.addon-system_list > li:nth-child(n + 2) {
		margin-top: 0;
	}
	.tpics-data {}
	.tpics-data_caution {
		display: block;
		font-size: 14px;
	}
	.tpics-data_tableWrap {
		overflow: auto;
		margin-right: -20px;
	}
	.tpics-data_tableWrap_contents {
		width: 1000px;
		box-sizing: border-box;
		padding-right: 20px;
	}
	.tpics-data_table {
		font-size: 13px;
	}
	.tpics-data_table > caption {}
	.tpics-data_table > thead {}
	.tpics-data_table > thead > tr {}
	.tpics-data_table > thead > tr > th {}
	.tpics-data_table > thead > tr > td {}
	.tpics-data_table > tbody {}
	.tpics-data_table > tbody > tr {}
	.tpics-data_table > tbody > tr > th {}
	.tpics-data_table > tbody > tr > td {}
	.form_box_names {}
	.form_box_names_cell {}
}

@media screen and (max-width: 999px) {
	.service-header_img {
		height: 350px;
		bottom: -200px;
	}
	.solution-header_img {
		height: 250px;
		bottom: -200px;
	}
	.contact-charImg--left {
		height: 35%;
	}
	.contact-charImg--right {
		height: 40%;
	}
}

/* ################################################################
   レスポンシブ対応：SP（767px以下） — スマートフォン向けレイアウト
   ################################################################ */
@media screen and (max-width: 767px) {

	.splash_logo {
		max-width: 100px;
	}

	html, body {
		overflow-x: hidden;
	}
	.service-header_img {
		height: 120px;
		bottom: -320px;
	}
	.solution-header_img {
		height: 100px;
		bottom: -20px;
	}
	.contact-charImg {
		height: 50%;
	}
	.contact-charImg--left {
		left: 5px;
		height: 25%;
	}
	.contact-charImg--right {
		right: 5px;
		height: 30%;
	}
	.fourlayer-img {
		height: 120px;
		margin-bottom: 70px;
	}

	/* --- SP: 代表メッセージ・ワイド画像 --- */
	.corp-message {}
	.intro-wide-image {
		height: 240px;
		margin-bottom: 40px;
	}
	.intro-wide-image-mbL {
		margin-bottom: 40px;
	}
	.intro-wide-image > img {}
	.corp-message_bgCircle {}
	.corp-message_areaTxt {
		padding-bottom: 60px;
	}
	.corp-message_inner {}
	.corp-message_title {}
	.corp-message_headline {}
	.corp-message_text {
		font-size: 17px;
		line-height: 1.8;
		margin-bottom: 20px;
	}
	.corp-message_name {
		font-size: 22px;
		margin-top: 25px;
	}
	.corp-message_name_post {
		font-size: 15px;
	}
	.corp-message_name_main {}
	.corp-message_bgCircle-left {}
	.corp-message_bgCircle-right {}

	/* --- SP: 企業情報ページ：会社概要・沿革・組織・パートナー --- */
	.area-outline {}
	.outline-company {
		margin-bottom: 65px;
	}
	.outline-company_contents {}
	.outline-company_contents_inner {}
	.outline-company_cols {}
	.outline-company_col {}
	.outline-company_col-ttl {
		margin-bottom: 25px;
	}
	.outline-company_title {}
	.outline-company_col-txt {}
	.outline-company_areaTbl {}
	.outline-company_table {}
	.outline-company_table > tbody {}
	.outline-company_table > tbody > tr {}
	.outline-company_table > tbody > tr > th {}
	.outline-company_table > tbody > tr > td {}
	.outline-company_list {
		line-height: 2;
	}
	.outline-company_list > li {}
	.outline-company_list > li > a {}
	.outline-company_cTbl {}
	.outline-company_cTbl > tbody {}
	.outline-company_cTbl > tbody > tr {}
	.outline-company_cTbl > tbody > tr > th {
		width: 140px;
		padding-right: 10px;
	}
	.outline-company_cTbl > tbody > tr > td {
		padding: 0 10px;
	}
	.outline-company_tblTxt {}
	.outline-company_tblTxt_note {
		display: block;
		margin-left: 0;
	}
	.outline-history {
		margin-bottom: 65px;
	}
	.outline-history_contents {
		padding-top: 55px;
		padding-bottom: 80px;
	}
	.outline-history_contents_inner {}
	.outline-history_title {}
	.outline-history_areaTxt {
		padding: 30px 15px;
	}
	.outline-history_areaTxt_inner {}
	.outline-history_table {}
	.outline-history_table > tbody {}
	.outline-history_table > tbody > tr {}
	.outline-history_table > tbody > tr > th {}
	.outline-history_table > tbody > tr > td {}
	.outline-organization {
		margin-bottom: 60px;
	}
	.outline-organization_contents {}
	.outline-organization_contents_inner {}
	.outline-organization_title {}
	.outline-organization_areaImg {}
	.outline-organization_image {}
	.outline-organization_image > img {}
	.outline-partners {
		margin-bottom: 65px;
	}
	.outline-partners_contents {
		padding-bottom: 70px;
		padding-top: 55px;
	}
	.outline-partners_contents_inner {}
	.outline-partners_title {}
	.outline-partners_areaTbl {}
	.outline-partners_table {}
	.outline-partners_table > tbody {}
	.outline-partners_table > tbody > tr {}
	.outline-partners_table > tbody > tr > th {}
	.outline-partners_table > tbody > tr > td {}
	.outline-partners_tblList {}
	.outline-partners_tblList > li {}
	.area-outline_inner {}

	/* --- SP: DXナビゲーション --- */
	.dx-nav {}
	.dx-nav_inner {}
	.dx-nav_contents {}
	.dx-nav_areaTxt {
		min-width: 0;
		width: auto;
		border-radius: var(--radius-sm);
		padding: 20px;
		background-color: rgba(4, 55, 111, 0.6);
		min-height: 0;
	}
	.dx-nav_areaTxt_inner {
		max-width: none;
	}
	.dx-nav_title {
		font-size: 14px;
		margin-bottom: 20px;
	}
	.dx-nav_en {
		font-size: 28px;
	}
	.dx-nav_main {}
	.dx-nav_text {
		font-size: 14px;
	}
	.dx-nav_link {
		margin-top: 20px;
		max-width: none;
	}
	.dx-nav_bg {}
	.dx-nav_bg > img {}

	/* --- SP: グループ会社ページ：拠点・支社・子会社・役員 --- */
	.group-head {
		margin-bottom: 55px;
	}
	.group-head_contents {}
	.group-head_contents_inner {}
	.group-head_title {}
	.group-head_image {
		margin-bottom: 30px;
	}
	.group-head_image > img {}
	.group-head_headline {
		margin-bottom: 0;
	}
	.group-head_table {}
	.group-head_table > tbody {}
	.group-head_table > tbody > tr {}
	.group-head_table > tbody > tr > th {}
	.group-head_table > tbody > tr > td {}
	.group-head_mail {}
	.group-head_mail > a {}
	.group-head_list {}
	.group-head_list > li {
		margin-top: 5px;
	}
	.group-head_list > li:first-child {}
	.group-head_note {
		margin-top: 15px;
	}
	.group-head_note > a {}
	.group-head_note > a > .icon {}
	.group-head_map {
		margin-top: 20px;
		padding-bottom: 50%;
	}
	.group-head_map > iframe {}
	.group-branch {
		margin-bottom: 65px;
	}
	.group-branch_contents {}
	.group-branch_contents_inner {}
	.group-branch_title {}
	.group-branch_cell {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.group-branch_cell:last-child {}
	.group-branch_cols {}
	.group-branch_col {}
	.group-branch_col-txt {
		margin-bottom: 25px;
	}
	.group-branch_cCols {
		display: block;
	}
	.group-branch_cCol {
		width: auto;
	}
	.group-branch_cCol-ttl {
		margin-bottom: 15px;
	}
	.group-branch_office {}
	.group-branch_office_type {}
	.group-branch_office_main {}
	.group-branch_cCol-txt {}
	.group-branch_add {}
	.group-branch_tel {}
	.group-branch_tel > a {}
	.group-branch_mail {}
	.group-branch_mail > a {}
	.group-branch_box {}
	.group-branch_headline {}
	.group-branch_list {}
	.group-branch_list > li {}
	.group-branch_list > li::before {}
	.group-branch_link {
		margin: 30px auto 0;
	}
	.group-branch_col-img {
		padding-left: 0;
	}
	.group-branch_image {
		margin-left: auto;
		margin-right: auto;
	}
	.group-branch_image > img {}
	.group-companies {}
	.group-companies_contents {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.group-companies_contents_inner {}
	.group-companies_title {}
	.group-companies_cell {
		margin-bottom: 60px;
	}
	.group-companies_headline {}
	.group-companies_cols {
		display: block;
	}
	.group-companies_col {
		width: auto;
		max-width: none;
	}
	.group-companies_col-img {
		margin-bottom: 20px;
	}
	.group-companies_image {}
	.group-companies_image > img {}
	.group-companies_col-txt {}
	.group-companies_subhead {
		margin-bottom: 10px;
	}
	.group-companies_text {}
	.group-companies_link {
		margin: 30px auto 0;
	}
	.group-member {}
	.group-member_cells {
		display: block;
		max-width: 400px;
		margin: 0 auto;
	}
	.group-member_cell {
		padding: 20px 20px 25px;
		border-left: none;
	}
	.group-member_cell:nth-child(n + 2) {
		border-top: 1px solid var(--color-border-light);
	}
	.group-member_cell:nth-child(3n + 1) {}
	.group-member_cell_inner {
		display: block;
	}
	.group-member_fig {
		margin-bottom: 10px;
	}
	.group-member_fig > img {
		max-width: 240px;
		margin: 0 auto;
	}
	.group-member_fig > figcaption {
		margin-top: 20px;
		font-size: 18px;
	}
	.group-member_text {
		margin-bottom: 0;
		font-size: 14px;
	}
	.group-member_link {}

	/* --- SP: アズールクラロ沼津（スポンサー） --- */
	.azul {
		padding: 25px 15px;
	}
	.azul_inner {}
	.azul_sponsor {}
	.azul_sponsor_main {}
	.azul_cols {
		display: block;
	}
	.azul_col {
		width: auto;
	}
	.azul_col-img {
		max-width: 150px;
		margin: 0 auto 25px;
	}
	.azul_logo {}
	.azul_logo > img {}
	.azul_col-txt {}
	.azul_title {
		text-align: center;
	}
	.azul_message {
		font-size: 22px;
		text-align: center;
	}
	.azul_message_span {}
	.azul_message_span:first-child {}
	.azul_text {
		font-size: 14px;
		line-height: 1.8;
	}
	.azul_link {
		margin: 25px auto 0;
	}
	.azul_link > a {}

	/* --- SP: ページャー（ページネーション） --- */
	.pager {
		margin-top: 45px;
	}
	.pager > a,
	.pager > span {
		margin: 5px;
		min-width: 42px;
		height: 42px;
	}
	.pager > .previouspostslink {}
	.pager > .current {}
	.pager > .extend {}
	.pager > .nextpostslink {}

	/* --- SP: ニュース一覧・ニュース詳細 --- */
	.news {}
	.news_inner {}
	.news_cols {}
	.news_col {}
	.news_col-side {
		margin-bottom: 10px;
	}
	.news_catList {
		grid-template-columns: repeat(2, 1fr);
		padding: 6px;
		display: none;
	}
	.news_catList > li {}
	.news_catList > li:nth-child(n + 2) {}
	.news_catList_item {
		font-size: 14px;
		padding-left: 25px;
		border-radius: 4px;
	}
	.news_catList_item::before {
		left: 12px;
	}
	.news_catList_item[aria-current="page"] {}
	.news_col-main {}
	.news-list {}
	.news-list > li {}
	.news-list > li > a {}
	.news-item {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.news-item::after {}
	.news-item_areaCat {
		margin-bottom: 12px;
	}
	.news-item_update {}
	.news-item_update > time {}
	.news-item_cat {
		margin-left: 15px;
	}
	.news-item_text {}
	.news-item_icon {}
	.area-entry {}
	.area-entry_catWrap {}
	.area-entry_update {}
	.area-entry_update > time {}
	.area-entry_cat {}
	.area-entry_cat > a {}
	.area-entry_title {
		font-size: 28px;
	}
	.entry {}
	.entry_body {
		padding-bottom: 45px;
	}
	.entry_body::after {}
	.entry_editor {}
	.entry_link {
		margin-top: 55px;
	}
	.entry_link > a {}

	/* --- SP: イベント一覧・イベント詳細・イベントナビ --- */
	.area-event {
		padding-top: 60px;
		padding-bottom: 50px;
	}
	.area-event_inner {}
	.area-event_list {
		display: block;
	}
	.area-event_list > li {}
	.area-event_list > li:nth-child(n + 2) {
		margin-top: 35px;
	}
	.area-event_list > li > a {}
	.event-item {}
	.event-item_areaImg {
		margin-bottom: 20px;
	}
	.event-item_image {}
	.event-item_image > img {}
	.event-item_areaTxt {}
	.event-item_catList {
		margin-bottom: 10px;
	}
	.event-item_catList > li {}
	.event-item_cat {}
	.event-item_title {
		font-size: 14px;
		margin-bottom: 20px;
		line-height: 1.8;
	}
	.event-item_table {
		font-size: 12px;
	}
	.event-item_table > tbody {}
	.event-item_table > tbody > tr {}
	.event-item_table > tbody > tr:first-child {}
	.event-item_table > tbody > tr > th {}
	.event-item_table > tbody > tr > td {}
	.event-item_endTxt {}
	.event-item_endTxt_main {}
	.event-detail {
		padding-top: 55px;
		padding-bottom: 50px;
		margin-bottom: 40px;
	}
	.event-detail_inner {}
	.event-detail_cols {}
	.event-detail_col {}
	.event-detail_col-img {}
	.event-detail_areaImg {}
	.event-detail_image {}
	.event-detail_image > img {}
	.event-detail_col-txt {
		padding: 10px 20px;
	}
	.event-detail_areaTxt {}
	.event-detail_areaTxt-narrow {}
	.event-detail_txtBox {
		margin-top: 40px;
	}
	.event-item_title-large {
		font-size: 18px;
	}
	.event-item_cat > a {}
	.event-detail_text {}
	.event-detail_infoTable {}
	.event-detail_infoTable > tbody {}
	.event-detail_infoTable > tbody > tr {}
	.event-detail_infoTable > tbody > tr > th {}
	.event-detail_infoTable > tbody > tr > th::after {}
	.event-detail_infoTable > tbody > tr > td {}
	.event-nav {}
	.event-nav_inner {}
	.event-nav_cols {
		display: block;
		margin-bottom: 30px;
	}
	.event-nav_col {
		width: auto;
	}
	.event-nav_col-ttl {
		margin-bottom: 20px;
	}
	.event-nav_title {}
	.event-nav_title_en {
		font-size: 32px;
	}
	.event-nav_col-link {
		max-width: 196px;
		margin-left: auto;
	}
	.event-nav_link {}
	.event-nav_list {
		display: block;
	}
	.event-nav_list > li {}
	.event-nav_list > li:nth-child(n + 2) {
		margin-top: 30px;
	}
	.event-nav_list > li > a {}
	.event-detail_ttlBox {
		padding: 25px 20px;
	}
	.event-detail_ttlBox_inner {}
	.event-item_table-flex {}
	.event-item_table-flex > tbody {
		display: block;
	}
	.event-item_table-flex > tbody > tr {
		margin-top: 8px;
	}
	.event-item_table-flex > tbody > tr:last-child {}

	/* --- SP: 企業情報カード・企業ナビ・セクションナビ --- */
	.corp {
		margin-bottom: 60px;
	}
	.corp_inner {}
	.corp_cells {
		display: block;
		max-width: 590px;
		margin: 0 auto;
	}
	.corp_cell {}
	.corp_cell:nth-child(n + 2) {
		margin-top: 30px;
	}
	.corp_cell > a {}
	.about-item {
		padding: 10px 10px 20px;
		height: auto;
	}
	.about-item-spFit {
		height: 100%;
	}
	.about-item-nav {}
	.about-item_areaImg {}
	.about-item_image {
		max-width: none;
	}
	.about-item_image > img {}
	.about-item_message {
		font-size: 18px;
		left: -10px;
	}
	.about-item_message_main {
		padding-left: 10px;
	}
	.about-item_areaTxt {
		margin-top: 20px;
	}
	.about-item_areaTxt-nav {}
	.about-item_title {
		font-size: 20px;
	}
	.about-item_title_en {
		font-size: 14px;
	}
	.about-item_title_main {}
	.about-item_text {
		font-size: 14px;
		line-height: 1.8;
		margin-bottom: -30px;
	}
	.about-item_text-small {
		padding-right: 40px;
		font-size: 12px;
	}
	.about-item_arrow {
		width: 28px;
		height: 28px;
		font-size: 10px;
	}
	.about-item_arrow-nav {}
	.corp-nav {
		padding-top: 55px;
		padding-bottom: 60px;
	}
	.corp-nav_inner {}
	.corp-nav_list {
		display: block;
		max-width: 430px;
		margin: 0 auto;
	}
	.corp-nav_list > li {}
	.corp-nav_list > li:nth-child(n + 2) {
		margin-top: 25px;
	}
	.corp-nav_list > li > a {}
	.about-item_navTtl {
		margin-bottom: -28px;
	}
	.about-item_navTtl_en {}
	.about-item_navTtl_main {}
	.section-nav {}
	.section-nav > a {}
	.section-nav_bg {}
	.section-nav_bg::before {}
	.section-nav_bg > img {}
	.section-nav_inner {}
	.section-nav_areaTxt {
		padding: 20px 20px;
		min-height: 0;
	}
	.section-nav_cols {}
	.section-nav_col {}
	.section-nav_col-ttl {
		margin-bottom: 10px;
	}
	.section-nav_title {}
	.section-nav_title_en {
		font-size: 14px;
	}
	.section-nav_col-txt {
		padding-right: 0;
	}
	.section-nav_message {
		font-size: 17px;
		margin-bottom: 6px;
	}
	.section-nav_text {
		line-height: 1.8;
		padding-right: 45px;
		font-size: 14px;
		min-height: 36px;
	}
	.section-nav_arrow {
		transform: none;
		width: 34px;
		height: 34px;
		font-size: 10px;
		bottom: 0;
		top: auto;
	}

	/* --- SP: DXビジョン2030・サステナビリティ --- */
	.dx {}
	.dx_bg {
		padding-bottom: 260px;
	}
	.dx_bg > img {}
	.dx-mission {
		padding-top: 45px;
		padding-bottom: 50px;
	}
	.dx-mission_inner {}
	.dx-mission_title {}
	.dx-mission_message {
		font-size: 22px;
		margin-bottom: 35px;
	}
	.dx-mission_message_point {}
	.dx-mission_text {
		font-size: 18px;
		line-height: 1.75;
	}
	.dx-mission_text {
		font-size: 17px;
	}
	.dx-vision {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.dx-vision_inner {}
	.dx-vision_title {
		margin-bottom: 35px;
	}
	.dx-vision_title_en {
		font-size: 48px;
	}
	.dx-vision_title_main {}
	.dx-vision_message {
		margin-bottom: 50px;
	}
	.dx-vision_cells {
		display: block;
	}
	.dx-vision_cell {}
	.dx-vision_cell:nth-child(n + 2) {
		margin-top: 30px;
	}
	.dx-vision_icon {}
	.dx-vision_icon > img {}
	.dx-vision_headline {
		align-items: center;
	}
	.dx-vision_headline_main {}
	.dx-vision_headline_main:last-child {}
	.dx-vision_text {}
	.sustain {}
	.sustain_title {
		margin-bottom: 25px;
	}
	.sustain_title > img {}
	.sustain_image {
		margin-bottom: 30px;
	}
	.sustain_image > img {}
	.sustain_text {
		margin-bottom: 45px;
	}
	.sustain_cell {
		margin-bottom: 45px;
	}
	.sustain_cell:last-child {}
	.sustain_headline {
		font-size: 24px;
		margin-bottom: 15px;
	}
	.sustain_headline_mark {}
	.sustain_list {}
	.sustain_list > li {}
	.sustain_list > li:nth-child(n + 2) {}

	/* --- SP: ツール製品紹介・特長・機能・ステップ・FAQ・価格・動画 --- */
	.tool {}
	.tool-intro {
		padding-top: 50px;
		padding-bottom: 50px;
		margin-bottom: 40px;
	}
	.tool-intro_contents_inner {}
	.tool-intro_cols {
		display: flex;
		flex-direction: column-reverse;
	}
	.tool-intro_col {}
	.tool-intro_col-txt {
		margin-top: 20px;
		margin-bottom: 0;
	}
	.tool-intro_title {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.tool-intro_title::after {}
	.tool-intro_text {}
	.tool-intro_col-img {
		max-width: 400px;
		margin: 0 auto 30px;
	}
	.tool-intro_image {}
	.tool-intro_image > img {}
	.news-section {
		margin-bottom: 55px;
	}
	.news-section_inner {}
	.news-section_cols {
		display: block;
	}
	.news-section_col {
		width: auto;
	}
	.news-section_col-ttl {
		padding-top: 0;
		margin-bottom: 15px;
	}
	.news-section_title {}
	.news-section_col-list {}
	.tool-solution {
		margin-bottom: 60px;
	}
	.tool-solution_contents {
		padding-top: 50px;
		padding-bottom: 65px;
	}
	.tool-solution_contents_inner {}
	.tool-solution_title {}
	.tool-solution_headline {}
	.solution-box {
		margin-bottom: 35px;
	}
	.solution-box_cells {
		display: block;
		max-width: 280px;
		margin: 0 auto;
	}
	.solution-box_cell {}
	.solution-box_cell:nth-child(n + 2) {
		margin-top: 20px;
	}
	.solution-box_areaImg {
		margin-bottom: 15px;
		padding: 20px;
	}
	.solution-box_image {}
	.solution-box_image > img {}
	.solution-box_areaTxt {}
	.solution-box_subhead {
		font-size: 16px;
		text-align: center;
	}
	.solution-box_text {}
	.tool-problems {
		padding: 30px 20px;
	}
	.tool-problems_inner {}
	.tool-problems_cell {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.tool-problems_cell:last-child {}
	.tool-problems_cols {}
	.tool-problems_col {}
	.tool-problems_col-ttl {
		margin-bottom: 15px;
	}
	.tool-problems_areaTtl {}
	.tool-problems_number {
		font-size: 45px;
		min-width: 55px;
	}
	.tool-problems_title {}
	.tool-problems_col-txt {}
	.tool-problems_list {}
	.tool-problems_list > li {}
	.tool-problems_list > li:nth-child(n + 2) {}
	.tool-problems_title_sub {
		font-size: 14px;
	}
	.tool-features {
		margin-bottom: 50px;
	}
	.tool-features_contents {}
	.tool-features_contents_inner {}
	.tool-features_title {}
	.strength {}
	.strengtd {}
	.strength_cell {
		margin-bottom: 40px;
	}
	.strength_cell:last-child {}
	.strength_areaTitle {
		margin-bottom: 10px;
	}
	.strength_number {}
	.strength_headline {}
	.strength_text {}
	.tool-function {
		margin-bottom: 55px;
	}
	.tool-function_contents {
		padding-top: 50px;
		padding-bottom: 60px;
	}
	.tool-function_contents_inner {}
	.tool-function_title {}
	.tool-function_box {}
	.tool-function_box_inner {}
	.tool-function_headline {}
	.tool-function_headline_main {}
	.tool-function_cells {
		display: block;
		margin-bottom: 50px;
	}
	.tool-function_cells:last-child {}
	.tool-function_cell {
		padding: 15px 0;
	}
	.tool-function_cols {
		max-width: none;
	}
	.tool-function_col {}
	.tool-function_col-img {}
	.tool-function_icon {}
	.tool-function_icon > img {}
	.tool-function_col-txt {}
	.tool-function_subhead {
		font-size: 17px;
	}
	.tool-function_text {}
	.tool-step {}
	.tool-step_cell {}
	.tool-step_cell:last-child {}
	.tool-step_cols {}
	.tool-step_col {}
	.tool-step_col-number {
		width: 70px;
	}
	.tool-step_col-number::after {
		top: 75px;
		height: calc(100% - 54px);
	}
	.tool-step_col-number-last::after {}
	.tool-step_number {
		font-size: 15px;
		height: 70px;
	}
	.tool-step_col-txt {
		width: calc(100% - 90px);
	}
	.tool-step_areaTxt {
		padding: 15px;
		min-height: 70px;
	}
	.tool-step_headline {
		margin-bottom: 10px;
		font-size: 17px;
	}
	.tool-step_text {
		line-height: 1.4;
		padding-top: 10px;
	}
	.tool-faq {}
	.tool-faq_contents {}
	.tool-faq_contents_inner {}
	.tool-faq_title {}
	.faq {}
	.faq:last-child {}
	.faq_inner {}
	.faq_title {}
	.faq_title_btn {
		padding: 16px;
		padding-left: 50px;
		padding-right: 40px;
		font-size: 16px;
		line-height: 1.8;
	}
	.faq_title_btn::after {}
	.faq_title_btn_mark {
		font-size: 30px;
		left: 10px;
		top: 27px;
	}
	.faq_title_btn_open {
		right: 15px;
		width: 15px;
		height: 15px;
	}
	.faq_title_btn_open::before {}
	.faq_title_btn_open::after {}
	.faq_answer {
		padding: 0 15px 15px;
	}
	.is-show.faq_answer {}
	.faq_text {}
	.tool-function_cell-noBorder {
		border-bottom: 1px solid var(--color-light-gray);
	}
	.tool-step_headWrap {
		display: block;
	}
	.tool-step_headNote {
		margin-left: 0;
		font-size: 12px;
	}
	.faq_answer_inner {
		padding: 15px;
	}
	.spread {
		margin-bottom: 45px;
		margin-top: 30px;
		padding: 25px 20px 30px;
	}
	.spread_inner {}
	.spread-step {}
	.spread-step_cells {
		display: block;
		max-width: 359px;
		margin: 0 auto;
	}
	.spread-step_cell {}
	.spread-step_image {
		margin-bottom: 18px;
	}
	.spread-step_image > img {}
	.spread-step_number {}
	.spread-step_number_main {}
	.spread-step_title {}
	.spread-step_arrow {
		padding-top: 0;
		transform: rotate(90deg);
	}
	.spread-skill {}
	.spread-skill_image {
		margin-bottom: 15px;
	}
	.spread-skill_image > img {}
	.spread-skill_cells {
		display: block;
		max-width: 353px;
		margin: 0 auto 30px;
	}
	.spread-skill_cell {}
	.spread-skill_cell:nth-child(n + 2) {
		margin-top: 30px;
	}
	.spread-skill_subImage {
		margin-bottom: 15px;
	}
	.spread-skill_subImage > img {}
	.spread-skill_title {}
	.spread-skill_text {}
	.spread-skill_message {
		font-size: 18px;
	}
	.spread-public {}
	.spread-public_cell {
		padding: 15px;
	}
	.spread-public_title {
		font-size: 20px;
		margin-bottom: 10px;
	}
	.spread-public_list {
		margin-bottom: 30px;
		font-size: 16px;
		line-height: 1.2;
		column-gap: 10px;
		row-gap: 10px;
	}
	.spread-public_list_item {
		padding: 15px 10px;
	}
	.spread-public_list_item:nth-child(n + 2) {}
	.spread-public_list_item-wide {}
	.spread-public_list_item-light {}
	.spread-public_list_item-white {}
	.spread-public_list:last-child {}
	.tool-problems_list_note {}
	.tool-function_miniCell {
		max-width: none;
	}
	.tool-function_miniCell:last-child {}
	.tool-function_miniCellTitle {}
	.tool-function_text {}
	.tool-step_contents {
		padding-top: 55px;
		padding-bottom: 60px;
		margin-bottom: 55px;
	}
	.tool-step_contents_inner {}
	.tool-step_title {}
	.tool-price {
		margin-top: 60px;
	}
	.tool-price_title {}
	.tool-price_cols {
		display: block;
	}
	.tool-price_col {
		width: auto;
	}
	.tool-price_col-no1 {
		margin-bottom: 20px;
	}
	.tool-price_areaTxt {
		padding: 20px;
	}
	.tool-price_text {
		font-size: 20px;
	}
	.tool-price_text_en {}
	.tool-price_text_main {}
	.tool-price_fee {
		font-size: 28px;
		line-height: 1.5;
	}
	.tool-price_yen_unit {}
	.tool-price_col-no2 {}
	.tool-video {
		margin-bottom: 60px;
	}
	.tool-video_contents {}
	.tool-video_contents_inner {}
	.tool-video_title {}
	.tool-video_areaMovie {}
	.tool-video_movie {}
	.tool-video_movie > iframe {}
	.tool-problems_inner-narrow {}

	/* --- SP: ソリューション詳細・サービス・強み・製品紹介 --- */
	.solution-visual {
		margin-bottom: 40px;
	}
	.solution-visual_image {
		padding-bottom: 41.6%;
	}
	.solution-visual_image > img {}
	.solution-visual_image-right > img {}
	.solution-outline {
		margin-bottom: 45px;
	}
	.solution-outline_contents {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.solution-outline_contents_inner {}
	.solution-outline_title {}
	.solution-outline_headline {}
	.solution-outline_text {
		margin-bottom: 20px;
	}
	.solution-outline_box {
		padding: 20px;
	}
	.solution-outline_box_inner {}
	.solution-outline_subhead {
		margin-bottom: 15px;
	}
	.solution-outline_subhead_main {}
	.solution-outline_list {
		display: block;
	}
	.solution-outline_list > li {}
	.solution-service {
		margin-bottom: 50px;
	}
	.solution-service_contents {}
	.solution-service_contents_inner {}
	.solution-service_title {}
	.solution-service_headline {}
	.solution-service_text {
		margin-bottom: 30px;
	}
	.solution-service_cell {}
	.solution-service_subhead {
		margin-bottom: 20px;
	}
	.solution-service_subhead_main {}
	.solution-strength {}
	.solution-strength_contents {
		padding-top: 50px;
		padding-bottom: 60px;
	}
	.solution-strength_contents_inner {}
	.solution-strength_title {}
	.strength_number-white {}
	.solution-point {
		margin-top: 35px;
		border-width: 1px;
		padding: 22px 0;
	}
	.solution-point_cols {
		display: block;
	}
	.solution-point_col {
		width: auto;
	}
	.solution-point_col-img {}
	.solution-point_image {}
	.solution-point_image > img {}
	.solution-point_col-txt {
		margin-bottom: 15px;
	}
	.solution-point_areaTxt {}
	.solution-point_title {}
	.solution-point_title_main {}
	.solution-point_text {}
	.solution-point_name {
		text-align: right;
		line-height: 1.8;
	}
	.solution-point_name_post {}
	.solution-point_name_main {}
	.solution-point_name_main > small {}
	.stength_areaTbl {
		padding: 20px;
		margin-top: 30px;
	}
	.stength_areaTbl_inner {}
	.stength_table {}
	.stength_table > tbody {}
	.stength_table > tbody > tr {}
	.stength_table > tbody > tr > th {
		font-size: 24px;
		width: 70px;
	}
	.stength_table > tbody > tr > td {}
	.strength_boxs {
		display: block;
		max-width: 413px;
		margin: 30px auto 0;
	}
	.strength_box {}
	.strength_box:nth-child(n + 2) {
		margin-top: 40px;
	}
	.strength_boxImage {
		margin-bottom: 20px;
	}
	.strength_boxImage > img {}
	.strength_boxTitle {
		font-size: 18px;
		margin-bottom: 5px;
	}
	.strength_boxText {}
	.strength_chart {
		margin-top: 20px;
	}
	.strength_chart > img {}
	.solution-product {}
	.solution-product_contents {
		padding-top: 50px;
		padding-bottom: 60px;
	}
	.solution-product_contents_inner {}
	.solution-product_title {}
	.solution-product_cell {
		padding: 30px 20px;
	}
	.solution-product_cols {}
	.solution-product_col {}
	.solution-product_col-logo {
		margin-bottom: 25px;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	.solution-product_logo {}
	.solution-product_logo > img {}
	.solution-product_col-txt {}
	.solution-product_headline {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.solution-product_text {
		font-size: 14px;
		line-height: 1.8;
	}
	.solution-product_link {}
	.solution-product_link > a {}
	.strength-celf {
		margin-top: 30px;
	}
	.strength-celf_title {}
	.strength-celf_text {}
	.strength-celf_link {}
	.strength-celf_link > a {}
	.strength-celf_link_mark {}
	.strength-celf_link_icon {}
	.strength_cCell {
		padding: 22px 20px;
	}
	.strength_cCell_inner {}
	.strength_cCellList {}
	.strength_cCellList > li {}
	.strength_cCellList > li:nth-child(n + 2) {}

	/* --- SP: 自社製品一覧・提供製品 --- */
	.product-inhouse {
		margin-bottom: 55px;
	}
	.product-inhouse_contents {
		padding-top: 50px;
		padding-bottom: 60px;
	}
	.product-inhouse_contents_inner {}
	.product-inhouse_areaTtl {}
	.product-inhouse_title {}
	.product-inhouse_text {
		margin-bottom: 20px;
	}
	.product-inhouse_cells {
		display: block;
		max-width: 380px;
	}
	.inhouse-item {
		margin-top: 30px;
		padding-top: 0;
	}
	.inhouse-item:first-child {
		margin-top: 0;
	}
	.inhouse-item:nth-child(n + 0) {
		top: 0;
	}
	.inhouse-item-spread {
		padding-top: 0;
		margin-top: 0;
	}
	.inhouse-item-fab {}
	.inhouse-item-celOrder {}
	.inhouse-item-celReceive {}
	.inhouse-item > a {}
	.inhouse-item_areaLogo {}
	.inhouse-item_number {}
	.in-house_logo {}
	.in-house_logo > img {}
	.inhouse-item_areaTxt {
		padding: 20px 20px;
	}
	.inhouse-item_areaTxt_inner {}
	.inhouse-item_text {}
	.inhouse-item_arrow {}
	.product-offer-alt {}
	.product-offer-alt_contents {}
	.product-offer-alt_contents_inner {}
	.product-offer-alt_title {}
	.product-offer-alt_text {
		margin-bottom: 30px;
	}
	.product-offer-alt_list {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 12px;
		row-gap: 20px;
	}
	.product-offer-alt_list > li {}
	.product-offer-alt_list > li > a {}
	.product-offer_item {}
	.product-offer-alt_logo {
		margin-bottom: 10px;
	}
	.product-offer-alt_logo > img {}

	/* --- SP: ソリューション一覧 --- */
	.solution {}
	.solution_contents {
		padding-top: 43px;
		padding-bottom: 70px;
	}
	.solution_contents_inner {}
	.solution_title {}
	.solution_text {
		margin-bottom: 30px;
	}
	.solution-item_cells {
		display: block;
		max-width: 590px;
		margin: 0 auto;
	}
	.solution-item_cell {}
	.solution-item_cell:nth-child(2n) {
		margin-top: 0;
		top: 0;
	}
	.solution-item_cell:nth-child(n + 2) {
		margin-top: 30px;
	}
	.solution-item_cell > a {
		height: auto;
	}
	.about-item_number {
		top: 12px;
		font-size: 10px;
	}
	.about-item_number-small {
		transform-origin: right top;
		transform: scale(0.9);
	}
	.about-item_number_main {}
	.about-item_areaTxt-solution {}

	/* --- SP: numap（紹介・概要・特徴・ダウンロード・コラボ） --- */
	.numap-intro {
		padding-top: 35px;
	}
	.numap-intro_gradBg {}
	.numap-intro_gradBg_svg {}
	.numap-intro_inner {}
	.numap-intro_cols {}
	.numap-intro_col {}
	.numap-intro_col-txt {
		margin-bottom: 30px;
	}
	.numap-intro_title {
		font-size: 26px;
	}
	.numap-intro_title::after {
		margin-top: 20px;
	}
	.numap-intro_text {
		margin-bottom: 20px;
	}
	.numap-dl-list {
		display: block;
	}
	.numap-dl-list > li {}
	.numap-dl-list > li:nth-child(n + 2) {
		margin-top: 10px;
	}
	.numap-dl-list > li > a {}
	.numap-dl-list-dl > li > a {}
	.numap-dl-list_image {}
	.numap-dl-list_image > img {}
	.numap-dl-list_image-large {
		max-width: 164px;
	}
	.numap-intro_col-img {}
	.numap-intro_image {}
	.numap-intro_image > img {}
	.numap-about {
		margin-bottom: 55px;
	}
	.numap-about_inner {}
	.numap-about_title {}
	.numap-about_message {
		margin-bottom: 35px;
	}
	.numap-about_cols {
		display: block;
	}
	.numap-about_col {
		width: auto;
		max-width: none;
	}
	.numap-about_col-txt {}
	.numap-about_cells {
		padding: 25px 20px;
	}
	.numap-about_cell {
		padding-bottom: 20px;
		margin-bottom: 25px;
	}
	.numap-about_cell:last-child {}
	.numap-about_headline {
		margin-bottom: 15px;
	}
	.numap-about_headline_number {
		font-size: 40px;
		margin-right: 10px;
	}
	.numap-about_headline_main {}
	.numap-about_text {}
	.numap-about_col-img {
		max-width: 280px;
		margin: 0 auto 30px;
	}
	.numap-about_image {}
	.numap-about_image > img {}
	.numap-features {
		padding-top: 50px;
		padding-bottom: 60px;
		margin-bottom: 60px;
	}
	.numap-features_inner {}
	.numap-features_title {}
	.numap-features_cells {
		display: block;
	}
	.numap-features_cell {}
	.numap-features_cell:nth-child(n + 2) {
		margin-top: 30px;
	}
	.numap-features_cell_inner {}
	.numap-features_icon {
		margin-bottom: 15px;
	}
	.numap-features_icon > img {}
	.numap-features_headline {}
	.numap-features_text {
		margin-bottom: 20px;
	}
	.numap-features_image {}
	.numap-features_image > img {}
	.numap-dl-nav {
		margin-bottom: 60px;
	}
	.numap-dl-nav_inner {}
	.numap-dl-nav_body {}
	.numap-dl-nav_bg::after {}
	.numap-dl-nav_body_inner {}
	.numap-dl-nav_bg {}
	.numap-dl-nav_bg > img {}
	.numap-dl-nav_title {}
	.numap-dl-nav_title_main {}
	.numap-dl-nav_title_en {
		font-size: 35px;
	}
	.numap-dl-nav_text {}
	.numap-collab {
		padding-top: 50px;
	}
	.numap-collab_bg {}
	.numap-collab_inner {}
	.numap-collab_cols {}
	.numap-collab_col {}
	.numap-collab_col-txt {
		margin-bottom: 35px;
	}
	.numap-collab_title {}
	.numap-collab_title_en {}
	.numap-collab_text {}
	.numap-collab_link {}
	.numap-collab_link > a {
		font-size: 20px;
		padding-right: 60px;
	}
	.numap-collab_col-img {}
	.numap-collab_areaImg {}
	.numap-collab_image {}
	.numap-collab_image-no1 {}
	.numap-collab_image-no2 {}
	.numap-collab_image-no3 {}
	.numap-collab_image > img {}
	.numap-collab_link_arrow {
		right: 20px;
	}
	.numap-about_title_en {
		font-size: 36px;
	}

	/* --- SP: プライバシーポリシー --- */
	.area-privacy {
		padding-bottom: 55px;
		margin-bottom: 50px;
	}
	.area-privacy:last-child {}
	.priv {
		margin-bottom: 60px;
	}
	.priv:last-child {}
	.priv_title {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.priv_text {}
	.priv_text:last-child {}
	.priv_text-mbL {
		margin-bottom: 35px;
	}
	.priv_oList {}
	.priv_oList > li {}
	.priv_date {}
	.priv_name {}
	.priv_name > small {}
	.priv_name_corp {}
	.priv_cell {
		margin-bottom: 30px;
	}
	.priv_headline {
		font-size: 21px;
	}
	.priv_headline_main {}
	.priv_list {}
	.priv_list > li {}
	.priv_text_point {}
	.priv_corp {}
	.priv_tel {}
	.priv_tel > a {}
	.priv_mail {}
	.priv_mail > a {}

	/* --- SP: サイトマップ --- */
	.sitemap {}
	.sitemap_cells {
		display: block;
	}
	.sitemap_cell {
		margin-bottom: 40px;
	}
	.sitemap_cell:last-child {}
	.sitemap_title {
		margin-bottom: 20px;
	}
	.sitemap_title > a {}
	.sitemap_title_en {
		font-size: 32px;
	}
	.sitemap_list {}
	.sitemap_list > li {}
	.sitemap_list > li > a {}
	.sitemap_list_arrow {}
	.sitemap_list_arrow > .icon {}

	/* --- SP: 人材派遣ページ（派遣・キャリア・労務） --- */
	.dispatch {
		margin-bottom: 50px;
	}
	.dispatch:last-child {}
	.dispatch_areaTtl {
		display: block;
		margin-bottom: 20px;
	}
	.dispatch_title {
		font-size: 24px;
		line-height: 1.5;
		margin-right: 0;
	}
	.dispatch_date {
		text-align: right;
	}
	.dispatch_table {}
	.dispatch_table > tbody {}
	.dispatch_table > tbody > tr {}
	.dispatch_table > tbody > tr > th {}
	.dispatch_table > tbody > tr > td {}
	.dispatch_headline {
		font-size: 18px;
	}
	.dispatch-career {}
	.dispatch-career_tblWrap {
		margin-right: -20px;
		padding-right: 20px;
	}
	.dispatch-career_table {
		width: 720px;
	}
	.dispatch-career_table > thead {}
	.dispatch-career_table > thead > tr {}
	.dispatch-career_table > thead > tr > th {}
	.dispatch-career_table > thead > tr > td {}
	.dispatch-career_table > tbody {}
	.dispatch-career_table > tbody > tr {}
	.dispatch-career_table > tbody > tr > th {}
	.dispatch-career_table > tbody > tr > td {}
	.dispatch-career_list {}
	.dispatch-career_list > li {}
	.dispatch-career_list > li::before {}
	.dispatch-career_tblTitle {}
	.dispatch-career_info {
		margin-top: 50px;
		padding: 15px 20px;
	}
	.dispatch-career_infoCols {
		display: block;
	}
	.dispatch-career_infoCol {
		width: auto;
	}
	.dispatch-career_infoCol-ttl {
		padding-right: 0;
		margin-bottom: 15px;
	}
	.dispatch-career_subhead {
		font-size: 18px;
		text-align: center;
	}
	.dispatch-career_infoCol-txt {}
	.dispatch-career_dList {
		text-align: center;
	}
	.dispatch-career_dList > dt {}
	.dispatch-career_dList > dd {}
	.dispatch-career_dList > dd > a {}
	.dispatch-labor {}
	.dispatch-labor_list {}
	.dispatch-labor_list > li {}
	.dispatch-labor_list > li:nth-child(n + 2) {}
	.dispatch-labor_list_check {}
	.dispatch-labor_cList {
		font-size: 15px;
	}
	.dispatch-labor_cList > li {}
	.dispatch-labor_list_check > img {}
	.about-item_message_dummy {
		width: 10px;
	}
	.about-item_text-wide {
		padding-right: 0;
		margin-bottom: 0;
	}
	.about-item_arrow-small {}
	.entry_customLink {}
	.entry_customLink > a {}
	.numap-collab_link_text {}
	.strength_fullImage {}
	.strength_fullImage > img {}
	.spread-public_list_item-grad {}
	.spread-public_image {}
	.spread-public_image > img {}
	.sustain_fig {}
	.sustain_fig > img {}
	.sustain_cols {}
	.sustain_col {}
	.sustain_col-txt {}
	.sustain_col-img {}
	.sustain_caution {}

	/* --- SP: DXギャラリー・DXミッション装飾 --- */
	.dx-gallery {
		margin-top: 40px;
	}
	.dx-gallery_cell {}
	.dx-gallery_cell-no1 {
		padding-top: 25px;
	}
	.dx-gallery_cell-no2 {
		padding-top: 110px;
	}
	.dx-gallery_cell-no3 {}
	.dx-gallery_cell-no4 {
		padding-top: 25px;
	}
	.dx-gallery_cell-no5 {
		padding-top: 60px;
	}
	.dx-gallery_cell-no6 {
		padding-top: 110px;
	}
	.dx-gallery_scroll {}
	.dx-gallery_images {}
	.dx-gallery_image {
		width: 150px;
		margin-right: 20px;
	}
	.dx-gallery_image-large {
		width: 350px;
	}
	.dx-gallery_image > img {}
	.dx-mission_cricle {
		width: 300px;
		height: 300px;
		transform: none;
	}
	.dx-mission_cricle-no1 {
		margin-left: -140px;
		margin-top: -540px;
		left: 0;
	}
	.dx-mission_cricle-no2 {
		margin-top: -410px;
		margin-left: auto;
		left: auto;
		right: 0;
		margin-right: -90px;
	}
	.dx-mission_cricle-no3 {}
	.dx-mission_cricle-no4 {
		margin-top: 0;
		margin-left: -100px;
		top: auto;
		bottom: 0;
		margin-bottom: -110px;
		left: 0;
	}
	.dx-mission_cricle-no5 {
		margin-left: 0;
		margin-top: 150px;
	}
	.dx-mission_cricle-no6 {
		margin-left: auto;
		bottom: 0;
		right: 0;
		margin-right: -90px;
		top: auto;
		margin-bottom: -60px;
	}
	.dx-vision_headline-hasLine {
		text-align: center;
	}
	.dx-vision_headline_inner {}

	/* --- SP: 私たちについて・マップ・取り組み --- */
	.about-item_image-product {}
	.about-think_mainImage {
		margin-top: 20px;
	}
	.about-think_mainImage > img {}
	.about_bg {}
	.about_bg > img {}
	.about_inner-mb {
		margin-bottom: 80px;
	}
	.about-map {
		padding: 80px 0;
	}
	.about-map_inner {}
	.about-map_title {}
	.about-map_headline {
		margin-right: -10px;
	}
	.about-map_text {}
	.about-map_canvas {}
	.about-map_dList {
		font-size: 10px;
	}
	.about-map_dList-nagoya {}
	.about-map_dList > dt {
		margin-right: 0.4em;
	}
	.about-map_dList > dd {}
	.about-map_dList_num {
		font-size: 17px;
	}
	.about-map_dList-osaka {}
	.about-map_dList-metropolitan {}
	.about-map_dList-shizuoka {}
	.about-map_canvas_image {}
	.about-map_canvas_image > img {}
	.about-map_canvas_inner {}
	.about-do {
		margin-bottom: 80px;
	}
	.about-do_inner {}
	.about-do_title {}
	.about-do_headline {}
	.about-do_text {}
	.product-offer_item_title {
		margin-bottom: 6px;
		font-size: 15px;
		line-height: 1.4;
	}
	.product-offer_item_title_arrow {}
	.product-offer_item_text {
		font-size: 13px;
	}

	/* --- SP: お問い合わせフォーム --- */
	.form {}
	.form_text {}
	.form_title {
		font-size: 20px;
		padding-left: 16px;
		margin-top: 40px;
		margin-bottom: 20px;
	}
	.form_title > .icon {}
	.form_box {
		margin-top: 35px;
		padding: 20px 20px;
	}
	.form_box-free {
		margin-top: 0;
	}
	.form_table {}
	.form_table > tbody {}
	.form_table > tbody > tr {}
	.form_table > tbody > tr > th {}
	.form_table > tbody > tr > td {}
	.form_label {
		min-height: 0;
		display: block;
	}
	.form_agree {
		margin-left: -10px;
		margin-right: -10px;
		margin-top: 20px;
	}
	.form_submit {}
	.wpcf7-list-item {}
	.wpcf7-list-item > label {}
	.wpcf7-list-item > label > [type="checkbox"] {}
	.wpcf7-list-item-label {}
	[type="checkbox"] + .wpcf7-list-item-label::before {}
	[type="checkbox"] + .wpcf7-list-item-label::after {}
	[type="checkbox"]:checked + .wpcf7-list-item-label::before {}
	[type="checkbox"]:checked + .wpcf7-list-item-label::after {}
	.wpcf7-form-control-wrap {}
	.wpcf7-form-control {}
	.form_submit_loading {}
	[data-status="submitting"] .form_submit {}
	[data-status="submitting"] .form_submit_text {}
	[data-status="submitting"] .form_submit_loading {}
	.wpcf7-not-valid-tip {
		font-size: 14px;
	}
	.screen-reader-response {}
	.wpcf7-response-output {}
	[data-status="spam"] .wpcf7-response-output,
	[data-status="invalid"] .wpcf7-response-output {}
	[data-status="sent"] .wpcf7-response-output {}

	/* --- SP: ギャラリー・動画・音声セクション --- */
	.section-wrap {}
	.section-gallery {
		padding: 60px 0;
	}
	.section-gallery-first {}
	.section-gallery-blue {}
	.section-gallery_inner {}
	.section-gallery_series {
		font-size: 14px;
	}
	.section-gallery_title {
		font-size: 26px;
		padding-left: 23px;
		margin-bottom: 18px;
	}
	.section-gallery_title > .icon {}
	.section-gallery_sect {
		margin-bottom: 45px;
	}
	.section-gallery_sect:last-child {}
	.section-gallery_headline {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.section-gallery_audio {
		row-gap: 15px;
	}
	.section-gallery_headline_inner {}
	.section-gallery_text {
		margin-bottom: 20px;
	}
	.section-gallery_grid {
		display: block;
	}
	.section-gallery_cell {
		margin-bottom: 15px;
	}
	.section-gallery_cell:last-child {
		margin-bottom: 0;
	}
	.section-gallery_cell-wide {}
	.video-item {}
	.video-item > a {}
	.video-item_inner {}
	.video-item_cols {
		display: block;
	}
	.video-item_col {
		width: auto;
		max-width: none;
	}
	.video-item_col-img {
		margin-bottom: 15px;
	}
	.video-item_image {}
	.video-item_image:last-child {}
	.video-item_image > img {}
	.video-item_col-txt {}
	.video-item_subhead {}
	.video-item_subhead-large {}
	.video-item_subhead_arrow {}
	.video-item_subhead_arrow-large {}
	.video-item_info {}
	.video-item_info-large {}
	.video-item_inner-large {}
	.section-column {
		padding: 20px 20px;
		margin-bottom: 45px;
	}
	.section-column_inner {}
	.section-column_cols {
		display: block;
	}
	.section-column_col {
		width: auto;
	}
	.section-column_col-title {
		width: 190px;
		margin: 0 auto 19px;
	}
	.section-column_title {}
	.section-column_title > img {}
	.section-column_col-txt {}
	.section-column_text {}
	.audio-item {
		padding: 15px 15px;
	}
	.audio-item_cols {
		display: block;
	}
	.audio-item_col {
		width: auto;
		max-width: none;
	}
	.audio-item_col-audio {}
	.audio-item_audio {}
	.audio-item_audio > source {}
	.audio-item_col-title {
		margin-top: 15px;
	}
	.audio-item_title {
		font-size: 16px;
	}
	.audio-item_title > a {
		padding-top: 0;
		padding-bottom: 0;
		padding-right: 40px;
	}
	.audio-item_title_arrow {
		width: 30px;
		height: 30px;
		font-size: 10px;
	}
	.audio-item_title-noLink {
		padding: 0;
	}
	.audio-item_col-fit {
		margin-top: 0;
	}

	/* --- SP: エラーページ・ソリューションナビ・フォーム補助 --- */
	.error {}
	.error_inner {}
	.error_title {}
	.error_text {}
	.error_link {}
	.solution-nav {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.solution-nav_inner {}
	.solution-nav_title {
		margin-bottom: 0;
		padding-right: 0;
		font-size: 14px;
	}
	.solution-nav_title_en {
		font-size: 21px;
		line-height: 31px;
	}
	.solution-nav_title_main {}
	.solution-nav_swiper {}
	.solution-nav_areaBtn {
		margin-bottom: 30px;
	}
	.solution-nav_btn {
		width: 40px;
		height: 40px;
		border-radius: 4px;
		font-size: 11px;
	}
	.solution-nav_btn-prev {}
	.solution-nav_btn-next {}
	.solution-nav_swiper_wrapper {}
	.solution-nav_swiper_item {
		width: 300px;
	}
	.solution-nav_swiper_item > a {}
	.form_grid {
		column-gap: 5px;
	}
	.form_cell {}
	.form_postal {
		grid-template-columns: 1fr 10px 1fr;
		column-gap: 5px;
	}
	.form_postal_cell {}
	.form_postal_hyphen {
		top: 25px;
	}
	.form_field {}
	.form_field:last-child {}
	.form_box_inner {}
	.form_cell-spWide {
		grid-column: span 2;
	}

	/* --- SP: 私たちについてイントロ・モーダル --- */
	.about-intro {
		margin-bottom: 80px;
		padding-top: 80px;
	}
	.about-intro_inner {}
	.about-intro_title {}
	.about-intro_cols {}
	.about-intro_col {}
	.about-intro_col-ttl {}
	.about-intro_headline {
		font-size: 22px;
	}
	.about-intro_col-txt {}
	.about-intro_text {}
	.about-intro_canvas {
		width: 450px;
	}
	.about-intro_list_btn_text {}
	.about-intro_list_btn_comma {
		display: inline-block;
		width: 0.5em;
	}
	.about-intro_cloud {
		background-size: 960px 169px;
		height: 169px;
		top: 0;
		animation-duration: 120s;
	}
	.about-intro_image {}
	.about-intro_image > img {}
	.about-intro_list {}
	.about-intro_list_item {}
	.about-intro_list_item-no1 {
		top: 38%;
		left: 24%;
	}
	.about-intro_list_btn {
		font-size: 12px;
		line-height: 1.2;
		height: auto;
		min-width: auto;
		padding: 6px 15px 4px;
	}
	.about-intro_list_btn_tip {
		margin-top: -5px;
		width: 16px;
		height: 14px;
	}
	.about-intro_list_btn_tip-left {
		margin-left: -27px;
	}
	.about-intro_list_item-no2 {
		top: calc(12% - 35px);
		left: calc(32.5% + 5px);
	}
	.about-intro_list_item-no3 {
		top: calc(34% + 75px);
		left: calc(56% + 30px);
	}
	.about-intro_list_item-no4 {
		top: calc(20% - 40px);
		left: calc(74% + 100px);
	}
	.about-modal {}
	.about-modal.is-show {}
	.about-modal_inner {}
	.about-modal_box {}
	.about-modal_head {
		padding-bottom: 20px;
	}
	.about-modal_head_inner {}
	.about-modal_btn {
		margin-bottom: 0;
		width: 36px;
		height: 36px;
		margin-bottom: -36px;
	}
	.about-modal_btn::before {
		width: 20px;
	}
	.about-modal_btn::after {
		width: 20px;
	}
	.about-modal_title {
		font-size: 20px;
		min-height: 36px;
		align-items: center;
		display: flex;
	}
	.about-modal_contents {
		max-height: calc(100vh - 140px);
	}
	.about-modal_contents_inner {}
	.about-modal_cols {
		display: block;
	}
	.about-modal_col {
		width: auto;
		padding: 0;
		max-width: none;
	}
	.about-modal_col-ttl {}
	.about-modal_headline {
		font-size: 18px;
		margin-bottom: 8px;
	}
	.about-modal_text {
		font-size: 14px;
	}
	.about-modal_image {}
	.about-modal_image > img {}
	.about-modal_col-link {
		margin-top: 24px;
	}
	.about-modal_list {}
	.about-modal_list > li {}
	.about-modal_list > li:nth-child(n + 2) {}
	.about-modal_list > li > a {
		padding-left: 15px;
		padding-right: 49px;
		font-size: 15px;
	}
	.about-modal_list_arrow {
		right: 10px;
	}
	.about-modal_list_arrow > .icon {}

	/* --- SP: 私たちについてページ・クラブ活動・考え方 --- */
	.about,
	.top-product {
		padding: 80px 0;
	}
	.about_inner,
	.top-product_inner {}
	.about_title,
	.top-product_title {}
	.about_headline,
	.top-product_headline {}
	.about_text,
	.top-product_text {
		margin-bottom: 25px;
	}
	.top-product-cat {
		margin-bottom: 60px;
	}
	.top-product-cat:last-child {}
	.top-product-cat_cell {}
	.top-product-cat_number {}
	.top-product-cat_title {}
	.top-product-cat_title_main {}
	.top-product-cat_cards {
		display: block;
	}
	.top-product-cat_card {
		margin-top: 30px;
	}
	.top-product-cat_card > a {}
	.top-product-cat_link {
		margin-top: 30px;
	}
	.top-product-cat_cmImage {}
	.top-product-cat_cmImage > img {}
	.about-item-product {}
	.about-item_areaTxt-product {}
	.about-item_title-product {}
	.about-bgBlue,
	.top-product-bgBlue {}
	.about-think {
		margin-bottom: 60px;
	}
	.about-think_areaTtl {}
	.about-think_number {}
	.about-think_title {}
	.about-think_text {
		margin-bottom: 20px;
	}
	.about-think_cell {}
	.about-think_cell:last-child {}
	.about-think_cols {
		display: block;
	}
	.about-think_col {
		width: auto;
		max-width: none;
	}
	.about-think_col-txt {
		margin-bottom: 20px;
	}
	.about-think_areTxt {}
	.about-think_miniNumber {}
	.about-think_headline {}
	.about-think_headline_main {}
	.about-think_col-img {}
	.about-think_areaImg {}
	.about-think_image {}
	.about-think_image > img {}

	/* --- SP: 事業紹介ページ（イントロ・事業一覧・キャンバス） --- */
	.business-intro {
		margin-top: 52px;
		margin-bottom: 20px;
	}
	.business-intro_inner {}
	.business-intro_title {
		font-size: 29px;
		line-height: 1.5;
	}
	.business-intro_text {
		font-size: inherit;
		margin-top: 30px;
	}
	.business {
		padding-bottom: 60px;
	}
	.business_num {
		font-size: 100px;
		margin-bottom: -50px;
	}
	.business_num_inner {}
	.business_num_text {}
	.business_catch {
		font-size: 60px;
		top: 260px;
	}
	.business_catch_inner {
		margin-left: -150px;
	}
	.business_catch_text {}
	.business_inner {}
	.business_cols {}
	.business_col {
		padding: 0;
	}
	.business_col-img {}
	.business_col-txt {
		margin-top: 54px;
	}
	.business_title {
		margin-bottom: 20px;
	}
	.business_lead {
		font-size: 16px;
		margin-bottom: 30px;
	}
	.business_sect {
		margin-bottom: 50px;
	}
	.business_sect:last-child {}
	.business_subTitle {
		margin-bottom: 28px;
	}
	.business_subTitle_num {}
	.business_subTitle_main {}
	.business_headline {
		font-size: 22px;
		margin-bottom: 15px;
	}
	.business_image {
		margin-bottom: 20px;
	}
	.business_image > img {}
	.business_subhead {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.business_list {}
	.business_list > li {}
	.business_list > li:nth-child(n + 2) {}
	.business_list > li > a {
		font-size: 15px;
		padding-left: 15px;
	}
	.business_list_arrow {}
	.business_bg {}
	.business_bg_item {}
	.section-nav_title_en_arrow {}
	.section-nav_title-solution {}
	.business_canvas {
		width: 350px;
		height: 350px;
		left: 50%;
		transform: translateX(-50%);
		margin: 0;
		overflow: visible;
	}
	.business_canvas_inner {
		transform: scale(0.5);
	}
	.business-canvas {}
	.business-canvas_circleBase {}
	.business-canvas_circle {}
	.top-business_textWrap {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 0 20px;
	}
	.business-canvas_circle_inner {}
	.business-canvas_circle_image {}
	.business-canvas_circle_image > img {}
	.business-canvas_circle_text {
		font-size: 24px;
		line-height: 36px;
	}
	.business-canvas_circle_textWrap {}
	.business-canvas_circle_text_inner {}
	.business-canvas_circle-no1 {}
	.business-canvas_circle-no2 {}
	.business-canvas_circle-no3 {}
	.business-canvas_circle-no4 {}
	.business-canvas_progress {}
	.business-canvas_progress-main {}
	.business-canvas_areaText {}
	.business-canvas_areaText.is-show {}
	.business-canvas_num {}
	.business-canvas_headline {}
	.business-canvas_catch {}
	.event-item_info {
		font-size: 14px;
		line-height: 2.1;
	}
	.event-item_info_inner {}
	.tool-intro_subImage {
		bottom: -10px;
		right: -10px;
	}
	.tool-intro_subImage > img {}

	/* --- SP: トップページ：採用セクション --- */
	.top-recruit {
		padding: 48px 0 60px;
	}
	.top-recruit_inner {}
	.top-recruit_cols {
		position: relative;
		padding-bottom: 95px;
		gap: 0;
	}
	.top-recruit_col {}
	.top-recruit_col-txt {}
	.top-recruit_title {
		margin-bottom: 32px;
	}
	.top-recruit_text {}
	.top-recruit_link {
		position: absolute;
		bottom: 0;
		max-width: none;
		margin: 0;
		width: 100%;
	}
	.top-recruit_link > a {}
	.top-recruit_col-img {
		margin-top: 50px;
		max-width: 310px;
	}
	.top-recruit_slide_inner {}
	.top-recruit_slide {}
	.top-recruit_slide_body {}
	.top-recruit_slide_item {}
	.top-recruit_slide_item[data-index="1"] {}
	.top-recruit_slide_item[data-index="2"] {}
	.top-recruit_slide_item[data-index="3"] {}
	.top-recruit_slide_image {}
	.top-recruit_slide_image > img {}
	.top-recruit_list {}
	.top-recruit_list > li {}
	.top-recruit_list_btn {}
	.top-recruit_list_btn[aria-current="true"] {}

	/* --- SP: トップページ：企業情報セクション --- */
	.top-company {
		padding-top: 53px;
		padding-bottom: 60px;
	}
	.top-company_inner {}
	.top-company_contents {
		padding-bottom: 75px;
	}
	.top-company_title {
		margin-bottom: 39px;
	}
	.top-company_text {
		margin-bottom: 35px;
	}
	.top-company_link {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		top: auto;
		right: auto;
	}
	.top-company_body {}
	.top-company_deco {
		font-size: 45px;
	}
	.top-company_deco-top {
		margin-bottom: -5px;
	}
	.top-company_cols {}
	.top-company_cols::before {}
	.top-company_cols::after {}
	.top-company_col {}
	.top-company_col-list {}
	.top-company_list {}
	.top-company_list > li {}
	.top-company_list > li > a {
		height: 100px;
	}
	.top-company_list > li:nth-last-child(n + 2) > a::before {}
	.top-company_list_bg {}
	.top-company_list_en {
		font-size: 18px;
	}
	.top-company_list_main {
		font-size: 12px;
		line-height: 24px;
	}
	.top-company_list_arrow {
		right: 115px;
		font-size: 10px;
	}
	.top-company_list_arrow > .icon {}
	.top-company_col-img {}
	.top-company_gallery {}
	.top-company_gallery_item {}
	.top-company_gallery_item_image {}
	.top-company_gallery_item_image > img {}
	.top-company_deco-bottom {}

	/* --- SP: トップページ：イベントセクション --- */
	.top-event {
		margin-bottom: 0;
	}
	.top-event_inner {}
	.top-event_contents {
		padding-bottom: 160px;
		padding-top: 54px;
	}
	.top-event_bg {}
	.top-event_bg_image > img {}
	.top-event_cols {
		display: block;
	}
	.top-event_col {
		width: auto;
		padding: 0;
	}
	.top-event_col-txt {}
	.top-event_title {
		margin-bottom: 46px;
	}
	.top-event_link {
		position: absolute;
		bottom: 60px;
		width: 100%;
		left: 0;
	}
	.top-event_col-body {}
	.top-event_swiper {}
	.top-event_swiper_wrapper {}
	.top-event_swiper_item {
		width: 285px;
	}
	.top-event_swiper_item > a {}
	.top-event_bg_circle {
		width: 450px;
		height: 450px;
		transform: none;
		margin: 0;
		top: 0;
		left: 0;
	}
	.top-event_bg_circle-left {
		top: auto;
		bottom: -150px;
		left: -190px;
	}
	.top-event_bg_circle-right {
		top: -200px;
		left: auto;
		right: -200px;
	}
	.event-item_title-small {}
	.event-item_info-small {}

	/* --- SP: トップページ：ニュースセクション --- */
	.top-news {
		padding-bottom: 50px;
		padding-top: 50px;
	}
	.top-news_inner {}
	.top-news_contents {
		padding-bottom: 103px;
	}
	.top-news_title {
		margin-bottom: 28px;
	}
	.top-news_cols {}
	.top-news_col {}
	.top-news_col-link {
		margin: 0;
	}
	.top-news_link {
		max-width: none;
	}
	.top-news_col-body {}
	.top-news_panel {}
	.top-news_panel.is-show {}

	/* --- SP: トップページ：製品・サービスセクション --- */
	.top-service {
		padding-top: 54px;
		padding-bottom: 60px;
	}
	.top-service_bg {
		width: 512px;
		height: 512px;
	}
	.top-service_bg-no1 {
		margin-top: -250px;
		margin-left: -300px;
	}
	.top-service_bg-no2 {
		margin-right: -270px;
	}
	.top-service_bg-no3 {
		margin-bottom: 90px;
		margin-left: -250px;
	}
	.top-service_inner {}
	.top-service_title {
		margin-bottom: 37px;
	}
	.top-service_text {
		margin-bottom: 39px;
	}
	.top-service_sect {
		margin-bottom: 40px;
	}
	.top-service_sect:last-child {}
	.top-service_headline {
		font-size: 12px;
		margin-bottom: -50px;
	}
	.top-service_headline_en {
		font-size: 18px;
		line-height: 27px;
	}
	.top-service_headline_main {}
	.top-service_swiper {}
	.top-service_areaBtn {
		margin-bottom: 31px;
	}
	.top-service_swiper_btn {}
	.top-service_swiper_btn-prev {}
	.top-service_swiper_btn-next {}
	.top-service_swiper_wrapper {}
	.top-service_swiper_slide {
		width: 280px;
	}
	.top-service_swiper_slide.is-active {}
	.top-service_swiper_slide > a {}
	.top-service_link {
		width: 100%;
	}
	.top-service_inner {
		display: flex;
		flex-direction: column;
	}
	.top-service_inner > .solution-header { order: 1; }
	.top-service_inner > .top-service_text { order: 2; }
	.top-service_inner > .top-service_sect:first-of-type { order: 3; }
	.top-service_link-solution {
		position: static;
		width: 100%;
		margin: 0 0 40px;
		order: 4;
	}
	.top-service_link-solution a {
		width: 100%;
		text-align: center;
	}
	.top-service_link-solution .u-button {
		display: flex;
		width: 100%;
	}
	.top-service_inner > .top-voice { order: 5; }
	.top-service_link-products {
		margin-top: 24px;
	}
	.top-service_swiperWrap {
		margin-top: 0;
		padding-bottom: 0;
	}

	/* --- SP: トップページ：強みセクション --- */
	.top-strengths {
		padding: 32px 0 40px !important;
		margin-bottom: 40px;
	}
	.top-strengths_heading {
		font-size: 20px;
		text-align: center;
		margin-bottom: 4px;
		padding-bottom: 0;
	}
	.top-strengths_numbers {
		flex-direction: column;
		row-gap: 20px !important;
		column-gap: 0;
	}
	.top-strengths_number + .top-strengths_number {
		border-left: none;
		padding-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.3);
		padding-top: 20px !important;
	}
	.top-strengths_number_value {
		font-size: 40px;
	}
	.top-strengths_number_suffix {
		font-size: 18px;
	}
	.top-strengths_number_label {
		font-size: 13px;
	}

	/* --- SP: トップページ：メッセージセクション --- */
	.top-message {
		padding-bottom: 0;
	}
	.top-message_bg {}
	.top-message_bg-no1 {
		width: 658px;
		height: 658px;
		transform: none;
		margin: 0;
		top: 170px;
		left: -330px;
		right: auto;
		background-image: radial-gradient(circle, rgba(123, 211, 255, 1.0) 0%, rgba(123, 211, 255, 0.8) 20%, rgba(123, 211, 255, 0.4) 40%, rgba(123, 211, 255, 0.1) 60%, rgba(123, 211, 255, 0.0) 70%);
		opacity: .5;
	}
	.top-message_bg-no2 {
		width: 400px;
		height: 400px;
		top: 60px;
		left: auto;
		transform: none;
		margin: 0;
		right: -200px;
		opacity: .7;
	}
	.top-message_bg-no3 {
		display: none;
	}
	.top-message_bg-no4 {
		display: none;
	}
	.top-message_bg-no5 {
		display: none;
	}
	.top-message_bg-no6 {
		display: none;
	}
	.top-message_inner {}
	.top-message_cols {
		display: block;
	}
	.top-message_col {
		width: auto;
		max-width: none;
	}
	.top-message_col-txt {
		padding: 0;
	}
	.top-message_title {
		margin-bottom: 28px;
	}
	.top-message_title_en {
		font-size: 16px;
		margin-bottom: 28px;
	}
	.top-message_title_en > .icon {}
	.top-message_title_text {}
	.top-message_title_main {
		font-size: 29px;
	}
	.top-message_title_main_inner {}
	.top-message_text {
		font-size: 16px;
	}
	.top-message_text:last-child {}
	.top-message_col-img {
		margin-left: -20px;
		margin-right: -20px;
		margin-top: 60px;
	}
	.top-message_image {
		width: auto;
		padding-bottom: 100%;
		position: relative;
	}
	.top-message_image > img {
		position: absolute;
		z-index: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* --- SP: 固定セクションナビゲーション --- */
	.sticky-section-nav {
		max-width: 335px;
		width: calc(100% - 40px);
		right: auto;
		left: 0;
		right: 0;
		margin: auto;
	}
	.sticky-section-nav_body {}
	.sticky-section-nav_body_inner {
		display: flex;
		padding: 5px 5px;
	}
	.sticky-section-nav > a {}
	.sticky-section-nav_image {
		width: 94px;
		height: 52px;
		border-radius: var(--radius-sm);
	}
	.sticky-section-nav_image > img {
		position: absolute;
		z-index: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.sticky-section-nav_text {
		margin-top: 0;
		padding: 0;
		margin-left: 20px;
	}
	.sticky-section-nav_arrow {
		width: 28px;
		height: 28px;
		font-size: 10px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
	}

	/* --- SP: ヒーローセクション --- */
	.hero-ticker {
		top: 5%;
	}
	.hero-wrap {}
	.hero {
		margin-bottom: -80px;
	}
	.hero_bg {
		width: 512px;
		height: 512px;
	}
	.hero_bg-no1 {
		margin-top: -440px;
		margin-left: 30px;
	}
	.hero_bg-no2 {
		margin-top: 70px;
		margin-left: 240px;
	}
	.hero_bg-no3 {
		margin-left: -280px;
		margin-top: 170px;
		background-image: radial-gradient(circle, rgba(123, 194, 255, 1.0) 0%, rgba(123, 194, 255, 0.8) 20%, rgba(123, 194, 255, 0.4) 40%, rgba(123, 194, 255, 0.1) 60%, rgba(123, 194, 255, 0.0) 70%);
	}
	.hero_bg-no4 {
		display: none;
	}
	.hero_bg-no5 {
		display: none;
	}
	.hero_line {
		margin-top: 100px;
		margin-left: 0;
	}
	.hero_line_vertical {}
	.hero_line_vertical_up {}
	.hero_line_item {}
	.hero_line_item-vUp {}
	.hero_line_vertical_down {}
	.hero_line_item-vDown {}
	.hero_line_horizontal {}
	.hero_line_item-h {}
	.hero_deco {
		font-size: 67px;
		margin-top: 100px;
	}
	.hero_inner {
		min-height: 550px;
		height: var(--fullVh, 100vh);
		align-items: flex-start;
		padding-top: 120px;
	}
	.hero_cols {
		display: flex;
		flex-direction: column-reverse;
		height: 100%;
	}
	.hero_col {
		width: auto;
		padding: 0;
		max-width: none;
	}
	.hero_col-txt {
		margin-top: auto;
		padding-bottom: 80px;
	}
	.hero_title {
		font-size: 40px;
	}
	.hero_title_strong {
		font-size: 55px;
	}
	.hero_catch {
		font-size: 14px;
		margin-top: 9px;
	}
	.hero_catch_inner {
		padding: 0;
		margin-top: 0;
	}
	.hero_catch_inner::before {
		display: none;
	}
	.hero_catch_char {
		white-space: normal;
		background-color: var(--color-white);
		padding: 2px 5px;
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
		line-height: 2;
	}
	.hero_scroll {
		display: none;
	}
	.hero_scroll_bar {}
	.hero_scroll_bar_item {}
	.hero_scroll_text {}
	.hero_col-img {
		max-width: 280px;
		margin: 20px auto 0;
	}
	.hero_chara_note {
		bottom: -40px;
		position: absolute;
		right: -10vw;
	}
	.hero_chara-doctor {
		width: 40%;
	}
	.hero_chara-assistant {
		width: 55%;
		margin-bottom: -100px;
	}
	.hero_chara-assistant.is-animated {
		animation-name: bounce-sp;
	}
	@keyframes bounce-sp {
		0%, 20%, 53%, 100% { transform: translateY(0); }
		40% { transform: translateY(-50px); }
		43% { transform: translateY(-50px); }
		70% { transform: translateY(-12px); }
		80% { transform: translateY(0); }
		90% { transform: translateY(-3px); }
	}
	.hero_image {}
	.hero_image > img {}
	.sticky-section-nav_btn {
		width: 26px;
		height: 26px;
		top: -13px;
		right: -8px;
	}
	.sticky-section-nav_btn::before {}
	.sticky-section-nav_btn::after {}
	.top-company_list_img {
		width: 100px;
	}
	.top-company_list_img > img {}

	/* --- SP: トップページ：事業紹介セクション --- */
	.top-business {
		padding-top: 0;
		padding-bottom: 40px;
		height: auto;
	}
	.top-business_inner {
		position: relative;
		padding-bottom: 100px;
	}
	.top-business_title {
		margin-bottom: 10px;
	}
	.top-business_title-spNone {
		display: none;
	}
	.top-business_canvas {
		width: 350px;
		height: 350px;
		margin: 0;
	}
	.top-business_canvas_inner {
		transform-origin: left top;
		transform: scale(0.5);
	}
	.top-business_deco {
		font-size: 50px;
		margin-top: -80px;
		overflow: hidden;
		margin-left: -20px;
	}

	/* --- SP: クラブ活動CM・ピックアップ製品スワイパー --- */
	.top-product-cat_cm {
		padding: 20px 20px;
	}
	.top-product-cat_cm_cols {
		display: block;
	}
	.top-product-cat_cm_col {
		width: auto;
	}
	.top-product-cat_cm_col-img {
		margin-bottom: 21px;
	}
	.top-product-cat_cm_image {}
	.top-product-cat_cm_image > img {
		width: 100%;
	}
	.top-product-cat_cm_col-no2 {
		max-width: none;
	}
	.top-product-cat_cm_text {
		font-size: 14px;
		line-height: 1.8;
	}
	.top-product-cat_cm_link {
		margin-left: auto;
		margin-right: auto;
		margin-top: 15px;
	}
	.top-product-cat_cm_link > a {}
	.top-service_pickSwiper {
		display: block;
	}
	.top-service_pickSwiper_wrapper {}
	.top-service_pickSwiper_slide {
		height: auto;
	}
	.top-service_pickup {
		display: none;
	}
	.top-service_areaBtn-pickup {}
	.inhouse-item-fit {
		height: 100%;
	}
	.top-service_swiper_pagination {
		display: flex;
	}
	.top-service_link-voice {
		text-align: center;
		padding: 0 20px;
		margin-top: 16px;
	}
	.top-service_link-voice .u-button {
		display: flex;
		width: 100%;
	}
	/* --- SP: お客様の声（VOICE） --- */
	.top-voice {
		margin-top: 70px;
	}
	.top-voice_header {
		margin-bottom: 24px;
	}
	.top-voice_header_icon {
		font-size: 20px;
	}
	.top-voice_header_ja {
		font-size: 18px;
	}
	.top-voice_cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.top-voice_card {
		padding: 20px;
	}
	.top-voice_card_body {
		flex-direction: column-reverse;
		gap: 16px;
	}
	.top-voice_card_author {
		flex-direction: row;
		width: auto;
	}
	.top-voice_avatar {
		width: 50px;
		height: 50px;
	}
	.top-voice_card_tags {
		margin-top: 15px;
	}
	.top-event_bg_image {}
	.top-recruit_swiper {}
	.top-recruit_swiper_wrapper {}
	.top-recruit_swiper_slide {}
	.top-recruit_swiper .top-recruit_swiper_pagination {}
	.top-recruit_swiper_image {}
	.top-recruit_swiper_image > img {}
	.top-company_deco_inner {}
	.top-company_deco_inner-top {
		margin-right: -21px;
	}
	.top-company_deco_inner-bottom {
		margin-left: -24px;
	}
	.hero_title_row {}
	.hero_title_row-last {}
	.hero_title_caret {
		height: 35px;
	}
	.hero_title_caret.is-show {}
	.hero_title_row_char {}
	.hero_title_row_char-last {}
	.hero_title_caret-large {
		height: 55px;
	}
	.hero_catch_char {
		display: inline;
		white-space: normal;
		background-color: var(--color-white);
		padding: 2px 5px;
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
		line-height: 2.2;
	}
	.hero_catch_inner.is-show .hero_catch_char {}
	.hero_scrollWrap {}
	.hero_scrollWrap_inner {}
	.hero_title_chars {}
	.top-business_number {
		font-size: 100px;
		margin-top: -130px;
	}
	.top-business_number_inner {}
	.top-business_number_text {}
	.top-business_areaText {
		margin-top: 0;
		display: block;
	}
	.top-business_areaText_inner {}
	.top-business_text {}
	.top-business_text-spNone {
		display: none;
	}
	.top-business_link {
		position: absolute;
		bottom: 0;
		left: 20px;
		width: calc(100% - 40px);
		max-width: none;
	}
	.top-business_trigger {}
	.top-business_trigger-no1 {}
	.top-business_trigger-no2 {}
	.top-business_trigger-no3 {}
	.top-business_trigger-no4 {}
	.top-business_contents {
		padding: 0;
		min-height: 0;
		overflow: visible;
		position: relative;
	}
	.business-canvas_areaText-top {}
	.top-business_trigger-sp {
		display: block;
	}
	.top-business_trigger-pc {
		display: none;
	}
	.top-business_container {
		position: relative;
		margin-left: -20px;
		margin-right: -20px;
		height: calc(5 * var(--fullVh, 100vh));
	}
	.top-business_container_body {
		position: sticky;
		top: 0;
		height: var(--fullVh, 100vh);
		display: flex;
		align-items: center;
		width: 100%;
		overflow: hidden;
		flex-direction: column;
		justify-content: center;
	}
	.top-business_deco_inner {
		margin-left: -20px;
	}
	.business_circle {
		height: 400px;
		top: -110px;
	}
	.business_circle_item {}
	.top-fix-label {}
	.top-fix-label[data-color="white"] {}
	.top-fix-label_bracket {}
	.top-fix-label_bracket-first {}
	.top-fix-label_text {}
	.top-fix-label_bracket-last {}
	.top-message_textWrap {}
	.top-message_text-shadow {}
	.top-message_text_inner {}
	[data-animation="after"] .top-message_text-shadow .top-message_text_inner {}
	.top-product-cat_caution {}
	.top-message_link {
		width: 100%;
	}
	.about-think_mainImage_cols {
		display: block;
		max-width: 430px;
		margin: 0 auto;
	}
	.about-think_mainImage_col {
		width: auto;
	}
	.about-think_mainImage_col-main {}
	.about-think_mainImage_image {}
	.about-think_mainImage_image > img {}
	.about-think_mainImage_col-sign {
		margin: -10px 0 17px;
	}
	.about-think_mainImage_sign {
		border: 2px solid var(--color-blue);
		border-top: none;
		border-bottom: none;
		width: 9px;
		height: 35px;
		margin: 0 auto;
	}
	.about-think_mainImage_col-logo {
		width: 55.16%;
		margin: 0px auto 0;
	}
	.about-think_mainImage_logo {}
	.about-think_mainImage_logo > img {}
	.top-business_deco-sp {
		display: block;
		position: absolute;
		margin: 0;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		margin-top: 120px;
	}
	.top-business_deco-pc {
		display: none;
	}

	/* --- SP: その他の補足調整（各ページ追加スタイル） --- */
	.business_text {}
	.priv_subhead {
		font-size: 18px;
		line-height: 1.6;
	}
	.solution-outline_box_hr {
		margin: 25px 0;
	}
	.solution-outline_box_figs {}
	.solution-outline_box_figs_cell {}
	.solution-outline_box_figs_cell:nth-child(n + 2) {
		margin-top: 25px;
	}
	.solution-outline_box_fig {}
	.solution-outline_box_fig > img {}
	.solution-outline_box_fig > figcaption {
		font-size: 16px;
		margin-top: 14px;
	}
	.solution-outline_box_text {
		margin-top: 6px;
	}
	.strength_app {}
	.strength_app_subhead {}
	.strength_app_image {}
	.strength_app_image > img {}
	.key-dx {
		margin-top: 20px;
	}
	.key-dx_cols {
		column-gap: 10px;
	}
	.key-dx_col {}
	.key-dx_col-no1 {}
	.key-dx_title {
		font-size: 12px;
		height: 30px;
	}
	.key-dx_item {
		padding: 0 10px 10px;
		border-width: 1px;
	}
	.key-dx_image {
		margin-top: 10px;
	}
	.key-dx_image > img {}
	.key-dx_arrow {
		width: 10px;
		margin-top: 10px;
	}
	.key-dx_arrow > img {}
	.key-dx_col-no2 {}
	.key-dx_subhead {
		font-size: 18px;
		height: 40px;
		margin-top: 10px;
	}
	.key-dx_imageLine {
		margin-top: 20px;
	}
	.key-dx_imageLine > img {}
	.key-dx_imageDevice {
		max-width: 210px;
		margin-top: 20px;
	}
	.key-dx_imageDevice > img {}
	.strength_figs {
		margin-top: 20px;
	}
	.strength_figs_item {}
	.strength_figs_item > img {}
	.strength_logo {
		margin-top: 20px;
	}
	.strength_logo > img {}
	.strength_image {
		margin-top: 20px;
	}
	.strength_image > img {}
	.addon-system {}
	.addon-system_title {
		font-size: 16px;
		height: 45px;
	}
	.addon-system_box {
		padding: 20px 20px;
	}
	.addon-system_inner {
		display: block;
	}
	.addon-system_cell {}
	.addon-system_cell:nth-child(n + 2) {
		padding-top: 0;
		margin-top: 26px;
	}
	.addon-system_cell:nth-child(3n + 1)::before {
		display: none;
	}
	.addon-system_cell:first-child::before {}
	.addon-system_headline {}
	.addon-system_headline_main {}
	.addon-system_list {}
	.addon-system_list > li {}
	.addon-system_list > li:nth-child(n + 2) {}
	.tpics-data {
		margin-top: 20px;
	}
	.tpics-data_caution {
		font-size: 13px;
	}
	.tpics-data_tableWrap {}
	.tpics-data_tableWrap_contents {
		width: 900px;
	}
	.tpics-data_table {
		font-size: 12px;
	}
	.tpics-data_table > caption {
		font-size: 16px;
		line-height: 46px;
		text-align: left;
		padding-left: 18px;
		padding-right: 18px;
	}
	.tpics-data_table > thead {}
	.tpics-data_table > thead > tr {}
	.tpics-data_table > thead > tr > th {
		height: 32px;
	}
	.tpics-data_table > thead > tr > td {}
	.tpics-data_table > tbody {}
	.tpics-data_table > tbody > tr {}
	.tpics-data_table > tbody > tr > th {
		height: 32px;
		width: 60px;
	}
	.tpics-data_table > tbody > tr > td {
		height: 32px;
	}
	.form_box_names {
		column-gap: 10px;
	}
	.form_box_names_cell {}
}

/* ################################################################
   レスポンシブ対応：最小幅（374px以下） — 超小型デバイス向け調整
   ################################################################ */
@media screen and (max-width:374px) {
	.news_catList {
		margin-left: -20px;
		margin-right: -20px;
	}
	.event-nav_title_en {
		font-size: 28px;
	}
	.dx-mission_message {
		font-size: 18px;
	}
	.dx-vision_title_en {
		font-size: 42px;
	}
	.about-item_message_dummy-spsInline {
		display: inline-block;
	}
	.azul_message {
		font-size: 18px;
	}
	.azul {
		padding-left: 14px;
		padding-right: 14px;
	}
	.about-intro_canvas {
		width: 340px;
	}
	.about-map_canvas {
		width: 300px;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
	.business-intro_title {
		font-size: 30px;
	}
}

/* ===== about-club CTA 2カラム ===== */
.about-club_cm {
	background-color: rgba(255, 255, 255, 0.60);
	border-radius: var(--radius-sm);
	box-shadow: 0px 0px 15px rgba(26, 115, 240, 0.15);
	padding: 20px 20px;
}
.about-club_cm_cols {
	display: flex;
	max-width: 1170px;
	align-items: center;
}
.about-club_cm_col {
	width: 53%;
}
.about-club_cm_col-img {
	max-width: 620px;
}
.about-club_cm_image {
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.about-club_cm_image > img {
	display: block;
}
.about-club_cm_col-no2 {
	margin-left: auto;
	max-width: 490px;
	width: 43%;
}
.about-club_cm_link {
	max-width: 232px;
	margin-top: 40px;
}
.about-club_cm_link > a {
	font-family: var(--font-gothic);
}

/* タブレット */
@media screen and (max-width: 999px) {
	.about-club_cm_link {
		margin-top: 13px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.about-club_cm {
		padding: 20px 20px;
	}
	.about-club_cm_cols {
		display: block;
	}
	.about-club_cm_col {
		width: auto;
	}
	.about-club_cm_col-img {
		margin-bottom: 21px;
	}
	.about-club_cm_image > img {
		width: 100%;
	}
	.about-club_cm_col-no2 {
		max-width: none;
	}
	.about-club_cm_text {
		font-size: 14px;
		line-height: 1.8;
	}
	.about-club_cm_link {
		max-width: none;
		margin-left: auto;
		margin-right: auto;
		margin-top: 15px;
	}
}
