@charset "UTF-8";

/* =========================================

  YT TENNIS SCHOOL Class Lesson PC Style

========================================= */
body {
  background: url(../../common/images/bg_pattern.png) no-repeat 0 0;
  background-size: contain;
}
.l-contents { padding: 120px 0; }
.l-contents .inner { padding: 0 60px; }

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

  Page Header

----------------------------------------- */
.page-header {
  padding: 0;
  background: none;
}

/* Main Visual
----------------------------------------- */
.main-visual { height: 310px; }

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

  Section Styles

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

/* Section Heading
----------------------------------------- */
.sec-heading::before { background-color: var(--l-blue); }
.sec-bg { background-color: #f3f9ff; }

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

  Class Lesson Contents

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

/* Lesson Intro
----------------------------------------- */
.lesson-intro { padding: 55px 0 60px; }
.lesson-intro h3 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.2;
  color: var(--yt-blue);
}
.lesson-intro h3 small {
  font-size: calc(18 / 36 * 1em);
  display: block;
}
.lesson-intro h3 span {
  font-size: calc(22 / 36 * 1em);
  display: block;
}
.lesson-intro .inner > div {
  position: relative;
  display: flex;
  align-items: center;
}
.lesson-intro p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: calc(30 / 16);
  padding: 0 75px 0 0;
}
.lesson-intro p span { font-weight: 600; }
.lesson-intro figure { flex-shrink: 0; }

.lesson-intro.private .inner > div { align-items: flex-start; }
.lesson-intro.private .inner > div div {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 0 75px 0 0;
}
.lesson-intro.private .inner > div div img {
  width: 335px;
  margin: 0 0 70px;
}
.lesson-intro.private .inner > div div p { padding: 0; }

/* Lesson Contents
----------------------------------------- */
.lesson-cont { padding: 130px 0 150px; }

/* Lesson Summary */
.lesson-summary {
  position: relative;
  width: 1080px;
  height: 650px;
  /*
  background-repeat: no-repeat;
  background-position: 98% 20px;
  background-size: 241px 241px;
  */
  background-color: var(--wht);
  border-top-left-radius: 30px;
  padding: 50px 90px 0 290px;
  box-shadow: 0 0 10px 5px rgba(3,55,128,0.13);
}
/*
.lesson-summary.red1,
.lesson-summary.red2,
.lesson-summary.blue,
.lesson-summary.green,
.lesson-summary.ore1,
.lesson-summary.ore2 { height: 680px; }
*/

.lesson-summary h4 {
  position: absolute;
  top: 0;
  left: 0;
  width: 259px;
  height: 261px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}

/* Kids Class */
.lesson-summary.red1 h4 { background-image: url(../images/svg/class_ttl_kids_red1.png); }
.lesson-summary.red2 h4 { background-image: url(../images/svg/class_ttl_kids_red2.png); }
.lesson-summary.blue h4 { background-image: url(../images/svg/class_ttl_kids_blue.svg); }
.lesson-summary.green h4 { background-image: url(../images/svg/class_ttl_kids_green.svg); }
.lesson-summary.ore1 h4 { background-image: url(../images/svg/class_ttl_kids_ore1.svg); }
.lesson-summary.ore2 h4 { background-image: url(../images/svg/class_ttl_kids_ore2.svg); }

/* Normal Class */
.lesson-summary.nov h4 { background-image: url(../images/svg/class_ttl_novice.svg); }
.lesson-summary.ele h4 { background-image: url(../images/svg/class_ttl_element.svg); }
.lesson-summary.p-int h4 { background-image: url(../images/svg/class_ttl_pre-inter.svg); }
.lesson-summary.int h4 { background-image: url(../images/svg/class_ttl_inter.svg); }
.lesson-summary.u-int h4 { background-image: url(../images/svg/class_ttl_upper-inter.svg); }
.lesson-summary.singles h4 { background-image: url(../images/svg/class_ttl_singles.svg); }
.lesson-summary.stroke h4 { background-image: url(../images/svg/class_ttl_stroke.svg); }
.lesson-summary.ladies h4 { background-image: url(../images/svg/class_ttl_lt.png); }


/* Players Class */
.lesson-summary.pl1 h4 { background-image: url(../images/svg/class_ttl_pl1.svg); }
.lesson-summary.pl2 h4 { background-image: url(../images/svg/class_ttl_pl2.svg); }
.lesson-summary.pl3 h4 { background-image: url(../images/svg/class_ttl_pl3.svg); }

.lesson-summary > figure {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 241px;
  height: 241px;
}
.lesson-summary dl {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
.lesson-summary dl dt span {
  height: 30px;
  line-height: 30px;
  color: #d2d2d2;
  background-color: #474747;
  border-radius: 15px;
  padding: 0 1em;
  display: inline-block;
}
.lesson-summary dl dd {
  line-height: calc(30 / 16);
  margin: 10px 0 50px; 
}
.lesson-summary dl dd:last-of-type { margin: 10px 0 0; }
.lesson-summary dl dd ul {
  display: flex;
  align-items: center;
}
.lesson-summary dl dd ul li {
  display: flex;
  align-items: center;
  flex-direction: column;
  line-height: 1.3;
}
.lesson-summary dl dd ul li:not(:first-of-type) { margin: 0 0 0 80px; }
.lesson-summary dl dd ul li i {
  width: 40px;
  display: block;
  margin: 0 0 5px;
}

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

  "slick-theme.css" Overwrite

----------------------------------------- */
.lesson-slider { margin: 0; }
.lesson-slider .slick-list { overflow: visible; }
.lesson-slider .slick-slide {
  margin: 50px -75px 0;
  background: rgba(0,0,0,0.4);
  transition: all 0.7s;
}
.lesson-slider .slick-center {
  z-index: 1;
  margin: 0 -75px;
  background: var(--wht);
}

/* Arrows
----------------------------------------- */
.lesson-slider .slick-prev, .lesson-slider .slick-next {
  z-index: 2;
  width: 60px;
  height: 60px;
  transform: translateY(-50%);
}
.lesson-slider .slick-prev { left: calc((100% - (1080px + 60px)) / 2); }
.lesson-slider .slick-next { right: calc((100% - (1080px + 60px)) / 2); }

.lesson-slider .slick-prev:before,
.lesson-slider .slick-next:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  opacity: 1;
  display: block;
}
.lesson-slider .slick-prev:before { background-image: url(../images/prev_blue.png); }
.lesson-slider .slick-next:before { background-image: url(../images/next_blue.png); }

/* Swiper Styles */
.swiper-slide-active {
  top: -50px;
  z-index: 1;
}
.swiper-slide-prev, .swiper-slide-duplicate-prev {
  left: 50px;
  background: rgba(0,0,0,0.4);
  mix-blend-mode: multiply;
}
.swiper-slide-next, .swiper-slide-duplicate-next {
  right: 50px;
  background: rgba(0,0,0,0.4);
  mix-blend-mode: multiply;
}
.swiper-button-prev::after, .swiper-button-next::after { content: none; }
.swiper-button-prev {
  width: 60px;
  height: 60px;
  left: calc((100% - 1140px) / 2);
}
.swiper-button-next {
  width: 60px;
  height: 60px;
  right: calc((100% - 1140px) / 2);
}

/* Time Table
----------------------------------------- */
.time-table {
  padding: 130px 0;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: calc(30 / 16);
}
.time-table .inner { position: relative; }
.scroll:first-of-type { margin: 0 0 60px; }
.time-table table th { padding: 15px 0; }
.time-table table td {
  padding: 15px 0;
  text-align: center;
  border-right: solid 1px #e2e2e2;
  border-bottom: solid 1px #e2e2e2;
  background-color: var(--wht);
}

.time-table table.weekday { width: 100%; }
/*
.time-table table th, .time-table table td { width: calc(6 / 1080 * 100%); }
*/

.time-table table thead th {
  border-right: solid 1px #e2e2e2;
  border-bottom: solid 2px #e2e2e2;
}
.time-table table thead th:not(:first-of-type) {
  font-weight: 400;
  background-color: #ebf0f3;
  border-top: solid 1px #e2e2e2;
}
/*
.time-table table thead th:first-of-type span {
  font-size: calc(20 / 16 * 1em);
  font-weight: 500;
  color: var(--wht);
  height: 40px;
  line-height: 40px;
  border-radius: 20px;
  padding: 0 15px;
  display: inline-block;
}
.time-table table.weekday thead th:first-of-type span { background-color: #1868b5; }
*/

.time-table table tbody th {
  font-weight: 400;
  border-left: solid 1px #e2e2e2;
  border-right: solid 1px #e2e2e2;
  border-bottom: solid 1px #e2e2e2;
  background-color: var(--wht);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 15px 10px;
}
.time-table table tbody th i {
  font-style: normal;
  font-weight: 600;
  width: 40px;
  height: 28px;
  line-height: 28px;
  border-radius: 5px;
  background-color: #e0e8ec;
  text-align: center;
  display: inline-block;
  margin: 0 15px 0 0;
}
.holiday {
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  background-color: #e1f1ff !important;
}
.time-table table td span {
  text-align: center;
  display: inline-block;
  margin: 0 8px;
}

/*
.time-table table.weekend { width: 50%; }
.time-table table.weekend thead th:first-of-type span { background-color: #269fdd; }
*/

.time-table figure {
  position: absolute;
  right: 100px;
  bottom: 85px;
}
.time-table p { margin: 30px 0 0; }

/* Price List
----------------------------------------- */
.price-list {
  padding: 130px 0 150px;
  margin: 0 0 50px;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: calc(30 / 16);
}
.price-list .inner { position: relative; }
.admission-fee {
  width: 310px;
  float: right;
  text-align: center;
}
.admission-fee table { width: 100%; }
.pl-unit table { border-left: solid 1px #e2e2e2; }
.pl-unit table thead th {
  font-weight: 400;
  padding: 15px 0;
  background-color: #ebf0f3;
  border-right: solid 1px #e2e2e2;
  border-bottom: solid 2px #e2e2e2;
}
.pl-unit table tbody td {
  padding: 15px 0;
  text-align: center;
  vertical-align: middle;
  background-color: #ffffff;
  border-right: solid 1px #e2e2e2;
  border-bottom: solid 1px #e2e2e2;
  line-height: 1.3;
}

.attention { margin: 45px 0 0; }
.attention ul { margin: 1em 0 2em; }
.attention ul li::before { content: "・"; }
.attention span {
  font-weight: 600;
  display: block;
}

/* Course Guide
----------------------------------------- */
.guide { padding: 130px 0 150px; }
.course-unit {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.course {
  position: relative;
  width: calc((100% - 60px) / 2);
}
.course dl {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin: 15px 0 0;
}
.course dl dt {
  font-size: calc(22 / 16 * 1em);
  font-weight: 600;
  color: var(--yt-blue);
  text-align: center;
}
.course dl dd { line-height: calc(30 / 16); }

/* Reserve Banner
----------------------------------------- */
.reserve-unit {
  position: relative;
  width: 700px;
  height: 245px;
  margin: auto;
  background-image: url(../images/class_private_reserve_bg.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}
.lesson-intro.private .reserve-unit { margin: 10px auto 30px; }
.l-footer .reserve-unit { margin: 0 auto 120px; }
.reserve-unit ul {
  position: absolute;
  top: 120px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
.reserve-unit ul li {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  color: var(--yt-blue);
  margin: 0 0 15px;
}
.reserve-unit ul li a { pointer-events: none; }

/* Contents Slider
----------------------------------------- */
.cont-slider { margin: 0 0 130px; }

.inquiry-unit::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 411px;
  height: 110px;
  background: url(../images/class_foot_txt.png) no-repeat 50% 50%;
  background-size: cover;
}

/* To Top
----------------------------------------- */
.totop {
  width: 330px;
  margin: 0 auto 60px;
}
.private .totop { margin: 60px auto 0; }