@charset "utf-8";
/* CSS Document */

/*

	:xx
	:ffp-p
	:about
	:voice
	:data
	:alumni
	:faq
	:xx

*/


/* :ffp-p
----------------------------------------------- */

/*
===== common =====
*/

@media (max-width: 767px) {

.text-left-sp{
	text-align:left!important;
}

}

.ffp-p .pagetitle,
.ffp-form-p .pagetitle{
	background-image:url(../img/ffp/pagetitle.jpg);
	margin-bottom:0;
}


@media (min-width: 768px) {

.ffp-navi{
	background:#046460;
	margin-bottom:15px;
}

.ffp-navi ul{
	display:table;
	width:100%;

}

.ffp-navi li{
	border-right:1px solid #fff;
	display:table-cell;
}
.ffp-navi li:last-child{
	border-right:0;
}


}
@media (max-width: 767px) {

.ffp-navi{
	margin:15px 0;
}

.ffp-navi .name{
	font-weight:bold;
	margin-bottom:5px;
}
.ffp-navi ul{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

	-webkit-justify-content: space-between;
	justify-content:         space-between;

}
.ffp-navi li{
	margin-bottom:5px;
	width:32%;
}


}



.ffp-navi a{
	text-decoration:none;
	color:#fff;
	background:#046460;
	position:relative;
}

@media (min-width: 768px) {

.ffp-navi li{
	vertical-align:middle;
}

.ffp-navi a{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
	-webkit-align-items: center;
	align-items:         center;

	-webkit-justify-content: center;
	justify-content:         center;
	height:65px;
	padding:5px 10px;
	vertical-align:middle;
	line-height:1.2;
	text-align:center;
}

}

@media (min-width: 1200px) {

.ffp-navi br.narrow{
	display:none;
}



}

@media (max-width: 767px) {

.ffp-navi a{
	text-align:center;
	line-height:1.3;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

	-webkit-align-items: center;
	align-items:         center;

	-webkit-justify-content: center;
	justify-content:         center;
	height:65px;
	padding:0 20px 0 10px;
	font-size:93%;

}
.ffp-navi a:before{
	border:4px solid transparent;
	border-bottom:4px solid #fff;

	content:"";
	position:absolute;
	right:3px;
	top:50%;
	margin-top:-4px;

	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);

}

.ffp-navi br.narrow{
	display:none;
}

}


.ffp-navi a:hover{
	background:#428a87;
}
.ffp-navi .on a{
	background:#034b48;
}


/* ffp-navi-wrap */

.ffp-navi-wrap{
}

@media (max-width: 767px) {

.ffp-navi-wrap{
	position:relative;
	background:#eaf8f8;
	margin-bottom:15px;
}
.ffp-navi-wrap.open{
}


.ffp-navi-wrap .sp-title{
	color:#fff;
	background:#046460;
	padding:15px;
	font-weight:bold;
	font-size:18px;
}

.ffp-navi-wrap .sp-button{
	position:absolute;
	top:7px;
	right:15px;
	background:#fff;
	cursor:pointer;
	font-size:9px;
	text-align:center;
	padding:5px;
	border-radius: 5px;
	line-height:1.4;

}
.ffp-navi-wrap .sp-button span{
	color:#23AFA8;
	font-size:12px;
	display:block;
	font-weight:bold;
	line-height:20px;
	height:20px;
	overflow:hidden;
}
.ffp-navi-wrap .sp-button span:before{
	content:"FFP";
}
.ffp-navi-wrap.open .sp-button span:before{
	content:"×";
	font-size:20px;
}


.ffp-navi-wrap .ffp-navi{
	display:none;
}

.ffp-navi-wrap .close-button{
	background:#767676;
	color:#fff;
	text-align:center;
	cursor:pointer;
	line-height:50px;
	margin-top:15px;
}
.ffp-navi-wrap .close-button:before{
	content:"×";
	font-size:30px;
	display:inline-block;
	vertical-align:middle;
	margin-right:10px;
}



}


/* section */

.ffp-section{
	padding:60px 0;
}
.section-bg-green{
	background:#EAF8F7;
}


@media (max-width: 767px) {

.ffp-section{
	padding:45px 0;
}


}


/*
===== intro =====
*/

#ffp-index .intro{
	padding-top:0;
}

#ffp-index .intro .logo{
	text-align:center;
	margin-bottom:30px;
}

/*
===== program =====
*/

.program-lineup .item{
}

.link-box{
	margin-bottom:30px;
}

.link-box a{
	text-decoration:none;
	border:2px solid #a4dedb;
	position:relative;
	padding:30px;
	border-radius: 5px;
	display:block;
	background:#fff;
}

.alumni-lineup .inner .link-box a,
.row-eq-height .link-box a{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
	height:100%;
}

.link-box a:before{
	background:url(../img/parts/project-arrow.png) no-repeat;
	width:6px;
	height:6px;
	content:"";
	background-size:contain;
	position:absolute;
	right:10px;
	bottom:10px;
	
}
@media (min-width: 768px) {

.program-lineup .item a{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

	-webkit-justify-content: space-between;
	justify-content:         space-between;

}
.program-lineup .item .img{
	width:248px;
}
.program-lineup .item .text{
	width: calc(100% - 270px);
}

}


.program-lineup .item .img{
	position:relative;
}



@media (max-width: 767px) {

.link-box{
	margin-bottom:20px;
}
.program-lineup .item .img{
	margin-bottom:10px;
}


.link-box a{
	padding:15px;
}


}


.program-lineup .subtitle{
	margin-bottom:5px;
	font-weight:bold;
}

.program-lineup .title{
	color:#00465E;
	font-size:20px;
	line-height:1.3;
	margin-bottom:10px;
	font-weight:bold;
}


@media (max-width: 767px) {

.program-lineup .subtitle{
}

.program-lineup .title{
	font-size:120%;
}


}


.program-lineup th,
.program-lineup td{
	padding:0 5px 5px 0;
	vertical-align:top;
}

.program-lineup th{
	white-space:nowrap;
	font-weight:normal;
}


/*
===== voice =====
*/

.ffp-section-voice .page-lead{
	max-width:580px;
	margin-left:auto;
	margin-right:auto;
}


.ffp-section-voice .inner{
	max-width:640px;
	margin-left:auto;
	margin-right:auto;
}


.ffp-section-voice .item a{
	text-decoration:none;
	display:block;
}
.ffp-section-voice .item .img{
	margin-bottom:15px;
	text-align:center;
}
.ffp-section-voice .item .img span{
	display:block;
	margin:0 auto;
	max-width:278px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;

}
.ffp-section-voice .item .img img{
	max-width:100%;
	height:auto;
}


.ffp-section-voice .item a h3{
	text-decoration:underline;
	font-size:100%;
}
.ffp-section-voice .item a:hover h3{
	text-decoration:none;
}

.ffp-section-voice .item .gakka{
	font-size:84%;
}


/*
===== ffp-sectionーalumni =====
*/

.ffp-sectionーalumni{
	padding-top:0;
}
.ffp-sectionーalumni h2{
	color:#04645F;
	font-size:20px;
	background:url(../img/ffp/index/alumni-title.jpg) center no-repeat;
	line-height:140px;
	background-size:cover;
	text-align:center;
	margin-bottom:25px;

}


.faq-group2{
	margin-bottom:30px;
}

.faq-group2 .item{
	margin-bottom:20px;
	background:#fff;

}

.faq-group2 .item .head{
	position:relative;
	cursor:pointer;
	padding:10px 35px 10px 50px;
	background:#c8e2e1;
}

.faq-group2 .item .head:before{
	background: url(../img/ffp/index/faq-q.png) no-repeat;
	width:21px;
	height:21px;
	content:"";
	background-size:contain;
	position:absolute;
	left:20px;
	top:12px;
}


.faq-group2 .item .head:after{
	background: url(../img/ffp/index/faq-arrow.png) no-repeat;
	width:13px;
	height:8px;
	content:"";
	background-size:contain;

	position:absolute;
	right:25px;
	top:19px;
}



.faq-group2 .item.open .head:after{
	-ms-transform: rotate(180deg) ;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

@media (max-width: 767px) {

.faq-group2 .item .head:after{
	right:10px;
}


}


.faq-group2 .item .body{
	padding:20px 20px 20px 50px;
	
	display:none;
	position:relative;
}
.faq-group2 .item .body:before{
	background: url(../img/ffp/index/faq-a.png) no-repeat;
	width:21px;
	height:21px;
	content:"";
	background-size:contain;
	position:absolute;
	left:20px;
}

.faq-group2 .item .body p:last-child{
	margin-bottom:0;
}

@media (max-width: 767px) {

.faq-group2 .item .body{
}


}

/*
===== webentry =====
*/

.bg-light-green{
	background:#f1f9fb;
}

/*
===== fixed-button =====
*/

@media (min-width: 768px) {

.ffp-fixed-button{
	max-width:1180px;
	margin:0 auto;
	text-align:right;
}
.ffp-fixed-button .inner{
	width:125px;
	margin-left:auto;
}

.ffp-fixed-button a{
	position:fixed;
	bottom:10px;
	background:#eb6619;
	width:125px;
	height:125px;
	border-radius: 100%;
	text-decoration:none;
	color:#fff;
	text-align:center;
	border:2px solid #eb6619;
	display:block;
	padding-top:10px;
	z-index:50;


}
.ffp-fixed-button a:hover{
	background:#fff;
	color:#eb6619;
}

.ffp-fixed-button .head{
	font-weight:bold;
	line-height:1.4;
}
.ffp-fixed-button .head:before{
	background:url(../img/ffp/index/fixed-entry.png) center no-repeat;
	width:31px;
	height:31px;
	background-size:contain;

	display:block;
	margin:0px auto 3px auto;
	content:"";
}
.ffp-fixed-button a:hover .head:before{
	background-image:url(../img/ffp/index/fixed-entry-o.png);
}

.ffp-fixed-button .body{
	line-height:1.4;
	font-size:10px;
}



}
@media (max-width: 767px) {


.ffp-fixed-button a{
	position:fixed;
	bottom:0px;
	left:0;
	width:100%;
	background:#eb6619;
	border:2px solid #eb6619;
	padding:5px;
	text-decoration:none;
	color:#fff;
	text-align:center;
	display:block;
	z-index:50;
}
.ffp-fixed-button a:hover{
	background:#fff;
	color:#eb6619;
}

.ffp-fixed-button a:before{
	border:4px solid transparent;
	border-bottom:4px solid #fff;

	content:"";
	position:absolute;
	right:15px;
	top:50%;
	margin-top:-4px;

	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);

}
.ffp-fixed-button .body{
	line-height:1.4;
	font-size:10px;
}



}



/* :about
----------------------------------------------- */

.ffp-pc-title{
	color:#fff;
	background:#046460;
	padding:10px 30px;
	font-weight:bold;
	font-size:30px;
}

.ffp-pc-title .subtitle{
	font-weight:normal;
	font-size:15px;
	margin-left:10px;
}



/*
===== intro =====
*/


#ffp-about{
}
#ffp-about .intro{
	padding-top:20px;
}

#ffp-about .intro .logo{
	text-align:center;
	margin-bottom:30px;
}


@media (min-width: 768px) {

#ffp-about .intro .r{
    -webkit-flex-direction: row-reverse;
    flex-direction:         row-reverse;


}

}


/*
===== feature =====
*/


.ffp-section-feature .group{
	padding:30px;
	margin-bottom:30px;
	border-radius: 5px;
	background:url(../img/ffp/about/feature/1.png) 99% center no-repeat #fff;
	background-size:100px auto;
	min-height:150px;

}
.ffp-section-feature .group2{background-image:url(../img/ffp/about/feature/2.png);}
.ffp-section-feature .group3{background-image:url(../img/ffp/about/feature/3.png);}
.ffp-section-feature .group4{background-image:url(../img/ffp/about/feature/4.png);}


.ffp-section-feature .group h3{
	font-size:100%;
	margin-bottom:10px;
	background:url(../img/ffp/about/feature/arrow.png) left no-repeat;
	background-size:6px 10px;
	padding-left:13px;

}
.ffp-section-feature .group p:last-child{
	margin-bottom:0;
}

@media (max-width: 767px) {

.ffp-section-feature .group{
	padding:15px;
}

}


.ffp-section-feature .movie{
	text-align:center;
	padding-top:10px;
}
.ffp-section-feature .movie h3{
	font-size:100%;
	color:#04645F;
	margin-bottom:10px;
	line-height:1.5;
}

@media (max-width: 767px) {

.ffp-section-feature .movie .inner{
	position:relative;
	padding-top:60%;
}
.ffp-section-feature .movie iframe{
	width:100%;
	top:0;
	left:0;
	height:100%;
	position:absolute;
}

}


/*
===== douki =====
*/

.ffp-section-douki{
}
.douki-group{
	margin-bottom:30px;
	border-width:2px;
}

.underline{
	border-bottom:2px solid #5fc6c2;
	display:inline-block;
	padding-bottom:5px;
}

.douki-group h3{
	font-size:100%;
	margin-bottom:5px;
}


.douki-group .gakka{
	text-align:right;
}

.ffp-section-douki .hidden-area{
	display:none;
}


/*
===== ffp-bottom-navi =====
*/

.ffp-bottom-navi a{
	display:block;
	text-align:center;
	background: url(../img/ffp/about/bottom-navi/voice.png) center no-repeat #23aea7;
	background-size:45px auto;

	border-radius: 5px;

    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;

	-webkit-justify-content: center;
	justify-content:         center;
	-webkit-align-items: center;
	align-items:         center;
	height:65px;
	text-decoration:none;
	position:relative;
	color:#fff;


}

.ffp-bottom-navi .data a{background-image:url(../img/ffp/about/bottom-navi/data.png);}
.ffp-bottom-navi .alumni a{background-image:url(../img/ffp/about/bottom-navi/alumni.png);}
.ffp-bottom-navi .faq a{background-image:url(../img/ffp/about/bottom-navi/faq.png);}

.ffp-bottom-navi a:before{
	background:url(../img/ffp/about/bottom-navi/arrow.png) center no-repeat;
	background-size:contain;
	width:6px;
	height:8px;
	content:"";
	position:absolute;
	right:10px;
	top:50%;
	margin-top:-4px;

}



/* :voice
----------------------------------------------- */

.ffp-green-section{
	padding-bottom:60px;
}
.ffp-green-section .section-inner{
	background:#f1f9fb;
	padding:30px 40px;
}

@media (max-width: 767px) {

.ffp-green-section{
	padding-bottom:45px;
}
.ffp-green-section .container{
	padding-left:0;
	padding-right:0;
}
.ffp-green-section .section-inner{
	padding:30px;
}



}

/*
===== index =====
*/

.ffp-text-title{
	background:#cee4e2;
	font-size:20px;
	padding:5px 10px 5px 30px;
	position:relative;
	margin-bottom:10px;
}
.ffp-text-title:before{
	position:absolute;
	background:url(../img/ffp/voice/arrow.png) center no-repeat;
	background-size:contain;
	width:8px;
	height:10px;
	content:"";
	position:absolute;
	left:15px;
	top:50%;
	margin-top:-5px;

}

.ffp-text-title2{
	font-size:20px;
	margin-bottom:15px;
	padding-left:15px;
	position:relative;
}

.ffp-text-title2:before{
	content:"";
	background:#37b8b3;
	position:absolute;
	left:0px;
	top:2px;
	width:5px;
	height:1em;
}



.ffp-section-voice-index .voice-lineup .item a{
	padding:15px;
}

.ffp-section-voice-index .voice-lineup .item .img span{
	display:block;
	text-align:center;
	margin:0 auto;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;

}

.ffp-section-voice-index .voice-lineup .item .text{
	padding-left:0;
}

.ffp-section-voice-index .voice-lineup .item .title{
	font-weight:bold;
	margin-bottom:10px;
	font-size:100%;
}


/*
===== detail =====
*/

.ffp-section-voice-detail .voice-detail{
	border:2px solid #a4dedb;
	position:relative;
	padding:30px;
	border-radius: 5px;
	background:#fff;
	margin-bottom:30px;

}

@media (max-width: 767px) {

.ffp-section-voice-detail .voice-detail{
	padding:15px;
}


}


.ffp-section-voice-detail .voice-detail .person{
	margin-bottom:20px;
}

.ffp-section-voice-detail .voice-detail .person .title{
	font-weight:bold;
	font-size:20px;
}

.ffp-section-voice-detail .voice-detail .person .data{
	font-size:86%;
}

.ffp-section-voice-detail .voice-detail .person .name{
	font-weight:bold;
}

@media (max-width: 767px) {

.ffp-section-voice-detail .voice-detail .person .year{
	display:block;
}

}
	
.ffp-section-voice-detail .voice-detail .body h4{
	background:#ededed;
	font-size:100%;
	margin-bottom:5px;
	padding:5px;
	margin-top:30px;
}
.ffp-section-voice-detail .voice-detail .body h4:first-child{
	margin-top:0;
}






/* :data
----------------------------------------------- */

.ffp-section-data{
}


.ffp-section-data .group{
	margin-bottom:60px;
}
.ffp-section-data .group h3{
	margin-bottom:20px;
}

.ffp-section-data .two{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

	-webkit-justify-content: space-between;
	justify-content:         space-between;

}
.ffp-section-data .subgroup{
	width:70%;
	margin-left:auto;
	margin-right:auto;
}


.ffp-section-data .two .subgroup{
	width:49%;
}

.ffp-section-data .caption{
	margin-top:10px;
}


@media (min-width: 769px) {

.chartjs-uchiwake-wrap{
	height:600px;
}

}

@media (max-width: 767px) {

.ffp-section-data .group{
	margin-bottom:40px;
}

.ffp-section-data .subgroup{
	width:100%!important;
	margin-bottom:30px;
}
.ffp-section-data .subgroup:last-child{
	margin-bottom:0px;
}


}


.ffp-section-data h4{
	font-size:114%;
}



/* :alumni
----------------------------------------------- */


/*
===== index =====
*/

.ffp-section-alumni{
}

.alumni-lineup .inner,
.row-eq-height {
    display: flex;
    flex-wrap: wrap;
}

.alumni-lineup .item a{
	padding:15px;
}



.alumni-lineup .item .text{
	padding-left:0;
}

.alumni-parts .text .year{
	display:inline-block;
	background:#d7f1f2;
	margin-bottom:5px;
	line-height:93%;
	padding:2px;
}
.alumni-parts .text .name{
	font-size:20px;
	line-height:1.2;
}
.alumni-parts .text .en-name{
	font-weight:bold;
	margin-bottom:5px;
}

.alumni-parts .text table{
	border-collapse:collapse;
}

.alumni-parts .text th,
.alumni-parts .text td{
	line-height:1.5;
	vertical-align:top;
}

.alumni-parts .text th{
	white-space:nowrap;
	font-weight:normal;
	padding-bottom:3px;
}
.alumni-parts .text td{
	padding-bottom:3px;
}


.page-navi{
	text-align:center;
	width:100%;
}

.page-navi a{
	display:inline-block;
	position:relative;
	margin:0 10px;
}
.page-navi a:before{
	background:url(../img/parts/arrow-orange.png) center no-repeat;
	width:10px;
	height:10px;
	content:"";
	background-size:contain;
	position:absolute;
	top:50%;
	margin-top:-5px;
}

.page-navi .prev{
	padding-left:15px;
}
.page-navi .prev:before{
	left:0;
	-ms-transform: scale(-1,1);
	-webkit-transform: scale(-1,1);
	transform: scale(-1,1);
}
.page-navi .next{
	padding-right:15px;
}
.page-navi .next:before{
	right:0;
}


/*
===== detail =====
*/

.ffp-section-alumni-detail .alumni-detail{
	border:2px solid #a4dedb;
	position:relative;
	padding:30px;
	border-radius: 5px;
	background:#fff;
	margin-bottom:30px;

}

@media (max-width: 767px) {

.ffp-section-alumni-detail .alumni-detail{
	padding:15px;
}
.ffp-section-alumni-detail .alumni-detail .text{
	padding-left:0;
}

}

.ffp-section-alumni-detail .alumni-detail .body{
	margin-top:30px;
}

.ffp-section-alumni-detail .alumni-detail .body h4{
	font-size:100%;
	margin-bottom:10px;
	margin-top:30px;
	padding-left:15px;
	position:relative;
}

.ffp-section-alumni-detail .alumni-detail .body h4:before{
	content:"";
	background:#37b8b3;
	position:absolute;
	left:0px;
	top:0;
	width:5px;
	height:1em;
}

.ffp-section-alumni-detail .alumni-detail .body h4:first-child{
	margin-top:0;
}






/* :faq
----------------------------------------------- */

.ffp-section-faq{
}





/* :xx
----------------------------------------------- */


