@charset "UTF-8";
/* --

 top.css

 ------------------------------------
-- */
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese);
/* --

 * clearfix............float解除
 * font-size...........フォントサイズ指定（px指定はIE8対策）
 * moving-base.........基本のアニメーション
 * FontAwesome.........アイコンフォント使用（FontAwesome）
 * opacity.............透明度設定（IE対応含む）
 * tablet..............ブレイクポイント設定（タブレット）
 * mobile..............ブレイクポイント設定（スマホ）

 ------------------------------------

 * scroll..............スクロールアイコンのスタイル


-- */
/* --

 keyframes - アニメーションキーフレーム集

 ------------------------------------

 * loading.............ローディングアイコンのアニメーション

-- */
@-webkit-keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }
  40% {
    -webkit-transform: scale(1); } }

@keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes slider-zoomin {
  0% {
    opacity: 0; }
  8% {
    opacity: 1; }
  17% {
    opacity: 1; }
  25% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 9; }
  100% {
    opacity: 0; } }

@keyframes slider-zoomin {
  0% {
    opacity: 0; }
  8% {
    opacity: 1; }
  17% {
    opacity: 1; }
  25% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 9; }
  100% {
    opacity: 0; } }

/*-----------------------------------

	$mainvisual

-----------------------------------*/
.mainvisual .image {
  background-color: #ffffff; }
.mainvisual .image img {
  width: 100%;
  height: auto;
  display: block; }

/*-----------------------------------

	$intro

-----------------------------------*/
.intro {
  padding: 6em 0;
  background: #d6f4fa; }
  .intro .lead {
    text-align: center;
    padding-bottom: 6.5em; }
    .intro .lead__txt {
      font-size: 20px;
      font-size: 2rem;
      padding-bottom: 3em; }
      .intro .lead__txt-ttl {
        font-size: 30px;
        font-size: 3rem;
        font-weight: 700;
        padding-bottom: .8em; }
        .intro .lead__txt-ttl span {
          background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #fee409));
          background-image: -webkit-linear-gradient(transparent 70%, #fee409 30%);
          background-image: -o-linear-gradient(transparent 70%, #fee409 30%);
          background-image: linear-gradient(transparent 70%, #fee409 30%); }
    .intro .lead__flyer {
      width: 90%;
      max-width: 800px;
      margin: auto; }
      .intro .lead__flyer img {
        width: auto;
        max-width: 100%; }

.remodal {
  max-width: 90%;
  padding: 3em; }

/*-----------------------------------

	$intro - tablet

-----------------------------------*/
@media screen and (max-width: 768px) {
  .intro {
    padding: 4em 0; }
    .intro .lead {
      padding-bottom: 4em; }
      .intro .lead__txt {
        font-size: 18px;
        font-size: 1.8rem;
        padding-bottom: 2em; }
        .intro .lead__txt-ttl {
          font-size: 24px;
          font-size: 2.4rem; }
        .intro .lead__txt p br {
          display: none; } }

/*-----------------------------------

	$intro - mobile

-----------------------------------*/
@media screen and (max-width: 640px) {
  .intro {
    padding: 3em 0; }
    .intro .lead__txt {
      font-size: 16px;
      font-size: 1.6rem; }
      .intro .lead__txt-ttl {
        font-size: 22px;
        font-size: 2.2rem; }
      .intro .lead__txt p {
        text-align: left; } }

/*-----------------------------------

	$detail

-----------------------------------*/
.overview {
  padding: 10em 0;
  background: #efeec5; }
.detail__list {
  padding-bottom: 2.4em; }
  .detail__list dt {
    width: 8.75em;
    float: left;
    clear: both;
    display: block;
    text-align: center;
    font-weight: 700;
    border-radius: 50px;
    padding: .3em;
    font-size: 16px;
    font-size: 1.6rem;
    position: relative;
    padding: 1rem 2rem calc(1rem + 10px);
    background: #fff000;
    margin-bottom: 20px; }
    .detail__list dt:before {
      position: absolute;
      top: -7px;
      left: -7px;
      width: 100%;
      height: 100%;
      content: '';
      border: 2px solid #000;
      border-radius: 50px; }
  .detail__list dd {
    padding: .2em 0 1em 9.75em;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 20px;  }
    .detail__list dd:last-child {
      padding-bottom: 0; }
    .detail__list dd b {
      font-size: 20px;
      font-size: 2rem;
      display: block;
      padding-bottom: .2em; }
  .detail__list-time {
    padding-left: 2em; }

/*-----------------------------------

	$detail - tablet

-----------------------------------*/
@media screen and (max-width: 768px) {
  .detail__list-time {
    padding-left: 0;
    display: block; } }

/*-----------------------------------

	$detail - mobile

-----------------------------------*/
@media screen and (max-width: 640px) {
  .detail__list {
    padding-bottom: 2.4em; }
    .detail__list dt {
      width: 100%;
      float: none; }
    .detail__list dd {
      padding: .5em 0 1em; }
      .detail__list dd:last-child {
        padding-bottom: 0; }
    .detail__list-time {
      display: block;
      padding-left: 0; } }

/*-----------------------------------

	$schedule

-----------------------------------*/
.schedule:not(:last-child) {
  padding-bottom: 3.5em; }
.schedule .ribbon__ttl {
  line-height: 5em; }

.schedule__ttl {
  display: table;
  margin-bottom: 1em;
  line-height: 5rem; }
  .schedule__ttl-number, .schedule__ttl-date {
    display: table-cell; }
  .schedule__ttl-number {
    width: 120px;
    font-weight: 700;
    padding: 2em; }
    .schedule__ttl-number span {
      display: block;
      width: 50px;
      height: 50px;
      text-align: center;
      font-size: 18px;
      font-size: 1.8rem; }
    .first-day .schedule__ttl-number {
      background: url("../img/img_schedule__ttl1.png") no-repeat 10% 0;
      background-size: contain; }
    .second-day .schedule__ttl-number {
      background: url("../img/img_schedule__ttl2.png") no-repeat 10% 0;
      background-size: contain; }
      .schedule__ttl-number span b {
        font-size: 100%; }
      .first-day .schedule__ttl-number span {
        color: #000; }
      .second-day .schedule__ttl-number span {
        color: #000; }
  .schedule__ttl-date {
    font-size: 30px;
    font-size: 3rem;
    padding-left: .5em;
    font-weight: 700; }

.schedule__list li {
  display: table;
  width: 100%;
  border-radius: 6px;
  overflow: hidden;
  font-weight: 700; }
  .schedule__list li:not(:last-child) {
    margin-bottom: .5em; }

.schedule__list-time, .schedule__list-name {
  display: table-cell;
  padding-top: .3em;
  padding-bottom: .3em;
  vertical-align: middle;
  font-size: 18px;
  font-size: 1.8rem; }

.schedule__list-time {
  width: 6.8em;
  text-align: center;
  color: #000;
  background: #999; }
  .first-day .schedule__list-time {
    background: #fff000; }
  .second-day .schedule__list-time {
    background: #2fbad0; }

.schedule__list-name {
  padding-left: 1.8em;
  padding-right: .5em;
  background: #fff;
  color: #000; }
  .first-day .schedule__list-name {
    background: #fffddf; }
  .second-day .schedule__list-name {
    background: #e5f6f9; }
  .schedule__list-name a {
    position: relative;
    padding-left: 1em;
    display: inline-block;
    color: #000; }
    .schedule__list-name a::before {
      display: inline-block;
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      position: absolute;
      left: 0;
      top: .25em; }
      .first-day .schedule__list-name a:hover {
        color: #e8c800; }
      .second-day .schedule__list-name a:hover {
        color: #2fbad0; }
      .first-day .schedule__list-name a::before {
        color: #fff000; }
      .second-day .schedule__list-name a::before {
        color: #2fbad0; }

/*-----------------------------------

	$schedule - tablet

-----------------------------------*/
@media screen and (max-width: 1024px) {
  .schedule__ttl-number {
    width: 100px; }
  .schedule__ttl-date {
    font-size: 24px;
    font-size: 2.4rem; } }

@media screen and (max-width: 768px) {
  .schedule__list-time, .schedule__list-name {
    font-size: 16px;
    font-size: 1.6rem; }
  .schedule__list-time {
    width: 5em; }
  .schedule__list-name {
    padding-left: 1em; }
  .remodal {
    max-width: 100%;
    padding: 2em 1em; } }

/*-----------------------------------

	$schedule - mobile

-----------------------------------*/
@media screen and (max-width: 640px) {
  .schedule__ttl-number {
    width: 80px;
    padding: 1em; }
    .schedule__ttl-number span {
      font-size: 16px;
      font-size: 1.6rem; }
  .schedule__ttl-date {
    font-size: 20px;
    font-size: 2rem; } }
