@charset "utf-8";

/*    フランチャイズ加盟ページ、フランチャイズLP【FC共通CSS】
-------------------------------------------------------------- */

/* -----------------------------------------------------------
    anchor
-------------------------------------------------------------- */
a.anchor {
    display: block;
    padding-top: 110px!important;
    margin-top: -110px!important;
}
.cmn-ttl-box .ttl-jp {
	line-height: 1.4!important;
}

@media screen and (max-width: 768px) {
	a.anchor {
		display: block;
		padding-top: 50px!important;
		margin-top: -50px!important;
	}
}


/* -----------------------------------------------------------
    fc-movie-area：動画コンテンツ
-------------------------------------------------------------- */
.fc-movie-area {
	width: 100%;
    padding: 120px 0 100px;
    background: url(../img/top-event-bg.jpg) top right / cover;
    position: relative;
}

.fc-movie-block {
    display: flex;
    justify-content: space-between;
	align-items: center;
	gap: 50px;
}

.fc-movie-block .cmn-ttl-box {
	width: calc( 100% - 750px );
}
.fc-movie-block .cmn-ttl-box,
.fc-movie-block .cmn-ttl-box h4 {
	text-align: left!important;
}
.fc-movie-block .cmn-ttl-box .ttl-catch {
    font-size: 3.2rem;
	line-height: 1.6;
    margin: 0 0 0 0;
}

.fc-movie-block img {
	width: 700px;
	object-fit: cover;
	object-position: center;
	transition: all .3s ease;
}
.fc-movie-block a:hover img {
    transform: scale(1.05);
}

/* ふきだし */
.fc-movie-block .movie-box {
	position: relative;
}
.fc-movie-block .movie-box .txt-fukidashi {
	position: absolute;
	top: -50px;
	right: -30px;
	z-index: 2;

	background: #FFDE00;
	color: #1a1a1a;

	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
	padding: 5px 5px;

	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	text-align: center;
	transform: rotate(8deg);
}

.fc-movie-block .movie-box .txt-fukidashi::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%) rotate(8deg);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 14px solid #FFDE00;
}

/* fc-merit-area内の動画コンテンツの場合 */
.fc-merit-area .fc-movie-block.contain {
	width: 100%;
	padding: 50px 50px 0;
}
.fc-merit-area .fc-movie-block.contain .cmn-ttl-box .ttl-catch {
    font-size: 2.5rem;
}

/* fc-case内の動画コンテンツの場合 */
.fc-case .fc-movie-block.contain {
	width: 100%;
	padding: 30px 0 80px;
}
.fc-case .fc-movie-block.contain .cmn-ttl-box .ttl-jp {
	font-size: 3rem;
	color: #0071b8;
	padding-bottom: 20px;
}
.fc-case .fc-movie-block.contain .cmn-ttl-box .ttl-catch {
    font-size: 2.8rem;
}

@media screen and (max-width: 768px) {
	.fc-movie-area {
		padding: 30px 0;
	}
	.fc-movie-block {
		display: block;
	}
	.fc-movie-block .cmn-ttl-box {
		width: 100%;
	}
	.fc-movie-block .cmn-ttl-box,
	.fc-movie-block .cmn-ttl-box h4 {
		text-align: left!important;
	}
	.fc-movie-block .cmn-ttl-box .ttl-catch {
		font-size: 2.2rem;
	}

	.fc-movie-block img {
		width: 100%;
		object-fit: cover;
		object-position: center;
		transition: all .3s ease;

		margin-top: 30px;
	}

	/* ふきだし */
	.fc-movie-block .movie-box .txt-fukidashi {
		position: absolute;
		top: -10px;
		right: -10px;
		font-size: 1.6rem;
		width: 80px;
		height: 80px;
		text-align: center;
		transform: rotate(8deg);
	}

	.fc-movie-block .movie-box .txt-fukidashi::after {
		content: "";
		position: absolute;
		bottom: -8px;
		left: 50%;
		transform: translateX(-50%) rotate(8deg);
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 14px solid #FFDE00;
	}

	/* fc-merit-area内の動画コンテンツの場合 */
	.fc-merit-area .fc-movie-block.contain {
		padding: 30px 20px 0;
	}
	.fc-merit-area .fc-movie-block.contain .cmn-ttl-box .ttl-catch {
		font-size: 1.8rem;
		margin: 0 0 0!important;
	}

	/* fc-case内の動画コンテンツの場合 */
	.fc-case .fc-movie-block.contain {
		padding: 10px 0 50px;
	}
	.fc-case .fc-movie-block.contain .cmn-ttl-box .ttl-jp {
		font-size: 2.2rem;
		padding-bottom: 5px;
		text-align: center
	}
	.fc-case .fc-movie-block.contain .cmn-ttl-box .ttl-catch {
		font-size: 2rem;
	}

}


/* -----------------------------------------------------------
    fc-recommend：おすすめの理由
-------------------------------------------------------------- */
.fc-recommend {
    padding: 40px 0 80px;
	position: relative;
	background: url(../img/course-summary-bg.png) center top / 692px auto repeat;
}
.fc-recommend h4{
	position: relative;
    z-index: 2 ;
}
.fc-recommend .fadein-img.left01 {
	top: 230px;
	left: 10px;
}
.fc-recommend .fadein-img.right01 {
	top: 270px;
	right: 10px;
}

.fc-reco-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 55px 30px;
	margin: 100px 0 0;
}
.fc-reco-flex .fc-reco-box {
	width: 560px;
	box-shadow: 0 0 8px rgba(175, 185, 197, 0.5);
    position: relative;
	padding:  0 0 0;
	background: #fff;
}
.fc-reco-flex .fc-reco-box .fc-reco-ttl-box img {
	width: 90px;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: -30px;
	left: -20px;
}

.fc-reco-flex .fc-reco-box .fc-reco-ttl {
	font-size: 2.5rem;
    font-weight: 600;
    line-height: 1;
    font-feature-settings: "palt";
	text-align: center;
}
.fc-reco-flex .fc-reco-box .fc-reco-ttl span.num {
	font: 5rem / 1 "Roboto";
    font-weight: bold;
	color: #efd2ec;
	padding: 0 20px 0 0;
}

.fc-reco-flex .fc-reco-box .fc-reco-txt {
	background: #F0F9FF;
	color: #0071B8;
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
	font-weight: bold;
	padding: 20px 10px 15px 50px;
	margin: 10px 10px;
	vertical-align: middle;
}

.fc-reco-flex .fc-reco-box .txt-flex {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 20px 20px 30px;
}

.fc-reco-flex .fc-reco-box img.icon-img {
	width: 90px;
	object-fit: contain;
	object-position: center;
	margin: 0 0;
}

.fc-reco-flex .fc-reco-box .fc-reco-sub {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.8;
    font-feature-settings: "palt";
	text-align: left;
}
.fc-reco-flex .fc-reco-box .txt {
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 0 20px 90px;
}

.fc-reco-flex .fc-reco-box .more-read {
	display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
	text-align: center;
	text-decoration: none;
    line-height: 2.5rem;
    letter-spacing: 0.05em;
    color: #26add3;
    border-radius: 2px;
    border: 2px solid #26add3;
    background-color: #fff;
    padding: 8px 10px;
    width: 240px;
    transition: all 0.7s;
	position: absolute;
    z-index: 2;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.fc-reco-flex .fc-reco-box .more-read::before {
    color: #26add3;
    font-size: 1.8rem;
    position: absolute;
    bottom: 7px;
    font-family: FontAwesome;
    content: '\f0d7';
    right: 15px;
    z-index: 50;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
	.fc-recommend {
		padding: 20px 0 40px;
	}
	.fc-recommend .fadein-img.left01 {
		display: none;
	}
	.fc-recommend .fadein-img.right01 {
		width: 45%;
		max-width: 160px;
		top: 123px;
        right: 10px;
	}
	
	.fc-reco-flex {
		flex-direction: column;
		margin: 40px 0 0;
		gap: 40px;
	}

	.fc-reco-flex .fc-reco-box {
		width: 100%;
		padding: 0 0;
	}

	.fc-reco-flex .fc-reco-box .fc-reco-ttl-box {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}

	.fc-reco-flex .fc-reco-box .fc-reco-ttl-box img {
		width: 80px;
		object-fit: cover;
		object-position: center;
		top: -20px;
		left: -10px;
	}

	.fc-reco-flex .fc-reco-box .fc-reco-ttl {
		font-size: 2rem;
		line-height: 1.8;
		text-align: center;
		padding: 0 0 0 30px;
	}
	.fc-reco-flex .fc-reco-box .fc-reco-ttl span.num {
		font-size: 3.8rem;
	}

	.fc-reco-flex .fc-reco-box .txt-flex {
		gap: 10px;
		margin: 10px 20px 10px;
	}
	.fc-reco-flex .fc-reco-box img.icon-img {
		width: 55px;
	}
	
	.fc-reco-flex .fc-reco-box .fc-reco-txt {
		font-size: 1.8rem;
		padding: 10px 5px 10px 30px;
		margin: 10px 10px;
	}

	.fc-reco-flex .fc-reco-box .txt {
		font-size: 1.6rem;
		line-height: 1.5;
		padding: 0 15px 70px;
	}
	
	.fc-reco-flex .fc-reco-box .fc-reco-sub {
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 1.5;
		font-feature-settings: "palt";
		margin: 10px 0 10px;
		text-align: left;
	}

	.fc-reco-flex .fc-reco-box .more-read {
		border-radius: 2px;
		border: 2px solid #26add3;
		background-color: #fff;
		padding: 8px 10px;
		bottom: 15px;
	}
	
}


/* -----------------------------------------------------------
    fc-support-area：未経験でも大丈夫！
-------------------------------------------------------------- */
.fc-support-area{
	position: relative;
}
.fc-support-box {
	width: 1300px;
    margin: 0 auto 50px;
    padding: 80px 0 50px;
    background-color: #f6f6f6;
	background: #f0f9ff;
}
.support-inner {
	position: relative;
}
.support-inner::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: 600px;
    background-color: #ccc;
    position: absolute;
    top: 480px;
    left: 185px;
}
.fc-support-area .cmn-ttl-box .ttl-jp {
	text-align: center;
}
.fc-support-area .cmn-ttl-box .ttl-en {
	text-align: center;
}
.fc-support-area .ttl-catch {
    font-size: 3rem;
    margin: 0 0 80px;
}

.fc-support-flex{
    display: flex;
    justify-content: center;
	gap: 50px;
    margin: 0 0 50px ;
}
.fc-support-flex.box04 {
    margin: 0 ;
}

.fc-support-flex.first{
    margin: 80px 0 50px ;
}

.fc-support-flex .l-box{
    width: 295px;
    height: 295px;
    background-color: #fff;
    border-radius: 50%;
    position: relative;
}

.fc-support-flex .l-box img{
    width: 250px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.fc-support-flex .l-box::before{
    content: "";
    display: inline-block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}
.fc-support-flex.box01 .l-box::before{
    background: url("../img/reason-character01.png") no-repeat 0 0 / contain;
    width: 46px;
    height: 78px;
    top: -50px;
}
.fc-support-flex.box02 .l-box::before{
    background: url("../img/reason-character02.png") no-repeat 0 0 / contain;
    width: 75px;
    height: 50px;
    top: -30px;
}
.fc-support-flex.box03 .l-box::before{
    background: url("../img/reason-character03.png") no-repeat 0 0 / contain;
    width: 108px;
    height: 67px;
    top: -40px;
}
.fc-support-flex.box04 .l-box::before{
    background: url("../img/reason-character04.png") no-repeat 0 0 / contain;
    width: 61px;
    height: 58px;
    top: -20px;
}

.fc-support-flex .r-box {
    width: 770px;
}
.fc-support-flex .r-box h5{
	font-size: 3.5rem;
	line-height: 1.4;
	font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-feature-settings: "palt";
    margin: 0 0 40px;
	padding-left:1em;
	text-indent:-1em;
}

.fc-support-flex .r-box h5 span {
	font-size: 5rem;
	margin: 0 10px 0 0;
	color: #0071b8;
}

.fadein-img.img01{
	display: none;
}
.fadein-img.img02{
	position: absolute;
    top: 50px;
    right: 0;
	z-index: -1;
}
.fadein-img.img03{
	position: absolute;
    top: 50px;
    left: 0;
	z-index: -1;
}

.fc-support-area .fc-support-company-box {
	display: flex;
	gap: 10px;
	justify-content: flex-start;
}
.fc-support-area .fc-support-company-box img {
	width: 180px;
	object-fit: cover;
	object-position: center;
	margin: 0 0 0;
}

@media screen and (max-width: 768px){
	.fc-support-box {
    	width: 100%;
        margin: 0 0 0;
        padding: 40px 0 5px;
	}

	.support-inner::before {
		display: none;
	}
	
	.fc-support-area .ttl-catch {
		font-size: 2.5rem;
		margin: 0 0 0;
	}

	.fc-support-flex.box01 {
		margin: 60px 0 50px;
	}
    .fc-support-flex,
	.fc-support-flex.box02,
	.fc-support-flex.box03,
	.fc-support-flex.box04{
        display: block;
        margin: 0 0 50px;
        position: relative;
    }
    .fc-support-flex.first{
        margin: 70px 0 50px ;
    }

    .fc-support-flex .l-box{
        width: 150px;
        height: 150px;
        position: absolute;
        left: -50px;
    }

    .fc-support-flex .l-box img{
        width: 150px;
        filter: drop-shadow(0 0 5px rgba(221, 221, 221, 1));
    }
	.fc-support-flex.box01 .l-box::before{
		width: 40px;
		top: -50px;
	}
	.fc-support-flex.box02 .l-box::before{
		width: 50px;
		top: -20px;
	}
	.fc-support-flex.box03 .l-box::before{
		width: 80px;
		top: -40px;
	}
	.fc-support-flex.box04 .l-box::before{
		width: 40px;
		top: -20px;
	}
	
    .fc-support-flex .r-box {
        position: relative;
        width: 100%;
        margin: 0;
    }

    .fc-support-flex .r-box h5{
        font: 2.4rem / 1.5 "M PLUS Rounded 1c";
		font-size: 2.2rem;
		line-height: 1.5;
        font-weight: bold;
        margin: 0 -5px 30px 70px;
		padding: 30px 0 0;
        text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
		
		text-shadow: 
			#fff 2px 0px 2px, #fff -2px 0px 2px,
			#fff 0px -2px 2px, #fff -2px 0px 2px,
			#fff 2px 2px 2px, #fff -2px 2px 2px,
			#fff 2px -2px 2px, #fff -2px -2px 2px,
			#fff 1px 2px 2px, #fff -1px 2px 2px,
			#fff 1px -2px 2px, #fff -1px -2px 2px,
			#fff 2px 1px 2px, #fff -2px 1px 2px,
			#fff 2px -1px 2px, #fff -2px -1px 2px,
			#fff 1px 1px 2px, #fff -1px 1px 2px,
			#fff 1px -1px 2px, #fff -1px -1px 2px;
    }
	.fc-support-flex.first .r-box h5{
        padding: 0;
    }
	
    .fadein-img.img01{
		display: none;
    }
	
	.fc-support-area .fc-support-company-box {
		display: flex;
		flex-wrap: wrap;
		gap: 5px;
		justify-content: center;
	}

	.fc-support-area .fc-support-company-box img {
		width: calc( ( 100% - 10px ) / 3 );
		object-fit: cover;
		object-position: center;
	}
}


/* -----------------------------------------------------------
	fc-curriculum：質の高いカリキュラム
-------------------------------------------------------------- */
.fc-curriculum {
	padding: 80px 0;
	margin: 0 0 40px;
}

.fc-curriculum .cmn-ttl-box {
	text-align: center;
}

.fc-cur-table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.4;
	margin: 40px 0;
}

.fc-cur-table img {
	max-width: 150px;
	max-height: 100px;
	margin: auto;
}
.fc-cur-table .img {
	text-align: center;
}

.fc-cur-table th,
.fc-cur-table td {
	border: 1px solid #ccc;
	width: 240px;
	padding: 20px;
	white-space: nowrap;
}

.fc-cur-table th {
	background: #f8f8f8;
}

.fc-cur-table td.course {
	background: #ffcc33;
	color: #fff;
	font-weight: 600;
	text-align: center;
}

.fc-cur-table td.course.style2 {
	background: #e64b68;
}
.fc-cur-table td.course.style3 {
	background: #26add3;
}
.fc-cur-table td.course.style4 {
	background: #8fc31f;
}
.fc-cur-table td.course.style5 {
	background: #ee9f28;
}
.fc-cur-table td.course.style6 {
	background: #fca7ed;
}

@media screen and (max-width: 768px){
	.fc-curriculum {
		padding: 40px 0;
		margin: 0;
	}

	.fc-curriculum .cmn-ttl-box {
		text-align: center;
	}

	.fc-curriculum .scroll-x {
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	
	.fc-curriculum .fc-cur-table {
		margin: 20px 0 20px;
	}

}


/* -----------------------------------------------------------
	fc-movie：フランチャイズパートナーを募集
-------------------------------------------------------------- */
.fc-movie {
	background: url( "../img/course-summary-bg.png" ) center top / 692px auto repeat;
	padding: 70px 0;
	text-align: center;
}
.fc-movie .movie {
	margin: 20px 0 0;
}

.line-icon {
	display: inline-block;
	padding: 8px 20px;
	border:2px solid #0071b8;
	color: #0071b8;
	font-weight: 600;
	border-radius: 30px;
	font-size: 2.0rem;
	margin: 0 auto 30px;
}

@media screen and (max-width: 768px){
	.fc-movie {
		padding: 40px 0;
	}
	.fc-movie .movie {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
		margin: 30px 0 0;
	}
	.fc-movie .movie iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
	}
	
	.fc-movie .txt {
		text-align: left;
	}

	.line-icon {
		font-size: 1.6rem;
		margin: 0 auto 20px;
	}

}


/* -----------------------------------------------------------
    fc-model：副業・本業で導入可能
-------------------------------------------------------------- */
.fc-model {
	margin: 30px 0 0;
	padding: 80px 0 80px;
	background: url(../img/dot-bg03.png) repeat;
}
.fc-model .cmn-ttl-box {
	text-align: center;
}
.fc-model .fc-model-flex {
	display: flex;
	justify-content: space-between;
	/*align-items: center;*/
	gap: 20px;
}
.fc-model .fc-model-flex.model-flex01 {
	flex-direction: row-reverse;
}
.fc-model .fc-model-flex .fc-model-txt {
	/*width: calc( 1000px - 290px );*/
	padding: 70px 0 0 0;
}
.fc-model .fc-model-flex .fc-model-txt .fc-model-sub {
	font-size: 3rem;
    line-height: 1.5;
    margin: 0 0 20px;
	font-weight: 600;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.fc-model .fc-model-flex .fc-model-txt .txt {
	font-size: 1.8rem;
	line-height: 1.8;
}
.fc-model .fc-model-flex .fc-model-img img {
	width: 400px;
	object-fit: cover;
	object-position: center;
}

/*　プログラミング教室開講に必要な物・環境*/
.fc-model .fc-model-flex.model-flex02 {
	margin: 20px 0 0 0;
	position: relative;
	padding: 50px 80px;
	background: #fff;
}
.fc-model .fc-model-flex.model-flex02 .fc-model-sub02 {
	position: absolute;
	top: -15px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	font-size: 2.8rem;
    font-weight: 600;
    font-family: 'M PLUS Rounded 1c', sans-serif;
	color: #0071b8;
}
.fc-model .fc-model-flex.model-flex02 .fc-model-prepare {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px;
}
.fc-model .fc-model-flex.model-flex02 .fc-model-prepare li {
	width: calc( ( 100% - 100px ) / 4 );
}
.fc-model .fc-model-flex.model-flex02 .fc-model-prepare .prepare-txt {
	font-size: 2.2rem;
	font-weight: 600;
    font-family: 'M PLUS Rounded 1c', sans-serif;
	text-align: center;
	color: #0071b8;
}
.fc-model .fc-model-flex.model-flex02 .fc-model-prepare .basic-txt {
	font-size: 1.6rem;
	line-height: 1.5;
}
.fc-model .fc-model-flex.model-flex02 .fc-model-prepare .prepare-img {
	width: 130px;
	margin: 0 auto;
	padding: 10px 0;
}
.fc-model .fc-model-flex.model-flex02 .fc-model-prepare .prepare-img img {
	width: 100%;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 768px) {
	.fc-model {
		margin: 0 0 0;
		padding: 40px 0 40px;
	}
	.fc-model .fc-model-flex {
		display: block;
	}
	.fc-model .fc-model-flex .fc-model-txt {
		width: 100%;
		text-align: left;
		padding: 0 0 0;
	}
	.fc-model .fc-model-flex .fc-model-txt .fc-model-sub {
		font-size: 2.2rem;
		margin: 0 0 10px;
		text-align: center;
	}
	.fc-model .fc-model-flex .fc-model-txt .txt {
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.fc-model .fc-model-flex .fc-model-img {
		text-align: center;
		margin: 0 0 0;
	}
	.fc-model .fc-model-flex .fc-model-img img {
		/*width: 250px;
		object-fit: cover;
		object-position: center;*/
		display: none;
	}
	
	/*　プログラミング教室開講に必要な物・環境*/
	.fc-model .fc-model-flex.model-flex02 {
		margin: 50px 0 0 0;
		padding: 30px 20px;
	}
	.fc-model .fc-model-flex.model-flex02 .fc-model-sub02 {
		top: -20px;
		left: 50%;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
		font-size: 2.2rem;
		line-height: 1.4;
		text-align: center;
		display: inline-block;
		width: 100%;
	}
	.fc-model .fc-model-flex.model-flex02 .fc-model-prepare {
		margin: 30px 0 0;
		gap: 20px 20px;
	}
	.fc-model .fc-model-flex.model-flex02 .fc-model-prepare li {
		width: calc( ( 100% - 20px ) / 2 );
	}
	.fc-model .fc-model-flex.model-flex02 .fc-model-prepare .prepare-txt {
		font-size: 1.8rem;
	}
	.fc-model .fc-model-flex.model-flex02 .fc-model-prepare .prepare-img {
		width: 110px;
		padding: 10px 0;
	}
}


/* -----------------------------------------------------------
	fc-pack：安心信頼の実績
-------------------------------------------------------------- */
.fc-pack {
	background: url( "../img/r-person-bg.png" ) center top / 2500px auto repeat;
	padding: 40px 0 60px;
}

.fc-pack-bg {
	background: #fff;
	max-width: 80%;
	min-width: 1360px;
	margin: auto;
	padding: 80px 80px 30px;
}

.fc-pack .cmn-ttl-box {
	text-align: center;
}

.fc-pack-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.fc-pack-list li {
	width: 525px;
	margin: 0 0 50px;
}

.fc-pack-list li .num {
    font-family: "Roboto";
	font-size: 15rem;
	font-weight: 600;
	color: #f1f1f1;
	text-align: center;
}

.fc-pack-list li .img {
	margin: 50px 0 0;
}

.fc-pack-list li .img img {
	width: 100%;
}

.fc-pack-list li .ttl-catch {
	font-size: 2.3rem;
	position: relative;
	top: -90px;
	line-height: 1.4;
	margin: 0 0 -90px;
} 

@media screen and (max-width: 768px){
	.fc-pack {
		padding: 30px 20px;
	}

	.fc-pack .cmn-ttl-box .ttl-en {
		padding: 5px 0 0 0;
		margin: 0 0 -10px;
	}
	
	.fc-pack-bg {
		max-width: 100%;
		min-width: 100%;
		padding: 40px 20px 40px;
	}

	.fc-pack-list {
		display: block;
	}

	.fc-pack-list li {
		width: 100%;
		margin: 0;
	}

	.fc-pack-list li .num {
		font-size: 10rem;
		color: #ededed;
		text-align: right;
	}

	.fc-pack-list li .img {
		margin: 20px 0 0;
	}

	.fc-pack-list li .ttl-catch {
		font-size: 2.2rem;
		text-align: left;
		top: -60px;
		line-height: 1.4;
		margin: 0 0 -60px;
	} 	

}


/* -----------------------------------------------------------
	fc-case：フランチャイズ導入成功事例
-------------------------------------------------------------- */
.fc-case {
	background: url(../img/top-event-bg.jpg) top right / cover;
	padding: 80px 0;
	position: relative;
}

.fc-case .inner {
	position: relative;
}

.fc-case .cmn-ttl-box {
	text-align: center;
}

.fc-case .ttl-catch.case-top {
	text-align: center;
}
.fc-case .ttl-catch {
	font-size: 3rem;
	text-align: left;
	padding: 0 0 0 0;
}
.fc-case .case-title .ttl-catch {
	text-align: left!important;
}

.fc-case .fc-case-box02 {
	margin: 100px 0 0 0;
}
.fc-case .fc-case-box .case-flex {
	display: flex;
	gap: 0 50px;
	align-items: flex-start;
	margin: 0 0 30px 0;
}

.faqbox {
	margin: 0 0 20px;
	background: #fff;
	padding: 30px;
}

.faqbox .q {
	font-size: 2.2rem;
	margin: 0 0 15px 0;
	line-height: 1.5;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: bold;
}

.faqbox .q span {
	background: #ed859a;
	padding: 1px 10px 5px 10px;
	color: #fff;
	border-radius: 50%;
	margin: 0 5px 0 0;
}

.faqbox .txt {
	margin: 0 0 0 45px;
}

.fc-case .name {
	font-size: 1.8rem;
	font-weight: 600;
	margin: 0 0 20px 0;
}

.fc-case .photo {
	text-align: center;
}
.fc-case .photo img {
	margin: 0;
}

@media screen and (max-width: 768px){
	.fc-case {
		padding: 20px 0 40px;
	}

	.fc-case .cmn-ttl-box {
		text-align: center;
	}

	.fc-case .cmn-ttl-box .ttl-jp{
		line-height: 1.4;
	}

	.fc-case .ttl-catch {
		font-size: 2.2rem;
		padding: 0;
	}
	
	.fc-case .fc-case-box02 {
		margin: 50px 0 0 0;
	}
	.fc-case .fc-case-box .case-flex {
		display: block;
		margin: 0 0 30px 0;
	}

	.faqbox {
		padding: 20px 10px;
	}

	.faqbox .q {
		font-size: 1.8rem;
		margin: 0 0 15px 0;
		padding-left:38px;
		text-indent:-38px;
		line-height: 1.4;
		font-weight: 600;
	}

	.faqbox .q span {
		padding: 1px 8px 3px 8px;
	}

	.faqbox .txt {
		margin: 0 0 0 10px;
	}

	.fc-case .name {
		font-size: 1.6rem;
		font-weight: 600;
		margin: 0 0 20px;
		text-align: center;
	}

	.fc-case .photo {
		padding: 0 0 20px;
	}

	.fc-case .photo img {
		position: static;
		top: auto;
		left: auto;
		margin: 0 auto;
		width: 120px;
		text-align: center;
	}

}


/* -----------------------------------------------------------
    fc-compare-area：他のプログラミング教室との比較
-------------------------------------------------------------- */
.fc-compare-area {
	margin: 0 0;
    padding: 80px 0 80px;
	background: #fff;
}

.comparison-box {
  width: 100%;
  margin: 0 0 ;
}

.comparison-box table {
  display: flex;
  justify-content:center;
  border-collapse: collapse;
  border-spacing: 0;
  gap: 0;
  margin: 30px 0 5px 0;
}

.comparison-box .table-contents td {
	width: 330px;
  	text-align: center;
}

.comparison-box .other-table-contents td {
  	width: 220px;
	text-align: center;
}

.comparison-box .other-table-contents.first-table {
	width: 180px;
	text-align: center;
}

.table-contents {
  outline: 5px solid #0071B8;
  outline-offset: -5px;
}

.table-contents .table-title {
  padding: 10px;
  background: #0071B8;
  color: #fff;
  height: 70px;
  line-height: 1.5;
  font-size: 2rem;
}

.other-table-contents .table-title {
  padding: 10px;
  background: #fff;
  height: 70px;
  font-size: 2rem;
}

.table-contents td, .other-table-contents td {
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 10px;
  margin: 0 0;
  background: #fff;
  height: 78px;
  border: 2px solid #C9E7F1;
}

.table-contents td.height, .other-table-contents td.height {
	height: 127px;
}

.other-table-contents:last-of-type td {
	border-left: none;
}

.table-contents td {
	font-weight: bold;
	background: #f0f9ff;
}

.other-table-contents.first-table td {
  background: #fff;
	color: #0071B8;
	font-weight: bold;
}

.other-table-contents.table-a td {
	border-right: none;
}

.comparison-box .maru01::before {
	content: "○";
	font-size: 2.3rem;
	line-height: 1;
	font-weight: bold;
}
.comparison-box .maru02::before {
	content: "◎";
	font-size: 2.7rem;
	line-height: 1;
	color: #e60012;
}
.comparison-box .sankaku::before {
	content: "△";
	font-size: 2.3rem;
	line-height: 1;
}
.comparison-box .batsu::before {
	content: "×";
	font-size: 2.3rem;
	line-height: 1;
}
.comparison-box .none::before {
	content: "ー";
	font-size: 2.3rem;
	line-height: 1;
}

.comparison-box span.after-support {
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	background: #0071B8;
	padding: 3px 10px;
	border-radius: 50px;
	display: inline-block;
	margin: 0 0 10px;
}

@media screen and (max-width: 667px) {
	.fc-compare-area {
		margin: 0 0;
        padding: 40px 20px 40px;
	}
	
	.other-table-contents td, .table-contents td {
      display: table-cell;
      padding: 5px 10px;
    }

	.table-wrap {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
    }

    .comparison-box table {
        display: flex;
		justify-content: flex-start;
        gap: 0 0;
        margin: 20px 0 10px;
		width: 1080px;
    }

	.table-contents .table-title {
	    font-size: 1.8rem;
		height: 60px;
	}

	.other-table-contents .table-title {
	    font-size: 1.8rem;
		height: 60px;
	}

	.comparison-box .table-contents td {
		width: 200px;
	}

	.comparison-box .other-table-contents td {
		width: 220px;
	}

	.table-contents td, .other-table-contents td {
	  	font-size: 1.6rem;
	  	height: 78px;
	}

	.table-contents td.height, .other-table-contents td.height {
		height: 140px;
	}

	.comparison-box .maru01::before {
		font-size: 1.8rem;
	}
	.comparison-box .maru02::before {
		font-size: 1.8rem;
	}
	.comparison-box .sankaku::before {
		font-size: 1.8rem;
	}
	.comparison-box .batsu::before {
		font-size: 1.8rem;
	}
	.comparison-box .none::before {
		font-size: 1.8rem;
	}
	
	.comparison-box span.after-support {
		font-size: 1rem;
		font-weight: bold;
		padding: 3px 8px;
		border-radius: 20px;
		display: inline-block;
		margin: 0 0 5px;
	}

}


/* -----------------------------------------------------------
    fc-flow-area：加盟から生徒募集までの流れ
-------------------------------------------------------------- */
.fc-flow-area {
	margin: 0 0;
	padding: 80px 0 280px;
	background: #f0f9ff;
}

.fc-flow-area .fc-flow-box ul {
	display: flex;
	margin: 50px 0 0 0;
}

.fc-flow-area .fc-flow-box li {
	position: relative;
	width: 25%;
	height: 80px;
	color: #ccebff;
	padding: 20px 20px 30px 60px;
	background: #e2eff8;
}
.fc-flow-area .fc-flow-box li:nth-child(1){
	padding: 20px 10px 30px 30px;
	background: #b8e4ff;
}
.fc-flow-area .fc-flow-box li:nth-child(2n) {
	background: #a4dcff;
}
.fc-flow-area .fc-flow-box li:nth-child(3){
	background: #91d4ff;
	color: #FFF
}
.fc-flow-area .fc-flow-box li:nth-child(4){
	background: #7dcdff;
	color: #FFF
}

.fc-flow-area .fc-flow-box .sankaku {
	position: absolute;
	bottom: 0;
	right: -40px;
	z-index: 1;
  	width: 0;
    height: 0;
  	border-top: 40px solid transparent;
  	border-bottom: 39px solid transparent;
}
.fc-flow-area .fc-flow-box .sankaku.co-01 {
  	border-left: 40px solid #b8e4ff;
}
.fc-flow-area .fc-flow-box .sankaku.co-02 {
  	border-left: 40px solid #a4dcff;
}
.fc-flow-area .fc-flow-box .sankaku.co-03 {
  	border-left: 40px solid #91d4ff;
}
.fc-flow-area .fc-flow-box .sankaku.co-04 {
  	border-left: 40px solid #7dcdff;
}

.fc-flow-area .fc-flow-box .fc-flow-step {
	font-size: 2.4rem;
	line-height: 1;
	color: #0071b8;
	text-align: center;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.fc-flow-area .fc-flow-box .flow-detail {
	display: block;
	position: absolute;
	top: 60px;
	padding: 30px 20px;
	background: #fff;
	box-shadow: 0 0 8px rgba(175, 185, 197, 0.5);
}

.fc-flow-area .fc-flow-box .flow-detail p.flow-sub {
	color: #0071b8;
	font-size: 2rem;
	font-weight: bold;
	padding: 0 0 15px 0;
	text-align: center;
}

.fc-flow-area .fc-flow-box .flow-detail p.txt {
	color: #333;
	font-size: 1.6rem;
	line-height: 1.5;
}

@media screen and (max-width: 667px){
	.fc-flow-area {
		margin: 0 0;
		padding: 40px 20px 40px;
		background: #f0f9ff;
	}

	.fc-flow-area .fc-flow-box {
		margin: 0 0 0;
	}

	.fc-flow-area .fc-flow-box .sec_title {
		text-align: center;
		position: static;
		display: block;
		padding: 0 0 30px;
	}

	.fc-flow-area .fc-flow-box .sec_title .ja_title {
		display: block;
		padding: 4px 0 0;
	}

	.fc-flow-area .fc-flow-box ul {
		display: block;
		margin: 30px 0 0 0;
	}

	.fc-flow-area .fc-flow-box li {
		width: 100%;
		height: auto;
		padding: 20px 15px 20px 15px;
	}
	.fc-flow-area .fc-flow-box li:nth-child(1){
		padding: 20px 15px 20px 15px;
	}

	.fc-flow-area .fc-flow-box .sankaku {
		position: absolute;
		bottom: -10px;
		left: 0;
		right: 0;
		margin: auto;
		border-bottom: none;
	}
	.fc-flow-area .fc-flow-box .sankaku.co-01 {
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid #b8e4ff;
	}
	.fc-flow-area .fc-flow-box .sankaku.co-02 {
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid #a4dcff;
	}
	.fc-flow-area .fc-flow-box .sankaku.co-03 {
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid #91d4ff;
	}
	.fc-flow-area .fc-flow-box .sankaku.co-04 {
		border: none;
	}
	
	.fc-flow-area .fc-flow-box .fc-flow-step {
		font-size: 2rem;
	}
	
	.fc-flow-area .fc-flow-box .flow-detail {
		position: static;
		padding: 20px 15px;
		margin: 10px 0 0;
		background: #fff;
		box-shadow: none;
	}

	.fc-flow-area .fc-flow-box .flow-detail p.flow-sub {
		font-size: 1.8rem;
		padding: 0 0 15px 0;
	}

	.fc-flow-area .fc-flow-box .flow-detail p.txt {
		font-size: 1.6rem;
		line-height: 1.5;
	}
}


/* -----------------------------------------------------------
    よくある質問：fc-faq-area
-------------------------------------------------------------- */
.fc-faq-area {
	margin: 0 0;
	padding: 80px 0 0;
}

.fc-faq-area .rec-faq-box {
	padding: 30px 0 0 0;
}

.fc-faq-area .rec-faq-ttl {
    font-size: 2.0rem;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
}
.fc-faq-area .rec-faq-ttl::before {
    content: "Q";
    color: #4869af;
    font-size: 2.2rem;
    font-weight: 500;
    position: absolute;
    left: 20px;
    top: 28px;
    transition: 0.5s;
    font-family: 'Roboto';
}

.fc-faq-area .tab-content p {
    padding: 0 30px 15px 60px;
	font-size: 1.8rem;
	line-height: 1.5;
}
.fc-faq-area .tab-content p:last-of-type {
	padding: 0 30px 30px 60px;
}

.fc-faq-area .tab-content p.rec-faq-txt01 {
	position: relative;
}
.fc-faq-area .tab-content p.rec-faq-txt01::before {
    content: "A";
    color: #e95d77;
    font-size: 2.2rem;
    font-weight: 500;
    position: absolute;
    left: 20px;
    top: 0px;
    transition: 0.5s;
    font-family: 'Roboto';
}

.fc-faq-area .tab-content p span.bold {
	font-weight: bold;
}

/* Acordion Faq */
.fc-faq-area .tab {
	position: relative;
	margin-bottom: 1px;
	width: 100%;
	color: #333;
	overflow: hidden;
	margin: 0 0 30px;
	background: #f0f9ff;
}

.fc-faq-area input {
  	position: absolute;
  	opacity: 0;
  	z-index: -1;
}

.fc-faq-area label {
  	position: relative;
  	display: block;
  	cursor: pointer;
	font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    padding: 30px 0 30px 50px;
	color: #333;
}

.fc-faq-area .tab-content {
  	max-height: 0;
  	overflow: hidden;
  	-webkit-transition: max-height .35s;
  	-o-transition: max-height .35s;
  	transition: max-height .35s;
  	color: #000;
}

/* :checked */
.fc-faq-area input:checked ~ .tab-content {
  	max-height: 100%;
}

/* Icon */
.fc-faq-area label::after {
  	position: absolute;
  	right: 0;
  	top: 10px;
  	display: block;
  	width: 3em;
  	height: 3em;
  	line-height: 3;
  	text-align: center;
  	-webkit-transition: all .35s;
  	-o-transition: all .35s;
  	transition: all .35s;
}
.fc-faq-area input[type=checkbox] + label::after {
  	content: "+";
}
.fc-faq-area input[type=radio] + label::after {
  	content: "\25BC";
}
.fc-faq-area input[type=checkbox]:checked + label::after {
  	transform: rotate(315deg);
}
.fc-faq-area input[type=radio]:checked + label::after {
  	transform: rotateX(180deg);
}

@media screen and (max-width: 667px) {
	.fc-faq-area {
		margin: 0 0 0;
		padding: 40px 20px 0;
	}

	.fc-faq-area .rec-faq-ttl {
		font-size: 1.8rem;
	}
	.fc-faq-area .rec-faq-ttl::before {
		font-size: 2.2rem;
		left: 15px;
		top: 12px;
	}

	.fc-faq-area .tab-content p {
		padding: 5px 15px 15px 45px;
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.fc-faq-area .tab-content p:last-of-type {
		padding: 0 15px 15px 45px;
	}
	.fc-faq-area .tab-content p.rec-faq-txt01::before {
		font-size: 2.2rem;
		left: 15px;
		top: 0;
	}
	
	.fc-faq-area label {
		font-size: 1.8rem;
		padding: 15px 45px 15px 45px;
	}
	.fc-faq-area label::after {
		top: 0;
	}

}


/* -----------------------------------------------------------
	メッセージ：fc-message
-------------------------------------------------------------- */
.fc-message {
	padding: 80px 0 20px;
}

.fc-message .inner {
	width: 1000px;
}

.fc-message .cmn-ttl-box {
	text-align: center;
}

.fc-message .cvbtn {
	line-height: 1.5;
	padding: 40px 0 0;
}

.fc-message .cvbtn a {
    width: 650px;
	font-size: 2rem;
	padding: 30px 20px;
	font-weight: 500;
}

.f-contact {
	display: none;
}

@media screen and (max-width: 768px){
	.fc-message {
		padding: 20px 0 0;
	}
	
	.fc-message .inner {
		width: 100%;
	}

	.fc-message .cvbtn {
		padding: 30px 0 0;
	}

	.fc-message .cvbtn a {
		width: 100%;
		font-size: 1.8rem;
		padding: 20px 20px;
	}

}


/* -----------------------------------------------------------
    f-contact fc：お問い合わせ
-------------------------------------------------------------- */
.f-contact.fc {
	display: block;
}

.cvbtn.cvbtn-fc a {
	width: 385px;
	line-height: 1.5;
}
.f-contact-content .f-cv-flex {
    align-items: center;
}

@media screen and (max-width: 667px) {
	.cvbtn.cvbtn-fc a {
		width: 100%;
		padding: 15px 5px;
	}
	
}