@charset "UTF-8";
/* CSS Document */
/*-------------------------------*/

/* SERVICE */

/*------------------------------*/
/* ================================

about

================================ */
.service__healdine {
	--fluid-service-about-headline-size: calc(60vw / 13);
}
.service__headline--jp {
	/* min: 25px, just size, max: 50px */
	font-size: clamp(1.563rem, var(--fluid-service-about-headline-size), 3.125rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.05em;
	color: var(--color-secondary);
}
.service__headline--en {
	font-family: var(--alphabet);
	font-size: var(--txt-md);
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1.25;
}


/* ================================

二人三脚 ／ 伴走

================================ */
.pacing {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 2.5em var(--gutter-var-xl);

	margin-top: 4.5em;
}
.pacing__txt-wrapper {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;

	width: max(
		308px,
		50%
	);
	max-width: 100%;
}
.pacing__heading {
	font-size: var(--txt-lg);
	font-weight: 700;
	color: var(--color-bk);
	line-height: 1.35;
}
.pacing__txt {
	margin-top: 2.5em;
}
.pacing__photo {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	width: max(
		308px,
		calc(50% - var(--gutter-var-xl))
	);
	max-width: 100%;
	height: -webkit-max-content;
	height: -moz-max-content;
	height: max-content;

	aspect-ratio: 3 / 2;
}
.pacing__photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: 18%;
	   object-position: 18%;
}
@media (max-width: 559px) {
	.pacing {
		margin-top: 3.4em;
	}
	.pacing__txt {
		margin-top: 1em;
	}
}


/* ================================

分野

================================ */
.field {
	margin-top: 5em;
}
.field__heading {
	--field-heading-size: calc(72vw / 26);
	/* min: 15px, just size, max: 25px */
	font-size: clamp(0.938rem, var(--field-heading-size), 1.563rem);;

	font-weight: 500;
	color: var(--color-white);
	line-height: 1.35;
	text-align: center;

	padding: 1.9em var(--gutter-var-lg);
	background-color: var(--color-primary);
}
@media (max-width: 559px) {
	.field__heading {
		font-size: var(--txt-md);
	}
}
/* ---------------
リスト */
.field__inner {
	margin-top: 4em;
}
.field__lead {
	line-height: 1.5;
}
/* カード */
.field-list {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(280px, 1fr));
	gap: 2.5em 1px;
	overflow: hidden;

	margin-top: 2.5em;
}
@media (max-width: 959px) {
	.field-list {
		grid-template-columns: repeat(auto-fit,minmax(240px, 1fr));
	}
}
@media (max-width: 559px) {
	.field__inner {
		margin-top: 2.5em;
	}
	.field-list {
		grid-template-columns: repeat(auto-fit,minmax(156px, 1fr));
	}
}
.field-list__item {
	max-width: 100%;
	padding: 1.3em min(2.5vw, 1.3em);

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
}
.field-list__item::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -1px;
	width: 1px;
	height: 100%;
	background-color: var(--color-primary-pale);
}
.field-list__heading {
	font-size: var(--txt-reg);
	font-weight: 500;
	color: var(--color-secondary);
	line-height: 1.5;
	letter-spacing: normal;
	text-align: center;

	color: var(--color-white);
	background-color: var(--color-primary);
	padding: 0.5em var(--gutter-var-reg);
	width: 100%;
	border-radius: 4px;
}
.field-list__img {
	display: block;
	width: 112px;
	max-width: 100%;
	height: auto;
	margin-block: 1em;
}
.field-list__lead,
.field-inner-list {
	-ms-flex-item-align: start;
	    align-self: flex-start;
}
.field-list__lead {
	font-size: var(--txt-reg);
	line-height: 1.5;
	letter-spacing: normal;
	text-align: justify;
}
.field-inner-list {
	margin-top: 1em;
}
.field-inner-list__item {
	font-size: var(--txt-sm);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: normal;

	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.field-inner-list__item::before {
	content: "・";
}



/* ================================

料金体系

================================ */
.fee__lead {
	margin-top: 2em;
	line-height: 1.5;
}
.fee__annotation {
	margin-top: 0.3em;
}
.fee__ac {
	margin-top: 2.5em;
}
/* =======================
アコーディオン コンテンツ設定 */
.fee-list__item {
	padding: 1.9em max(1.9em ,var(--gutter-var-reg));
	border: 1px solid var(--color-primary-pale);
	border-radius: 16px;
}
.fee-list__button {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1em;
}
.fee-list_button--description {
	font-size: var(--txt-md);
	font-weight: 500;
}
.fee-list__button ,
.fee-list__item:not(:first-child) {
	margin-top: 2.5em;
}
@media (max-width: 559px) {
	.fee-list__item {
		padding: 1.5em max(1.5em ,var(--gutter-var-reg));
	}
}
.fee-list__ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0.5em var(--gutter-var-reg);
}
.fee-list__heading {
	font-size: var(--txt-md);
	font-weight: 700;
	line-height: 1.35;
}
.fee-list__fee {
	font-family: var(--alphabet);
	font-size: var(--txt-md);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: normal;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0.2em;
}
.fee-list__fee .unit {
	font-family: var(--baseFonts);
	font-size: var(--txt-reg);
	font-weight: 700;
	line-height: 1.35;
}
.fee-list__txt,
.fee-inner-list {
	line-height: 1.5;
	margin-top: 1.3em;
}
.fee-list__annotation {
	font-size: var(--txt-reg);
	line-height: 1.5;
}
/* ---------------
コンテナー設定 */
.fee-list {
	container-type: inline-size;
	container-name: fee-list-inner;
}
@container fee-list-inner (max-width: 400px) {
	.fee-list__ttl {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}
/* -------------------
IT導入スタートパックリスト */
.it-start-pack {
	margin-top: 1em;
	width: 100%;
}
.it-start-pack tr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.it-start-pack tr:not(:first-child) {
	margin-top: 0.5em;
}
.it-start-pack th {
	font-size: var(--txt-md);
	font-weight: 500;
	line-height: 1.35;

	-ms-flex-preferred-size: 17ic;

	    flex-basis: 17ic;
}
.it-start-pack td {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;

	font-family: var(--alphabet);
	font-size: var(--txt-md);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: normal;
	padding-left: 1.3em;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0.2em;
}
.it-start-pack td .unit {
	font-family: var(--baseFonts);
	font-size: var(--txt-reg);
	font-weight: 600;
	line-height: 1.35;
}
.it-start-pack__heading {
	font-size: var(--txt-md);
	font-weight: 500;
	line-height: 1.35;
}
.it-start-pack__fee {
	font-family: var(--alphabet);
	font-size: var(--txt-md);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: normal;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0.2em;
}
.it-start-pack__fee .unit {
	font-family: var(--baseFonts);
	font-size: var(--txt-reg);
	font-weight: 500;
	line-height: 1.35;
}