/* カレンダー2列 */
.xo-months {
  display: flex;
}

.xo-month-wrap {
  width: 50%;
  margin: 0 5px;
}

@media (max-width: 768px) {
  .xo-months {
    display: block;
  }

  .xo-month-wrap {
    width: 100%;
    margin: 0;
  }
}

/* 背景囲み */
.bg {
  background: #e8f6fb;
  padding: 10px 15px;
  display: block;
  border: 1px solid #fff;
  box-shadow: 0 3px 3px #ebeae8;
  border-radius: 13px 0;
}

/* 文字囲み */
span.bg {
  background: #004BA0;
  color: #fff;
  padding: 5px;
  border-radius: 3px;
  display: block;
}

/* 行揃え */
.indent {
  margin-left: 4em;
  text-indent: -4em;
}

.indent span.bg {
  display: inline;
}

/* 角丸枠線 */
.frame {
  border: 1px solid #004BA0;
  border-radius: 6px;
  padding: 1em;
  position: relative;
  display: flex;
}

.span_6 .frame,
.span_4 .frame {
  margin-top: 30px;
}

@media (max-width: 767px) {

  .span_6 .frame,
  .span_4 .frame {
    margin-top: 20px;
  }

  .frame {
    display: block;
  }

  .frame .span_2,
  .frame .span_3,
  .frame .span_4,
  .frame .span_5,
  .frame .span_6,
  .frame .span_7,
  .frame .span_8,
  .frame .span_9,
  .frame .span_10 {
    width: 100% !important;
  }
}


/* オプション下矢印 */
.frame.arrow:after {
  border-color: transparent transparent transparent #004BA0;
  border-style: solid;
  border-width: 26px 0 26px 18px;
  content: '';
  margin-top: -11px;
  position: absolute;
  right: 50%;
  bottom: -36px;
  transform: rotate(90deg);
}

/* 最後の矢印消す */
.frame.arrow.end:after {
  display: none;
}

/* 横並びのコンテンツ高さ合わせる */
.wrap {
  display: flex;
}



.dia-table td {
  text-align: left;
}





/* 2025/05/26 */
.mv__images {
  position: relative;
}

.mv__item__catch {
  position: absolute;
  bottom: 20%;
  left: 0;
  padding: 40px 40px;
  background-color: rgba(255, 255, 255, 0.95);
  text-align: center;
}

@media screen and (max-width: 1020px) {
  .mv__item__catch {
    padding: 20px 10px;
  }
}

@media screen and (max-width: 500px) {
  .mv__item__catch {
    position: static;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
  }
}

.mv__item__catch p {
  font-size: clamp(1.4rem, 1.06rem + 1.29vw, 3.4rem);
  color: #ffa500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-family: 'Noto Sans JP';
  font-weight: 600;
  text-shadow: 0 1.8px 5px rgba(0, 0, 0, 0.1);
}

.mv__item__catch p .lg-txt {
  font-size: clamp(1.6rem, 1.06rem + 2.31vw, 5rem);
  color: #00743D;
  font-weight: 700;
  text-shadow: 0 1.8px 5px rgba(0, 0, 0, 0.1);
}

.mv__item__catch p .md-txt {
  font-size: clamp(1.5rem, 1.16rem + 1.52vw, 4rem);
  color: #00743D;
  font-weight: 600;
  text-shadow: 0 1.8px 5px rgba(0, 0, 0, 0.1);
}

.mv__item__catch p {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.8s;
}

.mv__item__catch p .lg-txt,
.mv__item__catch p .md-txt {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.8s;
}

/* 共通アニメーション */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mv__images {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.mv__images.slick-initialized {
  opacity: 1;
}


.cl-red {
  color: #f00;
}

.cl-orange-2 {
  color: #ffa500;
}