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



	
	
/* franchise 共通
--------------------- */
.pd60 {
	padding-top: 60px;
}
.pd-tp-150 {
	padding-top: 150px;
}
.mg-btm-60 {
	margin-bottom: 60px;
}
.pd-btm-150 {
	padding-bottom: 150px;
}

.con-tag {
	font-size: 1.4rem;
	color: #fff;
	font-weight: 700;
	border-radius: 5px;
	width: fit-content;
	padding: 5px 14px 3px 14px;
	background: linear-gradient(90deg, #8bf0c1 0%, #94c1f0 50%, #efabfe 100%);
}

.franchise .title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 50px;
}
.franchise.white {
	color: #313131;
	background-color: #fff;
}
	.franchise .title .en {
		font-size: 2.2rem;
		font-weight: 600;
		padding-right: 40px;
	}
	.franchise .title.color .en {
		font-size: 2.2rem;
		font-weight: 600;
		padding-right: 40px;
	}

	.franchise .title .title-jp {
		font-size: 3.6rem;
		font-weight: 700;
		line-height: 1.3em;
		padding-left: 40px;
		border-left: solid 1px rgba(255,255,255,0.4);
	}
	.franchise.white .title .title-jp {
		border-left: solid 1px #ddd;
	}

.franchise .pht {
	border-radius: 0 0 0 50px;
	margin-bottom: 60px;
}
@media screen and (max-width: 1300px) {
	.pd60 {
		padding-top: 50px;
	}
	.pd-tp-150 {
		padding-top: 110px;
	}
	.mg-btm-60 {
		margin-bottom: 50px;
	}
	.pd-btm-150 {
		padding-bottom: 110px;
	}

	.franchise .pht {
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 1024px) {
	.pd60 {
		padding-top: 40px;
	}
	.mg-btm-60 {
		margin-bottom: 40px;
	}
	.con-tag {
		font-size: 1.3rem;
		padding: 3px 10px 2px 10px;
	}

	.franchise .title {
		margin-bottom: 40px;
	}
		.franchise .title .en {
			font-size: 2.0rem;
			padding-right: 30px;
		}

		.franchise .title .title-jp {
			font-size: 3.0rem;
			padding-left: 30px;
		}
	.franchise .pht {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 768px) {
	.pd60 {
		padding-top: 30px;
	}
	.pd-tp-150 {
		padding-top: 80px;
	}
	.mg-btm-60 {
		margin-bottom: 30px;
	}
	.pd-btm-150 {
		padding-bottom: 80px;
	}
	.con-tag {
		font-size: 1.2rem;
		padding: 2px 10px 1px 10px;
	}

	
	.franchise .title {
		display: block;
		margin-bottom: 30px;
		text-align: center;
	}
		.franchise .title .en {
			display: inline-block;
			font-size: 1.6rem;
			line-height: 1;
			padding-right: 0;
			text-align: center;
			border-bottom: solid 2px #fff;
			padding-bottom: 2px;
			margin-bottom: 15px;
		}
		.franchise.white .title .en {
			border-bottom: solid 2px #313131;
		}

		.franchise .title .title-jp {
			font-size: 2.5rem;
			padding-left: 0;
			letter-spacing: 0;
			border-left: none;
		}
		.franchise.white .title .title-jp {
			border-left: none;
		}
	.franchise .pht {
		margin-bottom: 30px;
	}
}




/* franchise-visual
--------------------- */
#franchise-visual {
	position: relative;
	overflow: hidden;
	padding-top: 180px;
	padding-bottom: 163px;
}
#franchise-visual:before {
	content: "KINTETSU RECRUITING. KINTETSU RECRUITING. KINTETSU RECRUITING. KINTETSU RECRUITING.";
	white-space: nowrap;
	width: 100%;
	height: auto;
	font-size: 9.0em;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	color: #fff;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: 113px;
	z-index: 0;
	left: 0;
	animation: kv-flow 30s linear infinite;
}
@keyframes kv-flow {
	0% { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}
	#franchise-visual .text {
		width: 40%;
		margin-top: 100px;
	}

		#franchise-visual .text h1 {
			font-size: 6.0rem;
			font-weight: 700;
			line-height: 1.2;
			letter-spacing: 0.15em;
			margin-bottom: 30px;
			position: relative;
		}

		#franchise-visual .text .txt {
			font-size: 1.8rem;
			font-weight: 700;
			width: 98%;
		} 
		#franchise-visual .text .txt.mb-top {
			margin-top: 10px;
		}

	#franchise-visual .pht {
		width: 50%;
		height: fit-content;
		overflow: hidden;
		padding: 20px 0 30px;
		border-radius: 0 0 0 50px;
		background: rgba(255, 255, 255, 0);
		backdrop-filter: blur(30px) brightness(1.18);
		-webkit-backdrop-filter: blur(30px) brightness(1.18);
	}
@media screen and (max-width: 1300px) {
	#franchise-visual {
		padding-bottom: 123px;
	}
		#franchise-visual .inner {
			display: block;
		}
			#franchise-visual .text {
				width: 46%;
			}
				#franchise-visual .text h1 {
					font-size: 5.5rem;
					line-height: 1.2;
					margin-bottom: 30px;
				}

			#franchise-visual .pht {
				width: 47%;
				position: absolute;
				right: 0;
				top: -90px;
			}
}
@media screen and (max-width: 1024px) {
	#franchise-visual {
		padding-top: 120px;
		padding-bottom: 123px;
	}
	#franchise-visual:before {
		font-size: 8.0em;
		top: 113px;
		animation: kv-flow 30s linear infinite;
	}
		
		#franchise-visual .text {
			width: 50%;
			padding-top: 40px;
			padding-bottom: 0px;
		}
			#franchise-visual .text h1 {
				font-size: 4.5rem;
				line-height: 1.2;
				margin-bottom: 20px;
			}

			#franchise-visual .text .txt {
				font-size: 1.5rem;
				width: 95%;
			} 
			#franchise-visual .text .txt.mb-top {
				margin-top: 5px;
			}

			#franchise-visual .pht {
				width: 47%;
				position: absolute;
				right: 0;
				top: -50px;
				padding: 30px 0 40px;
			}
}
@media screen and (max-width: 768px) {
	#franchise-visual {
		padding-top: 90px;
		padding-bottom: 80px;
	}
	#franchise-visual:before {
		font-size: 6.0em;
		top: 113px;
		animation: kv-flow 20s linear infinite;
	}
		#franchise-visual .text {
			width: auto;
    		margin-top: 110px;
			padding-bottom: 0px;
		}
			#franchise-visual .text h1 {
				font-size: 4.3rem;
			}
			#franchise-visual .text h1:before {
				width: 20px;
			}

			#franchise-visual .text .txt {
				width: 100%;
				font-size: 1.6rem;
			} 

			#franchise-visual .pht {
				width: 100%;
				position: static;
				margin-top: 30px;
				padding: 0;
			}
}






/* reason
--------------------- */
#reason .title {
	padding: 0;
}
	#reason .list {
		display: flex;
		justify-content: space-between;
		margin-top: 60px;
	}
		#reason .list .item {
			width: 47.8%;
			padding: 45px 50px 50px 50px;
			border-radius: 0 0 0 50px;
			background: #fff;
		}
			#reason .list .item .head {
				display: flex;
				align-items: center;
				margin-bottom: 20px;
			}
				#reason .list .item .head h3 {
					font-size: 2.4rem;
					color: #313131;
					margin-left: 12px;
				}

			#reason .list .item .txt {
				font-size: 1.5rem;
				line-height: 1.8em;
				color: #313131;
			}
@media screen and (max-width: 1300px) {
	#reason .list {
		margin-top: 50px;
	}
		#reason .list .item {
			padding: 35px 40px 40px 40px;
			border-radius: 0 0 0 50px;
		}

			#reason .list .item .txt {
				line-height: 1.6em;
			}
}
@media screen and (max-width: 1024px) {
	#reason .list {
		margin-top: 40px;
	}
		#reason .list .item {
			padding: 30px 35px 35px 35px;
			border-radius: 0 0 0 40px;
		}
			#reason .list .item .head {
				margin-bottom: 10px;
			}
				#reason .list .item .head h3 {
					font-size: 2rem;
					margin-left: 10px;
				}

			#reason .list .item .txt {
				font-size: 1.4rem;
				line-height: 1.6em;
			}
}
@media screen and (max-width: 768px) {
	#reason .list {
		margin-top: 30px;
	}
		#reason .list {
			display: block;
		}
			#reason .list .item {
				width: 100%;
				padding: 23px 28px 28px 28px;
				border-radius: 0 0 0 35px;
			}
			#reason .list .item.end {
				margin-top: 20px;
			}
				#reason .list .item .head {
					margin-bottom: 10px;
				}
					#reason .list .item .head h3 {
						font-size: 2rem;
						margin-left: 10px;
					}
}





/* growth
--------------------- */
#growth .title {
	padding: 0;
}

#growth .pht {
	height: fit-content;
	overflow: hidden;
	border-radius: 0 0 0 50px;
	background: rgba(255, 255, 255, 0);
	backdrop-filter: blur(30px) brightness(1.18);
	-webkit-backdrop-filter: blur(30px) brightness(1.18);
}

#growth .box {
	display: flex;
	border-radius: 0 0 0 50px;
	background: #fff;
}
	#growth .box .box-pht {
		flex: 0 0 30%; /* 画像の幅は必要に応じて調整 */
		min-width: 0;
		margin: 0;
		overflow: hidden;
		align-self: auto;
	}
		#growth .box .box-pht img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

	#growth .box .txt-area {
		flex: 1 1 auto;
    	min-width: 0;
		padding: 45px 50px 50px 50px;
	}
		#growth .box h3 {
			font-size: 2.4rem;
			color: #313131;
			margin-bottom: 20px;
		}
			#growth .box .txt-box {
				display: flex;
			}
			#growth .box .txt-box.q-txt {
				align-items: center;
				margin-bottom: 18px;
				padding-bottom: 18px;
				border-bottom: 1px solid #DDDDDD;
			}
				#growth .box .txt-box h4 {
					font-size: 2rem;
					color: #313131;
				}
				#growth .box .txt-box .txt {
					color: #313131;
				}

				#growth .box .txt-box .tag-item {
					flex-shrink: 0;
					display: flex;
					align-items: center;
					justify-content: center;
					width: 32px;
					height: 28px;
					margin-right: 12px;
					border-radius: 5px;
					background: linear-gradient(45deg, #8bf0c1 15%, #94c1f0 40%, #EF78DC 80%, #FC66DB 100%);
				}
					#growth .box .txt-box .tag-item .en {
						font-size: 1.4rem;
						font-weight: 500;
						padding-left: 1px;
					}
@media screen and (max-width: 1300px) {
	#growth .title {
		padding: 0;
	}


	#growth .box {
		display: flex;
		border-radius: 0 0 0 40px;
		background: #fff;
	}

		#growth .box .txt-area {
			padding: 30px 35px 35px 35px;
			border-radius: 0 0 0 40px;
		}
			#growth .box h3 {
				font-size: 2.2rem;
				margin-bottom: 20px;
				line-height: 1.2;
			}
				#growth .box .txt-box h4 {
					font-size: 1.8rem;
					line-height: 1.2;
				}

				#growth .box .txt-box .tag-item {
					width: 32px;
					height: 28px;
					margin-right: 10px;
				}
					#growth .box .txt-box .tag-item .en {
						font-size: 1.4rem;
					}
}
@media screen and (max-width: 768px) {
	#growth .pht {
		overflow: hidden;
		border-radius: 0 0 0 35px;
	}
		#growth .pht img {
			width: 210%;
		}

	#growth .box {
		display: block;
		overflow: hidden;
		border-radius: 0 0 0 35px;
	}
		#growth .box .box-pht {
			height: 43vw;
		}

		#growth .box .txt-area {
			width: 100%;
			padding: 28px 28px 28px 28px;
			border-radius: 0 0 0 35px;
		}
			#growth .box h3 {
				font-size: 1.8rem;
				margin-bottom: 20px;
			}
				#growth .box .txt-box.q-txt {
					margin-bottom: 18px;
					padding-bottom: 18px;
				}
					#growth .box .txt-box h4 {
						font-size: 1.5rem;
					}

					#growth .box .txt-box .tag-item {
						margin-right: 12px;
					}
}





/* rec-business
--------------------- */
#rec-business .warpper h3 {
	font-size: 2rem;
	margin-bottom: 15px;
}
#rec-business .warpper .box {
	position: relative;
}
#rec-business .warpper .box:not(:nth-last-of-type(1)) {
	margin-bottom: 40px;
}
#rec-business .warpper .box::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 11px;
	left: 0;
	width: 100%;
	border-top: 1px dotted #ccc;
}
	#rec-business .warpper .box h4 {
		position: relative;
		z-index: 2;
		font-size: 1.2rem;
		font-weight: 700;
		width: fit-content;
		padding: 2px 9px 0;
		margin-bottom: 15px;
		border-radius: 5px;
		background-color: #E8E8E8;
	}
	#rec-business .warpper .box .list {
		display: flex;
		flex-wrap: wrap;
	}
		#rec-business .warpper .box .list .item {
			position: relative;
			padding-left: 18px;
		}
		#rec-business .warpper .box .list .item::after {
			content: "";
			position: absolute;
			z-index: 1;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			width: 8px;
			height: 8px;
			border-radius: 100%;
			background: #DBDBDB;
		}
		#rec-business .warpper .box .list .item:not(:nth-last-of-type(1)) {
			margin-right: 20px;
		}

#rec-business .pht-box {
	margin-top: 120px;
	padding: 44px 80px 50px;
	border-radius: 0 0 0 30px;
	background: linear-gradient(90deg, #8bf0c1 0%, #94c1f0 50%, #efabfe 100%);
}
	#rec-business .pht-box h3 {
		position: relative;
		font-size: 2.6rem;
		color: #fff;
		width: fit-content;
		margin: 0 auto 15px auto;
	}
	#rec-business .pht-box h3::before,
	#rec-business .pht-box h3::after {
		content: "";
		position: absolute;
		top: 9px;
		width: 3px;
		height: 28px;
		background: #fff;
	}
	#rec-business .pht-box h3::before {
		left: -15px;
		transform: rotate(-15deg);
	}
	#rec-business .pht-box h3::after {
		right: -15px;
		transform: rotate(15deg);
	}
	#rec-business .pht-box .list {
		display: flex;
		justify-content: space-between;
	}
		#rec-business .pht-box .list .item {
			width: 23%;
		}
			#rec-business .pht-box .list .item .pht-img {
				border-radius: 10px;
				overflow: hidden;
			}
			#rec-business .pht-box .list .item .txt {
				position: relative;
				z-index: 5;
				font-size: 1.4rem;
				color: #fff;
				font-weight: 700;
				text-align: center;
				width: 120px;
				padding: 3px 0 2px;
				margin: -15px auto 0 auto;
				border-radius: 20px;
				background: #313131;
			}
@media screen and (max-width: 1300px) {
	#rec-business .pht-box {
		margin-top: 90px;
		padding: 34px 60px 40px;
	}
		#rec-business .pht-box h3 {
			font-size: 2.4rem;
			margin: 0 auto 15px auto;
		}
		#rec-business .pht-box h3::before,
		#rec-business .pht-box h3::after {
			top: 9px;
			width: 3px;
			height: 24px;
		}
		
		#rec-business .pht-box .list .item {
			width: 23%;
		}
			#rec-business .pht-box .list .item .pht-img {
				border-radius: 10px;
				overflow: hidden;
			}

			#rec-business .pht-box .list .item .txt {
				position: relative;
				z-index: 5;
				font-size: 1.3rem;
				color: #fff;
				font-weight: 700;
				text-align: center;
				width: 70%;
				padding: 2px 0 1px;
				margin: -15px auto 0 auto;
				border-radius: 20px;
				background: #313131;
			}
}
@media screen and (max-width: 1024px) {
	#rec-business .warpper h3 {
		font-size: 1.8rem;
		margin-bottom: 13px;
	}

	#rec-business .pht-box {
		margin-top: 90px;
		padding: 30px 40px 40px;
	}
		#rec-business .pht-box h3 {
			font-size: 2.3rem;
			margin-bottom: 10px;
		}
}
@media screen and (max-width: 768px) {
	#rec-business .pht-box {
	margin-top: 50px;
	padding: 28px 30px 40px;
}
	#rec-business .pht-box h3 {
		font-size: 2.2rem;
		margin: 0 auto 15px auto;
	}
	#rec-business .pht-box h3::before,
	#rec-business .pht-box h3::after {
		top: 7px;
		height: 22px;
	}
	#rec-business .pht-box .list {
		flex-wrap: wrap;
	}
		#rec-business .pht-box .list .item {
			width: 100%;
		}
		#rec-business .pht-box .list .item:not(:nth-last-of-type(1)) {
			margin-bottom: 20px;
		}
			#rec-business .pht-box .list .item .pht-img {
				border-radius: 10px;
				overflow: hidden;
			}
			#rec-business .pht-box .list .item .txt {
				font-size: 1.3rem;
				width: 120px;
				padding: 4px 0 2px;
				margin: -15px auto 0 auto;
				border-radius: 20px;
			}
}




/* chance
--------------------- */
#chance .head {
	position: relative;
	padding-bottom: 80px;
	width: fit-content;
	margin: 0 auto;
}
	#chance .head .en {
		position: absolute;
		top: -105px;
		font-size: 12.0rem;
		opacity: 0.25;
	}
	#chance .head h2 {
		font-size: 4.8rem;
		padding-left: 25px;
	}

#chance h4 {
	position: relative;
	font-size: 3rem;
	text-align: center;
	width: fit-content;
	margin: 0 auto 30px auto;
	padding: 0 23px;
}
#chance h4::before,
#chance h4::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	border-radius: 100%;
	background: #fff;
}
#chance h4::before{
	left: 0;
}

#chance h4::after {
	right: 0;
}

#chance .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	#chance .list .item {
		width: 32%;
		height: 240px;
		padding: 0 35px 27px;
		border-radius: 0 0 0 20px;
	}
	#chance .list .item.item-mg {
		margin-bottom: 45px;
	}

	#chance .list .item.bg-white {
		background: #fff;
	}
		#chance .list .item.bg-white .con-tag {
			margin: 0 auto;
		}
		#chance .list .item.bg-white h3 {
			font-size: 2rem;
			color: #313131;
			text-align: center;
			padding: 14px 0 15px;
		}
		#chance .list .item.bg-white .txt {
			color: #313131;
			line-height: 1.8em;
		}
	
	#chance .list .item.end {
		border: 1px solid #fff;
	}
		#chance .list .item.end .txt {
			padding-top: 27px;
			line-height: 1.8em;
		}
		#chance .list .item.end .sub-txt {
			font-size: 1.4rem;
			text-align: right;
			padding-top: 10px;
		}

	#chance .long-item {
		display: flex;
		align-items: center;
		padding: 45px 50px 50px 50px;
		border: 1px solid #fff;
		border-radius: 0 0 0 20px;
	}
		#chance .long-item h3 {
			flex-shrink: 0;
			font-size: 2rem;
			padding-right: 50px;
		}
		#chance .long-item .box .sub {
			font-size: 1.2rem;
			padding-top: 7px;
		}
@media screen and (max-width: 1300px) {
	#chance .head {
		position: relative;
		padding-bottom: 70px;
	}
	
	#chance .list .item {
		height: 243px;
		padding: 0 30px 27px;
		border-radius: 0 0 0 20px;
	}
	#chance .list .item.item-mg {
		margin-bottom: 35px;
	}

	#chance .list .item.bg-white h3 {
		font-size: 1.8rem;
		padding: 14px 0 12px;
	}
	#chance .list .item.bg-white .txt {
		font-size: 1.4rem;
		line-height: 1.8em;
	}
	
	#chance .list .item.end .txt {
		font-size: 1.4rem;
		padding-top: 27px;
		line-height: 1.8em;
	}
	#chance .list .item.end .sub-txt {
		font-size: 1.3rem;
		padding-top: 10px;
	}
}
@media screen and (max-width: 1024px) {
	#chance .head {
		position: relative;
		padding-bottom: 70px;
	}
		#chance .head .en {
			top: -90px;
			font-size: 10rem;
		}
		#chance .head h2 {
			font-size: 4.3rem;
			padding-left: 19px;
		}

	#chance h4 {
		font-size: 2.4rem;
		text-align: center;
		width: fit-content;
		margin: 0 auto 20px auto;
		padding: 0 20px;
	}

	#chance .list .item {
		width: 31%;
		height: 243px;
		padding: 0 24px 24px;
		border-radius: 0 0 0 20px;
	}
	#chance .list .item.item-mg {
		margin-bottom: 33px;
	}

	#chance .list .item.bg-white h3 {
		font-size: 1.6rem;
		line-height: 1.3;
		padding: 14px 0 12px;
	}
	#chance .list .item.bg-white .txt {
		font-size: 1.3rem;
		line-height: 1.8em;
	}
	
	#chance .list .item.end .txt {
		font-size: 1.3rem;
		padding-top: 27px;
		line-height: 1.8em;
	}
	#chance .list .item.end .sub-txt {
		font-size: 1.2rem;
		padding-top: 10px;
	}

	#chance .long-item {
		padding: 35px 40px 40px 40px;
	}
		#chance .long-item h3 {
			font-size: 1.8rem;
			padding-right: 35px;
		}
}
@media screen and (max-width: 768px) {
	#chance .head {
		position: relative;
		padding-bottom: 30px;
		width: fit-content;
		margin: 0 auto;
	}
		#chance .head .en {
			top: -72px;
			font-size: 8rem;
		}
		#chance .head h2 {
			font-size: 3.3rem;
			padding-left: 16px;
		}

	#chance h4 {
		font-size: 1.7rem;
		line-height: 1.3;
		margin: 35px auto 15px auto;
		padding: 0 12px;
	}
	#chance h4::before,
	#chance h4::after {
		top: 6px;
		transform: translateY(0%);
		width: 8px;
		height: 8px;
	}

	#chance .list .item {
		width: 100%;
		height: auto;
		padding: 0 24px 30px;
		border-radius: 0 0 0 20px;
	}
	#chance .list .item.item-mg {
		margin-bottom: 15px;
	}
	#chance .list .item.item-mg-sp {
		margin-bottom: 15px;
	}i

	#chance .list .item.bg-white h3 {
		font-size: 1.6rem;
		line-height: 1.3;
		padding: 14px 0 12px;
	}
	#chance .list .item.bg-white .txt {
		font-size: 1.4rem;
		line-height: 1.8em;
	}
	
	#chance .list .item.end .txt {
		font-size: 1.4rem;
		padding-top: 27px;
		line-height: 1.8em;
	}
	#chance .list .item.end .sub-txt {
		font-size: 1.3rem;
		padding-top: 5px;
	}

	#chance .long-item {
		display: block;
		padding: 27px 30px 30px 30px;
	}
		#chance .long-item h3 {
			font-size: 2rem;
			padding-right: 0;
			padding-bottom: 5px;
			text-align: center;
		}
}





/* rec-voices
--------------------- */
#rec-voices .list .item {
	padding: 50px 50px 50px 50px;
	border-radius: 0 0 0 50px;
	background: #fff;
}
#rec-voices .list .item:not(:nth-last-of-type(1)) {
	margin-bottom: 40px;
}

	#rec-voices .list .flex-box {
		display: flex;
		align-items: center;
		margin-bottom: 40px;
	}
		#rec-voices .list .flex-box h4 {
			font-size: 2.4rem;
			color: #313131;
			margin-left: 12px;
		}

		#rec-voices .list .con-item:not(:nth-last-of-type(1)) {
			margin-bottom: 40px;
		}
			#rec-voices .list .con-item h5 {
				font-size: 2rem;
				color: #313131;
				padding-bottom: 12px;
				margin-bottom: 14px;
				border-bottom: 1px dotted #DDDDDD;
			}
			#rec-voices .list .con-item .txt {
				color: #313131;
			}
				#rec-voices .list .con-item .txt .small {
					font-size: 1.4rem;
				}

			#rec-voices .list .con-item .txt-box {
				display: flex;
				flex-wrap: wrap;
			}
				#rec-voices .list .con-item .txt-box .txt {
					position: relative;
					padding-left: 18px;
				}
					#rec-voices .list .con-item .strong {
						font-size: 1.8rem;
					}
					
				#rec-voices .list .con-item .txt-box .txt::after {
					content: "";
					position: absolute;
					z-index: 1;
					top: 50%;
					left: 0;
					transform: translateY(-50%);
					width: 8px;
					height: 8px;
					border-radius: 100%;
					background: #DBDBDB;
				}
				#rec-voices .list .con-item .txt-box .txt:not(:nth-last-of-type(1)) {
					margin-right: 20px;
				}
				
@media screen and (max-width: 1024px) {
	#rec-voices .list .item {
		padding: 44px;
		border-radius: 0 0 0 40px;
	}

		#rec-voices .list .flex-box {
			margin-bottom: 20px;
		}
			#rec-voices .list .flex-box h4 {
				font-size: 2.2rem;
			}
			#rec-voices .list .con-item .strong {
				font-size: 1.6rem;
			}
			#rec-voices .list .con-item:not(:nth-last-of-type(1)) {
				margin-bottom: 30px;
			}
				#rec-voices .list .con-item h5 {
					font-size: 1.8rem;
				}
}
@media screen and (max-width: 768px) {
	#rec-voices .list .item {
	padding: 33px 30px 35px 30px;
	border-radius: 0 0 0 35px;
}
#rec-voices .list .item:not(:nth-last-of-type(1)) {
	margin-bottom: 30px;
}

	#rec-voices .list .flex-box {
		margin-bottom: 18px;
	}
		#rec-voices .list .flex-box h4 {
			font-size: 1.8rem;
			margin-left: 10px;
		}

		#rec-voices .list .con-item:not(:nth-last-of-type(1)) {
			margin-bottom: 20px;
		}
			#rec-voices .list .con-item h5 {
				font-size: 1.6rem;
				padding-bottom: 5px;
				margin-bottom: 8px;
			}
			#rec-voices .list .con-item .txt {
				color: #313131;
			}
				#rec-voices .list .con-item .txt .small {
					font-size: 1.4rem;
				}

			#rec-voices .list .con-item .txt-box {
				display: block;
			}
				#rec-voices .list .con-item .txt-box .txt {
					padding-left: 15px;
					line-height: 1.7;
				}
					#rec-voices .list .con-item .strong {
						font-size: 1.5rem;
					}
				#rec-voices .list .con-item .txt-box .txt::after {
					top: 7px;
					transform: translateY(0);
				}
				#rec-voices .list .con-item .txt-box .txt:not(:nth-last-of-type(1)) {
					margin-right: 15px;
				}
}





/* step-up
--------------------- */
#step-up .warpper {
	display: flex;
}
	#step-up .warpper .icon {
		flex-shrink: 0;
		width: 110px;
		margin-right: 30px;
	}
		#step-up .warpper .icon .name {
			font-size: 1.2rem;
			line-height: 1.5;
			font-weight: 700;
			text-align: center;
			color: #313131;
			margin-top: 13px;
		}

	#step-up .warpper .box {
		color: #313131;
		padding: 28px 35px 37px;
		border-radius: 10px;
		background: #fff;
	}
		#step-up .warpper .box .txt-box:not(:nth-last-of-type(1)) {
			margin-bottom: 30px;
		}
			#step-up .warpper .box .txt-box h4 {
				font-size: 2rem;
				padding-bottom: 13px;
				margin-bottom: 13px;
				border-bottom: 1px dotted #DDDDDD;
			}
			#step-up .warpper .box .txt-box .bold {
				font-weight: 700;
				padding-top: 10px;
			}
@media screen and (max-width: 1024px) {
		#step-up .warpper .icon {
			width: 100px;
		}

		#step-up .warpper .box .txt-box h4 {
			font-size: 1.8rem;
		}
}
@media screen and (max-width: 768px) {
	#step-up .warpper {
		display: block;
	}
		#step-up .warpper .icon {
			width: 120px;
			margin: 0 auto 13px auto;
		}
			#step-up .warpper .icon .name {
				font-size: 1.3rem;
				line-height: 1.4;
				margin-top: 8px;
			}

		#step-up .warpper .box {
			padding: 25px 28px 33px;
		}
			#step-up .warpper .box .txt-box:not(:nth-last-of-type(1)) {
				margin-bottom: 20px;
			}
				#step-up .warpper .box .txt-box h4 {
					font-size: 1.8rem;
					line-height: 1.3;
				}
}





/* outlook
--------------------- */
#outlook .title {
	padding: 0;
}
	#outlook .list .item {
		width: 100%;
		padding: 45px 50px 50px 50px;
		border-radius: 0 0 0 50px;
		background: #fff;
		border: 1px solid #DDDDDD;
	}
	#outlook .list .item:not(:nth-last-of-type(1)) {
		margin-bottom: 40px;
	}
		#outlook .list .item .head {
			display: flex;
			align-items: center;
			margin-bottom: 20px;
		}
			#outlook .list .item .head h3 {
				font-size: 2.4rem;
				color: #313131;
				margin-left: 12px;
			}

		#outlook .list .item .txt {
			font-size: 1.5rem;
			line-height: 1.8em;
			color: #313131;
		}
			#outlook .list .item .txt .bold {
				font-weight: 700;
			}

		#outlook .list .item .txt.deco {
			position: relative;
			padding-left: 18px;
		}
		#outlook .list .item .txt.deco::after {
			content: "";
			position: absolute;
			z-index: 1;
			top: 10px;
			left: 0;
			width: 8px;
			height: 8px;
			border-radius: 100%;
			background: #DBDBDB;
		}
			
		#outlook .list .item .txt.mg-top {
			margin-top: 7px;
		}
@media screen and (max-width: 1300px) {
	#outlook .list .item {
		padding: 35px 40px 40px 40px;
		border-radius: 0 0 0 50px;
	}

		#outlook .list .item .txt {
			line-height: 1.6em;
		}
		#outlook .list .item .txt.deco::after {
			top: 8px;
		}
}
@media screen and (max-width: 1024px) {
	#outlook .list .item {
		padding: 30px 35px 35px 35px;
		border-radius: 0 0 0 40px;
	}
		#outlook .list .item .head {
			margin-bottom: 10px;
		}
			#outlook .list .item .head h3 {
				font-size: 2rem;
				line-height: 1.3;
				margin-left: 10px;
			}

		#outlook .list .item .txt {
			font-size: 1.4rem;
			line-height: 1.6em;
		}
}
@media screen and (max-width: 768px) {
	#outlook .list {
		display: block;
	}
		#outlook .list .item {
			width: 100%;
			padding: 0px 28px 28px 28px;
			border-radius: 0 0 0 35px;
		}
		#outlook .list .item:not(:nth-last-of-type(1)) {
			margin-bottom: 30px;
		}
		#outlook .list .item.end {
			margin-top: 20px;
		}
			#outlook .list .item .head {
				display: block;
				margin-bottom: 13px;
			}	
				#outlook .list .item .head .con-tag {
					margin: 0 auto 15px auto;
				}
				#outlook .list .item .head h3 {
					font-size: 1.8rem;
					margin-left: 10px;
					text-align: center;
				}
			
	#outlook .list .item .txt.deco {
		padding-left: 13px;
	}
	#outlook .list .item .txt.deco::after {
		top: 7px;
	}
}





/* fran-message
--------------------- */
#fran-message {
	padding-bottom: 180px;
}

		#fran-message .txt-pht {
		width: 350px;
		margin: 0 auto;
		}

		#fran-message .box {
		width: 1000px;
		margin: -21px auto 0 auto;
		padding: 65px 0 69px;
		background: url("../img/franchise/message_bg.png") no-repeat center / cover;
		}
		#fran-message .box .txt {
			font-size: 2.8rem;
			line-height: 1.6;
			font-weight: 700;
			text-align: center;
		}
		#fran-message .box .txt.mg-top {
			margin-top: 20px;
		}
@media screen and (max-width: 1300px) {
	#fran-message .box {
		width: 880px;
		margin: -21px auto 0 auto;
		padding: 60px 0 64px;
	}

	#fran-message .box .txt {
		font-size: 2.6rem;
	}
}
@media screen and (max-width: 1024px) {
	#fran-message {
		padding-bottom: 140px;
	}
		#fran-message .txt-pht {
			width: 300px;
			margin: 0 auto;
		}

		#fran-message .box {
			width: 100%;
			padding: 50px 0 54px;
		}
			#fran-message .box .txt {
				font-size: 2.2rem;
			}
}
@media screen and (max-width: 768px) {
	#fran-message {
		padding-bottom: 80px;
	}

		#fran-message .txt-pht {
			width: 240px;
			margin: 0 auto;
		}

		#fran-message .box {
			width: 100%;
			padding: 40px 0 44px;
		}
			#fran-message .box .txt {
				font-size: 1.8rem;
			}
			#fran-message .box .txt.mg-top {
				margin-top: 10px;
			}
}