@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;500;700&family=Kaisei+Opti:wght@400;500;700&display=swap');

.lp.thanksgiving {
  font-family: "Kaisei Opti", serif;
  font-size: clamp(1rem, 0.846rem + 0.32vw, 1.063rem);
  font-weight: 500;
  letter-spacing: normal;
}
.lp.thanksgiving .inner {
  max-width: 1080px;
}
.lp.thanksgiving #mv {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px clamp(6.25rem, -9.559rem + 58.82vw, 12.5rem);
  color: #fff;
  background: url("../images/mv.jpg") no-repeat center;
  background-size: cover;
}
.lp.thanksgiving #mv .mv-title {
  width: auto;
  filter:drop-shadow(-2px 2px 3px rgb(0 0 0 / .3));
}
.lp.thanksgiving #mv h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em 0;
  font-size: clamp(1.063rem, -0.13rem + 4.44vw, 2rem);
  line-height: 1.2;
}
.lp.thanksgiving #mv .date {
  margin: 0.5em 0 0;
  font-size: clamp(1.063rem, -0.13rem + 4.44vw, 2rem);
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.lp.thanksgiving #mv .date .num {
  font-size: 3em;
}
.lp.thanksgiving .mv-sub {
  display: flex;
  max-width: 1080px;
  margin: calc(clamp(6.25rem, -9.559rem + 58.82vw, 12.5rem) / 2 * -1) auto 0;
}
.lp.thanksgiving .mv-sub > * {
  position: relative;
  flex: 1;
}
.lp.thanksgiving .mv-sub img {
  border: clamp(0.25rem, -0.068rem + 1.18vw, 0.5rem) solid #fff;
  border-radius: 10px;
}
.lp.thanksgiving .mv-sub > *:nth-child(1) img {
  transform: rotate(-15deg)
}
.lp.thanksgiving .mv-sub > *:nth-child(3) img {
  transform: rotate(15deg)
}
.lp.thanksgiving .heading {
  font-family: inherit;
  font-weight: 700;
  letter-spacing: normal;
}
.lp.thanksgiving .lead-box {
  position: relative;
  width: fit-content;
  margin: 0 0 50px;
  margin-inline: auto;
  padding: 40px 60px;
}
.lp.thanksgiving .lead-box:before,
.lp.thanksgiving .lead-box:after {
  content: "";
  position: absolute;
  display: block;
  width: clamp(7.5rem, 1.346rem + 12.82vw, 10rem);
  aspect-ratio: 1;
  background: url("../images/bg_lead.png") no-repeat center;
  background-size: contain;
  z-index: -1;
}
.lp.thanksgiving .lead-box:before {
  left: -10px;
  top: 0;
}
.lp.thanksgiving .lead-box:after {
  right: -10px;
  bottom: 0;
}
.lp.thanksgiving .lead {
  font-family: inherit;
  font-size: clamp(1.125rem, 0.202rem + 1.92vw, 1.5rem);
  font-weight: 700;
  letter-spacing: normal;
  text-align: center;
}
.lp.thanksgiving .course_hd {
  display: flex;
  align-items: center;
  gap: 30px;
}
.lp.thanksgiving .course_hd .text {
  flex: 1;
}
.lp.thanksgiving .badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  aspect-ratio: 1;
  width: fit-content;
  padding: 40px;
  color: #cb1307;
  font-size: clamp(1.25rem, 0.019rem + 2.56vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
  background: url("../images/bg_badge.png") no-repeat center;
  background-size: contain;
}
.lp.thanksgiving .badge .row2 {
  font-size: 2em;
  line-height: 1;
}
.lp.thanksgiving .badge .row3 {
  margin: 2px 0 0;
  font-size: 0.75em;
}
.lp.thanksgiving .block-set.schedule {
  counter-reset: number;
  line-height: 1.5;
}
.lp.thanksgiving .block-set.schedule > * {
  position: relative;
  margin: 1.5em 0 0;
  padding: 30px 20px;
  border-radius: 10px;
}
.lp.thanksgiving .block-set.schedule > *:before {
	content: counter(number);
	counter-increment: number;
	position: absolute;
	top: -0.75em;
  width: 1.5em;
  height: 1.5em;
	display: inline-block;
  color: #fff;
	font-size: 2em;
	line-height: 1.5;
	text-align: center;
  background-color: #000;
  border-radius: 100%;
}
.lp.thanksgiving .block-set.schedule > *:nth-child(1) {
  background-color: #eafd9d;
  /*box-shadow: 0px 4px 12px 0px color-mix(in srgb, #eafd9d 50%, transparent);*/
}
.lp.thanksgiving .block-set.schedule > *:nth-child(1):before {
  background-color: #00bf63;
}
.lp.thanksgiving .block-set.schedule > *:nth-child(1) .heading {
  color: #00bf63;
}
.lp.thanksgiving .block-set.schedule > *:nth-child(2) {
  background-color: #b4d7f8;
  /*box-shadow: 0px 4px 12px 0px color-mix(in srgb, #b4d7f8 50%, transparent);*/
}
.lp.thanksgiving .block-set.schedule > *:nth-child(2):before {
  background-color: #004aad;
}
.lp.thanksgiving .block-set.schedule > *:nth-child(2) .heading {
  color: #004aad;
}
.lp.thanksgiving .block-set.schedule > *:nth-child(3) {
  background-color: #fad7ed;
  /*box-shadow: 0px 4px 12px 0px color-mix(in srgb, #fad7ed 50%, transparent);*/
}
.lp.thanksgiving .block-set.schedule > *:nth-child(3):before {
  background-color: #cb1307;
}
.lp.thanksgiving .block-set.schedule > *:nth-child(3) .heading {
  color: #cb1307;
}
.lp.thanksgiving .block-set.schedule .heading {
  color: initial;
  font-size: 1.375rem;
}
.lp.thanksgiving .block-set.schedule .img {
  margin: 0 0 1em;
  border-radius: 8px;
  overflow: clip;
}
.lp.thanksgiving .block-set.schedule dl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
.lp.thanksgiving .block-set.schedule dt,
.lp.thanksgiving .block-set.schedule dd {
  margin: 0;
  padding: 0;
}
.lp.thanksgiving .block-set.schedule dt {
  width: 3.5em;
}
.lp.thanksgiving .block-set.schedule dd {
  width: calc(100% - 3.5em);
}
.lp.thanksgiving .block-set.schedule li {
  margin: 0;
}
.lp.thanksgiving .block-set.schedule > *:nth-child(3) li:before {
  background-color: #cb1307;
}
.lp.thanksgiving .box {
}
.lp.thanksgiving .box > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .lp.thanksgiving #mv {
    height: auto;
  }
  .lp.thanksgiving .lead-box {
    width: auto;
    margin-bottom: 0;
    padding: 20px;
  }
  .lp.thanksgiving .lead-box:before,
  .lp.thanksgiving .lead-box:after {
    width: clamp(7.5rem, 1.346rem + 12.82vw, 10rem);
  }
  .lp.thanksgiving .lead {
    max-width: 400px;
    margin-inline: auto;
    text-align: left;
  }
  .lp.thanksgiving .section:not(#contact) h2 {
    font-size: 1.3125em;
  }
  .lp.thanksgiving .course_hd {
    flex-direction: column-reverse;
  }
  .lp.thanksgiving .box {
    padding: 30px 20px;
  }
}
