@charset "UTF-8";
/* NAVBAR pc
-------------------------------------------------- */
/* CSSアニメーションの指定 */
/* CSSアニメーションの設定 */
@keyframes slideIn { 0% { transform: translateY(-50px); }
  100% { transform: translateY(0); } }

@keyframes slideOut { 0% { transform: translateY(0px); }
  100% { transform: translateY(-50px); } }

.navbar-wrapper { background: black; position: relative; width: 100%; z-index: 15; overflow: visible; padding: 0px; }

@media screen and (max-width: 768px) { .navbar-wrapper { position: fixed; top: 0; left: 0; } }

#navbar-wrapper-clone { width: 100%; background: black; position: fixed; z-index: 14; top: -100px; left: 0; transition: 0.3s; }

@media screen and (max-width: 768px) { #navbar-wrapper-clone { display: none !important; } }

#navbar-wrapper-clone.slideIn { top: 0px; }

#navbar-wrapper-clone.slideOut { transition: 0.3s; top: -100px; }

.navbar { margin: 0px auto; padding: 0px 30px; width: 100%; height: 70px; max-width: 1400px; display: flex; justify-content: space-between; align-items: center; position: relative; }

@media screen and (max-width: 960px) { .navbar { padding: 0px 20px; } }

@media screen and (max-width: 768px) { .navbar { height: 60px; } }

.navbar a { color: #FFF; font-size: 16px; }

@media screen and (max-width: 1120px) { .navbar a { font-size: 14px; } }

@media screen and (max-width: 960px) { .navbar a { font-size: 13px; } }

@media screen and (max-width: 768px) { .navbar a { font-size: 15px; color: #FFF; display: block; } }

.navbar a:hover { color: #F00; text-decoration: none; }

@media screen and (max-width: 768px) { .navbar a:hover { color: #F00; text-decoration: none; } }

.navbar .active { border-bottom: 3px solid #FFFFFF; }

@media screen and (max-width: 768px) { .navbar .active { border-bottom: none; }
  .navbar .active a { color: #CC0000; font-weight: bold; } }

.navbar .navbar-nav { width: calc(96% - 138px); display: flex; justify-content: flex-end; }

@media screen and (max-width: 768px) { .navbar .navbar-nav { width: 100%; position: absolute; top: 60px; left: 0px; width: 100%; display: none; } }

.navbar .navbar-nav li { margin-left: 4%; }

@media screen and (max-width: 960px) { .navbar .navbar-nav li { margin-left: 2%; } }

@media screen and (max-width: 768px) { .navbar .navbar-nav li { margin-left: 0; padding: 12px 0px 10px; width: auto; text-align: center; background: rgba(0, 0, 0, 0.85); border-top: solid 1px rgba(255, 255, 255, 0.2); } }

.navbar .navbar-header .navbar-brand { text-align: center; }

@media screen and (max-width: 768px) { .navbar .navbar-header .navbar-brand img { width: 110px; height: auto; } }

.menu { display: none; }

@media screen and (max-width: 768px) { .menu { display: block; } }

.menu:after { content: "MENU"; }

.menu.close:after { content: "CLOSE"; }

/*----------------------
common
----------------------*/
* { box-sizing: border-box; }

body { font-family: "Red Hat Text","Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-feature-settings: "palt" on; letter-spacing: 0.03em; }

a { color: #0088CE; }

a:hover { color: #1D4174; }

img, x:-moz-any-link, x:default { box-shadow: #000 0 0 0; }

img { height: auto; }

img.w100 { max-width: 100%; }

sup { font-size: 60%; }

.no-resp { height: auto !important; width: auto !important; }

.br-sp { display: none; }

@media screen and (max-width: 768px) { .br-sp { display: inline; } }

@media screen and (max-width: 768px) { .br-pc, .sp-no { display: none; } }

.pc-no { display: none; }

@media screen and (max-width: 768px) { .pc-no { display: block; } }

.align-left { text-align: left; }

.align-right { text-align: left; }

.center { text-align: center !important; }

.caption { font-size: 82%; line-height: 1.4em; margin-top: 5px; margin-bottom: 5px; display: inline-block; }

.caption-b { font-size: 82%; line-height: 1.4em; margin-top: 5px; margin-bottom: 5px; }

.caption-s { font-size: 82%; line-height: 1.4em; margin-top: 5px; margin-bottom: 5px; text-align: center; }

.text-m { font-size: 93%; }

.bgg { background-color: #F2F2F2; }

.bgb { background-color: #e5f8fb; }

.bdb { border-bottom: solid 1px #CCCCCC; padding-bottom: 20px; margin-bottom: 20px; }

.width-s { max-width: 640px; margin: auto; padding-left: 20px; padding-right: 20px; }

@media screen and (max-width: 768px) { .width-s { padding-left: 0px; padding-right: 0px; } }

.width-m { max-width: 840px; margin: auto; padding-left: 20px; padding-right: 20px; }

@media screen and (max-width: 768px) { .width-m { padding-left: 0px; padding-right: 0px; } }

.width-l { max-width: 1040px; margin: auto; padding-left: 20px; padding-right: 20px; }

@media screen and (max-width: 768px) { .width-l { width: 100%; padding-left: 0px; padding-right: 0px; } }

.width-ll { max-width: 1240px; width: calc(1300/1360*100% + 40px); margin: auto; padding-left: 20px; padding-right: 20px; }

@media screen and (max-width: 768px) { .width-ll { width: 100%; padding-left: 0px; padding-right: 0px; } }

.mail-pics::after { content: ""; display: inline-block; width: 20px; height: 13px; background: url(../images/mail-pic.png) no-repeat right bottom; background-size: 15px 11px; vertical-align: baseline; }

#pageTop { font-size: 0px; line-height: 0px; }

#wrapper { background: #FFFFFF; }

/*----------------------
contents
----------------------*/
#header { background: url("../images/header-bg-a.png") no-repeat center top; background-size: cover; }

.navbar .navbar-nav .share { display: flex; align-items: center; padding-left: 2%; border-left: 1px solid #fff; }

@media screen and (max-width: 768px) { .navbar .navbar-nav .share { padding-left: 0; border-left: none; justify-content: center; } }

.navbar .navbar-nav .share span { color: #fff; padding-right: 0.5em; font-size: 16px; }

@media screen and (max-width: 1120px) { .navbar .navbar-nav .share span { font-size: 14px; } }

@media screen and (max-width: 960px) { .navbar .navbar-nav .share span { font-size: 13px; } }

@media screen and (max-width: 768px) { .navbar .navbar-nav .share span { padding-right: 1em; font-size: 15px; } }

.navbar .navbar-nav .share ul { display: flex; align-items: center; background: none; }

.navbar .navbar-nav .share li { display: flex; align-items: center; justify-content: center; background: none; border-top: none; }

.navbar .navbar-nav .share li a { display: block; box-sizing: content-box; }

.navbar .navbar-nav .share li a:hover#icon-twitter .cls-1, .navbar .navbar-nav .share li a:hover#icon-facebook .cls-2, .navbar .navbar-nav .share li a:hover#icon-linkedin .cls-3 { fill: #F00; }

.navbar .navbar-nav .share li a#icon-twitter .cls-1, .navbar .navbar-nav .share li a#icon-facebook .cls-2, .navbar .navbar-nav .share li a#icon-linkedin .cls-3 { transition: 0.2s all ease-out; fill: #fff; }

.navbar .navbar-nav .share li a#icon-twitter { width: 22px; height: 22px; padding: 0 3px; }

@media screen and (max-width: 768px) { .navbar .navbar-nav .share li a#icon-twitter { padding: 5px; } }

.navbar .navbar-nav .share li a#icon-facebook { width: 13px; height: 22px; padding: 0 3px; }

@media screen and (max-width: 768px) { .navbar .navbar-nav .share li a#icon-facebook { padding: 5px; margin-left: 5px; } }

.navbar .navbar-nav .share li a#icon-linkedin { width: 22px; height: 22px; padding: 0 3px; }

@media screen and (max-width: 768px) { .navbar .navbar-nav .share li a#icon-linkedin { padding: 5px; margin-left: 5px; } }

.navbar .navbar-nav .share li a svg { width: 100%; height: auto; }

.header-content { width: 100%; min-height: 800px; height: calc(100vh - 70px); margin: 0 auto; background: url("../images/header-bg-b.png") no-repeat center bottom; background-size: cover; position: relative; display: flex; align-items: center; }

@media screen and (max-width: 768px) { .header-content { min-height: 700px; height: calc(100vh - 60px); background-size: auto 70%; margin-top: 60px; } }

.header-content .header-inner { max-width: 1200px; width: 100%; padding: 0 3.33333%; margin-left: auto; margin-right: auto; text-align: center; margin-bottom: 120px; }

.header-content .header-inner .detail-btn { display: flex; flex-wrap: wrap; width: 100%; max-width: 600px; margin-left: auto; margin-right: auto; }

.header-content .header-inner .detail-btn a { width: 49%; }

.header-content .header-inner .detail-btn a br { display: none; }

@media screen and (max-width: 768px) { .header-content .header-inner .detail-btn a { height: auto; padding: 0.5em 0; font-size: 13px; border-radius: 5px; line-height: 1.4; max-width: 300px; }
  .header-content .header-inner .detail-btn a br { display: inline; } }

.header-content .header-inner .detail-btn a:first-child { background: #0066CC; }

.header-content .header-inner .detail-btn a:first-child:hover { background: #0073e6; }

.header-content .header-inner .detail-btn a.close { font-size: 16px; line-height: 1.4; height: 50px; }

@media screen and (max-width: 768px) { .header-content .header-inner .detail-btn a.close { font-size: 13px; height: auto; } }

.header-content .header-inner .detail-btn a.campaign { width: 100%; margin-top: 2%; background: #fff; border: 1px solid #EE0000; max-width: 594px; height: auto; padding: 10px; padding-left: 1em; font-size: 18px; line-height: 1.4; }

@media screen and (max-width: 768px) { .header-content .header-inner .detail-btn a.campaign { font-size: 14px; } }

.header-content .header-inner .detail-btn a.campaign:hover { opacity: 0.6; }

.header-content .header-inner .detail-btn a.campaign:hover img { opacity: 1; }

.header-content .header-inner .detail-btn a.campaign div { display: flex; align-items: center; justify-content: space-between; }

.header-content .header-inner .detail-btn a.campaign div p { color: #000; text-align: left; width: calc(300 / 570 * 100%); }

.header-content .header-inner .detail-btn a.campaign div p strong { color: #EE0000; font-weight: bold; }

.header-content .header-inner .detail-btn a.campaign div img { display: block; width: calc(246 / 570 * 100%); height: auto; }

.header-content .header-inner .detail-btn a.campaign2 div p { width: calc(465 / 570 * 100%); }

.header-content .header-inner .detail-btn a.campaign2 div img { width: calc(78 / 570 * 100%); }

.header-content h1 { font-family: "Red Hat Display", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-size: 85px; line-height: 1.2; margin-bottom: 0.3em; text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); }

@media screen and (max-width: 1120px) { .header-content h1 { font-size: 70px; } }

@media screen and (max-width: 768px) { .header-content h1 { font-size: 60px; } }

@media screen and (max-width: 640px) { .header-content h1 { font-size: 45px; line-height: 1.15; } }

.header-content h1 span { color: #EE0000; }

.header-content .ttl-con h2 { font-size: 32px; line-height: 1.4; font-weight: bold; margin-bottom: 1em; text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); }

@media screen and (max-width: 1120px) { .header-content .ttl-con h2 { font-size: 28px; } }

@media screen and (max-width: 768px) { .header-content .ttl-con h2 { font-size: 20px; } }

.header-content .ttl-con time { font-size: 30px; line-height: 1; text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); }

@media screen and (max-width: 1120px) { .header-content .ttl-con time { font-size: 28px; } }

@media screen and (max-width: 768px) { .header-content .ttl-con time { font-size: 20px; } }

@media screen and (max-width: 640px) { .header-content .ttl-con time { font-size: 16px; } }

.header-content .ttl-con time span { font-size: 93%; line-height: 1; vertical-align: baseline; }

.header-content .dw-arrow { width: 30px; height: 30px; border-right: solid 1px #EE0000; border-bottom: solid 1px #EE0000; transform: rotate(45deg); position: absolute; left: calc(50% - 10px); bottom: 40px; }

#theme { background: url("../images/fig01.png") no-repeat center bottom 100px; background-size: 500px 202px; padding-bottom: 300px; }

@media screen and (max-width: 768px) { #theme { background-size: 80%; background-position: center bottom 20vw; padding-bottom: 50vw; } }

#outline { background: #1D4174 url("../images/ol-bg.png") no-repeat 50% bottom; background-size: 142%; }

#outline h2 { padding-top: 80px; background: url("../images/ico-02.png") no-repeat center top; background-size: 70px; color: #FFFFFF; }

@media screen and (max-width: 768px) { #outline h2 { background-size: 50px; padding-top: 50px; } }

#timetable { background-color: #F2F2F2; }

#timetable h2 { padding-top: 80px; background: url("../images/ico-04.png") no-repeat center top; background-size: 70px; }

@media screen and (max-width: 768px) { #timetable h2 { background-size: 50px; padding-top: 50px; } }

#campaign { background-color: #fff; }

#campaign h2 { padding-top: 70px; background: url("../images/ico-05.png") no-repeat center top; background-size: 36px; }

@media screen and (max-width: 768px) { #campaign h2 { background-size: 24px; padding-top: 40px; } }

#contact { background-color: #DBF0F7; }

#contact h2 { text-align: left; background: url("../images/ico-03.png") no-repeat left top; background-size: 70px; height: 70px; padding-left: 100px; margin-top: 0em; margin-bottom: 0.2em; }

@media screen and (max-width: 768px) { #contact h2 { text-align: center; padding: 50px 0 0; background-position: center top; background-size: 50px; margin-bottom: 2em; } }

#contact .contents { background: url("../images/fig02.png") no-repeat 80% center; background-size: contain; padding-bottom: 200px; }

@media screen and (max-width: 960px) { #contact .contents { background-position: 94% center; background-size: 40%; } }

@media screen and (max-width: 768px) { #contact .contents { background-size: 70%; background-position: center bottom; padding-bottom: 70vw; } }

.contents { max-width: 1400px; padding: 60px 30px 80px; margin: auto; }

@media screen and (max-width: 768px) { .contents { padding: 40px 20px 50px; } }

.contents .inner h2 { font-size: 38px; line-height: 1.4em; font-family: "Red Hat Display", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-weight: 500; text-align: center; margin-top: 30px; margin-bottom: 50px; }

@media screen and (max-width: 1120px) { .contents .inner h2 { font-size: 32px; } }

@media screen and (max-width: 768px) { .contents .inner h2 { font-size: 26px; } }

@media screen and (max-width: 768px) { .contents .inner p { font-size: 14px; line-height: 1.7; } }

.contents .inner .lead { font-size: 20px; line-height: 1.8; margin-bottom: 1em; letter-spacing: 0.07em; text-align: center; }

@media screen and (max-width: 960px) { .contents .inner .lead { font-size: 17px; } }

@media screen and (max-width: 768px) { .contents .inner .lead { font-size: 15px; } }

.contents .col-box { display: flex; justify-content: space-between; flex-flow: wrap; max-width: 1000px; margin: auto; }

.contents .col-box li { width: 30%; text-align: center; background-color: #FFFFFF; padding: 30px 34px; margin-bottom: 2.5em; }

@media screen and (max-width: 768px) { .contents .col-box li { width: 100%; margin-bottom: 1.5em; } }

.contents .col-box h3 { font-size: 22px; font-weight: bold; margin: 0.5em 0; }

@media screen and (max-width: 768px) { .contents .col-box h3 { font-size: 18px; } }

.contents .col-box p { font-size: 17px; text-align: left; }

@media screen and (max-width: 768px) { .contents .col-box p { font-size: 15px; } }

.contents .notice p { font-size: 20px; color: #EE0000; line-height: 1.75; padding: 20px; border: solid 1px #EE0000; background-color: #FFFFFF; width: 600px; margin: 10px auto 30px; }

@media screen and (max-width: 768px) { .contents .notice p { width: 100%; font-size: 16px; padding: 15px; } }

.contents .outline-list { color: #fff; max-width: 800px; margin: auto; }

.contents .outline-list dl { display: flex; flex-flow: wrap; font-size: 18px; line-height: 1.75; }

@media screen and (max-width: 768px) { .contents .outline-list dl { font-size: 16px; } }

.contents .outline-list dl dt { width: 6em; margin-bottom: 0.8em; font-weight: bold; }

@media screen and (max-width: 768px) { .contents .outline-list dl dt { width: 100%; margin-bottom: 0em; } }

.contents .outline-list dl dd { width: calc(100% - 6em); margin-bottom: 0.8em; }

@media screen and (max-width: 768px) { .contents .outline-list dl dd { width: 100%; margin-bottom: 1.5em; } }

.contents .timetable-wrap { max-width: 1000px; margin: auto; padding-top: 10px; }

.contents .day-nav ul { display: flex; align-items: flex-end; margin-top: 30px; margin-bottom: 20px; }

@media screen and (max-width: 768px) { .contents .day-nav ul { margin-top: 10px; } }

.contents .day-nav li { font-size: 16px; line-height: 1; margin-right: 4.5%; }

@media screen and (max-width: 480px) { .contents .day-nav li { font-size: 13px; } }

.contents .day-nav li a { color: #999999; }

.contents .day-nav li a span { font-size: 190%; line-height: 1.2; vertical-align: baseline; }

@media screen and (max-width: 768px) { .contents .day-nav li a span { font-size: 170%; display: block; } }

.contents .day-nav li a.lecture:hover { color: #316DC1; }

.contents .day-nav li a.workshop:hover { color: #F56D6D; }

.contents .day-nav li.active { font-size: 24px; }

@media screen and (max-width: 480px) { .contents .day-nav li.active { font-size: 17px; } }

.contents .day-nav li.active a.lecture { color: #316DC1; }

.contents .day-nav li.active a.workshop { color: #F56D6D; }

.contents .timetable-table { background-color: #FFFFFF; }

.contents .timetable-table.lecture th { background-color: #316DC1; }

.contents .timetable-table.lecture h4 { color: #316DC1; }

.contents .timetable-table.workshop th { background-color: #F56D6D; }

.contents .timetable-table.workshop h4 { color: #F56D6D; }

.contents .timetable-table th { font-size: 18px; color: #FFFFFF; font-weight: bold; text-align: center; padding: 5px; min-height: 30px; vertical-align: middle; }

.contents .timetable-table td { padding: 1.5em 1em; border-bottom: dotted 1px #CCCCCC; }

@media screen and (max-width: 768px) { .contents .timetable-table td { display: block; } }

.contents .timetable-table td.time { font-size: 16px; width: 9em; text-align: center; }

@media screen and (max-width: 768px) { .contents .timetable-table td.time { border: none; padding-bottom: 0; width: 100%; text-align: left; margin-bottom: -1em; } }

.contents .timetable-table tr:last-child td { border: none; }

.contents .timetable-table h3 { font-size: 18px; }

.contents .timetable-table h4 { margin-top: 0.5em; }

.contents .timetable-table .speakers { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; font-size: 16px; margin: 0.5em auto 0.2em; }

@media screen and (max-width: 768px) { .contents .timetable-table .speakers { font-size: 14px; } }

.contents .timetable-table .speakers li { width: calc( (100% - 12px) / 2); display: flex; align-items: center; margin-bottom: 0.3em; }

@media screen and (max-width: 640px) { .contents .timetable-table .speakers li { width: 100%; } }

.contents .timetable-table .speakers li .img-box { display: block; width: 60px; height: 60px; border-radius: 50%; overflow: hidden; }

@media screen and (max-width: 640px) { .contents .timetable-table .speakers li .img-box { width: 45px; height: 45px; } }

.contents .timetable-table .speakers li .img-box img { width: 100%; height: auto; }

.contents .timetable-table .speakers li p { flex: 1; padding-left: 0.5em; line-height: 1.4; }

@media screen and (max-width: 768px) { .contents .contact-box { text-align: center; } }

.detail-btn { margin: 30px 0 30px; }

@media screen and (max-width: 768px) { .detail-btn { margin: 20px 0 20px; } }

.detail-btn a { display: flex; max-width: 300px; height: 50px; background-color: #EE0000; align-items: center; justify-content: center; font-size: 20px; color: #FFFFFF; border-radius: 10px; margin: auto; }

@media screen and (max-width: 768px) { .detail-btn a { text-align: center; max-width: 240px; height: 45px; font-size: 16px; } }

.detail-btn a:hover { text-decoration: none; background-color: #FF0000; }

.detail-btn a.close { text-align: center; background: #666666; max-width: 500px; height: auto; padding: 0.5em; line-height: 1.4; font-size: 18px; }

@media screen and (max-width: 768px) { .detail-btn a.close { font-size: 14px; max-width: 400px; } }

.workshop-dtl-btn { margin: 30px 0 30px; }

.workshop-dtl-btn a { display: flex; padding: 10px 20px; background-color: #F56D6D; align-items: center; justify-content: center; font-size: 20px; color: #FFFFFF; border-radius: 10px; margin: auto; text-align: center; max-width: 500px; }

@media screen and (max-width: 768px) { .workshop-dtl-btn a { font-size: 16px; } }

.workshop-dtl-btn a:hover { text-decoration: none; background-color: #F24B4B; }

.modal { display: none; position: fixed; top: 0; width: 100%; height: 100vh; z-index: 999999; }

.modal__bg { background: rgba(39, 39, 39, 0.75); height: 100vh; position: absolute; width: 100%; }

.modal__content { background: #fff; left: 50%; padding: 0; position: absolute; top: 50%; transform: translate(-50%, -50%); max-width: 935px; width: 92%; max-height: 85vh; }

.modal__inner { position: relative; width: 100%; max-height: 85vh; padding: 40px; overflow-y: auto; -webkit-overflow-scrolling: touch; }

@media screen and (max-width: 768px) { .modal__inner { padding: 35px 20px; } }

.modal__inner .card-content { margin: 0; }

.modal__inner .card-content .card-item { padding: 5%; border: none; }

.modal__inner .card-content .card-item h2 { font-size: 28px; margin-top: 0.4em; margin-bottom: 0.8em; }

.modal__inner .card-content .card-item h3 { font-size: 20px; margin-top: -0.6em; margin-bottom: 0.6em; }

@media screen and (max-width: 768px) { .modal__inner .card-content .card-item h3 { font-size: 16px; } }

.close-tip { position: absolute; right: 5px; top: 5px; z-index: 2; }

.close-tip a { font-size: 40px; color: #000000; font-weight: 100; }

.close-tip a:hover { text-decoration: none; opacity: 0.5; }

.modal-open-btn { margin: 0.4em 0; }

.modal-open-btn a { font-size: 14px; line-height: 30px; display: inline-block; background-color: #316DC1; color: #FFFFFF; padding: 0px 15px; height: 30px; border-radius: 15px; }

.modal-open-btn a:hover { text-decoration: none; opacity: 0.8; }

.workshop .modal-open-btn a { background-color: #F56D6D; }

.close-btn { text-align: center; }

.close-btn a { width: 100px; height: 30px; display: block; color: #FFFFFF; background-color: #333333; border-radius: 15px; font-size: 16px; line-height: 30px; margin: 30px auto 0; }

@media screen and (max-width: 768px) { .close-btn a { height: 25px; font-size: 14px; line-height: 25px; } }

.close-btn:hover { opacity: 0.7; text-decoration: none; }

.modal-session-content.lecture .session-header { background-color: #316DC1; }

.modal-session-content.lecture h4 { color: #316DC1; border-color: #316DC1; }

.modal-session-content.workshop .session-header { background-color: #F56D6D; }

.modal-session-content.workshop h4 { color: #F56D6D; border-color: #F56D6D; }

.modal-session-content .session-header { font-size: 18px; text-align: center; font-weight: bold; color: #FFFFFF; height: 35px; padding-top: 5px; }

.modal-session-content time { margin: 1.3em 0 0.7em; display: inline-block; }

.modal-session-content h3 { font-size: 26px; line-height: 1.4; margin-bottom: 0.7em; }

@media screen and (max-width: 768px) { .modal-session-content h3 { font-size: 20px; } }

.modal-session-content h4 { border-bottom: solid 1px #CCCCCC; margin: 2em 0 0.7em; }

@media screen and (max-width: 768px) { .modal-session-content h4 { font-size: 15px; } }

.modal-session-content p { margin-bottom: 1em; }

@media screen and (max-width: 768px) { .modal-session-content p { font-size: 14px; } }

.modal-session-content .dotlist li { padding-left: 0.75em; text-indent: -0.75em; }

@media screen and (max-width: 768px) { .modal-session-content .dotlist li { font-size: 14px; } }

.modal-session-content .agenda-list { display: flex; flex-flow: wrap; }

.modal-session-content .agenda-list dt { width: 8em; }

@media screen and (max-width: 768px) { .modal-session-content .agenda-list dt { font-size: 14px; } }

.modal-session-content .agenda-list dd { width: calc(100% - 8em); }

@media screen and (max-width: 768px) { .modal-session-content .agenda-list dd { font-size: 14px; } }

.modal-session-content .module-list dt { font-weight: bold; }

@media screen and (max-width: 768px) { .modal-session-content .module-list dt { font-size: 14px; } }

.modal-session-content .module-list dd { padding-left: 1em; }

@media screen and (max-width: 768px) { .modal-session-content .module-list dd { font-size: 14px; padding-left: 0em; } }

.modal-session-content .flex-col2 { display: flex; justify-content: space-between; flex-flow: wrap; margin-top: -1em; }

@media screen and (max-width: 768px) { .modal-session-content .flex-col2 { flex-flow: column; } }

.modal-session-content .session-speaker-info { width: 48%; margin: 1.5em 0 0; display: flex; align-items: center; }

@media screen and (max-width: 768px) { .modal-session-content .session-speaker-info { width: 100%; align-items: flex-start; } }

.modal-session-content .session-speaker-info .img-box { width: 150px; height: 150px; border-radius: 75px; overflow: hidden; margin-right: 25px; }

@media screen and (max-width: 768px) { .modal-session-content .session-speaker-info .img-box { width: 80px; height: 80px; margin-right: 15px; } }

.modal-session-content .session-speaker-info .img-box img { max-width: 100%; }

.modal-session-content .session-speaker-info .session-speaker-prof { width: calc(100% - 175px); }

@media screen and (max-width: 768px) { .modal-session-content .session-speaker-info .session-speaker-prof { width: calc(100% - 95px); } }

.modal-session-content .session-speaker-info .session-speaker-prof p { font-size: 15px; line-height: 1.6; margin-bottom: 0; }

@media screen and (max-width: 768px) { .modal-session-content .session-speaker-info .session-speaker-prof p { font-size: 12.5px; } }

.modal-session-content .session-speaker-info .session-speaker-prof p .name { font-size: 147%; }

@media screen and (max-width: 768px) { .modal-session-content .session-speaker-info .session-speaker-prof p .name { font-size: 140%; } }

#campaign .campaign_section { width: 100%; max-width: 1000px; margin: 0 auto; border: 1px solid #ee0000; padding-bottom: 40px; }

@media screen and (max-width: 768px) { #campaign .campaign_section { padding-bottom: 20px; } }

#campaign .campaign_section + .campaign_section { margin-top: 20px; }

#campaign .campaign_category { background: #ee0000; color: #fff; text-align: center; font-weight: bold; font-size: 18px; margin-bottom: 40px; padding: 0.2em 1em; }

@media screen and (max-width: 768px) { #campaign .campaign_category { font-size: 15px; margin-bottom: 20px; } }

#campaign h3 { text-align: center; font-size: 28px; font-weight: bold; line-height: 1.4; padding-left: 1em; padding-right: 1em; }

@media screen and (max-width: 768px) { #campaign h3 { font-size: 22px; } }

#campaign h3 span { color: #EE0000; }

#campaign .campaign-img { max-width: 800px; margin: 40px auto; padding-left: 5%; padding-right: 5%; }

@media screen and (max-width: 768px) { #campaign .campaign-img { margin: 20px auto; } }

#campaign .campaign-img img { width: 100%; height: auto; display: block; }

#campaign .campaign-txt { max-width: 800px; margin: 0 auto; font-size: 20px; line-height: 1.8; padding-left: 5%; padding-right: 5%; }

@media screen and (max-width: 768px) { #campaign .campaign-txt { font-size: 16px; } }

#campaign .campaign-txt strong { font-weight: bold; }

#campaign .campaign-list { max-width: 800px; margin: 1em auto 0; padding-left: 5%; padding-right: 5%; }

#campaign .campaign-list li { position: relative; padding-left: 1em; }

#campaign .campaign-list li::before { content: "・"; position: absolute; top: 0; left: 0; }
