@charset "UTF-8";

html{
  scroll-behavior: smooth;
}

:root {
  font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  color: #16160e;
  --main-black: #2b2b2b;
  --main-navy: #453e3f;
  --neon-orange: #ff452e;
  --neon-pink: #FFA2FB;
  --neon-yellow: #CCFF73;
  --my-beige: #af9f8e;
  --my-gray: #afafb0;
  --dark-gray: #898989;
  --my-roman: 'Square Peg', cursive;
  --my-time: 'Roboto Mono', monospace;
}
.pc { display: none; }
.sp { display: block; }

section, main {
  text-align: center;
}
.container {
  max-width: 480px;
  margin: 0 auto;
}
/*------------------------------------------------------
  ページトップボタン
------------------------------------------------------*/
.back-to-top {
  display: none;
  position: fixed;
  right: 2%;
  bottom: calc( 4.5rem + 2%);
  color: rgba(137, 137, 137, .8);
  padding: 2rem;
  display: inline-block;
  text-decoration: none;
  border-radius: 50%;
  font-size: .9rem;
  line-height: 1em;
}
.back-to-top::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 70px;
  height: 70px;
  background-color: rgba(255, 255, 255, .6);
  border-radius: 50%;
  z-index: -1;
}
/*------------------------------------------------------
  ヘッダー
------------------------------------------------------*/
.header_inner {
  display: none;
}
header .mobile-menu {
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 1;
  box-shadow: 0 0 15px 5px rgba(41, 44, 52, .8);
  display: flex;
  height: 4.5rem;
}
header .mobile-menu .menu-list {
  width: 75%;
  display: flex;
  justify-content: space-around;
  background: #fff;
  color: var(--main-black);
  font-size: .4rem;
  font-weight: bold;
  padding: 0 10px;
}
header .mobile-menu .menu-list li {
  line-height: 2em;
  text-align: center;
}
header .mobile-menu .menu-list li a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
header .mobile-menu .menu {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
header .mobile-menu .menu li {
  width: 100%;
  height: 50%;
  display: flex;
  justify-content: center;
}
header .mobile-menu .menu li:nth-child(1) {
  align-items: flex-end;
}
header .mobile-menu .menu li:nth-child(2) {
  align-items: center;
}
header .mobile-menu .menu .material-icons {
  color: var(--main-black);
}
/*申込ボタン*/
header .btn-wrap {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--neon-orange);
  color: #fff;
  letter-spacing: .05em;
}
header .btn-wrap a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*------------------------------------------------------
  キービジュアル
------------------------------------------------------*/
#kv {
  width: 100%;
  padding: 2.5rem 0 0;
  background-image: url(../images/kv_bg_mobile.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
#kv .container {
  width: 100%;
}
#kv h1 {
  width: 100%;
  margin: 0 auto;
}
#kv h1 img {
  width: 100%;
}
#kv .book {
  width: 100%;
  transition: all .5s;
  position: relative;
  top: -1rem;
}
#kv .book img {
  width: 100%;
}
#kv .book a:hover {
  opacity: .8;
}
/*------------------------------------------------------
  共通
------------------------------------------------------*/
/*セクションタイトル*/
.section_title li:nth-child(1) {
  font-size: 2.6rem;
  color: var(--main-navy);
  font-family: var(--my-roman);
}
.section_title li:nth-child(2) {
  font-size: .9rem;
  font-weight: bold;
  color: var(--neon-orange);
  line-height: 2em;
}
#concept .section_title li:nth-child(1),
#outline .section_title li:nth-child(1) {
  color: var(--my-gray);
}
#guest .section_title li:nth-child(2),
#timeline .section_title li:nth-child(2),
#satori_area .section_title li:nth-child(2) {
  color: var(--my-beige);
}
#outline .section_title li:nth-child(2) {
  color: var(--my-gray);
}
/*------------------------------------------------------
  ゲスト
------------------------------------------------------*/
#guest {
  background: linear-gradient(-45deg, #eee 0%, #fff 50%, #eee 100%);
  padding: 2.5rem 1rem 1rem;
}
#guest .container {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 1rem;
}
.guest-wrap {
  width: 100%;
  display: flex;
  align-items: top;
  font-size: .8rem;
  text-align: justify;
  line-height: 1.5em;
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px dotted var(--main-navy);
}
.guest-wrap .photo {
  width: 28%;
  padding-right: 1rem;
}
.guest-wrap ul {
  width: 72%;
}
.guest-wrap ul li:nth-child(2) {
  font-size: 1.1rem;
  padding:.3em 0 .5em;
}
.guest-wrap ul li:nth-child(3) {
  font-size: .7rem;
}
.guest-wrap .photo img {
  width: 100%;
}
.guest-wrap .logo {
  width: 100%;
  padding-bottom: .4em;
}
/*個別ロゴ調整*/
.tsuru .logo img {
  width: 48%;
}
.watanabe .logo img {
  width: 70%;
}
.kawaguchi .logo img {
  width: 48%;
}
.sato .logo img {
  width: 75%;
}
.ueda .logo img {
  width: 48%;
}
.miyoshi .logo img {
  width: 35%;
}
.matsumura .logo img {
  width: 45%;
}
.yamanaka .logo img {
  width: 30%;
}
.kiritoshi .logo img {
  width: 65%;
  padding-bottom: .5rem;
}
#guest .commingsoon {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, .2);
  padding: 1rem;
  border-top: none;
}
#guest .commingsoon ul {
  width: 100%;
  text-align: center;
}
#guest .commingsoon ul li:nth-child(1) {
  font-size: 1rem;
  padding-bottom: 5px;
  color: var(--dark-gray);
}
#guest .commingsoon ul li:nth-child(2) {
  color: var(--my-gray);
  font-size: .8rem;
  padding: 0;
  letter-spacing: .07em;
}
/*------------------------------------------------------
  コンセプト
------------------------------------------------------*/
#concept {
  background-image: url(../images/bg.webp);
  background-size: cover;
  padding: 1rem;
}
#concept .container {
  width: 100%;
  margin-top: 1rem;
}
#concept .message {
  background: linear-gradient(-45deg, #eee 0%, #fff 50%, #eee 100%);
  color: var(--main-black);
  font-size: .9rem;
  text-align: justify;
  line-height: 2.1em;
  padding: 1.3rem;
}
#concept .points {
  background: #cdcdce;
  line-height: 1.5rem;
  padding: 2rem .5em 0;
}
#concept .points .section_title li:nth-child(1) {
  color: var(--neon-orange);
}
#concept .points .section_title li:nth-child(2) {
  color: var(--main-black);
  padding-bottom: 1rem;
}
#concept .points .point-list {
  display: inline-block;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
}
#concept .points .point-list li {
  padding: 1em .5em;
  margin: .5em 0;
  background: linear-gradient(-45deg, #eee 0%, #fff 50%, #eee 100%);
}
#concept .points .point-list li:first-child {
  margin-top: 0;
}
#concept .points .material-icons {
  display: block;
  padding-bottom: 5px;
}
/*------------------------------------------------------
  タイムライン
------------------------------------------------------*/
#timeline .container {
  width: 100%;
  background: #eee;
  padding: 1rem;
}
#timeline .order {
  background: #292C34;
  margin: 1rem 0 0;
}
#timeline .order {
  display: flex;
  justify-content: space-between;
  padding: .7em;
  color: #fff;
  font-size: 1.1rem;
}
#timeline .order li:nth-child(2) {
  letter-spacing: .05em;
  font-family: var(--my-time);
}
#timeline .wrapper {
  padding: 1.5rem 1rem;
  margin-bottom: 1rem;
  background: rgba(255, 255, 255, .8);
}
#timeline .theme {
  text-align: left;
  color: var(--main-black);
}
#timeline .theme li:nth-child(1) {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5em;
  text-align: justify;
}
#timeline .theme .sub {
  font-size: 1rem;
}
#timeline .theme li:nth-child(2) {
  font-size: .98rem;
  text-align: justify;
  line-height: 1.8em;
  padding-top: .8em;
}
#timeline .theme li:nth-child(3) {
  padding-top: .8em;
}
#timeline .theme li:nth-child(n+3) {
  line-height: 1.6em;
}
#timeline .speaker {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-top: 1rem;
  align-items: center;
  text-align: left;
}
#timeline .speaker .name {
  width: 100%;
  order: 1;
  text-align: left;
}
#timeline .speaker .name ul {
  width: 100%;
}
#timeline .speaker .name ul li:nth-child(1) {
  font-size: .9rem;
  color: var(--neon-orange);
  padding: .3em 0;
  border-bottom: 1px solid var(--main-black);
  margin-bottom: 2em;
}
#timeline .speaker .photo {
  width: 35%;
  padding-top: 1rem;
  order: 3;
  margin-right: auto;
}
#timeline .speaker .photo img {
  width: 100%;
}
#timeline .speaker .company {
  width: 100%;
  order: 2;
  font-size: .85rem;
  line-height: 1.5em;
  padding-top: .8em;
}
#timeline .speaker .logo {
  width: 65%;
  display: flex;
  justify-content: center;
  order: 4;
}
/*タイムラインロゴ個別調整*/
#timeline .eneos .logo img {
  width: 70%;
}
#timeline .eon .logo img {
  width: 90%;
}
#timeline .kansaidenryoku .logo img {
  width: 60%;
}
#timeline .evmotors .logo img {
  width: 95%;
}
#timeline .fujitsu .logo img {
  width: 60%;
}
#timeline .sizendenryoku .logo img {
  width: 75%;
}
#timeline .uber .logo img {
  width: 55%;
}
#timeline .lib .logo img {
  width: 80%;
}
#timeline .comming {
  color: #cacacc;
  font-weight: bold;
}
/*------------------------------------------------------
  開催概要
------------------------------------------------------*/
#outline {
  background: var(--main-black);
  color: #fff;
  padding: 3rem 1rem 1rem 1rem;
}
#outline .section_title {
  margin-bottom: 1rem;
}
#outline .section_title li:nth-child(2) {
  padding-bottom: 1rem;
}
#outline .container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
/*イベント名*/
#outline .event p img {
  width: 190px;
  padding-bottom: 5px;
}
#outline .event small {
  font-size: .7rem;
  font-weight: normal;
}
#outline .event ul li:nth-child(1) {
  color: #fff;
  font-size: 1.3rem;
  border-top: 1px solid var(--neon-orange);
  border-bottom: 1px solid var(--neon-orange);
  padding: .8em .3em;
  margin: 1em 0 1em 0;
}
#outline .event ul li:nth-child(2) {
  font-size: 1.3rem;
  line-height: 1.5em;
}
#outline .event ul li:nth-child(3) {
  font-size: .95rem;
  line-height: 1.5em;
  padding-top: .8em;
}
/*詳細リスト*/
#outline .detail {
  padding-top: 1rem;
}
#outline table {
  width: 90%;
  margin: 0 auto;
  line-height: 2em;
  text-align: justify;
}
#outline th {
  display: block;
  font-weight: normal;
  color: var(--neon-orange);
  padding: .5em 0 0;
  display: flex;
  align-items: center;
}
#outline th::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  border-bottom: 1px dotted var(--neon-orange);
  margin-left: 1rem;
}
#outline td,
#outline td ul li:nth-child(1) {
  font-size: 1.05rem;
  line-height: 1.5em;
  display: block;
  padding: .5em 0;
}
#outline td ul li:nth-child(2) {
  padding-top: .5em;
  line-height: 1.3em;
}
#outline .detail .on-off {
  font-size: .9em;
  background: #595857;
  padding: .3em 1em;
  margin-bottom: .5em;
}
#outline .offline li:nth-child(2) {
  font-size: .8rem;
  line-height: 1.5em;
  padding-bottom: 2em;
}
#outline .material-icons {
  color: var(--dark-gray);
  position: relative;
  top: 5px;
  padding-right: 3px;
}
#outline a {
  transition: .5s;
}
#outline a:hover {
  opacity: .5;
}
/*------------------------------------------------------
  タイムテーブル
------------------------------------------------------*/
#timetable {
  max-width: 980px;
  padding: .5rem;
  border: .7rem solid #524e4d;
}
#timetable thead {
  display: none;
}
#timetable tbody {
  width: 100%;
}
#timetable th {
  text-align: center;
  padding: .5em 0;
}
#timetable td {
  display: flex;
  align-self: stretch;
  align-items: center;
}
#timetable tr {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.5em;
}
#timetable tbody tr {
  padding: .5em 0;
}
#timetable .time {
  color: var(--my-beige);
  width: 100%;
  justify-content: flex-start;
  font-family: var(--my-time);
}
#timetable .program {
  width: 100%;
  padding-left: 1rem;
  border-top: 1px solid var(--neon-orange);
  border-left: 1px solid var(--neon-orange);
}
#timetable .program ul li:nth-child(1) {
  font-size: .9rem;
  padding: .4em 0;
}
#timetable .program ul li:nth-child(2) {
  line-height: 1.5em;
}
#timetable .speakers {
  width: 100%;
}
#timetable .speakers ul li:nth-child(1),
#timetable .speakers ul li:nth-child(3) {
  font-size: .95rem;
}
#timetable .speakers ul li:nth-child(3) {
   padding-top: .5em;
}
#timetable .speakers ul li:nth-child(2),
#timetable .speakers ul li:nth-child(4) {
  font-size: .8rem;
  line-height: 1.5em;
}
#timetable .break {
  font-size: .8rem;
  line-height: 1em;
  padding: 0;
  display: flex;
  flex-flow: row wrap;
}
#timetable .closing {
  border-bottom: 1px dotted var(--dark-gray);
}
#timetable thead .program,
#timetable thead .speakers {
  background: transparent;
  color: var(--neon-orange);
  border-left: none;
}
/*------------------------------------------------------
  form
------------------------------------------------------*/
#satori_area {
  max-width: 980px;
  padding: 3rem 0;
  margin: 0 auto;
  background: rgba(255, 255, 255, .8);
}
#satori_area label {
  font-size: 1rem;
}
#satori__creative_container {
  margin: 0 1rem;
}
.satori__custom_form {
  padding: 1rem;
}
.satori__input_group {
  text-align: left;
}
#satori_area input,
#satori_area .satori__notes,
#satori__custom_field_ef745fc157d7e8de8 {
  text-align: left;
}
#satori_area #satori__submit_confirm {
  text-align: center;
}
.satori__input_group .satori__notes {
  margin: 1em 0;
}
#satori_area .satori__notes {
  font-size: .85rem;
  border: none;
  background: #eee;
}
#satori__privacy_policy_agreement_wrapper .satori__input_group {
  text-align: center;
}
/*------------------------------------------------------
  フッター
------------------------------------------------------*/
footer {
  color: #fff;
  padding: 1rem;
  font-size: .8rem;
}