


@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');



/* フレーム設定-------------------------------------------------------------------------------- */



body {
width: 100%;
position:relative;
}


#adspecial_ibsf_202410{
padding: 0;
line-height:1.8;
}


#adspecial_ibsf_202410.adspecial_type1{
width:100% !important;
max-width:100% !important;
font-family: "Outfit", Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 1.8;
position:relative;
}


#adspecial_ibsf_202410.adspecial_type1::before{
content:"";
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:url(/info/event/ibsf/202410/media/img_bg_main.jpg) center bottom no-repeat;
background-size:cover;
opacity:0.5;
}


footer{
margin-top:0;
}



/* ヘッダー＆フッター広告表記 2024～
-------------------------------------------------------------------------------------------------------*/


.header_sponsored_area{
    width:100%;
    background-color:#fff;
    color:#000;
    font-size:14px;
    text-align:right;
    padding:15px 20px;
    position:relative;
    z-index:1000;
}

.header_sponsored_area span{
    margin:0;
    line-height:1.3;
    display:block;
}


.block_sponsored{
    clear:both;
    padding:25px;
background-color:#fff;
position:relative;
z-index:10;
}

.block_sponsored_area{
    clear:both;
    background-color:#fff;
    color:#000;
    font-size:14px;
    border:1px solid #000;
    margin:25px auto;
    padding:15px 15px 10px;
    max-width:760px;
    position:relative;
    z-index:1000;
}

.block_sponsored_area span{
    margin:5px 0;
    text-align:left;
    display:block;
}


.block_sponsored_area:before{
    display: block;
    content: "PR";
    position: absolute;
    top: -12px;
    left: 30px;
    width: 40px;
    height: 30px;
    text-align: center;
    background-color: #fff;
}







/* main
-------------------------------------------------------------------------------------------------------*/


@keyframes slide{
0% {
height:0;
}
100% {
height:100%;
}
}

.container-fluid {
  max-width: 1100px;
  margin: 0 auto;
  padding:0;
  position:relative;
  z-index:100;
background:none;
}



.hero-container{
width:100%;
height:100%;
padding:0;
background:url(/info/event/ibsf/202410/media/img_mainvisual.jpg) center center no-repeat;
position:relative;
overflow:hidden;
}


.hero-container #canvas{
    position: absolute;
    top: -15%;
    left: 0;
}


.hero-container .head-title{
max-width:1200px;
height:400px;
display:flex;
flex-direction:column;
justify-content:center;
margin: 0 auto;
padding:10px;
text-align:center;
width:fit-content;
position:relative;
z-index:10;
}

.hero-container .head-title .ttl-headline{
font-size:clamp(1.25rem, 0.75rem + 1.25vw, 2rem);
font-family: "Outfit", sans-serif;
color:#2b9bf4;
margin:0 auto;
padding-bottom:20px;
width:fit-content;
position:relative;
z-index:1;
}


.hero-container .head-title h1{
position: relative;
z-index:100;
font-size:clamp(1.25rem, 0.75rem + 1.25vw, 2rem);
font-family: "Outfit", Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
color:#050505;
line-height:1.4;
display:flex;
flex-direction:column;
justify-content:center;
width:fit-content;
}

.hero-container .head-title h1 small{
font-size:70%;
}




.hero-container .archive-title{
color:#050505;
font-size:1.25rem;
font-weight:bold;
margin:15px auto;
padding:10px 35px;
border-radius:10px;
width:fit-content;
position: relative;
z-index: 10;
}

.hero-container .archive-title::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:0;
background:rgba(255,255,255,0.85);
border-radius:15px;
box-shadow: 0 15px 15px -10px #999;
z-index:-1;
animation: slide 0.5s ease-in 0.5s forwards;
}


@keyframes fade{
  0% {
    opacity: 0;}

  100% {
    opacity: 1;}
}





/* summary ************************************************/


.lead-contents {
margin: 0 auto;
background:rgba(43,155,244,0.6);
backdrop-filter: blur(5px);
position:relative;
}

.lead-contents p{
max-width:1100px;
margin:0 auto;
font-size: 16px;
line-height: 1.8;
padding: 15px;
color:#fff;
font-family:"游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
position:relative;
z-index:10;
}



/* headline ************************************************/

h2 {
text-align:left;
margin:0 auto;
padding:30px 0 30px 25px;
color: #151515;
font-family: "Outfit", Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
font-size: clamp(1.5rem, 0.833rem + 1.67vw, 2.5rem);
font-weight:normal;
border: none;
max-width:1150px;
position: relative;
z-index:10;
line-height:1.5;
}

h2::before{
content:"";
position:absolute;
top:0;
left:0;
width:2px;
height:100%;
border-radius:0 0 5px 5px;
background-color:#050505;
}


h2 span{
font-size: clamp(1rem, 0.5rem + 1.25vw, 1.75rem);
font-family: "Outfit", Arial;
font-weight:normal;
color:#808080;
display:block;
z-index:-1;
}




/* event archive ************************************************/


.archive-container{
    background: linear-gradient(0deg, rgba(195, 245, 242, 0.4) 10%, rgba(193, 234, 252, 0.8) 100%);
    padding-bottom:45px;
    position:relative;
}


.video-block,
.document-block,
.banner-block{
margin:30px auto;
padding:10px;
font-family: "Outfit", Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
position:relative;
z-index:1;
}

.video-block ul li{
max-width:100%;
margin:60px 20px;
}


.video-block ul li a{
background:rgba(255,255,255,0.9);
text-align:center;
margin:20px auto;
padding:25px;
color:#151515;
font-size:1.25rem;
text-align:left;
/*box-shadow: 0 15px 15px -10px #b0b0b0;*/
border-radius:15px;
display:flex;
align-items:center;
transition: 0.3s;
}

.video-block ul li a:hover{
background:rgba(43,155,244,0.85);
box-shadow: 0 20px 20px -15px #999;
color:#fff !important;
}


.video-block ul li a:hover div{
color:#fff !important;
}


.video-block ul li a:hover div img{
transform:scale(1.02,1.02);
transition:0.5s;
}

.video-block .video-text span{
display:block;
font-size:1.5rem;
font-weight:bold;
line-height:1.4;
}

.video-block .video-text .speaker{
font-size:1rem;
font-weight:normal;
line-height:1.6;
margin:15px 0 0 0;
}

.video-block .video-text .speaker .line{
font-size:1rem;
font-weight:normal;
border:1px solid #444;
margin:0 0 10px 0;
padding:2px 5px;
display:block;
width:fit-content;
}
.video-block a:hover .video-text .speaker .line{
border:1px solid #fff;
}

.video-block .video-text .speaker strong{
font-size:120%;
}


.video-block .video-thumb{
width:400px;
flex-shrink:0;
margin:0 20px 0 0;
position:relative;
z-index:1;
}

.video-block .video-thumb img{
max-width:100%;
}

.video-block .video-thumb:before{
content:"";
position:absolute;
top: calc(50% - 20px);
left: calc(50% - 20px);
display: block;
width: 40px;
height: 40px;
background: rgba(0,0,0,.5);
border-radius: 50%;
z-index:100;
}

.video-block .video-thumb:after{
content:"";
position:absolute;
top: calc(50% - 8px);
left: calc(50% - 4px);
border-style: solid;
border-width: 8px 0 8px 12px;
border-color: transparent transparent transparent #ffffff;
z-index:100;
}



.document-block ul{
margin:20px auto;
display:flex;
justify-content:center;
align-items:baseline;
}

.document-block ul li{
max-width:360px;
height:100%;
margin:0 40px;
}


.document-block ul li img{
width:100%;
height:100%;
box-shadow:0 0 30px #d5d5d5;
/*object-fit:cover;
object-position:center center;*/
}


.document-block ul li a:hover img{
transform:scale(1.03,1.03);
transition:0.3s;
box-shadow:0 0 30px #666;
}

.document-block ul li a span{
text-align:left;
margin:20px auto;
padding:10px;
color:#444;
font-size:1.25rem;
display:block;
}



.banner-block p{
text-align:center;
color:#fff;
font-size:1.25rem;
}


.banner-block a img{
display:block;
margin:40px auto 0;
text-align:center;
box-shadow:0 0 30px #444;
}

.banner-block a img:hover{
transform:scale(1.01,1.01);
transition:0.3s;
box-shadow:0 0 30px #000;
}


.banner-block .link-register{
display:block;
background-color:#fff;
color:#1b1a1a;
font-weight:bold;
border-radius:15px;
width:fit-content;
margin:30px auto 0;
padding:20px 40px;
}

.banner-block .link-register:hover{
/*background-color:#1b1a1a;*/
background-color:#2637ad;
color:#fff !important;
transition:0.2s;
}





/* scroll fadein */

.fade {
	opacity: 0;
	transform: translateY(70px);
	transition: opacity 1.2s, transform 0.8s;
}
.fade.active {
	opacity: 1;
	transform: translateY(0px);
}





/* responsive 
------------------------------------------------------------------------------------------------------------- */


@media (max-width: 960px) {




.video-block ul,
.document-block ul{
display:block;
}


.video-block ul li{
margin:30px 10px;
}
.video-block ul li a{
display:block;
width:100%;
}


.video-block .video-thumb{
margin:0 auto 30px;
display:block;
width:100%;
}



}






@media (max-width: 640px) {


.container-fluid {margin: 0;}


.hero-container{
height:100%;
background-size:cover;
}






}



