@charset "UTF-8";
/*
NIKKEI
WE WORKS 2025.07 CUSTOM.CSS
*/



/* Hero ============================================== */
#hero { position: relative; margin: 0; padding: 0; width: 100%; height: 85vh; background: url("../images/top/ticad9-hero.jpg") 50% 0% no-repeat #000; background-size: cover; display: grid; place-items: center; }
/* タイトル画像 */
#hero #top-item { position: absolute; bottom: 3%; left: 5%; /*transform: translate(-50%, -50%);*/ width: 60%; z-index: 2; }
#hero #top-item img,
#hero #top-item-en img { width: 100%; }
#hero #top-link { position: absolute; bottom: 7%; left: 50%; transform: translate(-50%, -50%); margin: 0; width: 30%; z-index: 20; }
#hero #top-link p { margin: 0 auto 1em; font-size: 12px; font-weight: 600; text-align: center; color: #ff3200; }
#hero #top-link a img { width: 100%; cursor: pointer; }
#hero #top-link a:hover img { opacity: 0.8; }
@media(max-width:768px) {
#hero { position: relative; margin: 0; height: 85vh; background: url("../images/top/ticad9-hero.jpg") 75% 0% no-repeat; background-size: cover; }
#hero #top-item { position: absolute; margin-top: 50px; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; }
}




/* H2 title */
h2.h2title { margin-bottom: 30px; padding-bottom: 0em; text-align: left; font-size: 28px; font-family: "Oswald", sans-serif!important; font-weight: 500; line-height: 1.2; }
h2.h2title.wht { border-bottom-color: #fff; color: #fff; }
h2.h2title.jp { margin-bottom: 0em!important; }
h2.h2title.center { text-align: center!important; }
i.ititle { display: block; margin-bottom: 30px; font-size: 14px; font-weight: 500; font-style: normal; font-family: 'Noto Sans JP', sans-serif; color: #00aca6; text-align: left; letter-spacing: 0; opacity: 0.7; }
i.ititle.wht { color: #fff; }
i.ititle.center { text-align: center!important; }
@media(max-width:768px) {
h2.h2title { margin: 0 auto 30px; font-size: 24px; text-align: center; }
h2.h2title.center { text-align: center!important; }
i.ititle.center { text-align: center!important; }
}





/* Concept - TopPage ============================================== */
section#concept { position: relative; width: 100%; margin: 0 auto; overflow: hidden; 
/* 格子柄 */
background-color: #ffffff;
background-image: linear-gradient(90deg, #eee 1px, transparent 1px), linear-gradient(#eee 1px, transparent 1px);
background-position: 1px 1px;
background-size: 10px 10px;
}
section#concept h3 { margin: 0 0 0.25em; font-family: 'Jost', 'Roboto', 'Noto Sans JP',sans-serif; font-size: 26px; font-weight: 500; line-height: 1.25; text-align: center; color: #000; }
section#concept h3.en { margin: 0 0 0.1em; font-size: 28px; text-transform: uppercase; }
section#concept p { margin: 0 0 2em; font-family: 'Jost', 'Roboto', 'Noto Sans JP',sans-serif; font-size: 16px; line-height: 1.95; text-align: left; color: #000; }
section#concept p.en { margin: 0 0 2em; font-size: 20px; font-weight: 400; line-height: 1.5; }
@media(max-width:768px) {
section#concept h3 { font-size: 20px; }
section#concept p { font-size: 14px; }
}





/* Outline - TopPage ============================================== */
section#outline { position: relative; width: 100%; margin: 0; overflow: hidden; }
.outline { margin-top: 40px; }
.outline dl { display: flex; margin: 0 auto 0; padding: 1.2em 2em; border-top: 1px solid #ddd; width: 100%; }
.outline dl:last-of-type { border-bottom: 1px solid #ddd; }
.outline dl.wht { background-color: #fff; }
.outline dl dt,
.outline dl dd { font-family: 'Roboto', 'Noto Sans JP', sans-serif; text-align: left; font-weight: 400; letter-spacing: 0; }
.outline dl dt { 
/* 子要素を縦中央に */
display: flex; align-items: center; }
.outline dl dt { margin-right: 1%; width: 24%; font-size: 14px; font-weight: 400; color: #666; }
.outline dl dd { width: 75%; font-size: 14px; font-weight: 400; color: #000; }
.outline dl dd span { color: #666; font-size: 12px; font-weight: 400; line-height: 1.25!important; }
/* eng */
.outline dl.en dt,
.outline dl.en dd { font-family: 'Roboto', sans-serif; font-weight: 300!important; letter-spacing: 0.1!important; }
.outline dl.en dt { font-size: 18px!important; font-weight: 300!important; }
.outline dl.en dd { font-size: 18px!important; font-weight: 300!important; }
.outline dl.en dd span { padding-left: 0.5em!important; font-size: 14px!important; font-weight: 300!important; }
.outline dl dd p { margin: 5px 0 0; font-size: 14px; font-weight: 400; color: #666; line-height: 1.25; }
.outline dl dd a { margin: 0; color: #204866; }
.outline dl dd b { font-weight: 500; }
/* logo img */
.outline dl dd ul { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; width: 100%; }
.outline dl dd ul li { margin-right: 5.3%; width: 18%; }
.outline dl dd ul li.mini { width: 16%; }
.outline dl dd ul li.big { width: 23%; margin-top: 10px; margin-bottom: 10px; }
.outline dl dd ul li img { width: 100%; }
/* img + text */
.outline dl dd.float { display: flex; flex-direction: row-reverse; align-items: center; flex-wrap: wrap; width: 70%; }
.outline dl dd.float div.ticad { width: 20%; }
.outline dl dd.float div.ticad img { width: 100%; }
.outline dl dd.float div.txt { width: 80%;}
@media(max-width:768px) {
section#outline h2 { width: 50%; }
section.outline { margin: 0 auto; padding: 40px 0px; border: 0; }
.outline dl { padding: 1.2em 1em; flex-wrap: wrap; width: 100%; }
.outline dl dt { width: 100%; min-width: 100%; margin: 0 0 .4em 0;}
.outline dl dd { width: 100%; display: block; }
/* logo img */
.outline dl dd ul { display: flex; flex-direction: column; }
.outline dl dd ul li { margin: 10px auto 10px; width: 70%; }
.outline dl dd ul li.big { width: 75%; }
.outline dl dd ul li.mini { width: 60%; }
.outline dl dd ul li img { width: 100%; }
/* img + text */
.outline dl dd.float { flex-direction: column-reverse; width: 100%; }
.outline dl dd.float div.ticad { width: 100%; }
.outline dl dd.float div.ticad img { margin: 10px auto; width: 60%; }
.outline dl dd.float div.txt { width: 100%;}
}




/* h3 title + border ============================================== */
article { display: block; }
.head-border { display: flex; align-items: center; margin: 0 auto 20px; }
.head-border:after { content: ""; height: 1px; flex-grow: 1; background-color: #999; }
.head-border h3 { margin: 0 auto!important; padding: 0.4em 3em 0.5em!important; background-color: #000!important; border-radius: 1.25em; font-size: 13px!important; font-weight: 400!important; font-family: 'Oswald', 'Noto Sans JP', sans-serif!important; letter-spacing: 0.07em!important; color: #fff!important; font-style: normal!important; text-align: center!important; line-height: 1.2; }
.head-border h3 span { padding-left: 0.75em; font-size: 13px; letter-spacing: 0!important; }
.head-border h3 span.jp { padding-left: 0.75em; font-size: 13px; font-weight: 500!important; font-family:'Noto Sans JP', sans-serif!important; }
@media(max-width:768px) {
.head-border h3 { font-size: 12px!important; }
}
 



/* Agenda - TopPage ============================================== */
section#agenda { position: relative; width: 100%; margin: 0; padding: 80px 0; background-color: #efeeed; overflow: hidden; }
section#agenda p { margin: 0 auto; font-size: 12px; line-height: 1.5; color: #999; text-align: left; }
section#agenda hr { border: 0; border-bottom: 1px solid #999; }
section#agenda .container h2.agendatitle { display: inline-block; position: absolute; top: -1em; left: 0%; right: 0%; margin: 0 auto; padding: 0.5em 2em; font-size: 14px; font-family: 'Oswald', 'Noto Sans JP', sans-serif; font-weight: 600; line-height: 1.25; text-align: left; color: #fff; background-color: #000; max-width: 50%; }
section#agenda .box { padding: 60px; background-color: #fff; }
@media(max-width:768px) {
section#agenda .container h2.agendatitle { font-size: 15px; max-width: 80%; }
section#agenda .box { padding: 20px; }
}


/* agenda box */
.abendabox { margin: 0 auto 40px; border: 0; width: 100%; }
.abendabox.btm { margin: 0 auto 30px; }
.abendabox h3.sectiontitle,
.abendabox h4,
.abendabox h5,
.abendabox p { margin: 0 auto; font-family: 'Jost', 'Noto Sans JP', sans-serif; font-weight: 500; text-align: left; line-height: 1.25; text-decoration: none!important; }
.abendabox h3.sectiontitle { margin: 0 0 1em 0.25em; padding-left: 0.5em; border-left: 3px solid #00aca6; font-size: 18px!important; font-weight: 500; text-align: left; color: #00aca6; }
.abendabox h3.sectiontitle span { display: block; margin-bottom: 0.25em; padding-right: 0.5em; font-size: 12px; color: #114782; }
.abendabox h4 { margin-bottom: 0.25em; font-size: 18px; font-weight: 500; color: #000; }
.abendabox h5 { margin-bottom: 0; font-size: 12px; font-weight: 400; color: #666; }
.abendabox p { margin-bottom: 1em!important; font-size: 14px!important; font-weight: 400; text-align: left!important; color: #666!important; }
.abendabox p.att { margin-bottom: 0!important; font-size: 12px!important; color: #999!important; text-align: right!important; }
/* 英語 */
.abendabox.en h3.sectiontitle { margin-bottom: 0.2em; font-size: 22px!important; }
.abendabox.en h3.sectiontitle span { margin-bottom: 0.1em; font-size: 14px; text-transform: uppercase; }
.abendabox.en p { font-family: 'Noto Sans JP', sans-serif; font-size: 14px; line-height: 1.5!important; }
@media(max-width:768px) {
.abendabox { width: 100%; }
.abendabox p { }
}

/* agenda flex */
.agenda-flex { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start; margin: 0 auto 10px; text-align: left; }
.agenda-flex.center { justify-content: center!important; }
/* bio flex 2 */
.agenda-flex article { margin: 10px 2% 0 0; width: 49%; }
.agenda-flex article:nth-of-type(2n) { margin-right: 0; }
.agenda-flex article a { display: flex; flex-direction: row; align-items: center; }
.agenda-flex article a div { margin: 0; }
.agenda-flex article a div.imgbox { margin-right: 2%; width: 33%; }
.agenda-flex article a div.txtbox { width: 65%; }
.agenda-flex article a.noclick { pointer-events: none!important; }
.agenda-flex article img.img { margin: 0; border-radius: 10px; width: 100%; }
/* bio flex 1 */
.agenda-flex article.only { margin: 10px 0 0 0; width: 100%; }
.agenda-flex article.only a div.imgbox { margin-right: 1%; width: 16%; }
.agenda-flex article.only a div.txtbox { width: 73%; }
/* photo */
.agenda-flex article a div.imgbox img { margin: 0 auto 10px; border: 1px solid #ccc; border-radius: 50%; width: 100%; }
.agenda-flex article a:hover div.imgbox img { opacity: 0.8; }
/* bio text */
.agenda-flex article a div.txtbox h4,
.agenda-flex article a div.txtbox h5,
.agenda-flex article a div.txtbox h6 { margin: 0 auto; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; text-align: left; line-height: 1.25; text-decoration: none!important; }
.agenda-flex article a div.txtbox h4 { margin-bottom: 0.25em; font-size: 18px; font-weight: 500; color: #000; line-height: 1.1; }
.agenda-flex article a div.txtbox h5 { margin-bottom: 0; font-size: 12px; font-weight: 400; color: #666; }
.agenda-flex article a div.txtbox h6 { display: inline-block; margin-bottom: 0.75em; padding: 0.2em 2em 0.3em; border: 1px solid #00aca6; border-radius: 1em; font-size: 10px; font-weight: 500; color: #00aca6; background-color: inherit; }
.agenda-flex article a div.txtbox h6.keynote { border: 1px solid #00aca6; font-size: 12px; color: #fff; background-color: #00aca6; }
/* 英語 */
.agenda-flex article a div.txtbox h4.en,
.agenda-flex article a div.txtbox h5.en,
.agenda-flex article a div.txtbox h6.en { font-family: 'oswald', sans-serif; font-weight: 400; }
.agenda-flex article a div.txtbox h4.en { font-size: 22px; text-transform: uppercase; }
.agenda-flex article a div.txtbox h5.en { font-family: "lato"; font-size: 13px; line-height: 1.35; color: #888; }
/* 英語 */
.agenda-flex a { text-decoration: none!important; }
.agenda-flex article a:hover div.txtbox h4,
.agenda-flex article a:hover div.txtbox h5 { text-decoration: underline!important; }
@media(max-width:768px) {
.agenda-flex { width: 100%; }
.agenda-flex article { margin: 0 0% 20px; width: 100%; }
/* bio flex 1 */
.agenda-flex article.only { margin: 0 0% 20px; width: 100%; }
.agenda-flex article.only a div.imgbox { margin-right: 2%; width: 33%; }
.agenda-flex article.only a div.txtbox { width: 65%; }
}







/* Registration - TopPage ============================================== */
section#register { position: relative; width: 100%; margin: 0 0 20px; padding: 80px 0; overflow: hidden; background: #f5f5f5; }
section#register p { margin: 0 auto 2em; font-family: 'Roboto', 'Noto Sans JP', sans-serif; font-size: 12px; font-weight: 400; text-align: center; color: #000; }
section#register p a { color: #08c; }
section#register p.attention { margin: 20px 0 0; text-align: center; color: #000; }
section#register p.attention a { color: #08c; }
.register-box { margin: 0 auto; padding: 0; width: 100%; }
.register-box .container { width: 80%; }
.register-box p.description { margin: 10px auto 40px; text-align: center; }
.registe-boxr p.description a { color: #fff; text-decoration: underline; }
/* Pardot Formm iframe ============================================== */
.pardot-iframe { width: 100%; height: 1300px; border: 1px solid #ccc; }
.pardot-iframe2 { width: 100%; height: 1300px; border: 1px solid #ccc; }
@media(max-width:768px) {
section#register h2 { width: 50%; }
.register-box .container { width: 90%; }
.pardot-iframe { width: 100%; height: 1380px; }
.pardot-iframe2 { width: 100%; height: 1380px; }
}

/* form ============================================== */
.form-box { width: 75%; margin: 0 auto 20px; padding: 30px; border: 1px solid #ccc; background-color: #fff; }
@media(max-width:768px) {
.form-box { width: 100%; padding: 5px; }
}







/* Contact  ============================================== */
section#contact { margin: 0 auto; padding: 80px 0; border: 0; }
@media(max-width:768px) {
section#contact h2 { width: 50%; }
}




/* Contact Button ============================================== */
.button-border { display: flex; align-items: center; margin: 40px auto 5px; }
.button-border:before, 
.button-border:after { content: ""; height: 1px; flex-grow: 1; background-color: #ccc; }
.button-border a { margin: 0 auto; padding: 0.5em 5em 0.5em; border: 1px solid #ccc; border-radius: 1.5em; background-color: #ccc; font-size: 12px; font-weight: 400; font-family: 'Roboto', 'Noto Sans JP', sans-serif; letter-spacing: 0; color: #000; text-align: center; text-decoration: none; }
.button-border a i { color: #000!important; }
.button-border a:hover { color: #fff; background-color: #000; }
@media(max-width:768px) {
.button-border a { font-size: 12px; }
}
 








/* Footer ============================================== */
footer#footer { margin: 0; padding: 40px 0; background: #000; width: 100%; }
footer#footer .container { display: flex; flex-direction: row-reverse; text-align: left; }
footer#footer .container .logo { width: 8%; margin-left: 2%; }
footer#footer .container .logo img { width: 100%; }
footer#footer .container .text { width: 90%; margin: 0; padding: 0; }
footer#footer .container .text p,
footer#footer .container .text a { margin: 0; font-size: 12px; font-weight: 400; font-family: 'Roboto', sans-serif; line-height: 1.25; text-align: left; color: #fff; text-decoration: none; letter-spacing: 0; }
footer#footer .container .text a { margin-right: 1em; padding-right: 1em; border-right: 1px solid #fff; }
footer#footer .container .text a:last-of-type { border-right: none; }
footer#footer .container .text a:hover { text-decoration: underline; }
@media(max-width:768px) {
footer#footer .container { display: flex; flex-direction: column; text-align: left; }
footer#footer .container .logo { width: 30%; margin-left: 0%; margin-bottom: 20px; }
footer#footer .container .logo img { width: 100%; }
footer#footer .container .text { width: 100%; margin: 0; padding: 0; }
footer#footer .container .text p { margin-top: 1em; line-height: 1.5; }
footer#footer .container .text a { display: block; margin-right: 0; padding-right: 0; border: 0; }
}








/* SPEAKERS - SpeakersPage ============================================== */
body#speaker { display:flex; justify-content: center; align-items: center!important; width: 100%; height: 100vh; }
body#speaker-top { display:flex; justify-content: center; align-items: flex-start; width: 100%; height: 100vh; }
@media(max-width:768px) {
body#speaker { align-items: flex-start!important; }
}
#speakers-page { margin: 0 auto; padding: 20px; width: 90%; }
#speakers-page h4,
#speakers-page h5 { margin: 0; font-family: 'Jost', 'Noto Sans JP', sans-serif; font-weight: 400; text-align: left; line-height: 1.5; letter-spacing: 0; color: #000; }
#speakers-page h4 { margin-bottom: 0.1em; font-size: 22px; font-weight: 500; }
#speakers-page h5 { margin-bottom: 1em; font-size: 12px; font-weight: 400; line-height: 1.25; color: #666; }
#speakers-page p { margin: 0;  font-family: sans-serif; font-weight: 400; text-align: left; line-height: 1.5; letter-spacing: 0; color: #000; }
/* eng */
#speakers-page h4.en { margin-bottom: 0em; font-size: 24px; text-transform: uppercase!important; }
#speakers-page h5.en { margin-bottom: 1em; font-size: 14px; }
#speakers-page p.en { font-family: 'Roboto', serif; font-size: 18px; font-weight: 300; line-height: 1.25; }
.speakers-page { display: flex; flex-direction: row; align-items: flex-start; margin: 20px auto; width: 100%; }
.speakers-page.top { align-items: flex-start; }
/* flex box */
.speakers-page .box-ph { width: 20%; margin-right: 2%; }
.speakers-page .box-txt { width: 78%; }
/* photo */
.speakers-page .box-ph img { width: 100%; border: 1px solid #e5e5e5; border-radius: 50%; }
.speakers-page .box-ph img.long { margin-bottom: 200px; }
/* text */
.speakers-page .box-txt p { margin: 0;  font-family: sans-serif; font-weight: 400; text-align: left; line-height: 1.5; letter-spacing: 0; color: #000; }
.speakers-page .box-txt p span.indent1 { padding-left: 1em; color: #666; }
.speakers-page .box-txt h4 { margin-bottom: 0; font-size: 24px; font-weight: 500; }
.speakers-page .box-txt h4.en { font-size: 30px; font-family: 'oswald'!important; font-weight: 400!important; }
.speakers-page .box-txt h5 { margin-bottom: 1em; font-size: 14px; font-weight: 400; line-height: 1.25; color: #999; }
.speakers-page .box-txt p { font-size: 14px; color: #333; line-height: 1.5; }
.speakers-page .box-txt p b { color: #000; font-weight: 600; }
.speakers-page .box-txt p i { padding-left: 1em; font-style: normal; color: #777; }
.speakers-page .box-txt p a { color: #08c; text-decoration: none; }
.speakers-page .box-txt p a:hover { text-decoration: underline; }
.speakers-page .box-txt ul.bio {  }
.speakers-page .box-txt ul.bio li { margin-left: 1em; list-style-type: none; color: #666; }
.speakers-page .box-txt ul.bio li.ttl { margin-left: 0; color: #000; }
/* dl flex */
.speakers-page .box-txt dl { margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; width: 100%; }
.speakers-page .box-txt dl dt,
.speakers-page .box-txt dl dd { margin: 0 0 0.25em; padding-bottom: 0.25em; border-bottom: 1px solid #ccc; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; text-align: left; line-height: 1.5; letter-spacing: 0; color: #000; }
.speakers-page .box-txt dl dt { width: 20%; padding-right: 1%; color: #666; }
.speakers-page .box-txt dl dd { width: 80%; }
.speakers-page .box-txt ul li { padding-left: 0em; list-style: circle inside; font-size: 14px; color: #666; letter-spacing: 0; }
@media(max-width:768px) {
#speakers-page { margin: 0 auto; padding: 20px; width: 100%; }
.speakers-page { flex-direction: column; align-items: flex-start; margin: 0 auto 40px; width: 100%; }
/* flex box */
#speakers-page h4 { font-size: 24px; }
#speakers-page h5 { font-size: 14px; }
.speakers-page .box-ph { width: 70%; margin-right: auto; margin-left: auto; margin-bottom: 20px; }
.speakers-page .box-ph img.long { margin-bottom: 0px; }
.speakers-page .box-txt { width: 100%; }
.speakers-page .box-txt p { font-size: 14px; }
.speakers-page .box-txt dl { margin: 0 0 20px; flex-direction: column; }
.speakers-page .box-txt dl dt { width: 100%; padding-right: 0; padding-bottom: 0; margin-bottom: 0; border: 0; }
.speakers-page .box-txt dl dd { width: 100%; margin-bottom: 0.5em; }
}
/* table */
.box-txt table { margin: 0; padding: 0; border: 0; width: 100%; box-sizing: border-box; }
.box-txt tr { }
.box-txt th, 
.box-txt td { margin: 0; padding: 8px 4px 8px 10px; border: 2px solid #fff; font-size: 14px; font-weight: 400; text-align: left; line-height: 1.25; color: #000; vertical-align: middle; letter-spacing: 0; }
.box-txt th { width: 20%; margin-right: 1%; color: #333; background-color: #efefef; }
.box-txt th.wht { background-color: #fff; color: #000; }
.box-txt td { width: 79%; }
.box-txt tr.long th { width: 24%; margin-right: 1%; }
.box-txt tr.long td { width: 75%; }
.box-txt table.en-year th { text-align: right; width: 20%; }
@media(max-width:768px) {
.box-txt table { margin: 0; padding: 0; border: 0; width: 100%; }
.box-txt th, 
.box-txt td { font-size: 12px; }
.box-txt th { display: block; width: 100%; margin-right: 0; }
.box-txt td { display: block; width: 100%; }
.box-txt tr.long th { width: 100%; margin-right: 0; }
.box-txt tr.long td { width: 100%; }
.box-txt table.en-year th { text-align: left; width: 100%; }

}



/*  */
#company-box { display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; }
#company { display: block; margin: auto; padding: 60px 80px; }
#company h5 { margin: 0 0 0.5em; font-size: 16px; font-weight: 600; text-align: left; line-height: 1.25; color: #000; }
#company h6 { margin: 0 0 1em; font-size: 20px; font-weight: 400; text-align: left; line-height: 1.25; color: #204866; }
#company p { margin: 0; font-family: sans-serif; font-weight: 400; text-align: left; line-height: 1.5; letter-spacing: 0; color: #000; }











/* page-contents */
h2.page-title { margin: 0 0 40px; padding-bottom: 40px; border-bottom: 1px solid #333; font-size: 20px; font-weight: 500; line-height: 1.25; text-align: left; color: #000; font-family: 'Roboto', sans-serif; letter-spacing: 0; }
h2.page-title span { font-family: 'Roboto', sans-serif!important; font-weight: 600; font-size: 32px; }
.page-contents { margin: 80px auto; width: 70%; }
.page-contents hr { margin: 40px 0 40px; border: 0; border-bottom: 1px solid #000; }
.page-contents hr.dashed { margin: 40px 0 40px; border: 0; border-bottom: 1px dashed #ccc; }
.page-contents a { color: #0c5a92; text-decoration: underline; }
.page-contents .btm-0 { margin-bottom: 0!important; }
.page-contents .btm-20 { margin-bottom: 20px!important; }
.page-contents .btm-40 { margin-bottom: 40px!important; }
.page-contents .btm-80 { margin-bottom: 80px!important; }
.page-contents .black { color: #000; }
.page-contents .gray { color: #666; }
.page-contents .center { text-align: center; }
.page-contents h2,
.page-contents h3,
.page-contents h4,
.page-contents h5,
.page-contents h6,
.page-contents p { font-family: 'Roboto', sans-serif!important; line-height: 1.5; text-align: left; letter-spacing: 0; }
.page-contents h2 { margin: 0 0 40px; font-size: 24px; font-weight: 500; color: #000; }
.page-contents h3 { margin: 0 0 20px; font-size: 20px; font-weight: 500; color: #000; }
.page-contents h4 { margin: 0 0 40px; font-size: 18px; font-weight: 600; color: #000; }
.page-contents h5 { margin: 0 0 10px; font-size: 18px; font-weight: 600; color: #000; }
.page-contents h6 { margin: 0 0 0px; font-size: 14px; font-weight: 600; color: #000; }
.page-contents p { margin: 0 0 40px; font-size: 14px; font-weight: 400; color: #333; }
.page-contents ul,
.page-contents ol　{ margin-bottom: 20px; }
.page-contents ul li { list-style: circle outside!important; margin-left: 2em; font-size: 14px; font-weight: 400; font-family: 'Roboto', sans-serif!important; line-height: 1.5; color: #333;  text-align: left!important; letter-spacing: 0; }
.page-contents ul.disc li { list-style-type: disc; }
.page-contents ol li { list-style: decimal outside!important; margin-left: 0em; font-size: 14px; font-weight: 400; font-family: 'Roboto', sans-serif!important; line-height: 1.5; color: #333;  text-align: left!important; letter-spacing: 0; }
.page-contents dl { margin: 0 0 40px; }
.page-contents dl dt,
.page-contents dl dd { font-family: 'Roboto', sans-serif!important; letter-spacing: 0; }
.page-contents dl dd { text-indent: -1.0em; margin-left: 1.0em; margin-bottom: 0; padding-left: 1em; font-size: 14px; font-weight: 400; line-height: 1.5; color: #333; text-align: left; }
.page-contents dl dd:before { content: '-'; display: inline-block; width: 1.0em; text-indent: 0; }
@media(max-width:768px) {
h1.page-title { font-size: 20px; }
.page-contents { margin: 80px auto; width: 90%; }
}



/* cookie同意バナー */
.cookie-consent {
display: flex;
justify-content: center;
align-items: center;
position: fixed;
bottom: 0;
width: 100%;
font-size: 12px;
color: #fff;
background: rgba(0,0,0,0.7);
padding: 1em 2em;
box-sizing: border-box;
visibility: hidden;
z-index: 9999;
}
.cookie-consent.is-show {
visibility: visible;
}
/*.policy-link, :link, :visited, :hover, :active {
color: rgb(0, 136, 255);
font-size: 15px;
text-decoration: none;
}*/
.cookie-agree, 
.cookie-reject {
color: #fff;
background: dodgerblue;
padding: 0.5em 1em;
margin-left: 15px;
}
.cookie-agree:hover, .cookie-reject:hover {
cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
display: none;
}
/* ゆっくり消える */
.cc-hide2 {
animation: hide 1s linear 0s;
animation-fill-mode: forwards;
}
@keyframes hide {
from {
opacity: 1;
}
to {
opacity: 0;
visibility: hidden;
}
}
/* メディアクエリ */
@media screen and (max-width: 600px) {
.cookie-consent {
flex-direction: column;
}
.cookie-text {
margin-bottom: 1em;
}
}
/* cookie同意カスタム */
.cookie-text { width: 85%; }
.cookie-agree,
.cookie-reject { width: 10%; font-family: 'Roboto', sans-serif; font-size: 12px; font-weight: 500; }
.cookie-agree { background: #003E70; }
.cookie-reject { background: #999; }
.cookie-consent h6,
.cookie-consent p { margin: 0; font-family: 'Roboto', sans-serif; letter-spacing: 0.2; text-align: left; color: #fff; }
.cookie-consent h6 { font-size: 16px; font-weight: 500; }
.cookie-consent p { font-size: 12px; }
.cookie-consent p a { color: rgb(0, 136, 255); text-decoration: none; }
@media(max-width:768px) {
.cookie-consent {
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
background: rgba(0,0,0,0.7);
padding: 2em;
}
.cookie-text { width: 100%; }
.cookie-agree { width: 100%; margin-left: 0; margin-bottom: 0.5em; }
.cookie-reject { width: 100%; margin-left: 0; }
}







/* 視聴ページ hero ============================================== */
#hero2 { position: relative; margin: 0; padding: 0; width: 100%; height: auto; background: url("../images/top/futureofspace24-hero.jpg") 50% 50% no-repeat; background-size: cover; }
#hero2 h2.logo { margin: 20px auto; width: 20%; }
#hero2 h2.logo img { width: 100%; }

#hero2 p { margin: 0 auto 20px; font-size: 12px; text-align: center; }
#hero2 p a { color: #ff0; }

@media(max-width:768px) {
#hero2 { position: relative; margin: 0; min-height: 40vh!important; }
#hero2 h2.logo { margin: 20px auto; width: 30%; }
}

/* 視聴ページ ロゴ+カウントダウン FLEXボックス */
section#hero-item { display: flex; flex-direction: row; align-items: center; justify-content: space-between; margin: 20px auto 10px; padding: 0; width: 50%; background-color: inherit; }
section#hero-item #logo-box { margin: 0; width: 65%; }
section#hero-item #logo-box h1 { margin: 0; width: 40%; }
section#hero-item #logo-box h1.en { margin: 0; width: 50%; }
section#hero-item #logo-box h1 img { margin: 0; width: 100%; }
section#hero-item #time-box { margin: 0; width: 34.8%; }
@media(max-width:768px) {
section#hero-item { display: flex; flex-direction: column; justify-content: center; width: 94%; }
section#hero-item #logo-box { margin-bottom: 10px; width: 100%; }
section#hero-item #logo-box h1,
section#hero-item #logo-box h1.en { margin: 0 auto 20px; width: 100%; }
section#hero-item #time-box { margin-bottom: 20px; width: 100%; }
}

/* カウントダウンタイマー */
#countdownArea { display: flex; flex-direction: row; margin: 0 auto; width: 100%; }
#countdownArea div { display: inline-block; margin: 0 0.5%; padding: 10px; border: 0; border-radius: 10px; background-color: rgba(0,0,0,0.5); width: 24%; font-family: 'Jost', sans-serif; font-weight: 400; }
#countdownArea div p { display: block; font-family: 'Jost', sans-serif; font-size: 10px; color: #fff; text-align: center; }
#countdownArea span { display: block; margin: 10px 0 0; padding: 0; font-size: 32px; line-height: 1; color: #fff; }
#countdownArea hr { display: block; margin: 5px auto; border: 0; border-bottom: 1px solid rgba(255,255,255,0.5); }


/* STREAMING FLEXボックス */
section#streaming { display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; margin: 0 auto 5px; padding: 0; width: 50%; background-color: inherit; }
section#streaming #movie { margin: 0; width: 75%; }
section#streaming #slido { margin: 0; width: 24.8%; }
section#streaming #movie-only { margin: 0; width: 100%; }

@media(max-width:768px) {
section#streaming { display: flex; flex-direction: column; justify-content: center; width: 94%; }
section#streaming #movie { margin-bottom: 10px; width: 100%; }
section#streaming #slido { margin-bottom: 10px; width: 100%; }
}


/* Movie Box */
div.movie-box { position:relative; margin: 0 auto; width: 100%; height: 0; padding-top: 56.25%; }
iframe.movie-iframe { position: absolute; margin: 0; border: 1px solid #ccc; top: 0; left: 0; width: 100%; height: 100%; }
/* Slido Box */
div.slido-box { position:relative; margin: 0 auto; width: 100%; height: 0; padding-top: 170%; }
iframe.slido-iframe { position: absolute; margin: 0; border: 1px solid #ccc; top: 0; left: 0; width: 100%; height: 100%; }




/* Streaming Movie iframe */
.iframe-container { margin: 0 auto; width: 70%; }/* iframeサイズを変更するときはこのwidthを変更 */
.iframe-wrapper { position: relative; margin: 20px auto; padding-bottom: 56.25%; width: 100%; height: 0; overflow: hidden; }
.iframe-wrapper iframe { position: absolute; top: 0; left: 0; border: 0; width: 100%; height: 100%; }
@media(max-width:768px) {
.iframe-container { margin: 0 auto; width: 90%; }/* iframeサイズを変更するときはこのwidthを変更 */
}


/* Streaming Text */
.info_area { margin: 20px auto; width: 80%; }
.info_area.info { margin: 120px auto; }
.info_area h3 { margin: 20px auto 0; padding: 5px 0; border-top: 2px solid #fff; border-bottom: 2px solid #fff; font-size: 18px; font-weight: 600; line-height: 1.5; color: #fff; text-align: center; text-shadow: 0 0 10px #000;  max-width: 100%; }
.info_area h3 i { font-family: "Font Awesome 5 Free"; font-style: normal; padding-right: 4px; }
.info_area p { margin: 0 auto; font-size: 14px; font-weight: 400; line-height: 1.5; color: #fff; text-align: center; text-shadow: 0 0 10px #000; }
.info_area p a { color: #fff; text-decoration: underline; }
.info_area div.slot { margin: 0 auto 20px; display: flex; flex-direction: row; justify-content: center; align-items: center; }
.info_area div.slot a { margin: 0 1%; padding: 5px; width: 25%; background-color: #e61673; font-size: 12px; font-weight: 500; color: #fff; text-align: center; text-decoration: none; letter-spacing: 0; }
.info_area div.slot a:hover { background-color: #242f39; color: #fcee21; }
.info_area div.slot button { margin: 0 1%; padding: 5px; border: 0; width: 25%; background-color: #e61673; font-size: 12px; font-weight: 500; color: #fff; text-align: center; text-decoration: none; letter-spacing: 0; }
.info_area div.slot button:hover { background-color: #242f39; color: #fcee21; }
@media(max-width:768px) {
.info_area { margin: 20px auto; width: 90%; }
.info_area div.slot { flex-direction: column; }
.info_area div.slot a { margin: 0 1% 10px; padding: 5px; width: 75%; }
.info_area h3 { font-size: 16px; }
.info_area p { font-size: 12px; }
}




/* Achive Page */
div.archive-hero { margin: 40px auto 0px; padding: 0; width: 60%; background-color: inherit; }
div.archive-hero h1 { margin: 0 auto 20px; width: 50%; }
div.archive-hero h1 img { margin: 0; width: 100%; }
div.archive-box { position:relative; margin: 0 auto 60px; width: 100%; height: 0; padding-top: 56.25%; }
iframe.movie-iframe { position: absolute; margin: 0; border: 1px solid #ccc; top: 0; left: 0; width: 100%; height: 100%; }
@media(max-width:768px) {
div.archive-hero { margin: 0 auto; padding: 0; width: 94%; }
div.archive-hero h1 { margin: 0 auto 20px; width: 80%; }
div.archive-box { margin-bottom: 40px; }
}



/* --------------------------------------------
サンクスページ
----------------------------------------------*/
/* header */
header#form { margin: 0; padding: 30px 0; border: 0; background: url("../../../assets/images/top/di24-hero.jpg") 50% 50% no-repeat; background-size: cover; width: 100%; }
header#form h1 { margin: 0 auto; width: 300px; }
header#form h1 img { margin: 0; width: 100%; }
header#form h2 { margin: 10px auto 0; width: 300px; }
header#form h2 img { margin: 0; width: 100%; }
@media(max-width:768px) {
header#form h1 { width: 80%; }
header#form h2 { width: 45%; }
}
/* thanks */
section#thanks { margin: 0 auto 80px; width: 80%; }
section#thanks div.txtbox { margin: 0 auto; width: 700px; }
section#thanks h2 { margin: 0 0 2em; font-size: 24px; font-weight: 500; color: #FF4500; text-align: center; }
section#thanks h3 { margin: 0 0 0.5em; font-size: 14px; font-weight: 600; color: #000; text-align: center; text-decoration: underline; }
section#thanks p { margin: 0 0 2em; font-size: 14px; font-weight: 400; color: #333; text-align: center; line-height: 2.0; }
section#thanks p a { color: #08c; }
@media(max-width:768px) {
section#thanks { width: 94%; }
section#thanks div.txtbox { width: 100%; }
section#thanks h2 { font-size: 20px; }
section#thanks h2, section#thanks h3, section#thanks p { text-align: left; }
}









/* アンケートボタン */
img.btn-questionnaire { margin: 20px auto 40px; width: 50%; }
@media(max-width:768px) {
img.btn-questionnaire { width: 90%; }
}

/* アンケートボタン（光る） */
.shiny-btn5 {
display: block;
position: relative;
width: 60%;/*ボタンの幅*/
padding: 10px 0;
margin: 20px auto 40px;
background-color: #ed1e79;/*ボタンの色*/
box-shadow: 0 3px 0 0 rgba(198, 39, 39, 1);/*影の色(rgbaの値を変更)*/
border-radius: 5px;
font-weight: bold;
font-size: 18px;
color: #fff;
text-align: center;
text-decoration: none;
overflow: hidden;
transition: 0.2s;
}
@media(max-width:768px) {
.shiny-btn5 { width: 94%; }
}
.shiny-btn5:hover {
text-decoration: none;
color: #fff;
box-shadow: 0 3px 0 0 rgba(198, 39, 39, 1),   0 8px 15px 0px rgba(0, 0, 0, 0.4);
}
.shiny-btn5::before {
position: absolute;
content: '';
display: inline-block;
top: -180px;
left: 0;
width: 30px;
height: 100%;
background-color: #fff;
animation: shiny-btn5 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn5 {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}







/* page-contents */
.page-contents { margin: 80px auto; width: 70%; }
@media(max-width:768px) {
.page-contents { margin: 80px auto; width: 90%; }
}




/* アンケート */
#questionnaire { margin: 0; padding: 40px 10px; border-bottom: 1px solid #eee; background-color: #eee; width: 100%; text-align: center; }
/* ボタン */
#questionnaire .btn {
border: none;
display: block;
text-align: center;
cursor: pointer;
text-transform: uppercase;
outline: none;
overflow: hidden;
position: relative;
color: #ff0;
font-family: 'Renner*', 'Noto Sans JP', sans-serif;
font-weight: 500;
font-size: 16px;
background-color: #114782;
padding: 0.75em 4.0em;
margin: 0 auto 40px;
box-shadow: 0 5px 15px rgba(0,0,0,0.20);
}
#questionnaire .btn span {
position: relative; 
z-index: 1;
}
#questionnaire .btn:after {
content: "";
position: absolute;
left: 0;
top: 0;
height: 1000%;
width: 220%;
background: #000;
-webkit-transition: all .5s ease-in-out;
transition: all .5s ease-in-out;
-webkit-transform: translateX(-90%) translateY(-25%) rotate(45deg);
transform: translateX(-90%) translateY(-25%) rotate(45deg);
}
#questionnaire .btn:hover:after {
-webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
transform: translateX(-9%) translateY(-25%) rotate(45deg);
}







/* Banner ============================================== */
#banner { margin: 0 auto 20px; padding: 20px 0; background-color: #fff; width: 100%; }
#banner p { margin: 0 auto 1em; font-size: 10px; color: #666; text-align: center; } 
/* バナー */
div.banner-box { display: flex; align-items: flex-start; justify-content: center; flex-shrink: 0; flex-wrap: wrap; margin: 0 auto 30px; padding: 0; border: 0; width: 90%; }
div.banner-box div { display: flex; flex-direction: column; margin: 0 4% 0 0; padding: 0; border: 0; width: 15%!important; height: auto; flex-shrink: 0; }
div.banner-box div:last-child { margin-right: 0; }
div.banner-box div img { margin: 0 auto; width: 100%; }
div.banner-box div img.middle { margin: 0 auto; width: 80%; }
div.banner-box div img.top1 { margin-top: 5px; }
div.banner-box div img.top2 { margin-top: 10px; }
div.banner-box div p { margin: 0; font-size: 10px!important; color: #666; text-align: left; text-decoration: none; } 
/* crossu用スタイル */
div.banner-box div img.cross { margin-top: 40px; }
div.banner-box div p.att { margin: 0.5em 0!important; font-size: 12px; color: #666; text-align: left; line-height: 1.2; text-decoration: none; } 
div.banner-box div a { text-decoration: none!important; } 
div.banner-box div a p.att { color: #666; text-decoration: none; } 
div.banner-box div a:hover p.att { color: #08c!important; text-decoration: underline; } 
div.banner-box div a.noclick { display: block; pointer-events: none!important; }
/* バナー2 */
div.banner-box2 { display: flex; align-items: flex-start; justify-content: center; flex-shrink: 0; flex-wrap: wrap; margin: 0 auto 20px; padding: 0; border: 0; width: 90%; }
div.banner-box2 div { margin: 0 2% 0 0; padding: 0; border: 0; width: 12%!important; height: auto; flex-shrink: 0;}
div.banner-box2 div:first-child {  }
div.banner-box2 div:last-child { margin-right: 0; }
div.banner-box2 div img { width: 100%; }
div.banner-box2 div p { margin: 0 0 0.5em; font-size: 12px; color: #666; text-align: center; } 
div.banner-box2 div p.black { margin: 20px 0 0; font-size: 14px; color: #000; text-align: left; }
/* バナー3 */
div.banner-box3 { display: flex; align-items: flex-start; justify-content: center; flex-shrink: 0; flex-wrap: wrap; margin: 20px auto 0; padding: 0; border: 0; width: 90%; }
div.banner-box3 div { margin: 0 2% 0 0; padding: 0; border: 0; width: 15%!important; height: auto; flex-shrink: 0;}
div.banner-box3 div:nth-child(2) { width: 30%!important; }
div.banner-box3 div:last-child { margin-right: 0; }
div.banner-box3 div img { width: 100%; }
div.banner-box3 div p { margin: 0; font-size: 12px; color: #666; text-align: left; padding-left: 15px; } 
div.banner-box3 div p.black { margin: 20px 0 0; font-size: 14px; color: #000; text-align: left; }
@media(max-width:768px) {
/* バナー */
#banner { width: 100%; }
div.banner-box { width: 90%; justify-content: flex-start; }
div.banner-box div { margin: 0 2% 10px 0; width: 49%!important; }
div.banner-box div:nth-child(2n) { margin-right: 0; }
div.banner-box div img.top1 { margin-top: 5px; }
div.banner-box div img.top2 { margin-top: 5px; }
/* バナー2 */
div.banner-box2 { width: 90%; justify-content: flex-start; }
div.banner-box2 div { margin: 0 2% 10px 0; width: 49%!important; }
div.banner-box2 div:first-child { width: 90%!important; margin-right: 0; }
div.banner-box2 div p.black { margin-bottom: 20px; } 
/* バナー3 */
div.banner-box3 { width: 90%; justify-content: flex-start; }
div.banner-box3 div { margin: 0 2% 10px 0; width: 49%!important; }
div.banner-box3 div:nth-child(2) { width: 90%!important; margin-right: 0; }
div.banner-box3 div p.black { margin-bottom: 20px; } 
}




























