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

/* #region ds-hero */

/* =============================
   ds-hero (DaelmanShock ヒーローセクション)
   ============================= */

.ds-hero {
	position: relative;
	container-type: inline-size;
	background: url('../img/daelmanshock/header_bg.jpg') center / cover no-repeat;
	overflow: hidden;
	margin-top: 7rem;
	/* 112px */
}

/* 修正：フォントサイズにpxコメントを付与。line-heightのコメントを削除 */
.ds-hero__tagline {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1.1rem;
	/* 18px */
	line-height: 1.5;
	letter-spacing: 0.08em;
	color: var(--main-color);
	white-space: nowrap;
}

@media (min-width: 1400px) {
	.ds-hero {
		margin-top: 11rem;
	}
}

@media (min-width: 1000px) {
	.ds-hero {
		margin-top: 7.5rem;
	}
}

/* 白オーバーレイ opacity:0.45 */
.ds-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--bg-second);
	opacity: 0.45;
	pointer-events: none;
	z-index: 0;
}

.ds-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
}

.ds-hero__product {
	width: 100%;
	max-width: 220px;
}

.ds-hero__product img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.ds-hero__body {
	width: 100%;
	padding: 3em 0 3em 2rem;
	align-items: right;;
}

/* タグライン行 */
.ds-hero__tagline-row {
	display: flex;
	align-items: center;
}

/* タグライン右ライン（パス 8467）：デスクトップのみ表示 */
.ds-hero__tagline-row::after {
	content: '';
	flex: 1;
	height: 6px;
	background: var(--main-color);
	margin-left: 2rem;
}

.ds-hero__tagline {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1.1rem;
	/* 18px */
	line-height: 1.5;
	letter-spacing: 0.075em;
	color: var(--main-color);
	white-space: nowrap;
}

.ds-hero__title {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: 3rem;
	/* 48px */
	line-height: 1.2;
	color: var(--color-red);
	margin-top: 0.3rem;
	white-space: nowrap;
}

/* 下部ライン（パス 8468）をsubtitleのborder-bottomで表現 */
.ds-hero__subtitle {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1.5rem;
	/* 24px */
	line-height: 1;
	letter-spacing: 0.075em;
	color: var(--main-color);
	margin-top: 0.5rem;
	padding-bottom: 1.3rem;
	border-bottom: 6px solid var(--main-color);
}

/* 登録商標注記 */
.ds-hero__note {
	font-family: var(--main-font);
	font-weight: 500;
	font-size: 0.8rem;
	/* 13px */
	line-height: 1.2;
	letter-spacing: -0.05em;
	color: var(--color-black);
	text-align: right;
	padding: 0.5rem 1.3rem 0.8rem;
}

/* =============================
   タブレット
   ============================= */

@container (min-width: 768px) {
	.ds-hero__inner {
		flex-direction: row;
		align-items: center;
		padding: 3rem 0;
		gap: 2rem;
	}

	.ds-hero__product {
		width: 300px;
		height: 365px;
		flex-shrink: 0;
		max-width: none;
	}

	.ds-hero__product img {
		height: 100%;
		object-position: bottom;
	}

	.ds-hero__body {
	flex: 1;
	padding: 3em 0 3em;
	align-items: right;;
}

	.ds-hero__tagline {
		font-size: 1.4rem;
		/* 22px */
	}

	.ds-hero__title {
		font-size: 3.8rem;
		/* 61px */
	}

	.ds-hero__subtitle {
		font-size: 2rem;
		/* 32px */
	}
}

/* =============================
   デスクトップ（横並びレイアウト）
   ============================= */

@container (min-width: 1200px) {
	.ds-hero__note {
		position: absolute;
		width: 375px;
		bottom: 1.1rem;
		/* section下端から17px */
		right: 1.9rem;
		/* 右端から30px */
		padding: 0;
		text-align: left;
	}

	.ds-hero__inner {
		flex-direction: row;
		align-items: center;
		min-height: 740px;
		padding: 0 0 0 max(5cqw, calc((100cqw - 1400px) / 2));
		gap: 0;
	}

	.ds-hero__product {
		width: 520px;
		height: 630px;
		flex-shrink: 0;
		max-width: none;
	}

	.ds-hero__product img {
		height: 100%;
		object-position: bottom;
	}

	.ds-hero__body {
		margin-left: 2.9rem;
		flex: 1;
	}

	.ds-hero__tagline-row::after {
		display: block;
	}

	.ds-hero__tagline {
		font-size: clamp(1.5rem, 2cqi, 2.3rem);
		/* 24px〜36px */
	}

	.ds-hero__title {
		font-size: clamp(5rem, 7cqi, 9.1rem);
		/* 80px〜145px */
	}

	.ds-hero__subtitle {
		font-size: clamp(2.5rem, 3.2cqi, 4.4rem);
		/* 40px〜70px */
	}
}

/* #endregion ds-hero */

/* #region ds-problem */

/* =============================
   ds-problem（課題提示セクション）
   ============================= */

.ds-problem {
	container-type: inline-size;
}

.ds-problem__inner {
	padding: 2.5rem 1.3rem;
}

.ds-problem__heading {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1.5rem;
	/* 24px */
	line-height: 1.5;
	letter-spacing: 0.025em;
	text-align: center;
	color: var(--main-color);
}

.ds-problem__content {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.ds-problem__figure {
	width: 100%;
}

.ds-problem__figure img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 30px;
	object-fit: cover;
}

.ds-problem__body {
	font-family: var(--main-font);
	font-size: 1rem;
	/* 16px */
	line-height: 2.3;
	color: var(--color-black);
}

@container (min-width: 1200px) {
	.ds-problem__heading {
		font-size: 2.3rem;
		/* 37px */
	}

	.ds-problem__content {
		flex-direction: row;
		align-items: flex-start;
		gap: 2.6rem;
		/* 42px */
		margin-top: 1.9rem;
	}

	.ds-problem__figure {
		width: 685px;
		height: 490px;
		flex-shrink: 0;
	}

	.ds-problem__figure img {
		width: 100%;
		height: 100%;
	}

	.ds-problem__body {
		font-size: 1.1rem;
		/* 18px */
		flex: 1;
	}
}

@container (min-width: 1400px) {
	.ds-problem__heading {
		font-size: 3rem;
		/* 48px */
		line-height: 1.5;
	}

	.ds-problem__body {
		font-size: 1.1rem;
		/* 21px */
		line-height: 2.3;
	}
}

/* #endregion ds-problem */

/* #region ds-about */

/* =============================
   ds-about（ドールマン・ショックとはセクション）
    Group 17 / 1920×1083px, top:1907px
   ============================= */

.ds-about__bg {
	container-type: inline-size;
	position: relative;
	background: url('../img/daelmanshock/about.jpg') center / 100% auto no-repeat;
	padding: 1rem 0 0;
}

/* 白オーバーレイ opacity:0.64 */
.ds-about__bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--color-white);
	opacity: 0.64;
	pointer-events: none;
	z-index: 0;
}

.ds-about__inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin-inline: auto;
	padding: 3rem 1.3rem 6rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* タイトル「ドールマン・ショックとは」 */
.ds-about__title {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1.8rem;
	/* 29px */
	line-height: 1.6;
	letter-spacing: 0.075em;
	color: var(--main-color);
	text-align: center;
}

/* 説明文ブロック（上下ボーダー = パス 8471 / パス 8470） */
.ds-about__body {
	width: 100%;
	max-width: 895px;
	border-top: 3px solid var(--main-color);
	border-bottom: 3px solid var(--main-color);
	padding: 1.5rem 0;
	margin-top: 1.5rem;
	text-align: center;
}

.ds-about__desc {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1.1rem;
	/* 18px */
	line-height: 1.7;
	color: var(--color-black);
}

/* balloon-lg ラッパー（Group 15） */
.ds-about__balloon-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

/* 白カード（Group 14 / 長方形 3140） */
.ds-about__card {
	position: relative;
	z-index: 0;
	width: 100%;
	background: var(--color-white);
	box-shadow: 0px 3px 3px var(--color-shadow);
	border-radius: 16px;
	padding: 3.5rem 1.5rem 2rem;
	margin-top: 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.3rem;
}

/* カード見出し */
.ds-about__card-heading {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1.3rem;
	/* 21px */
	line-height: 1.4;
	text-align: center;
	color: var(--main-color);
}

/* 箇条書きリスト（Group 8〜11） */
.ds-about__list {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem;
}

.ds-about__list-item {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 1rem;
	/* 16px */
	line-height: 1.6;
	color: var(--color-black);
}

/* チェックアイコン（パス 71 / 8464 / 8465 / 8466） */
.ds-about__list-item::before {
	content: '';
	flex-shrink: 0;
	width: 38px;
	height: 33px;
	background: url('../img/daelmanshock/icon-check.svg') center / contain no-repeat;
}

/* 黄色ハイライト帯（長方形 135） */
.ds-about__highlight {
	width: 100%;
	background: var(--color-yellow);
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 0.9rem;
	/* 14px */
	line-height: 1.4;
	text-align: center;
	color: var(--color-black);
	padding: 0.5rem 1rem;
}

/* ===== タブレット ===== */
@container (min-width: 768px) {
	.ds-about__title {
		font-size: 2.5rem;
		/* 40px */
	}

	.ds-about__desc {
		font-size: 1.5rem;
		/* 24px */
	}

	.ds-about__card-heading {
		font-size: 1.6rem;
		/* 26px */
	}

	.ds-about__list {
		grid-template-columns: 1fr 1fr;
	}

	.ds-about__list-item {
		font-size: 1.1rem;
		/* 18px */
	}

	.ds-about__highlight {
		font-size: 1.1rem;
		/* 18px */
	}
}

/* ===== デスクトップ ===== */
@container (min-width: 1200px) {
	.ds-about__inner {
		padding: 3rem 0 6rem;
	}

	.ds-about__title {
		font-size: 3.3rem;
		/* 60px */
	}

	.ds-about__body {
		margin-top: 2.3rem;
		padding: 2.2rem 0 0.8rem;
	}

	.ds-about__desc {
		font-size: 2.2rem;
		/* 35px */
	}

	.ds-about__balloon-wrap {
		margin-top: 3.1rem;
	}

	.ds-about__card {
		padding: 3.5rem 2rem 2.5rem;
	}

	.ds-about__card-heading {
		font-size: 2.2rem;
		/* 35px */
	}

	.ds-about__list {
		grid-template-columns: 1fr 1fr;
		max-width: 740px;
	}

	.ds-about__list-item {
		font-size: 1.3rem;
		/* 21px */
	}

	.ds-about__highlight {
		font-size: 1.4rem;
		/* 22px */
		max-width: 895px;
		padding: 0.5rem 0;
	}
}

@media (min-width: 1200px) {
	.ds-about__bg {
		background-size: cover;
		background-position: bottom;
	}
}

/* #endregion ds-about */

/* #region ds-merit */

/* =============================
   ds-merit（導入のメリット セクション）
   カード 4枚横並び（二重円 323px）
   ============================= */

/* 見出し帯：全幅カラー背景 */

.ds-merit__header {
	background: var(--bg-second);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem 1.3rem;
}

.ds-merit__title {
	font-family: var(--main-font);
	font-weight: 700;
	font-size: 2rem;
	/* 32px */
	line-height: 1.5;
	letter-spacing: 0;
	color: var(--main-color);
	text-align: center;
}

/* カードグリッド（.wrap と併用） */

.ds-merit__cards {
	display: grid;
	grid-template-columns: 220px;
	gap: 2rem;
	justify-content: center;
	margin-top: 4rem;
	padding-bottom: 3rem;
}

/* 外円 */

.ds-merit__card {
	width: 220px;
	height: 220px;
	border-radius: 50%;
	border: 3px solid var(--color-merit-border);
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 内円 */

.ds-merit__card-face {
	width: 88%;
	height: 88%;
	border-radius: 50%;
	border: 3px solid var(--color-merit-border);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

/* Merit  ラベル */

.ds-merit__label {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: 0.9rem;
	/* 14px */
	line-height: 1.6;
	color: var(--main-color);
	text-align: center;
}

.ds-merit__divider{
	background: #c9ddff;
    height: 3px;
    width: 80%;
    display: block;
    margin-top: .5em;
}

/* メリットテキスト */

.ds-merit__text {
	font-weight: 700;
	font-size: 1.4rem;
	/* 22px */
	line-height: 1.5;
	color: var(--main-color);
	text-align: center;
	margin-top: .5rem;
}

@media (min-width: 600px) {
	.ds-merit__cards {
		grid-template-columns: repeat(2, 220px);
	}
}

@media (min-width: 1000px) {
	.ds-merit__header {
		height: 155px;
		padding: 0;
	}

	.ds-merit__title {
		font-size: 3.8rem;
		/* 60px */
	}
}

/* 4列：.wrap の 90% 幅で 4×220px + gap が収まる 1100px 以上 */

@media (min-width: 1100px) {
	.ds-merit__cards {
		grid-template-columns: repeat(4, 220px);
		padding-bottom: 4rem;
	}

	.ds-merit__label {
		font-size: 1.1rem;
		/* 17px */
	}

	.ds-merit__text {
		font-size: 1.7rem;
	}
}

/* 原寸：.wrap が max-width 1400px に達する 1600px 以上 */

@media (min-width: 1600px) {
	.ds-merit__cards {
		grid-template-columns: repeat(4, 323px);
		gap: 2.2rem;
		padding-bottom: 5rem;
	}

	.ds-merit__card {
		width: 323px;
		height: 323px;
	}

	.ds-merit__text {
		font-size: 2.3rem;
		/* 37px */
		margin-top: 1.4rem;
	}
}

/* #endregion ds-merit */

/* #region ds-synergy */

.ds-synergy {
	padding: 1rem 0 3rem;
	container-type: inline-size;
}

.ds-synergy__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ds-synergy__label-wrap {
	width: fit-content;
	margin-top: 0;
}

.ds-synergy__label {
	display: block;
	color: var(--main-color);
	font-weight: 700;
	font-size: 1.5rem;
	/* 24px */
}

.ds-synergy__label-line {
	margin-top: 0.6rem;
}

.ds-synergy__label-line svg {
	width: 200px;
	height: auto;
}

.ds-synergy__title {
	margin-top: 1.3rem;
	color: var(--main-color);
	font-weight: 700;
	font-size: 1.5rem;
	/* 24px */
	line-height: 1.5;
}

/* PCサイズ拡張 */
@media screen and (min-width: 768px) {
	.ds-synergy {
		padding: 2rem 0 4rem;
	}

	.ds-synergy__label {
		font-size: 2.3rem;
	}

	.ds-synergy__label-line svg {
		width: 275px;
	}

	.ds-synergy__title {
		margin-top: 1.9rem;
	}

	.ds-synergy__title {
		font-size: 3.2rem;
		/*51px */
	}
}

/* #region ds-synergy-grid */

.ds-synergy__container {
	container-type: inline-size;
	container-name: synergyGrid;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.9rem;
	margin-top: 2.5rem;
}

.ds-synergy__card {
	box-sizing: border-box;
	width: 100%;
	/* SPでははみ出さないよう100% */
	max-width: 480px;
	padding: 1.5rem 1.3rem;
	background: var(--color-white);
	border: 3px solid var(--main-color);
	box-shadow: 0px 3px 3px var(--color-shadow);
	border-radius: 16px;
	text-align: center;
}

.ds-synergy__card-type {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.6rem;
	margin-top: 0;
	background: var(--main-color);
	border-radius: 29px;
	color: var(--color-white);
	font-weight: 700;
	font-size: 1.1rem;
	/* 18px */
	line-height: 1.5;
}

.ds-synergy__card-title {
	margin-top: 1.3rem;
	color: var(--main-color);
	font-weight: 700;
	font-size: 1.4rem;
	/* 22px */
	line-height: 1.5;
}

.ds-synergy__icon {
	color: var(--main-color);
	font-weight: 700;
	font-size: 2.5rem;
	/* 40px */
	line-height: 1.0;
	align-self: center;
	text-align: center;
}

.ds-synergy__list {
	margin-top: 1.3rem;
	padding: 0;
	list-style: none;
	text-align: left;
}

.ds-synergy__list-item {
	position: relative;
	padding-left: 1.2em;
	color: var(--color-black);
	font-weight: 500;
	font-size: 0.9rem;
	/* 14px */
	line-height: 1.7;
}

.ds-synergy__list-item::before {
	content: "・";
	position: absolute;
	left: 0;
}

/* 横並びレイアウト（PC） */
@media screen and (min-width: 768px) {
	.ds-synergy__container {
		flex-direction: row;
		align-items: stretch;
		justify-content: center;
		gap: 1.9rem;
		margin-top: 3.8rem;
	}

	.ds-synergy__card {
		width: 480px;
		flex-shrink: 1;
		/* 画面幅に応じて縮小を許可 */
	}
}

/* コンテナクエリによる内部詳細調整 */
@container synergyGrid (min-width: 1300px) {
	.ds-synergy__card {
		width: 660px;
		max-width: 660px;
		height: 425px;
		padding: 1.3rem 1.6rem;
	}

	.ds-synergy__card-type {
		width: 615px;
		font-size: 1.4rem;
		/* 22px */
	}

	.ds-synergy__card-title {
		margin-top: 1.3rem;
		font-size: 2.2rem;
		/* 35px */
	}

	.ds-synergy__icon {
		font-size: 3.2rem;
		/* 51px */
	}

	.ds-synergy__list-item {
		font-size: 1.4rem;
		/* 23px相当 */
	}
}

/* #endregion ds-synergy-grid */

/* #endregion ds-synergy */

/* #region ds-flow__header */

section.ds-flow {
	padding-top: 0;
}

.ds-flow__header {
	container-type: inline-size;
	position: relative;
	background: var(--bg-second);
	text-align: center;
	padding: 1.8rem 1.5rem 2.5rem;
}

.ds-flow__title {
	font-weight: 700;
	font-size: 1.3rem;
	/* 21px */
	line-height: 1.6;
	letter-spacing: 0.075em;
	color: var(--main-color);
}

.ds-flow__arch {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%);
	width: min(37.7rem, 90%);
	display: block;
	line-height: 0;
	pointer-events: none;
}

.ds-flow__arch svg {
	width: 100%;
	height: auto;
	display: block;
}

.ds-flow>.flow {
	margin-top: 5rem;
}

.ds-flow>.section-header {
	padding: 4rem 0;
}

@media (min-width: 768px) {
	.ds-flow__header {
		padding: 2.75rem 1.5rem;
	}

	.ds-flow__title {
		font-size: 2.8rem;
		/* 45px */
	}

	.ds-flow__arch {
		width: 37.7rem;
		/* 603px */
	}

	.ds-flow>.flow {
		margin-top: 9rem;
	}
}

/* #endregion ds-flow__header */

/* #region close-intro */

/* =============================
   close-intro（閉院・処分サポート ヒーローセクション）
   ============================= */

.close-intro {
	background: linear-gradient(180deg, var(--bg-second), var(--color-white));
	container-type: inline-size;
	overflow: hidden;
	margin-top: 7rem;
}

.close-intro__body {
	padding-top: 2.5rem;
	padding-bottom: 1.5rem;
}

.close-intro__title {
	font-weight: 700;
	font-size: 2.5rem; /* 40px */
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: var(--main-color);
}

.close-intro__desc {
	display: block;
	font-weight: 700;
	font-size: 1rem; /* 16px */
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: var(--color-black);
	margin-top: 0.8rem;
}

.close-intro__fig {
	margin-top: 1.5rem;
}

.close-intro__fig img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0 30px 0 0;
	object-fit: cover;
}

@media (min-width: 1000px) {
	.close-intro {
		margin-top: 7.5rem;
	}
}

@media (min-width: 1400px) {
	.close-intro {
		margin-top: 11.3rem;
	}
}

@container (min-width: 768px) {
	.close-intro__body {
		padding-top: 5rem;
	}

	.close-intro__title {
		font-size: 3.5rem; /* 56px */
	}

	.close-intro__desc {
		font-size: 1.3rem; /* 21px */
		margin-top: 1rem;
	}

	.close-intro__fig {
		margin-top: 2.5rem;
	}

	.close-intro__fig img {
		border-radius: 0 60px 0 0;
	}
}

@container (min-width: 1200px) {
	.close-intro__body {
		padding-top: 4rem;
	}

	.close-intro__title {
		font-size: 4rem; /* 78px */
	}

	.close-intro__desc {
		font-size: 1.4rem; /* 25px */
		margin-top: 1.3rem;
	}

	.close-intro__fig {
		margin-top: 3rem;
	}

	.close-intro__fig img {
		width: 86.5%;
		height: 465px;
		border-radius: 0 100px 0 0;
	}
}

/* #endregion close-intro */

/* #region close-consult */

/* =============================
   close-consult（閉院相談セクション）
   ============================= */

.close-consult {
	container-type: inline-size;
	margin: 3rem 0 6rem;
}

.close-consult__lead {
	font-size: 1rem; /* 16px */
	line-height: 2.3;
	text-align: center;
	color: var(--color-black);
}

.close-consult__heading {
	font-weight: 700;
	font-size: 2rem; /* 32px */
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.025em;
	color: var(--sub-color);
	margin-top: 4rem;
}

.close-consult__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	margin-top: 2rem;
}

.close-consult__box {
	background: var(--bg-second);
	border-radius: 96px;
	padding: 2rem 1.5rem;
	text-align: center;
}

.close-consult__box p {
	font-weight: 700;
	font-size: 1.2rem; /* 19px */
	line-height: 1.6;
	color: var(--main-color);
}

.close-consult__list-wrap {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-top: 3.5rem;
	background: var(--color-white);
	border: 3px solid var(--main-color);
	box-shadow: 0 3px 3px var(--color-shadow);
	border-radius: 16px;
	padding: 1.5rem 2rem;
}

.close-consult__list-label {
	font-weight: 700;
	font-size: 1.5rem; /* 24px */
	line-height: 1.5;
	letter-spacing: 0.025em;
	color: var(--sub-color);
	text-align: center;
}

.close-consult__list {
	list-style: none;
	padding: 0;
	text-align: center;
}

.close-consult__list li {
	font-weight: 500;
	font-size: 1rem; /* 16px */
	line-height: 1.7;
	color: var(--color-black);
}

.close-consult__list li::before {
	content: '・';
}

@container (min-width: 768px) {
	.close-consult__lead {
		font-size: 1.2rem; /* 20px */
	}

	.close-consult__heading {
		font-size: 2.5rem; /* 48px */
		margin-top: 5rem;
	}
}

@container (min-width: 1024px) {
	.close-consult__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.close-consult__box p {
		font-size: 1.5rem; /* 24px */
	}
}

@container (min-width: 1200px) {
	.close-consult__list-wrap {
		flex-direction: row;
		align-items: center;
		padding: 2rem 2.5rem;
	}

	.close-consult__list-label {
		font-size: 1.8rem; /* 34px */
		flex-shrink: 0;
		text-align: left;
	}

	.close-consult__list-body {
		flex: 1;
	}

	.close-consult__list {
		columns: 2;
		text-align: left;
	}

	.close-consult__list li {
		font-size: 1.1rem; /* 23px */
	}
}

@container (min-width: 1400px) {
	.close-consult__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.close-consult__box p {
		font-size: 1.3rem; /* 29px */
	}
}

/* #endregion close-consult */

/* #region close-reason */

/* =============================
   close-reason（選ばれる理由セクション）
   ============================= */

.close-reason {
	background: var(--bg-second);
	container-type: inline-size;
	padding: 3rem 0;
}

@media (min-width: 768px) {
	.close-reason {
		padding: 5rem 0;
	}
}

.close-reason__heading {
	font-size: 1.7rem; /* 28px */
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.025em;
	color: var(--sub-color);
	margin-top: 0;
}

.close-reason__heading span {
	display: inline-block;
	background: var(--main-color);
	color: var(--color-white);
	padding: 0.2em;
	border-radius: 4px;
}

.close-reason__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 5.5rem;
	margin-top: 2rem;
}

.close-reason__card {
	background: var(--color-white);
	border-radius: 20px;
	overflow: hidden;
}

.close-reason__img {
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}

.close-reason__img img {
	width: 100%;
	height: auto;
	display: block;
	scale: 1.02;
}

.close-reason__text {
	padding: 1.5rem;
}

.close-reason__text h4 {
	font-size: 1.1rem; /* 18px */
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.025em;
	color: var(--sub-color);
	margin-top: 0;
}

.close-reason__text p {
	font-size: 0.9rem; /* 14px */
	line-height: 1.9;
	color: var(--color-black);
	margin-top: 0.75rem;
}

@container (min-width: 600px) {
	.close-reason__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@container (min-width: 900px) {
	.close-reason .wrap {
		display: flex;
		align-items: flex-start;
		gap: 3rem;
	}

	.close-reason__heading {
		writing-mode: vertical-rl;
		flex-shrink: 0;
		font-size: 2.8rem; /* 44px */
		margin-top: 0;
	}

	.close-reason__heading span {
		font-size: 2.8rem; /* 60px */
		line-height: 1.1;
		letter-spacing: 0.025em;
	}

	.close-reason__grid {
		flex: 1;
		margin-top: 0;
	}

	.close-reason__text h4 {
		font-size: 1.3rem; /* 29px */
		line-height: 1.5;
	}

	.close-reason__text p {
		font-size: 1rem; /* 20px */
		line-height: 2.3;
	}

	.close-reason__img img {
		border-radius: 30px 30px 0 0;
	}
}

/* #endregion close-reason */

/* #region close-faq */

/* =============================
   close-faq（よくある質問セクション）
    1920px, heading top:3629px, cards top:3853px, card h:230px border-radius:27px
   ============================= */

.close-faq {
	container-type: inline-size;
	padding: 3rem 0;
}

.close-faq__header {
	text-align: center;
}

.close-faq__subtitle {
	font-weight: 700;
	font-size: 1rem; /* 16px */
	line-height: 1.6;
	letter-spacing: 0.025em;
	color: var(--sub-color);
}

.close-faq__title {
	font-weight: 700;
	font-size: 2rem; /* 32px */
	line-height: 1.5;
	letter-spacing: 0.025em;
	color: var(--sub-color);
	margin-top: 0.25rem;
}

.close-faq__list {
	margin-top: 2rem;
	padding: 0;
}

.close-faq__item {
	background: var(--color-white);
	border: 1px solid var(--color-faq-border);
	border-radius: 27px;
	overflow: hidden;
}

.close-faq__question {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.2rem 1.5rem;
	border-bottom: 1px solid var(--color-faq-divider);
}

.close-faq__answer {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.2rem 1.5rem;
}

.close-faq__label {
	font-family: var(--en-font);
	font-style: italic;
	font-weight: 600;
	font-size: 3.1rem; /* 50px */
	line-height: 1.4;
	flex-shrink: 0;
}

.close-faq__label--q {
	color: var(--main-color);
}

.close-faq__label--a {
	color: var(--color-faq-a);
}

.close-faq__question-text {
	font-weight: 700;
	font-size: 1rem; /* 16px */
	line-height: 1.8;
	color: var(--color-black);
}

.close-faq__answer-text {
	font-weight: 400;
	font-size: 1rem; /* 16px */
	line-height: 1.9;
	color: var(--color-black);
	margin-top: 0;
}

@media (min-width: 768px) {
	.close-faq {
		padding: 5rem 0;
	}
}

#page_faq .close-faq{
	padding: 1rem 0!important
}

@container (min-width: 768px) {
	.close-faq__subtitle {
		font-size: 1.6rem; /* 25px */
	}

	.close-faq__title {
		font-size: 3rem; /* 48px */
		line-height: 1.5;
	}

	.close-faq__question {
		padding: 1.3rem 2.5rem;
	}

	.close-faq__answer {
		padding: 1rem 2.5rem;
	}

	.close-faq__question-text {
		font-size: 1.3rem; 
		line-height: 1.8;
	}
}

/* #endregion close-faq */



.page_header{
	padding-bottom: 5rem
}
.page_header h2{
	margin: 0;
	letter-spacing: 3px;
}

@media (min-width:1000px){
	.page_header{
		margin-top: 200px
	}
}

.page_header .section-header::before {
	display: none
}



/*************************

    company

*************************/

#greeting{
	gap:30px;
	align-items: flex-start
}

#greeting figure,
.greeting_wrap{
	width: 100%;
}
#greeting figure{
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 1em
}

#greeting figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: bottom;
}
@media (max-width:767px){
	#greeting{
		flex-direction: column-reverse;
	}
}

@media (min-width:768px){
	#greeting > figure{
		width: 30%
	}
	.greeting_wrap{
		width: calc(70% - 30px)
	}
}

.greeting_wrap h3{
	font-weight: bold;
	font-size: clamp(1.3rem, 1.1rem + 0.75vw, 2rem);
	line-height: 1.8;
	margin-bottom: 1em;
}

.greeting_wrap > p {
	line-height: 2;
	margin-bottom: 1em;
	color: #333;
	font-size: clamp(0.938rem, 0.925rem + 0.06vw, 1rem)
}

.daihyou_name{
	text-align: right;
	line-height: 1.8
}

.daihyou_name > *{
	font-weight: bold;
}
.daihyou_name > span{
	display: block;
}
.daihyou_name p{
	font-size: clamp(1.3rem, 1.26rem + 0.2vw, 1.5rem);
}
.daihyou_name p small{
	display: inline-block;
	margin-right: .5em;
	font-size: 1rem
}

#rinen{
	margin: 2em auto;
	text-align: center;
	padding: .5em .5em 1em;
	border: solid 3px var(--main-color);
	border-radius: 10px;
}

#rinen h3{
	font-weight: bold;
	color: var(--main-color);
	border-bottom: solid 2px var(--main-color);
	padding: .5em 1em;
	display: inline-block;
	margin: 0 auto;
	font-size: 2em;
	margin-bottom: .5em;
}

#rinen p{
	font-size:clamp(1.063rem, 0.938rem + 0.63vw, 1.688rem);
	line-height: 1.8;
	font-weight: bold;
}

.c_table{
	margin: 2em auto;
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
	border-right: solid 1px #ccc
}

.c_table dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	border-bottom: solid 1px #ccc;
}
.c_table dt,
.c_table dd{
	padding: 1.2em;
	width: 100%;
	line-height: 1.8
}

.c_table dt{
	background: #eee;
	font-weight: bold;
}

@media (min-width:768px){
	.c_table dt{
		width: 25%;
	}
	.c_table dd{
		width: 75%;
	}
}


@media (min-width:668px) and (max-width:1000px){
	.tab_br{
		display: block!important
	}
}
@media (min-width:1001px){
	.tab_br{
		display: none
	}
}

.kobetsu{
	color: var(--main-color);
	font-weight: bold;
	font-size: 1.2em
}

#mitsumori{
	background: var(--bg-color);
	padding: 2em 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	border-radius: 10px;
}
#mitsumori h4,
#mitsumori div,
#mitsumori dt,
#mitsumori dd{
	width: 100%;
	margin-bottom: 1em;
}

#mitsumori dd{
	text-align: right
}

@media (max-width:1199px){
	#mitsumori dd{
		border-bottom: solid 1px #ccc
	}
}

@media (min-width:1200px){
	#mitsumori{padding: 2em 3em}
	#mitsumori h4{width: 15%}
	#mitsumori div{width: 80%}
	#mitsumori dt{width: 70%}
	#mitsumori dd{width: 30%}
}

#mitsumori h4{
	font-weight: bold;
	font-size: 1.2em;
	color: var(--main-color);
}

#mitsumori dl{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between
}

#mitsumori dt{
	line-height: 1.6;
	
}

.price-table tbody td:nth-child(1) span{
	font-weight: bold;
}



/*************************************
　　privacy
**************************************/

#privacy{margin-bottom: 10em}
#privacy section > p{margin-top: 3em}

.privacy_wrap{margin: 3em auto}
.privacy_wrap dl{
	line-height: 1.8em;
	border-bottom: solid 1px #212d38;
	padding: 1em 0;
	margin: 1em auto
}
.privacy_wrap dt{font-weight: bold;margin-bottom: .5em;font-size: 1.2em;}

.privacy_wrap p{margin-top: 2em}

.list-disc{margin: 1em;}
.list-disc li{list-style-type: disc}

.privacy_wrap dd p{
	font-weight: bold;
}

/***********************************
  contact
***********************************/

.form_title{
	padding: 1em 0!important;
	text-align: center;
}
.form_att{
	border: solid 2px red;
	padding: 1em;
	color: red;
	margin: 1em auto;
	line-height: 2
}

.form_wrapper{
	padding: 0
}

.form-flow {
    margin: 2em auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center
}

.form-flow > li {
    margin: .5em auto;
	width: 31%;
    background: #ccc;
    padding: .8em;
    text-align: center;
    border-radius: .3em;
    color: #fff;
	line-height: 2
}

.form-flow .pickup {
    background: #1d2088!important;
    color: #fff;
}

/*************
  form
*************/

#form{padding: 0}
#form dl{
	border-bottom: dashed 1px #ccc;
	padding: 1em 0;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

#form dt,
#form dd{
	padding: .3em 0;
	margin: 0;
	font-size: 1em;
	line-height: 1.8
}
@media screen and (max-width:668px){
	#form dt,#form dd{width: 100%}
}

@media(min-width:668px){
	#form dt{width: 25%;margin-right: 5%}
	#form dd{width: 65%;}
}


#form input[type="text"],
#form input[type="email"],
#form input[type="url"],
#form textarea,
#zip_wrap input[type="tel"]{
	border: solid 1px #0e1822;
    border-radius: 5px;
    padding: 1em .5em;
    margin: 0;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
}

	input[type="text"].tel,
input[type="text"].zip{
	padding: 1em
}

@media screen and (max-width:668px){
	input[type="text"].tel,
	input[type="tel"].zip{
		width: auto!important;
	}
}

@media(min-width:668px){
	input[type="text"].tel,
	input[type="tel"].zip{
		width: 10%!important
	}
}

#zip_wrap {margin-bottom: .8em;}
#zip{width: 60%!important}
@media(min-width:668px){
	#zip{width: 30%!important}
}
#zip_wrap span{display: inline-block;margin-left: .5em;}

.confirm #zip_wrap span{display: none}

input[type="text"].w-100,
#form input[type="email"].w-100,
textarea.w-100{
	width: 100%
}

.c_info dd{
	display: flex;
	flex-direction: column;
	justify-content: flex-start
}

.c_info dd span{
	margin: .5em 0;
	margin-left: 0!important;
	font-size: .9em
}

.com_name dd{display: flex;flex-wrap: wrap;justify-content: space-between}
.com_n1{width: 60%!important;}
.com_n2{width: 30%!important;}

.mwform-zip-field{display: block}

input[type="submit"]{
	display: block;
    width: 90%;
    max-width: 250px;
    background: #1d2088;
    text-align: center;
    padding: .8em;
    border: none;
    margin: 3em auto;
    border-radius: 2em;
    color: #fff;
    font-weight: bold;
	outline: none;
	line-height: 2
}

input[type="submit"].back{
	background: #ccc
}

input[type="submit"]{
	 appearance: none;
}


/*.confirm #contact a:last-child{
	background: #eee;
	color: #333
}*/

.privacy_check{text-decoration: underline}


.thanks h3 {
    padding: 1em;
    margin: 1em auto;
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
}
.thanks p {
    line-height: 1.8em;
}

.thanks p.text-center{text-align: center}


.thanks h4{
	font-size: 1.3em;
    text-align: center;
    margin: 1em;
}

.hissu:before{
	content: '必須';
	background: #f17676;
	padding: .3em;
	color: #fff;
	margin-right: .5em;
	display: inline-block;
	font-size: 12px;
	line-height: 1
}

.nini:before{
	content: '任意';
	background: #9b9b9b;
	padding: .3em;
	color: #fff;
	margin-right: .5em;
	display: inline-block;
	font-size: 12px;
	line-height: 1
		
}


