@charset "UTF-8";
/*conferenceページ 240201*/
/* ==========================================================================
  Reset
  ========================================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline; }

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote::before, blockquote::after, q::before, q::after {
  content: "";
  content: none; }

img {
  font-size: 0;
  line-height: 0; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 100%;
  vertical-align: baseline; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  font-weight: bold;
  font-style: italic;
  color: #000; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

fieldset, img {
  line-height: 0;
  vertical-align: top; }

hr {
  display: none; }

input, select {
  vertical-align: middle; }

* {
  margin: 0;
  padding: 0; }

img {
  vertical-align: bottom; }

html, body {
  width: 100%;
  height: 100%; }

ul, li {
  list-style: none; }

b {
  font-weight: bold; }

iframe {
  border: none;
  outline: none; }

/* ==========================================================================
  Base
  ========================================================================== */
* {
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  background: #fff; }

body {
  color: #000;
  font-size: 1.6em;
  font-family: 'TBUDGothic R', sweet-sans-pro, -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', 'Helvetica Neue', HelveticaNeue, 'Noto Sans JP', YuGothic, 'Yu Gothic Medium', 'Yu Gothic', Verdana, Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media screen and (min-width: 769px) {
    body {
      min-width: 1000px;
      margin: 0 auto; } }
  @media screen and (max-width: 768px) {
    body {
      font-size: 1.4em; } }

img {
  width: 100%;
  height: auto; }

::selection {
  background: #40c2e0;
  color: #fff; }

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

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

.jp {
  font-family: 'TBUDGothic R', sans-serif; }

.jp-b {
  font-family: 'TBUDGothic E', sans-serif; }

.en {
  font-family: sweet-sans-pro, sans-serif;
  font-weight: 600;
  font-style: normal; }

.en-b {
  font-family: sweet-sans-pro, sans-serif;
  font-weight: 800;
  font-style: normal; }

.video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

a {
  color: #000;
  text-decoration: none; }

@media screen and (min-width: 769px) {
  a {
    transition: all .25s ease-out; } }
h1, h2, h3, h4, h5, h6, strong {
  font-weight: bold; }

/* ==========================================================================
  Parts
  ========================================================================== */
.soon {
  display: inline-block;
  padding: 120px 0;
  font-size: 200%;
  text-align: center;
  font-weight: bold; }

.modaal-inner-wrapper {
  padding: 80px 20px !important; }

@media screen and (max-width: 768px) {
  .modaal-content-container {
    padding: 30px 20px; }

  .modaal-video-wrap {
    margin: auto 0px !important;
    position: relative; } }
/* ==========================================================================
  Animation
  ========================================================================== */
.anim {
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  -webkit-perspective: 1000;
  perspective: 1000; }

.anim-fadeout {
  animation: fadeIn 0.2s 0.2s both ease-out; }

@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: translate(0, 0); }
  100% {
    opacity: 0;
    transform: translate(0, 0); } }
.anim-fadein {
  opacity: 0; }

.anim-fadein.is-show {
  animation: fadeIn 0.8s 0.2s both ease-out; }

@keyframes fadeIn {
  0% {
    transform: translate(0, 0); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
.anim-fadeinUp {
  opacity: 0; }

.anim-fadeinUp.is-show {
  animation: fadeInUp 0.8s 0.2s both ease-out; }

.anim-fadeinUp.anim-delay2.is-show {
  animation: fadeInUp 0.8s 0.6s both ease-out; }

.anim-fadeinUp.anim-delay3.is-show {
  animation: fadeInUp 0.8s 0.8s both ease-out; }

@keyframes fadeInUp {
  0% {
    transform: translate(0, 30px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
.anim-slidein-l {
  opacity: 0; }

.anim-slidein-l.is-show {
  animation: slideInL 0.8s 0.2s both ease-out; }

@keyframes slideInL {
  0% {
    transform: translate(-10vw, 0); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
.anim-slidein-r {
  opacity: 0; }

.anim-slidein-r.is-show {
  animation: slideInR 0.8s 0.2s both ease-out; }

@keyframes slideInR {
  0% {
    transform: translate(10vw, 0); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
.anim-slideout-l.is-out {
  animation: slideOutL 1.5s 0.1s both ease-out; }

@keyframes slideOutL {
  0% {
    opacity: 1;
    transform: translate(0, 0); }
  100% {
    opacity: 1;
    transform: translate(-100vw, 0); } }
.anim-slideout-r.is-out {
  animation: slideOutR 1.5s 0.1s both ease-out; }

@keyframes slideOutR {
  0% {
    opacity: 1;
    transform: translate(0, 0); }
  100% {
    opacity: 1;
    transform: translate(100vw, 0); } }
/* ==========================================================================
Layout (COMMON)
========================================================================== */
.l-wrapper {
  position: relative;
  overflow: hidden;
  padding-bottom: 0; }
  @media screen and (max-width: 768px) {
    .l-wrapper {
      padding-bottom: 0; } }

.l-inner {
  position: relative;
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .l-inner {
      max-width: 90%; } }

.l-main {
  position: relative; }

.btn-wrap {
  margin: 40px 0 0; }

.btn {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 80%;
  max-width: 400px;
  padding: 15px 15px;
  border: 2px solid #000;
  text-align: center;
  background: #fff;
  font-weight: bold;
  font-size: 1.2em; }
  .btn::after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: auto;
    right: 5%;
    margin: auto 0 auto auto;
    width: 1.5em;
    height: 1.2em;
    background: url(../images/arrow-r-blk.png) no-repeat;
    background-size: contain;
    transition: all .25s ease-out; }

.btn-entry {
  margin-bottom: 15px;
  border: none;
  color: #fff;
  background: #000;
  border-radius: 10px;
  line-height: 0.8em; }
  .btn-entry::after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: auto;
    right: 5%;
    margin: auto 0 auto auto;
    width: 1.5em;
    height: 1.2em;
    background: url("../images/arrow-r-wht.png") no-repeat;
    background-size: contain;
    transition: all .25s ease-out; }
  .btn-entry .font-s {
    font-size: 0.6em;
    line-height: 0; }

@media screen and (min-width: 769px) {
  .btn-wrap {
    margin: 60px 0 0; }

  .btn {
    width: 70%;
    border: 2px solid #000; }
    .btn:hover {
      background: #fff;
      color: #000; }
      .btn:hover::after {
        background: url("../images/arrow-r-wht.png") no-repeat;
        background-size: contain; }

  .btn-entry {
    width: 70%;
    border: 2px solid #000;
    color: #fff; }
    .btn-entry:hover {
      background: #fff;
      color: #000; }
      .btn-entry:hover::after {
        background: url("../images/arrow-r-blk.png") no-repeat;
        background-size: contain; }
    .btn-entry .font-s {
      font-size: 0.5em; } }
/* ==========================================================================
Layout (TOP)
========================================================================== */
/* ---------------
KV
------------------ */
.l-kv {
  max-width: 1280px;
  margin: 0 auto; }

/* ---------------
statement
------------------ */
.l-statement {
  background: #fff; }
  .l-statement .cnts {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.8em; }
    .l-statement .cnts .statement-ttl {
      margin-bottom: 30px;
      font-size: 1.8rem;
      line-height: 1.3em;
      font-weight: bold; }

@media screen and (min-width: 769px) {
  .l-statement {
    padding: 60px 0 100px;
    background: #fff; }
    .l-statement .cnts {
      text-align: center;
      font-size: 1.7rem;
      line-height: 1.8em; }
      .l-statement .cnts .statement-ttl {
        margin-bottom: 30px;
        font-size: 3rem;
        line-height: 1.5em;
        font-weight: bold; } }
/* ---------------
REPORT
------------------ */
.l-report {
  padding: 5% 0;
  background: #fef8e2; }
  .l-report .cnts {
    max-width: 100%;
    font-size: 1.8rem;
    line-height: 1.8em;
    /*エリアの表示非表示と形状*/
    /*areaにis-activeというクラスがついた時の形状*/ }
    .l-report .cnts .l-report-thum {
      display: block; }
      .l-report .cnts .l-report-thum li {
        width: 100%;
        background: #fff;
        margin-bottom: 30px; }
        .l-report .cnts .l-report-thum li a {
          display: block;
          font-size: 1.8rem;
          font-weight: bold;
          color: #000;
          text-align: center;
          text-decoration: underline; }
          .l-report .cnts .l-report-thum li a .thum_img {
            width: 100%;
            height: auto; }
          .l-report .cnts .l-report-thum li a .thum_ttl {
            padding: 5%;
            font-weight: bold; }
        .l-report .cnts .l-report-thum li .thum_ttl {
          padding: 5%;
          font-size: 1.8rem;
          font-weight: bold;
          color: #000;
          text-align: center; }
    .l-report .cnts .area {
      display: none;
      /*はじめは非表示*/
      opacity: 0;
      /*透過0*/
      background: #fff;
      padding: 8% 5%;
      border: 3px solid #F39800; }
      .l-report .cnts .area h2 {
        height: auto;
        font-size: 2.1rem;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px; }
      .l-report .cnts .area .report_copy {
        width: 100%;
        font-size: 1.3rem;
        line-height: 1.5em;
        float: left;
        text-align: left;
        margin-bottom: 20px; }
      .l-report .cnts .area .main_img {
        width: 100%;
        height: auto;
        margin-bottom: 40px; }
        .l-report .cnts .area .main_img img {
          width: 100%;
          height: auto; }
      .l-report .cnts .area figcaption {
        color: #000;
        padding: 3px;
        font-size: 1rem;
        line-height: 1.5em;
        text-align: center; }
      .l-report .cnts .area .report_sub_ttl {
        position: relative;
        margin: 30px 0 15px;
        padding-left: 15px;
        font-size: 2rem;
        font-weight: bold; }
      .l-report .cnts .area .report_sub_ttl:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 5px;
        height: -webkit-fill-available;
        background: #F39800; }
      .l-report .cnts .area .report_sub_box {
        overflow: hidden;
        margin: 30px 0 0; }
      .l-report .cnts .area .report_sub_img {
        width: 100%; }
      .l-report .cnts .area .left {
        float: none;
        margin: 0 15px 15px 0; }
      .l-report .cnts .area .right {
        float: none;
        margin: 0 0 15px 15px; }
      .l-report .cnts .area .shutten {
        margin-top: 20px; }
        .l-report .cnts .area .shutten a {
          text-decoration: underline;
          word-break: break-all; }
        .l-report .cnts .area .shutten a:hover {
          text-decoration: none; }
      .l-report .cnts .area .iframe-wrapper {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        width: 100%;
        margin-bottom: 15px;
        overflow: hidden; }
        .l-report .cnts .area .iframe-wrapper iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
      .l-report .cnts .area .report_sub_img_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 15px; }
        .l-report .cnts .area .report_sub_img_list li {
          width: 48%;
          height: auto; }
          .l-report .cnts .area .report_sub_img_list li .report_sub_img {
            width: 100%;
            margin: 0 0 10px 0; }
            .l-report .cnts .area .report_sub_img_list li .report_sub_img img {
              width: 100%;
              height: auto; }
    .l-report .cnts .area.is-active {
      display: block;
      /*表示*/
      animation-name: displayAnime;
      /*ふわっと表示させるためのアニメーション*/
      animation-duration: 2s;
      animation-fill-mode: forwards; }
@keyframes displayAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@media screen and (min-width: 769px) {
  .l-report .cnts {
    font-size: 1.6rem;
    line-height: 2em;
    max-width: 1000px;
    margin: 0 auto;
    /*エリアの表示非表示と形状*/
    /*areaにis-activeというクラスがついた時の形状*/ }
    .l-report .cnts .l-report-thum {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .l-report .cnts .l-report-thum li {
        width: 32%;
        background: #fff;
        margin-bottom: 20px; }
        .l-report .cnts .l-report-thum li a {
          display: block;
          font-size: 1.6rem;
          line-height: 1.7em;
          color: #000;
          text-align: center;
          text-decoration: underline; }
          .l-report .cnts .l-report-thum li a .thum_img {
            width: 100%;
            height: auto; }
          .l-report .cnts .l-report-thum li a .thum_ttl {
            padding: 5%;
            margin: 0 auto;
            font-weight: bold; }
        .l-report .cnts .l-report-thum li .thum_ttl {
          padding: 5%;
          margin: 0 auto;
          font-weight: bold;
          font-size: 1.6rem;
          line-height: 1.7em;
          color: #000;
          text-align: center; }
        .l-report .cnts .l-report-thum li a:hover {
          opacity: 0.7;
          text-decoration: none; }
    .l-report .cnts .l-report-thum:after {
      content: "";
      display: block;
      width: 32%;
      height: 0; }
    .l-report .cnts .area {
      display: none;
      /*はじめは非表示*/
      opacity: 0;
      /*透過0*/
      background: #fff;
      padding: 60px 30px;
      border: 3px solid #F39800; }
      .l-report .cnts .area h2 {
        height: auto;
        font-size: 2.2rem;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px; }
      .l-report .cnts .area .report_copy {
        width: 25%;
        font-size: 1.3rem;
        line-height: 1.5em;
        float: right;
        text-align: left;
        margin-bottom: 30px; }
      .l-report .cnts .area .main_img {
        width: 100%;
        height: auto;
        margin-bottom: 40px; }
        .l-report .cnts .area .main_img img {
          width: 100%;
          height: auto; }
      .l-report .cnts .area figcaption {
        color: #000;
        padding: 3px;
        font-size: 1rem;
        line-height: 1.5em;
        text-align: center; }
      .l-report .cnts .area .report_sub_ttl {
        position: relative;
        margin: 30px 0 15px;
        padding-left: 15px;
        font-size: 2rem;
        font-weight: bold; }
      .l-report .cnts .area .report_sub_ttl:before {
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -10px;
        content: "";
        width: 5px;
        height: 20px;
        background: #F39800; }
      .l-report .cnts .area .report_sub_box {
        overflow: hidden;
        margin: 30px 0 0; }
      .l-report .cnts .area .report_sub_img {
        width: 50%; }
      .l-report .cnts .area .left {
        float: left;
        margin: 0 15px 15px 0; }
      .l-report .cnts .area .right {
        float: right;
        margin: 0 0 15px 15px; }
      .l-report .cnts .area .shutten {
        margin-top: 30px; }
        .l-report .cnts .area .shutten a {
          text-decoration: underline; }
        .l-report .cnts .area .shutten a:hover {
          text-decoration: none; }
      .l-report .cnts .area .report_sub_img_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        .l-report .cnts .area .report_sub_img_list li {
          width: 24%;
          height: auto; }
          .l-report .cnts .area .report_sub_img_list li .report_sub_img {
            width: 100%;
            margin: 0; }
            .l-report .cnts .area .report_sub_img_list li .report_sub_img img {
              width: 100%;
              height: auto; }
    .l-report .cnts .area.is-active {
      display: block;
      /*表示*/
      animation-name: displayAnime;
      /*ふわっと表示させるためのアニメーション*/
      animation-duration: 2s;
      animation-fill-mode: forwards; } }
/* ==========================================================================
FOOTER
========================================================================== */
.l-footer {
  height: 100px;
  background: url(../images/footer-img.png) center center no-repeat;
  background-size: 135% auto; }

@media screen and (min-width: 769px) {
  .l-footer {
    height: 200px;
    background: url(../images/footer-img.png) center bottom no-repeat;
    background-size: auto 150px; } }
