@charset "utf-8";
/*//////////////////////////////////////////////////

style.css

Copyright (C) 2019 Impress Corporation, an Impress Group company. All rights reserved.
----------------------------------------
Content

  1. calendar
  2. header
  3. navigation
  4. contents
    1. information
    2. register
    3. lead
    4. chairman
    5-1. pickup-K-1
    5-2. pickup-lecturer
    5-3. pickup
    6. sponsor
    7. overview
    8. timetable
    9. exhibition
  5. footer
  6. Media Query
  7. "colorbox.js" Setting
  8. "swiper.js" Setting

//////////////////////////////////////////////////*/


html, body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, table, th, td, div, figure {
  margin: 0;
  padding: 0;
  font-size: 100%;
}
body {
  background-color: #000;
  background-attachment: fixed;
  font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
  -webkit-text-size-adjust: 100%;
}
h1 {
  line-height: 0;
  text-align: center;
}
h2 {
  font-size: 150%;
  margin: 1.5em 0 .5em;
}
h3 {
  font-size: 120%;
  margin: 1.5em 0 .5em;
}
p {
  margin: 1em 0;
}
a, dd {
  word-break: break-all;
}
ul, ol {
  margin-left: 1.5em;
}
em {
  font-style: normal;
}
img {
  max-width: 100%;
  border: none;
}
table, tr, th, td {
  box-sizing: border-box;
}
table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border: 1px solid #aaa;
}
th {
  padding: 4px;
  background-color: #666666;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  vertical-align: top;
}
td {
  text-align: left;
  vertical-align: middle;
  padding: 1em;
}
#calendar, #header, #contents, #footer {
  width: auto;
}
.wrapper {
  margin: 0 auto;
}
ol.olLst01 {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ol.olLst01 li {
  padding-left: 2em;
  text-indent: -1.8em;
}
/* 注意書き用スタイル */
ul.note, #overview ul.note {
  padding: 0px;
  margin-top: 0px;
  margin-right: 0px;
  margin-left: 0px;
  margin-bottom: 1em;
  list-style-type: none;
  line-height: 1.4;
  color: #333333;
}
ul.note li {
  padding-left: 1em;
  text-indent: -1em;
}
#overview .level2 p.note {
  margin-top: 1em;
  font-size: 95%;
  line-height: 1.5;
}



/*====================================================================================
 clearfix
=====================================================================================*/
.clearfix:after, .enterprise-1:after, .enterprise-2:after, .enterprise-3:after, .enterprise-4:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix, .enterprise-1, .enterprise-2, .enterprise-3, .enterprise-4 {
  min-height: 1px;
  position: relative;
}
* html .clearfix, * html .enterprise-1, * html .enterprise-2, * html .enterprise-3, * html .enterprise-4 {
  height: 1px;
  /*\*/ /*/
  height: auto;
  overflow: hidden;
  /**/
}


/* --- #header --- /////////////////////////////////////////////////*/
.h1-mobile, .h1-pc, .header-logo {
  display: none;
}
#header {
  background: #000 url(../images/header-bg.jpg) no-repeat 50% 50%;
  background-size: cover;
}
#header .header-logo {
  background: #fff;
  box-sizing: border-box;
}
#header .header-logo ul {
  display: table;
  border-collapse: collapse;
  width: 100%;
}
#header .header-logo li {
  display: table-cell;
  width: 50%;
}
#header .header-logo li:first-child img {
  display: block;
  float: left;
  max-width: 255px;
}
#header .header-logo li:last-child img {
  display: block;
  float: right;
  max-width: 182px;
}


/* --- #navigation --- /////////////////////////////////////////////*/
.submit {
  display: inline-block;
  text-decoration: none;
  color: #ffffff;
  background-color: #f1b000 !important;
  text-shadow: 0 0 3px rgba(0, 0, 0, .5);
  padding: 1em 1.5em;
  border-radius: 5px;
  box-sizing: border-box;
  transition: .3s;
}
.submit:hover {
  background-color: #f4c033 !important;
}
.submit i {
  vertical-align: middle;
  margin-right: .2em;
}
#navigation {
  text-align: center;
  background-color: #222222;
  font-size: 1.2rem;
  letter-spacing: .05em;
}
#navigation ul {
  display: table;
  width: 100%;
  margin: 0;
}
#navigation li {
  display: table-cell;
  position: relative;
  width: 33.3%;
  /*width: 50%;*/
}
#navigation a {
  display: block;
  text-decoration: none;
  color: #fff;
  padding: .8em .4em;
  box-sizing: border-box;
  transition: .3s;
}
#navigation a:hover {
  background: rgb(66 62 98 / 50%);
}
#navigation .active, #navigation .active:hover {
  color: #fff;
  background: #565656;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  /*
  position:absolute;
  bottom: 0;
  width: 100%;
  color: #666;
  background-color: #fff;
  border-bottom: 5px solid #fff;
  border-radius: 5px 5px 0 0;
  box-shadow: -2px -2px 2px rgba(0,0,0,.2), 2px -2px 2px rgba(0,0,0,.2);
*/
}
#navigation .submit {
  min-width: 5em;
  margin: 0 .5em;
  padding-top: .4em;
  padding-bottom: .4em;
}
#navigation .event-name {
  display: none;
  font-size: 75%;
  line-height: 1;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  padding: .5em;
  background-color: #444444;
}
#navigation .nav-top {
  min-width: 4em;
}
#navigation .nav-overview {
  min-width: 5em;
}
#navigation .nav-timetable {
  /*min-width: 8em;*/
  min-width: 5em;
}
#navigation br {
  display: none;
}
#navigation.fixed {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
}
#navigation.fixed a:hover {
  background: rgb(66 62 98 / 50%);
}
/*
#navigation.fixed .active,
#navigation.fixed .active:hover {
  position: relative;
  color: #fff;
  background: #565656;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
*/
#navigation.fixed .event-name {
  display: block;
}


/* --- #contents --- ///////////////////////////////////////////////*/
#contents .wrapper {
  padding-left: .8em;
  padding-right: .8em;
  box-sizing: border-box;
}
#contents {
  position: relative;
  color: #444444;
  background-color: #ffffff;
}
#contents h2 {
  position: relative;
  text-align: center;
  color: #2f4858;
  margin: 0 0 .8em;
}
#contents h2:before, #contents h2:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #9baebc;
}
#contents h2:before {
  top: 12px;
}
#contents h2:after {
  top: 15px;
}
#contents h2 span {
  position: relative;
  display: inline-block;
  padding: 0 .5em;
  background-color: #ffffff;
  z-index: 100;
}
#contents h2 + p {
  font-size: 90%;
  line-height: 1.5;
}
#register,
/*#lead,*/
#enterprise,
#pickup-K-1,
#pickup-lecturer,
#pickup,
#sponsor,
#overview,
#timetable,
#exhibition {
  padding: 2.5em 0 2.5em;
}
#sponsor,
#enterprise {
  padding-bottom: 0.1em;
}
#information + #timetable, #information + #exhibition {
  padding-top: 1em;
}
.closed {
  padding: 1.5em 0;
  margin-bottom: clamp(1.5em, 5vw, 50px);
  text-align: center;
  background-color: #ce0468;
  background-image: linear-gradient(-45deg, #ce0468 25%, #a70e56 25%, #a70e56 50%, #ce0468 50%, #ce0468 75%, #a70e56 75%, #a70e56);
  background-size: 6px 6px;
  border: 1px solid #ffacd5;
  color: #FFFFFF;
  font-size: 1.1em;
}
.lecturer-company, .lecturer-division, .lecturer-post {
  line-height: 1.2;
  margin: .3em 0;
}
.lecturer-company {
  font-size: 115%;
  margin-bottom: .5em;
}
.lecturer-name {
  font-size: 150%;
  font-weight: bold;
  margin: 0;
}
.lecturer-name:after {
  content: "氏";
  font-size: 65%;
  font-weight: normal;
  margin-left: .5em;
}
.lecturer-name.en:after {
  content: none;
}
.notice {
  font-size: 90%;
}
#overview .notice {
  text-indent: -1em;
  padding-left: 1em;
}
.btn-submit {
  text-align: center;
  margin-top: 3em;
}
.btn-submit a {
  letter-spacing: .1em;
}

/* --- #ondemand -------------*/
#ondemand {
  margin: 1em auto 3.5em;
  padding: 1em clamp(10px, 5vw, 24px);
  color: #000;
  background: #fff;
  border: 6px solid #12bf00;
}
#lead:has(#ondemand) {
  padding-bottom: 3.5em;
}
@media screen and (max-width: 768px) {
  #ondemand {
    margin-bottom: 2.5em;
  }
  #lead:has(#ondemand) {
    padding-bottom: 2.5em;
  }
}
#ondemand header {
  position: relative;
  font-size: 115%;
  font-weight: bold;
  text-align: center;
}
/*
#ondemand header::after {
    content: "";
    display: block;
    position: relative;
    height: 1em;
    background-color: #12bf00;
    background-image: linear-gradient(135deg, #ffffff 25%, #12bf00 25%, #12bf00 50%, #ffffff 50%, #ffffff 75%, #12bf00 75%, #12bf00 100%);
    background-size: 5.66px 5.66px;
}
@media screen and (min-width: 769px) {
    #ondemand header::after {
        left: 50%;
        width: 85%;
        transform: translateX(-50%);
    }
}
*/
#ondemand header h2 {
  margin-bottom: 0.25em;
  color: #000;
}
#ondemand header h2 em {
  display: inline-block;
  margin: 0 0.25em;
  background: #12bf00;
  color: #fff;
}
#lead #ondemand header p {
  margin-bottom: 1.5em;
}
#ondemand p > .notes {
  display: inline-block;
  margin-top: 0.75em;
}
#ondemand p.txt {
  margin: 2em auto;
  padding: 1em 0;
  line-height: 1.5;
  border: 1px solid #12bf00;
  border-width: 1px 0;
}
@media screen and (min-width: 769px) {
  #ondemand p.txt {
    width: 85%;
  }
}
#ondemand p.txt b {
  font-family: 'ヒラギノ角ゴ Pro';
  color: #10ae00;
}
/*
#ondemand .period {
    position: relative;
    padding: 10px;
    font-size: 135%;
    font-weight: bold;
    text-align: center;
    background-image: linear-gradient(135deg, #ffffff 25%, #12bf00 25%, #12bf00 50%, #ffffff 50%, #ffffff 75%, #12bf00 75%, #12bf00 100%);
    background-size: 5.66px 5.66px;
}
@media screen and (min-width: 769px) {
    #ondemand .period {
        width: 85%;
        margin: auto;
        font-size: 145%;
    }
}
#ondemand .period::before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    left: 50%;
    top: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
}
*/
#ondemand .period {
  font-size: 135%;
  font-weight: bold;
  text-align: center;
}
#ondemand .period p {
  position: relative;
}
#ondemand .period p > .notes {
  margin-top: 0.25em;
}
#ondemand .recommend {
  position: relative;
  margin: 2.5em auto 1em;
  padding: 10px;
  background-image: linear-gradient(135deg, #ffffff 25%, #12bf00 25%, #12bf00 50%, #ffffff 50%, #ffffff 75%, #12bf00 75%, #12bf00 100%);
  background-size: 5.66px 5.66px;
}
#ondemand .recommend::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  left: 50%;
  top: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 420px) {
  #ondemand .recommend {
    padding: 0;
    background: transparent;
  }
  #ondemand .recommend::before {
    content: none;
  }
}

#ondemand .recommend * {
  position: relative;
}
#ondemand .recommend h3 {
  margin-top: 0.5em;
  text-align: center;
}
#ondemand .recommend h3 span {
  display: inline-block;
  padding: 0.2em 0.75em;
  font-family: 'ヒラギノ角ゴ Pro';
  font-weight: bold;
  color: #fff;
  background: #12bf00;
}

@media screen and (max-width: 420px) {
  #ondemand .recommend h3 span {
    display: block;
  }
}

#ondemand .recommend-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: 0;
  padding-left: 7px;
}
#ondemand .recommend-list li {
  list-style-type: none;
  flex-grow: 1;
  margin-top: 0.5em;
  padding: 7px 7px 7px 0;
  box-sizing: border-box;
}

@media screen and (min-width: 421px) and (max-width: 768px) {
  #ondemand .recommend-list li {
    width: 50%;
  }
}

@media screen and (min-width: 769px) {
  #ondemand .recommend-list li {
    width: 25%;
    margin-top: 0;
  }
}

/* セッション名 */
#ondemand .recommend-list li > b {
  display: block;
  margin-bottom: 0.3em;
  text-align: center;
  font-size: 115%;
  line-height: 1.3;
}
#ondemand .recommend-list li > b::before, #ondemand .recommend-list li > b::after {
  content: "";
  display: inline;
  position: absolute;
  top: -5px;
  font-size: 250%;
  color: #90AECF;
}
#ondemand .recommend-list li > b::before {
  content: "「";
  left: -0.5em;
}
#ondemand .recommend-list li > b::after {
  content: "」";
  right: -0.5em;
}
#ondemand .recommend-list li > b span {
  display: block;
}
/* 講師写真、氏名など */
#ondemand .recommend-list figure img {
  display: block;
  width: 100%;
}
#ondemand .recommend-list figcaption {
  padding: 0.5em;
  font-size: 90%;
  line-height: 1.2;
  color: #fff;
  background: #537DA5;
}

@media screen and (min-width: 421px) and (max-width: 800px) {
  #ondemand .recommend-list figcaption {
    min-height: 4.5em;
  }
}

#ondemand .recommend-list figcaption b {
  display: inline-block;
  margin-bottom: 0.25em;
  font-size: 135%;
}
#ondemand .recommend-list figcaption b::after {
  content: "氏";
  margin-left: 0.25em;
  font-size: 70%;
}

/* --- #information -------------*/
#information {
  padding: 1.5em 0;
  text-align: center;
  background-color: #e6e6e6;
  background-image: linear-gradient(-45deg, #e6e6e6 25%, #dfdfdf 25%, #dfdfdf 50%, #e6e6e6 50%, #e6e6e6 75%, #dfdfdf 75%, #dfdfdf);
  background-size: 6px 6px;
}
#information .closed-form {
  font-weight: bold;
}
#information .closed-form span {
  display: inline-block;
}

/* --- #benefit box -------------*/
.benefit {
  margin: 30px auto;
  border: 2px solid #e23f08;
  border-radius: 6px;
}
.benefit span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .5em 0;
  background-color: #e23f08;
  color: #fff;
  font-weight: 600;
  font-size: 1.3rem;
}
.benefit p {
  margin: 0;
  font-size: 1.2rem;
  padding: 15px 20px;
  color: #333;
}

/* --- #lead --------------------*/
#lead, #lead h2 {
  color: #fff;
}
#lead {
  font-size: 90%;
  background: #151433 url(../images/lead-bg.jpg) no-repeat 50% 50%;
  background-size: cover;
  padding: clamp(0.625rem, -0.284rem + 4.55vw, 3.125rem); /* min 320px:10px / max 1200px:50px */
}
#lead .wrapper {
  padding: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem); /* min 320px:20px / max 1200px:40px */
  background-color: rgba(0, 48, 92, 0.60);
}
#lead h2 {
  font-size: 1.375em;
  margin-top: .5em;
  margin-bottom: 1.5em;
  line-height: 1.5;
}
#lead h2:before, #lead h2:after {
  content: none;
}
#lead h2 span {
  display: block;
  padding-top: 0.5em;
  font-size: 1rem;
  /*padding: 0;*/
  background: transparent;
  /*z-index: auto;*/
}
#lead h2 + p {
  font-size: inherit;
  margin: 0;
}

/* --- #privilege --------------------*/
#privilege {
  padding: 30px;
  margin-top: -20px;
  margin-bottom: 60px;
  border: 2px solid #8B84EE;
  border-radius: 10px;
  text-align: center;
  background-color: rgb(243 236 255 / 90%);
}
#privilege p {
  color: #6159ca;
  margin-top: 0;
  font-size: 1.2rem;
}
#privilege span {
  color: #3d3d3d;
  font-size: 1rem;
}

@media only screen and (max-width: 768px) {
  #privilege {
    margin-top: 0;
    margin-bottom: 50px;
  }
}

@media only screen and (max-width: 640px) {
  #privilege {
    padding: 20px;
    margin-top: 0;
    margin-bottom: 40px;
  }
}

/* --- #point ------------*/
#point, #point h2 {
  color: #e9eaec;
}
#point {
  background-color: #212d42;
  padding-top: 2em;
  padding-bottom: 2em;
}
#point h2 {
  font-size: 125%;
  margin-bottom: 1.3em;
  padding: 0 0 .3em;
  border: 0 solid #646c7b;
  border-width: 0 0 1px;
}
#point h2:before, #point h2:after {
  content: none;
}
#point h2 span {
  padding: 0;
  background: transparent;
}
#point .point-detail-inner {
  font-size: 90%;
  line-height: inherit;
}
#point .point-detail {
  display: table;
  width: 102%;
  margin-left: -1%;
  margin-right: -1%;
  box-sizing: border-box;
}
#point .point-detail .point-detail-inner {
  display: table-cell;
  vertical-align: top;
  width: 33%;
  padding-top: 1.5em;
  padding-right: 2.5%;
  padding-left: 2.5%;
  padding-bottom: 1.5em;
  box-sizing: border-box;
  background-color: #314362;
  border: 10px solid #212d42;
}
#point .point-detail:nth-of-type(2) .point-detail-inner {
  padding-top: 2em;
}
#point .point-detail .point-detail-inner ul {
  margin-top: 1em;
  margin-bottom: 1em;
}

/* --- #enterprise --------------------*/
#enterprise, #enterprise h2 {
  color: #fff;
}
#enterprise {
  background-color: #38729b;
  background-image: url(../images/top/enterprise-bg.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
}
.enterprise-1, .enterprise-2, .enterprise-3, .enterprise-4 {
  width: 25%;
  margin-bottom: 1.5em;
}
.enterprise-1 {
  float: left;
}
.enterprise-2 {
  float: left;
}
.enterprise-3 {
  float: left;
}
.enterprise-4 {
  float: right;
}
#enterprise .company-logo {
  padding-bottom: 1em;
}
#enterprise .company-logo img {
  float: none;
  width: 50%;
  height: auto;
}
#enterprise h2 {
  border: 0 solid #679abf;
  border-width: 1px 0;
  margin-bottom: 1.5em;
  margin-top: 0.5em;
}
#enterprise h2 span {
  padding: .3em 0;
  background: transparent;
}
#enterprise h3 {
  font-size: 100%;
  margin-top: 1em;
  margin-bottom: 1em;
}
#enterprise h3 span {
  font-size: 90%;
}
#enterprise h2:before, #enterprise h2:after {
  background-color: #679abf;
}
#enterprise h2:before {
  top: -4px;
}
#enterprise h2:after {
  top: auto;
  bottom: -4px;
}
#enterprise .session-category {
  display: inline-block;
  font-size: 75%;
  line-height: 1;
  color: #fff;
  margin: .1em 0;
  padding: .5em .8em;
  background-color: #4D9F86;
  border-radius: 3px;
}

/* --- #overview --------------------*/
#overview {
  color: #2f4858;
  background-color: #FFFFFF;
}
#overview h2 span {
  color: #2f4858;
  background-color: #FFFFFF;
}
#overview figure {
  font-size: 90%;
  line-height: 1.3;
  margin: .8em 0 1em;
}
#overview .level2 p {
  margin: .5em 0;
}
#overview .level2 ul, #overview .level2 ol {
  margin-top: .5em;
}
#overview .add-calender {
  font-size: 90%;
}
#overview-title .level2 p span {
  display: inline-block;
}
#overview-title .level2 p:first-child {
  font-size: 125%;
}
#overview-date li + li {
  margin-top: 0.5em;
}
#overview-date li .notes {
  display: inline-block;
  margin-top: 0.25em;
}
#overview-place .level2 .venue {
  margin-bottom: 0;
}
#overview-place .level2 .adress {
  margin-top: .2em;
}
#overview-place .level2 .access {
  font-size: 90%;
  line-height: 1.4;
  margin-top: .8em;
}
#overview-place .level2 .access li {
  margin: .5em 0;
}
#overview-place .level2 p.access {
  display: list-item;
  margin-left: 1.5em;
}
#overview-place .level2 .notes {
  font-size: 90%;
}
@media screen and (max-width: 768px) {
  #overview-place .level2 .notes {
    display: block;
    margin: 0.25em 0 0.75em;
  }
}
#overview-promoter li, #overview-support li {
  margin: .5em 0;
}
#overview-support .level2 {
  padding-top: 1em !important;
  padding-bottom: 1em !important;
}
#overview-promoter .level2 img, #overview-support .level2 img {
  width: 150px;
  height: auto;
}

/* --- #sponsor ----------------------*/
#sponsor h2 {
  font-size: 90%;
  line-height: 1;
  padding: .3em;
  background: #d9e2e8;
  border-radius: 1em;
}
#sponsor h2:not(:first-child) {
  margin-top: 1.8em;
}
#sponsor h2 span {
  background: transparent;
}
#sponsor h2:before, #sponsor h2:after {
  content: none;
}
#sponsor ul {
  text-align: center;
  letter-spacing: -.4em;
  margin: 0 auto;
}
#sponsor li {
  list-style: none;
  display: inline-block;
  vertical-align: middle;
  letter-spacing: normal;
  margin: 10px 20px;
}
#sponsor li img {
  max-width: 195px;
  max-height: 71px;
}
#sponsor .wide-h {
  margin-top: 15px;
  margin-bottom: 15px;
}
#sponsor-platinum li {
  margin-top: 0;
  margin-bottom: 0;
}
#sponsor-platinum li img {
  max-width: 200px;
  max-height: 100%;
}
/*
#sponsor-gold1 li,
#sponsor-gold2 li,
#sponsor-media2 li {
  margin-top:0;
}
#sponsor-silver li,
#sponsor-lecture li {
  margin-bottom:0;
}
*/

/* --- #timetable --------------------*/
#timetable h4 {
  font-size: 110%;
  line-height: 1.2;
  color: #2f4858;
  margin: .5em 0 0;
}
#timetable h4 span {
  display: block;
  font-size: 85%;
  margin: .3em 0 0;
}
/*#timetable h5 {
  position: relative;
  font-size: 95%;
  line-height: 1;
  color: #2f4858;
  padding: .4em .3em;
  border-left: 8px solid #cdd9e0;
}*/
#timetable i {
  vertical-align: middle;
}
#timetable nav i {
  color: #999;
  margin: 0 .5em .1em .2em;
}
#timetable .btn-detail i, #timetable .btn-profile i {
  margin-right: .2em;
}
#timetable .btn-timetable-navi i {
  margin-right: .3em;
}
#timetable nav {
  margin-top: 1.5em;
  margin-bottom: 1.8em;
}
#timetable nav dt {
  font-size: 65%;
  text-align: center;
  line-height: 1;
  color: #ffffff;
  padding: .5em;
}
#timetable nav dd {
  padding: .3em;
}
#timetable nav p {
  font-size: 70%;
  margin: 0;
}
#timetable nav dd > a:not(:first-child) p {
  margin-top: .3em;
}
#timetable nav b {
  color: #555555;
}
#timetable nav span + b {
  margin-left: .2em;
}
#timetable nav a {
  text-decoration: none;
  color: #444444;
}
#timetable nav a:hover p {
  background: #eeeeee;
}
#timetable nav .timetable-date, #timetable nav .level2, #timetable nav .session-id {
  vertical-align: middle;
}
#timetable nav .session-id {
  font-size: 85%;
  margin-right: .3em;
}
#timetable nav .session-class {
  display: inline-block;
  font-size: 85.9%;
  line-height: 1;
  color: #ffffff;
  margin: .2em 0;
  padding: .5em .8em;
  background-color: #5a6871;
  border-radius: 3px;
}
#timetable nav .lecturer {
  font-size: inherit;
}
#timetable .level1, #timetable .level2, #timetable .level3 {
  border: 0 solid #9baebc;
  box-sizing: border-box;
}
#timetable .level1 {
  display: table;
  width: 100%;
}
#timetable .level2 {
  border-bottom-width: 1px;
}
#timetable nav .level1:first-child .level2, #timetable > section:nth-of-type(2) .level2 {
  border-top-width: 1px;
}
#timetable .level2 > section {
  margin: 1em 0;
  padding-bottom: 1em;
  border-bottom: 1px solid #DCE2EA;
}
#timetable .level2 > section:first-of-type {
  margin-top: 0;
}
#timetable .level2 > section:last-of-type {
  margin-bottom: .5em;
  padding-bottom: 0;
  border-bottom: 0;
}
#timetable .timetable-date, #timetable .level2 {
  display: table-cell;
  vertical-align: top;
}
#timetable .level3, #timetable .single .level2 {
  padding: .8em .5em;
}
#timetable .timetable-date {
  width: 3em;
  background-color: #9baebc;
}
#timetable .level1:nth-child(odd) .timetable-date {
  background-color: #8a9ead;
}
#timetable .timetable-date span {
  display: block;
}
#timetable .timetable-date span:nth-of-type(2) {
  display: inline-block;
  transform: rotate(90deg);
}
#timetable .timetable-date span:nth-of-type(4) {
  font-size: 90%;
  font-weight: normal;
  margin-top: .5em;
}
#timetable .timetable-date h3 {
  font-size: 75%;
  text-align: center;
  line-height: 1;
  color: #fff;
  margin: 1em 0;
}
#timetable .session-id, #timetable .session-category, #timetable .session-outline, #timetable .session-info {
  display: inline-block;
  font-size: 75%;
  line-height: 100%;
  color: #ffffff;
  margin: .1em 0;
  padding: .5em .8em;
  background-color: #5a6871;
  border-radius: 3px;
}
#timetable .session-id {
  text-align: center;
  display: inline-block;
}
#timetable .session-id.track1 {
  background-color: #942828;
}
#timetable .session-id.track2 {
  background-color: #296322;
}
#timetable .session-id.track3 {
  background-color: #014f92;
}
#timetable .session-info {
  line-height: 1.3;
  color: inherit;
  padding-left: .2em;
  background: transparent;
}
#timetable .session-notes {
  font-size: 90%;
  font-weight: bold;
  color: #942828;
  margin: .5em 0 1.5em;
}
#timetable .btn-detail {
  position: relative;
  margin-bottom: 0;
  padding-top: .6em;
}
#timetable .session-outline {
  background-color: #4A82A6;
  font-weight: normal;
}
#timetable .btn-detail:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 5em;
  height: 6px;
  background-color: #cdd9e0;
  border-radius: 6px;
}
#timetable .btn-detail a {
  font-size: 95%;
  text-decoration: none;
  color: #444444;
}
#timetable .btn-detail a:hover {
  text-decoration: underline;
}
#timetable .btn-detail a i {
  color: #999999;
}
#timetable a.btn-profile {
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.5em;
  height: 24px;
  color: #FFFFFF;
  text-align: center;
  line-height: 24px;
  background-size: 4px 4px;
  -moz-border-radius: 5px; /* Firefox v1.0+ */
  -webkit-border-radius: 5px; /* Safari v3.0+ and by Chrome v0.2+ */
  border-radius: 5px; /* Firefox v4.0+ , Safari v5.0+ , Chrome v4.0+ , Opera v10.5+  and by IE v9.0+ */
  text-decoration: none;
  margin: 0px !important;
  background-color: #aaaaaa;
  background-image: linear-gradient(-45deg, #aaaaaa 25%, #666666 25%, #666666 50%, #aaaaaa 50%, #aaaaaa 75%, #666666 75%, #666666);
}
#timetable a.btn-profile:hover {
  -webkit-transition: all .3s;
  transition: all .3s;
  text-decoration: none;
  color: #FFFFFF;
  opacity: 0.8;
  filter: alpha(opacity=80); /* ie lt 8 */
  -ms-filter: "alpha(opacity=80)"; /* ie 8 */
  -moz-opacity: 0.8; /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.8; /* Safari 1.x */
  zoom: 1;
}
#timetable .btn-timetable-navi {
  display: inline-block;
  position: fixed;
  bottom: 10px;
  right: 5em;
  margin: 0;
  z-index: 1000;
}
#timetable .btn-timetable-navi a {
  display: block;
  text-decoration: none;
  line-height: 1;
  color: #ffffff;
  padding: .8em;
  background-color: #738da0;
  background: rgba(115, 141, 160, .9);
  border-radius: 3px;
}
#timetable .btn-timetable-navi a:hover {
  opacity: .8;
}

#timetable .lecturer {
  font-size: 85%;
  color: #555555;
  margin: 1em 0 0;
  z-index: 1;
  position: relative;
  display: flex;
  gap: 1em;
}

#timetable .lecturer-pic {
  /*float: left;*/
  width: 120px;
  height: 120px;
  /*margin-right: 1em;*/
}

#timetable .lecturer-pic img {
  width: 100%;
  height: auto;
}

#timetable .lecturer-txt {
  flex: 1;
}

@media (max-width: 460px) {
  
  #timetable .lecturer {
    flex-wrap: wrap;
    gap: 1em;
  }
  
  #timetable .lecturer + .lecturer {
    margin-top: 1.5em;
  }
  
  #timetable .lecturer-txt {
    width: 100%;
    flex: auto;
  }
  
}

#timetable .lecturer-list .lecturer-pic {
  width: 120px;
  height: 120px;
}
#timetable .level1:not(.single) .lecturer-company {
  font-size: 105%;
  margin-bottom: .1em;
}
#timetable .level1:not(.single) .lecturer-name {
  font-size: 130%;
}
#timetable dl.lecturer-list dt {
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #2f4858;
  margin: 1.3em 0 0;
  padding: .3em .8em;
  background-color: #cdd9e0;
  border-radius: 1em;
}
#timetable .session-detail {
  margin-top: 1em;
}
#timetable .session-overview p {
  font-size: 90%;
  line-height: 1.4;
  margin: .8em 0;
}
#timetable .session-overview {
  position: relative;
  margin-top: 1em;
}
#timetable .lecturer-profile {
  font-size: 90%;
  line-height: 1.4;
  margin: 1em 0;
}
#timetable .lecturer-profile dt {
  font-size: 110%;
  font-weight: bold;
}
#timetable .lecturer-profile dd {
  padding-left: .3em;
  border-left: 8px solid transparent;
}
#timetable .lecturer-profile dd p {
  font-size: 90%;
  line-height: 1.4;
}
#timetable .lecturer-profile .lecturer-workspace {
  margin: .3em 0 0;
}
#timetable .lecturer-profile .lecturer-biography {
  margin: 1em 0 0;
}
#timetable .lecturer-profile .part {
  display: inline-block;
  font-size: 75%;
  color: #2f4858;
  margin-bottom: .3em;
  padding-right: 2em;
  border-bottom: 3px solid #cdd9e0;
}
#timetable .lecturer + h4 {
  margin-top: 1.5em;
}
#timetable .btn-outline {
  font-size: 110%;
  color: #2971f3;
  transition: .3s;
}
#timetable .btn-outline i {
  margin-right: .2em;
}
#timetable .btn-outline:hover {
  color: #32afb3;
}
#timetable .lecturer + .outlineBox p, #timetable .outlineBox + .lecturer-list, #timetable .moderatorBox {
  margin-bottom: .5em;
}
#timetable .outlineBox h5 {
  margin-top: 1em;
}
#timetable .panelistBox, #timetable .moderatorBox {
  margin-top: 1.5em;
}
#timetable .panelistBox h5, #timetable .moderatorBox h5 {
  font-size: 95%;
  line-height: 1;
  color: #2f4858;
  margin-bottom: .5em;
  padding: .4em .3em;
  border-left: 8px solid #cdd9e0;
}
#timetable header + .lecturer, #timetable header + .lecturer-list {
  margin-top: 1.5em !important;
}
#timetable .lecturerProfileBox {
  font-size: 85%;
  margin-top: 1em;
}
#timetable .lecturer + .lecturer .lecturerProfileBox {
  margin-bottom: 0.5em;
}

/* --- #footer --- /////////////////////////////////////////////////*/
#footer .page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  margin: 0;
  z-index: 1000;
}
#footer .page-top a {
  display: block;
  padding: .5em 1em;
  background-color: #2f4858;
  background: rgba(47, 72, 88, .8);
  border-radius: 3px;
  color: #FFFFFF;
  text-decoration: none;
  text-align: center;
}
#footer .page-top a:hover {
  opacity: .8;
}
#footer .page-top i {
  display: block;
}
#footer {
  overflow: hidden;
  width: 100%;
  padding: 1em 0;
  background-color: #000000;
  color: #ffffff;
  font-size: 80%;
  text-align: right;
}
.footer-nav {
  margin-right: .75em;
  float: right;
}
.footer-nav a {
  display: inline-block;
  margin: .5em .25em;
  padding: .5em;
  border: 1px solid #ffffff;
  border-radius: 4px;
  color: #ffffff;
  font-size: 80%;
  text-decoration: none;
  text-align: right;
  transition: .3s;
}
.footer-nav a:hover {
  background-color: #666666;
}
#footer span a {
  border: none;
  border-radius: 0px;
  padding-bottom: .25em;
  border-bottom: 1px solid #fff;
}
.footer-logo {
  float: left;
  margin: 0.5em 1.5em;
  width: 80px;
  height: auto;
}


/* --- Media Query --- //////////////////////////////////////////////*/

@media (max-width: 420px) {
  .h1-mobile {
    display: block;
  }
  #pickup h2 {
    margin-bottom: 1em;
  }
  #timetable > .wrapper:not(:first-child) {
    padding-right: 0;
    padding-left: 0;
  }
  #timetable .btn-outline {
    padding-left: 0 !important;
  }
  #timetable .btn-outline i {
    margin-left: 0 !important;
  }
}

@media (min-width: 421px) {
  .h1-pc {
    display: inline-block;
    width: 100%;
    max-width: 1024px;
  }
  .header-logo {
    display: block;
    width: 100%;
  }
  #timetable nav dd {
    padding-right: .5em;
    padding-left: .5em;
  }
  #timetable nav .level2 {
    border-right-width: 1px;
  }
}

@media (max-width: 460px) {
  /*#timetable .single .lecturer-pic {
    float: none;
    margin: 0 0 .5em;
  }*/
  .btn-submit .submit {
    width: 94%;
    box-sizing: border-box;
  }
  .closed {
    text-align: left;
    margin-bottom: 2em;
    padding: 1em;
  }
}

@media (min-width: 461px) {
  #pickup .lecturer-post {
    position: relative;
    display: inline-block;
  }
  #pickup .lecturer-post img {
    position: absolute;
    bottom: 0;
    right: -110px;
    margin-right: .5em;
  }
}

@media (max-width: 600px) {
  #navigation br {
    display: block;
  }
  #navigation li {
    vertical-align: middle;
  }
  #navigation a {
    height: 4.6em;
  }
  .nav-top a, .nav-overview a {
    line-height: 3em;
  }
  #navigation a.submit {
    height: auto;
  }
  #navigation .active, #navigation .active:hover {
    height: 5em;
  }
  #timetable .timetable-date h3 {
    top: 7em !important;
  }
}

@media only screen and (max-width: 768px) {
  .footer-logo {
    width: 40px;
    height: auto;
  }
  .btn-submit a {
    width: 80%;
  }
  .lecturer-name {
    margin-top: .3em;
  }
  #header .header-logo li:first-child img, #header .header-logo li:last-child img {
    max-height: 45px;
  }
  #contents {
    font-size: 115%;
    line-height: 1.3;
  }
  #information {
    padding-top: .8em;
    padding-bottom: .8em;
  }
  #overview {
    /*padding-top: 1.5em;*/
    padding-bottom: 1em; /* for ".page-top" */
  }
  #sponsor {
    padding-top: 1.5em;
    padding-bottom: 1em;
  }
  #timetable {
    padding-top: 1.5em;
    padding-bottom: 3em; /* for ".page-top" */
  }
  #navigation {
    font-size: 90%;
  }
  #contents h2 {
    font-size: 130%;
  }
  #SMP_STYLE p {
    margin-bottom: 1.5em;
  }
  #SMP_STYLE dt.title {
    display: block;
    width: 100%;
    padding: 0;
  }
  #SMP_STYLE dd.data {
    display: block;
    width: 100%;
    margin-bottom: 12px;
  }
  #lead {
    /*padding-top: 1.5em;
    padding-bottom: 3em;*/
    /*background-image:url(../images/top/lead-bg.jpg);
    background-size: 180%;*/
  }
  #lead p {
    padding-right: .2em;
    padding-left: .2em;
  }
  #point .point-detail, #point .point-detail .point-detail-inner {
    display: block;
    padding: 0;
  }
  #point .point-detail {
    font-size: 90%;
  }
  #point .point-detail .point-detail-inner {
    width: 96%;
    margin-top: 1.5em;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0.5em;
    padding: 1em;
    border-style: none;
  }
  #point .point-detail:nth-of-type(2) .point-detail-inner {
    padding-top: inherit;
  }
  #point .point-detail .point-detail-inner:first-child {
    margin-top: 2.5em;
  }
  #point .point-detail .point-detail-inner:last-child {
    margin-bottom: 0;
  }
  #enterprise {
    background-image: none;
    padding-top: 1.5em;
  }
  .enterprise-wrap {
    width: 100% !important;
    margin: 0 0 25px 0 !important;
    gap: 25px !important;
  }
  .enterprise-wrap > div {
    width: 100%;
    max-width: 400px;
  }
  /*.enterprise-1,
  .enterprise-2,
  .enterprise-3,
  .enterprise-4 {
    width: auto;
    margin-bottom: 1em;
  }

  .enterprise-1,
  .enterprise-2,
  .enterprise-3,
  .enterprise-4,
  .enterprise-1 img,
  .enterprise-2 img,
  .enterprise-3 img,
  .enterprise-4 img,
  .enterprise-1 dl,
  .enterprise-2 dl,
  .enterprise-3 dl,
  .enterprise-4 dl {
    float: none;
  }*/
  #enterprise img {
    width: 100%;
  }
  #enterprise dl {
    margin: .8em 0;
  }
  #enterprise dd p {
    margin: .5em 0;
  }
  #enterprise .company-logo {
    padding-bottom: 0em;
    text-align: center;
    background-color: #FFFFFF;
    margin-bottom: 1em;
  }
  /*#pickup .session-subtitle:after {
    width: 80%;
  }*/
  #pickup .lecturer-name {
    font-size: 150%;
  }
  #pickup .lecturer-pic {
    width: 100% !important;
    display: block;
    margin-bottom: 0.5em;
  }
  #overview h3 {
    font-size: 85%;
    line-height: 1;
    color: #fff;
    margin-bottom: .8em;
    margin-right: .3em;
    margin-left: .3em;
    padding: .5em .8em;
    background-color: #9BAEBC;
    border-radius: 1em;
  }
  #overview figure {
    font-size: 85%;
    line-height: 1.4;
    color: #2f4858;
    padding: .5em;
    background-color: #f5f7f9;
  }
  #overview .level2 {
    padding-right: .8em;
    padding-left: .8em;
  }
  #overview-promoter .level2 > ul, #overview-support .level2 > ul {
    margin-left: 0;
  }
  #overview-promoter .level2 > ul > li, #overview-support .level2 > ul > li {
    list-style: none;
  }
  #overview-promoter figure {
    margin: 0;
  }
  #overview-promoter figure li {
    margin: .8em 0;
  }
  #overview-promoter figure li:last-child {
    margin-bottom: 0;
  }
  #sponsor h2 {
    font-size: 95%;
  }
  #timetable h4 span {
    margin-top: .5em;
  }
  #timetable nav dd > a:not(:first-child) p {
    margin-top: .5em;
  }
  #timetable nav p > .lecturer:not(:nth-last-child(2)) {
    display: block;
  }
  #timetable .level3, #timetable .single .level2 {
    padding-top: .5em;
  }
  #timetable .level2 > .level3:not(:first-child) {
    border-top-width: 1px;
  }
  #timetable .timetable-date h3 {
    position: -webkit-sticky;
    position: sticky;
    top: 5.5em;
  }
  #timetable .lecturer-company {
    font-size: 110%;
  }
  #timetable .btn-profile {
    font-size: 90%;
  }
  #timetable .btn-timetable-navi {
    font-size: 80%;
  }
  #timetable .single .lecturer-list + h5 {
    margin-top: 1.8em;
  }
  #timetable .single .lecturer-list .lecturer-company br {
    display: none;
  }
  #timetable .single .lecturer-list .lecturer {
    border-bottom: 1px dashed #DCE2EA;
    padding: 0.5em;
    margin: 0;
    /*    margin-left: 0.5em;*/
    /*    margin-right: 0.5em;*/
  }
  #timetable .single .lecturer-list .lecturer:last-of-type {
    border-bottom: 0;
  }
  #timetable .single .panelistBox .lecturer-list:first-of-type .lecturer:last-of-type {
    border-bottom: 1px dashed #DCE2EA;
  }
  #timetable .lecturerOutlineBox .btn-outline {
    padding-left: 80px;
  }
  #timetable .lecturerOutlineBox .btn-outline i {
    margin-left: .5em;
  }
  #timetable .lecturer-list .lecturer-name {
    margin-bottom: .5em;
  }
  #timetable header + .lecturer-list {
    margin-top: 1em;
  }
  #footer .page-top {
    font-size: 80%;
  }
  .swiper-slide img {
    width: 100%;
  }
}

@media only screen and (min-width: 769px) {
  .btn-submit {
    max-width: 1024px;
    margin-right: auto;
    margin-left: auto;
  }
  .btn-submit a {
    width: 50%;
  }
  .wrapper {
    max-width: 1024px;
  }
  #navigation a {
    padding-top: 1.2em;
    padding-bottom: 1.2em;
  }
  #overview {
    padding-bottom: 1em; /* for ".page-top" */
    padding-top: 3em;
  }
  #timetable {
    padding-bottom: 3em; /* for ".page-top" */
    padding-top: 3em;
  }
  #timetable h2 + p {
    text-align: center;
  }
  #lead {
    font-size: 1.1em;
  }
  #lead h2 {
    text-align: center;
  }
  #lead .wrapper {
    width: 100%;
    max-width: 950px;
  }
  #enterprise .company-logo {
    width: 30%;
    padding-left: 1.8em;
    float: right;
  }
  #enterprise .company-logo img {
    float: none;
    width: 100%;
    height: auto;
  }
  #enterprise dt {
    margin-bottom: .7em;
    padding-bottom: .2em;
  }
  #pickup .pickup-detail {
    display: table;
  }
  #pickup .lecturer-pic, #pickup .pickup-detail div {
    display: table-cell;
    vertical-align: middle;
  }
  #pickup .pickup-detail div {
    padding-left: 2em;
  }
  #pickup .session-subtitle span {
    display: inline-block;
  }
  #sponsor h2 {
    letter-spacing: 1px;
  }
  #overview .level1 {
    display: table;
    width: 100%;
    border: 0 solid #9facb5;
    border-width: 0 1px 1px;
    box-sizing: border-box;
  }
  #overview h2 + .level1 {
    margin-top: 1em;
    border-top-width: 1px;
  }
  #overview h3, #overview .level2 {
    display: table-cell;
    vertical-align: middle;
  }
  #overview h3 {
    width: 15%;
    font-size: 85%;
    text-align: center;
    margin: 0;
    padding: .5em;
    background-color: #d7dee3;
  }
  #overview .level2 {
    padding: .5em 1em;
    background-color: #FFFFFF;
  }
  #overview-title p:first-child {
    margin-bottom: 0;
  }
  #overview-visitors figure p span {
    display: inline-block;
  }
  #timetable nav, #timetable .btn-timetable-navi {
    display: none !important;
  }
  #timetable .single h4 {
    font-size: 125%;
  }
  #timetable .timetable-date {
    width: 8%;
    vertical-align: top;
  }
  #timetable .timetable-date h3 {
    font-size: 85%;
  }
  #timetable .level1 {
    width: 99%;
    max-width: 1024px;
    margin: 0 auto;
  }
  #timetable .level2 {
    width: 91%;
    border-right-width: 1px;
  }
  #timetable .level3 {
    display: table-cell;
    vertical-align: top;
    width: 33%;
    border-left-width: 1px;
  }
  #timetable .level2 > .level3:first-child {
    border-left-width: 0;
  }
  #timetable .single .lecturer-list {
    display: table;
    width: 100%;
    position: relative;
    margin-top: 1em;
  }
  #timetable .single .lecturer-list .lecturer {
    display: table-cell;
    vertical-align: top;
    /*	width: 33.33%;*/
    width: 50%;
    box-sizing: border-box;
    padding: 1em;
    border-right: 10px solid #FFFFFF;
    /*	border-top: 10px solid #FFFFFF;*/
    /*	border-bottom: 10px solid #FFFFFF;*/
    background-color: #EEF1F5;
  }
  /*  #timetable .single .lecturer-list .lecturer:nth-of-type(1) {
    border-left: 10px solid #FFFFFF;
  }*/
  #timetable .single .lecturer-list + h5 {
    margin-top: 1.8em;
  }
  #timetable .lecturerOutlineBox .btn-outline {
    position: absolute;
    bottom: .5em;
  }
  #timetable #K-1 .lecturer-list .lecturer {
    padding-bottom: 2.5em;
  }
  #footer .page-top {
    font-size: 120%;
  }
}

@media screen and (min-width:769px) and (max-width:1024px) {
  .enterprise-wrap {
    width: 700px;
    margin: 0 auto;
  }
  /*.enterprise-1,
  .enterprise-2,
  .enterprise-3,
  .enterprise-4 {
    width: 150px;
    margin-bottom: 1.5em;
  }
  
  .enterprise-1 {
    float: left;
    margin-right: 20px;
  }
  .enterprise-2 {
    float: left;
    margin-right: 20px;
  }
  .enterprise-3 {
    float: left;
    margin-right: 20px;
  }
  .enterprise-4 {
    float: left;
  }*/
  #enterprise dl, #enterprise .lecturer-company, #enterprise .lecturer-division, #enterprise .lecturer-post, #enterprise .lecturer-name {
    float: none;
    width: 100%;
  }
  #timetable .single .lecturer-list .lecturer-pic {
    width: 120px;
    height: 120px;
    float: none;
    margin-bottom: 0.8em;
  }
  #timetable .single .lecturer-list .lecturer-company br {
    display: none;
  }
}
.enterprise-wrap {
  width: 90%;
  margin: 0 auto 2em auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}

@media only screen and (min-width: 769px) {
  .enterprise-wrap > div {
    width: calc((100% - 80px) / 3);
    box-sizing: border-box;
  }
}

@media only screen and (min-width: 1024px) {
  /*.enterprise-wrap {
      width:900px;
      margin: 0 auto;
    }
  
  .enterprise-1,
  .enterprise-2,
  .enterprise-3,
  .enterprise-4 {
    width: 200px;
    margin-bottom: 1.5em;
  }

  .enterprise-1 {
    float: left;
    margin-right: 20px;
  }
  .enterprise-2 {
    float: left;
    margin-right: 20px;
  }
  .enterprise-3 {
    float: left;
    margin-right: 20px;
  }
  .enterprise-4 {
    float: left;
  }

  .enterprise-1 img,
  .enterprise-2 img,
  .enterprise-3 img,
  .enterprise-4 img {
    width: 200px;
  }*/
  #timetable nav.wrapper {
    padding: 0;
  }
  #timetable nav .level1 {
    width: 100%;
  }
  #timetable .level3, #timetable .single .level2 {
    padding-right: .8em;
    padding-left: .8em;
  }
  #timetable #K-1 .lecturer-list .lecturer-pic {
    margin-bottom: 30px;
  }
  #timetable #S-4 .lecturer-list .lecturer-pic {
    margin-bottom: 50px;
  }
}

@media print {
  body, #lead, #enterprise, #pickup-K-1, #pickup-lecturer, #pickup, #overview {
    color: #444;
    background: transparent;
  }
  .wrapper {
    padding-right: 1em;
    padding-left: 1em;
  }
  #header .wrapper, #enterprise .wrapper {
    padding: 0;
  }
  /*#calendar,*/
  #navigation, #information, #register, #timetable nav, #timetable .session-detail header p, #timetable .level1:not(.single) .lecturer-list, #timetable .level1:not(.single) header + .lecturer, #timetable .btn-detail, #timetable .btn-profile, #timetable .btn-timetable-navi, #footer p, #footer .page-top a {
    display: none !important;
  }
  #lead, #enterprise .profile, #timetable .session-overview, #timetable .lecturer-list, #timetable .lecturer-profile, #footer {
    page-break-inside: avoid;
  }
  #information, #lead, #enterprise, #sponsor, #overview {
    padding-bottom: 0;
  }
  #contents div:not(#sponsor) h2, #contents div:not(#sponsor) h2 span {
    color: #444444;
    background-color: #ffffff;
  }
  .inline-contents {
    display: block;
  }
  #enterprise img {
    width: 35%;
  }
  #enterprise dl {
    width: 62%;
  }
  #enterprise dt {
    margin-bottom: .7em;
    padding-bottom: .2em;
  }
  #sponsor ul {
    text-align: center;
  }
  #timetable h4 {
    font-size: 125%;
  }
  #timetable .level1 {
    width: 99%;
    margin: 0 auto;
  }
  #timetable .level2 {
    border-right-width: 1px;
  }
  #timetable .level2 > .level3:not(:first-child) {
    border-top-width: 1px;
  }
  #timetable .single .lecturer-list {
    margin-top: .8em;
  }
  #timetable .single .lecturer-list .lecturer {
    padding-right: .8em;
    box-sizing: border-box;
  }
  #timetable .session-detail .lecturer-profile {
    display: inline-block;
    vertical-align: top;
    font-size: 90%;
    width: 49%;
  }
  #timetable .session-detail.single .lecturer-profile {
    display: block;
    width: auto;
  }
  #footer .logo {
    width: auto;
    height: auto;
    margin: 0 auto;
  }
  #footer .logo img {
    display: none;
  }
  #footer .logo:after {
    display: block;
    content: "(c) 2017 Impress Corporation";
    color: #fff;
  }
}


/* --- "colorbox.js" Setting --- ///////////////////////////////////*/

/* --- session-detail ----------- */
#cboxLoadedContent {
  width: 100% !important;
  max-width: 800px !important;
}

@media only screen and (min-width: 769px) {
}

#colorbox .session-detail {
  color: #333333;
}
#colorbox .session-detail h5, #colorbox .session-detail header p {
  padding: .4em .3em;
  border-left: 8px solid #cdd9e0;
}
#colorbox .session-detail h5 {
  font-size: 95%;
  line-height: 1;
  color: #2f4858;
}
#colorbox .session-detail header p {
  line-height: 1.2;
}
#colorbox .session-detail p {
  font-size: 90%;
  line-height: 1.4;
}
#colorbox .session-detail header h5 {
  padding-bottom: 0;
}
#colorbox .session-detail header p {
  color: #999999;
  margin-top: 0;
  padding-top: .5em;
}
#colorbox .session-detail .lecturer-profile {
  color: #555555;
}
#colorbox .session-detail > .lecturer-profile:not(:first-of-type) {
  margin-top: 1.75em;
}
#colorbox .session-detail .lecturer-profile .lecturer-pic {
  width: 90px;
  height: 90px;
}

/* --- lecturer-profile ----------- */
#colorbox .lecturer-profile {
  color: #333333;
  margin-top: 1em;
}
#colorbox .lecturer-profile dt {
  font-size: 110%;
  font-weight: bold;
}
#colorbox .lecturer-profile dd p {
  font-size: 90%;
  line-height: 1.4;
}
#colorbox .lecturer-profile .lecturer-pic {
  float: left;
  width: 120px;
  height: 120px;
  margin: 0 10px 0 0;
}
#colorbox .lecturer-profile .lecturer-workspace {
  margin: .3em 0 0;
}
#colorbox .lecturer-profile .lecturer-biography {
  margin: 1em 0 0;
}
#colorbox .lecturer-profile .part {
  display: inline-block;
  font-size: 75%;
  color: #2f4858;
  margin-bottom: .3em;
  padding-right: 2em;
  border-bottom: 3px solid #cdd9e0;
}

@media only screen and (max-width:768px) {
  #colorbox .lecturer-profile .lecturer-pic {
    width: 90px;
    height: 90px;
  }
}

@media only screen and (min-width:769px) {
  .session-detail {
    overflow: hidden;
  }
  #colorbox .session-detail .lecturer-profile {
    vertical-align: top;
    font-size: 90%;
  }
  #colorbox .session-detail.single .lecturer-profile {
    display: block;
    width: auto;
  }
  #colorbox .session-detail .lecturer-profile p {
    line-height: 1.3;
  }
}

@media only screen and (min-width:1024px) {
  #colorbox .session-detail .lecturer-profile .lecturer-pic {
    width: 120px;
    height: 120px;
  }
}


/* --- "swiper.js" Setting --- ///////////////////////////////////*/
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  background-color: #ffffff;
}
.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 2px;
}
.swiper-slide figure {
  position: relative;
}
.swiper-slide figure img {
  display: block;
  margin: auto;
}
.swiper-slide figcaption {
  position: absolute;
  bottom: 0;
  width: 100%;
  font-size: 75%;
  line-height: 1.3;
  color: #ffffff;
  padding: .5em .5em 22px;
  background: rgba(0, 0, 0, .8);
  box-sizing: border-box;
}

@media only screen and (min-width: 769px) {
  .swiper-container {
    width: 600px;
  }
  .swiper-slide img, .swiper-slide figure {
    width: 400px;
    margin: auto;
  }
}

/* Add 2021 */
/* スムーズスクロール時の見出し見切れ緩和
    > ナビゲーションがfixedしてるときに限る
      > fixedさせるときにJSで座標の引き算をするのでずれる */
#overview, #timetable {
  padding-top: 100px;
}

/* TrackABを幅いっぱいに表示するための処理 */
#timetable .level3, #timetable .single .level2 {
  padding: 0;
}
#timetable header {
  padding: .5em .5em 0;
}
#timetable .lecturer, #timetable .outlineBox {
  padding: 0 .5em;
}

/* 不要な仕切り線を非表示 */
#timetable .level2 > section {
  margin: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.border-top-none {
  border-top: 0 !important;
}
.border-bottom-none {
  border-bottom: 0 !important;
}

/* Track A */
.trackA {
  background: #FBC000;
  color: #fff;
  text-align: center;
  padding: 3px 0 1px;
}

/* Track A */
.trackB {
  background: #7030A0;
  color: #fff;
  text-align: center;
  padding: 3px 0 1px;
}

/* セッションID */
.track1 {
  background-color: #942828 !important;
}
.track2 {
  background-color: #296322 !important;
}
.track3 {
  background-color: #014f92 !important;
}
.track4 {
  background-color: #FBC000 !important;
}
.track5 {
  background-color: #7030A0 !important;
}

/* Tablet,PC時TrackABの間に仕切り線を入れないための処理 */
article #timetable header + .lecturer, #timetable header + .lecturer-list {
  margin-top: 0 !important;
  padding-top: 1.5em;
}
#timetable .outlineBox h5 {
  margin-top: 0;
  padding-top: 1em;
}
#timetable .lecturer + .outlineBox p,
#timetable .outlineBox + .lecturer-list,
#timetable .moderatorBox {
  margin-bottom: 0;
  padding-bottom: .5em;
}

#timetable .outlineBox h5 + p {
  margin-top: 0.5em !important;
}

/* Tablet and PC */
@media only screen and (min-width: 769px) {
  /* Tablet,PC時TrackABの間に仕切り線を入れないための処理 */
  #timetable .level3 {
    border-left: 1px solid #9baebc;
  }
  #timetable .level2 > .level3:last-child header, #timetable .level2 > .level3:last-child .lecturer, #timetable .level2 > .level3:last-child .outlineBox {
    border-left: -1px solid #9baebc;
  }
}

.book .wrapper {
  max-width: 800px;
  padding-top: 85px;
}
.book .flex {
  display: flex;
  align-items: center;
  margin-top: 1em;
  padding: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem); /* min 320px:20px / max 1200px:30px */
  background: #e7ebee;
  border-radius: 10px;
}
.book .text {
  width: calc(80% - 20px);
}
.book .text h3 {
  margin-top: 0;
  font-size: 130%;
  color: #3F6379;
}
.book .text ul.note {
  font-size: 85%;
  margin: 1em 0 0 0;
}
.book .img {
  width: 20%;
  margin-left: 20px;
}
.book .img img {
  vertical-align: top;
}
.book b {
  font-family: sans-serif;
}

@media only screen and (max-width: 640px) {
  .book .flex {
    flex-flow: column-reverse;
  }
  .book .text {
    width: 100%;
    margin-bottom: 20px;
  }
  .book .text h3 {
    font-size: 120%;
    text-align: center;
    margin-bottom: 0.75em;
  }
  .book .img {
    width: 200px;
    margin-left: 0;
    margin-bottom: 1em;
  }
}

/* 見出し下のテキスト */
#contents .book h2 + p {
  font-size: inherit;
  margin-bottom: 1.75em;
}

@media screen and (min-width: 769px) {
  .book h2 + p {
    text-align: center;
  }
}

/* 特典下の注釈 */
.book .flex + .notes {
  margin-top: 1.75em;
  margin-bottom: 0;
  font-size: 85%;
}

/* ========== 2021/5/28 hara-ak ========== */
#timetable .level3 section .lecturer:only-of-type {
  padding-bottom: .5em;
}
#timetable .lecturerProfileBox, #timetable .panelistBox, #timetable .moderatorBox {
  padding-right: .5em;
  padding-left: .5em;
}

/*PC SP表示切り替え*/
@media screen and (min-width: 667px) {
  #policy dd:last-child > p br.pc-only {
    display: inline !important;
  }
}

@media all and (min-width: 1100px) and (max-width: 10000px) {
  sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 1099px) {
  .pc-only {
    display: none !important;
  }
}



