@charset "UTF-8";

/* ---------------------------------------------------------
	CSS Document outline
--------------------------------------------------------- */

#outline {
	padding: 50px 5vw 15vw;
	background: #fff;
}

#outline table {
	width: 100%;
	margin-bottom: 10vw;
	text-align: left;
}

#outline tr {
	background: url(../outline/line.svg) no-repeat left bottom / 100% auto;
}

#outline th {
	display: block;
	padding: 20px 0 0;
	font-weight: 600;
	line-height: 1.5;
	color: var(--blue);
}

#outline tr:first-of-type th {
	padding-top: 0;
}

#outline td {
	display: block;
	padding: 5px 0 20px;
	line-height: 1.5;
}

#outline td .memo {
	margin-top: 5px;
	font-size: 14px;
}


/* ---------------------------------------------------------
	CSS Document flow
--------------------------------------------------------- */

#flow .flow-blue {
	padding: 50px 5vw 10vw;
}

#flow .flow-white {
	padding: 50px 5vw 15vw;
	background: #fff;
}

#flow h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	font-weight: 600;
	font-size: 22px;
	line-height: 1.1;
}

#flow h3 .num {
	margin-left: -0.7em;
}

#flow .flow-blue h3 {
	color: #fff;
}

#flow li {
	margin-bottom: 30px;
	padding: 25px 5vw;
	border: 3px solid #e0e0e0;
	border-radius: 12px;
	background-color: #f9f9f9;
	position: relative;
}

#flow li:not(:last-child)::after {
	content: "";
	width: 0;
	border-width: 14px 12px 0;
	border-style: solid;
	border-color: #e0e0e0 transparent transparent;
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
}

.flow-heading {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.4;
	color: var(--orange);
}

#flow .flow-white .flow-heading {
	color: var(--blue);
}

.flow-num {
	display: inline-block;
	margin-right: 4px;
}

.flow-text {
	margin-top: 6px;
	line-height: 1.6;
}

#flow li .btn {
	margin-top: 10px;
}

/* ---------------------------------------------------------
	CSS Document shizuoka
--------------------------------------------------------- */

#shizuoka {
	padding: 50px 5vw 10vw;
	background: #E1F4F6;
}

#shizuoka h2 {
	margin-bottom: 30px;
	font-weight: 700;
	font-size: 4.2vw;
	line-height: 1.5;
}

#shizuoka h2 .num {
	display: block;
	margin-bottom: 10px;
}

#shizuoka table {
	width: 100%;
	text-align: left;
}

#shizuoka tr:not(:last-of-type) {
	background: url(../outline/line.svg) no-repeat left bottom / 100% auto;
}

#shizuoka th {
	display: block;
	padding: 40px 0 0;
	font-weight: 600;
	line-height: 1.5;
	color: var(--orange);
}

#shizuoka tr:first-of-type th {
	padding-top: 0;
}

#shizuoka td {
	display: block;
	padding: 5px 0 40px;
	line-height: 1.7;
}

#shizuoka td a:not(.tel) {
	display: inline-block;
	vertical-align: top;
	font-weight: 600;
	font-size: 15px;
	word-break: break-all;
}
