@charset "utf-8";

/* -----------------------------------------------------------
    flow 共通
-------------------------------------------------------------- */
.flow-area {
	padding-top: 100px;
	padding-bottom: 100px;
	background: url(../img/ptn-stripe-gray.jpg) repeat;
	position: relative;
}

.flow-area .flex-wrap {
	display: flex;
	gap: 60px;
	align-items: center;
}

.flow-area .flow-top-catch {
	font-size: 1.8rem;
	letter-spacing: .03em;
	font-weight: 500;
}

.flow-area .cmn-frame-contents {
	padding-top: 70px;
	padding-bottom: 80px;
}

.flow-area .fmt-tab-item span {
	text-align: center;
	letter-spacing: .05em;
}

@media screen and (min-width: 769px) {
	.fmt-tabbox-active .flow-list-wrap {
		display: flex !important;
	}
}

.flow-area .flow-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 3.6%;
}

.flow-area [data-fmttab="row"] .flow-list {
	padding: 0 0 0 4.17%;
}

.flow-area .flow-item {
	width: calc((100% - 10.8%) / 4);
}

.flow-area .flow-item .num {
	font-size: 1.5rem;
	color: var(--main);
	font-family: var(--en);
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
}

.flow-area .flow-item .num span {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 0 5px;
}

.flow-area .flow-item .catch {
	font-size: 1.9rem;
	letter-spacing: 0.03em;
	text-align: center;
	font-weight: bold;
	margin: 0 0 20px;
}

.flow-area .flow-item .thumb {
	border-radius: 5px;
	width: 100%;
	height: 140px;
	overflow: hidden;
}

.flow-area .flow-item .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flow-area .flow-item .txt {
	font-size: 1.5rem;
	padding: 20px 0 0;
	line-height: 1.7;
}

.flow-area .flow-nav-subttl {
	font-size: 1.3rem;
	line-height: 1.33;
}

.flow-area .flow-nav-ttl {
	font-size: 1.8rem;
	font-weight: bold;
	margin: 8px 0 0;
}

.flow-area .flow-nav-sp {
	display: none;
}

.flow-area .flow-more-wrap {
	display: none;
}

@media screen and (max-width: 768px) {
	.flow-area {
		padding: 50px 20px;
	}

	.flow-area .flex-wrap {
		flex-wrap: wrap;
		gap: 15px;
	}

	.flow-area .flow-top-catch {
		font-size: 1.6rem;
		line-height: 1.7;
	}

	.cmn-frame .cmn-frame-inner {
		border-radius: 8px;
	}

	.flow-area .cmn-frame-contents {
		padding: 35px 20px;
		max-width: unset;
		min-width: unset;
	}

	.flow-area .fmt-tab-nav1 {
		display: none !important;
	}

	.flow-area .flow-list-wrap {
		display: none;
	}

	.flow-area .fmt-tabbox-active .flow-list-wrap {
		display: block;
	}

	.flow-area .flow-nav-sp {
		border-top: 1px solid var(--gray);
		background: var(--cmnbg2);
		display: flex;
		flex-wrap: wrap;
		gap: 5px 0;
		padding: 18px 20px 18px 10px;
		position: relative;
	}

	.flow-area .fmt-tab-box1 .fmt-tab-contents:last-child .flow-nav-sp {
		border-bottom: 1px solid var(--gray);
	}

	.flow-area .fmt-tab-box1 .fmt-tab-contents:last-child .jsAcd_active.flow-nav-sp {
		border-bottom: none;
	}

	.flow-area .jsAcd_active {
		background: var(--main);
		border-top: none;
	}

	.flow-area .flow-nav-num {
		width: 100%;
		color: var(--gray);
		font: 400 1.2rem /1 var(--en);
	}

	.flow-area .jsAcd_active .flow-nav-num {
		color: #fff;
	}

	.flow-area .flow-nav-ttl {
		color: var(--gray);
		font-size: 1.7rem;
		flex-shrink: 0;
		margin: 0;
		width: 80px;
		letter-spacing: 0;
		line-height: 1.3;
	}

	.flow-area .jsAcd_active .flow-nav-ttl {
		color: #fff;
	}

	.flow-area .flow-nav-subttl {
		color: var(--gray);
		font-size: 1.2rem;
		font-weight: 500;
		line-height: 1.6;
		width: calc(100% - 105px);
	}

	.flow-area .jsAcd_active .flow-nav-subttl {
		color: #fff;
	}

	.flow-area .flow-nav-icon {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		right: 10px;
	}

	.flow-area .flow-nav-icon span {
		display: block;
		height: 14px;
		padding: 10px 0 0 0;
		position: relative;
		width: 14px;
	}

	.flow-area .flow-nav-icon span::before, .flow-nav-icon span::after {
		background: var(--gray);
		content: "";
		height: 2px;
		position: absolute;
		width: 100%;
		transition: all .3s;
	}

	.flow-area .jsAcd_active .flow-nav-icon span::before, .flow-area .jsAcd_active .flow-nav-icon span::after {
		background: #fff;
	}

	.flow-area .flow-nav-icon span::before {
		transform: rotate(0deg);
	}

	.flow-area .flow-nav-icon span::after {
		transform: rotate(90deg);
	}

	.flow-area .jsAcd_active .flow-nav-icon span::after {
		transform: rotate(180deg);
	}

	.flow-more-wrap {
		display: block;
	}

	.flow-area .flow-more {
		align-items: center;
		border: 1px solid var(--cmnblack);
		border-radius: 30px;
		display: flex;
		font-size: 1.4rem;
		justify-content: center;
		letter-spacing: .02em;
		width: 180px;
		height: 45px;
		margin: 0 auto 30px;
		position: relative;
	}

	.flow-area .flow-more .deco {
		position: absolute;
		top: 61%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		right: 10px;
	}

	.flow-area .flow-more .deco span {
		display: block;
		height: 11px;
		position: relative;
		width: 11px;
	}

	.flow-area .flow-more .deco span::before, .flow-area .flow-more .deco span::after {
		background: var(--cmnblack);
		content: "";
		height: 1px;
		position: absolute;
		width: 100%;
		transition: all .3s;
	}

	.flow-area .flow-more .deco span::before {
		transform: rotate(0deg);
	}

	.flow-area .flow-more .deco span::after {
		transform: rotate(90deg);
	}

	.flow-area .flow-list {
		flex-wrap: wrap;
		gap: 20px;
		margin: 20px 0 0;
	}

	.flow-area .flow-item {
		display: flex;
		flex-wrap: wrap;
		gap: 0 10px;
		width: 100%;
	}

	.flow-area .flow-item-ttl {
		display: flex;
		flex-grow: 1;
		flex-direction: column;
		gap: 5px;
		height: 70px;
		order: 2;
		justify-content: center;
	}

	.flow-area .flow-item .num {
		font-size: 1.4rem;
		text-align: left;
		line-height: 1;
	}

	.flow-area .flow-item .num span {
		font-size: 1.8rem;
	}

	.flow-area .flow-item .catch {
		text-align: left;
		font-size: 1.6rem;
		margin: 0;
		line-height: 1.2;
	}

	.flow-area .flow-item .thumb {
		border-radius: 3px;
		order: 1;
		width: 37%;
		height: 70px;
	}

	.flow-area .flow-item .txt {
		font-size: 1.4rem;
		padding: 12px 0 5px;
		order: 3;
		display: none;
	}
}