@charset "UTF-8";
.sec-sub-mv{
    background:url(../../img/course-3features/bg_mv.png) no-repeat;
    background-size: cover;
    background-position: bottom;
}

.reskilling-about{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap:4%;
    margin-top:-150px;
}
.about-txt{
    font-size: 1.8rem;
    width:50%;
    margin-top:160px;
}
.about-txt span{
    text-decoration: underline;
    font-weight: 700;
}
.about-image{
    width:46%
}

.reskilling-con{
    width:100%;
    max-width:1000px;
    margin:0 auto;
}
.reskilling-box{
    background: #fff;
    border:3px solid #7196CA;
    padding:40px 20px;
    margin:80px 0;
}
.reskilling-box-copy{
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 30px;
}
.reskilling-box-copy::after{
    content: "";
    display: block;
    width: 80px;
    height: 7px;
    background: linear-gradient(to right, #d7001e 50%, #e5e5e5 50%);
    margin-top: 20px;
    left:0;
    right:0;
    margin:30px auto auto auto;
}
.reskilling-box-copy span{
    font-size: 2.4rem;
    color:#CF001C;
}
.reskilling-box-inn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 80px;
    margin-bottom: 60px;
}
.reskilling-box-inn+p{
    font-weight: 500;
    padding:0 10% 0
}
.reskilling-box-inn+p span{
    text-decoration: underline;
}
.reskilling-logo{
    width: 180px;
}
.reskilling-txt{
    width: 330px;
}

.course-bnr{
    display: block;
    width:100%;
    background:url(../../img/course-3features/img_bnr.jpg) no-repeat ;
    background-size: cover;
    background-position: right;
    padding:40px;
    box-shadow:0 0 20px rgba(0, 0, 0, 0.25);
}
.course-bnr-inn{
    width: 370px;
    margin:0 0 0 auto;
}
.course-bnr-ttl{
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    color: #CF001C;
    margin-bottom:10px;
}
.course-bnr-ttl+p{
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom:40px;
}
.course-bnr .btn-red{
    background: #CF001C;
    color: #fff;
    font-weight: 500;
    border-radius: 50px;
    position: relative;
    text-align: center;
    font-family: "Oswald", sans-serif;
    font-size: 2rem;
    width: 180px;
    height: 40px;
    line-height: 35px;
}
.course-bnr .btn-red::after {
    content: '';
    position: absolute;
    width: 13px;
    height: 13px;
    display: inline-block;
    background: #fff;
    border-radius: 50%;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
}

@media (max-width: 768px){
	.sub-mv-ttl-ja{
        width:10.2em;
    }
    .sec-sub-mv{
        background:url(../../img/course-3features/bg_mv_sp.png) no-repeat;
        background-size: cover;
        background-position: bottom;
    }
    .reskilling-about{
        flex-wrap: wrap;
        gap:0;
        margin-top:0;
    }
    .about-txt{
        font-size: 3.7vw;
        width:100%;
        margin:0 0 5vw;
    }
    .about-image{
        width:100%;
    }

    .reskilling-con{
        max-width:initial;
    }
    .reskilling-box{
        padding:4vw;
        margin:10vw 0;
    }
    .reskilling-box-copy{
        font-size: 3.7vw;
        margin-bottom: 7vw;
    }
    .reskilling-box-copy::after{
        width: 11.429vw;
        height: 1vw;
        margin-top: 4vw;
    }
    .reskilling-box-copy span{
        font-size: 4.1vw;
    }
    .reskilling-box-inn{
        flex-wrap: wrap;
        gap: 0 5vw;
        margin-bottom: 7vw;
    }
    .reskilling-box-inn+p{
        font-size: 3.5vw;
        padding:0;
    }
    .reskilling-logo{
        width:36.4vw;
        margin-bottom:5vw;
    }
    .reskilling-txt{
        width: 100%;
    }

    .course-bnr{
        background:url(../../img/course-3features/img_bnr_sp.jpg) no-repeat ;
        background-size: cover;
        background-position:center;
        padding:5vw;
    }
    .course-bnr-inn{
        width: 100%;
        margin:0 0 0 auto;
    }
    .course-bnr-ttl{
        font-size: 4.9vw;
        margin-bottom:3vw;
    }
    .course-bnr-ttl+p{
        font-size:3.7vw;
        margin-bottom:5vw;
    }
    .course-bnr .btn-red{
        font-size: 3.4vw;
        width: 25.714vw;
        height: 5.714vw;
        line-height: 5vw;
        margin:0 0 0 auto;
    }
    .course-bnr .btn-red::after {
        width: 2vw;
        height: 2vw;
        right: 1.8vw;
    }
}


/* 追加　3大*/
.sec-sub-features{
	padding-top: 60px;
	padding-bottom: 0;
}
.sec-sub-features .sec-ttl{
	text-align: center;
}
.sec-sub-features .sec-ttl .sec-ttl-ja::after{
	left:0;right:0;
	margin: auto;
	margin-top: 20px;
}
.sec-sub-features .sec-ttl-ja{
	margin-top: 0;
	font-size:4.4rem
}
.sec-sub-features .sec-txt{
	text-align: center;
}

.features-box{
    margin:50px auto 80px;
    display: flex;
}
.box-txtarea{
    width:68%;
    background: #F0F0F0;
    padding:40px 8% 40px 3%;
    position: relative;
    z-index: 1;
    margin:5% -5% 0 0;
}
.features-box:nth-of-type(even) .box-txtarea{
    padding:40px 3% 40px 8%;
    margin:5% 0 0 -5%;
}
.box-no{
    font-family: "Allura", cursive;
	font-size: 4rem;
    font-weight: 400;
    margin:-70px 0 20px;
	color: #CF001C;
	line-height: 1
}
.box-no span{
    font-size: 6rem;
}
.box-ttl{
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
	margin-bottom: 20px
}
.box-txt span{
	font-size:0.8em
}
.box-note{
	margin-top: 1em;
	font-size:0.8em
}

.box-image{
    width:36%;
    position: relative;
    z-index: 2;
}

.red-box{
	margin-top:20px;
	background:#CF001C;
	color:#fff;
	text-align: center;
	padding:15px 10px;
	line-height: 1.1;
	font-weight: 700;
	font-size:2.2rem
}
.red-box .inline{display: inline-block}
.red-box .nowrap{white-space: nowrap}
.red-box .txt-l{font-size:5rem}
.red-box .txt-m{font-size:3.2rem}
.red-box .txt-s{font-size:2.6rem}


@media (max-width: 1080px){
	.box-ttl{
        font-txt: 2.422vw;
    }

}
@media (max-width: 768px){
	.sec-sub-features{
		padding-top: 8vw
	}
.sec-sub-features .sec-ttl .sec-ttl-ja::after{
	left:0;right:0;
	margin: auto;
	margin-top: 2vw
}
.sec-sub-features .sec-ttl-ja{
	margin-top: 0;
	font-size:6vw
}
.sec-sub-features .sec-txt{
	text-align: center;
}

    .features-box{
        margin:7vw auto 0;
        flex-wrap: wrap;
    }
    .box-txtarea{
        width:100%;
        padding:8vw 5vw 10vw 5vw;
        margin:0;
        font-size:3.4vw;
    }
    .features-box:nth-of-type(even){
        flex-direction: column-reverse;
    }
    .features-box:nth-of-type(even) .box-txtarea{
        padding:8vw 5vw 10vw 5vw;
        margin:0;
    }
    .box-no{
        font-size: 8vw;
        margin:-12.143vw 0 2.857vw;
    }
    .box-no span{
        font-size: 10vw;
    }
	.box-ttl{
        font-size: 4.2vw;
    }

    .box-image{
        width: 76vw;
        position: relative;
        right:-19vw;
        top:-6vw;
		display: flex;
		flex-direction: column-reverse
    }
    .features-box:nth-of-type(even) .box-image{
        margin:0 0 0 auto;
        position: relative;
        left:-19vw;
    }
	.red-box{
	margin-top:0;
	margin-bottom: 4vw;
	background:#CF001C;
	color:#fff;
	text-align: center;
	padding:2vw;
	line-height: 1.1;
	font-weight: 700;
	font-size:3.6vw
}
.red-box .txt-l{font-size:8vw}
.red-box .txt-m{font-size:5vw}
.red-box .txt-s{font-size:4vw}
}

/* 追加　チラシ*/
.flyer-ttl{
	background:#CF001C;
	color:#fff;
	font-size:2.0rem;
	font-weight: 700;
	padding:0.5em;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1
}
.flyer-ttl span{
	font-size:0.7em
}
.flyer-txt{
	font-size:1.8rem;
	font-weight: 700;
	margin-top: 0.5em
}

.reskilling-flow{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	margin: 20px 0 10px
}
.reskilling-flow .flow-item.p{
	width:calc((100% - 200px) / 12);
	 writing-mode: vertical-rl;
	background: #fad9d2;
	display: flex;
	justify-content: center;
	align-items: center;
		letter-spacing: 0.5em
}
.reskilling-flow .flow-item{
	border-radius: 10px;
	font-size:1.8rem;
	font-weight: 700;
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative
}
.reskilling-flow .flow-item:not(:nth-child(n+6))::after{
	position: absolute;
	content:'';
	width: 16px;
	height: 50px;
	background-color: #cacacb;
	clip-path: polygon(16px 50%, 0% 0%, 0% 50px);
	top:0;
	bottom:0;
	right:-22px;
	margin: auto
}
.reskilling-flow .flow-item.y{
	width:calc(((100% - 100px) / 12) *3);
	background: #fdd86f;
	padding: 10px;
	text-align: center
}
.reskilling-flow .flow-item.y p:first-child{
	min-height:3em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}
.reskilling-flow .flow-item.y p:first-child span{
	font-size:0.8em;
	font-weight: 400;
}
.reskilling-flow .flow-item-inn{
	background: #fff;
	margin-top: 10px;
	padding:8px 10px;
	border-radius: 8px;
}
.reskilling-flow .flow-item-inn.s-txt{
	font-size:1.4rem;
	font-weight: 400;
	padding:20px 10px
}
.reskilling-flow .flow-item-inn .num{
	font-size:6.0rem;
	line-height: 0.8;
	color:#CF001C;
}
.reskilling-flow .flow-item-inn .par{
	font-size:3.0rem;
}
.reskilling-flow .flow-item-inn.s-txt span{
	display: inline-block;
}
.flow-txt{
	font-size:1.5rem;
	font-weight: 600;
}
.flow-txt span{
	color:#CF001C;
}
.flow-txt.indent5{
	text-indent: -5em;
  padding-left: 5em;
}
.flow-txt.indent1{
	text-indent: -1em;
  padding-left: 1em;
}
.flyer-note{
	font-size:1.2rem;
	line-height: 1.2
}
.reskilling-flow .flyer-note{
	width:calc(((100% - 100px) / 12) *3);
	margin: 0 0 0 auto;
	padding:5px 10px
}
.reskilling-flow .flyer-note span{
	display: inline-block
}
.flyer-tbl-wrap{
	background: #cacacb;
	border-radius: 10px;
	padding:5px 10px;
	margin: 20px 0
}

@media (max-width: 1080px){

.reskilling-flow .flow-item{
	font-size:1.85vw;
}
.reskilling-flow .flow-item.y{
	padding: 1vw;

}
.reskilling-flow .flow-item-inn{
	background: #fff;
	margin-top: 1vw;
	padding:1vw;
}
.reskilling-flow .flow-item-inn.s-txt{
	font-size:1.6vw;
	padding:3vw 1vw
}
.reskilling-flow .flyer-note span{
	display: inline
}

}



@media (max-width: 768px){
	.flyer-ttl{
		font-size:4.2vw;
		font-weight: 700;
		padding:0.5em;
		margin-top: 40px;
		display: flex;
		flex-direction: column;
		line-height: 1.4;
		align-items: flex-start
	}

	.flyer-txt{
		font-size:3.8vw;
	}

	.reskilling-flow{
		margin:2vw auto 4vw;
		width:92%
	}
	.reskilling-flow .flow-item.p{
		width:100%;
		writing-mode:inherit;
		padding: 0.5em
	}
	.reskilling-flow .flow-item{
		border-radius: 3vw;
		font-size:4vw;
	}
	.reskilling-flow .flow-item:not(:nth-child(n+6)){
		margin-bottom: 8vw
	}
	.reskilling-flow .flow-item:not(:nth-child(n+6))::after{
		position: absolute;
		content:'';
		width: 15vw;
		height: 4vw;
		background-color: #cacacb;
		clip-path: polygon(50% 4vw, 0% 0%, 15vw 0%);
		top:auto;
		bottom:-6vw;
		left:0;
		right:0;
		margin: auto
		}
	.reskilling-flow .flow-item.y{
		width:100%;
		padding:2vw;
	}
	.reskilling-flow .flow-item.y p:first-child{
		min-height: inherit
	}
	.reskilling-flow .flow-item.y p:first-child span{
		font-size:0.8em;
		font-weight: 400;
	}
	.reskilling-flow .flow-item-inn{
		margin-top: 1vw;
		padding:2vw;
		border-radius: 2vw;
	}
	.reskilling-flow .flow-item-inn.s-txt{
		font-size:3.4vw;
		font-weight: 400;
		padding:20px 10px
	}
	
	.reskilling-flow .flow-item-inn .num{
		font-size:10vw;
		line-height: 1;
	}
	.reskilling-flow .flow-item-inn .par{
		font-size:6vw;
	}
	.flow-txt{
		font-size:3.4vw;
	}

	.flyer-note{
		font-size:3.2vw;
		line-height: 1.2
	}
	.reskilling-flow .flyer-note{
		width:100%;
		margin: 0 0 0 auto;
		padding:0.5vw 2vw
	}
	.reskilling-flow .flyer-note span{
		display: inline-block
	}
	.flyer-tbl-wrap{
		background: #cacacb;
		border-radius: 3vw;
		padding:2vw 2vw 4vw;
		margin: 4vw 0
	}
	
}


