@charset "UTF-8";
/* Media Query
───────────────────────────────── */
/* Link
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Grid
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Font
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Pseudo
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-arrow
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-circle-arrow
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-triangle
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* contents
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* PC item & SP item
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* 電話番号リンク */
/* 画像を幅100%にする */
/* object fit image */
/* object fit image */
/* sticky */
/* clearfix */
/* hover
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* full */
/* icon-set
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* layout
============================================================= */
/* z-index
───────────────────────────────── */
/* VW
───────────────────────────────── */
/* 数値から単位を除外
───────────────────────────────── */
/* `px` から `rem` に変換
───────────────────────────────── */
/* `px` から `em` に変換
───────────────────────────────── */
/* Size
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Color
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Font
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Duration
  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Easing
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* keyframes
========================================================================== */
@keyframes infinity-loop {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }

@keyframes infinity-ripple {
  0% {
    opacity: 0;
    transform: scale(1.2); }
  70% {
    opacity: 1; }
  100% {
    transform: scale(1.5);
    opacity: 0; } }

@keyframes infinity-zoom {
  0% {
    transform: scale(0.9); }
  50% {
    transform: scale(1); }
  100% {
    transform: scale(0.9); } }

@keyframes infinity-zoom2 {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

@keyframes fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.mv_area {
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .mv_area {
      margin-left: auto;
      margin-right: auto; } }
  @media screen and (max-width: 767px) {
    .mv_area {
      margin-top: 6.4vw; } }
@media screen and (max-width: 767px) {
  .titleBlock__txt {
    text-align: left; } }

.table__time {
  width: 100%; }
  @media screen and (max-width: 767px) {
    .table__time:not(.-spScroll) {
      margin-top: -2.67vw !important; } }
  @media screen and (max-width: 767px) {
    .table__time:not(.-spScroll) thead {
      display: none; } }
  @media screen and (max-width: 767px) {
    .table__time:not(.-spScroll) th,
    .table__time:not(.-spScroll) td {
      display: block; } }
  @media screen and (max-width: 767px) {
    .table__time.-spScroll tr {
      display: table-row; } }
  @media screen and (max-width: 767px) {
    .table__time.-spScroll th {
      display: table-cell !important; } }
  @media screen and (max-width: 767px) {
    .table__time.-spScroll td {
      display: table-cell !important; } }
  @media screen and (max-width: 767px) {
    .table__time.-spScroll .u-spItem {
      display: none !important; } }
  .table__time thead th {
    background: #F8F8F8; }
  .table__time th,
  .table__time td {
    text-align: left;
    letter-spacing: 0.05em;
    vertical-align: middle; }
    @media screen and (min-width: 768px), print {
      .table__time th,
      .table__time td {
        border: 1px solid #ccc;
        font-size: 0.16rem; } }
    @media screen and (max-width: 767px) {
      .table__time th,
      .table__time td {
        border-bottom: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-left: 1px solid #ccc;
        font-size: 3.73vw; } }
  .table__time th {
    background: #e0edfa;
    text-align: center;
    font-weight: bold;
    line-height: 1.45; }
    @media screen and (min-width: 768px), print {
      .table__time th {
        padding: 0.12rem; } }
    @media screen and (max-width: 767px) {
      .table__time th {
        border-top: 1px solid #ccc;
        margin-top: 8vw;
        padding: 3.2vw; } }
  @media screen and (min-width: 768px), print {
    .table__time td {
      padding: 0.12rem; } }
  @media screen and (max-width: 767px) {
    .table__time td {
      padding: 3.2vw; } }
  .table__time td:last-child {
    text-align: center; }

@media screen and (min-width: 768px), print {
  .listDot .listDot__item {
    margin-top: 0; } }

@media screen and (min-width: 768px), print {
  .training__boxBtn {
    margin-top: 1rem; } }

@media screen and (max-width: 767px) {
  .training__boxBtn {
    margin-top: 10.67vw; } }

@media screen and (min-width: 768px), print {
  .training__boxBtn .button {
    margin: 0 auto;
    padding: 0.24rem; } }

@media screen and (min-width: 768px), print {
  .listAtt__item {
    padding-right: 0; } }
