@import url('https://fonts.googleapis.com/css2?family=Inder&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: #080e14;
font-family: 'Inder', 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:none;
}

footer{
position:relative;
z-index:1000;
}


.container{
width:100%;
position: relative;
/*background:url(/info/event/macnica/202310/media/main-background.jpg) right top no-repeat;
background-attachment: fixed;*/
}



.container:before{
content:"";
position: fixed;
top:0;
right:0;
width:100%;
height:100%;
background:url(/info/event/macnica/202310/media/main-background.jpg) right top no-repeat;
background-attachment: fixed;
background-size: 100% auto;
}

.container-fluid {
max-width: 1000px;
margin: 0 auto;
padding:0 !important;
background-color: transparent;
}



#social_bkm_wrap_top {
margin-bottom: 0;
height: auto;
border: none;
}


/* background */


.container-background-purple,
.container-background-green,
.container-background-white{
position:relative;
width:100%;
padding:0;
}


.container-background-purple:before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background: linear-gradient(135deg, rgba(99,17,135,1) 0%, rgba(183,67,204,0.75) 100%);
transform: skewY(-5deg);
transform-origin: top left;
box-shadow:0 0 30px #999;
}



.container-background-green:before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background: linear-gradient(135deg, rgba(33,140,127,1) 0%, rgba(120,230,216,0.75) 100%);
transform: skewY(5deg);
transform-origin: top left;
box-shadow:0 0 30px #999;
}

.container-background-white:before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index:1;
background:#fff;
transform: skewY(5deg);
transform-origin: top left;
box-shadow:0 0 30px #999;
}






/* header */

.event-header{
position: relative;
width:100%;
}


.event-header .event-title{
max-width:1050px;
margin:0 5%;
position:relative;
}

.event-header h1{
position: relative;
z-index: 10;
margin: 10% 0 0 0;
display:flex;
flex-direction:column;
/*justify-content:center;*/
font-weight:normal;
font-feature-settings: "palt" 1;
line-height: 1.3;
width:fit-content;
height:450px;
}

.event-header h1 .ttl-headline{
position: relative;
display:block;
color: #931ba8;
font-size: 1.75rem;
text-shadow: none;
font-family: 'Inder', sans-serif;
margin:10px 0;
padding:0;
width:fit-content;
position:relative;
}

.event-header h1 .ttl-headline span{
font-size:80%;
}

.event-header h1 .ttl-main{
color: #151515;
display:block;
font-size:2.5rem;
margin:20px 0;
padding:0;
}

.event-header h1 .ttl-main .ttl-flowing{
width:0;
margin:0 0 5px 0;
display:block;
overflow: hidden;
white-space: nowrap;
animation: text-flowing 1s forwards linear;
}

.event-header h1 .ttl-main .ttl-flowing:nth-child(2) {
animation-delay: 1.3s;
}


@keyframes text-flowing {
 0%{
     width: 0%;
   }
100%{
     width: 100%;
   }
}



.info-date {
position:absolute;
top:50%;
left:0;
margin:0;
padding: 0 30px;
font-size: 1.25rem;
font-feature-settings: "palt";
color: #252525;
background:rgba(255,255,255,0.85);
border-top:6px solid #931ba8;
border-radius:10px;
box-shadow:0 0 20px #999;
z-index:1000;
opacity:0;
animation: fade 0.5s 2.0s forwards linear;
}


.info-date span{
display:block;
}

.info-date span strong{
font-size:220%;
font-weight:normal;
color:#931ba8;
}


@keyframes fade{
  0% {
    opacity: 0;}

  100% {
    opacity: 1;}
}



/* 開催概要 */


.event-summary {
padding: 0 16px 5%;
position:relative;
z-index:1;
}


.event-summary:after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:url(/info/event/macnica/202310/media/main-parts.png) -150px top no-repeat;
background-attachment: fixed;
opacity:0.2;
}


.event-summary p {
font-size: 16px;
line-height: 1.8;
margin-bottom:10px;
padding: 16px;
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{
position:relative;
z-index:100;
}

.event-overview dl{
margin:45px auto 0;
padding:25px;
border-radius:10px;
font-size: 16px;
font-weight:bold;
color:#444;
background:rgba(255,255,255,0.6);
border:5px solid #fff;
box-shadow:0 0 20px #e0e0e0;
}


.event-overview dt {
min-width: 11em;
margin-bottom: 16px;
padding:0;
position:relative;
}

.event-overview dt:before{
content:"";
position:absolute;
top:20%;
left:-35px;
width:15px;
height:15px;
border-radius:3px;
background-color:#631187;
}


.event-overview dd {
margin: 0 0 24px 12em;
}


.event-overview .note{
font-size:16px;
color:#444;
margin:20px auto;
padding:10px;
text-align:center;
background:rgba(255,255,255,0.8);
box-shadow:0 0 20px #e0e0e0;
border-radius:8px;
}


/* 見出し */



h2 {
text-align:center;
margin:12% auto 0;
padding:0;
color: #fff;
font-weight: normal;
font-size: 4rem;
border: none;
background: none;
font-feature-settings: "palt" 1;
position: relative;
z-index:10;
}

h2:before{
content:"";
position:absolute;
top:-10px;
left:calc(50% - 50%);
width:100%;
/*height:100%;*/
/*color:rgba(255,255,255,0.2);*/
font-size:16px;
font-family: 'Inder', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
color:#fff;
z-index:-1;
}

h2.overview{
margin:0 auto;
color:#631187;
}

h2.overview:before{
content:"開催概要";
color:#631187;
}


h2.session:before{
content:"講演内容";
}

h2.register:before{
content:"参加申し込み";
}

h2.inquiry:before{
content:"お問い合わせ";
}



/* session program */


.event-session{
padding-bottom:36px;
position:relative;
z-index:1;
}

.event-session:after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:url(/info/event/macnica/202310/media/main-parts.png) -150px top no-repeat;
background-attachment: fixed;
opacity:0.2;
}


.session-program{
max-width:1000px;
padding-top:30px;
position:relative;
z-index:10;
}


.session-program table{
margin:20px auto 45px;
/*background:rgba(255,255,255,0.5);*/
background-color:#fff;
border-radius:10px;
position: relative;
}


.session-program th,
.session-program td {
vertical-align:top;
border:none !important;
margin:0 0 0 5%;
}


.session-program td {
padding: 5% 30px 30px;
/*background:rgba(255,255,255,0.5);*/
line-height: 1.3 !important;
position: relative;
}

.session-program td .title {
margin: 0 0 16px;
padding: 0;
line-height:1.4;
font-size: 1.5rem;
font-feature-settings: "palt" 1;
border: none !important;
}
.session-program td .title small {
display: block;
font-size: 85%;
font-weight: normal;
}

.session-program .session-label{
position:absolute;
top:-20px;
left:0;
margin:0 0 40px 0;
padding:12px 20px;
font-size:20px;
font-weight:normal;
color: #fff;
text-align:center;
line-height:1.8;
width:fit-content;
font-family: 'Inder', Arial, "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
border-radius:0 8px 8px 0;
/*background-color:#631187;*/
background-color:#78e6d8;
z-index:10;
}

.session-program .session-time{
font-size:18px;
margin:20px 0 10px 0;
color:#999;
font-size:1.25rem;
}



td.session .summary {
letter-spacing: 0;
font-size:1rem;
}

td.session .profile {
margin:20px 0;
padding: 16px 0;
clear: both;
border-top: 1px dotted #2da596;
font-size:1rem;
color:#333;
overflow: hidden;
}

td.session .profile_thumb {
float: left;
width: 120px;
margin: 0 16px 4px 8px;
box-shadow:0 0 10px #e5e5e5;
}


td.session .profile_name {
line-height: 1.6;
}

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-right: 20px;
  color: #2da596;
  cursor: pointer;
font-size:14px;
}
td.session .js-profile-trigger::before,
td.session .js-profile-trigger::after {
  content: "";
  position: absolute;
  display: block;
}
td.session .js-profile-trigger::before {
  top: 5px;
  right: 2px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #2da596;
  border-right: 2px solid #2da596;
  transform: rotate(135deg);
}


td.session .js-profile-detail {
padding-top: 5px;
padding-left:140px;
font-size:14px;
color:#2da596;
}




/*btn default setting*/


.btn-register {
width: 100%;
margin: 20px auto;
padding:25px 0;
text-align:center;
position:relative;
z-index:10;
}



.btn{
display: inline-block;
vertical-align: middle;
margin:40px auto;
padding: 4px 8px;
margin-bottom: 0;
font-size: 16px;
line-height: 20px;
color: #fff;
background:rgba(0,0,0,0.35);
border:5px solid #fff;
box-shadow:0 0 20px #e0e0e0;
text-align: center;
border-radius: 15px;
cursor: pointer;
position:relative;
}


.btn:before{
content:"";
position:absolute;
top:calc(50% - 10px);
right:30px;
width: 20px;
height: 20px;
border-top: solid 3px #fff;
border-right: solid 3px #fff;
-webkit-transform: rotate(45deg);
transform:translateX(-20px) rotate(45deg);
border-radius:2px;
z-index:10;
}

.btn:hover:before{
transform:translateX(0) rotate(45deg);
}


/*.btn:after{
content:"";
position:absolute;
top:calc(50% - 20px);
right:15px;
width:40px;
height:40px;
border-radius:50%;
background-color:rgba(0,0,0,0.25);
}*/


.btn:hover{
color: #fff !important;
/*background-color:#b743cc;*/
background:rgba(183,67,204,0.85);
text-decoration:none;
}


.btn,
.btn::before,
.btn::after {
box-sizing: border-box;
transition: all .3s;
}



.btn span{
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}


/*btn color action setting*/

.button_red,
.button_green {
	position: relative;
	border-radius: 6px;
	color: #fff;
	background-color:#ff7600;
	/*box-shadow: 0 4px 0 #ae5000;*/
margin:40px 5px;
}


.button_red:hover {
	background-color: #fe9d49;
	/*box-shadow: 0 4px 0 #9b2924;*/
	text-decoration:none;
	color: #fff !important;
}


.button_green {
	background-color:#56AC56;
	box-shadow: 0 4px 0 #348734;
}
.button_green:hover {
	background-color: #6cc76c;
	box-shadow: 0 4px 0 #47a147;
	text-decoration:none;
	color: #fff !important;
}





/*btn size setting*/

.large{
width: 100%;
height: 85px;
font-size: 1.5rem;
}


.btn .request:hover{
color: #fff !important;
background-color:#b743cc;
text-decoration:none;
}

.small{
width: 35%;
height: 85px;
font-size: 18px;
}




/* register */


.event-register{
position:relative;
z-index:100;
}


.privacy-note {
margin:0 0 48px 0;
padding: 24px;
background:rgba(255,255,255,0.75);
border:5px solid #fff;
font-size: 12px;
text-align:left;
border-radius:10px;
box-shadow:0 0 20px #999;
}

.privacy-note p{
margin:0 0 10px 0;
}

.privacy-note p a{
color:#b743cc;
font-weight:bold;
}


/* sponsor logo */


.sponsor {
padding: 10% 0 0;
position:relative;
}


.sponsor h3 {
margin: 0 auto;
padding:3px 0;
text-align: center; 
border: none;
font-size: 1.25rem;
font-weight:normal;
color: #444;
border-top:1px solid #d5d5d5;
border-bottom:1px solid #d5d5d5;
width:fit-content;
position:relative;
z-index:10;
}

.sponsor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
margin:0 auto;
position:relative;
z-index:10;
max-width:1000px;
}
.sponsor li {
  width: 30%;
  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 */

h2.inquiry{color:#fff;}

.inquiry{
text-align:center;
padding:15px 0;
position:relative;
z-index:100;
}

.inquiry p{
position:relative;
z-index:10 !important;
margin:30px auto;
color:#fff;
}

.inquiry p a{
color:#b743cc;
font-weight:bold;
}

footer{margin-top:0;}






/* responsive 960px
------------------------------------------------------------------------------- */


@media (max-width: 960px) {

.container:before{
background-position:right top;
background-size:cover;
opacity:0.6;
}

.event-header:before{
background-position:left top;
opacity:0.7;
}

.event-header h1{
height:400px;
}

.event-header h1 .ttl-headline{
font-size:1.25rem;
background: linear-gradient(135deg, rgba(99,17,135,0.9) 0%, rgba(183,67,204,0.4) 100%);
color:#fff;
border-radius:5px;
padding:5px 20px;
box-shadow:0 0 20px #999;
}

.event-header h1 .ttl-main{
font-size:2rem;
background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.4) 100%);
background:rgba(255,255,255,0.85);
border-radius:10px;
padding:10px 20px;
box-shadow:0 0 20px #999;
}


.info-date{
font-size: 1rem;
top:55%;
}


.event-overview dl{
margin:45px 20px;
}

.event-overview .note{
margin:15px 20px;
}


h2 {
font-size: 3rem;
}
 


.large, .small{
width:95%;
margin:30px auto;
font-size:1.25rem;
}


.session-program{
padding:20px;
}


.session-program .session-label{
padding:10px;
font-size:16px;
}

.session-program .session-time,
.session-program td .title{
font-size:1.25rem;
}

td.session .summary,
td.session .profile{
font-size:0.85rem;
}


.sponsor li {
  width: 100%;
  margin-bottom: 24px;
}



.privacy-note {
margin:20px;
}



}


/* responsive 600px
------------------------------------------------------------------------------- */


@media (max-width: 600px) {


.container-fluid {margin: 0;}




.event-header .event-title{
margin:0 10px;
}

.event-header h1{
height:350px;
}


.event-header h1 .ttl-headline{
font-size:0.85rem;
padding:5px;
}

.event-header h1 .ttl-main{
font-size:1.25rem;
padding:10px;
}

.info-date{
font-size:0.8rem;
padding:5px;
}


.event-overview dt,
.event-overview dd{
width:100%;
float:none;
}

.event-overview dd{
margin:0 0 24px;
}



h2{
font-size: 2rem;
}

h2.overview{
margin:5% auto;
color:#fff;
}

h2.overview:before{
color:#fff;
}


.event-summary{
padding:15px;
}

.event-summary p{
padding:0;
}




h2:before{
bottom:-100px;
}


.information dt {
    clear: both;
    width: auto;
    float: none;
    font-size: .85rem;
    font-weight: bold;
    margin: 0 0 10px;
    width: auto;
}

.information dd {
margin: 0 0 10px 0;
border-bottom:1px dotted #999;
padding-bottom:5px;
font-size: .875rem;
}



.session-program td .profile {
line-height: 1.5;
}


.session-program td .profile_name,
.session-program td .profile_detail {
font-size: 14px;
line-height: 1.3;
}

.session-program td.session .js-profile-trigger,
.session-program td.session .js-profile-detail{
font-size:12px;
}


}






/**/


/* login page setting
------------------------------------------------------------------------------- */


.event-header.webinar-header h1{
height: 200px;
margin:3% 0 0 0;
}


.event-header.webinar-header h1 .ttl-headline {
font-size:1.25rem;
}

.event-header.webinar-header h1 .ttl-main {
font-size:1.75rem;
}



@media (max-width: 600px) {

.event-header.webinar-header h1{
height:200px;
}


.event-header.webinar-header h1 .ttl-headline {
font-size:.85rem;
}

.event-header.webinar-header h1 .ttl-main {
font-size:1.25rem;
}


}





/* video page setting
------------------------------------------------------------------------------- */


.video_block{
position:relative;
z-index:100;
}


.video {
  width:90%; 
  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:#b743cc;
font-weight:bold;
}



.btn-register .enq-text{
color:#444;
font-weight:bold;
background:rgba(255,255,255,0.7);
margin:10px;
padding:10px;
border-radius:10px;
}



@media screen and (max-width: 800px) {
   .video {width:100%; padding:10px;}

}


@media screen and (max-width: 600px) {

.video p{
color:#fff;
}

}



