@charset "UTF-8";
/*!===========================
このcssはSassから生成されていますので、
直接編集しないようご注意ください。
===========================*/
@import url("https://fonts.googleapis.com/css?family=Advent+Pro:500&display=swap");
html {
  font-feature-settings: 'palt';
  font-size: 62.5%;
  color: #333A46;
  background: #fff; }
  @media (max-width: 1000px) {
    html {
      font-size: 1vw; } }

html,
#pttl small {
  font-family: 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif; }

#top-sec01 h2, #top-sec03 h2, #top-sec04 h2, #top-access h2, #content .top-pr h2 {
  font-family: din-condensed,sans-serif; }

.btn, .btn02, .form [type="button"],
.form [type="submit"],
.form [type="reset"], .btn-taiken, #gnav {
  font-family: a-otf-futo-go-b101-pr6n,sans-serif;
  font-weight: 500; }

#top-sec03 h3 {
  font-family: 'Advent Pro', sans-serif; }

#pttl {
  font-family: myriad-pro-semi-condensed,sans-serif; }

body {
  line-height: 1.75;
  font-size: 2.2em; }

a {
  color: inherit; }
  a:hover {
    text-decoration: none;
    opacity: .8; }

figure {
  text-align: center; }

img {
  max-width: 100% !important;
  height: auto !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4; }

hr {
  clear: both;
  border: 0;
  margin: 60px 0;
  border-top: 1px solid; }

/* class
============================== */
.sp {
  display: none; }

.clearfix::after, #content::after {
  content: "";
  display: block;
  clear: both; }

.right {
  text-align: right !important; }

.center {
  text-align: center !important; }

.aligncenter {
  display: block;
  margin: 0 auto; }

.alignleft,
.alignright {
  max-width: 52% !important;
  margin-bottom: 20px; }

.alignleft {
  float: left;
  margin-right: 40px; }

.alignright {
  float: right;
  margin-left: 40px; }

.nowrap {
  white-space: nowrap; }

.wrap {
  word-break: break-all; }

.kome:not(ul),
ul.kome > li {
  text-indent: -1em;
  padding-left: 1em; }
  .kome:not(ul)::before,
  ul.kome > li::before {
    content: "※"; }

.mtop0 {
  margin-top: 0 !important; }

.mtop10 {
  margin-top: 10px !important; }

.mtop20 {
  margin-top: 20px !important; }

.mtop30 {
  margin-top: 30px !important; }

.col:not(table) {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .col:not(table) > * {
    width: 48%; }
    .col:not(table) > *.col-in1 {
      width: calc(8.33% - 1.5%); }
    .col:not(table) > *.col-in2 {
      width: calc(16.66% - 1.5%); }
    .col:not(table) > *.col-in3 {
      width: calc(24.99% - 1.5%); }
    .col:not(table) > *.col-in4 {
      width: calc(33.32% - 1.5%); }
    .col:not(table) > *.col-in5 {
      width: calc(41.65% - 1.5%); }
    .col:not(table) > *.col-in6 {
      width: calc(49.98% - 1.5%); }
    .col:not(table) > *.col-in7 {
      width: calc(58.31% - 1.5%); }
    .col:not(table) > *.col-in8 {
      width: calc(66.64% - 1.5%); }
    .col:not(table) > *.col-in9 {
      width: calc(74.97% - 1.5%); }
    .col:not(table) > *.col-in10 {
      width: calc(83.3% - 1.5%); }
    .col:not(table) > *.col-in11 {
      width: calc(91.63% - 1.5%); }
    .col:not(table) > *.col-in12 {
      width: 100%; }

.btn, .btn02, .form [type="button"],
.form [type="submit"],
.form [type="reset"] {
  display: block;
  position: relative;
  width: 370px;
  max-width: 100% !important;
  line-height: 1.4;
  font-size: 2rem;
  letter-spacing: .05em;
  text-align: center;
  text-decoration: none;
  color: #000;
  margin: 0 auto;
  padding: .8em 7.4rem .8em .8em;
  background: #2EAFBF url("../img/arrow01r.svg") right 4rem center/3.4rem no-repeat;
  border: 0;
  border-radius: 0; }

.btn02 {
  color: #fff;
  background-color: #B4945F; }

.btn-taiken {
  display: block;
  position: relative;
  width: 300px;
  max-width: 100% !important;
  letter-spacing: .05em;
  text-align: center;
  text-decoration: none;
  color: #000;
  margin: 0 auto;
  padding: .8em 7.4rem 3em .8em;
  border: 0;
  border-radius: 0; }

.gmap {
  position: relative; }
  .gmap::after {
    content: "";
    display: block;
    padding-top: 30px;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden; }
  .gmap iframe,
  .gmap object,
  .gmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* form
============================== */
.form [type="text"],
.form [type="number"],
.form [type="search"],
.form [type="email"],
.form [type="tel"],
.form [type="url"],
.form [type="password"],
.form [type="date"],
.form [type="datetime-local"],
.form [type="month"],
.form [type="week"],
.form [type="time"],
.form textarea,
.form select {
  width: 100%;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  padding: 8px 10px;
  background-color: #F7F7F7;
  border: 1px solid #ccc;
  border-radius: 3px; }
  .form [type="text"][disabled],
  .form [type="number"][disabled],
  .form [type="search"][disabled],
  .form [type="email"][disabled],
  .form [type="tel"][disabled],
  .form [type="url"][disabled],
  .form [type="password"][disabled],
  .form [type="date"][disabled],
  .form [type="datetime-local"][disabled],
  .form [type="month"][disabled],
  .form [type="week"][disabled],
  .form [type="time"][disabled],
  .form textarea[disabled],
  .form select[disabled] {
    background-color: #ddd; }
.form textarea {
  height: 200px;
  vertical-align: middle; }
.form select::-ms-expand {
  display: none; }
.form [type="button"]::after,
.form [type="submit"]::after,
.form [type="reset"]::after {
  content: normal; }
.form [type="button"]:hover,
.form [type="submit"]:hover,
.form [type="reset"]:hover {
  opacity: .8; }

.form h2 {
  font-size: 3.5rem;
  margin-bottom: 1em;
  margin-top: 2em; }
  .form h2:first-of-type {
    margin-top: 0; }
  .form h2 + p {
    margin-bottom: 1em; }
.form .form-table {
  display: flex;
  flex-wrap: wrap; }
  .form .form-table > dt,
  .form .form-table > dd {
    padding: 3rem;
    border-top: 1px solid #ccc; }
    .form .form-table > dt:first-of-type,
    .form .form-table > dd:first-of-type {
      border-top: 0; }
  .form .form-table > dt {
    width: 30%; }
    .form .form-table > dt .req {
      margin-left: .5em; }
  .form .form-table > dd {
    width: 70%;
    padding-bottom: 1rem;
    border-left: 1px solid #ccc; }
    .form .form-table > dd input,
    .form .form-table > dd textarea,
    .form .form-table > dd select,
    .form .form-table > dd p,
    .form .form-table > dd dl {
      margin-bottom: 2rem; }
    .form .form-table > dd label {
      white-space: nowrap; }
    .form .form-table > dd .error {
      font-size: 1.6rem;
      color: #D00E00; }
.form .question dt {
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 1em; }
  .form .question dt::before {
    content: "■"; }
  .form .question dt:first-of-type {
    margin-top: 0; }
.form .question dd {
  margin-top: .5em; }
.form .survey {
  margin-bottom: 3em; }
  .form .survey dt {
    padding: .5em;
    background: #333A46;
    color: #fff;
    text-indent: inherit; }
    .form .survey dt:before {
      display: none; }
  .form .survey .req {
    margin-left: .5em; }
  .form .survey .caution {
    margin-top: 1em;
    padding: 1em;
    border: 1px dashed #ccc;
    font-size: 1.6rem; }
  .form .survey .error {
    font-size: 1.6rem;
    color: #D00E00; }
  .form .survey + p {
    text-align: center;
    font-size: 1.4rem; }
.form .req {
  font-size: 1.4rem;
  font-weight: normal;
  vertical-align: middle;
  color: #D00E00;
  padding: .2em .5em;
  border: 1px solid; }
.form .submit {
  margin-top: 40px; }

/* ==================================================
layout
================================================== */
footer,
#content > * {
  padding-left: 15px;
  padding-right: 15px; }

footer > *,
#content > * > *,
#fnav > *,
#top-sec01 h2 > *,
#top-sec03 h2 > *,
#top-sec04 h2 > *,
#top-access h2 > *,
#content [id^="top-sec02"] .kv > *,
#content [id^="top-sec02"] .gallery > *,
#top-sec04 h3 > *,
#top-sec04 .kv > *,
#top-sec04 > figure > *,
#top-sec04 .trainer > * {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto; }

#fnav, #top-sec01 h2, #top-sec03 h2, #top-sec04 h2, #top-access h2, #content [id^="top-sec02"] .kv, #content [id^="top-sec02"] .gallery, #top-sec04 h3, #top-sec04 .kv, #top-sec04 > figure, #top-sec04 .trainer {
  max-width: none;
  margin-left: -15px;
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px; }

/* ==================================================
header
================================================== */
header {
  position: fixed;
  z-index: 2;
  top: 0;
  width: 100%;
  line-height: 1.2;
  padding: 0 5% 0 0;
  color: #fff;
  background: #164097; }
  header a {
    text-decoration: none; }
  header > div {
    display: flex;
    align-items: center; }

#hlogo {
  line-height: 1;
  width: 27.9rem; }

#gnav {
  display: flex;
  font-size: 1.7rem;
  margin-left: 8rem; }
  #gnav li {
    margin-left: 2em; }

.drawer-hamburger {
  display: none; }

@media (max-width: 1320px) {
  #gnav-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 3;
    width: 100% !important;
    height: 100%;
    padding: 50px 20px;
    color: #fff;
    background: rgba(51, 58, 70, 0.95);
    overflow-y: auto;
    transition: none; }

  #gnav {
    display: block;
    text-align: center;
    margin-left: 0; }
    #gnav li {
      margin: 1em 0 0; }
      #gnav li:first-child {
        margin-top: 0; }

  .drawer-hamburger {
    display: block;
    position: absolute;
    width: 30px;
    margin: 1.7rem 15px 0 0;
    padding: 0; }

  .drawer-hamburger-icon {
    margin: 1.2rem 0; }
    .drawer-hamburger-icon, .drawer-hamburger-icon::before, .drawer-hamburger-icon::after {
      height: 2px;
      background: #fff; }
    .drawer-hamburger-icon::before {
      top: -1.2rem; }
    .drawer-hamburger-icon::after {
      top: 1.2rem; }

  .drawer-overlay {
    display: none !important; } }
/* ==================================================
footer
================================================== */
footer {
  height: 4.7rem;
  line-height: 1.2;
  background: #333A46; }
  footer a {
    text-decoration: none; }

#fnav {
  display: flex;
  justify-content: center;
  position: fixed;
  z-index: 1;
  bottom: 0;
  width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding: 0 3%; }
  #fnav li {
    width: 100%; }
    #fnav li a {
      width: 100%;
      font-size: 1vw;
      background-size: 2rem; }
    #fnav li.pdf a {
      background: #8DC21E url("../img/icon-pdf.svg") right 2rem center/2rem no-repeat;
      color: #fff;
      padding-right: 4rem; }
    #fnav li.pdf2 a {
      background: #FF9619 url("../img/icon-pdf.svg") right 2rem center/2rem no-repeat;
      color: #fff;
      padding-right: 4rem; }
    #fnav li.contact a {
      background-color: #B4945F;
      color: #fff; }
    #fnav li.schedule a {
      background: #164097 url("../img/icon-pdf.svg") right 2rem center/2rem no-repeat;
      color: #fff;
      padding-right: 4rem; }
    #fnav li.mypage a {
      background-color: #164097;
      color: #fff; }
    #fnav li.line a {
      background-color: #06C755;
      color: #fff; }

@media (max-width: 900px) {
  /* ボタン4つの場合 */
  #fnav {
    flex-wrap: wrap;
    padding: 0; }
    #fnav li {
      width: 50% !important; }
      #fnav li a {
        font-size: 2.4rem;
        padding-top: 1em;
        padding-bottom: 1em; }

  /* ボタン3つの場合 */
  /* #fnav {
  	flex-wrap: wrap;
  	padding: 0;
  	li {
  		width: 50%;
  		a {
  			font-size: 2.4rem;
  			padding-top: 1em;
  			padding-bottom: 1em;
  		}
  		&:first-child {
  			width: 100%;
  		}
  	}
  } */ }
#fnav1 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding: 0 15px;
  display: flex;
  justify-content: right;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1; }
  #fnav1 li {
    width: 25%;
    max-width: inherit; }

@media (min-width: 1500px) {
  #fnav1 li a {
    font-size: 2.0rem; } }
@media (max-width: 900px) {
  footer {
    margin-bottom: 25rem; }

  #fnav1 {
    margin-bottom: 0; } }
/* ==================================================
main
================================================== */
#content {
  overflow-x: hidden; }
  #content > * {
    padding-top: 6rem;
    padding-bottom: 6rem; }
  #content h2 {
    text-align: center; }

#top-sec01 h2, #top-sec03 h2, #top-sec04 h2, #top-access h2 {
  font-size: 5.5rem;
  font-weight: normal;
  letter-spacing: .1em;
  text-align: center;
  color: #fff;
  margin-top: -6rem;
  margin-bottom: 6rem;
  padding: .1em 0;
  background: #333A46; }

#pttl {
  font-size: 9.4rem;
  letter-spacing: .05em;
  text-align: center;
  color: #fff;
  padding-bottom: 8rem;
  background: url("../img/pttl-bg01.jpg") right center/cover no-repeat; }
  #pttl small {
    display: block;
    font-size: 2.8rem; }
  #pttl > * {
    line-height: 1.2; }
  #pttl .jp {
    font-size: 4rem; }

/* top
============================== */
.top-info {
  padding: 0 !important;
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
  background: #c30d23; }
  .top-info a {
    padding: 0.6em 15px !important;
    color: #fff;
    display: block; }

#top-kv {
  text-align: center;
  background: url("../img/bg01.jpg") center/cover no-repeat; }

#top-kv02 {
  margin-bottom: 5vw;
  padding-top: 20%;
  padding-bottom: 10vw;
  background: url("../img/bg02.png") center top/100% no-repeat, linear-gradient(181deg, #fff 55%, #8cc63f 100%); }
  #top-kv02 > * {
    max-width: 1250px; }
  #top-kv02 > div {
    position: relative;
    padding-right: 40rem; }
  #top-kv02 p {
    margin-top: 4rem; }
  #top-kv02 figure {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 39.7rem; }

#top-kv03 {
  padding: 57% 0 0;
  background: url("../img/main-img.jpg") top center/cover no-repeat; }
  #top-kv03 .txt {
    display: none; }

#content .top-pr-anniv {
  padding: 0 20px;
  background: url("../img/top-pr-anniv-bg.jpg") center center/cover no-repeat; }
  #content .top-pr-anniv .wrap {
    position: relative;
    margin: 0 auto;
    padding: 2.5em 2.0em 2.5em 2.0em;
    /**background: rgba(255,255,255,0.8);**/
    max-width: 920px; }
    #content .top-pr-anniv .wrap .btn-wrap {
      position: absolute;
      left: 6%;
      bottom: 8%;
      width: 42%; }
    #content .top-pr-anniv .wrap .btn-wrap1 {
      position: absolute;
      right: 9%;
      bottom: 8%;
      width: 42%; }

.pay {
  font-size: 4rem;
  font-weight: 600; }

.pay span {
  text-decoration: underline; }

#content .top-pr {
  position: relative;
  z-index: 1;
  text-align: center;
  padding-bottom: calc(6rem + 2em);
  overflow: hidden;
  color: #fff;
  padding-left: 0;
  padding-right: 0;
  background: url("../img/bg10.jpg"); }
  #content .top-pr::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/bg10.jpg") center/cover no-repeat; }
  #content .top-pr > * {
    display: block;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto; }
  #content .top-pr h2 {
    font-size: 5.5rem;
    font-weight: normal;
    letter-spacing: .1em;
    color: #fff;
    margin-bottom: .5em; }
  #content .top-pr p {
    margin-top: 2em;
    width: 88em;
    margin-left: -23em; }
  #content .top-pr .bg {
    position: relative;
    z-index: 1;
    padding: 1rem 0 2rem; }
    #content .top-pr .bg::before {
      content: "";
      position: absolute;
      z-index: -1;
      top: 0;
      left: 50%;
      width: 100vw;
      height: 100%;
      background: linear-gradient(90deg, #947526 0%, #d5af2a 25%, #f9f1ad 50%, #d5af2a 75%, #947526 100%);
      transform: translateX(-50%) skew(0deg, -5deg); }
    #content .top-pr .bg::after {
      content: "";
      position: absolute;
      z-index: -1;
      top: 5%;
      left: 50%;
      width: 100vw;
      height: 90%;
      border: solid #c30d23;
      border-width: 5px 0;
      transform: translateX(-50%) skew(0deg, -5deg); }
  #content .top-pr .bg02 {
    margin-top: 4.0em;
    padding: 0;
    position: relative;
    z-index: 1; }
    #content .top-pr .bg02::before {
      content: "";
      position: absolute;
      z-index: -1;
      top: -5px;
      left: 50%;
      width: 100vw;
      height: 100%;
      background: linear-gradient(90deg, #947526 0%, #d5af2a 25%, #f9f1ad 50%, #d5af2a 75%, #947526 100%);
      transform: translateX(-50%) skew(0deg, -5deg); }
    #content .top-pr .bg02 img {
      margin-top: -2.5%;
      margin-bottom: -1.0%; }
  #content .top-pr .btn-wrap,
  #content .top-pr .btn-wrap + p {
    position: relative;
    z-index: 2;
    margin-left: 4vw;
    width: 92%; }
  #content .top-pr .close {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    z-index: 1;
    top: -20%;
    left: 0;
    width: 100%;
    max-width: none;
    height: 140%;
    font-size: 3rem;
    font-weight: bold;
    text-shadow: 0 0 .5em #000;
    color: #fff;
    padding-bottom: 10rem;
    background: rgba(140, 33, 38, 0.85); }
    #content .top-pr .close > * {
      margin-top: 4rem; }
      #content .top-pr .close > *:first-child {
        margin-top: 0; }
    #content .top-pr .close .note {
      font-size: .5em; }
  #content .top-pr .txt-line {
    padding: 0 10px 0px;
    color: #c30d23;
    background: #ff0;
    border-radius: 0.2em;
    display: inline; }

#content .top-pr1 {
  position: relative;
  z-index: 1;
  text-align: center;
  padding-bottom: calc(6rem + 2em);
  overflow: hidden;
  color: #fff;
  padding-left: 0;
  padding-right: 0;
  background: #000; }
  #content .top-pr1::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000; }
  #content .top-pr1 > * {
    display: block;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto; }
  #content .top-pr1 p {
    margin-top: 2em;
    width: 88em;
    margin-left: -23em; }
  #content .top-pr1 .btn-wrap,
  #content .top-pr1 .btn-wrap + p {
    position: relative;
    z-index: 2;
    margin-left: 4vw;
    width: 92%; }

#content .top-pr2 {
  position: relative;
  z-index: 1;
  text-align: center;
  padding-bottom: calc(6rem + 2em);
  overflow: hidden;
  color: #fff;
  padding-left: 0;
  padding-right: 0;
  background: #c30d23; }
  #content .top-pr2::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #c30d23; }
  #content .top-pr2 > * {
    display: block;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto; }
  #content .top-pr2 p {
    margin-top: 2em;
    width: 88em;
    margin-left: -23em; }
  #content .top-pr2 .btn-wrap,
  #content .top-pr2 .btn-wrap + p {
    position: relative;
    z-index: 2;
    margin-left: 4vw;
    width: 92%; }

#top-sec01 {
  text-align: center;
  padding-bottom: 10vw;
  background: url("../img/bg04.png") center bottom/cover no-repeat; }
  #top-sec01 .lead {
    line-height: 1.4;
    font-size: 3.4rem;
    font-weight: bold;
    margin-bottom: 15rem; }
  #top-sec01 p:last-child {
    max-width: 650px;
    text-align: left;
    color: #fff;
    margin-top: 1em; }
    #top-sec01 p:last-child span {
      display: inline-block;
      margin-top: 8px;
      background: #fff;
      color: #000;
      font-size: 1.6rem;
      padding: 6px 10px; }

#content [id^="top-sec02"] h2 {
  position: relative;
  margin-bottom: 4rem; }
  #content [id^="top-sec02"] h2::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: calc(40.5% - 2px);
    right: 50%;
    width: 50vw;
    height: 0;
    border-top: 2px solid #006837; }
#content [id^="top-sec02"] .kv {
  display: flex;
  align-items: center;
  flex-direction: column;
  height: 60rem;
  text-align: center;
  color: #fff;
  margin-top: 6rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: url("../img/bg05-01.jpg") center/cover no-repeat; }
  #content [id^="top-sec02"] .kv:first-of-type {
    margin-top: 0; }
  #content [id^="top-sec02"] .kv p {
    max-width: 700px;
    font-size: 2.6rem;
    font-weight: bold;
    margin-top: auto; }
#content [id^="top-sec02"] h4 {
  margin-bottom: 2rem; }
  #content [id^="top-sec02"] h4 span {
    display: inline-block;
    font-size: 2.5rem;
    color: #fff;
    padding: .2em 1em;
    background: #231815; }
#content [id^="top-sec02"] .lesson {
  display: flex;
  flex-wrap: wrap;
  max-width: 900px;
  font-size: 2.6rem;
  font-weight: bold; }
  #content [id^="top-sec02"] .lesson dt,
  #content [id^="top-sec02"] .lesson dd {
    margin-top: 1.5rem; }
    #content [id^="top-sec02"] .lesson dt:first-of-type,
    #content [id^="top-sec02"] .lesson dd:first-of-type {
      margin-top: 0; }
  #content [id^="top-sec02"] .lesson dt {
    width: 40%; }
  #content [id^="top-sec02"] .lesson dd {
    width: 60%;
    padding-left: 2rem; }
    #content [id^="top-sec02"] .lesson dd strong {
      font-size: 3.7rem; }
#content [id^="top-sec02"] .gallery {
  margin-top: 4rem;
  margin-bottom: 3rem;
  padding: 0; }
  #content [id^="top-sec02"] .gallery > * {
    max-width: none; }
  #content [id^="top-sec02"] .gallery .slick-slide {
    margin: 0 1rem; }
    #content [id^="top-sec02"] .gallery .slick-slide img {
      width: 100%;
      box-shadow: -5px 5px 5px rgba(0, 0, 0, 0.25); }

#top-sec02-02 h2::after {
  border-color: #8CC63F !important; }
#top-sec02-02 .kv {
  background-image: url("../img/bg05-02.jpg") !important; }
#top-sec02-02 .kv.no02 {
  background-image: url("../img/bg05-03.jpg") !important; }
#top-sec02-02 .lesson {
  max-width: 1000px !important; }

#top-sec02-03 {
  background: url("../img/bg06-01.png") calc(50% - 700px) 90rem no-repeat; }
  #top-sec02-03 h2::after {
    border-color: #0071BC !important; }
  #top-sec02-03 .kv {
    background-image: url("../img/bg05-04.jpg") !important; }
  #top-sec02-03 ul {
    max-width: 1000px; }
    #top-sec02-03 ul li {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 4rem; }
      #top-sec02-03 ul li.reverse {
        flex-direction: row-reverse; }
      #top-sec02-03 ul li.bg {
        position: relative;
        min-height: 100rem; }
        #top-sec02-03 ul li.bg::after {
          content: "";
          position: absolute;
          z-index: -1;
          bottom: 0;
          left: -15rem;
          width: 188.3rem;
          height: 116.1rem;
          background: url("../img/bg06-02.png") center/100% no-repeat; }
      #top-sec02-03 ul li > figure {
        width: calc(551 / 940 * 100%); }
      #top-sec02-03 ul li > div {
        width: calc(360 / 940 * 100%); }
        #top-sec02-03 ul li > div p:first-child {
          margin-bottom: 2rem; }
  #top-sec02-03 .schedule {
    display: block;
    margin: 20px auto 10px;
    text-align: center; }
    #top-sec02-03 .schedule + p {
      margin-bottom: 3em;
      font-size: 1.4rem;
      text-align: center; }

#top-sec03 {
  background: url("../img/bg07.png") center top/cover no-repeat; }
  #top-sec03 > * {
    max-width: 920px;
    margin-top: 2rem; }
    #top-sec03 > *:first-child {
      margin-top: 0; }
  #top-sec03 h3 {
    font-size: 4.4rem;
    letter-spacing: .05em;
    margin-top: 4rem; }
    #top-sec03 h3:first-child {
      margin-top: 0; }
    #top-sec03 h3.white {
      color: #fff; }
  #top-sec03 div.no01 {
    display: flex;
    justify-content: space-between;
    margin-top: 4rem; }
    #top-sec03 div.no01 > *:first-child {
      width: calc(435 / 920 * 100%); }
    #top-sec03 div.no01 > *:last-child {
      width: calc(465 / 920 * 100%); }
  #top-sec03 .ttl {
    display: flex;
    align-items: flex-end;
    color: #fff;
    margin-top: 10rem; }
    #top-sec03 .ttl h3 {
      white-space: nowrap; }
    #top-sec03 .ttl p {
      margin: 0 0 0 1em !important; }
  #top-sec03 ul li {
    margin-top: 2rem; }
  #top-sec03 ul.no02 {
    display: flex;
    flex-wrap: wrap;
    max-width: 940px; }
    #top-sec03 ul.no02 li {
      width: 32.97%;
      margin: 2rem 0 0; }
  #top-sec03 p:last-of-type {
    margin-top: 2rem; }
  #top-sec03 .cv {
    text-align: center;
    margin-top: 5rem; }
  #top-sec03 ul.kome li {
    list-style: disc inside;
    margin-top: 1rem;
    font-size: 1.8rem; }
    #top-sec03 ul.kome li:before {
      display: none; }

#top-sec04 h2 {
  background: none;
  padding: 0;
  margin-bottom: 2rem;
  color: #333a46; }
#top-sec04 h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .5em;
  background: #333a46;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 3.4rem; }
  #top-sec04 h3:before {
    content: "";
    display: block;
    background: url("../img/top-sec04-icon02.svg") no-repeat center/contain;
    width: 64px;
    height: 59px;
    margin-right: 10px; }
  #top-sec04 h3.no02:before {
    background-image: url("../img/top-sec04-icon.svg"); }
#top-sec04 .kv {
  display: flex;
  align-items: center;
  flex-direction: column;
  height: 60rem;
  text-align: center;
  color: #fff;
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: url("../img/top-sec04-bg.jpg") center/cover no-repeat; }
  #top-sec04 .kv p {
    max-width: 860px;
    font-size: 2.6rem;
    font-weight: bold;
    margin-top: auto; }
#top-sec04 h3.no02 ~ .kv {
  background-image: url("../img/top-sec04-bg02.jpg"); }
#top-sec04 > figure {
  padding: 5rem 1rem;
  display: block;
  background: linear-gradient(90deg, rgba(0, 54, 100, 0.3967962185) 0%, rgba(0, 0, 0, 0.3967962185) 100%); }
#top-sec04 .trainer {
  color: #fff;
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #333A46; }
  #top-sec04 .trainer h4 {
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 1.5em;
    background: url("../img/border01.svg") center bottom/100% no-repeat; }
    #top-sec04 .trainer h4 ~ * {
      max-width: 940px; }
  #top-sec04 .trainer ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #top-sec04 .trainer ul li {
      width: calc(440 / 940 * 100%);
      margin-top: 6rem; }
      #top-sec04 .trainer ul li .ttl {
        font-size: 3rem;
        font-weight: bold;
        margin: .5em 0; }
  #top-sec04 .trainer .box {
    font-size: 2.4rem;
    text-align: center;
    margin-top: 6rem;
    padding: 1em;
    border: 1px dashed; }

#top-access {
  padding-bottom: 13rem;
  line-height: 1.4; }
  #top-access h2 {
    display: none; }
    #top #top-access h2 {
      display: block; }
  #top-access > * {
    margin-top: 3rem; }
    #top-access > *:first-child {
      margin-top: 0; }
  #top-access .logo {
    text-align: center;
    margin-top: 0;
    margin-bottom: 6rem; }
  #top-access .name {
    font-size: 5rem;
    font-weight: bold;
    text-align: center; }
    #top-access .name small {
      display: block;
      font-size: 2.4rem; }
  #top-access .add {
    font-size: 2.4rem; }
  #top-access .parking {
    font-size: 3rem;
    font-weight: bold; }
  #top-access dl {
    display: flex;
    flex-wrap: wrap; }
    #top-access dl dt,
    #top-access dl dd {
      margin-top: 1em; }
      #top-access dl dt:first-of-type,
      #top-access dl dd:first-of-type {
        margin-top: 0; }
    #top-access dl dt {
      width: 11em; }
    #top-access dl dd {
      width: calc(100% - 11em); }
  #top-access .open {
    display: flex;
    font-size: 2.5rem;
    border: solid #333A46;
    border-width: 0 1px 1px 0; }
    #top-access .open li {
      display: flex;
      justify-content: center;
      flex-direction: column;
      padding: 2rem 5%;
      border: solid #333A46;
      border-width: 1px 0 0 1px; }
      #top-access .open li.no01 {
        text-align: center; }
      #top-access .open li.no02 {
        flex: 1; }

/* contact thanks
============================== */
#contact-sec01,
#thanks-sec01 {
  background: #E6E6E6; }
  #contact-sec01 > *,
  #thanks-sec01 > * {
    max-width: 1060px;
    padding: 3rem 3rem 6rem;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }

#thanks-sec01 {
  font-size: 1.8rem;
  text-align: center; }
  #thanks-sec01 > * {
    padding-top: 8rem;
    padding-bottom: 8rem; }
  #thanks-sec01 h2 {
    font-size: 3rem;
    margin-bottom: 1em; }
  #thanks-sec01 a {
    display: block;
    width: 335px;
    max-width: 100%;
    text-decoration: none;
    color: #fff;
    margin: 8rem auto 0;
    padding: 1em;
    background: #2EAFBF; }

/* law
============================== */
#law-sec01 {
  font-size: 1.8rem; }
  #law-sec01 dt {
    float: left;
    color: #164097;
    font-weight: bold; }
  #law-sec01 dd {
    padding-left: 15em;
    padding-bottom: 2em;
    margin-bottom: 2em;
    border-bottom: 1px solid #e3e3e3; }

/*# sourceMappingURL=shared.css.map */
