@charset "utf-8";

#Maincontents{
	overflow: hidden; 
}

.inter_middl {
    width: 100%; 
    max-width: 1200px;
    margin: 0 auto 80px;
    padding: 0 20px;
}


.right{
	transform:translateX(300px);
  	opacity:0;
  	transition:opacity 1s,transform 0.4s;
}

.bottom{
	transform:translateY(100px);
  	opacity:0;
  	transition:opacity 1s,transform 0.5s;
}

.in{
	opacity:1;
  	transform:translateX(0);
	transform:translateY(0);
}

.in_mb{
	opacity:1;
  	transform:translateX(0);
	transform:translateY(0);
}


.flp_header{
	background-image: url(/common_d/connect/future/flp/img/bg.png);
	background-size: cover;
	background-position:top right;
	margin:20px 0 0;
	height:380px;
}


.flp_head_in {
    width: 1100px;
	margin: 0 auto;
}


.flp_head_in h1{
	font-weight:bold;
	font-size:100px;
	font-family: 'Affogato-Black';
	text-align: left;
	padding:80px 0 0;
	color:#fff;
	letter-spacing: 0.6rem;
}

.flp_head_in h1 span{
	 opacity: 0; 
}

.flp_head_in h1 span.sublogo{
	font-weight:bold;
	font-size:20px;
	color:#fff;
	letter-spacing: normal;
	opacity: 0; 
}

.flp_head_in h1 span:nth-child(1) {
  -webkit-animation: logoanime 0.5s ease 0.5s 1 forwards;
  animation: logoanime 0.5s ease 0.5s 1 forwards;
}
.flp_head_in h1 span:nth-child(2) {
  -webkit-animation: logoanime 0.5s ease 1s 1 forwards;
  animation: logoanime 0.5s ease 1s 1 forwards;
}
.flp_head_in h1 span:nth-child(3) {
  -webkit-animation: logoanime 0.5s ease 1.5s 1 forwards;
  animation: logoanime 0.5s ease 1.5s 1 forwards;
}
.flp_head_in h1 span.sublogo {
  -webkit-animation: logoanime 0.5s ease 2.5s 1 forwards;
  animation: logoanime 0.5s ease 2.5s 1 forwards;
}

@-webkit-keyframes logoanime {
  100% {
    opacity: 1;
  }
}
@keyframes logoanime {
  100% {
    opacity: 1;
  }
}

/*-------------topコンテンツ------------------*/

.top_cont_flp {
	width:1200px;
    padding: 50px 2% 40px;
    margin: 0 auto;
	background-image: url(/common_d/connect/future/flp/img/content_bg.png);
	background-repeat: no-repeat;
}

.top_cont_flp .head_bl {
	display: flex;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
	-webkit-justify-content: space-between;
	justify-content:space-between;
}

.head_bl .head_left_sec{
	width:60%;	
}

.head_bl .head_left_sec p{
	letter-spacing: normal;
}


.head_bl .head_left_sec h2{
	color:#16328a;
	margin-bottom:20px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", 'Noto Serif JP',serif;
	font-size:26px;
	font-weight:700;
	line-height: 1.3;
}


/*-------------point123------------------*/

.flp_point_bl {
	display: flex;
	max-width:1200px;
	margin: 70px auto 0;
	justify-content :space-between;
	-webkit-justify-content :space-between;
}

.flp_point_bl .pointbox{
	border: #16328a solid 1px;
	padding:15px 16px 15px 18px;
	position:relative;
	width:30%;
	
}

.flp_point_bl .pointbox h3{
	background-color: #16328a;
	color:#fff;
	padding:10px;
	margin-bottom:10px;
	text-align: center;
	line-height:1.2;
	height:80px;
    padding-top: 30px;
	}




.flp_point_bl .pointbox p{
	font-size:14px;
}


.flp_point_bl .pointbox .point_icon {
    position: absolute;
    left: 8px;
    top: 20px;
    color: #ff3366;
    font-weight: 700;
    font-family: 'Affogato-Black';
    font-size: 11px;
    background-color: #fff;
    padding: 0 8px 0 10px;
    line-height: 1.3;
}

.flp_point_bl .pointbox .point_icon span{
	font-size:15px;
}



.flp_point_bl .pointbox .point_icon::before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 13px 0;
	border-color: transparent #08194d transparent transparent;
	position: absolute;
	top:20px;
	left:0;
}


.flp_point_bl .pointbox::after {
    content: "";
    border-bottom: #16328a solid 1px;
    border-right: #16328a solid 1px;
    position: absolute;
    width: 330px;
    height: 230px;
    right: -9px;
    bottom: -9px;
}

/* 拡大 */
.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
  transform: scale(0.6);
  opacity: 0;
  }

  to {
    transform: scale(1);
  opacity: 1;
  }
}


/*-------------5つのプログラム------------------*/

.flp_program{
	background-color: #e9efff;
}


.flp_program .program_bl {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 2% 5px;
}

.flp_program .program_bl h2{
  position: relative;
  padding: 1.5rem 2rem;
  border-bottom: 3px solid #16328a;
  margin-bottom:80px;
  display:flex;
}


.flp_program .program_bl h2 span.pro_ttl{
}

.flp_program .program_bl h2 span.pro_ttl_icon{
}


.yureru-j {
    animation: yureru-j 2s infinite;
}
@keyframes yureru-j {
    0% {
        transform: translate(0px, 2px);
    }
    5% {
        transform: translate(0px, -2px);
    }
    10% {
        transform: translate(0px, 2px);
    }
    15% {
        transform: translate(0px, -2px);
    }
    20% {
        transform: translate(0px, 2px);
    }
    25% {
        transform: translate(0px, -2px);
    }
    30% {
        transform: translate(0px, 0px);
    }
}

.flp_program .program_bl h2:before {
    position: absolute;
    left: 47px;
    top: 123px;
    width: 0;
    height: 0;
    content: '';
    border-width: 34px 0 0 35px;
    border-style: solid;
    border-color: #16328a transparent transparent transparent;
}

.flp_program .program_bl h2:after {
    position: absolute;
    left: 50px;
    top: 123px;
    width: 0;
    height: 0;
    content: '';
    border-width: 30px 0 0 30px;
    border-style: solid;
    border-color: #e9efff transparent transparent transparent;
}


.flp_program .program_bl .program_box{
	background-color: #fff;
	display: flex;
	border-bottom:#535353 solid 2px;
	justify-content:space-between;
	-webkit-justify-content:space-between;
	position: relative;
	margin-bottom:90px;
}


.box_head_ttl{
	background-color: #e9efff;
	height:40px;
    width: 90%;
}

.box_head_ttl .p_no{
	background-color: #e31c4d;
	color:#fff;
	padding:3px;
	font-size:12px;
	position:relative;
	font-family: 'Affogato-Black';
	margin:2px 0 0 5px;
	float:left;
}

.box_head_ttl .p_no:after{
	content: "";
	position:absolute;
	border-left: #e31c4d solid 1px;
	border-top:#e31c4d solid 1px;
	left:-5px;
	top:-5px;
	width:80px;
	height:30px;
}

.box_head_ttl .p_no span{
	font-size:24px;
}

.box_head_ttl h3{
	font-size:24px;
	font-weight:bold;
	padding:2px 8px 0 100px;
	background-color: #e9efff;
}

.pro_btn{
	position:absolute;
	bottom:0;
	left:0;
    background: #16328a;
    transition: all 0.2s;
	padding:10px 30px 10px 10px;
}

.pro_btn a{
color:#fff;
}

.pro_btn:hover{
	transform: scale(1.1, 1.1);
}


.pro_btn:after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right:15px;
  margin-top: -2px;
}

.pro_btn:before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right:20px;
  margin-top: -2px;
  z-index: 999;
}

.pro_img_content {
    width: 60%;
    height: 400px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-repeat: no-repeat;
}

.prog01{
    background-image:url(/common_d/connect/future/flp/img/flp_p01.jpg);
}
.prog02{
    background-image:url(/common_d/connect/future/flp/img/flp_p02.jpg);
}
.prog03{
    background-image:url(/common_d/connect/future/flp/img/flp_p03.jpg);
    background-position: center top;  
}
.prog04{
    background-image:url(/common_d/connect/future/flp/img/flp_p04.jpg);
}
.prog05{
    background-image:url(/common_d/connect/future/flp/img/flp_p05.jpg);
}

.box_pro_content{
	width:40%;
	padding:10px 20px 15px 30px;
}

.box_pro_content h4{
	font-size:22px;
	font-weight:bold;
	background:linear-gradient(transparent 60%, #f9f871 60%);
	display: inline;
}


.box_pro_content p{
	font-size:14px!important;
	line-height: 1.4!important;
	margin-top:15px!important;
}

.box_pro_content h5.flp_orange{
	font-size:18px;
	background-color: #fceed5;
	border:solid 1px #e0b265;
	position:relative;
	/* width:240px; */
	margin-top:25px;
	padding-left:10px;
	font-weight:600;
}

.box_pro_content h5.flp_orange:after{
	content: "";
	border-right:solid 1px #e0b265;
	border-bottom:solid 1px #e0b265;
	position:absolute;
	width:240px;
	height:30px;
	bottom:-6px;
	right:-6px;
}

.box_pro_content h5.flp_green{
	background-color:#e7fdde;
	border:#4c952f solid 1px;
	position:relative;
	width:240px;
	margin-top:25px;
	padding-left:10px;
	font-weight:600;
}

.box_pro_content h5.flp_green:after{
	content: "";
	border-right:#4c952f solid 1px;
	border-bottom:#4c952f solid 1px;
	position:absolute;
	width:240px;
	height:30px;
	bottom:-6px;
	right:-6px;
}

.clearfix::after {
   content: "";
   display: block;
   clear: both;
}

.top_cont_flp {
	width:100vw;
    padding: 50px 2% 40px;
    margin: 0 auto;
	background-image: url(/common_d/connect/future/flp/img/content_bg.png);
	background-repeat: no-repeat;
}

/*=====2025年度インタビュー=====*/
.flp_voice{
    width:1150px;
    padding: 0 2% 40px;
    margin: 0 auto;    
}

.flp_voice_wrap {
    width:100%;
    display: flex;
    justify-content: space-between;
    margin-top:50px;
}

.voice_left{
    width:70%;
    margin-right:60px;
}

.voice_right{
    width:30%;
}

.voice_right img {
    border-radius: 10px;
    width:100%;
}

.flp_voice h3{
    margin-bottom:20px;
}

.flp_voice h4{
    font-size:2.5rem;
    font-weight:700;
    position: relative;
    padding-left:90px;
}

.voice_global:before,
.voice_journalism:before {
    content:"";
    top:-15px;
    left:0;
    position:absolute;
    height:100px;
    width:100%;
}

.voice_global:before{
    background:url(/common_d/connect/future/flp/img/global_icon.png);
    background-repeat: no-repeat;
}

.voice_journalism:before{
    background:url(/common_d/connect/future/flp/img/journalism_icon.png);
    background-repeat: no-repeat;
}

.voice_journalism {
    font-size: 2.0rem !important;
    line-height: 1.2;
}

.voice_right ul li img{
    width:90%;
}

.st_interview{
    /* margin-top:50px;    */
}

.st_interview h5{
    font-size:1.3rem;
    font-weight:700; 
    line-height:1.3;
    margin-bottom:5px;
}

.st_name{
    font-size:1rem;
    font-weight:500;
    padding-bottom:5px;
    border-bottom:solid 1px #ff3333;
}

.st_name span{
    padding-left:20px;
    font-size:0.8rem;
}

.interview_cont{
    margin-top:30px;
}

.interview_cont dt{
    margin-top:30px;
    font-size:1.1rem;
    font-weight:500;
    margin-bottom:8px;
}

.interview_cont dd{
    line-height:1.6;
        font-size:0.9rem;
}

.about_flp{
    margin-top:30px;
    border:solid 1px #7d4697;
    padding: 15px;
}

.about_flp h5{
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; 
    color:#7d4697;
    border-bottom:dotted 1px #7d4697;
    padding-bottom:5px;
}


.sp_none_stimg{
        display:none;
    }

.sp_none_stimg_r{
        display:block;
    }

.sp_none_stimg_r{
        display:block;
    }

.st_interview_img li figure figcaption{
    margin:0!important;
    padding:0;
    font-size:0.8rem;
    
}

.fss {
    display: block;
    font-size: 10px;
    padding-left: 0 !important;
}

/*====ここまで2025インタビュー=====*/


/*2027インタビュー*/
.qa_fbox {
  display: flex;
  align-items: flex-end;
  margin-top: 60px;
}

.qa_box {
  position: relative;
  max-width: 800px;
  padding: 40px 30px 10px;
  border-radius: 3px;
  box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
  background-color: #e9efff;
  color: #333333;
}

.qa_box::before,
.qa_box::after {
  position: absolute;
  content: '';
}

.qa_box::before {
  top: -15px;
  right: 10px;
  height: 50px;
  width: 15px;
  border: 3px solid #999;
  border-radius: 10px;
  box-shadow: 1px 1px 2px rgb(0 0 0 / 30%);
  transform: rotate(10deg);
}

.qa_box::after {
  top: 0;
  width: 10px;
  right: 20px;
  border: solid 5px #f2f8ff;
}

.qa_ttl {
  font-size: 1.2em;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  .red_b {
    background-color: red;
    padding: 0 5px;
    font-weight: 600;
    color: #fff;
    letter-spacing: -0.05em;
    margin-right: 0.5em;
  }
  .q {
    font-weight: 600;
    font-size: 60px;
    font-family: "Affogato-Bold";
  }
  .and {
      color: #ffffff;
      font-size: 1.6em;
      letter-spacing: 1px;
      text-shadow: 1px 1px 0px #ff0000, -1px 1px 0px #ff0000, 1px -1px 0px #ff0000, -1px -1px 0px #ff0000, 1px 0px 0px #ff0000, 0px 1px 0px #ff0000, -1px 0px 0px #ff0000, 0px -1px 0px #ff0000;
    }
  .a {
    font-weight: 600;
    font-size: 60px;
    color: red;
    font-family: "Affogato-Bold";
  }
}

.question {
    position: relative;
    background-color: #fff;
    border: 1px solid #333;
    box-shadow: 3px 3px #333;
    font-size: 1.4em;
    padding: 5px 15px;
    margin-left: 50px;
    margin-bottom: 10px;
    line-height: 1.6em;
}
.question::before {
    content: "Q";
    font-weight: 600;
    font-size: 60px;
    font-family: "Affogato-Bold";
    position: absolute;
    left: -50px;
}

.answer {
    position: relative;
    font-size: 1.6em;
    color: red;
    font-weight: 600;
    margin-left: 50px;
    line-height: 1.6em;
    span {
        vertical-align: top;
        font-size: 0.8em;
        color: #2c2c2c;
    }
}

.answer::before {
    content: "A";
    font-weight: 600;
    font-size: 55px;
    font-family: "Affogato-Bold";
    position: absolute;
    left: -45px;
}

.answer_txt {
    margin-left: 50px;
    margin-bottom: 30px;
}

.img_box {
  margin-right: 20px;
}

.img_box P {
  margin: 0 10px 20px 0;
  padding: 10px;
  background-color: #fff;
  border: 2px dotted red;
  transform: rotate(-10deg); 
  span {
    font-size: 1.2em;
    font-weight: 600;
  }
  
}



/*:::::::::::::::::::::::::::::::::::::タブレット::::::::::::::::::::::::::::*/


@media (min-width: 768px) and (max-width: 1023px) {

.flp_header {
    margin: 0;
	background-position: top left;
}

.flp_head_in {
	width:700px;
	padding-top:40px;
}


.top_cont_flp {
    width: 100%;
}


.head_bl{justify-content:space-between;}


.head_bl .head_left_sec {
    width: 55%;
}

.head_right_sec p{
text-align:right;
}

.head_right_sec img{
	width: 90%;
	height:auto;
}


.flp_point_bl .pointbox h3 {
    height: 100px;
	padding:30px 10px 0;
}

.flp_point_bl .pointbox .point_icon {
    top: 5px;
}


.flp_point_bl .pointbox::after {
    width: 210px;
    height: 330px;
}


.flp_program .program_bl h2 span.pro_ttl img{
	width:680px;
    height: auto;
}


.flp_program .program_bl h2:before {
    top: 125px;
}
.flp_program .program_bl h2:after {
    top: 125px;
}


.flp_program .program_bl h2 {
    margin-bottom: 90px;
}

.flp_program .program_bl {
    width: 100%;
}



.flp_program .program_bl .program_box {
	background-color:#fff;
    display: block;
	position:relative;
	border-bottom:none;
	margin-bottom: 150px
}


.box_head_ttl {
    height: auto; 
	margin-bottom:10px;
	position:absolute;
	top:-40px;
}


.box_head_ttl h3 {
    padding: 2px 8px 0 100px;
    float: none; 
}

.pro_img_content {
    width: 100%;
}

.box_pro_content {
	width: 100%;
	padding:15px;
}

.box_pro_content h4 br {
display:none;
}

.pro_btn {
margin-top:30px;
bottom:-70px;
}

/*==2025インタビュ==*/
.flp_voice{
    width:90%;
    display: block
    
}
    
.voice_left {
    width: 100%;
    margin-right: 0;
}
    
.voice_right{
    width:100%;
}

.voice_right ul{
    margin:30px 0 0 0;
    display:flex;
        justify-content: space-between;
}
   
.voice_right ul li{
    width:32%;
}
    

.voice_right ul li img{
    width:100%;
    margin-bottom:0;
}

.flp_voice_wrap {
    width: 100%;
    display: block;
    margin-top: 30px;
}
/*==2025インタビュここまで==*/


/**/
}

/*tab====2026インタビュ===*/
@media (max-width: 1023px) {
    .qa_fbox {
        flex-direction: column-reverse;
    }
    .img_box {
        margin: 20px auto 20px 20%;
        position: relative;
    }

    .img_box img {
        height: 300px;
        width: 300px;
        border-radius: 150px;
        object-fit: cover;
        object-position: top 20px left 0;
        background-color: #e9efff;
    }

    .img_box P {
        position: absolute;
        bottom: 0;
        right: -250px;
    }

    .qa_box {
        margin: 0 auto;
    }
     
}


/*::::::::::::::::::スマホ::::::::::::::::::::::::::*/

@media (max-width: 767px) {

.flp_header {
    background-position: top center;
    height: 200px;
	margin:0 0 0;
}


.flp_head_in {
    width: 330px;
}

.flp_head_in h1 {
    font-size: 80px;
	padding:60px 0 0;
}


.top_cont_flp {
    background-size: 40% 40%;
}

.top_cont_flp .head_bl {
    display: block; 
}

.top_cont_flp {
    width: 100%;
	padding:10px 0 0 0;
    background-size: contain;
    background-position: top center;
}

.head_bl .head_left_sec {
    width: 100%;
    padding: 10px;
}


.head_bl .head_left_sec h2 {
    font-size: 22px;
}


.head_bl .head_right_sec p {
text-align: center;
margin:20px 10px 0;
img {
    width: 100%;
}
}

.flp_point_bl {
    display: block;
	margin:40px auto 0;
}

.flp_point_bl .pointbox {
    width: 90%;
	margin:0 auto 40px;
}

.flp_point_bl .pointbox .point_icon::before {
    top: 19px;
}

.flp_point_bl .pointbox::after {
    height: 250px;
}

.flp_point_bl .pointbox:last-child::after {
    height: 180px;
}

.flp_program .program_bl .program_box .box_pro_content p{
	margin-top:10px!important;
}

.flp_program .program_bl h2 {
    padding: 0 0 10px 0;
}

.flp_program .program_bl h2 span.pro_ttl img{
	width:340px;
	height: auto;
}

.flp_program .program_bl h2 span.pro_ttl_icon img{
	width:15px;
	height:auto;
	}

.flp_program .program_bl h2:before {
    top: 50px;
    border-width: 24px 0 0 25px;
}


.flp_program .program_bl h2:after {
    top: 49px;
    border-width: 20px 0 0 20px;
}	

.flp_program .program_bl {
    width: 100%;
}

.flp_program .program_bl .program_box {
	display: block;
	position: relative;
	background-color: #fff;
	border-bottom:none;
	margin-bottom:150px;
}

.box_pro_content {
    width: 100%;
	padding: 20px 10px;
}

.box_pro_content h4 {
	font-size:16px;
}

.box_pro_content h4 br {
    display: none;
}

.box_head_ttl {
	position:absolute;
	top:-30px;
	height: auto;
    width: 100%;
}

.box_head_ttl .p_no {
    font-size: 8px;
	padding: 1px 2px;
}

.box_head_ttl .p_no span {
    font-size: 15px;
}

.box_head_ttl h3 {
    font-size: 17px;
    padding: 0px 5px 0 5px;
	letter-spacing: -0.5px;
}

.box_head_ttl .p_no:after {
    width: 65px;
    height: 25px;
}

.pro_img_content {
    width: 100%;
    height: 250px;
}

.pro_btn {
bottom:-60px;
width:100%;
}

.pro_btn a{
font-size:12px;
    letter-spacing: -0.1px;
}

.pro_btn:after {
    top: 50%;
}

.pro_btn:before {
    top: 50%;
}

.box_pro_content h5.flp_orange {
    font-size: 16px;
}
.box_pro_content h5.flp_green {
    font-size: 16px;
}

.flp_program .program_bl .program_box:last-child{
    margin-bottom:100px;
    }
 

/*2025インタビュ*/
.flp_voice{
    width:90%;
    display: block;
}
    
.voice_left{
    width:100%;
    margin-right:0;
}
    
.voice_right{
    width:100%;
}
    
.flp_voice h3 {
    margin: 0 auto 20px;
    text-align: center;
}
    
.flp_voice h3  img{
    width:75%;
}
    
.flp_voice h4 {
    padding-left:55px;
    font-size:1.8rem;
}
    
.flp_voice h4:before {
    top: -4px;
    height: 70px;
    width: 40%;
    background-size: 35%;
}
 
.st_name{
    line-height: 1.3;
    padding-bottom: 10px;  
    margin-top:15px;       
    }

.st_interview_img img{
        width:100%;  
    }
    
.st_interview_img {
    margin-top:30px;
    }
    
.st_interview_img li {
    width: 100%;
    }
    
.voice_right ul li {
    margin-bottom: 10px;
}
    
.st_interview h5{
    font-size:1.2rem;
}
    
.voice_right ul li img{
    width:100%;
}

.voice_journalism {
    font-size:1.5rem !important;
    line-height: 1.6;
}

.flp_voice_wrap {
    display: block;
    margin-top: 20px;
}

.st_name span {
    padding-left: 0;
    font-size: 0.8rem;
    display: block;
}
/*2025インタビュここまで*/


/*2026インタビュ*/
.inter_middl {
    padding: 0 10px;
}

.qa_box {
        padding: 20px 15px 20px 5px;
    }

.qa_ttl {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    .red_b {
        margin-right: 0;
    }
}

.img_box {
    margin: 20px auto;
}

.img_box P {
    bottom: -50px;
    right: 0;
}   

}
