@import url('https://fonts.googleapis.com/css2?family=Outfit&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@700&display=swap');


/* base */

body {
  position: relative;
    word-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    color: #666;
    font-family: 'Rajdhani', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    overflow-wrap: break-word;
}


.container {
width: 100%;
/*background-color:#fff;*/
position:relative;
overflow:hidden;
}

.container:before{
content:"";
position:absolute;
top:0;
left:0;
background:url(/info/event/idcf/202402/media/img_main_background.jpg) right top no-repeat;
width:100%;
height:100vh;
position: fixed;
z-index:-1;
}


.container-fluid {
max-width: 1200px;
margin: 0 auto;
padding-top: 0;
background-color: transparent;
position:relative;
z-index:10;
}



#social_bkm_wrap_top {
margin-bottom: 0;
height: auto;
border: none;
}

/* fadein setting */

.fade {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 1.5s, transform 0.5s;
}

.fade.active {
	opacity: 1;
	transform: translateY(0px);
}



/* scroll setting */

.luxy-el{
position:reltaive;
z-index:-1;
}


.left-parts-top{
position:absolute;
left:-100px;
top:20vh;
z-index:-1;
}

.right-parts-top{
position:absolute;
right:-100px;
top:50vh;
z-index:-1;
}

.left-parts-bottom{
position:absolute;
left:-50px;
top:100vh;
z-index:-1;
}


.right-parts-bottom{
position:absolute;
right:-50px;
top:130vh;
z-index:-1;
}



.parts_500{
width:500px;
}

.parts_400{
width:400px;
}

.parts_300{
width:300px;
}

.parts_200{
width:200px;
}

.parts_100{
width:100px;
}







/* header */

.event-header,
.webinar-header{
position: relative;
width:100%;
height: 600px;
padding:0;
overflow:hidden;
}


.event-header h1,
.webinar-header h1{
max-width:1150px;
padding:5% 5% 0;
text-align:left;
line-height: 1.3;
font-feature-settings: "palt" 1;
}
.webinar-header h1{
padding:3% 5% 0;
}


.event-header h1 .ttl-headline,
.webinar-header h1 .ttl-headline {
position: relative;
display:block;
color: #fff;
font-size: 1.75rem;
font-weight:normal;
font-family: 'Rajdhani', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
text-shadow: none;
width:fit-content;
border-radius:5px;
margin:0 0 30px 0;
opacity:0;
animation: fade 0.5s linear 0.3s 1 forwards;
}

.event-header h1 .ttl-main,
.webinar-header h1 .ttl-main{
color:#fff;
font-size:clamp(1.75rem, 1.563rem + 0.94vw, 2.5rem);
font-family: 'Rajdhani', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
display:block;
opacity:0;
animation: fade 0.5s linear 0.6s 1 forwards;
}


.event-header h1 .ttl-main strong,
.webinar-header h1 .ttl-main strong {
font-size:160%;
color:#1b9bd0;
}


.event-header h1 .ttl-headline small,
.webinar-header h1 .ttl-headline small{
font-size:70%;
}


@keyframes fade{
  0% {
    opacity: 0;}

  100% {
    opacity: 1;}
}



.webinar-header{
height:300px;
}

.webinar-header h1 .ttl-headline{
font-size:1.3rem;
}

.webinar-header h1 .ttl-main{
font-size:1.75rem;
}





/* 開催概要 */


.info-date{
margin:0 5%;
padding: 0;
font-size: 1.3rem;
text-align: left;
/*background:rgba(255,255,255,0.15);*/
color:#01bbac;
font-size:2rem;
font-family: 'Rajdhani', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
width:fit-content;
position:relative;
z-index:10;
opacity:0;
animation: fade 0.5s linear 1.2s 1 forwards;
}

.info-date:before{
content:"";
position:absolute;
bottom:20px;
left:0;
width:0;
height:6px;
background: radial-gradient(circle farthest-side, #01bbac, #01bbac 60%, transparent 60%, transparent);
background-size: 6px;
display: inline-block;
z-index:-1;
animation: line 0.5s linear 1.8s forwards;
}


.info-date span{
display:inline;
margin:0;
}

.info-date span strong{
font-size:220%;
margin:0 10px;
}


@keyframes line{
0%{
width:0;
}
100%{
width:100%;
}
}



.event-summary {
padding-top:20px;
background:rgba(0,0,0,0.6);
}





.event-summary p {
font-size: 16px;
line-height: 1.8;
padding: 30px;
color: #fff;
font-family:"游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

.event-summary p span{
font-size:17px;
}


.event-overview{
padding-top:5%;
backdrop-filter: blur(5px);
position:relative;
z-index:100;
}



.information {
margin:25px auto;
padding:25px;
font-size: 16px;
font-family:"游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
position:relative;
z-index:100;
}

table.information th,
table.information td{
color:#fff;
/*border-collapse: collapse;*/
border-spacing:10px;
/*background:rgba(0,0,0,0.3);*/
background:none !important;
font-weight:normal;
}


.information th{
margin:10px 0;
padding:0 15px;
width:20%;
position:relative;
}


.information td{
margin:0;
padding:15px;
color:#666;
}


/* 見出し */



h2 {
text-align:center;
margin:0 auto;
padding:0 30px;
color: #1b9bd0;
font-family:'Rajdhani', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
font-weight: normal;
/*font-size:clamp(2rem, 1.125rem + 4.38vw, 5.5rem);*/
font-size:clamp(2.5rem, 1.375rem + 5.63vw, 7rem);
border: none;
background: none;
font-feature-settings: "palt" 1;
position: relative;
z-index:1;
}

h2:before{
content:"";
position:absolute;
top:-30px;
left:calc(50% - 50%);
width:100%;
height:100%;
color: #1b9bd0;
font-size:1.25rem;
z-index:-1;
}


h2.overview:before{
content:"開催概要";
}

h2.program:before{
content:"講演内容";
}

h2.entry:before{
content:"イベント登録";
}

h2.inquiry:before{
content:"お問い合わせ";
}


h2:after{
content:"";
position:absolute;
top:0;
left:calc(50% - 10px);
width:20px;
height:5px;
background-color: #1b9bd0;
}




/* session program */


.event-session{
padding-top:5%;
padding-bottom:10%;
/*background:rgba(47,85,151,0.3);*/
/*background:rgba(27,63,124,0.6);*/
/*background:rgba(27,155,208,0.2);*/
background:rgba(0,0,0,0.45);
position:relative;
z-index:1;
}


.session-program{
margin:30px auto;
padding:45px;
backdrop-filter: blur(5px);
box-shadow:0 0 20px #000;
position:relative;
z-index:10;
}

.session-program table{
position:relative;
}


.session-program th,
.session-program td {
vertical-align:top;
border:none !important;
margin:0 0 0 5%;
}


.session-program th {
  width: 50%;
  text-align: center;
  color: #fff;
  background: #2D91DA;
}


.session-program td {
position: relative;
line-height: 1.5 !important;
/*border-bottom: 1px dotted #e0e0e0 !important;*/
}



.session-program .session-label,
.session-program .session-time{
text-align:left;
font-size:1.5rem;
color:#fff;
font-family:'Rajdhani', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

.session-program .session-label{
font-size:clamp(1.75rem, 1.438rem + 1.56vw, 3rem);
color:#01bbac;
text-align:left;
border-bottom:1px solid #01bbac;
}

.session-program .session-time{
padding:10px 0 0 0;
}

.session-program .session-label span{
font-size:60%;
margin:0 10px;
}

.session-program td.session .session-title {
margin: 40px auto;
padding: 10px 0 10px 20px;
line-height:1.4;
text-align:left;
font-size: 2rem;
font-feature-settings: "palt" 1;
border-left:1px solid #01bbac;
color:#fff;
}

.session-program td.session .session-title small {
display: block;
font-size: 85%;
font-weight: normal;
}

.session-program td.session .summary {
margin:0 0 20px 0;
color:#fff;
font-size:1rem;
}

.session-program td.session .session-title,
.session-program td .summary{
font-family:"游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

.session-program td.session .profile-set{
display:flex;
justify-content:space-between;
}

.session-program td.session .profile-set .profile{
width:48%;
}

.session-program td.session .profile {
margin:20px 0;
padding: 16px 0;
clear: both;
color:#fff;
overflow: hidden;
}

.session-program td.session .profile-set.line{
padding-bottom:10px;
border-bottom:dotted 1px #505050;
}

.session-program td.session .profile_thumb {
float: left;
width: 180px;
margin: 0 15px 15px 0;
}

.session-program td.session .profile_name {
font-size:1rem;
line-height: 1.6;
font-family:"游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
/*font-weight: bold;*/
}

.session-program td.session .profile_name span{
font-size:120%;
/*font-weight: bold;*/
display:block;
}

.session-program td.session .profile_accordion {
margin: 8px 0 0 0;
line-height: 1.6;
}


.session-program td.session .js-profile-trigger {
position: relative;
display: inline-block;
padding:0 5px;
background:rgba(27,155,208,0.5);
color:#fff;
font-size:18px;
text-align:center;
cursor: pointer;
}

.session-program td.session .js-profile-trigger:hover{
background:rgba(27,155,208,1);
transition:0.3s;
}




.session-program td.session .js-profile-detail {
padding-top: 16px;
padding-left:200px;
font-size:14px;
color:#2598c7;
}



.session-program td.session .label-position{
    border:1px solid #01b3a5;
    color: #01b3a5;
    margin: 0 0 15px 0;
    padding: 3px 15px 0;
    font-size: 14px;
    font-weight: bold;
    width: fit-content;
border-radius:15px;
}





/* register */


.event-register{
padding-top:5%;
/*background:rgba(7,92,187,0.5);*/
backdrop-filter: blur(5px);
position:relative;
z-index:100;
}


.privacy-note {
margin:0 auto 48px;
padding: 30px;
font-size: 12px;
font-family:"游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
text-align:left;
line-height:2.0;
background:rgba(0,0,0,0.3);
color:#fff;
border-radius:5px;
/*box-shadow:0 0 20px #d5d5d5;*/
}

.privacy-note p a{
color:#1b9bd0;
font-weight:bold;
font-family:"游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}




/*btn default setting*/



.btn-register {
width: 90%;
margin: 0 auto;
padding:0;
text-align:center;
position:relative;
z-index:10;
}


.btn {
display:block;
margin:20px auto 5%;
padding: 30px 20px;
font-size: 24px;
color: #fff;
background:rgba(1,187,172,0.3);
border:4px solid #01bbac;
border-radius:3px;
text-align: center;
vertical-align: middle;
cursor: pointer;
max-width:600px;
position: relative;
}


.btn:hover{
/*background-color:#fff;*/
color:#01bbac !important;
background:rgba(0,0,0,0.3);
/*box-shadow:0 0 25px #000;*/
}


.btn::before,
.btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn,
.btn::before,
.btn::after {
	box-sizing: border-box;
	transition: all .3s;
}


.btn span{
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}



/* sponsor logo */


.sponsor {padding: 60px 0 0; background: #fff;}


.sponsor h3{
margin: 0;
text-align: center; 
border: none;
font-size: 1.5rem;
font-weight:normal;
color: #666;
position:relative;
}

.sponsor h3:before{
    content: "";
    position: absolute;
    bottom:-10px;
    left: calc(50% - 10px);
    width: 20px;
    height: 4px;
    background-color: #e0e0e0;
}


.sponsor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin:0 0 30px;
}

.sponsor li {
  width: 30%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}


.sponsor ul:first-of-type li {margin: 0 5%;}




/* inquiry */

.event-inquiry{
padding-top:5%;
background:rgba(47,85,151,0.4);
backdrop-filter: blur(5px);
padding-bottom:30px;
text-align:center;
position:relative;
z-index:10;
}


.event-inquiry p{
position:relative;
z-index:10 !important;
margin:40px 0 0 0;
color:#fff;
}

.event-inquiry p a{
color:#12fdff;
font-weight:bold;
}

footer{margin-top:0;}







/* responsive 
------------------------------------------------------------------------------- */


@media (max-width: 1200px) {


.container:before{
background-size:cover;
background-position:70% top;
opacity:0.5;
}


.event-header{
height:450px;
}


.info-date{
font-size:1.5rem;
}


.event-session{
padding-bottom:25%;
}

.large, .small{
width:80% !important;
margin:30px auto;
}


.sponsor li {
  width: 100%;
  margin-bottom: 24px;
}


.session-program td .session-title {
font-size:1.5rem;
}

.event-overview,
.event-session,
.event-register,
.event-inquiry{
padding-top:10%;
}


}




@media (max-width: 960px) {

#luxy{
display:none;
}


.session-program{
padding:25px;
}

.session-program td.session .profile-set{
display:block;
}

.session-program td.session .profile-set.line{
border-bottom:none;
padding:-bottom:0;
}

.session-program td.session .profile-set .profile{
width:100%;
}



}




@media (max-width: 640px) {


.container-fluid {
margin: 0;
padding:20px 0 0 0;
}

.event-header h1 .ttl-label {
font-size: 1.25rem;
}

.info-date {
font-size:1rem;
}

.info-date:before{
bottom:0;
}

.event-summary{
padding:15px;
}

.event-summary p{
padding:0;
}


.information{
width:90%;
margin:15px auto;
}


.information th,
.information td{
width:100%;
display:block;
}



h2:before{
font-size:0.75rem;
}

h2:after{
top:-10px;
}

.session-program{
padding:0;
}

.session-program td{
padding:30px;
}

.session-program td.session .session-title{
font-size:1.5rem;
}



.session-program td .profile,
.session-program td .profile_name {font-size: 12px;}


.session-program td.session .profile_thumb{
float:none;
}

.session-program td.session .js-profile-detail{
padding-left:0;
}


.btn {
margin:45px auto;
font-size:16px;
}


.privacy-note{
margin:20px 10px;
padding:15px;
}




}






/* login page *************************************************************************** /


.event-header.webinar-header{
height:300px;
}


.event-header.webinar-header h1 .ttl-headline {
  font-size: 1.25rem;
}


.event-header.webinar-header h1 .ttl-main {
font-size:1.75rem;
}





/* video page ***************************************************************************/


.video_block{
position:relative;
backdrop-filter: blur(10px);
padding-top:45px;
}


.video {
  width:95%; 
  margin: 40px auto;
}

.video-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
z-index:100;
}

.video-wrapper iframe,
.video-wrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video_block p{
position:relative;
z-index:100;
}


.video_block p a{
color:#12fdff;
font-weight:bold;
}



.enq-text{
font-size:1.25rem;
color:#fff;
border-top:1px dotted #fff;
margin-top:50px;
padding-top:30px;
}


.btn-download{
margin:8% auto;
width:90%;
}

.btn-download .btn{
display:block;
max-width:600px;
padding:10px;
background:rgba(27,63,124,0.5);
border:5px solid #0776d4;
color:#fff;
text-align:center;
border-radius:50px;
cursor: pointer;
}

.btn-download .btn:hover{
background:rgba(0,0,0,0.4);
border:5px solid #0776d4;
color:#0776d4 !important;
}








@media screen and (max-width: 800px) {

   .movie_title h1 {float: none; font-size: 1.25rem; margin: 0;}
   .video {padding:5px;}

}





