@charset "UTF-8";

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

  YT TENNIS SCHOOL Taiken SP Style

========================================= */
.l-contents .inner { padding: 0; }

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

  Page Header

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

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

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

  Section Styles

----------------------------------------- */
.section > figure figcaption {
  font-size: calc((22 * 1.1) / 750 * 100vw);
  margin: 15px 0 0;
  text-align: left;
  padding: 0 calc(35 / 750 * 100%);
}

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

  Taiken Contents

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

/* Taiken Common
----------------------------------------- */
.flow-unit { flex-direction: column; }
.flow-item {
  padding: calc(50 / 750 * 100%);
}
.flow-item dl { font-size: calc((24 * 1.1) / 750 * 100vw) }
.flow-item dl dt {
  font-size: calc(28 / 24 * 1em);
  margin: 0 0 15px;
}
.flow-item dl dd p { line-height: calc(40 / 24); }

/* Taiken Intro
----------------------------------------- */
.taiken-intro { padding: 0 0 calc(90 / 750 * 100%); }
.taiken-anker {
  justify-content: space-between;
  margin: calc(60 / 750 * 100%) 0 calc(100 / 750 * 100%);
}
.taiken-anker a {
  width: 49%;
  height: auto;
  line-height: initial;
  padding: 2.5% 0;
  font-size: calc(24 / 750 * 100vw);
  border-radius: 30px;
  margin: 0;
}
.taiken-anker a i { margin: 0 5px 0 0; }
.taiken-greeting{
  padding: 0;
}
.taiken-greeting h4 {
  font-size: calc(28 / 750 * 100vw);
  line-height: calc(54 / 28);
  margin: 0 0 calc(40 / 750 * 100%);
}
.taiken-greeting p {
  font-size: calc((24 * 1.1) / 750 * 100vw);
  line-height: calc(40 / 24);
}
.taiken-greeting figure {
  position: relative;
  top: 0;
  right: 0;
  width: calc(250 / 750 * 100vw);
  text-align: center;
  margin: 0 auto;
}

/* Taiken Guide
----------------------------------------- */
.taiken-guide { padding: 0 0 calc(130 / 750 * 100%); }

/* Taiken Flow
----------------------------------------- */
.taiken-flow { padding: 0 0 calc(120 / 750 * 100%); }
.taiken-flow .flow-item {
  width: 100%;
  margin: 0 0 20px;
}
.taiken-flow .flow-item:last-of-type {
  background: none;
  padding: 0;
  text-align: center;
}
.taiken-flow .flow-item dl dt {
  display: flex;
  align-items: center;
}
.taiken-flow .flow-item dl dt i {
  width: calc(60 / 750 * 100vw);
  height: calc(60 / 750 * 100vw);
  display: inline-block;
  margin: 0 10px 0 0
}

/* Interval
----------------------------------------- */
.interval {
  padding: 0 0 calc(400 / 750 * 100%);
  background-size: cover;
  background-attachment: scroll;
}

/* New Membership
----------------------------------------- */
.new-membership { padding: calc(80 / 750 * 100%) 0 calc(130 / 750 * 100%); }
.new-membership > figure:not(:last-of-type) { margin: 0 0 calc(80 / 750 * 100%); }

/* Membership Flow
----------------------------------------- */
.membership-flow { padding: calc(130 / 750 * 100%) 0 0; }
.membership-flow .flow-unit .flow-item {
  width: 100%;
  margin: 0 0 20px;
}
.membership-flow .inner > .flow-item dl dd { flex-direction: column; }
.membership-flow .inner > .flow-item dl dd p { width: 100%; }
.membership-flow .inner > .flow-item dl dd figure {
  margin: calc(70 / 750 * 100%) 0 0;
  padding: 0 calc(90 / 680 * 100%);
}
.membership-flow .flow-item + p {
  width: calc(495 / 750 * 100vw);
  margin: calc(60 / 750 * 100%) auto 0;
}