@import url('https://fonts.googleapis.com/css2?family=Alatsi&display=swap');

/**************** base ****************/

body {
  position: relative;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #666;
    font-family: 'Alatsi', 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;
background-color:#fff;
}


.container {
width: 100%;
position:relative;
}


.container:before{
content:"";
bottom:0;
left:0;
background:url(/info/event/security/202402/media/bg_main.jpg) center bottom no-repeat;
width: 100%;
height: 100vh;
position: fixed;
z-index: -1;
}


.container-fluid {
max-width: 1000px;
margin: 0 auto;
padding-top: 0;
background-color: transparent;
position:relative;
z-index:100;
}



#social_bkm_wrap_top {
margin-bottom: 0;
height: auto;
border: none;
}



/**************** header ****************/

.event-header {
position: relative;
width:100%;
padding:0;
overflow:hidden;
}

.event-header:before{
content:"";
position:absolute;
top:8%;
right:8%;
background:url(/info/event/security/202402/media/parts_main.png) right top no-repeat;
width: 100%;
height: 100%;
z-index: 1;
}


.event-header .header-inner{
/*position:absolute;
top:20%;*/
width: 100%;
height:500px;
margin: 0;
padding:0 10%;
display:flex;
flex-direction:column;
justify-content:center;
}


.event-header h1{
z-index: 10;
text-align:left;
font-weight:normal;
line-height: 1.3;
font-feature-settings: "palt" 1;
position:relative;
z-index:100;
}


.event-header h1 .ttl-headline {
position: relative;
display:block;
color: #0cb3cc;
font-size:clamp(1.25rem, 1rem + 1.25vw, 2.25rem);
font-family: 'Alatsi', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
font-weight:normal;
text-shadow: none;
padding:5px 0;
width:fit-content;
}


.event-header h1 .ttl-main {
color:#fff;
font-weight:normal;
font-size:clamp(1.5rem, 1.125rem + 1.88vw, 3rem);
font-family: 'Alatsi', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
display:block;
}


@keyframes fade{
  0% {
    opacity: 0;
}

  100% {
    opacity: 1;
}
}


@keyframes fade-up{
  0% {
    opacity: 0;
transform:translateY(40px);
}

  100% {
    opacity: 1;
transform:translateY(0);
}
}




/* ripples */

.ripples{
    position: absolute;
    top: 0;
    right: 0;
z-index:-1;
}


.ripples:before,
.ripples:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    animation: ripples 2.5s infinite;
z-index:-1;
}

.ripples:before,
.ripples:after {
    content: "";
}

.ripples:before {
    animation-delay: 0.5s;
}

.ripples:after {
    animation-delay: 0.75s;
}

@keyframes ripples {
    0% {
        width: 0;
        height: 0;
        background:rgba(34,50,173,0.5);
    }
    
    100% {
        width: 800px;
        height: 800px;
        background:rgba(34,50,173,0.25);
    }
}



/* 日時 */


.info-date{
font-size: 2.25rem;
text-align: left;
color: #0cb3cc;
z-index:10;
opacity:0;
animation: fade-up 0.5s linear 0.5s 1 forwards;
}


.info-date span{
line-height:1.5;
display:block;
font-family: 'Alatsi', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

.info-date span.place{
background-color:#0cb3cc;
color:#fff;
padding:5px 15px;
font-size:60%;
border-radius:3px;
width:fit-content;
}

.info-date span strong{
font-size:200%;
font-weight:normal;
margin:0 5px;
}




/**************** 開催概要 ****************/



.event-summary{
padding: 0 10% 45px;
box-shadow:0 25px 20px -20px #444;
position:relative;
z-index:10;
}


.event-summary p{
font-size: 16px;
line-height: 1.8;
margin:0 0 10px -15px;
padding:16px;
color: #fff;
max-width:980px;
backdrop-filter: blur(3px);
font-family: "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
opacity:0;
animation: fade-up 0.5s linear 1.0s 1 forwards;
}

.event-summary p:nth-of-type(2n) {
opacity:0;
animation: fade-up 0.5s linear 1.5s 1 forwards;
}


.event-summary .social_bkm_wrap_top{
opacity:0;
animation: fade 0.5s linear 2s 1 forwards;
}



.event-overview{
background-color:#fff;
padding-bottom:5%;
overflow:hidden;
position:relative;
z-index:5;
}


/*.event-overview:before{
content:"";
position:absolute;
bottom:0;
right:0;
background:url(/info/event/security/202402/media/parts_section.png) right bottom no-repeat;
width:100%;
height:100%;
}*/

.parallax1{
background:#fff url(/info/event/security/202402/media/parts_overview.png) center bottom no-repeat;
}


table.information {
margin:45px auto;
padding:25px;
border:1px solid #e0e0e0;
font-size: 16px;
backdrop-filter: blur(4px);
position:relative;
z-index:100;
}

table.information th,
table.information td{
background:rgba(255,255,255,0.3);
color:#1c2c40;
border-top:none !important;
border-right:1px solid #e0e0e0 !important;
border-bottom:1px solid #e0e0e0 !important;
border-left:none !important;
font-weight:normal;
}

table.information th.last,
table.information td.last{
border-bottom:none !important;
}


.information th{
/*min-width: 12em;*/
padding:0 15px;
color:#fff;
width:25%;
position:relative;
}


.information td{
padding:15px;
border-right:none !important;
}


.information td .place{
background-color:#7c26d7;
color:#fff !important;
border-radius:3px;
margin:0 5px;
padding:0 5px;
line-height:1.3;
display:inline-block;
}

.information td .place:hover{
background-color:#151515;
}


/**************** 見出し ****************/



h2 {
text-align:center;
padding:55px 20px;
color:#fff;
font-weight: normal;
border: none;
background: none;
font-feature-settings: "palt" 1;
display:flex;
justify-content:center;
align-items:center;
position: relative;
z-index:5;
}


h2 span{
font-family:'Alatsi', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
font-size: clamp(2rem, 1.75rem + 1.25vw, 3rem);
margin:0 25px 0 0;
padding:0 25px 0 0;
position:relative;
}

h2 span:before{
content: "";
display: block;
position:absolute;
top:0;
right:0;
width:1px;
height:100%;
background-color:#e0e0e0;
}

h2 small{
font-size: 1.5rem;
margin:10px 0 0 0;
color:#fff;
}

h2.overview,
h2.overview small{
color:#1c2c40;
}



/**************** session ****************/


.event-session{
padding-bottom:10%;
backdrop-filter: blur(3px);
position:relative;
z-index:5;
}


.parallax2{
background:url(/info/event/security/202402/media/parts_section_left.png) left top no-repeat;
position:relative;
z-index:10;
}





.session-program{
margin:40px auto;
padding:0;
/*background-color:#fff;*/
border-radius:3px;
position:relative;
z-index:10;
}

.session-program table{
position:relative;
}


.session-program th,
.session-program td {
border:none !important;
}


.session-program th {
width:25%;
text-align: center;
font-size:1.75rem;
font-weight:normal;
color: #fff;
background-color: #0cb3cc;
/*background: linear-gradient(180deg, rgba(12,179,204,1) 0%, rgba(56,206,228,1) 100%);*/
}

.session-program th.keynote{
background-color: #8e1699;
/*background: linear-gradient(180deg, rgba(142,22,153,1) 0%, rgba(208,49,223,1) 100%);*/
}

.session-program th.discussion{
background-color:#2232ad;
/*background: linear-gradient(180deg, rgba(34,50,173,1) 0%, rgba(85,104,249,1) 100%);*/
}


.session-program td {
position: relative;
padding: 25px;
  color: #1c2c40;
  background-color: #fff;
line-height: 1.3 !important;
}


.session-program td .session-title {
margin: 0 0 16px;
padding: 0;
line-height:1.4;
text-align:left;
font-size: 2rem;
font-feature-settings: "palt" 1;
letter-spacing:-0.05em;
color:#1c2c40;
border: none !important;
}

.session-program td .session-title small {
display: block;
font-size: 85%;
font-weight: normal;
}

.session-program .session-label {
display:block;
margin:5px 0 10px;
padding:4px 10px;
text-align:left;
font-size:1rem;
background-color:#0cb3cc;
border:1px solid #0cb3cc;
color:#fff;
width:fit-content;
line-height:1.3;
font-family:'Lexend', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

.session-program .session-label.keynote{
background-color:#8e1699;
border:1px solid #8e1699;
color:#fff;
}

.session-program .session-label.discussion{
background-color:#2232ad;
border:1px solid #2232ad;
color:#fff;
}


td.session .summary {
letter-spacing: 0;
font-size:1rem;
line-height:1.5;
}

td.session .profile {
margin:20px 0;
padding: 35px 0 0 0;
clear: both;
border-top: 1px solid #e5e5e5;
font-size:1rem;
color:#293b4d;
overflow: hidden;
}

td.session .profile_thumb {
float: left;
width: 130px;
margin: 0 20px 30px 5px;
box-shadow:0 0 5px #ccc;
}


td.session .profile_name {
line-height: 1.6;
/*font-weight: bold;*/
}

td.session .profile_name span{
font-size:110%;
font-weight: bold;
display:block;
}

td.session .profile_accordion {margin: 8px 0 0 0; line-height: 1.6;}
td.session .js-profile-trigger {
  position: relative;
  display: inline-block;
  padding:2px 5px;
  background-color: #1c2c40;
  color:#fff;
  font-size:12px;
  text-align:center;
  cursor: pointer;
}

td.session .js-profile-trigger:hover{
background-color: #f0f0f0;
color:#1c2c40;
transition:0.3s;
}


td.session .js-profile-detail {
padding-top: 16px;
padding-left:155px;
font-size:14px;
color:#6680a0;
}



td.session .label-position{
    border:1px solid #2232ad;
    color: #2232ad;
    margin: 0 0 20px 0;
    padding: 2px 10px;
text-align:center;
    font-size: 14px;
    width: 120px;
}





/*animation*/




.fadeIn.is-animated {
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeUp.is-animated {
  animation-name: fadeUp;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeDown.is-animated {
  animation-name: fadeDown;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeRight.is-animated {
  animation-name: fadeRight;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fadeLeft.is-animated {
  animation-name: fadeLeft;
  animation-duration: 1s;
  animation-fill-mode: both;
}



@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(80px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes fadeDown {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes fadeRight {
  0% {
    opacity: 0;
    transform: translateX(-20%);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}

@keyframes fadeLeft {
  0% {
    opacity: 0;
    transform: translateX(20%);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}


/**************** entry ****************/


.event-entry{
background: rgb(28,44,64);
background: linear-gradient(0deg, rgba(28,44,64,1) 0%, rgba(34,50,173,0.98) 100%);
/*background-color:#1c2c40;*/
box-shadow:0 25px 20px -20px #444;
position:relative;
z-index:10;
}


.parallax3{
background:url(/info/event/security/202402/media/parts_section_right.png) center top no-repeat;
background-size:contain;
}



.privacy-note {
margin:0 0 48px 0;
padding: 24px;
/*background-color: #fff;*/
font-size: 12px;
text-align:left;
border:1px solid #fff;
border-radius:3px;
/*box-shadow:0 0 20px #d5d5d5;*/
}

.privacy-note p{
color:#fff;
}

.privacy-note p a{
color:#0cc4f9;
/*font-weight:bold;*/
}




/**************** btn default setting ****************/


.btn-register {
width: 90%;
margin: 0 auto;
padding:0;
text-align:center;
position:relative;
z-index:10;
}


.btn {
display: inline-block;
margin:40px 5px;
padding: 4px 12px;
color: #fff;
background: rgb(124,38,215);
background: linear-gradient(90deg, rgba(124,38,215,1) 0%, rgba(12,179,204,1) 100%);
text-align: center;
vertical-align: middle;
cursor: pointer;
border-radius: 50px;
box-shadow:0 15px 15px -15px #151515;
position: relative;
transition: all .3s;
}



.btn:hover{
color: #fff !important;
background: linear-gradient(90deg, rgba(124,38,215,1) 50%, rgba(12,179,204,1) 100%);
text-decoration:none;
box-shadow:0 25px 25px -25px #050505;
}


.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%;
font-weight:bold;
}



/*btn size setting*/

.large{
width: 80%;
height: 100px;
line-height:60px !important;
font-size: 20px;
}

.small{
width: 50%;
height:80px;
font-size:20px;
}




/**************** sponsor ****************/


.sponsor {
padding: 60px 0 0;
background: #fff;
position:relative;
z-index:1;
}


.sponsor h3 {
margin: 15px auto;
padding:10px 25px;
width:fit-content;
text-align: center; 
font-size: 1.25rem;
font-weight:normal;
border-top:1px solid #e5e5e5;
border-bottom:1px solid #e5e5e5;
/*background-color:#f8f8f8;*/
color: #666;
}

.sponsor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
margin:0;
}

.sponsor li {
  width: 25%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}


.sponsor ul:first-of-type li {margin: 0 5%;}



.privacy-area {
    border: 1px solid #ccc;
    margin: 50px auto 0;
    padding: 16px;
    height: 150px;
    overflow: auto;
}
.privacy-area p.content {
    font-size: 80%;
    margin: 15px auto;
    text-align: center;
}
.privacy-area p {
    font-size: 50%;
    line-height: 2.0;
}



/**************** inquiry ****************/

.event-inquiry{
/*background:rgba(28,44,64,0.85);*/
/*padding-bottom:30px;*/
backdrop-filter: blur(3px);
text-align:center;
position:relative;
}

.event-inquiry:before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:url(/info/event/security/202402/media/parts_inquiry.png) center top no-repeat;
}


.event-inquiry p{
position:relative;
z-index:10 !important;
padding:50px 0;
color:#fff;
}

.event-inquiry p a{
color:#0672cb;
}

footer{margin-top:0;}









/* responsive 
------------------------------------------------------------------------------- */



@media (max-width: 960px) {



.event-header:before{
top:5%;
right:5%;
background-size:40%;
}

.event-header .header-inner{
height:400px;
padding:0 5%;
}


.event-summary{
padding:0 5% 45px;
}


.info-date {
font-size:1.75rem;
bottom:10px;
}




h2 {
padding:25px 20px 20px;
}


.event-session{
padding-bottom:5%;
}

.session-program th,
.session-program td .session-title {
font-size:1.5rem;
}




.large, .small{
width:80% !important;
margin:30px auto;
}


.sponsor li {
  width: 100%;
  margin-bottom: 24px;
}




}



@media (max-width: 640px) {


.event-header:before{
top:45%;
right:5%;
background-size:35%;
}


.event-header .header-inner{
height:300px;
padding:0 5%;
}


@keyframes ripples {
    0% {
        width: 0;
        height: 0;
        background:rgba(34,50,173,0.5);
    }
    
    100% {
        width: 500px;
        height: 500px;
        background:rgba(34,50,173,0.25);
    }
}



.info-date {
font-size:1.5rem;
bottom:10px;
}

.event-summary{
padding:0 5% 5%;
}


table.information th,
table.information td{
width:100%;
display:block;
border-right:none !important;
}

table.information th{
background-color:#0cb3cc;
color:#fff;
}


.session-program th{
font-size:1rem;
padding:0 !important;
}



.session-program td{
padding:10px;
}



.session-program .session-label{
font-size:0.75rem;
}
.session-program td .session-title {
font-size:1.25rem;
}


.session-program td.session .profile_name,
.session-program td.session .profile_detail {font-size: 13px; line-height: 1.3;}

.session-program td.session .profile {font-size: 13px;}

.session-program td.session .js-profile-detail{
padding-left:0;
}


td.session .profile_thumb{
float:none;
margin:0 0 15px 0;
}


.large, .small{
width:100% !important;
margin:30px auto;
}




}














