@charset "utf-8";

.container {
	display: flex;
	justify-content: center;
	gap: 20px;

	flex-wrap: wrap; /* はみ出したら折り返す */
	margin-left: 20%;
	margin-right: 20%;
}

.container_sumaho {
	display: flex;
	justify-content: center;
	gap: 20px;

	flex-wrap: wrap; /* はみ出したら折り返す */
}
.item {
	text-align: center;
	width: 200px;
	flex: 1 1 200px; /* レスポンシブ対応 */
}
.item img {
	width: 350px;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	border-radius: 0; /* ← 角丸を削除 */
	box-shadow: none; /* ← 影を削除 */
	background: none; /* ← 白背景を削除（必要なら） */
}
.caption {
	margin-top: 8px;
	font-size: 14px;
	color: #333;
}

/* スマホ用：幅600px以下のとき */
@media (max-width: 800px) {
	.container {
		flex-direction: column; /* 縦並び */
		align-items: center; /* 中央寄せ */
	}
	.item {
		width: 90%; /* 画面幅に合わせる */
	}
}

.curebox {
	text-align: center;
	margin: 10px;
}

.curep {
	position: relative;
	padding: 0 65px;
	text-align: center;
	margin-left: 20%;
	margin-right: 20%;
	margin-top: 5%;
	font-size: 25px;
}

.curep:before {
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 2px;
	content: "";
	background: #000;
}

.curep span {
	position: relative;
	padding: 0 1em;
	background: #fff;
}

.curep_sumaho {
	position: relative;
	padding: 0 15px;
	text-align: center;
	margin-left: 10%;
	margin-right: 10%;
	margin-top: 5%;
	font-size: 25px;
	z-index: -5;
}

.curep_sumaho:before {
	position: absolute;
	top: calc(50% - 2px);
	left: 0;
	width: 100%;
	height: 2px;
	content: "";
	background: #000;
}

.curep_sumaho span {
	position: relative;
	padding: 0 0em;
	background: #fff;
}

.CureB {
	font-size: 25px;
}

.btn {
	cursor: pointer;
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 2em auto 0;
	padding: 20px;
	border: 0;
	border-radius: 8px;
	color: ghostwhite;
	font-size: 1.2em;
	background: #86c0de;
	box-shadow: 0 6px 0 hsl(200deg 37% 50%), 0 12px 0 rgba(0, 0, 0, 0.2);
	transition: color 0.3s, box-shadow 0.3s, transform 0.3s;
	font-family: "Times New Roman", Times, serif;
	font-weight: bolder;
	display: inline-block;
	margin: 20px;
}

.btn:hover {
	color: white;
	background: #86c0de;
	box-shadow: 0 3px 0 hsl(200deg 47% 60%), 0 6px 0 rgba(0, 0, 0, 0.2);
	transform: translateY(3px);
}

.btn:active {
	color: gainsboro;
	background: #86c0de;
	box-shadow: 0 0 0 hsl(200deg 37% 50%), 0 0 0 rgba(0, 0, 0, 0.2);
	transform: translateY(6px);
	transition-duration: 0.1s;
}

.flow_design05 {
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: -5;
}

.flow05 {
	padding-left: 0;
	z-index: -5;
}

.flow05 > li {
	list-style-type: none;
	position: relative;
	padding-left: 50px;
}

.flow05 > li:not(:last-child) {
	padding-bottom: 10px;
}

.flow05 > li .icon05 {
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	border-radius: 100vh;
	display: inline-block;
	background: #4d9bc1;
	color: #fff;
	position: absolute;
	left: 0;
}

.flow05 > li:not(:last-child)::before {
	content: "";
	background: #c3c3c3;
	width: 4px;
	height: 100%;
	position: absolute;
	top: calc(50% - -30px);
	left: 19px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.flow05 > li dl dt {
	font-size: 1.3em;
	font-weight: 600;
	color: #4d9bc1;
}

.flow05 > li dl dd {
	margin-left: 0;
	text-align: center; /* 画像を中央寄せに */
}

.flow05 > li dl dd img {
	display: block; /* ブロック要素化 */
	margin: 10px auto 0; /* 上に余白を入れて中央に */
	width: 300px;
	z-index: -5;
}
