@charset "UTF-8";
/*===========================================================================

  style.css
  サイト固有の装飾スタイルをまとめます。
  汎用コンポーネントは components.css (.c-*) を使用してください。

  【命名ルール】
  接頭辞なし → このファイル（サイト固有）
  .c-        → components.css
  .l-        → layout.css
  .u-        → utility.css

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

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

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

/* 共通
===========================================================================*/
.section-heading {
	position: relative;
	text-align: center;
	padding-top: var(--s-10);
	margin-bottom: var(--s-10);
}
.section-heading__en {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 0;
	width: 100%;
	transform: translateX(-50%);
	font-family: var(--font-lora);
	font-size: clamp(2.5rem, 14vw, 6.25rem); /* 最大100px */
	font-weight: 400;
	line-height: 1;
	color: rgba(0, 0, 0, 0.05);
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}
.section-heading__title {
	position: relative;
	z-index: 1;
	font-family: var(--font-sans);
	font-size: var(--text-30); /* 40px */
	font-weight: 500;
	line-height: 1.6;
	color: var(--color-text);
}
.section-heading__title .accent {
	color: var(--color-primary);
}
.section-heading__lead {
	position: relative;
	margin-top: var(--s-4);
	font-family: var(--font-sans);
	font-size: var(--text-16); /* 16px */
	color: var(--color-text);
}
.section-heading__lead::after {
	content: "";
	display: block;
	width: 3.75rem; /* 60px */
	height: 2px;
	margin: var(--s-6) auto 0;
	background: linear-gradient(to right, var(--color-primary) 50%, var(--color-accent) 50%);
}
@media (min-width: 768px) {
	.section-heading {
		padding-top: var(--s-12);
	}
	.section-heading__title {
		font-size: var(--text-40); /* 40px */
	}
	.section-heading__lead {
		font-size: var(--text-18);
	}
}

/* メインビジュアル
===========================================================================*/
.mv {
	width: 100%;
	background-repeat: no-repeat;
	background-position: bottom center;
	position:relative;
}
.mv-inner {
	width: 100%;
	display: flex;
	flex-direction: column;
}
/* --- テキスト側 --- */
.mv__text {
	width: 100%;
	display: flex;
	align-items: center;
	padding: var(--s-10) 5% var(--s-10);
}
.mv__text-inner {
	width: 100%;
}
.mv__eyebrow {
	color: var(--color-primary);
	font-size: var(--text-15);
	font-weight: 600;
	margin-bottom: var(--s-3-5);
}
.mv__headline {
	font-size: var(--text-30);
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: var(--s-5);
}
.mv__headline .accent {
	color: var(--color-primary);
}
.mv__services {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2) var(--s-3);
	font-size: var(--text-14);
	font-weight: 600;
	margin-bottom: var(--s-5);
	color: var(--color-accent);
}
.mv__services span {
	font-weight: 400;
	color: #ddd;
}
.mv__points {
	margin-bottom: var(--s-8);
}
.mv__points li {
	display: flex;
	align-items: center;
	gap: var(--s-2);
	font-size: var(--text-14);
	line-height: 1.8;
}
.mv__points li i {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	border-radius: 50%;
	background-color: var(--color-primary);
	color: #fff;
	font-size: var(--text-10);
}
.mv__cta {
	display: inline-flex;
	align-items: center;
	gap: var(--s-2);
	padding: var(--s-3-5) var(--s-6);
	border-radius: 999px;
	background-color: var(--color-red);
	color: #fff;
	font-size: var(--text-15);
	font-weight: 700;
	box-shadow: 0 10px 20px rgba(166, 28, 0, 0.25);
}
.mv__cta i {
	font-size: var(--text-16);
}
/* --- 画像側 --- */
.mv__images {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
	padding: 0 5% var(--s-10);
}
.mv__images-row {
	display: flex;
	flex-direction: row;
	gap: var(--s-2);
	flex: 1;
}
.mv__panel {
	position: relative;
	overflow: hidden;
	border-radius: var(--s-4);
	background-size: cover;
	background-position: center;
	display: flex;
	flex: 1;
	align-items: flex-end;
	aspect-ratio: 16 / 9;
	height:auto;
}
.mv__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.4s ease;
	z-index: 0;
}
.mv__panel:hover::before {
	transform: scale(1.05);
}
.mv__panel-caption {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: var(--s-3) var(--s-5);
	background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 80%);
}
.mv__panel:hover .mv__panel-caption{
	background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 80%);
	}
.mv__panel-caption h3 {
	color: #fff;
	font-size: var(--text-16);
	line-height:1.2;
	font-weight: 500;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
/* ダミー背景（画像未設定時） */
.mv__panel--01 { background-color: #dfe9e3; background-image: linear-gradient(135deg, #eef5f1 0%, #cfe3d6 100%); }
.mv__panel--02 { background-color: #e7e2d8; background-image: linear-gradient(135deg, #f2ece0 0%, #ddd3bd 100%); }
.mv__panel--03 { background-color: #e2e8ee; background-image: linear-gradient(135deg, #eef2f6 0%, #d3dde6 100%); }
.mv__panel--04 { background-color: #e6e6e6; background-image: linear-gradient(135deg, #f2f2f2 0%, #d9d9d9 100%); }
.mv__wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  pointer-events: none;
  z-index: -5;
}
#waveCanvas {
  display: block;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
	.mv__text {
		padding: var(--s-15) 5% var(--s-10);
	}
	.mv__eyebrow {
		font-size: var(--text-16);
	}
	.mv__headline {
		font-size: var(--text-40);
	}
	.mv__services {
		font-size: var(--text-15);
	}
	.mv__points li {
		font-size: var(--text-15);
	}
	.mv__images {
		padding: 0 5% var(--s-15);
		gap: var(--s-4);
	}
	.mv__images-row {
		gap: var(--s-4);
	}
}
@media (min-width: 1024px) {
	.mv-inner {
		flex-direction: row;
		height: calc(100vh - 6.25rem);/* 100px ヘッダー分を引く */
		min-height: 38.75rem;/* 620px */
	}
	.mv__text {
		width: 45%;
		flex-shrink: 0;
		padding: 0 3% 0 6.25%;
	}
	.mv__eyebrow {
		font-size: var(--text-30);
		margin-bottom: var(--s-4);
	}
	.mv__headline {
		font-size: var(--text-60);
		margin-bottom: var(--s-7);
	}
	.mv__services {
		font-size: var(--text-24);
		margin-bottom: var(--s-6);
	}
	.mv__points {
		margin-bottom: var(--s-10);
	}
	.mv__points li {
		font-size: var(--text-16);
		line-height: 1.9;
	}
	.mv__cta {
		padding: var(--s-4) var(--s-8);
		font-size: var(--text-16);
	}
	.mv__cta i {
		font-size: var(--text-18);
	}
	.mv__images {
		width: 55%;
		flex-shrink: 0;
		height: 100%;
		overflow: hidden;
		padding:0;
	}
	.mv__images-row {
		min-height: 0;
	}
	.mv__panel {
		height: auto;
	}
	.mv__panel-caption {
		padding: var(--s-5);
	}
	.mv__panel-caption h3 {
		font-size: var(--text-20);
	}
}

/* SERVICE
===========================================================================*/
.service-section {
	background-color: #f6faf5;
}
.service-section__box{
	position: relative;
	}
.service-section__box::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 3.75rem;
	background-color: #fff;
	border-radius: 0 var(--s-6) var(--s-6) 0;
	z-index: 0;
}
.service-section > .inner {
	position: relative;
	z-index: 1;
}
.service-promo {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: #fff;
	border-radius: var(--s-2);
	overflow: hidden;
	border: 1px solid #eee;
	box-shadow: 0 0 0 rgba(36, 122, 36, 0);
	transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease;
}
.service-promo:hover {
	opacity: 1;
	border-color: var(--color-primary);
	box-shadow: 0 12px 28px rgba(36, 122, 36, 0.18);
	transform: translateY(-6px);
}
.service-promo__img {
	flex-shrink: 0;
	position: relative;
	aspect-ratio: 21 / 9;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-end;
}
.service-promo__title {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: var(--s-4);
	color: #fff;
	font-size: var(--text-18);
	text-align: center;
	font-weight: 500;
	line-height: 1.3;
	background-color: rgba(36, 122, 36, 0.8);
}
.service-promo__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: var(--s-4);
}
.service-promo__lead {
	text-align: center;
	font-size: var(--text-16);
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: var(--s-2);
}
.service-promo__lead .accent {
	color: var(--color-accent);
}
.service-promo__desc {
	text-align: center;
	font-size: var(--text-14);
	margin-bottom: var(--s-4);
}
.service-promo__list {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	flex: 1;
	background-color: #f6faf5;
	border-radius: var(--s-2);
	overflow: hidden;
	padding: var(--s-5);
	gap: var(--s-2);
}
.service-promo__list li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	flex-direction: column;
	gap: var(--s-1) var(--s-4);
	font-size: var(--text-14);
	line-height:1.5;
	text-align: left;
}
.service-promo__list-term {
	display: flex;
	align-items: center;
	gap: var(--s-2);
	flex-shrink: 0;
	font-weight: 500;
}
.service-promo__list-term i {
	color: var(--color-primary);
}
.service-promo__list-desc {
	color: #666;
}
.service-promo__list-desc::before {
	content: "— ";
}
@media (min-width: 768px) {
}
@media (min-width: 1024px) {
	.service-section__box::before {
		right: 7.5rem;
	}
	.service-promo__body {
		padding: var(--s-10) var(--s-5);
	}
	.service-promo__title {
		font-size: var(--text-20);
	}
	.service-promo__lead {
		font-size: var(--text-18);
	}
	.service-promo__desc {
		font-size: var(--text-15);
	}
	.service-promo__list {
	}
	.service-promo__list li {
		flex-direction: row;
		gap: var(--s-1) var(--s-4);
	}
	.service-promo__list-term {
		width: 40%;
	}
	.service-promo__list-desc {
		flex: 1;
	}
}

/* WORKS
===========================================================================*/
.works-section{
	}
.works-section .inner {
  overflow: visible;
}
.works-section .c-card{
	border: none;
	box-shadow: none;
	background-color:transparent;
	border-radius:0;
	}
.works-section .c-card:hover {
  opacity: 1;
	box-shadow: none;
  transform: none;
}
.works-section .c-card__img {
  aspect-ratio: 3 / 2;
	border-radius:var(--s-4);
}
.works-section .c-card__body {
  padding: var(--s-5) 0 0 0;
}
.works-section .c-card__label {
  font-size: clamp(var(--text-12), 1.69vw, var(--text-14));
  font-weight: 500;
  color: var(--color-accent);
	border:none;
	padding:0;
  margin-bottom: var(--s-1);
	border-radius:0;
}
.works-section .c-card__title {
  font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
  font-weight: 600;
  line-height:1.5em;
  margin-bottom: var(--s-3);
}
.works-section .c-card__text {
  font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.8em;
	margin-bottom: var(--s-3);
	color:#444;
}
.works-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-2);
	margin-bottom: var(--s-5);
}
.works-card__tags li {
	font-size: var(--text-12);
	font-weight: 500;
	color: var(--color-primary);
	border:1px solid #eee;
	border-radius: var(--s-1);
	padding: var(--s-1) var(--s-2);
}
@media (min-width: 768px) {
}
@media (min-width: 1024px) {
.works-section .c-card__body {
  padding: var(--s-6) 0 0 0;
}
.works-section .c-card__label {
  margin-bottom: var(--s-2);
}
.works-section .c-card__title {
  margin-bottom: var(--s-5);
}
.works-section .c-card__text {
	margin-bottom: var(--s-5);
}
.works-card__tags li {
	padding: var(--s-1) var(--s-3);
}
}

/* ABOUT
===========================================================================*/
.about-section {
	position: relative;
	background-color: #f6faf5;
	overflow: hidden;
}

/* リグネットについて */
.about-media.c-media{
	margin-bottom: var(--s-15);
	}
.about-media.c-media .c-media__img img{
	border-radius: var(--s-4)
	}
.about-section__label {
	display: inline-flex;
	align-items: center;
	background-color: var(--color-primary);
	color: #fff;
	font-size: var(--text-15);
	font-weight: 600;
	line-height: 1;
	padding: var(--s-3) var(--s-10) var(--s-3) var(--s-5);
	margin-bottom: var(--s-5);
  clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 50%, 100% 100%, 0 100%);
}
.about-section__title {
	font-size: clamp(var(--text-24), 4vw, var(--text-30));
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: var(--s-5);
}
.about-section__title .accent {
	color: var(--color-accent);
}
.about-section__text {
	margin-bottom: var(--s-5);
}

/* リグネットが選ばれる理由 */
.about-section__subheading {
	position: relative;
	z-index: 1;
	margin-bottom: var(--s-10);
	padding-left: var(--s-5);
	font-size: clamp(var(--text-20), 3vw, var(--text-24));
	font-weight: 600;
	line-height:1.2;
}
.about-section__subheading::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	bottom: 0.15em;
	width: 3px;
	background: linear-gradient(to bottom, var(--color-primary) 50%, var(--color-accent) 50%);
}
.about-section__grid-wrap {
	position: relative;
}
.about-section__watermark {
	position: absolute;
	top: -2.5rem;
	right: 0;
	z-index: 2;
	line-height:1;
	font-family: var(--font-lora);
	font-size: clamp(var(--text-30), 6vw, var(--text-60));
	color: rgba(0, 0, 0, 0.05);
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}
.reason-card {
	display: flex;
	align-items: flex-start;
	flex-direction:column;
	gap: var(--s-3);
	background-color: #fff;
	border-radius: var(--s-4);
	padding: var(--s-5);
}
.reason-card__icon {
	flex-shrink: 0;
	width: 3.75rem; /* 60px */
	height: 3.75rem; /* 60px */
	margin: 0 auto;
}
.reason-card__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.reason-card__title {
	font-size: clamp(var(--text-16), 3vw, var(--text-18));
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: var(--s-2);
	text-align:center;
}
.reason-card__text {
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.8em;
	color: #444;
}

@media (min-width: 768px) {
.about-media.c-media {
	align-items: flex-start;
}
.reason-card {
	flex-direction:row;
	gap: var(--s-5);
}
.reason-card__title {
	text-align:left;
}
}
@media (min-width: 1024px) {
.about-media.c-media {
	align-items: center;
}
.reason-card {
	gap: var(--s-10);
	padding: var(--s-10);
}
.reason-card__icon {
	width: 6.25rem; /* 100px */
	height: 6.25rem; /* 100px */
}
}

/* NEWS
===========================================================================*/
.news-section__row {
	display: flex;
	flex-direction: column;
	gap: var(--s-8);
}
.news-section__side {
	flex-shrink: 0;
	text-align: center;
}
.news-section__label {
	font-family: var(--font-lora);
	color: var(--color-accent);
	font-size: var(--text-16);
	line-height:1;
	font-weight: 400;
	margin-bottom: var(--s-3);
}
.news-section__title {
	font-size: clamp(var(--text-24), 3.52vw, var(--text-30));
	font-weight: 600;
	line-height:1;
	margin-bottom: var(--s-5);
}
.news-section__list {
	flex: 1;
	min-width: 0;
}
@media (min-width: 1024px) {
	.news-section__row {
		flex-direction: row;
		align-items: center;
		gap: var(--s-15);
	}
	.news-section__side {
		width: 16rem;
		justify-items:flex-start;
		text-align:left;
	}
	.news-section__title {
		margin-bottom: var(--s-10);
	}
}

/* CTA（IT のお悩み）
===========================================================================*/
.cta-section {
	background-image:url(../images/common/cta_bg.jpg);
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	background-color:#7a1a0c;
	color: #fff;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.cta-section__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0.5;
}
.cta-section > .inner {
	position: relative;
	z-index: 1;
}
.cta-section__title {
	font-size: clamp(var(--text-24), 4.17vw, var(--text-40));
	font-weight: 600;
	line-height:1.5;
	margin-bottom: var(--s-5);
}
.cta-section__title br{
	display:block;
	}
.cta-section__accent {
	position: relative;
	display: inline-block;
}
.cta-section__accent::before {
	content: "";
	position: absolute;
	top: -0.1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #fff;
}
.cta-section__text {
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: var(--s-8);
	text-align:left;
}

@media (min-width: 768px) {
.cta-section__title {
	margin-bottom: var(--s-6);
}
.cta-section__accent::before {
	width: 6px;
	height: 6px;
}
.cta-section__title br{
	display:none;
	}
.cta-section__text {
	text-align:center;
}
}

/* バナー
===========================================================================*/
.banner-section {
	border-top:1px solid #eee;
}
.banner-section .c-grid a{
	display:flex;
	justify-content:center;
	}
@media (min-width: 768px) {
}


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

　支援実績
	
===========================================================================*/
.works-card {
  display: block;
  background-color: #fff;
  overflow: hidden;
	border:1px solid #eee;
	border-radius: var(--s-4);
}
a.works-card{
	transition: box-shadow 0.3s, border-color 0.3s, transform 0.3s;
	}
a.works-card:hover {
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.08);
  border-color: var(--color-primary);
}
.works-card__img {
}
.works-card__img img {
}
.works-card__body {
  padding: var(--s-4);
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}
.works-card__title {
  font-size: var(--text-16);
  font-weight: 600;
}
.works-card__group {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.works-card__label {
  display: inline-block;
  align-self: flex-start;
  font-size: var(--text-14);
  font-weight: 500;
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  padding: 0.125rem var(--s-3);
}
.works-card__text {
  font-size: var(--text-15);
  line-height: 1.8;
}
.works-card__list {
  display: flex;
  flex-wrap: wrap;
  font-size: var(--text-15);
  line-height: 1.8;
}
.works-card__list li:not(:last-child)::after {
  content: "/";
  color: var(--color-border);
  margin: 0 0.25em;
}

.works-intro__trouble-box {
  background-color: #f7f7f7;
	border: 1px solid #eee;
	border-radius: var(--s-4);
	margin-top:var(--s-5);
}
/* リボン風のポリゴン切り欠き見出し */
.works-intro__trouble-title {
	border-radius: var(--s-4) 0 var(--s-4) 0;
  display: inline-block;
  padding: var(--s-2) var(--s-3);
  background-color: var(--color-primary);
  color: #fff;
  font-size: var(--text-16);
  font-weight: 700;
  /*clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);*/
}
/* リスト全体の余白と文字サイズ */
.works-intro__trouble-list {
  padding: var(--s-3);
  font-size: var(--text-14);
  line-height: 1.4;
  list-style: none;
}
/* リストアイテム */
.works-intro__trouble-item {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
}
.works-intro__trouble-item:last-child {
  margin-bottom: 0;
}
/* チェックアイコン */
.works-intro__trouble-item .fa-circle-check {
  margin-top: 0.2em;
  margin-right: 0.5em;
	color: var(--color-accent);
}

@media (min-width: 768px) {
  .works-card__body {
    padding: var(--s-6);
  }
  .works-card__title {
    font-size: var(--text-18);
  }
	.works-intro__trouble-title {
		padding: var(--s-3) var(--s-5);
	}
	.works-intro__trouble-list {
		padding: var(--s-4);
	}
}

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

　会社概要
	
===========================================================================*/

/* 私たちが大切にしていること
===========================================================================*/
.value-card{
	position: relative;
	background-color: #fff;
	border-radius: 16px;
	text-align: center;
	padding: 40px 20px;
	overflow: hidden;
}
.value-card__icon{
	position: relative;
	z-index: 1;
	width: 7.5rem;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 auto 20px;
	border-radius: 50%;
	overflow: hidden;
	background-color: #f7f7f7;
	display:flex;
	align-items:center;
	justify-content:center;
}
.value-card__icon img{
	width: 100%;
	max-width:60px;
}
.value-card__title{
	position: relative;
	z-index: 1;
	font-size: var(--text-15);
	font-weight: 500;
	line-height: 1.2;
}
.value-card__number{
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	font-family: var(--font-lora);
	font-size: var(--text-40);
	font-weight: 400;
	line-height: 1;
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
	opacity:0.05;
}
@media (min-width: 768px) {
	.value-card{
		padding: 40px 20px;
	}
	.value-card__icon{
		margin-bottom: 20px;
	}
	.value-card__title{
		font-size: var(--text-16);
	}
	.value-card__number{
		font-size: var(--text-40);
	}
}

/* リグネットの強み
===========================================================================*/
#section-strong .reason-card{
	}


/* 事業内容
===========================================================================*/
.c-card--service{
	border:none;
	}
.c-card--service .c-card__title {
	font-size: var(--text-16);
	text-align:center;
}
.c-card--service .c-card__text {
	color:#444;
}

@media (min-width: 768px) {
	.c-card--service .c-card__body {
		padding: var(--s-6) var(--s-5);
	}
	.c-card--service .c-card__title {
		margin-bottom: var(--s-3);
	}
}


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

　サービス
	
===========================================================================*/

/* サービス一覧
===========================================================================*/

.c-card--service-list.c-card {
	box-shadow: none;
	border:1px solid #eee;
	}
.c-card--service-list.c-card:hover {
	border-color: var(--color-primary);
}
.c-card--service-list .c-card__body {
  padding: var(--s-5);
}
.c-card--service-list .c-card__title {
  font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	margin-bottom: var(--s-1);
	line-height:1.5em;
}
.c-card--service-list .c-card__text {
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.6em;
	color:#444;
}
@media (min-width: 480px) {
}
@media (min-width: 768px) {
	.c-card--service-list .c-card__body {
		padding: var(--s-6);
	}
}
	

/* このようなお悩みはありませんか？
===========================================================================*/
.worry-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: var(--color-bg-light);
	border-radius: var(--s-4);
	padding: var(--s-5) var(--s-3);
}
.worry-card__icon {
	position: absolute;
	top: calc(var(--s-5) * -0.5); /* -10px：アイコンの半分をカード上端からはみ出させる */
	left: 50%;
	transform: translateX(-50%);
	width: var(--s-5); /* 20px */
	height: var(--s-5); /* 20px */
	color: var(--color-text);
	z-index: 1;
}
.worry-card__icon img {
	width: 100%;
	height: 100%;
}
.worry-card__text {
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	font-weight: 500;
	line-height: 1.5;
}
.worry-card__text strong {
	color: var(--color-accent);
	font-weight: 500;
}
.worry-lead {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--s-3);
	margin-top: var(--s-8);
	text-align: center;
	font-size: clamp(var(--text-22), 3.39vw, var(--text-30));
	font-weight: 600;
	line-height: 1.6;
}
.worry-lead__text {
	/* 折り返しはここだけで発生させる */
}
.worry-lead__mark {
	flex-shrink: 0; /* 折り返しても縮まない */
	display: inline-block;
	width: 1px;
	height: 1.2em;
	background-color: var(--color-text);
}
.worry-lead__mark--left  { transform: rotate(-20deg); } /* ＼ */
.worry-lead__mark--right { transform: rotate(20deg);  } /* ／ */
.worry-lead__hl { color: var(--color-primary); }
.worry-lead__accent {
	position: relative;
	display: inline-block;
}
.worry-lead__accent::before {
	content: "";
	position: absolute;
	top: -0.05rem;
	left: 50%;
	transform: translateX(-50%);
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: var(--color-primary);
}
@media (min-width: 768px) {
	.worry-card {
		padding: var(--s-10) var(--s-5); /* 40px 20px */
	}
	.worry-card__icon {
		top: calc(var(--s-10) * -0.5); /* -20px：アイコンの半分をカード上端からはみ出させる */
		width: var(--s-10); /* 40px */
		height: var(--s-10); /* 40px */
	}
	.worry-lead {
		margin-top: var(--s-12);
		line-height: 1.5;
		gap: var(--s-10);
	}
	.worry-lead__mark {
		height: 1.5em;
	}
	.worry-lead__accent::before {
		top: -0.1rem;
		width: 6px;
		height: 6px;
	}
}

/* サービス内容/リグネットでできること
===========================================================================*/
.service-card {
	background-color: #fff;
	border-radius: var(--s-4); /* 16px */
	text-align: center;
	padding: var(--s-5) var(--s-3);
	border: 1px solid #eee;
}
.service-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5rem; /* 80px */
	aspect-ratio: 1 / 1;
	margin: 0 auto var(--s-3);
	border-radius: 50%;
	background-color:#f6faf5;
}
.service-card__icon img {
	width: 100%;
	max-width: 40px;
	height: auto;
}
.service-card__title {
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	line-height:1.5em;
	font-weight: 600;
	margin-bottom: var(--s-2);
}
.service-card__text {
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	color: #444;
	line-height:1.6em;
}
.service-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: var(--s-6);
	background-color: #fff;
	border-radius: var(--s-3);
	overflow: hidden;
}
.service-banner__label {
	display: flex;
	align-items: center;
	gap: var(--s-2);
	flex-shrink: 0;
	color: #fff;
	background-color: var(--color-primary);
	font-weight: 600;
	padding: var(--s-3) var(--s-5);
}
.service-banner__list {
	padding: var(--s-3) var(--s-5);
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.8em;
}
@media (min-width: 768px) {
	.service-card {
		padding: var(--s-10) var(--s-5);
	}
	.service-card__icon {
		width: 7.5rem; /* 120px */
		margin-bottom: var(--s-5);
	}
	.service-card__icon img {
		max-width: 80px;
	}
	.service-banner {
		margin-top: var(--s-10);
	}
	.service-banner__label,
	.service-banner__list {
		padding: var(--s-5) var(--s-5);
	}
}

/* リグネットの特徴
===========================================================================*/
.c-card--features{
	border:non !important;
	display:flex !important;
	flex-direction: column-reverse;
	border: 1px solid #eee;
	}
.c-card--features .c-card__img {
	position: relative;
	flex: 1;
	min-height: 0;
	aspect-ratio: unset; /* 元のaspect-ratio指定を解除して可変にする */
}
.c-card--features .c-card__img::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--s-24); /* 96px：グラデーションで馴染ませる高さ */
	z-index: 1;
	pointer-events: none;
	/* --color-primary(#4acc3f)のrgb値を使い、色相を保ったままフェード */
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
.c-card--features .c-card__body{
	padding:var(--s-5);
	}
.features-card__label{
	background-color: var(--color-primary);
	border:1px solid  var(--color-primary);
	color:#fff;
	font-weight:400;
	font-size: clamp(var(--text-12), 1.69vw, var(--text-14));
	font-family: var(--font-lora);
	line-height:1;
	display:inline-block;
	padding:var(--s-1) var(--s-2);
	margin-bottom: var(--s-3);
	border-radius:var(--s-1);
	}
.c-card--features .c-card__title {
	border-left:3px solid var(--color-accent);
	padding-left:var(--s-3);
	font-size: clamp(var(--text-18), 2.47vw, var(--text-20));
	line-height:1.5em;
	margin-bottom: var(--s-3);
}
.c-card--features .c-card__text {
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.8em;
	color:#444;
}
.c-card--features .c-card__text strong{
	font-weight:500;
	}

@media (min-width: 768px) {
	.c-card--features .c-card__body {
		padding: var(--s-5) var(--s-5);
	}
	.features-card__label{
		padding:var(--s-2) var(--s-2);
		margin-bottom: var(--s-5);
		}
}

/* 制作・運用フロー
===========================================================================*/
.flow-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2) var(--s-2);
	background-color: #fff;
	border: 1px solid #eee;
	border-radius: var(--s-3);
	padding: var(--s-5);
	margin-bottom: var(--s-4);
}
.flow-item:last-child {
	margin-bottom: 0;
}
.flow-item__number {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--s-8);
	height: var(--s-8);
	border-radius: 50%;
	background-color: var(--color-primary);
	color: #fff;
	font-family: var(--font-lora);
	font-size: var(--text-18);
}
.flow-item__title {
	flex-shrink: 0;
	font-weight: 600;
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	line-height:1.5em;
}
.flow-item__text {
	width: 100%;
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	color: #444;
	line-height:1.8em;
}
@media (min-width: 768px) {
	.flow-item {
		flex-wrap: nowrap;
		gap: var(--s-5);
		padding: var(--s-5) var(--s-10);
		margin-bottom: var(--s-5);
	}
	.flow-item__number {
		width: var(--s-10);
		height: var(--s-10);
		font-size: var(--text-20);
	}
	.flow-item__title {
		width: 10rem;
	}
	.flow-item__text {
		width: auto;
		flex: 1;
	}
}

/* 制作・導入実績
===========================================================================*/
.works-media .c-media__img {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background-color: #fff;
	border-radius: var(--s-2);
}
.works-media .c-media__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.works-media__label {
	display: inline-block;
	background-color: var(--color-primary);
	color: #fff;
	font-size: clamp(var(--text-12), 1.69vw, var(--text-14));s
	font-weight: 500;
	padding: var(--s-1) var(--s-3);
	border-radius: var(--s-1);
	margin-bottom: var(--s-4);
}
.works-media__title {
	font-size: clamp(var(--text-18), 2.47vw, var(--text-20));
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: var(--s-2);
}
.works-media__text {
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.8em;
	color: #444;
	margin-bottom: var(--s-4);
}

@media (min-width: 768px) {
	.works-media__label {
		margin-bottom: var(--s-5);
	}
	.works-media__title {
		margin-bottom: var(--s-3);
	}
	.works-media__text {
		margin-bottom: var(--s-5);
	}
}

/* リグネットのサポート内容
===========================================================================*/
.support-item {
	display: flex;
	align-items: center;
	gap: var(--s-5);
	background-color:#fff;
	border-radius:var(--s-2);
	border: 1px solid #eee;
}
.support-item__img {
	flex-shrink: 0;
	width: var(--s-20); /* 80px */
	aspect-ratio: 1 / 1;
	border-radius:var(--s-2) 0 0 var(--s-2);
	overflow: hidden;
}
.support-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.support-item__title {
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: var(--s-1);
}
.support-item__text {
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.6em;
	color: #444;
}
@media (min-width: 768px) {
	.support-item__img {
		width: var(--s-35); /* 140px */
	}
}

/* 比較
===========================================================================*/
.compare-card {
	border-radius: var(--s-4);
	overflow: hidden;
	border: 2px solid var(--color-border);
	background-color: #fff;
}
.compare-card__title {
	margin: 0;
	padding: var(--s-4);
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	line-height:1.5em;
	font-weight: 600;
	color: #fff;
	background-color: var(--color-border);
}
.compare-card__body {
	padding: var(--s-4);
}
.compare-card__list {
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
}
.compare-card__list li {
	position: relative;
	padding-left: var(--s-5);
	font-size: clamp(var(--text-15), 2.02vw, var(--text-16));
	line-height: 1.5;
}
.compare-card__list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.7em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
}
/* （左：あえて控えめな色でトーンダウン） */
.compare-card:first-child {
	border-color: #aaa;
}
.compare-card:first-child .compare-card__title {
	background-color: #aaa;
}
.compare-card:first-child .compare-card__list li::before {
	background-color: #aaa;
}
/* （右：ブランドカラー） */
.compare-card:last-child {
	border-color: var(--color-primary);
}
.compare-card:last-child .compare-card__title {
	background-color: var(--color-primary);
}
.compare-card:last-child .compare-card__list li::before {
	background-color: var(--color-primary);
}

@media (min-width: 768px) {
	.compare-card__title {
		padding: var(--s-5);
	}
	.compare-card__body {
		padding: var(--s-5);
	}
}



/* こんな企業におすすめです */
/*
<div class="persona-grid c-grid c-grid--3-md c-grid--gap-5 c-grid--gap-6-md">
				<div class="persona-bubble">
					<i class="fa-regular fa-circle-check persona-bubble__icon" aria-hidden="true"></i>
					<p class="persona-bubble__text">勤怠管理を紙やExcelで行っており、集計作業に時間がかかっている</p>
				</div>
				<div class="persona-bubble">
					<i class="fa-regular fa-circle-check persona-bubble__icon" aria-hidden="true"></i>
					<p class="persona-bubble__text">打刻漏れや申請漏れの確認・修正に毎月手間がかかっている</p>
				</div>
				<div class="persona-bubble">
					<i class="fa-regular fa-circle-check persona-bubble__icon" aria-hidden="true"></i>
					<p class="persona-bubble__text">クラウド勤怠管理システムを導入したが、うまく定着していない</p>
				</div>
				<div class="persona-bubble">
					<i class="fa-regular fa-circle-check persona-bubble__icon" aria-hidden="true"></i>
					<p class="persona-bubble__text">勤務形態やルールが複雑で、設定や運用に不安がある</p>
				</div>
				<div class="persona-bubble">
					<i class="fa-regular fa-circle-check persona-bubble__icon" aria-hidden="true"></i>
					<p class="persona-bubble__text">システム導入後も相談できるサポート体制を重視したい</p>
				</div>
			</div>
*/
.persona-bubble {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--s-3);
	background-color: #fff;
	border-radius: 999px;
	padding: var(--s-4) var(--s-6);
	border: 1px solid #eee;
	/*box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);*/
}
.persona-bubble::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.55rem;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 9px solid #fff;
	filter: drop-shadow(0 1px 0px rgba(238, 238, 238, 1));
}
.persona-bubble__icon {
	flex-shrink: 0;
	font-size: var(--text-20);
	color: var(--color-primary);
}
.persona-bubble__text {
	font-size: var(--text-15);
	font-weight: 600;
	line-height: 1.6;
	color: var(--color-text);
}
.persona-bubble__hl {
	color: var(--color-accent);
	font-weight: 600;
}

@media (min-width: 768px) {
	.persona-bubble {
		padding: var(--s-5) var(--s-7);
	}
	.persona-bubble__icon {
		font-size: var(--text-22);
	}
	.persona-bubble__text {
		font-size: var(--text-16);
	}
}

/* 対応事例 */
.case-card{
	border-radius: var(--s-4);
	background-color: #fff;
	border: 1px solid #eee;
	padding: var(--s-5);
	display: flex;
	align-items: flex-start;
	/*flex-direction:column;*/
	gap: var(--s-5);
	}
.case-card__img {
	display: block;
	flex-shrink: 0;
	width: var(--s-12);/*48px*/
	height: var(--s-12);/*48px*/
	border-radius: 50%;
	overflow: hidden;
	}
	.case-card__img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		}
.case-card__box{}
.case-card__title{
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	line-height:1.5em;
	font-weight:600;
	margin-bottom:var(--s-2);
	display: flex;
	align-items: center;
	gap:var(--s-4);
	}
.case-card__title i{
	color: var(--color-primary);
	}
.case-card__text{
	margin-bottom:var(--s-4);
	font-size: clamp(var(--text-14), 1.89vw, var(--text-15));
	line-height:1.6;
	color:#444;
	}
.case-card__list{
	display:flex;
	flex-wrap:wrap;
	gap:var(--s-2);
	background-color:#f6faf5 ;
	font-size: var(--text-14);
	border-radius: var(--s-1);
	padding:var(--s-2);
	}
.case-card__list li{
	display:flex;
	align-items:center;
	gap:2px;
	}
.case-card__list li i{
	color: var(--color-accent);
	}
@media (min-width: 480px) {
.case-card__img {
	width: var(--s-25);/*100px*/
	height: var(--s-25);/*100px*/
	}
}
@media (min-width: 768px) {
.case-card{
	padding: var(--s-6);
	gap: var(--s-6);
	}
	}
@media (min-width: 1024px) {
.case-card__img {
	width: var(--s-37);/*148px*/
	height: var(--s-37);/*148px*/
	}
}


/* 賃貸･顧客管理システム
===========================================================================*/
/* 01/02/03 ナンバーカード */
.service-numbered-list {
	display: flex;
	flex-direction: column;
	gap: var(--s-4);
}
.service-numbered-card {
	display: flex;
	align-items: flex-start;
	gap: var(--s-4);
	padding: var(--s-4);
	background: #fff;
	border: 1px solid #eee;
	border-radius: var(--s-4);
}
.service-numbered-card__num {
	flex: none;
	font-family: var(--font-lora);
	font-size: var(--text-16);
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background-color: var(--color-primary);
	width:var(--s-8);
	height:var(--s-8);
	border-radius: 50%;
	display:flex;
	align-items:center;
	justify-content:center;
}
.service-numbered-card__title {
	margin-bottom: var(--s-1);
	font-size: var(--text-18);
	font-weight: 600;
	color: var(--color-accent);
}
.service-numbered-card__text {
	font-size: var(--text-14);
}
@media (min-width: 768px) {
.service-numbered-list {
	gap: var(--s-5);
}
.service-numbered-card {
	gap: var(--s-5);
	padding: var(--s-5);
}
.service-numbered-card__num {
	font-size: var(--text-18);
	width:var(--s-10);
	height:var(--s-10);
}
.service-numbered-card__title {
}
.service-numbered-card__text {
	font-size: var(--text-15);
}
}
@media (min-width: 1024px) {
}

/* 2カラムカード（賃貸管理・契約機能） */
.service-col2__card {
	padding: var(--s-4);
	background: #fff;
	border: 1px solid #eee;
	border-radius: var(--s-4);
}
.service-col2__label{
	color: #fff;
	background-color: var(--color-primary);
	border-radius: var(--s-1);
	font-size: var(--text-14);
	font-weight: 600;
	padding: var(--s-1) var(--s-2);
	margin-bottom: var(--s-2);
	display:inline-block;
	}
.service-col2__title {
	margin-bottom: var(--s-1);
	font-size: var(--text-18);
	font-weight: 600;
	color: var(--color-accent);
}
.service-col2__text {
	font-size: var(--text-14);
}
@media (min-width: 768px) {
	.service-col2__card {
		padding: var(--s-5);
	}
	.service-col2__text {
		font-size: var(--text-15);
	}
}
@media (min-width: 1024px) {
}

/* フロー型2カラム（請求・入金管理） */
.service-flow {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: var(--s-4);
}
.service-flow__card {
	padding: var(--s-4);
	background: #fff;
	border: 1px solid #eee;
	border-radius: var(--s-4);
}
.service-flow__title {
	margin-bottom: var(--s-1);
	font-size: var(--text-18);
	font-weight: 600;
	color: var(--color-accent);
}
.service-flow__text {
	font-size: var(--text-14);
}
.service-flow__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width:var(--s-10);
	height:var(--s-10);
	margin: 0 auto;
	background: var(--color-primary);
	color: #fff;
	border-radius: 50%;
	font-size: var(--text-14);
	transform: rotate(90deg); /* モバイルは下向き */
	transition: transform 0.3s ease;
}
@media (min-width: 768px) {
	.service-flow {
		grid-template-columns: 1fr auto 1fr;
		gap: var(--s-5);
		}
	.service-flow__card {
		padding: var(--s-5);
	}
	.service-flow__text {
		font-size: var(--text-15);
	}
	.service-flow__arrow {
		transform: none; /* デスクトップは右向きに戻す */
	}
}


.service-media{
	margin-bottom: var(--s-5);
	background-color:#fff;
	border-radius: var(--s-4);
	padding: var(--s-6);
	border:1px solid #eee;
	}
.service-media .c-media__img img{
	border-radius: var(--s-2);
	}
.service-media__title{
	font-size: var(--text-18);
	font-weight:600;
	color:var(--color-accent);
	margin-bottom: var(--s-2);
	/*
	background-color: var(--color-accent);
	color:#fff;
	display: inline;
	padding: 0.2em;
	line-height: 2em;
	box-decoration-break: clone;	
	-webkit-box-decoration-break: clone;*/
	}
.service-media__text{
	font-size: var(--text-15);
	}
/*特別枠*/
.service-media--spotlight{
	border: 2px solid var(--color-primary);
	}
.service-media--spotlight__badge {
	display: inline-block;
	background-color: var(--color-primary);
	color: #fff;
	font-size: var(--text-14);
	font-weight: 700;
	padding: var(--s-1) var(--s-4);
	border-radius: 999px;
	margin-bottom: var(--s-4);
}
.service-media--spotlight .service-media__title{
	color:var(--color-text);;
	}
.service-media--spotlight .service-media__title span{
	background: linear-gradient(transparent 65%, rgba(74, 204, 63, 0.35) 65%);
	}

@media (min-width: 768px) {
.service-media__title{
	font-size: var(--text-20);
	}
.service-media__text{
	font-size: var(--text-16);
	line-height:1.8em;
	}
}

/* 締めくくり */
.service-closing {
	margin-top: var(--s-10);
	padding: var(--s-5) var(--s-5);
	background-color: var(--color-red);
	border-radius: var(--s-4);
	text-align: center;
	color:#fff;
}
.service-closing__title {
	position: relative;
	display: block;
	width: fit-content;
	margin: 0 auto var(--s-5);
	padding: 0 var(--s-8);
	font-size: var(--text-18);
	font-weight: 600;
	line-height: 1.2;
}
.service-closing__title::before,
.service-closing__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 1px;
	height: 2rem;
	background-color: rgba(255, 255, 255, 0.6);
}
.service-closing__title::before {
	left: 0;
	transform: rotate(-30deg);
}
.service-closing__title::after {
	right: 0;
	transform: rotate(30deg);
}
.service-closing__text {
	line-height: 1.8;
	margin-bottom: var(--s-5);
	font-size: var(--text-15);
}
@media (min-width: 768px) {
	.service-closing {
		padding: var(--s-10) var(--s-5);
	}
	.service-closing__title {
		font-size: var(--text-20);
	}
	.service-closing__text {
		font-size: var(--text-16);
	}
}


/* 生成AIチャットボットでできること
===========================================================================*/
.service-ability-card{
	background: #fff;
	border: 1px solid #eee;
	border-radius: var(--s-4);
	}
.service-ability-card__img{
	}
.service-ability-card__label{
	}
.service-ability-card__title{
	border-radius: var(--s-4) var(--s-4) 0 0;
	background-color: var(--color-accent);
	color: #fff;
	text-align:center;
	font-size: clamp(var(--text-16), 2.21vw, var(--text-18));
	line-height:1.5em;
	font-weight:600;
	padding:var(--s-4);
	}
.service-ability-card__text{
	padding:var(--s-4);
	font-size: clamp(var(--text-15), 2.02vw, var(--text-16));
	line-height:1.8;
	}
@media (min-width: 768px) {
.service-ability-card__text{
	padding:var(--s-5);
	}
}


/* 比較テーブル（従来型 vs TETORI）
===========================================================================*/
.compare-table-wrapper {
  border-radius: var(--s-4);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.compare-table {
  width: 100%;
  min-width: 40rem;
  /*border-collapse: separate;
  border-spacing: 3px;*/
  background-color: #fff;
}
.compare-table th,
.compare-table td{
	border: 1px solid var(--color-border) !important;
}
/* ヘッダー行 */	
.compare-table thead th {
  padding: var(--s-4) var(--s-5);
  background-color: #949494;
  color: #fff;
  font-size: var(--text-16);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
.compare-table thead th.compare-table__label-head {
  text-align: left;
}
.compare-table thead th.is-active {
  background-color: var(--color-primary);
}
/* ラベル列（1列目） */
.compare-table tbody th {
  padding: var(--s-4) var(--s-3);
  background-color: #949494;
  color: #fff;
  font-size: var(--text-16);
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
  white-space: normal;
}
/* データセル（2・3列目） */
.compare-table td {
  padding: var(--s-5);
  background-color: #f7f7f7;
  vertical-align: middle;
  text-align: left;
}
.compare-table td.is-active {
  background-color: rgba(74, 204, 63, 0.08);
}
.compare-table__heading {
  display: block;
  margin-bottom: var(--s-1);
  font-size: var(--text-16);
  font-weight: bold;
  color: var(--color-text);
}
.compare-table td.is-active .compare-table__heading {
  color: var(--color-accent-dark);
}
.compare-table__desc {
  display: block;
  font-size: var(--text-14);
  font-weight: normal;
  color: var(--color-text);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .compare-table {
    min-width: 0;
  }
}
	
	
	