@charset "UTF-8";
/* CSS Document */
/*=====================================================================================================
全体
=====================================================================================================*/
html, body, h1, h2, h3, h4, h5, h6, div, p, ul, ol, li, a, b, i, em, span, strong, dl, dt, dd, figure, table, th, td, tbody {
  padding: 0;
  margin: 0;
  font-size: 100%;
  box-sizing: border-box;
  outline: none; }

ul, li {
  list-style: none; }

em, i {
  font-style: normal; }

img {
  outline: none;
  max-width: 100%;
  height: auto; }

.GLE {
  font-family: "Hiragino Kaku Gothic W6 JIS2004","Hiragino Kaku Gothic ProN W6","ヒラギノ角ゴ ProN W6","Hiragino Kaku Gothic Pro W6","ヒラギノ角ゴ Pro W6","ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 500;
  font-size: 17px;
  line-height: 1.45;
  color: #4D4C4C; }

.GLE a {
  text-decoration: none;
  transition-duration: 0.3s; }

.GLE a:hover {
  opacity: 0.8; }

.font-A1 {
  font-family: "A1 Gothic B"; }

.font-A1-M {
  font-family: "A1 Gothic M"; }

.font-A1-R {
  font-family: "A1 Gothic R"; }

.font-5 {
  font-family: "Hiragino Kaku Gothic W5 JIS2004"; }

.font-7 {
  font-family: "Hiragino Kaku Gothic W7 JIS2004"; }

.font-8 {
  font-family: "Hiragino Kaku Gothic W8 JIS2004"; }

.font-9 {
  font-family: "Hiragino Kaku Gothic W9 JIS2004"; }

.font_normal {
  font-family: "Hiragino Kaku Gothic ProN W6","ヒラギノ角ゴ ProN W6","Hiragino Kaku Gothic Pro W6","ヒラギノ角ゴ Pro W6","ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }

.txtC {
  text-align: center; }

.txtR {
  text-align: right; }

.red {
  color: #CF2C24; }

.fs08 {
  font-weight: normal;
  font-size: 0.8em !important; }

.fs07 {
  font-weight: normal;
  font-size: 10px; }

.w1000 {
  width: 1000px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }

.w870 {
  width: 870px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w96 {
  width: 960px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w92 {
  width: 920px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w90 {
  width: 900px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w82 {
  width: 820px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w76 {
  width: 760px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w710 {
  width: 710px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w64 {
  width: 640px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w62 {
  width: 620px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w60 {
  width: 600px;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto; }

.w55 {
  width: 550px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }

.pc {
  display: block; }

.sp {
  display: none; }

@media (max-width: 680px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
.outView {
  opacity: 0;
  transition-duration: 0.85s;
  transition-delay: 0.35s; }

.inView {
  opacity: 1; }

/*========
#head
==========*/
.gle-header-btm {
  padding: 16px 0 16px 0;
  position: relative; }
  .gle-header-btm .w96 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative; }
  .gle-header-btm h1 {
    flex: 0 0 294px;
    line-height: 0; }

.gle-header-menus {
  flex: 1 0 30px;
  z-index: 99; }
  .gle-header-menus p {
    display: flex;
    justify-content: flex-end;
    cursor: pointer; }

.gle-header-menu-container {
  display: none;
  z-index: 99; }
  .gle-header-menu-container.active {
    display: block; }
  .gle-header-menu-container ul {
    position: absolute;
    right: -16px;
    top: 48px;
    z-index: 20000;
    display: none;
    background: #2FA137;
    border-radius: 12px;
    box-shadow: 0 2px 4px #444;
    padding: 8px 24px 8px;
    border: 2px solid #fff; }
  .gle-header-menu-container li {
    text-align: left;
    color: #fff;
    border-bottom: 2px dashed #fff; }
  .gle-header-menu-container li:last-child {
    border-bottom: 0; }
  .gle-header-menu-container li em,
  .gle-header-menu-container li a {
    color: #fff;
    white-space: nowrap;
    display: block;
    padding: 8px; }
  .gle-header-menu-container li ol {
    border-top: 2px dashed #fff; }
  .gle-header-menu-container li li {
    padding-left: 1em; }

.gle-header-fix .gle-header-menus {
  position: fixed;
  top: 12px;
  right: calc((100% - 960px)/2); }

.gle-header-fix .gle-header-menu-container {
  position: fixed;
  width: 100%;
  top: 0;
  right: calc((100% - 960px)/2); }

/*--main--*/
.gle-main {
  background: url("../images/bg-main.png");
  background-size: 45px;
  padding: 40px 0 0; }
  .gle-main .w870 {
    position: relative; }
  .gle-main h1 {
    text-align: center;
    color: #fff;
    font-size: 42px; }
    .gle-main h1 b {
      font-size: 1.4em;
      display: block;
      line-height: 1em; }
    .gle-main h1 span {
      font-size: 0.9em;
      display: block; }

.main-photo {
  position: relative; }
  .main-photo figure {
    line-height: 0; }
  .main-photo li {
    position: absolute;
    top: 80px;
    text-align: center;
    padding: 0 8px 8px;
    min-width: 188px; }
    .main-photo li::after {
      display: block;
      position: absolute;
      content: "";
      background: url("../images/path-teach.png") no-repeat 0 0;
      background-size: cover;
      width: 48px;
      height: 53px;
      right: 24px; }
    .main-photo li b {
      display: block;
      color: #159A4B;
      border-bottom: 1px dotted #159A4B;
      line-height: 1.2;
      padding: 8px; }
    .main-photo li span {
      font-size: 0.8em; }
    .main-photo li em {
      display: block; }
    .main-photo li strong {
      display: block;
      font-size: 0.75em;
      padding: 8px 0 0; }
  .main-photo li.main-teaching {
    left: 0;
    background: #FFEF24; }
  .main-photo li.main-coaching {
    right: 0;
    background: #FFE0D6; }
    .main-photo li.main-coaching::after {
      background-image: url("../images/path-coach.png");
      left: 24px;
      right: auto; }

.content-main h2 {
  color: #FFEF24;
  font-size: 2em;
  border-bottom: 1px solid #FFEF24;
  display: inline-block;
  margin: 0 0; }
.content-main h3 {
  padding: 24px 0 40px;
  color: #fff;
  line-height: 1.5;
  text-align: justify; }
  .content-main h3 strong {
    color: #FFEF24; }

/*--about--*/
.gle-about {
  background: #E6F3F9; }

.about-main {
  position: relative;
  padding-top: 108px; }
  .about-main .about-main-txt {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    background: url("../images/bg-about.png") no-repeat center top;
    background-size: 1000px;
    padding: 40px 64px; }

.about-wrap {
  padding: 40px 40px 80px; }

.about-lead {
  text-align: center;
  padding: 0 0 16px;
  font-size: 1.1em; }
  .about-lead figure {
    padding: 0 0 24px; }
  .about-lead h4 {
    color: #159A4B;
    padding-bottom: 16px; }
  .about-lead h5 {
    color: #159A4B;
    line-height: 1.8;
    padding-bottom: 24px; }
  .about-lead strong {
    font-size: 1.3em;
    color: #DC000C; }

.about-kakomi {
  display: flex;
  justify-content: center;
  width: 555px;
  margin: 0 auto;
  max-width: 100%;
  border: 3px solid #159A4B;
  border-radius: 16px;
  overflow: hidden; }
  .about-kakomi .kakomi-1 {
    flex: 0 0 50%;
    border-right: 1px dashed #159A4B;
    background: #FFEF24; }
  .about-kakomi .kakomi-2 {
    flex: 0 0 50%;
    background: #FFE0D6; }
  .about-kakomi h6 {
    padding: 8px;
    background: #fff;
    color: #159A4B;
    text-align: center; }
  .about-kakomi p {
    padding: 24px;
    text-align: center; }
    .about-kakomi p em {
      padding: 8px 0 0;
      font-size: 0.7em;
      display: block; }

.about-points {
  text-align: center;
  padding: 40px 0 0; }
  .about-points h3 {
    padding: 0 0 8px; }
  .about-points ul {
    display: flex;
    justify-content: space-between; }
  .about-points li {
    flex: 0 0 19%;
    border-radius: 12px;
    background: #fff; }
  .about-points li b {
    display: block;
    padding: 8px;
    background-image: linear-gradient(#98CC65 0%, #3AA35A 60%);
    color: #FFEF24;
    font-size: 0.75em;
    border-radius: 12px 12px 0 0; }
  .about-points li span {
    display: flex;
    justify-content: flex-start;
    text-align: left;
    align-items: center;
    min-height: 6em;
    padding: 8px 12px;
    font-size: 0.68em;
    font-family: "A1 Gothic R"; }

.gle-lesson {
  background: #FFFBE3; }

.lesson-main {
  position: relative;
  padding-bottom: 124px; }
  .lesson-main .lesson-main-txt {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    background: url("../images/bg-lesson.png") no-repeat center top;
    background-size: cover;
    padding: 80px 40px 40px;
    padding-left: 48%; }
    .lesson-main .lesson-main-txt h3 {
      white-space: nowrap; }

.lesson-wrap {
  padding: 40px 0 40px; }

.lesson-lead {
  color: #159A4B;
  text-align: center;
  padding: 0 0 40px; }
  .lesson-lead h4 {
    font-size: 1.3em;
    padding: 0 0 16px; }
    .lesson-lead h4 strong {
      color: #DC000C; }
  .lesson-lead h5 {
    font-size: 1.9em; }
    .lesson-lead h5 strong {
      color: #DC000C; }

.lesson-box {
  background: #fff;
  border-radius: 16px;
  padding: 112px 24px 0;
  margin-bottom: 64px;
  position: relative; }
  .lesson-box h3 {
    background: url("../images/bg-yellowline.png") no-repeat center bottom;
    background-size: cover;
    color: #159A4B;
    text-align: center;
    line-height: 1.1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 18px 8px 40px;
    position: absolute;
    top: -1em;
    left: -8px;
    width: calc(100% + 16px);
    z-index: 2;
    font-size: 0.9em; }
    .lesson-box h3::after {
      content: "";
      display: none;
      margin: 8px auto;
      position: absolute;
      left: 50%;
      bottom: -22px;
      width: 14px;
      height: 12px;
      background: #FFEF24;
      transform: rotate(45deg);
      z-index: 4;
      box-shadow: 0 3px 8px #aaa; }
    .lesson-box h3 strong {
      font-size: 1.5em;
      display: inline-block;
      padding: 4px 4px;
      vertical-align: middle; }
  .lesson-box ul {
    justify-content: center;
    display: flex; }
  .lesson-box li {
    padding: 0 24px 40px 24px;
    flex: 0 0 42%; }
  .lesson-box h4 {
    font-size: 0.8em;
    color: #159A4B;
    display: flex;
    align-items: center; }
    .lesson-box h4::before {
      content: "";
      display: inline-block;
      vertical-align: middle;
      width: 36px;
      height: 22px;
      background: url("../images/i-check.png") no-repeat;
      background-size: contain; }
  .lesson-box p {
    font-size: 0.7em;
    padding: 16px 0; }
  .lesson-box figure img {
    width: 100%; }

.lesson-box2 p {
  text-align: center;
  padding: 0 0 40px;
  font-size: 0.8em; }
  .lesson-box2 p img {
    margin-bottom: 24px; }

.lesson-8 {
  text-align: center;
  padding-bottom: 24px; }
  .lesson-8 h4 {
    background: #fff;
    color: #159A4B;
    border-top: 2px solid #159A4B;
    border-bottom: 2px solid #159A4B;
    padding: 8px;
    margin-bottom: 24px; }
    .lesson-8 h4 em {
      font-size: 1.2em; }
  .lesson-8 p {
    color: #159A4B;
    line-height: 1.8;
    font-size: 0.9em;
    margin-bottom: 16px; }

.lesson-flow {
  background: #fff;
  border-radius: 16px;
  padding: 64px 40px 40px;
  margin-bottom: 64px; }
  .lesson-flow h3 {
    text-align: center;
    color: #159A4B;
    font-size: 1.4em;
    padding-bottom: 16px; }
  .lesson-flow abbr {
    display: block;
    text-align: left;
    padding-left: 25%; }
  .lesson-flow dl {
    width: 620px;
    max-width: 92%;
    margin: 0 auto;
    padding: 8px 0 24px 0;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .lesson-flow dt {
    flex: 0 0 50%;
    padding: 0 24px 0 0; }
  .lesson-flow dd {
    flex: 0 0 50%;
    padding: 0 0 0  24px; }
    .lesson-flow dd h4 {
      color: #159A4B;
      margin-bottom: 0px;
      padding: 0 0 4px;
      border-bottom: 2px solid #159A4B;
      display: flex;
      align-items: center;
      margin-bottom: 12px; }
    .lesson-flow dd h4 img {
      height: 20px;
      width: auto; }
    .lesson-flow dd h4 b {
      flex: 1 1 auto;
      padding-left: 8px;
      font-weight: 700;
      letter-spacing: -0.05em; }
    .lesson-flow dd span {
      font-size: 0.7em;
      display: flex;
      justify-content: space-between; }
    .lesson-flow dd span i {
      flex: 0 0 48%;
      display: inline-block;
      padding: 6px 8px;
      border-radius: 16px;
      text-align: center;
      color: #159A4B; }
    .lesson-flow dd i.i-teaching {
      background: #FFEF24; }
    .lesson-flow dd i.i-coaching {
      background: #FFE0D6; }
    .lesson-flow dd em {
      display: block;
      padding: 16px 0;
      font-size: 0.7em;
      line-height: 1.7; }

.lesson-points h3 {
  text-align: center;
  padding-bottom: 24px; }
.lesson-points h4 {
  font-size: 0.85em;
  color: #DC000C;
  text-align: center;
  padding-bottom: 24px;
  line-height: 1.7; }
.lesson-points ol {
  padding-bottom: 24px; }
  .lesson-points ol li {
    background-image: linear-gradient(#98CC65 0%, #3AA35A 60%);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 32px;
    text-align: center;
    width: 320px;
    max-width: 100%;
    padding: 12px 12px 10px;
    white-space: nowrap;
    margin: 0 auto 32px;
    letter-spacing: -0.05em; }
    .lesson-points ol li:last-of-type {
      border-radius: 28px;
      padding: 12px 8px 10px 12px; }
      .lesson-points ol li:last-of-type::after {
        display: none; }
    .lesson-points ol li::after {
      display: block;
      content: "";
      background: url("../images/arw-down2.png");
      background-size: contain;
      position: absolute;
      width: 30px;
      height: 42px;
      bottom: -32px;
      left: calc(50% - 15px); }
.lesson-points ul li {
  margin-bottom: 24px;
  font-size: 0.85em;
  color: #111; }

.gle-teacher {
  background: #E6F3F9; }

.teacher-main {
  position: relative;
  padding-bottom: 124px; }
  .teacher-main .teacher-main-txt {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    background: url("../images/bg-teacher.png") no-repeat center top;
    background-size: cover;
    padding: 80px 40px 40px; }
    .teacher-main .teacher-main-txt h3 {
      white-space: nowrap; }

.teacher-wrap {
  padding: 40px 0 40px;
  text-align: center; }
  .teacher-wrap h2 {
    background: #fff;
    border-top: 3px solid #159A4B;
    border-bottom: 3px solid #159A4B;
    padding: 0 16px;
    height: 58px;
    margin-bottom: 24px;
    color: #159A4B;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 58px; }
    .teacher-wrap h2 strong {
      font-size: 1.5em; }
  .teacher-wrap ul {
    display: flex;
    justify-content: space-between;
    padding-bottom: 40px; }
  .teacher-wrap li {
    flex: 0 0 32%;
    border-radius: 12px;
    background: #fff; }
    .teacher-wrap li b {
      display: block;
      padding: 8px 2px;
      background: #FFEF24;
      color: #159A4B;
      font-size: 0.75em;
      border-radius: 12px 12px 0 0;
      letter-spacing: -0.05em; }
    .teacher-wrap li span {
      display: flex;
      justify-content: flex-start;
      text-align: left;
      align-items: center;
      min-height: 6em;
      padding: 8px 12px;
      font-size: 0.68em;
      font-family: "A1 Gothic M"; }

.gle-price {
  background: #FFFBE3;
  padding-bottom: 40px; }

.price-main {
  position: relative;
  padding-bottom: 280px; }
  .price-main .price-main-txt {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    background: url("../images/bg-price.png") no-repeat center top;
    background-size: cover;
    padding: 64px 40px;
    padding-left: 48%; }
    .price-main .price-main-txt h2 {
      font-size: 1.4em; }
    .price-main .price-main-txt h3 {
      white-space: nowrap; }

.price-wrap {
  padding: 0 0 40px;
  position: relative; }
  .price-wrap h5 {
    text-align: center;
    color: #159A4B;
    font-size: 1.4em;
    padding-bottom: 24px; }
    .price-wrap h5 strong {
      color: #DC000C; }
  .price-wrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .price-wrap ul::after {
      content: "";
      width: 44%; }
  .price-wrap li {
    flex: 0 0 48%;
    margin: 0 0 3%;
    padding: 12px 0;
    border-radius: 12px;
    border: 3px solid #159A4B;
    display: flex; }
  .price-wrap li em {
    flex: 0 0 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #159A4B;
    font-size: 24px;
    border-right: 2px solid #159A4B; }
  .price-wrap li span {
    flex: 0 1 auto;
    padding: 16px;
    text-align: justify;
    font-size: 0.8em; }
  .price-wrap .price-man {
    position: relative;
    top: -40px; }
  .price-wrap .price-earch {
    position: relative;
    text-align: right;
    right: 0;
    top: -124px;
    margin-bottom: -124px; }
  .price-wrap table {
    border-collapse: separate;
    border-spacing: 0;
    text-align: center;
    overflow: hidden;
    border-radius: 12px 12px;
    border: 1px solid #159A4B; }
  .price-wrap th {
    padding: 16px 4px;
    background: #E7F5EC;
    font-size: 0.7em;
    white-space: nowrap;
    border: 1px solid #159A4B; }
  .price-wrap tr:last-child th {
    border-radius: 0 0 0 10px; }
  .price-wrap tr:last-child td:last-child {
    border-radius: 0 0 10px 0; }
  .price-wrap th.tabletitle {
    border: 2px solid #159A4B;
    background: #159A4B;
    color: #FFEF24;
    padding: 12px;
    font-size: 1em; }
  .price-wrap th.blank {
    background: #fff; }
  .price-wrap th.gle {
    background: rgba(255, 239, 36, 0.5);
    width: 45%;
    font-size: 1em; }
  .price-wrap th.nogle {
    width: 43%;
    background: #fff; }
  .price-wrap td {
    padding: 8px 8px 12px 8px;
    background: #fff;
    border: 1px solid #159A4B;
    font-size: 0.7em; }
  .price-wrap td.gle {
    min-height: 4em; }
    .price-wrap td.gle b {
      font-size: 3em;
      color: #159A4B;
      display: block;
      font-weight: 700;
      font-family: "Hiragino Kaku Gothic W6 JIS2004"; }
    .price-wrap td.gle em {
      display: block;
      font-size: 1.2em;
      padding: 3px; }
    .price-wrap td.gle strong {
      color: #DC000C;
      display: block; }
    .price-wrap td.gle span {
      font-size: 10px;
      font-family: "Hiragino Kaku Gothic W3 JIS2004"; }
  .price-wrap td.nogle i {
    font-size: 2.2em;
    color: #159A4B;
    display: block;
    font-weight: 700;
    font-family: "Hiragino Kaku Gothic W6 JIS2004"; }
  .price-wrap td.nogle em {
    display: block;
    padding: 4px; }
  .price-wrap td.nogle span {
    font-size: 10px;
    font-family: "Hiragino Kaku Gothic W3 JIS2004"; }

.gle-voice {
  background: #E6F3F9;
  padding: 0 0 124px;
  position: relative; }
  .gle-voice::after {
    content: "";
    display: block;
    margin: 8px auto;
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 80px 0 0 1000px;
    border-color: transparent  transparent  transparent #fff; }

.voice-main {
  position: relative;
  padding-bottom: 124px; }
  .voice-main .voice-main-txt {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    background: url("../images/bg-voice.png") no-repeat center top;
    background-size: cover;
    padding: 80px 40px 40px; }
    .voice-main .voice-main-txt h3 {
      white-space: nowrap; }

.voice-wrap {
  background: #fff;
  border-radius: 12px;
  padding: 40px 40px 0; }
  .voice-wrap h2 {
    text-align: center;
    color: #159A4B;
    padding-bottom: 8px; }
  .voice-wrap h3 {
    text-align: center;
    color: #159A4B;
    font-size: 1.7em; }

.voice-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 24px; }
  .voice-list p {
    flex: 0 0 50%;
    display: flex;
    font-size: 0.7em;
    padding: 24px 24px; }
    .voice-list p strong {
      flex: 0 0 55px;
      text-align: center; }
    .voice-list p span {
      display: block;
      font-family: "Hiragino Kaku Gothic W3 JIS2004";
      font-weight: 400;
      padding: 4px 0 0;
      white-space: nowrap; }
    .voice-list p em {
      padding: 0 16px;
      text-align: justify; }

.gle-youknow {
  background: #fff;
  text-align: center; }

.youknow {
  padding: 0 40px 40px; }
  .youknow h2 {
    color: #DC000C;
    font-size: 2.1em;
    line-height: 1.1;
    background: url("../images/bg-youknow-h2.png") no-repeat center;
    background-size: contain;
    padding: 4px 40px 0;
    display: inline-block; }
  .youknow h3 {
    color: #159A4B;
    font-size: 1.6em;
    padding: 8px 0 24px; }
  .youknow p {
    padding-bottom: 24px;
    font-size: 0.95em;
    line-height: 1.7; }
  .youknow h4 {
    font-weight: 600;
    font-size: 1.2em;
    background: linear-gradient(transparent 60%, #FFEF24 60%);
    display: inline-block;
    margin-bottom: 8px; }
  .youknow figure {
    padding-bottom: 24px; }

.gle-location {
  background: #E6F3F9;
  padding: 0 0 80px; }
  .gle-location h2 {
    background-image: linear-gradient(#98CC65 0%, #3AA35A 60%);
    color: #fff;
    text-align: center;
    padding: 8px 8px 6px;
    font-size: 1.4em;
    letter-spacing: 0.1em; }
  .gle-location h3 {
    text-align: center;
    font-size: 0.9em;
    padding: 40px 24px; }
  .gle-location h4 {
    font-size: 1.1em;
    color: #159A4B;
    padding: 20px 0 10px;
    text-align: center;
  }

.location-lists {
  border-radius: 12px;
  background: #fff;
  padding: 16px 40px 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .location-lists::after {
    content: "";
    display: block;
    width: 48%; }
  .location-lists p {
    flex: 0 0 47%;
    padding: 24px 8px;
    border-bottom: 1px solid #159A4B; }
  .location-lists p a {
    color: #333;
    display: block;
    background: url("../images/arw-righr.png") no-repeat right center;
    background-size: 20px;
    padding-right: 40px; }
  .location-lists p b {
    display: block; }
  .location-lists p abbr {
    display: block;
    font-size: 0.8em;
    font-weight: 400; }

/*==========================
#foot
=========================*/
.gle-foot {
  font-size: 20px;
  text-align: center;
  padding-bottom: 40px; }

.gle-foot h2 {
  border-top: 2px solid #00a85f;
  border-bottom: 2px solid #00a85f;
  color: #00a85f;
  font-size: 0.7em;
  margin-bottom: 24px;
  padding: 24px 16px; }

.gle-foot h2 a {
  display: block;
  padding: 16px 0 0;
  color: #00a85f; }

.gle-foot h3 {
  margin-bottom: 16px; }

.gle-foot h4 {
  font-size: 12px;
  padding-bottom: 16px;
  font-weight: 400;
  color: #555;
  font-family: "Hiragino Kaku Gothic W3 JIS2004"; }

.gle-foot p {
  font-size: 10px;
  font-weight: 400;
  color: #555;
  font-family: "Hiragino Kaku Gothic W3 JIS2004"; }

/*=========
Responsive
======*/
@media (max-width: 1000px) {
  .GLE {
    overflow: hidden; }

  .gle-header-fix .gle-header-menus {
    right: 4%;
    top: 26px; }

  .gle-header-fix .gle-header-menu-container {
    right: 24px; }

  .about-wrap {
    padding: 40px 16px 80px; }

  .price-main .price-main-txt {
    padding-left: 50%;
    white-space: nowrap; }

  .gle-voice::after {
    border-left-width: 100vw; } }
@media (max-width: 900px) {
  .lesson-main .lesson-main-txt,
  .price-main .price-main-txt {
    padding-left: 40%;
    white-space: nowrap; } }
@media (max-width: 768px) {
  .GLE {
    font-size: 16px; }

  .main-photo li {
    top: 0px; }

  .about-points ul {
    flex-wrap: wrap;
    justify-content: center; }
    .about-points ul li {
      flex: 0 0 32%;
      margin: 4px; }

  .lesson-main .lesson-main-txt,
  .price-main .price-main-txt {
    padding-left: 36%;
    white-space: nowrap; }

  .lesson-box li {
    flex: 0 0 50%; }

  .lesson-flow {
    padding: 40px 24px; }
    .lesson-flow abbr {
      padding-left: 20%; }

  .voice-wrap {
    padding: 40px 24px 0; }

  .voice-list {
    padding: 8px; }

  .youknow {
    padding: 0 16px 40px; }
    .youknow p:last-of-type {
      padding-top: 16px; } }
@media (max-width: 640px) {
  .gle-main .w870 {
    max-width: 100%; }

  .gle-main h1 {
    font-size: 6vw; }

  .main-photo ul {
    display: flex; }
  .main-photo li {
    position: relative;
    min-width: 50%;
    flex: 0 0 50%; }
    .main-photo li::after {
      transform: rotate(230deg);
      width: 70px;
      height: 80px;
      left: 24%;
      right: auto;
      top: -53px;
      z-index: 1; }
    .main-photo li b {
      position: relative;
      z-index: 3; }
  .main-photo li.main-coaching::after {
    transform: rotate(-230deg);
    right: 24%;
    left: auto; }

  .content-main h2 {
    font-size: 6vw; }

  .about-main {
    padding-top: 24vw; }

  .about-main .about-main-txt {
    background: url("../images/bg-about-s.png") no-repeat bottom right;
    background-size: cover;
    padding: 24px 24px 14vw; }

  .about-main h3 {
    width: 75%; }

  .about-points ul li {
    flex: 0 0 48%; }

  .lesson-main {
    padding-bottom: 52vw; }
    .lesson-main .lesson-main-txt {
      background: url("../images/bg-lesson-s.png") no-repeat bottom right;
      background-size: cover;
      padding: 22vw 24px 24vw 40vw; }

  .teacher-main {
    padding-bottom: 40vw; }
    .teacher-main .teacher-main-txt {
      background: url("../images/bg-teacher-s.png") no-repeat bottom right;
      background-size: cover;
      padding: 20vw 24px 20vw; }

  .price-main {
    padding-bottom: 64vw; }
    .price-main .price-main-txt {
      background: url("../images/bg-price-s.png") no-repeat bottom right;
      background-size: cover;
      padding: 24vw 24px 24vw 30vw; }
      .price-main .price-main-txt h3 {
        white-space: normal; }

  .voice-main {
    padding-bottom: 52vw; }
    .voice-main .voice-main-txt {
      background: url("../images/bg-voice-s.png") no-repeat bottom left;
      background-size: cover;
      padding: 24vw 24px 24vw 24px; }
      .voice-main .voice-main-txt h3 {
        white-space: normal; }

  .lesson-main .lesson-main-txt h3 {
    white-space: normal; }

  .lesson-lead h4 {
    font-size: 4vw; }

  .lesson-lead h5 {
    font-size: 5.6vw; }

  .lesson-box ul {
    display: block; }

  .lesson-flow,
  .lesson-flow dl {
    display: block; }

  .lesson-flow dt {
    padding: 0 0 8px;
    text-align: center; }

  .lesson-flow dd {
    padding: 0; }

  .lesson-flow abbr {
    padding: 0;
    text-align: center; }

  .teacher-wrap ul {
    flex-wrap: wrap;
    justify-content: center; }

  .teacher-wrap li {
    flex: 0 0 48%;
    margin: 0 1% 12px; }

  .price-wrap ul {
    display: block; }

  .price-wrap .price-earch {
    top: 0;
    margin: 0;
    text-align: center; }

  .price-wrap th.gle {
    font-size: 0.9em; }

  .voice-main {
    padding-bottom: 48vw; }

  .voice-main .voice-main-txt {
    z-index: 3;
    padding: 20vw 24px 12vw; }

  .gle-voice {
    padding-bottom: 8vw; }

  .voice-wrap {
    position: relative;
    top: -3em;
    z-index: 1;
    margin-bottom: 16px; }

  .voice-list {
    display: block; }
    .voice-list p {
      padding: 24px 0; }

  .youknow h2 {
    font-size: 7vw; }

  .youknow h3 {
    font-size: 1.3em; }

  .youknow h4 {
    display: inline; }

  .gle-location {
    padding-bottom: 24px; }

  .location-lists {
    display: block; } }
@media (max-width: 480px) {
  .content-main h3 {
    font-size: 3.6vw;
    padding: 16px 0 40px; }

  .about-main {
    padding-top: 42vw; }

  .about-main h3 {
    width: 85%; }

  .about-lead {
    font-size: 3.6vw; }

  .about-points ul li {
    flex: 0 0 46%; }

  .about-points li b {
    font-size: 3vw; }

  .teacher-main .teacher-main-txt h3 {
    white-space: normal; }

  .lesson-main .lesson-main-txt {
    padding: 24vw 24px 12vw 32vw;
    white-space: normal; }

  .price-main .price-main-txt {
    padding: 24vw 24px 12vw 24vw;
    white-space: normal; }

  .lesson-wrap {
    padding-top: 0; }

  .lesson-box {
    margin-bottom: 24px;
    padding: 80px 16px 0; }

  .lesson-box li {
    padding: 0 0 24px; }

  .lesson-box h3 {
    background-image: url("../images/bg-yellowline-s.png");
    padding: 20px 8px 46px; }

  .lesson-8 p {
    font-size: 3.4vw; }

  .lesson-flow {
    padding: 24px;
    margin-bottom: 24px; }

  .lesson-flow dl {
    padding: 0; }

  .lesson-points ol {
    padding-bottom: 0; }

  .teacher-wrap {
    padding: 0; }

  .price-main .price-main-txt h2 {
    font-size: 4.5vw; }

  .price-wrap .price-man {
    text-align: center;
    padding: 0 24px;
    top: -24px; }

  .price-wrap h5 {
    font-size: 4.8vw; }

  .price-wrap table {
    font-size: 15px; }

  .price-wrap th.tabletitle {
    font-size: 3.6vw; }

  .price-wrap th.gle {
    font-size: 3vw; }

  .price-wrap th {
    font-size: 2.4vw; } }
/*=====================================================================================================
#HUMBERGER
=====================================================================================================*/
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box; }

.menu-trigger {
  position: relative;
  width: 29px;
  height: 24px; }

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 5px;
  background-color: #159A4B;
  border-bottom: 1px solid #fff;
  border-radius: 4px; }

.menu-trigger span:nth-of-type(1) {
  top: 0; }

.menu-trigger span:nth-of-type(2) {
  top: 10px; }

.menu-trigger span:nth-of-type(3) {
  bottom: 0; }

.menu-trigger span:nth-of-type(1) {
  animation: menu-bar01 .75s forwards; }

@keyframes menu-bar01 {
  0% {
    transform: translateY(10px) rotate(45deg); }
  50% {
    transform: translateY(10px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
.menu-trigger span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1; }

.menu-trigger span:nth-of-type(3) {
  animation: menu-bar03 .75s forwards; }

@keyframes menu-bar03 {
  0% {
    transform: translateY(-10px) rotate(-45deg); }
  50% {
    transform: translateY(-10px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
.menu-trigger.active span:nth-of-type(1) {
  animation: active-menu-bar01 .75s forwards; }

@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(10px) rotate(0); }
  100% {
    transform: translateY(10px) rotate(45deg); } }
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0; }

.menu-trigger.active span:nth-of-type(3) {
  animation: active-menu-bar03 .75s forwards; }

@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(-10px) rotate(0); }
  100% {
    transform: translateY(-10px) rotate(-45deg); } }
/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden; }

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0; }

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

.modaal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden; }

.modaal-wrapper .modaal-close {
  border: none;
  background: 0 0;
  padding: 0;
  -webkit-appearance: none; }

.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1; }

.modaal-wrapper.modaal-start_fade {
  opacity: 0; }

.modaal-wrapper [tabindex="0"] {
  outline: 0 !important; }

.modaal-wrapper.modaal-fullscreen {
  overflow: hidden; }

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%; }

.modaal-fullscreen .modaal-outer-wrapper {
  display: block; }

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px; }

.modaal-fullscreen .modaal-inner-wrapper {
  padding: 0;
  display: block;
  vertical-align: top; }

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto; }

.modaal-container.is_loading {
  height: 100px;
  width: 100px;
  overflow: hidden; }

.modaal-fullscreen .modaal-container {
  max-width: none;
  height: 100%;
  overflow: auto; }

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }

.modaal-close:focus, .modaal-close:hover {
  outline: 0;
  background: #fff; }

.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
  background: #b93d0c; }

.modaal-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

.modaal-close:after, .modaal-close:before {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background .2s ease-in-out;
  transition: background .2s ease-in-out; }

.modaal-close:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.modaal-close:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 10px;
  top: 10px; }

.modaal-content-container {
  padding: 30px; }

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0; }

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: 0 0; }

.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  -webkit-transition: background .2s ease-in-out;
  transition: background .2s ease-in-out; }

.modaal-confirm-btn.modaal-ok:hover {
  background: #2f2f2f; }

.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline; }

.modaal-confirm-btn.modaal-cancel:hover {
  text-decoration: none;
  color: #2f2f2f; }

.modaal-instagram .modaal-container {
  width: auto;
  background: 0 0;
  box-shadow: none !important; }

.modaal-instagram .modaal-content-container {
  padding: 0;
  background: 0 0; }

.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important; }

.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  -webkit-animation: instaReveal 1s linear forwards;
  animation: instaReveal 1s linear forwards; }

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px; }

.modaal-image .modaal-container {
  width: auto;
  max-width: 100%; }

.modaal-gallery-wrap {
  position: relative;
  color: #fff; }

.modaal-gallery-item {
  display: none; }

.modaal-gallery-item img {
  display: block; }

.modaal-gallery-item.is_active {
  display: block; }

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff; }

.modaal-gallery-label:focus {
  outline: 0; }

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }

.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default; }

.modaal-gallery-control:focus, .modaal-gallery-control:hover {
  outline: 0;
  background: #fff; }

.modaal-gallery-control:focus:after, .modaal-gallery-control:focus:before, .modaal-gallery-control:hover:after, .modaal-gallery-control:hover:before {
  background: #afb7bc; }

.modaal-gallery-control span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

.modaal-gallery-control:after, .modaal-gallery-control:before {
  display: block;
  content: " ";
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background .2s ease-in-out;
  transition: background .2s ease-in-out; }

.modaal-gallery-control:before {
  margin: -5px 0 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.modaal-gallery-control:after {
  margin: 5px 0 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px; }

.modaal-gallery-next-outer {
  right: 45px; }

.modaal-gallery-prev:after, .modaal-gallery-prev:before {
  left: 22px; }

.modaal-gallery-prev:before {
  margin: 5px 0 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.modaal-gallery-prev:after {
  margin: -5px 0 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px; }

.modaal-gallery-prev-outer {
  left: 45px; }

.modaal-video-wrap {
  margin: auto 50px;
  position: relative; }

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }

.modaal-video-container embed, .modaal-video-container iframe, .modaal-video-container object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%; }

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block; }

.modaal-loading-spinner {
  background: 0 0;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  -webkit-transform: scale(0.25);
  -ms-transform: scale(0.25);
  transform: scale(0.25); }

.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute; }

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff; }

.modaal-loading-spinner > div:nth-of-type(1) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0s;
  animation-delay: 0s; }

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(1) {
  -ms-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(2) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .12s;
  animation-delay: .12s; }

.modaal-loading-spinner > div:nth-of-type(2) {
  -ms-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(3) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .25s;
  animation-delay: .25s; }

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(3) {
  -ms-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(4) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .37s;
  animation-delay: .37s; }

.modaal-loading-spinner > div:nth-of-type(4) {
  -ms-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(5) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .5s;
  animation-delay: .5s; }

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(5) {
  -ms-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(6) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .62s;
  animation-delay: .62s; }

.modaal-loading-spinner > div:nth-of-type(6) {
  -ms-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(7) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .75s;
  animation-delay: .75s; }

.modaal-loading-spinner > div:nth-of-type(7) {
  -ms-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(8) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .87s;
  animation-delay: .87s; }

.modaal-loading-spinner > div:nth-of-type(8) {
  -ms-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0); }

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px; } }
@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px; }

  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    background: rgba(0, 0, 0, 0.7); }

  .modaal-gallery-control:after, .modaal-gallery-control:before {
    background: #fff; }

  .modaal-gallery-next {
    left: auto;
    right: 20px; }

  .modaal-gallery-prev {
    left: 20px;
    right: auto; } }
@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; } }
@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important; } }
@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important; } }
@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px; }

  .modaal-instagram iframe {
    width: 600px !important; } }
@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; }

  .modaal-video-container {
    max-width: 900px;
    max-height: 510px; } }
@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none; } }
@keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1); } }
@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1); } }


/*=====================================================================================================
追加・2022-11-02
=====================================================================================================*/

ul.location-list {
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	font-size: 0.9em;
	margin-bottom: 1.5em;
}
ul.location-list li {
	line-height: 2.6;
}
ul.location-list li a {
	color: #159A4D;
	padding: .5em 1em;
	background-color: #fff;
	margin: 0 1px;
	font-weight: bold;
}
ul.location-list li a:hover {
}

/*=====================================================================================================
追加・2023-04-17
=====================================================================================================*/

p.signature {
  margin-bottom: 1.5em;
}