@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");

:root {
	--easeCubic: cubic-bezier(0.65, 0.05, 0.36, 1);
	--width-ratio: 100vw / 1680;
	--width-ratio-1448: 1px / 1;
	--width-ratio-1280: 1px / 1;
	--color-text: #314158;
	--color-main: #1c398e;
	--color-blue: #2d50c6;
	--color-blue2: #0540f2;
	--color-blue3: #2d50c6;
	--color-gray: #62748e;
	--color-blue-light: #cad5e2;
	--color-blue-gradient: linear-gradient(150deg, #000064 0%, /* #000064 40%,
        #2891ff 93%, */ #2891ff 100%);
	--color-blue-gradient-right: linear-gradient(to right, #000064 -40%, #2891ff 100%);
	--font-en: "Inter", sans-serif;
	--font-ja: "Noto Sans JP", sans-serif;
	--shadow-default: 0 25px 50px rgba(190, 219, 255, 0.3);
}
@media (max-width: 1448px) {
	:root {
		--width-ratio-1448: 100vw / 1448;
	}
}
@media (max-width: 1280px) {
	:root {
		--width-ratio-1280: 100vw / 1280;
	}
}
@media (max-width: 768px) {
	:root {
		--width-ratio: 100vw / 375;
		--width-ratio-1280: 100vw / 375;
		--width-ratio-1448: 100vw / 375;
	}
}

* {
	box-sizing: border-box;
}
html {
	overflow-x: hidden;
	font-family: "Inter", sans-serif;
}
body {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
	background-color: #fff;
	overflow-x: hidden;
}
img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	vertical-align: bottom;
}
a,
button {
	word-break: break-all;
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.3s ease;
}
a:hover {
	opacity: 0.8;
}

html {
	overflow-x: hidden;
}

.l-container {
	max-width: 1400px;
	min-height: 100vh;
	margin: 0 auto;
	padding: 0 24px;
}

.l-inner {
	--inlinePadding: 40px;
	--contentWidth: 1280px;
	max-width: var(--contentWidth);
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--inlinePadding);
}

@media screen and (max-width: 768px) {
	.l-inner {
		padding: 0 calc(24 * var(--width-ratio));
	}
}

.l-inner--1220 {
	--contentWidth: 1220px;
	--contentWidthSum: calc(var(--contentWidth) + (2 * var(--inlinePadding)));
	max-width: var(--contentWidthSum);
}

.l-inner--1200 {
	--contentWidth: 1200px;
	--contentWidthSum: calc(var(--contentWidth) + (2 * var(--inlinePadding)));
	max-width: var(--contentWidthSum);
}
.l-inner--1050 {
	--contentWidth: 1050px;
	--contentWidthSum: calc(var(--contentWidth) + (2 * var(--inlinePadding)));
	max-width: var(--contentWidthSum);
}
.l-inner--700 {
	--contentWidth: 700px;
	--contentWidthSum: calc(var(--contentWidth) + (2 * var(--inlinePadding)));
	max-width: var(--contentWidthSum);
}

/* =====セクション ブロックパディング===== */
.u-container {
	padding: calc(80 * var(--width-ratio-1280)) 0;
}

.u-container--pt0 {
	padding-top: 0;
}

.u-mgb__text {
	margin-bottom: calc(24 * var(--width-ratio));
}
.u-mgb__text_small {
	margin-bottom: calc(16 * var(--width-ratio));
}
.u-mgb__text_tiny {
	margin-bottom: calc(8 * var(--width-ratio));
}
.u-mgb__sec,
.l-title.u-mgb__sec {
	margin-bottom: calc(48 * var(--width-ratio));
}
.u-pc {
	display: block;
}
.u-sp {
	display: none;
}
@media screen and (max-width: 768px) {
	.u-container {
		padding: calc(60 * var(--width-ratio-1280)) 0;
	}
	.u-mgb__text {
		margin-bottom: calc(16 * var(--width-ratio));
	}
	.u-mgb__text_small {
		margin-bottom: calc(10 * var(--width-ratio));
	}
	.u-mgb__text_tiny {
		margin-bottom: calc(8 * var(--width-ratio));
	}
	.u-mgb__sec,
	.l-title.u-mgb__sec {
		margin-bottom: calc(32 * var(--width-ratio));
	}
	.u-pc {
		display: none;
	}
	.u-sp {
		display: block;
	}
}
/*--------------------------------
# タイトル
--------------------------------*/
.l-title {
	margin-bottom: calc(24 * var(--width-ratio-1280));
}
.l-title--2col {
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 32px;
}
.c-secttl {
}
.c-secttl .en {
	display: inline-block;
	font-family: var(--font-en);
	font-size: calc(48 * var(--width-ratio-1280));
	letter-spacing: 0.05em;
	font-weight: 700;
	line-height: 1;
	background: linear-gradient(170deg, #000064 0%, #2891ff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
	padding-bottom: 5px;
	margin-bottom: calc(5 * var(--width-ratio-1280));
}
.c-secttl--whitegrad .en {
	background: linear-gradient(to right, #fff 0%, #f2f8ff 50%, #b5d8ff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}
.c-secttl--white .en {
	color: #fff;
	background: none;
	-webkit-background-clip: none;
	-webkit-text-fill-color: #fff;
	background-clip: none;
	text-fill-color: #fff;
}
.c-secttl .ja {
	display: block;
	font-family: var(--font-ja);
	font-size: calc(18 * var(--width-ratio-1280));
	font-weight: 700;
	line-height: 1.6;
	color: var(--color-blue);
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.c-secttl--whitegrad .ja {
	color: #8ec5ff;
}
.c-secttl--white .ja {
	color: #fff;
}
.c-secttl .ja-big {
	display: inline-block;
	font-family: var(--font-ja);
	font-size: calc(32 * var(--width-ratio-1280));
	letter-spacing: 0.05em;
	font-weight: 700;
	line-height: 1;
	background: linear-gradient(170deg, #000064 0%, #2891ff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
	.l-title {
		margin-bottom: calc(16 * var(--width-ratio-1280));
	}
	.c-secttl .en {
		font-size: calc(32 * var(--width-ratio));
	}
	.c-secttl .ja-big {
		font-size: calc(24 * var(--width-ratio));
	}
	.c-secttl .ja {
		font-size: calc(16 * var(--width-ratio));
		white-space: break-spaces;
	}
	.l-title--2col {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 0;
	}
}
/* =====c-ttl===== */
.c-ttl__small {
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-size: calc(18 * var(--width-ratio-1280));
	font-family: var(--font-ja);
	color: var(--color-text);
}
.c-ttl {
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-size: calc(21 * var(--width-ratio-1280));
	font-family: var(--font-ja);
	color: var(--color-text);
}
.c-ttl__big {
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-size: calc(24 * var(--width-ratio-1280));
	font-family: var(--font-ja);
	color: var(--color-text);
}
.c-ttl__big-x {
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-size: calc(40 * var(--width-ratio-1280));
	font-family: var(--font-ja);
	color: var(--color-text);
}

@media screen and (max-width: 768px) {
	.c-ttl__small {
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.05em;
		font-size: calc(16 * var(--width-ratio-1280));
		font-family: var(--font-ja);
		color: var(--color-text);
	}
	.c-ttl {
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.05em;
		font-size: calc(18 * var(--width-ratio-1280));
		font-family: var(--font-ja);
		color: var(--color-text);
	}
	.c-ttl__big {
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.05em;
		font-size: calc(21 * var(--width-ratio-1280));
		font-family: var(--font-ja);
		color: var(--color-text);
	}
	.c-ttl__big-x {
		font-size: calc(24 * var(--width-ratio-1280));
	}
	.c-ttl__cacth {
	}
}
/* =====c-text===== */
.c-text {
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.01em;
	font-size: calc(16 * var(--width-ratio-1280));
	font-family: var(--font-ja);
	color: var(--color-text);
}
@media screen and (max-width: 768px) {
	.c-text {
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

.c-text > p + p {
	margin-top: 1.5em;
}

.c-text--small {
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.01em;
	font-family: var(--font-ja);
	color: var(--color-text);
	font-size: calc(12 * var(--width-ratio-1280));
}
.c-text--tiny {
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.01em;
	font-family: var(--font-ja);
	color: var(--color-text);
	font-size: calc(11 * var(--width-ratio-1280));
}
/*--------------------------------
# hr
--------------------------------*/
.c-hr {
	border: none;
	height: 1px;
	background-color: #c2d9ee;
	margin-block: calc(20 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-hr {
		margin-block: calc(16 * var(--width-ratio-1280));
	}
}

/*--------------------------------
# ボタン
--------------------------------*/
.c-btn {
	height: calc(64 * var(--width-ratio-1280));
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 0.5rem;
	font-family: var(--font-ja);
	font-size: calc(16 * var(--width-ratio-1280));
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--color-main);
	background-color: #fff;
	border: none;
	border-radius: 100px;
	box-shadow: 0 8px 10px 0 rgba(28, 57, 142, 0.08);
	border: 1px solid #fff;
	padding: 0 calc(32 * var(--width-ratio-1280));
	white-space: nowrap;
	position: relative;
}
.c-btn::after {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	background-image: url("../img/arrow_tr_blue.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right center;
}

.c-btn--fs18 {
	font-size: 1.125rem;
}

.c-btn--bluegrad {
	color: #fff;
	background-image: var(--color-blue-gradient);
	box-shadow:
		0 20px 25px 0 rgba(43, 127, 255, 0.2),
		0 8px 10px 0 rgba(28, 57, 142, 0.2);
	border: none;
}
.c-btn--bluegrad::after {
	background-image: url("../img/arrow_tr_white.png");
}
.c-btn--transparent {
	color: #fff;
	background-color: transparent;
	border: 1px solid #fff;
}
.c-btn--transparent::after {
	background-image: url("../img/arrow_tr_white.png");
}

@media screen and (max-width: 768px) {
	.c-btn {
		height: calc(56 * var(--width-ratio-1280));
		font-size: calc(14 * var(--width-ratio-1280));
		padding: 0 calc(32 * var(--width-ratio-1280));
	}
	.c-btn::after {
		width: 1rem;
		height: 1rem;
	}
	.c-btn--fs18 {
		font-size: 1rem;
	}
}

/* =====中央揃え===== */
.c-btn--center {
	margin-inline: auto;
}

/* =====ボーダー(シャドウなし)===== */
.c-btn--border {
	border: 1px solid #e2e8f0;
	box-shadow: none;
}

/* =====下向き矢印===== */
.c-btn--btm {
}
.c-btn--btm::after {
	background-image: url(../img/common/icon_arrow_bottom.svg);
}

/*====================================================
c-btn-map
====================================================*/
.c-btn-map {
	--iconSize: calc(18 * var(--width-ratio-1280));
	--btnWidth: calc(240 * var(--width-ratio-1280));
	--btnHeight: calc(56 * var(--width-ratio-1280));
	position: relative;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: var(--iconSize) auto;
	place-content: center;
	align-items: center;
	column-gap: 0.5rem;
	width: min(var(--btnWidth), 100%);
	min-height: var(--btnHeight);
	font-family: var(--font-ja);
	font-size: calc(16 * var(--width-ratio-1280));
	font-weight: bold;
	letter-spacing: 0.01em;
	color: var(--color-blue);
	background-color: #fff;
	border: none;
	border-radius: 100px;
	border: 2px solid #bedbff;
	text-decoration: none;
	padding: 8px;
}
@media screen and (max-width: 768px) {
	.c-btn-map {
		--btnWidth: calc(240 * var(--width-ratio-1280));
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

.c-btn-map::before {
	content: "";
	aspect-ratio: 1;
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-image: url(../img/common/icon_map.svg);
	background-color: var(--color-blue);
}
/* =====中央揃え===== */
.c-btn-map--center {
	margin-inline: auto;
}

/*--------------------------------
# ファーストビュー(下層ページ用)
--------------------------------*/
.c-fv {
	width: 100vw;
	height: 210px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	background-image: url("../img/sub_hero.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.c-fv__title {
	--inlinePadding: 40px;
	--contentWidth: 1280px;
	max-width: var(--contentWidth);
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--inlinePadding);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0;
	text-align: left;
}
.c-fv__title .en {
	font-family: var(--font-en);
	font-size: calc(48 * var(--width-ratio-1280));
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	letter-spacing: 0.01em;
}
.c-fv__title .ja {
	font-family: var(--font-en);
	font-size: calc(18 * var(--width-ratio-1280));
	font-weight: 700;
	line-height: 1.6;
	color: #bedbff;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
	.c-fv {
		height: calc(330 * var(--width-ratio));
		justify-content: flex-start;
		background-image: url("../img/sub_hero_sp.webp");
	}
	.c-fv__title {
		align-items: flex-start;
		row-gap: calc(24 * var(--width-ratio));
		margin-left: calc(24 * var(--width-ratio));
	}
	.c-fv__title .en {
		font-size: calc(48 * var(--width-ratio));
	}
	.c-fv__title .ja {
		font-size: calc(18 * var(--width-ratio));
	}
}

/*--------------------------------
# パンくずリスト
--------------------------------*/
.c-breadcrumbs {
	width: 100%;
	height: auto;
	background-color: #f8fafc;
	padding: 12px 0;
	margin-top: 80px;
}
.c-breadcrumbs__list {
	max-width: 1280px;
	padding: 0 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: calc(8 * var(--width-ratio));
	margin: 0 auto;
}
.c-breadcrumbs__list li {
	display: flex;
	align-items: center;
	column-gap: calc(8 * var(--width-ratio));
}
.c-breadcrumbs__list li:has(a)::after {
	content: ">";
	display: flex;
	align-items: center;
	width: 10px;
	height: 20px;
	font-family: var(--font-en);
	font-size: max(10px, calc(12 * var(--width-ratio)));
	font-weight: 400;
	line-height: 1;
	color: var(--color-gray);
}
.c-breadcrumbs__list li a {
	color: var(--color-gray);
	font-family: var(--font-en);
	font-size: max(10px, calc(12 * var(--width-ratio)));
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.01em;
}
.c-breadcrumbs__list li a,
.c-breadcrumbs__list li span {
	color: var(--color-gray);
	font-family: var(--font-ja);
	font-size: max(10px, calc(12 * var(--width-ratio)));
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.01em;
}
.c-breadcrumbs__list li span {
	color: var(--color-blue);
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.c-breadcrumbs {
		padding: 8px 0;
	}
	.c-breadcrumbs__list {
		column-gap: 8px;
		padding: 0 calc(24 * var(--width-ratio));
	}
	.c-breadcrumbs__list li a,
	.c-breadcrumbs__list li span {
		font-size: 0.875rem;
	}
}

/*================================
Splide pagination
================================*/
.splide.is-active .splide__pagination {
	--gap: calc(29 * var(--width-ratio-1280)); /*バレットの間隔を指定*/
	--balletSize: calc(21 * var(--width-ratio-1280)); /* バレットのサイズを指定 */
	--colorBg: #dfdfdf; /* バレットの背景色を指定 */
	--colorBgActive: #0540f2; /* アクティブ時のバレットの背景色を指定 */
	position: relative;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--gap);
	padding: 0;
}
@media screen and (max-width: 768px) {
	.splide.is-active .splide__pagination {
		--gap: calc(16 * var(--width-ratio-1280)); /*バレットの間隔を指定*/
		--balletSize: calc(16 * var(--width-ratio-1280)); /* バレットのサイズを指定 */
	}
}

.splide__pagination__page {
	aspect-ratio: 1;
	height: auto;
	width: var(--balletSize);
	background-color: var(--colorBg);
	margin: 0;
}
.splide__pagination__page.is-active {
	background-color: var(--colorBgActive);
	transform: scale(1);
}

/*
--------------------------------
# 事業について
--------------------------------
*/
.c-about {
	position: relative;
	/*
	overflow-x: hidden;
	overflow-y: hidden;
	*/
}
.c-about__content {
	display: flex;
	flex-direction: column;
}
.c-about__content_main {
	/* width: 35%; */
}

.c-about__content_main h3 {
	font-family: var(--font-en);
	font-size: calc(48 * var(--width-ratio-1280));
	font-weight: 700;
	line-height: 1.25;
	color: var(--color-text);
	letter-spacing: 0.02em;
	margin-bottom: calc(40 * var(--width-ratio-1280));
}
.c-about__content_main p {
}

.c-about__content_img {
	/* width: 59.5%; */
	width: 100%;
	position: relative;
	margin-right: auto;
	margin-left: auto;
	border-radius: calc(24 * var(--width-ratio-1280));
	border: solid 1px #bedbff;
	overflow: hidden;
}
.p-about .c-about__content_img {
	margin-bottom: 0;
}
.c-about__content_img::before {
	content: "";
	display: block;
	width: 110%;
	height: 110%;
	background: linear-gradient(130deg, #dbeafe 0%, #ffffff 100%);
	position: absolute;
	top: -5%;
	left: -5%;
	filter: blur(128px);
	z-index: -1;
}
.c-about__content_img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	vertical-align: bottom;
}
.c-about__border {
	width: 100%;
	height: auto;
	position: absolute;
	top: calc(70 * var(--width-ratio));
	left: 0;
	opacity: 0.5;
	z-index: -2;
}
.c-about__half_circle {
	width: auto;
	height: calc(1800 * var(--width-ratio));
	position: absolute;
	top: calc(-81 * var(--width-ratio));
	right: calc(-220 * var(--width-ratio));
	opacity: 0.2;
	z-index: -1;
}
.c-about__btn_pc {
	display: none;
}
.c-about__btn_sp {
	margin: 0 auto;
}

@media screen and (max-width: 1100px) {
	.p-about .c-about {
	}
	.c-about__content {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 0;
	}
	.c-about__content_main {
		width: 100%;
	}
	.c-about__content_img {
		width: 100%;
	}
	.c-about__btn_sp {
		display: flex;
	}
}

@media screen and (max-width: 768px) {
	.c-about {
		padding: calc(0 * var(--width-ratio)) 0 calc(52 * var(--width-ratio));
	}
	.p-about .c-about {
		padding-top: calc(37 * var(--width-ratio));
	}
	.c-about__content {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 0;
	}
	.c-about__content_main {
		width: 100%;
	}
	.c-about__content_img {
		width: 100%;
	}
	.c-about__content_img img {
	}
	.c-about__content .c-btn {
		margin: 0 auto;
	}
	.c-about__border {
		top: calc(46 * var(--width-ratio));
	}
	.c-about__half_circle {
		height: calc(1303 * var(--width-ratio));
		top: calc(-129 * var(--width-ratio));
		right: calc(-211 * var(--width-ratio));
	}
	.c-about__content_main h3 {
		font-size: calc(28 * var(--width-ratio-1280));
		margin-bottom: calc(32 * var(--width-ratio-1280));
	}
	.c-about__content_main p {
		font-size: clamp(14px, calc(14 * var(--width-ratio-1280)), 18px);
		letter-spacing: 0;
		margin-bottom: calc(16 * var(--width-ratio-1280));
	}
	.c-about__content_main p:last-of-type {
		margin-bottom: 0;
	}
}

/*--------------------------------
# ビジネスコンテンツ
--------------------------------*/
.c-business {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
	gap: calc(32 * var(--width-ratio-1280));
	flex-grow: 1;
}
.c-business .item {
	word-break: break-all;
	width: 100%;
	background: #fff;
	border-radius: calc(24 * var(--width-ratio-1280));
	box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.05);
	position: relative;
}
.c-business .item .img {
	width: 100%;
	height: auto;
	aspect-ratio: 439/256;
	border-radius: calc(24 * var(--width-ratio-1280)) calc(24 * var(--width-ratio-1280)) 0 0;
	overflow: hidden;
}
.c-business .item .img img {
	object-fit: cover;
}
.c-business .item .main {
	padding: calc(24 * var(--width-ratio-1280)) calc(16 * var(--width-ratio-1280)) calc(64 * var(--width-ratio-1280));
}
.c-business .item .main .ttl-block {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	column-gap: calc(16 * var(--width-ratio-1280));
	margin-bottom: calc(16 * var(--width-ratio-1280));
}
.c-business .item .main .c-text {
	font-size: calc(14 * var(--width-ratio-1280));
}
.c-business .icon,
.c-business__mini .icon {
	width: calc(48 * var(--width-ratio-1280));
	height: calc(48 * var(--width-ratio-1280));
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-blue);
	border-radius: calc(14 * var(--width-ratio-1280));
}
.c-business .icon.purple,
.c-business__mini .icon.purple {
	background-color: #ad46ff;
}
.c-business .icon img,
.c-business__mini .icon img {
	width: calc(32 * var(--width-ratio-1280));
	height: calc(32 * var(--width-ratio-1280));
	object-fit: contain;
}
.c-business .icon.w38 img,
.c-business__mini .icon.w38 img {
	width: calc(38 * var(--width-ratio-1280));
	height: calc(38 * var(--width-ratio-1280));
}
.c-business .item .main .ttl-block h3 {
	font-family: var(--font-en);
	color: #000;
}
.c-business .item .main p {
}
.c-business .item .main .link {
	width: calc(32 * var(--width-ratio-1280));
	height: calc(32 * var(--width-ratio-1280));
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-main);
	border-radius: 50%;
	position: absolute;
	right: calc(20 * var(--width-ratio-1280));
	bottom: calc(20 * var(--width-ratio-1280));
}
.c-business .item .main .link img {
	width: calc(16 * var(--width-ratio-1280));
	height: calc(16 * var(--width-ratio-1280));
	object-fit: contain;
}
.c-business__mini {
	display: flex;
	gap: calc(32 * var(--width-ratio-1280));
	justify-content: space-between;
}
.c-business__mini .item {
	width: 100%;
	background: #fff;
	border-radius: calc(16 * var(--width-ratio-1280));
	padding: calc(24 * var(--width-ratio-1280));
	box-shadow: 0 25px 50px 0 rgba(0, 0, 0, 0.25);
}
.c-business__mini .item .ttl-block {
	display: flex;
	flex-direction: column;
	row-gap: calc(24 * var(--width-ratio-1280));
	margin-bottom: calc(16 * var(--width-ratio-1280));
}
.c-business__mini .item .ttl-block h3 {
}
.c-business__mini .item p {
	font-family: var(--font-ja);
	font-size: calc(14 * var(--width-ratio-1280));
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-main);
}

@media screen and (max-width: 768px) {
	.c-business {
		flex-direction: column;
		gap: calc(16 * var(--width-ratio));
	}
	.c-business .item {
		width: 100%;
	}
	.c-business .item:hover {
		opacity: 0.9;
	}
	.c-business .item .img {
		aspect-ratio: 327/190;
	}
	.c-business .item .main {
	}
	.c-business .item .main .ttl-block {
		column-gap: calc(8 * var(--width-ratio));
		margin-bottom: calc(8 * var(--width-ratio));
	}
	.p-index__business .icon {
		width: calc(32 * var(--width-ratio-1280));
		height: calc(31 * var(--width-ratio-1280));
		border-radius: calc(8 * var(--width-ratio-1280));
	}
	.p-index__business .icon img {
		width: calc(18 * var(--width-ratio-1280));
		height: calc(18 * var(--width-ratio-1280));
	}
	.c-business .icon.w38 img,
	.c-business__mini .icon.w38 img {
		width: calc(21 * var(--width-ratio-1280));
		height: calc(21 * var(--width-ratio-1280));
		object-fit: contain;
	}
	.c-business .item .main .ttl-block h3 {
	}
	.c-business .item .main p {
	}
	.c-business .item .main .link {
		width: calc(24 * var(--width-ratio-1280));
		height: calc(24 * var(--width-ratio-1280));
		position: absolute;
		bottom: calc(30 * var(--width-ratio-1280));
		right: calc(16 * var(--width-ratio-1280));
	}
	.c-business .item .main .link img {
		width: 16px;
		height: 16px;
	}
	.c-business__mini {
		flex-direction: column;
		row-gap: calc(16 * var(--width-ratio));
		margin-bottom: calc(40 * var(--width-ratio));
	}
	.c-business__mini .item {
		width: 100%;
		padding: calc(33 * var(--width-ratio)) calc(23 * var(--width-ratio)) calc(33 * var(--width-ratio));
	}
	.c-business__mini .item .ttl-block {
		flex-direction: row;
		align-items: center;
		column-gap: calc(16 * var(--width-ratio));
	}
	.c-business__mini .item .ttl-block h3 {
		font-size: calc(18 * var(--width-ratio-1280));
	}
	.c-business__mini .item p {
		font-size: min(18px, calc(14 * var(--width-ratio-1280)));
		line-height: 1.6;
		letter-spacing: 0;
	}
}

/*--------------------------------
# 下部リンク
--------------------------------*/
.c-bottomLinks {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: calc(32 * var(--width-ratio-1280));
	padding: 0 0 calc(80 * var(--width-ratio-1280));
}
.c-bottomLinks a {
	width: calc(301 * var(--width-ratio-1280));
	border: none;
}
.c-bottomLinks a::after {
	position: absolute;
	top: 50%;
	right: calc(40 * var(--width-ratio-1280));
	transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
	.c-bottomLinks {
		flex-direction: column;
		row-gap: calc(16 * var(--width-ratio));
		padding: 0 calc(24 * var(--width-ratio)) calc(60 * var(--width-ratio));
	}
	.c-bottomLinks a {
		width: 100%;
		height: calc(56 * var(--width-ratio-1280));
		font-size: calc(14 * var(--width-ratio-1280));
		padding: 0 calc(32 * var(--width-ratio-1280));
	}
	.c-bottomLinks a::after {
	}
}

/*====================================================
c-news-card お知らせ/電子公告/イベント情報 カセット
====================================================*/
.c-news-card-list {
	display: grid;
	grid-template-columns: auto auto 1fr auto;
}

.c-news-card-list__item {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: span 4;
}
.c-news-card-list__item:not(:first-of-type) {
	border-top: 1px solid #f1f5f9;
}

@media screen and (min-width: 769px) {
	.c-news-card-list__item .c-news-card,
	.c-news-card-list__item .c-news-card__link {
		/* ulリストコンポーネント配下時のみsubgridを有効とする */
		display: grid;
		grid-template-columns: subgrid;
		grid-column: span 4;
	}
}

.c-news-card {
	--iconSize: 32px;
}
@media screen and (max-width: 768px) {
	.c-news-card {
		--iconSize: calc(24 * var(--width-ratio));
	}
}

.c-news-card__link {
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	column-gap: 16px;
	align-items: center;
	padding: calc(16 * var(--width-ratio-1280)) calc(32 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-news-card__link {
		grid-template:
			"date . category . icon" auto
			"ttl ttl ttl . icon" 1fr
			/ auto calc(8 * var(--width-ratio)) 1fr calc(16 * var(--width-ratio)) var(--iconSize);
		align-items: start;
		justify-items: start;
		row-gap: calc(8 * var(--width-ratio-1280));
		column-gap: 0;
		padding: calc(16 * var(--width-ratio));
	}
}

.c-news-card__link::after {
	--arrowSize: 16px;
	content: "";
	aspect-ratio: 1;
	width: var(--iconSize);
	height: var(--iconSize);
	border: 1px solid #e2e8f0;
	border-radius: 50%;
	box-shadow:
		0 1px 3px 0 rgba(0, 0, 0, 0.1),
		0 1px 2px 0 rgba(0, 0, 0, 0.1);
	background-image: url(../img/arrow_r_blue.png);
	background-size: var(--arrowSize) var(--arrowSize);
	background-repeat: no-repeat;
	background-position: center center;
}
@media screen and (max-width: 768px) {
	.c-news-card__link::after {
		--arrowSize: 16px;
		grid-area: icon;
		width: calc(24 * var(--width-ratio-1280));
		height: calc(24 * var(--width-ratio-1280));
		margin-top: calc(14 * var(--width-ratio-1280));
	}
}

.c-news-card__date {
	width: 100px;
	font-family: var(--font-ja);
	font-size: calc(16 * var(--width-ratio-1280));
	font-weight: 500;
	color: #90a1b9;
}
@media screen and (max-width: 768px) {
	.c-news-card__date {
		align-self: center;
		grid-area: date;
		width: auto;
		font-size: calc(14 * var(--width-ratio-1280));
		padding-top: 2px;
	}
}

.c-news-card__category {
	margin-right: 0;
}
@media screen and (max-width: 768px) {
	.c-news-card__category {
		grid-area: category;
		margin-right: 0;
	}
}

.c-news-card__ttl {
	color: #1d293d;
	margin-right: 20px;
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	.c-news-card__ttl {
		grid-area: ttl;
		margin-right: 0;
	}
}

/*====================================================
c-category
====================================================*/
.c-category {
	min-width: 80px;
	min-height: 26px;
	display: inline-block;
	place-content: center;
	font-family: var(--font-en);
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-blue);
	border-radius: 13px;
	background-color: #fff;
	box-shadow:
		0 1px 3px 0 rgba(0, 0, 0, 0.1),
		0 1px 2px 0 rgba(0, 0, 0, 0.1);
	padding: 0 20px;
	white-space: nowrap;
}
@media screen and (max-width: 768px) {
	.c-category {
		min-width: unset;
		min-height: calc(22 * var(--width-ratio-1280));
		font-size: calc(10 * var(--width-ratio-1280));
		border-radius: calc(11 * var(--width-ratio-1280));
		padding: 0 calc(12.5 * var(--width-ratio-1280));
	}
}

/*====================================================
c-case-card
====================================================*/
.c-case-card {
	position: relative;
}

.c-case-card__link {
	--borderRadius: calc(24 * var(--width-ratio-1280));
	--paddingInline: calc(16 * var(--width-ratio-1280));
	--paddingBlock: calc(24 * var(--width-ratio-1280));
	display: grid;
	grid-template:
		"img img img" auto
		". company ." auto
		". ttl ." auto
		". body ." auto
		/ var(--paddingInline) 1fr var(--paddingInline);
	background-color: #fff;
	border-radius: var(--borderRadius);
	border: solid 1px #bedbff;
	color: #1d293d;
	box-shadow:
		0 1px 3px 0 rgba(0, 0, 0, 0.1),
		0 1px 2px -1px rgba(0, 0, 0, 0.1);
	padding-bottom: var(--paddingBlock);
}
@media screen and (max-width: 768px) {
	.c-case-card__link {
		--paddingInline: calc(16 * var(--width-ratio-1280));
		--paddingBlock: calc(16 * var(--width-ratio-1280));
	}
}

.c-case-card__img {
	grid-area: img;
	overflow: hidden;
	border-radius: var(--borderRadius) var(--borderRadius) 0 0;
	aspect-ratio: 498/300;
	margin-bottom: calc(24 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-case-card__img {
		margin-bottom: calc(16 * var(--width-ratio-1280));
	}
}
.c-case-card__img img {
	height: 100%;
	object-fit: cover;
}

.c-case-card__company {
	grid-area: company;
	font-weight: bold;
	letter-spacing: 0.01em;
	line-height: 1.6;
	font-size: calc(14 * var(--width-ratio-1280));
	margin-bottom: calc(8 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-case-card__company {
		font-size: calc(12 * var(--width-ratio-1280));
	}
}

.c-case-card__ttl {
	grid-area: ttl;
	margin-bottom: calc(8 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-case-card__ttl {
		margin-bottom: calc(4 * var(--width-ratio-1280));
	}
}

.c-case-card__body {
	grid-area: body;
	letter-spacing: 0.01em;
	line-height: 1.6;
	color: #62748e;
	font-size: calc(14 * var(--width-ratio-1280));
}

/*====================================================
c-case-card2
====================================================*/
.c-case-card2 {
	position: relative;
}
.c-case-card2__link {
	display: block;
	background-color: #fff;
	border-radius: calc(24 * var(--width-ratio-1280));
	border: solid 1px #bedbff;
	color: #1d293d;
	box-shadow:
		0 1px 3px 0 rgba(0, 0, 0, 0.1),
		0 1px 2px -1px rgba(0, 0, 0, 0.1);
	padding: calc(16 * var(--width-ratio-1280)) calc(16 * var(--width-ratio-1280)) calc(24 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-case-card2__link {
		padding: calc(16 * var(--width-ratio-1280));
	}
}

.c-case-card2__img {
	overflow: hidden;
	aspect-ratio: 361/235;
}
.c-case-card2__img img {
	height: 100%;
	object-fit: cover;
}

.c-case-card2__ttl {
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.c-case-card2__ttl {
		font-size: calc(14 * var(--width-ratio-1280));
		margin-top: calc(16 * var(--width-ratio-1280));
	}
}

/*====================================================
c-formWrap
====================================================*/
.c-formWrap {
	position: relative;
}

.c-formWrap__rows:not(:first-of-type) {
	margin-top: calc(32 * var(--width-ratio-1280));
}

.c-formWrap .form_label {
	display: block;
	color: #62748e;
	font-weight: bold;
	line-height: 1.6;
	font-size: calc(18 * var(--width-ratio-1280));
	margin-bottom: calc(16 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-formWrap .form_label {
		font-size: calc(16 * var(--width-ratio-1280));
	}
}

.c-formWrap .require {
	position: relative;
	bottom: 2px;
	display: inline-block;
	background-color: var(--color-blue);
	color: #fff;
	text-align: center;
	border-radius: 999px;
	line-height: 21px;
	font-weight: 500;
	font-size: 12px;
	padding-inline: 14px;
	margin-left: 20px;
}
@media screen and (max-width: 768px) {
	.c-formWrap .require {
		margin-left: 10px;
	}
}

/* =====select===== */
.c-formWrap__select {
	position: relative;
}
.c-formWrap__select::before {
	pointer-events: none;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	translate: 0 -30%;
	aspect-ratio: 1;
	width: 12px;
	background: url("../img/common/icon_select_arrow.svg") no-repeat center center/contain;
}

/* =====checkbox===== */
.c-formWrap .form_check {
	color: #62748e;
	font-weight: 500;
	line-height: 1.6;
	font-size: 16px;
}
@media screen and (max-width: 768px) {
	.c-formWrap .form_check {
		font-size: calc(16 * var(--width-ratio-1280));
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

.c-formWrap .form_check label {
	cursor: pointer;
}

/* =====error===== */
.c-formWrap .alert {
	color: #b50b0b;
	font-size: 0.6em;
	display: block;
	padding: 1em;
}

/*====================================================
c-dl
====================================================*/
.c-dl {
	display: grid;
	grid-template-columns: max-content auto;
	column-gap: 2em;
	row-gap: 1em;
	font-size: calc(16 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-dl {
		row-gap: 0.6em;
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

.c-dl__dt {
	color: #0540f2;
	font-weight: 500;
	line-height: 1.6;
}

/*====================================================
c-caseList
====================================================*/
.c-caseList > * + * {
	margin-top: calc(24 * var(--width-ratio-1280));
}

.c-caseList__item {
	--imgSize: clamp(400px, 595 / 1680 * 100vw, 595px);
	display: grid;
	grid-template:
		"img box" auto
		"body body" auto / var(--imgSize) 1fr;
	gap: calc(24 * var(--width-ratio-1280));
	background-color: #f1f9fe;
	border-radius: calc(24 * var(--width-ratio-1280));
	padding: calc(24 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.c-caseList__item {
		gap: calc(16 * var(--width-ratio-1280));
		grid-template:
			"img" auto
			"box" auto
			"body" auto / 1fr;
	}
}

.c-caseList__img {
	grid-area: img;
	aspect-ratio: 595/340;
	border-radius: calc(24 * var(--width-ratio-1280));
	overflow: hidden;
}

.c-caseList__img img {
	height: 100%;
}

.c-caseList__item--box {
	grid-area: box;
	align-self: center;
}

.c-caseList__item--ttl {
	color: var(--color-main);
}

.c-caseList__item--company {
	color: var(--color-main);
}

.c-caseList__item--body {
	grid-area: body;
}

/*====================================================
c-note
====================================================*/
.c-note {
	font-size: calc(14 * var(--width-ratio-1280));
	color: #90a1b9;
	line-height: 1.6;
}

/*====================================================
c-contact
====================================================*/
.c-contact {
	background-image: var(--color-blue-gradient);
	text-align: center;
}

.c-contact__ttl {
	color: #fff;
}
.c-contact__body {
	color: #fff;
}
.c-contact__tel {
	display: flex;
	justify-content: center;
	column-gap: 4px;
}
@media screen and (max-width: 768px) {
	.c-contact__tel {
		display: block;
	}
	.c-contact__tel > * + * {
		margin-top: calc(16 * var(--width-ratio-1280));
	}
}

.c-contact__tel--txt1 {
	align-self: center;
	color: #fff;
	line-height: 1;
}

.c-contact__tel--link {
	--fontsize: calc(32 * var(--width-ratio-1280));
	display: grid;
	grid-template-columns: var(--fontsize) auto;
	align-items: center;
	column-gap: 4px;
	color: #fff;
	font-weight: bold;
	font-family: var(--font-ja);
	line-height: 1;
	font-size: var(--fontsize);
}
@media screen and (max-width: 768px) {
	.c-contact__tel--link {
		--fontsize: calc(32 * var(--width-ratio-1280));
		justify-content: center;
	}
}

.c-contact__tel--link::before {
	content: "";
	aspect-ratio: 1;
	background: url("../img/common/icon_tel.svg") no-repeat center center/contain;
}

.c-contact__tel--txt2 {
	align-self: end;
	color: #fff;
	line-height: 1;
}
@media screen and (max-width: 768px) {
	.c-contact__tel--txt2 {
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

/*====================================================
c-borderBox
====================================================*/
.c-borderBox {
	background-color: #fff;
	border: 1px solid #f1f5f9;
	border-radius: calc(24 * var(--width-ratio-1280));
	padding: calc(24 * var(--width-ratio-1280));
	box-shadow:
		0 1px 3px 0 rgba(0, 0, 0, 0.1),
		0 1px 2px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
	.c-borderBox {
		padding: calc(24 * var(--width-ratio-1280)) calc(16 * var(--width-ratio-1280));
	}
}

/*====================================================
c-line
====================================================*/
.c-line {
	display: block;
	padding-bottom: 0.4em;
	border-bottom: 1px solid #c2d9ee;
}

.p-privacy-sec1 .c-text {
	font-size: calc(14 * var(--width-ratio-1280));
}

/*====================================================
c-caseChart
====================================================*/
.c-caseChart {
	--bgColor: #1755bf;
	--spTriangleHeight: 18px;
	--spRowGap: 24px;
	display: flex;
	overflow: hidden;
}
@media screen and (max-width: 768px) {
	.c-caseChart {
		display: grid;
		row-gap: var(--spRowGap);
	}
}

.c-caseChart__item {
	flex: 1;
	display: table-cell;
	position: relative;
	background-color: var(--bgColor);
	padding: 1em 0.5em 1em 2em;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.c-caseChart__item {
		font-size: calc(14 * var(--width-ratio-1280));
		padding: 0.7em 0.5em;
	}
}

.c-caseChart__item:not(:last-of-type)::before,
.c-caseChart__item:not(:last-of-type)::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 50%;
	translate: 0 -50%;
	margin: auto;
}

.c-caseChart__item:not(:last-of-type)::before {
	right: -1em;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}
@media screen and (max-width: 768px) {
	.c-caseChart__item:not(:last-of-type)::before {
		content: none;
	}
}
.c-caseChart__item:not(:last-of-type)::after {
	z-index: 10;
	right: -0.8em;
	border-style: solid;
	border-color: transparent transparent transparent var(--bgColor);
	border-width: 40px 0 40px 1em;
}
@media screen and (max-width: 768px) {
	.c-caseChart__item:not(:last-of-type)::after {
		--trianglePositionTopValue: calc((var(--spRowGap) - var(--spTriangleHeight)) / 2);
		z-index: 1;
		top: 100%;
		right: 50%;
		translate: 50% var(--trianglePositionTopValue);
		border: none;
		aspect-ratio: 95/18;
		width: 95px;
		height: var(--spTriangleHeight);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		background-color: var(--bgColor);
	}
}

.c-caseChart__item--off {
	--bgColor: #d9d9d9;
}
