@charset "UTF-8";
.movie {
  position: relative;
  display: inline-block;
  margin-top: 30px;
}

.movie:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: none;
  z-index: 2;
  display: block;
  transition: .3s;
}

.movie:hover:before {
  background: rgba(0, 0, 0, 0.3);
}

/* mainVisual */
#mainVisual {
  margin-top: 25px;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  #mainVisual {
    display: table;
    width: 100%;
  }
  #mainVisual > .item {
    display: table-cell;
    width: 50%;
    padding: 5px 30px 30px 30px;
    vertical-align: middle;
  }
}

#mainVisual .mainArea {
  background: url(/img/bg_main_01.jpg) center center no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 767px) {
  #mainVisual .mainArea {
    padding: 5%;
  }
}

#mainVisual .mainArea p + div {
  margin-top: 35px;
}

#mainVisual .mainArea p + div > div {
  display: inline-block;
  vertical-align: top;
}

#mainVisual .mainArea p + div > .fb-share-button > span {
  vertical-align: top !important;
}

#mainVisual .mainArea p + div > div + div {
  margin-left: 10px;
}

#mainVisual .pickupArea {
  text-decoration: none;
}

#mainVisual .pickupArea:hover img {
  opacity: 1;
}

#mainVisual .pickupArea-thanks {
  background: url(/img/bg_main_thanks.png) center center/cover no-repeat;
}

@media only screen and (max-width: 767px) {
  #mainVisual .pickupArea-thanks {
    padding: 45px 20px;
  }
}

#mainVisual .pickupArea-sponsor {
  background: url(/img/bg_sponsor.jpg) center center/cover no-repeat;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  #mainVisual .pickupArea-sponsor {
    display: block;
    padding: 24vw 15vw;
  }
}

#mainVisual .pickupArea-vivid {
  background-image: linear-gradient(265deg, #a3dbff, #ebf0f8);
}

#mainVisual .pickupArea-vivid .vivid-ttl {
  margin: 25px auto 20px;
}

@media only screen and (max-width: 767px) {
  #mainVisual .pickupArea-vivid .vivid-ttl {
    width: 70%;
  }
}

@media only screen and (max-width: 767px) {
  #mainVisual .pickupArea-vivid .vivid-logo {
    width: 80%;
    margin: 0 auto;
  }
}

#mainVisual .pickupArea-vivid .pickupArea-btn {
  color: #222222;
  border-color: #222222;
}

#mainVisual .pickupArea-btn {
  display: block;
  max-width: 300px;
  margin: 40px auto 0;
  padding: 10px;
  border: 1px solid #FFF;
  color: #FFF;
  font-size: 1.8rem;
  text-align: center;
  text-decoration: none;
  transition: .3s;
}

.pickupArea-sponsor:hover .pickupArea-btn {
  background: #354190;
  border-color: #354190;
}

.pickupArea-vivid:hover .pickupArea-btn {
  background: #ffffff;
  border-color: #ffffff;
}

#mainVisual .pickupArea a img {
  transition: .5s;
}

#mainVisual .pickupArea a:hover img {
  opacity: 1;
}

#mainVisual .pickupArea .accessInfo {
  display: table;
  width: 100%;
}

#mainVisual .pickupArea .accessInfo > div {
  display: table-cell;
  vertical-align: middle;
}

#mainVisual .pickupArea .accessInfo a {
  display: block;
}

#mainVisual .pickupArea .accessInfo a > * {
  transition: ease-in .2s;
}

#mainVisual .pickupArea .accessInfo .pdfDownload {
  background: #00a0b8;
}

#mainVisual .pickupArea .accessInfo .pdfDownload a {
  padding: 45px 34px 30px;
}

#mainVisual .pickupArea .accessInfo .accessMap {
  background: #e5f5f3;
}

#mainVisual .pickupArea .accessInfo .accessMap .txtArea {
  padding: 35px 45px;
}

#mainVisual .pickupArea .accessInfo .accessMap .bgArea {
  height: 139px;
  background: url(/img/bg_pr_01.jpg) center center no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}

#mainVisual .pickupArea .entryInfo {
  padding: 10px 10px 0 10px;
  background: url(/img/bg_pr_02.png) center center no-repeat;
  background-size: cover;
}

#mainVisual .pickupArea .entryInfo .txtHead {
  display: table;
  width: 100%;
  border: 3px solid #FFF;
}

#mainVisual .pickupArea .entryInfo .txtHead .th, #mainVisual .pickupArea .entryInfo .txtHead .td {
  display: table-cell;
  padding: 27px 12px;
  text-align: center;
  vertical-align: middle;
}

#mainVisual .pickupArea .entryInfo .txtHead .th {
  width: 128px;
  background: #FFF;
}

#mainVisual .pickupArea .entryInfo:hover .th img {
  transform: rotateX(360deg);
}

#mainVisual .pickupArea .entryInfo .txtBody p {
  padding: 42px 47px;
}

#mainVisual .pickupArea .entryInfo .txtBody p img {
  width: 457px;
}

#mainVisual .pickupArea .entryInfo:hover .txtBody p img {
  transform: scale(1.1);
}

#mainVisual .pickupArea .prArea.solution {
  position: relative;
  background: url(/img/bg_sec01_02.jpg) center center no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}

#mainVisual .pickupArea .prArea.solution:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(4, 20, 144, 0.5);
  content: '';
  z-index: 5;
}

#mainVisual .pickupArea .prArea.solution a {
  position: relative;
  display: block;
  padding: 70px 10px;
  color: #FFF;
  font-size: 3.2rem;
  font-weight: bold;
  z-index: 6;
  line-height: 1.7;
  text-decoration: none;
  transition: initial;
}

#mainVisual .pickupArea .prArea.solution a p {
  font-weight: bold;
}

#mainVisual .pickupArea .prArea.solution a p + p {
  margin-top: 10px;
  font-size: 1.6rem;
  font-weight: normal;
}

/*#mainVisual .pickupArea {
  background: url(/img/bg_main_02.png) center center no-repeat;
  background-size: cover;
  padding: 100px 30px;
  color: #FFF;
}
#mainVisual .pickupArea h2 { display: inline-block; margin-bottom: 70px; padding-bottom: 10px; border-bottom: 2px solid #FFF; font-size: 2.4rem; font-weight: bold;}
#mainVisual .pickupArea .date { margin-top: 35px; font-size: 1.6rem;}
#mainVisual .pickupArea p + p { margin-top: 35px;}
#mainVisual .pickupArea .btnDetail a {
  display: block;
  max-width: 300px;
  margin: 35px auto 0;
  border: 1px solid #FFF;
  line-height: 45px;
  color: #FFF;
  text-decoration: none;
}
#mainVisual .pickupArea .btnDetail a:hover {
  background: #FFF;
  color: #3439a6;
}*/
@media only screen and (max-width: 767px) {
  #mainVisual {
    margin-top: 3.3%;
  }
  #mainVisual .mainArea {
    width: 100%;
    float: none;
  }
  #mainVisual .pickupArea {
    width: 100%;
    float: none;
  }
  #mainVisual .pickupArea .accessInfo .txtArea {
    padding: 30px 20px;
  }
  #mainVisual .pickupArea h2 {
    margin-bottom: 30px;
  }
  #mainVisual .pickupArea .btnDetail a {
    margin-top: 30px;
  }
  #mainVisual .pickupArea .prArea.solution a {
    font-size: 2.0rem;
  }
  #mainVisual .pickupArea .prArea.solution a p + p {
    font-size: 1.3rem;
  }
}

@media only screen and (max-width: 640px) {
  #mainVisual .pickupArea .accessInfo {
    display: block;
    width: 100%;
  }
  #mainVisual .pickupArea .accessInfo > div {
    display: block;
  }
  #mainVisual .pickupArea .accessInfo .pdfDownload a {
    padding: 30px 20px;
  }
  #mainVisual .pickupArea .accessInfo .accessMap .txtArea {
    padding: 35px 20px;
  }
  #mainVisual .pickupArea .accessInfo .accessMap .bgArea {
    height: 139px;
    background: url(/img/bg_pr_01.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }
}

#sponsorLink {
  padding: 40px 0;
  background: #f5f5f5;
}

#sponsorLink h2 {
  margin-bottom: 50px;
}

#sponsorLink ul {
  font-size: 0;
  text-align: center;
  margin: -30px auto 0;
}

#sponsorLink .sponsorList04 {
  max-width: 900px;
}

#sponsorLink .sponsorList05 {
  max-width: 1100px;
}

#sponsorLink ul + ul {
  margin-top: 10px;
}

#sponsorLink ul li {
  display: inline-block;
  width: 20%;
  margin-right: 6.6666%;
  margin-top: 30px;
}

#sponsorLink .sponsorList05 li {
  width: 16%;
  margin-right: 5%;
}

#sponsorLink .sponsorList04 li:nth-child(4n), #sponsorLink .sponsorList05 li:nth-child(5n) {
  margin-right: 0;
}

@media only screen and (max-width: 767px) {
  #sponsorLink {
    padding: 9% 5%;
  }
  #sponsorLink h2 {
    margin-bottom: 7%;
  }
  #sponsorLink ul {
    margin-top: -6%;
    text-align: left;
  }
  #sponsorLink ul li {
    width: 48%;
    margin-right: 4%;
    margin-top: 6%;
  }
  #sponsorLink .sponsorList05 li {
    width: 48%;
    margin-right: 4%;
    margin-top: 6%;
  }
  #sponsorLink ul + ul {
    margin-top: 0;
  }
  #sponsorLink ul li:nth-child(2n) {
    margin-right: 0;
  }
  #sponsorLink .sponsorList05 li:nth-child(5n) {
    margin-right: 4%;
  }
}

.top #sec01 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

@media only screen and (max-width: 767px) {
  .top #sec01 {
    display: block;
  }
}

.top #sec01 .prContent {
  position: relative;
  width: 57.5%;
  text-decoration: none;
}

@media only screen and (min-width: 768px) {
  .top #sec01 .prContent {
    overflow: hidden;
  }
}

@media only screen and (max-width: 767px) {
  .top #sec01 .prContent {
    width: 100%;
    background: url(/img/bg_top_report.jpg) no-repeat top center/cover;
  }
}

@media only screen and (max-width: 767px) {
  .top #sec01 .prContent a * {
    text-decoration: none;
  }
}

@media only screen and (min-width: 768px) {
  .top #sec01 .prContent:after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background: url(/img/bg_top_report.jpg) no-repeat top center/100%;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
  }
}

.top #sec01 .prContent .btnWrap:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin-left: -100%;
  background: #324292 url(/img/ico_sec01_arrow.png) right 12px center no-repeat;
  content: "";
  transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.top #sec01 .prContent:hover:after {
  transform: scale(1.1);
}

.top #sec01 .prContent:hover .linkArea p + p:before {
  content: '';
  margin-left: 0;
}

.top #sec01 .whatsNew {
  width: 42.5%;
}

.top #sec01 .prContent .box {
  height: 50%;
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
  .top #sec01 .prContent .box {
    padding-top: 40%;
  }
}

.top #sec01 .prContent .box.inquiry {
  width: 100%;
  height: 50%;
  left: 0;
  z-index: 2;
}

@media only screen and (min-width: 768px) {
  .top #sec01 .prContent .box.inquiry {
    position: absolute;
    bottom: 0;
  }
}

.top #sec01 .prContent .box.download {
  background-image: url(/img/bg_sec01_02.jpg);
}

.top #sec01 .prContent .box .linkArea {
  font-size: 2.0rem;
  line-height: 1.6;
  text-align: center;
  color: #FFF;
}

.top #sec01 .prContent .box.download .linkArea {
  padding: 40px 25px 30px;
}

.top #sec01 .prContent .box.inquiry .linkArea:after {
  position: absolute;
  left: 100%;
  top: 0;
  width: 0%;
  height: 100%;
  background: rgba(214, 25, 70, 0.7);
  content: "";
  transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.top #sec01 .prContent .box.download .linkArea:after {
  position: absolute;
  left: 100%;
  top: 0;
  width: 0%;
  height: 100%;
  background: rgba(214, 25, 70, 0.7);
  content: "";
  transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
  right: 100%;
  left: auto;
  background: rgba(50, 66, 146, 0.7);
}

.top #sec01 .prContent .box.inquiry .linkArea {
  padding-top: 83px;
  left: 0;
  height: 100%;
  background: rgba(50, 66, 146, 0.7);
}

.top #sec01 .prContent .box.download .linkArea {
  right: 0;
  background: rgba(99, 87, 163, 0.7);
}

.top #sec01 .prContent .box .linkArea p + p {
  position: relative;
  max-width: 370px;
  margin: 30px auto 0;
  border: 1px solid #FFF;
  background: url(/img/ico_sec01_arrow.png) left -12px center no-repeat;
  line-height: 45px;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .top #sec01 .prContent .box .linkArea p + p {
    line-height: inherit;
  }
}

.top #sec01 .prContent .box .linkArea .btnWrap {
  max-width: 220px;
}

.top #sec01 .prContent .box.download .linkArea p + p {
  margin-top: 15px;
}

.top #sec01 .prContent .box.download .linkArea p:nth-child(2) {
  border: 0;
}

.top #sec01 .prContent .box .linkArea p + p .btnWrap-link {
  position: relative;
  display: block;
  color: #FFF;
  text-decoration: none;
}

.top #sec01 .prContent .box.download .linkArea p + p:before {
  background: #6357a3 url(/img/ico_sec01_arrow.png) right 12px center no-repeat;
}

.top #sec01 .prContent .box.download .linkArea p:nth-child(2):before {
  content: none;
}

.top #sec01 .whatsNew {
  padding: 30px 35px;
  background: #dfeefc;
}

@media only screen and (max-width: 767px) {
  .top #sec01 .whatsNew {
    padding: 30px 15px;
  }
}

.top #sec01 .whatsNew h3 {
  display: inline-block;
  padding-bottom: 8px;
  border-bottom: 3px solid #3439a6;
  font-size: 2.8rem;
  font-weight: bold;
}

.top #sec01 .whatsNew dl {
  margin-top: 30px;
}

.top #sec01 .whatsNew dl dt {
  padding-left: 20px;
  background: url(/img/ico_arrow_news.png) left center no-repeat;
}

.top #sec01 .whatsNew dl dd {
  margin-top: 10px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #54585c;
}

.top #sec01 .whatsNew dl dd a {
  text-decoration: none;
  color: inherit;
}

.top #sec01 .whatsNew dl dd a:hover {
  text-decoration: underline;
}

.top #sec01 .whatsNew dl dd + dt {
  margin-top: 20px;
}

.top #sec01 .whatsNew .btnMore {
  max-width: 300px;
  margin: 50px auto 0;
  line-height: 36px;
  text-align: center;
}

.top #sec01 .whatsNew .btnMore a {
  display: block;
  text-decoration: none;
  color: #222;
  border: 1px solid;
}

.top #sec02 {
  padding: 50px 0;
  background: url(/img/bg_sec02_01.png) center center no-repeat;
  background-size: cover;
}

.top #sec02 h3 {
  margin-bottom: 35px;
  color: #FFF;
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.5;
}

.top #sec02 > div {
  float: left;
  width: 50%;
  padding: 0 20px;
  text-align: center;
}

.top #sec02 > div img {
  width: 100%;
  max-width: 427px;
}

.top #secBnr {
  padding: 40px 0;
  font-size: 0;
  text-align: center;
}

.top #secBnr ul {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

.top #secBnr li {
  display: inline-block;
  width: 29.6666%;
}

.top #secBnr li + li {
  margin-left: 5.5%;
}

@media only screen and (max-width: 767px) {
  .top #sec01 .prContent, .top #sec01 .whatsNew {
    width: 100%;
    float: none;
  }
  .top #sec01 .prContent .box .linkArea {
    position: static;
    width: 100%;
    padding: 9.375% 0;
    font-size: 1.5rem;
  }
  .top #sec01 .prContent .box .linkArea p + a {
    margin-top: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .top #sec02 {
    padding: 0;
    background: url(/img/bg_sec02_01_sp.png) center center no-repeat;
    background-size: cover;
  }
  .top #sec02 h3 {
    font-size: 1.6rem;
  }
  .top #sec02 > div {
    float: none;
    width: 100%;
    padding: 14% 3.125%;
  }
  .top #sec02 .planSchedule, .top #sec02 .bnrList {
    width: 100%;
  }
  .top #sec02 .planSchedule {
    padding: 50px 30px;
  }
  .top #sec02 .planSchedule ul li {
    float: none;
    width: 100%;
  }
  .top #sec02 .planSchedule ul li + li {
    margin-left: 0;
    margin-top: 60px;
  }
  .top #sec02 .planSchedule ul li + li:before {
    width: 50px;
    height: 26px;
    margin-top: -13px;
    margin-left: -25px;
    background-image: url(/img/ico_sec02_arrow_sp.png);
  }
}

@media only screen and (max-width: 767px) {
  .top #secBnr li {
    width: 100%;
    display: block;
  }
  .top #secBnr li + li {
    margin-left: 0;
    margin-top: 25px;
  }
}

.fadeInSet {
  visibility: hidden;
}

.fadeInUp {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  visibility: visible !important;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

/* notFound */
.notFound section {
  margin: 60px 0 120px;
  text-align: center;
}

.notFound section h1 {
  font-size: 2.0rem;
  font-weight: bold;
}

.notFound section h1 + p {
  margin: 30px 50px;
}

/* thanksMsg 

.thanksMsg {
  padding: 30px 10px;
  background: #FFF;
  border: 4px solid #d20c45;
  color: #484848;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.4;
  .ttl {
    display: inline-block;
    margin-bottom: 20px;
    padding: 5px;
    border-bottom: 2px solid #8e8e8e;
    font-size: 1.4rem;
    font-weight: bold;
    + p {
      font-weight: bold;
    }
  }
  .visitorsCount {
    margin-top: 20px;
    border-top: 1px dashed #DDD;
    dl, .total {
      display: inline-block;
      margin: 20px 10px 0;
      vertical-align: middle;
    }
  }
  dl {
    max-width: 500px;
    font-weight: 0;
    dt {
      font-size: 1.6rem;
    }
    dd {
      display: inline-block;
      width: 130px;
      margin: 20px 10px 0;
      font-size: 1.4rem;
      b {
        font-size: 2.0rem;
        font-weight: bold;
      }
      span {
        position: relative;
        display: block;
        padding-bottom: 5px;
        &:after {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          height: 2px;
          background: #01a0b8;
          border-radius: 5px;
          content: '';
          transform-origin: left;
          animation: thanks 1s ease-in .5s 1 forwards;
          opacity: 0;
        }
      }
      &:nth-of-type(2) span:after {
        animation: thanks 1s ease-in .8s 1 forwards;
        background: #F39801;
      }
      &:nth-of-type(3) span:after {
        animation: thanks .7s ease-in 1.2s 1 forwards;
        background: #88BD3B;
      }
    }
  }
  .visitorsCount .total {
    display: inline-block;
    width: 158px;
    height: 155px;
    padding: 40px 0;
    background: #d20c45;
    border-radius: 50%;
    color: #FFF;
    font-size: 2.0rem;
    animation: total 1.5s ease 2.7s 1 forwards;
    opacity: 0;
  }
  .total span {
    font-size: 3.0rem;
    font-weight: bold;
    font-weight: bold;
  }
}
*/
.pickupArea {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 100%;
  align-items: center;
  background: url(/img/bg_sponsor.jpg) center center/cover no-repeat;
}

@media only screen and (max-width: 767px) {
  .pickupArea {
    padding: 50px 30px;
  }
}

.pickupArea .openSeminar {
  width: 100%;
  flex-wrap: wrap;
}

.pickupArea .openSeminar p {
  color: #FFF;
  font-size: 3.0rem;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .pickupArea .openSeminar p {
    font-size: 2.2rem;
  }
}

.pickupArea .openSeminar .btn {
  margin-top: 70px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .pickupArea .openSeminar .btn {
    margin-top: 35px;
  }
}

.pickupArea .openSeminar .btn a {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 380px;
  border: 1px solid #FFF;
  color: #FFF;
  font-size: 2.2rem;
  text-decoration: none;
  line-height: 65px;
}

@media only screen and (max-width: 767px) {
  .pickupArea .openSeminar .btn a {
    font-size: 1.8rem;
    line-height: 48px;
  }
}

.pickupArea .openSeminar .btn a:after {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transition: .5s;
  content: '';
  transform: rotate(45deg);
  transform-origin: center;
}

.pickupArea .openSeminar .btn a:hover {
  background: #FFF;
  color: #2b43bf;
}

.pickupArea .openSeminar .btn a:hover:after {
  border-color: #2b43bf;
}

@media only screen and (max-width: 1120px) {
  .thanksMsg {
    padding: 20px 10px;
    font-size: 1.4rem;
  }
  .thanksMsg dl dd {
    position: relative;
    width: auto;
  }
  .thanksMsg dl dd span {
    position: static;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .thanksMsg {
    width: 93.75%;
    max-width: 850px;
    margin: 30px auto;
  }
}

@keyframes thanks {
  0% {
    transform: scaleX(0);
    opacity: 1;
  }
  80% {
    transform: scaleX(0.8);
    opacity: 1;
  }
  100% {
    transform: scaleX(1);
    opacity: 1;
  }
}

@keyframes total {
  0% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.bg-gray {
  background: #f5f5f5;
}

.section-cmn {
  padding: 45px 0;
}

@media only screen and (max-width: 767px) {
  .section-cmn {
    padding: 30px 0;
  }
}

.section-lg {
  padding-top: 90px;
  padding-bottom: 90px;
}

@media only screen and (max-width: 767px) {
  .section-lg {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.font-gray {
  color: #7F7F7F !important;
}

.font-red {
  color: #C21A3C;
}

.font-normal {
  font-weight: normal !important;
}

.font-bold {
  font-weight: bold !important;
}

.font-gray {
  color: #606060 !important;
}

.font-sm {
  font-size: 1.2rem !important;
}

.font-default {
  font-size: 1.4rem !important;
}

.font-mid {
  font-size: 1.6rem !important;
}

.font-big {
  font-size: 2.0rem !important;
}

.font-ex-big {
  font-size: 3.0rem !important;
}

.display-block {
  display: block;
}

.display-inline-block {
  display: inline-block;
}

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

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

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

.txt-cube {
  position: relative;
  padding-left: 1em;
}

.txt-cube:before {
  position: absolute;
  left: 0;
  top: 0;
}

.txt-cube:before {
  top: 5px;
  width: 10px;
  height: 10px;
  background: #111;
  content: '';
}

.txt-ico {
  position: relative;
  padding-left: 1em;
}

.txt-ico:before {
  position: absolute;
  left: 0;
  top: 0;
}

.txt-ico:before {
  content: attr(data-txt);
}

.list-bnr {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .list-bnr {
    padding: 0 4%;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 768px) {
  .list-bnr__item {
    flex-basis: 22.7%;
    margin: 0 3%;
  }
  .list-bnr__item:nth-child(n + 4) {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .list-bnr__item {
    flex-basis: 48%;
    margin: 0;
  }
  .list-bnr__item:nth-child(n + 3) {
    margin-top: 4%;
  }
}

.box-years {
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .box-years {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }
}

.box-years__item, .box-years__item--red, .box-years__item--orange, .box-years__item--blue {
  background: #FFF;
  border-radius: 5px;
  border: 5px solid;
}

@media only screen and (min-width: 768px) {
  .box-years__item, .box-years__item--red, .box-years__item--orange, .box-years__item--blue {
    flex-basis: 48.2%;
    max-width: 48.2%;
  }
}

@media only screen and (min-width: 768px) {
  .box-years__item + .box-years__item, .box-years__item--red + .box-years__item, .box-years__item--orange + .box-years__item, .box-years__item--blue + .box-years__item, .box-years__item + .box-years__item--red, .box-years__item--red + .box-years__item--red, .box-years__item--orange + .box-years__item--red, .box-years__item--blue + .box-years__item--red, .box-years__item + .box-years__item--orange, .box-years__item--red + .box-years__item--orange, .box-years__item--orange + .box-years__item--orange, .box-years__item--blue + .box-years__item--orange, .box-years__item + .box-years__item--blue, .box-years__item--red + .box-years__item--blue, .box-years__item--orange + .box-years__item--blue, .box-years__item--blue + .box-years__item--blue {
    margin-left: 3.6%;
  }
}

@media only screen and (max-width: 767px) {
  .box-years__item + .box-years__item, .box-years__item--red + .box-years__item, .box-years__item--orange + .box-years__item, .box-years__item--blue + .box-years__item, .box-years__item + .box-years__item--red, .box-years__item--red + .box-years__item--red, .box-years__item--orange + .box-years__item--red, .box-years__item--blue + .box-years__item--red, .box-years__item + .box-years__item--orange, .box-years__item--red + .box-years__item--orange, .box-years__item--orange + .box-years__item--orange, .box-years__item--blue + .box-years__item--orange, .box-years__item + .box-years__item--blue, .box-years__item--red + .box-years__item--blue, .box-years__item--orange + .box-years__item--blue, .box-years__item--blue + .box-years__item--blue {
    margin-top: 20px;
  }
}

.box-years__item--red {
  border-color: #c01b2f;
}

.box-years__item--orange {
  border-color: #df541d;
}

.box-years__item--blue {
  border-color: #4d5dae;
}

.box-years__head, .box-years__head--red, .box-years__head--orange, .box-years__head--blue, .box-years__head--sm {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 130px;
  color: #FFF;
  font-size: 3.0rem;
}

@media only screen and (max-width: 767px) {
  .box-years__head, .box-years__head--red, .box-years__head--orange, .box-years__head--blue, .box-years__head--sm {
    height: 30vw;
    font-size: 2.4rem;
  }
}

.box-years__head span, .box-years__head--red span, .box-years__head--orange span, .box-years__head--blue span, .box-years__head--sm span {
  font-weight: bold;
}

.box-years__head small, .box-years__head--red small, .box-years__head--orange small, .box-years__head--blue small, .box-years__head--sm small {
  display: block;
  font-size: 47%;
}

.box-years__head--red {
  background-color: #c01b2f;
}

.box-years__head--orange {
  background-color: #df541d;
}

.box-years__head--blue {
  background-color: #4d5dae;
}

.box-years__head--sm {
  flex-direction: column;
  font-size: 2.2rem;
}

@media only screen and (max-width: 767px) {
  .box-years__head--sm {
    font-size: 1.8rem;
  }
}

.box-years__year, .box-years__year--red, .box-years__year--orange, .box-years__year--blue {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 100px;
  padding: 5px 0 4px;
  background: #FFF;
  font-size: 1.6rem;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .box-years__year, .box-years__year--red, .box-years__year--orange, .box-years__year--blue {
    width: 70px;
    font-size: 1.2rem;
  }
}

.box-years__year--red {
  color: #c01b2f;
}

.box-years__year--orange {
  color: #df541d;
}

.box-years__year--blue {
  color: #4d5dae;
}

.box-years__inner {
  padding: 25px 40px 30px;
}

@media only screen and (max-width: 767px) {
  .box-years__inner {
    padding: 15px 20px 20px;
  }
}

.box-years__ttl {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 2px solid #222;
  font-size: 1.9rem;
}

.box-years__txt {
  margin-top: 15px;
  text-align: left;
}

.box-years__list {
  margin-top: 20px;
}

.box-years__list-item, .box-years__list-item--red, .box-years__list-item--blue {
  margin-top: 10px;
  padding: 8px 0;
  border: 1px solid;
  font-size: 1.6rem;
}

@media only screen and (max-width: 767px) {
  .box-years__list-item, .box-years__list-item--red, .box-years__list-item--blue {
    font-size: 1.4rem;
  }
}

.box-years__list-item--red {
  color: #c01b2f;
  border-color: #c01b2f;
}

.box-years__list-item--blue {
  color: #4d5dae;
  border-color: #4d5dae;
}

.memberList {
  margin-top: 25px;
  font-size: 0;
}

.memberList dt {
  font-size: 1.5rem;
  font-weight: bold;
}

.memberList dd {
  position: relative;
  display: inline-block;
  margin-top: 10px;
  padding-left: 1em;
  font-size: 1.4rem;
  margin-right: 20px;
}

.memberList dd:before {
  position: absolute;
  left: 0;
  content: '・';
}

.memberList dd + dt {
  margin-top: 20px;
}

.memberList + p {
  margin-top: 10px;
  font-size: 1.2rem;
}

.mt00 {
  margin-top: 0px !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mr00 {
  margin-right: 0px !important;
}

.mr05 {
  margin-right: 5px !important;
}

.mr08 {
  margin-right: 8px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mb00 {
  margin-bottom: 0px !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml00 {
  margin-left: 0px !important;
}

.ml05 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

/* ----------------------------------------------------
margin
---------------------------------------------------- */
.pt00 {
  padding-top: 0px !important;
}

.pt05 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pr00 {
  padding-right: 0px !important;
}

.pr05 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pb00 {
  padding-bottom: 0px !important;
}

.pb05 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl00 {
  padding-left: 0px !important;
}

.pl05 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

@media only screen and (max-width: 767px) {
  .mt-sp00 {
    margin-top: 0px !important;
  }
  .mt-sp05 {
    margin-top: 5px !important;
  }
  .mt-sp10 {
    margin-top: 10px !important;
  }
  .mt-sp15 {
    margin-top: 15px !important;
  }
  .mt-sp20 {
    margin-top: 20px !important;
  }
  .mt-sp25 {
    margin-top: 25px !important;
  }
  .mt-sp30 {
    margin-top: 30px !important;
  }
  .mt-sp35 {
    margin-top: 35px !important;
  }
  .mt-sp40 {
    margin-top: 40px !important;
  }
  .mt-sp45 {
    margin-top: 45px !important;
  }
  .mt-sp50 {
    margin-top: 50px !important;
  }
  .mt-sp55 {
    margin-top: 55px !important;
  }
  .mt-sp60 {
    margin-top: 60px !important;
  }
  .mt-sp65 {
    margin-top: 65px !important;
  }
  .mt-sp70 {
    margin-top: 70px !important;
  }
  .mt-sp80 {
    margin-top: 80px !important;
  }
  .mt-sp100 {
    margin-top: 100px !important;
  }
  .mr-sp00 {
    margin-right: 0px !important;
  }
  .mr-sp05 {
    margin-right: 5px !important;
  }
  .mr-sp08 {
    margin-right: 8px !important;
  }
  .mr-sp10 {
    margin-right: 10px !important;
  }
  .mr-sp15 {
    margin-right: 15px !important;
  }
  .mr-sp20 {
    margin-right: 20px !important;
  }
  .mr-sp25 {
    margin-right: 25px !important;
  }
  .mr-sp30 {
    margin-right: 30px !important;
  }
  .mr-sp35 {
    margin-right: 35px !important;
  }
  .mr-sp40 {
    margin-right: 40px !important;
  }
  .mr-sp45 {
    margin-right: 45px !important;
  }
  .mr-sp50 {
    margin-right: 50px !important;
  }
  .mb-sp00 {
    margin-bottom: 0px !important;
  }
  .mb-sp05 {
    margin-bottom: 5px !important;
  }
  .mb-sp10 {
    margin-bottom: 10px !important;
  }
  .mb-sp15 {
    margin-bottom: 15px !important;
  }
  .mb-sp20 {
    margin-bottom: 20px !important;
  }
  .mb-sp25 {
    margin-bottom: 25px !important;
  }
  .mb-sp30 {
    margin-bottom: 30px !important;
  }
  .mb-sp35 {
    margin-bottom: 35px !important;
  }
  .mb-sp40 {
    margin-bottom: 40px !important;
  }
  .mb-sp45 {
    margin-bottom: 45px !important;
  }
  .mb-sp50 {
    margin-bottom: 50px !important;
  }
  .ml-sp00 {
    margin-left: 0px !important;
  }
  .ml-sp05 {
    margin-left: 5px !important;
  }
  .ml-sp10 {
    margin-left: 10px !important;
  }
  .ml-sp15 {
    margin-left: 15px !important;
  }
  .ml-sp20 {
    margin-left: 20px !important;
  }
  .ml-sp25 {
    margin-left: 25px !important;
  }
  .ml-sp30 {
    margin-left: 30px !important;
  }
  .ml-sp35 {
    margin-left: 35px !important;
  }
  .ml-sp40 {
    margin-left: 40px !important;
  }
  .ml-sp45 {
    margin-left: 45px !important;
  }
  .ml-sp50 {
    margin-left: 50px !important;
  }
}

.highlight {
  margin-top: 100px;
  font-size: 1.6rem;
}

@media only screen and (max-width: 767px) {
  .highlight {
    margin-top: 70px;
  }
}

.highlight-intro {
  margin-top: 40px;
}

.highlight-inner {
  margin-top: 50px;
  padding: 30px;
  background: #ffffff;
}

@media only screen and (max-width: 767px) {
  .highlight-inner {
    padding: 30px 20px;
  }
}

.highlight-inner__section + .highlight-inner__section {
  margin-top: 45px;
}

.highlight-ttl {
  position: relative;
  margin-bottom: 28px;
  padding-bottom: 12px;
  font-size: 2.4rem;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .highlight-ttl {
    font-size: 2rem;
  }
}

.highlight-ttl:before, .highlight-ttl:after {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  content: '';
}

.highlight-ttl:before {
  width: 100%;
  background: #e9e8e8;
}

.highlight-ttl:after {
  width: 134px;
  background: #cf2222;
}

@media only screen and (max-width: 767px) {
  .highlight-ttl:after {
    width: 30%;
  }
}

.highlight-styles {
  margin-top: 40px;
  text-align: center;
}

.highlight-styles__ttl {
  margin-bottom: 25px;
  font-size: 2.2rem;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .highlight-styles__ttl {
    margin-bottom: 18px;
    font-size: 2rem;
  }
}

.highlight-styles__ttl::first-letter {
  color: #324292;
}

.highlight-styles__txt {
  margin-top: 15px;
  font-weight: bold;
}

.highlight-styles-list {
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .highlight-styles-list {
    display: block;
  }
}

.highlight-styles-list__item {
  flex-basis: 32%;
}

@media only screen and (max-width: 767px) {
  .highlight-styles-list__item + .highlight-styles-list__item {
    margin-top: 30px;
  }
}

.highlight-styles-list__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
  margin: 0 auto;
  border-radius: 100%;
  border: 2px solid #222;
  line-height: 1.5;
}

.highlight-styles-list__num {
  position: relative;
  margin-bottom: 18px;
  padding-bottom: 10px;
  font-weight: bold;
  font-size: 2.2rem;
}

.highlight-styles-list__num:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 20px;
  height: 4px;
  margin-left: -10px;
  background: #324292;
  content: '';
}

.highlight-styles-list__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3em;
  font-weight: bold;
}

.highlight-summary {
  margin-top: 1em;
}

.highlight-summary__item {
  text-indent: -1em;
  padding-left: 1em;
}

.highlight-summary__item:first-letter {
  color: #324292;
}

.highlight-solutions {
  display: flex;
  align-items: center;
  margin-top: 18px;
}

@media only screen and (max-width: 767px) {
  .highlight-solutions {
    display: block;
  }
}

.highlight-solutions__ttl {
  width: 100px;
  margin-right: 15px;
  background: #197acd;
  color: #FFF;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .highlight-solutions__ttl {
    margin: 0 0 10px;
  }
}

.announce-sponsor {
  text-align: center;
  padding-top: 90px;
  padding-bottom: 90px;
}

@media only screen and (max-width: 767px) {
  .announce-sponsor {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.announce-sponsor p {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.2;
}

@media only screen and (max-width: 767px) {
  .announce-sponsor p {
    line-height: 1.6;
    font-size: 1.6rem;
  }
}

.announce-sponsor p span {
  display: block;
  font-size: 3rem;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .announce-sponsor p span {
    font-size: 2rem;
  }
}

.announce-sponsor .btnType02 {
  margin-top: 25px;
  max-width: 402px;
}

.exhibitor-item {
  display: block;
  border: 2px solid #4968c1;
  background: #ffffff;
  text-decoration: none;
  color: #000000;
}

.exhibitor-item:nth-child(n+2) {
  margin-top: 25px;
}

.exhibitor-item.-is-well {
  border: 2px solid #008850;
}

.exhibitor-item.-is-well .exhibitor-item__number {
  background: #008850;
}

.exhibitor-item.-is-well .exhibitor-item__header {
  border-bottom: 2px solid #008850;
}

.exhibitor-item.-is-smart {
  border: 2px solid #4C8DCB;
}

.exhibitor-item.-is-smart .exhibitor-item__number {
  background: #4C8DCB;
}

.exhibitor-item.-is-smart .exhibitor-item__header {
  border-bottom: 2px solid #4C8DCB;
}

.exhibitor-item.-is-enter {
  border: 2px solid #F18E2C;
}

.exhibitor-item.-is-enter .exhibitor-item__number {
  background: #F18E2C;
}

.exhibitor-item.-is-enter .exhibitor-item__header {
  border-bottom: 2px solid #F18E2C;
}

a.exhibitor-item:hover {
  opacity: .7;
}

.exhibitor-item__header {
  display: flex;
  border-bottom: 2px solid #4968c1;
}

@media only screen and (min-width: 768px) {
  .exhibitor-item__header {
    font-size: 2rem;
  }
}

.exhibitor-item__number {
  text-align: center;
  color: #ffffff;
  background: #4968c1;
  padding: 10px;
  font-size: 14px;
}

.exhibitor-item__number span {
  font-size: 20px;
}

@media only screen and (max-width: 767px) {
  .exhibitor-item__number {
    flex: 0 0 80px;
  }
}

.exhibitor-item__name {
  color: #20253e;
  font-weight: bold;
}

.exhibitor-item__body {
  padding: 15px 10px;
}

.exhibitor-item__header-box {
  padding: 10px;
}

.exhibitor-item__company {
  font-size: 14px;
}

.company-list .exhibitor-item__number {
  text-align: left;
  font-size: 2rem;
}

/*# sourceMappingURL=style.css.map */