@charset "UTF-8";
.support-flow {
	margin-top: 40px;
    padding-bottom: 100px;
}
.support-flow__line {
	display: flex;
}
.support-flow__range {
	position: relative;
	padding: 0 12px;
}
.support-flow__range.free {
	width: 84%;
}
.support-flow__range.free::before,
.support-flow__range.free::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: #F79000;
	width: 12px;
	height: 36px;
}
.support-flow__range.free::before {
	left: .2px;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.support-flow__range.free::after {
	right: .2px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.support-flow__range.paid {
	width: 16%;
}
.support-flow__range.paid::before,
.support-flow__range.paid::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: #594D46;
	width: 12px;
	height: 36px;
}
.support-flow__range.paid::before {
	left: .2px;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.support-flow__range.paid::after {
	right: .2px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.support-flow__range .sinner {
	height: 36px;
	line-height: 36px;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}
.support-flow__range.free .sinner {
	background-color: #F79000;
}
.support-flow__range.paid .sinner {
	background-color: #594D46;
}
.support-flow__grid {
	display: flex;
	margin-top: 50px;
	gap: 0 45px;
}
.support-flow__step {
	position: relative;
	height: 180px;
}
.support-flow__step01 {
	width: 16%;
}
.support-flow__step02 {
	width: 16%;
}
.support-flow__step03 {
	width: 36%;
}
.support-flow__step03 .support-flow__text {
	gap: 0 15%;
}
.support-flow__step03 .text p {
	font-size: 16px;
	line-height: 1.5;
}
.support-flow__step03 .text p + p {
	margin-top: 15px;
}
.support-flow__step03 .text p span {
	font-weight: bold;
	color: #F79000;
}
.support-flow__step04 {
	width: 16%;
}
.support-flow__step05 {
	width: 16%;
}
.support-flow__text {
	background-color: #fff;
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.support-flow__text::before {
	content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    width: 40px;
    height: 30px;
    background: url(../img/step-allow.svg) no-repeat center / cover;
	z-index: -1;
}
.support-flow__step05 .support-flow__text::before {
	display: none;
}
.support-flow__step .ttl {
	position: relative;
	writing-mode: vertical-rl;
	display: block;
	font-family: "M PLUS Rounded 1c";
	font-size: 20px;
	letter-spacing: 3px;
	font-weight: bold;
	height: 100%;
    text-align: center;
    padding-top: 10px;
}
.support-flow__step .ttl::before {
	position: absolute;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
	font-size: 45px;
	font-weight: bold;
	line-height: 1;
	writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	letter-spacing: 0;
    color: #F79000;
}
.support-flow__step01 .ttl::before {
	content: '01';
}
.support-flow__step02 .ttl::before {
	content: '02';
}
.support-flow__step03 .ttl::before {
	content: '03';
}
.support-flow__step04 .ttl::before {
	content: '04';
}
.support-flow__step05 .ttl::before {
	content: '05';
}
.support-flow__cancel {
	width: 100%;
	position: relative;
	padding-top: 40px;
}
.support-flow__cancel::before {
	content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    width: 40px;
    height: 30px;
    background: url(../img/step-allow.svg) no-repeat center / cover;
	z-index: -1;
}
.support-flow__cancel .text {
	text-align: center;
	background-color: #594D46;
	padding: 15px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
}
.support-flow__step03 .support-flow__cancel {
    max-width: 150px;
    margin: auto;
}
@media only screen and (max-width: 768px) {
	.support-flow {
		margin-top: 40px;
		display: flex;
		gap: 15px;
        padding-bottom: 0;
	}
	.support-flow__line {
		display: block;
		width: 36px;
	}
	.support-flow__range {
		position: relative;
		padding: 12px 0;
	}
	.support-flow__range.free {
		width: 100%;
		height: calc(100% - 145px);
	}
	.support-flow__range.free::before,
	.support-flow__range.free::after {
		content: '';
		position: absolute;
		top: unset;
		transform: translateX(-50%);
		background-color: #F79000;
		width: 36px;
		height: 12px;
	}
	.support-flow__range.free::before {
		top: .2px;
		left: 50%;
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	}
	.support-flow__range.free::after {
		bottom: .2px;
		top: unset;
		right: unset;
		left: 50%;
		clip-path: polygon(50% 100%, 0 0, 100% 0);
	}
	.support-flow__range.paid {
		width: 100%;
		height: 145px;
	}
	.support-flow__range.paid::before,
	.support-flow__range.paid::after {
		content: '';
		position: absolute;
		top: unset;
		transform: translateX(-50%);
		background-color: #594D46;
		width: 36px;
		height: 12px;
	}
	.support-flow__range.paid::before {
		top: .2px;
		left: 50%;
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	}
	.support-flow__range.paid::after {
		bottom: .2px;
		top: unset;
		right: unset;
		left: 50%;
		clip-path: polygon(50% 100%, 0 0, 100% 0);
	}
	.support-flow__range .sinner {
		display: block;
		text-align: unset;
		padding: 10px 0;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		width: 36px;
		height: 100%;
		line-height: unset;
	}
    .support-flow__range .sinner span {
        display: block;
        text-align: center;
        line-height: 1.2;
    }
	.support-flow__range.free .sinner {
		background-color: #F79000;
	}
	.support-flow__range.paid .sinner {
		background-color: #594D46;
	}
	.support-flow__grid {
		width: calc(100% - 36px);
		display: flex;
		flex-wrap: wrap;
		margin-top: 0;
		gap: 35px 0;
	}
	.support-flow__step {
		display: flex;
		position: relative;
		height: 120px;
	}
	.support-flow__step01 {
		width: 100%;
	}
	.support-flow__step02 {
		width: 100%;
	}
	.support-flow__step03 {
		width: 100%;
		height: auto;
	}
	.support-flow__step03 .support-flow__text {
		gap: 0 15%;
		display: block;
		height: auto;
		padding: 30px 0;
	}
	.support-flow__step03 .text {
		width: 100%;
		text-align: center;
	}
	.support-flow__step03 .text p {
		font-size: 16px;
		line-height: 1.5;
		margin-top: 15px;
	}
	.support-flow__step03 .text p + p {
		margin-top: 15px;
	}
	.support-flow__step03 .text p span {
		font-weight: bold;
		color: #F79000;
	}
	.support-flow__step04 {
		width: 100%;
	}
	.support-flow__step05 {
		width: 100%;
	}
	.support-flow__step::before {
		position: absolute;
		left: 20px;
		top: -15px;
		font-size: 35px;
		font-weight: bold;
		line-height: 1;
		writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		letter-spacing: 0;
		z-index: 1;
        color: #F79000;
        font-family: "M PLUS Rounded 1c";
	}
	.support-flow__step01::before {
		content: '01';
	}
	.support-flow__step02::before {
		content: '02';
	}
	.support-flow__step03::before {
		content: '03';
	}
	.support-flow__step04::before {
		content: '04';
	}
	.support-flow__step05::before {
		content: '05';
	}
	.support-flow__text {
		width: 70%;
		background-color: #fff;
		position: relative;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.support-flow__text::before {
		content: '';
		position: absolute;
		top: calc(100% - 5px);
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		width: 40px;
		height: 30px;
		background: url(../img/step-allow.svg) no-repeat center / cover;
		z-index: -1;
	}
	.support-flow__step05 .support-flow__text::before {
		display: none;
	}
	.support-flow__step .ttl {
		position: relative;
		writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		display: block;
		font-family: "M PLUS Rounded 1c";
		font-size: 20px;
		letter-spacing: 1px;
		font-weight: bold;
		height: auto;
		text-align: center;
		width: 100%;
        padding: 0;
	}
	.support-flow__step .ttl::before {
		position: absolute;
		left: 50%;
		top: -20px;
		transform: translateX(-50%);
		font-size: 45px;
		font-weight: bold;
		line-height: 1;
		writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		letter-spacing: 0;
		display: none;
	}
	.support-flow__cancel {
		width: 30%;
		position: relative;
		padding-top: 0;
		padding-left: 35px;
	}
	.support-flow__cancel::before {
		content: '';
        position: absolute;
        top: 50%;
        left: -10px;
        transform: translateY(-50%);
        width: 40px;
        height: 30px;
        background: url(../img/step-allow.svg) no-repeat center / cover;
        z-index: -1;
	}
	.support-flow__cancel .text {
		text-align: center;
		background-color: #594D46;
		padding: 10px 0 2px;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		white-space: nowrap;
		width: 100%;
		letter-spacing: 2px;
	}
	.support-flow__cancel .text .sinner {
		display: inline-block;
		writing-mode: vertical-rl;
	}
	.support-flow__cancel {
		max-width: 150px;
		margin: auto;
	}

}