@charset "UTF-8";
/*
    共通スタイル
*/

*:not(br) {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.xdebug-var-dump {
  font-size: 13px;
  font-family: arial;
}

.xdebug-var-dump font {
  color: #4368af;
}

.xdebug-var-dump small {
  color: #ff6868;
}

#content {
  position: relative;
}

.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.load_over, .top_load_over {
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  height: 100%;
  z-index: 11;
}

.zoom-hover .zoom-wrap {
  overflow: hidden;
  width: 100%;
}

.zoom-hover .zoom-wrap img {
  -webkit-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  overflow: hidden;
  width: 100%;
  z-index: -1;
}

.zoom-hover .zoom-wrap .zoom-bg {
  width: 100%;
  padding: 66% 0;
  -webkit-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.zoom-hover:hover {
  -webkit-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.zoom-hover:hover .zoom-bg, .zoom-hover:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.is-sec-bg {
  background: #f7f7f7;
}

.is-sec-primary-bg {
  background: #8a0000;
}

.is-sec-white-bg {
  background: #fff;
}

.lts--1 {
  letter-spacing: -1px;
}

.is-gray-diagonal {
  position: absolute;
  background: url("../img/common/gray-diagonal.png") no-repeat center/cover;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: -1;
}

.link-deco-under {
  text-decoration: underline;
}

/**********************************************************
ヘッダー
**********************************************************/

#header {
  padding: 16px 0 21px;
  width: 100%;
  z-index: 10;
  top: 0;
  left: 0;
  position: fixed;
}

#header.fixe_header {
  position: fixed;
  width: 100%;
  padding: 5px 0 10px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background: #fff;
}

#header.menu-open-header-bg {
  background: #fff;
  padding: 5px 0 10px;
}

#header .header-inner {
  padding: 0 69px;
}

#header .header-right .header-right-top {
  margin-bottom: 15px;
}

#header .header-right .header-right-top li {
  margin-right: 21px;
}

#header .header-right .header-right-top li:last-child {
  margin-right: 0;
}

#header .header-right .header-right-top li a {
  font-size: 1.1rem;
  font-weight: 400;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#header .header-right .header-right-top li a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#header .header-right .header-right-bottom .header-cart {
  margin-right: 19px;
}

#header .header-right .header-right-bottom .header-cart .guests {
  font-size: 1.2rem;
  font-weight: 500;
}

#header .header-right .header-right-bottom .header-cart .cart {
  width: 21px;
  display: inline-block;
  margin-left: 12px;
}

#header .header-right .header-right-bottom .header-cart .cart a {
  position: relative;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#header .header-right .header-right-bottom .header-cart .cart a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#header .header-right .header-right-bottom .header-cart .cart span {
  position: absolute;
  left: -12px;
  top: -6px;
  color: #fff;
  border-radius: 52px;
  background: #8a0000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1px 6px;
  font-size: 1rem;
}

#header .header-right .header-right-bottom .header-login a {
  width: 112px;
  text-align: center;
  padding: 7.5px 0px;
  line-height: 1;
  font-size: 1.1rem;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  border: 1px solid #8a0000;
}

#header .header-right .header-right-bottom .header-login a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#header .header-right .header-right-bottom .header-login .new-member {
  color: #8a0000;
  background: #fff;
}

#header .header-right .header-right-bottom .header-login .login {
  color: #fff;
  background: #8a0000;
  position: relative;
  z-index: 1;
}

#header .header-right .header-right-bottom .header-login .login:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: #ac1818;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(52%, #ac1818)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 52%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 52%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #ac1818 52%) no-repeat top left/100% 100%;
  z-index: -1;
}

#header #logo {
  width: 222px;
  margin-right: 50px;
}

#header #logo a {
  width: 100%;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#header #logo a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

/**********************************************************
グローバルナビ
**********************************************************/

@-webkit-keyframes is-chang {
  0% {
    right: 0;
  }
  50% {
    right: -14vw;
  }
  100% {
    right: 0;
  }
}

@keyframes is-chang {
  0% {
    right: 0;
  }
  50% {
    right: -14vw;
  }
  100% {
    right: 0;
  }
}

@-webkit-keyframes is-back {
  0% {
    right: 0;
  }
  50% {
    right: -14vw;
  }
  100% {
    right: 0;
  }
}

@keyframes is-back {
  0% {
    right: 0;
  }
  50% {
    right: -14vw;
  }
  100% {
    right: 0;
  }
}

#gnav ul li {
  position: relative;
  margin-right: 29px;
  line-height: 0;
}

#gnav ul li:last-child {
  margin-right: 0;
}

#gnav ul li a {
  display: inline-block;
  line-height: 1;
  width: 100%;
  font-size: 1.4rem;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  font-weight: 500;
}

#gnav ul li a:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: #8a0000;
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  -o-transition: transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s;
}

#gnav ul li a:hover:before {
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

/**********************************************************
アイキャッチ
**********************************************************/

#eyecatch .top-eyecatch {
  text-align: right;
  position: relative;
}

#eyecatch .top-eyecatch .top-eyecact {
  width: 82.8%;
  margin: 0 0 0 auto;
}

#eyecatch .top-eyecatch .top-eyecact li {
  padding: 19vw 0;
  position: relative;
}

#eyecatch .top-eyecatch .top-eyecact li .movie {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

#eyecatch .top-eyecatch .text-wrap {
  position: absolute;
  text-align: left;
  left: 0;
  bottom: 0;
  padding-left: 31px;
}

#eyecatch .top-eyecatch .text-wrap .catch_copy {
  font-size: 7rem;
  color: #393939;
  position: relative;
  line-height: 1.1;
  padding-bottom: 23px;
  margin-bottom: 36px;
  font-weight: bold;
}

#eyecatch .top-eyecatch .text-wrap .catch_copy span {
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

#eyecatch .top-eyecatch .text-wrap .catch_copy span.is-w-light {
  font-weight: 300;
}

#eyecatch .top-eyecatch .text-wrap .catch_copy:before, #eyecatch .top-eyecatch .text-wrap .catch_copy:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 72px;
  height: 2px;
}

#eyecatch .top-eyecatch .text-wrap .catch_copy:before {
  left: 0;
  background: #8a0000;
}

#eyecatch .top-eyecatch .text-wrap .catch_copy:after {
  left: 72px;
  background: #d1d1d1;
}

#eyecatch .top-eyecatch .text-wrap .sub_copy {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 500;
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

#eyecatch .top-eyecatch .text-wrap .eyecatch-news-list {
  background: #fff;
  padding: 31px;
}

#eyecatch .top-eyecatch .text-wrap .eyecatch-news-list ul {
  margin-left: 35px;
}

#eyecatch.page-eyecatch {
  line-height: 0;
  position: relative;
}

#eyecatch.page-eyecatch .catch-copy {
  position: absolute;
  left: 50%;
  top: 53%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  font-size: 2.7rem;
  text-align: center;
  line-height: 1.3;
  color: #8a0000;
  font-weight: bold;
}

#eyecatch.page-eyecatch .catch-copy span {
  font-size: 1.4rem;
  display: block;
  color: #000;
  font-weight: 400;
}

#eyecatch .coach-single-eyecatch .text-wrap {
  width: 38%;
  padding: 0 7%;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_level_icon {
  width: 79px;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name {
  font-size: 1.9rem;
  width: calc(100% - 79px);
  padding-left: 24px;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name span {
  display: block;
  line-height: 1.2;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .coach_level {
  font-weight: bold;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .coach_level.basic {
  color: #1e6086;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .coach_level.senior {
  color: #1a8068;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .coach_level.professional {
  color: #731621;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .coach_level.expert {
  color: #865123;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .coach_word {
  color: #c1a272;
  margin-top: 3px;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .name {
  font-size: 3.3rem;
  margin-top: 5px;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .name .small {
  display: inline-block;
  font-size: 1.8rem;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_name .name-en {
  font-size: 1.7rem;
  color: #9b8562;
  letter-spacing: 1px;
  margin-top: 6px;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_cat {
  margin: 30px 0 -6px -6px;
  padding-left: 103px;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_cat li {
  width: 84px;
  padding-left: 6px;
  padding-bottom: 6px;
}

#eyecatch .coach-single-eyecatch .text-wrap .coach_cat li span {
  display: block;
  border: 1px solid #9b8562;
  font-size: 1.2rem;
  text-align: center;
  color: #9b8562;
  padding: 1px;
}

#eyecatch .coach-single-eyecatch .img-wrap {
  width: 62%;
}

/**********************************************************
SPメニュー・ボタン
**********************************************************/

.menu_btn_wrap, #sp_menu {
  display: none;
}

@-webkit-keyframes hover_animate01 {
  0% {
    width: 100%;
    left: 0;
  }
  50% {
    width: 0%;
    left: 0;
  }
  51% {
    width: 0%;
    left: auto;
    right: 0;
  }
  100% {
    width: 100%;
    left: auto;
    right: 0;
  }
}

@keyframes hover_animate01 {
  0% {
    width: 100%;
    left: 0;
  }
  50% {
    width: 0%;
    left: 0;
  }
  51% {
    width: 0%;
    left: auto;
    right: 0;
  }
  100% {
    width: 100%;
    left: auto;
    right: 0;
  }
}

@-webkit-keyframes hover_animate02 {
  0% {
    width: 100%;
    left: 0;
  }
  50% {
    width: 0%;
    left: 0;
  }
  100% {
    width: 0%;
    left: auto;
    right: 0;
    opacity: 0;
  }
}

@keyframes hover_animate02 {
  0% {
    width: 100%;
    left: 0;
  }
  50% {
    width: 0%;
    left: 0;
  }
  100% {
    width: 0%;
    left: auto;
    right: 0;
    opacity: 0;
  }
}

@-webkit-keyframes hover_animate03 {
  0% {
    width: 0%;
    left: 0;
  }
  50% {
    width: 0%;
    left: 0;
  }
  100% {
    width: 100%;
    left: auto;
  }
}

@keyframes hover_animate03 {
  0% {
    width: 0%;
    left: 0;
  }
  50% {
    width: 0%;
    left: 0;
  }
  100% {
    width: 100%;
    left: auto;
  }
}

.menu_btn_wrap {
  position: relative;
}

.menu_btn_wrap.fixe_btn .menu_btn {
  top: 31px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.menu_btn {
  position: relative;
  z-index: 9999999;
  cursor: pointer;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  display: block;
  width: 30px;
  height: 26px;
  top: 0;
  right: 0;
}

.menu_btn:hover .menu_trigger span:nth-of-type(1):before {
  -webkit-animation: hover_animate01 .5s ease-in-out 0s 1;
  animation: hover_animate01 .5s ease-in-out 0s 1;
}

.menu_btn:hover .menu_trigger span:nth-of-type(2):before {
  -webkit-animation: hover_animate01 .6s ease-in-out 0s 1;
  animation: hover_animate01 .6s ease-in-out 0s 1;
}

.menu_btn:hover .menu_trigger span:nth-of-type(3):before {
  -webkit-animation: hover_animate01 .7s ease-in-out 0s 1;
  animation: hover_animate01 .7s ease-in-out 0s 1;
}

.menu_btn .menu_trigger {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}

.menu_btn .menu_trigger i {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  overflow: hidden;
}

.menu_btn .menu_trigger i:before {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  top: 0;
  background-color: #000;
  -webkit-transition: width .2s ease;
  -o-transition: width .2s ease;
  transition: width .2s ease;
}

.menu_btn .menu_trigger i:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.menu_btn .menu_trigger i:nth-of-type(1):before {
  left: 0;
  -webkit-transition-delay: .3s;
  -o-transition-delay: .3s;
  transition-delay: .3s;
}

.menu_btn .menu_trigger i:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu_btn .menu_trigger i:nth-of-type(2):before {
  right: 0;
  -webkit-transition-delay: .4s;
  -o-transition-delay: .4s;
  transition-delay: .4s;
}

.menu_btn .menu_trigger span {
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  border-radius: 4px;
  overflow: hidden;
}

.menu_btn .menu_trigger span:before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  background-color: #000;
  border-radius: 4px;
  -webkit-transition: width .2s ease .5s;
  -o-transition: width .2s ease .5s;
  transition: width .2s ease .5s;
}

.menu_btn .menu_trigger span:nth-of-type(1) {
  top: 0;
}

.menu_btn .menu_trigger span:nth-of-type(2) {
  top: calc((100% - 1px)/2);
}

.menu_btn .menu_trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu_btn.open_animate .menu_trigger span:nth-of-type(1):before {
  -webkit-animation: hover_animate02 .5s ease-in-out 0s 1;
  animation: hover_animate02 .5s ease-in-out 0s 1;
}

.menu_btn.open_animate .menu_trigger span:nth-of-type(2):before {
  -webkit-animation: hover_animate02 .6s ease-in-out 0s 1;
  animation: hover_animate02 .6s ease-in-out 0s 1;
}

.menu_btn.open_animate .menu_trigger span:nth-of-type(3):before {
  -webkit-animation: hover_animate02 .7s ease-in-out 0s 1;
  animation: hover_animate02 .7s ease-in-out 0s 1;
}

.menu_btn.menu_chang .menu_trigger span:before {
  width: 0;
}

.menu_btn.menu_chang .menu_trigger i:before {
  width: 100%;
}

.menu_btn.menu_close .menu_trigger span:before {
  width: 0;
}

.menu_btn.menu_close .menu_trigger i:before {
  width: 0%;
}

#sp_menu {
  overflow-y: scroll;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 99;
  /*
    未ログインSPメニュー
    */
  /*
    未ログインSPメニュー
    */
  /*
    ログインSPメニュー
    */
  /*
    ログインSPメニュー
    */
}

#sp_menu .menu_wrapp {
  /*
        SPメニュー1
        */
  /*
        SPメニュー1
        */
  /*
        SPメニュー2
        */
  /*
        SPメニュー2
        */
  /*
        SPメニュー3
        */
  /*
        SPメニュー3
        */
  /*
        SPメニューボタン
        */
  /*
        SPメニューボタン
        */
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap {
  width: 100%;
  margin-top: 0;
  display: block;
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li a, #sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span {
  padding: 20px 9%;
  font-size: 1.6rem;
  display: block;
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span {
  position: relative;
  cursor: pointer;
  /*
                    開いたとき
                    */
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:before, #sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:after {
  content: "";
  position: absolute;
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:before {
  right: 6%;
  width: 12px;
  height: 2px;
  top: calc((100% - 2px)/2);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:after {
  right: calc(6% + 5px);
  width: 2px;
  height: 12px;
  top: calc((100% - 12px)/2);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span.open-menu:after {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li .sp-menu-child-wrap {
  display: none;
}

#sp_menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li .sp-menu-child-wrap li a {
  padding: 20px 11%;
  background: #f8f8f8;
}

#sp_menu .menu_wrapp .sp-menu2 {
  border-top: 1px solid #D1D1D1;
}

#sp_menu .menu_wrapp .sp-menu2 li {
  width: 50%;
  border-bottom: 1px solid #D1D1D1;
}

#sp_menu .menu_wrapp .sp-menu2 li:nth-child(2n) {
  border-left: 1px solid #D1D1D1;
}

#sp_menu .menu_wrapp .sp-menu2 li a {
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  padding: 20px 6%;
  position: relative;
}

#sp_menu .menu_wrapp .sp-menu2 li a:before {
  content: "";
  position: absolute;
  right: 6%;
  top: calc((100% - 6px)/2);
  width: 6px;
  height: 6px;
  border-top: 1px solid #8a0000;
  border-right: 1px solid #8a0000;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#sp_menu .menu_wrapp .sp-menu3 {
  width: 74%;
  margin: 40px auto;
}

#sp_menu .menu_wrapp .sp-menu3 li {
  width: 50%;
  margin-bottom: 20px;
}

#sp_menu .menu_wrapp .sp-menu3 li:last-child, #sp_menu .menu_wrapp .sp-menu3 li:nth-last-child(2):nth-child(odd) {
  margin-bottom: 0;
}

#sp_menu .menu_wrapp .sp-menu3 li a {
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  text-align: center;
}

#sp_menu .menu_wrapp .common-btn {
  width: 244px;
}

#sp_menu.none-member-menu {
  border-top: 1px solid #D1D1D1;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li {
  border-bottom: 1px solid #EEE;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li a:before, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li a:after, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:before, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:after {
  background: #8a0000;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li .sp-menu-child-wrap li a {
  background: #f8f8f8;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red {
  border-bottom: 1px solid #650505;
  background: #8a0000;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red span, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red a {
  color: #fff;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red span:before, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red span:after, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red a:before, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red a:after {
  background: #fff;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red .sp-menu-child-wrap li a {
  color: #fff;
  background: #ac1818;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white {
  border-bottom: 1px solid #f8f8f8;
  background: #fff;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white span, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white a {
  color: #000;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white span:before, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white span:after, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white a:before, #sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white a:after {
  background: #8a0000;
}

#sp_menu.none-member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white .sp-menu-child-wrap li a {
  color: #000;
  background: #f8f8f8;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li {
  border-bottom: 1px solid #650505;
  background: #8a0000;
  position: relative;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li a, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span {
  color: #fff;
  padding: 20px 9%;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li a:before, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li a:after, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:before, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li span:after {
  background: #fff;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li .sp-menu-child-wrap li a {
  background: #ac1818;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red {
  border-bottom: 1px solid #650505;
  background: #8a0000;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red span, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red a {
  color: #000;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red span:before, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red span:after, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red a:before, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red a:after {
  background: #fff;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-red .sp-menu-child-wrap li a {
  color: #fff;
  background: #ac1818;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white {
  border-bottom: 1px solid #f8f8f8;
  background: #fff;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white span, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white a {
  color: #000;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white span:before, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white span:after, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white a:before, #sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white a:after {
  background: #8a0000;
}

#sp_menu.member-menu .menu_wrapp .sp-menu-parent-wrap .sp-menu-parent-li.bg-white .sp-menu-child-wrap li a {
  color: #000;
  background: #f8f8f8;
}

body.corporate #sp_menu .menu_wrapp .sp-menu2 li a {
  background: #6b0b17;
  color: #fff;
}

body.corporate #sp_menu .menu_wrapp .sp-menu2 li a:before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

body.corporate #sp_menu .menu_wrapp .sp-menu2 li a .icon {
  position: relative;
}

body.corporate #sp_menu .menu_wrapp .sp-menu2 li a .icon:before {
  content: "";
  position: absolute;
  right: -30%;
  top: 0;
  background: url("../img/corporate/sp_menu_blog_item.png") no-repeat center/cover;
  width: 29px;
  height: 22px;
}

body.corporate #sp_menu .menu_wrapp .sp-menu3 {
  width: 80%;
}

body.corporate #sp_menu .menu_wrapp .sp-menu3 li:last-child, body.corporate #sp_menu .menu_wrapp .sp-menu3 li:nth-last-child(2):nth-child(odd) {
  margin-bottom: 20px;
}

body.corporate #sp_menu .menu_wrapp .sp-menu3 li a {
  text-align: left;
  font-weight: 400;
}

/**********************************************************
fixed-side-link
**********************************************************/

.fixed-side-link {
  position: fixed;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) translateX(0);
  -ms-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
  z-index: 2;
}

.fixed-side-link li {
  text-align: center;
  position: relative;
  z-index: 0;
  width: 92px;
  height: 92px;
  background: #393939;
  border-bottom: 1px solid #545454;
}

.fixed-side-link li a, .fixed-side-link li .popup-btn {
  cursor: pointer;
  width: 100%;
  height: 100%;
  line-height: 1.2;
  font-weight: 400;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.4rem;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.fixed-side-link li a:hover, .fixed-side-link li .popup-btn:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.fixed-side-link li:first-child {
  background: #8a0000;
}

.fixed-side-link li:first-child:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50%, #ac1818)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 50%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 50%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #ac1818 50%) no-repeat top left/100% 100%;
  z-index: -1;
}

.fixed-side-link li:last-child {
  border-bottom: none;
}

/**********************************************************
スクール入学お申込みデザイン
**********************************************************/

.sec-apllication {
  padding: 100px 0;
}

.sec-apllication .sec-desc {
  width: 100%;
  margin: 25px 0 30px;
  text-align: center;
  line-height: 1.6;
  color: #fff;
  font-weight: 500;
}

.sec-apllication .apllication-btn-list {
  margin-left: -24px;
}

.sec-apllication .apllication-btn-list li {
  padding-left: 24px;
}

.sec-apllication .apllication-btn-list li:nth-of-type(2) {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.sec-apllication .apllication-btn-list li:nth-of-type(3) {
  -webkit-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.sec-apllication .apllication-btn-list li a {
  background: #fff;
  text-align: center;
  color: #8a0000;
  width: 100%;
  padding: 21px 0;
  position: relative;
  z-index: 1;
}

.sec-apllication .apllication-btn-list li span {
  position: relative;
  padding-right: 35px;
  font-weight: 500;
}

.sec-apllication .apllication-btn-list li span:before {
  content: "";
  position: absolute;
  right: 0;
  top: calc((100% - 26px)/2);
  width: 28px;
  height: 26px;
}

.sec-apllication .apllication-btn-list li:nth-of-type(1) span:before {
  background: url("../img/common/application_icon1.svg") no-repeat center/cover;
}

.sec-apllication .apllication-btn-list li:nth-of-type(2) span:before {
  background: url("../img/common/application_icon2.svg") no-repeat center/cover;
}

.sec-apllication .apllication-btn-list li:nth-of-type(3) a {
  color: #fff;
  background: #6c0000;
}

.sec-apllication .apllication-btn-list li:nth-of-type(3) a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50%, #490000)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #490000 50%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #490000 50%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #490000 50%) no-repeat top left/100% 100%;
  z-index: -1;
}

.sec-apllication .apllication-btn-list li:nth-of-type(3) span:before {
  background: url("../img/common/application_icon3.svg") no-repeat center/cover;
  width: 18px;
  height: 18px;
  top: calc((100% - 18px)/2);
  right: 9px;
}

/**********************************************************
下層ナビゲーション
**********************************************************/

.mypage-nav {
  position: relative;
}

.mypage-nav.fixed_pagenav .mypage-nav-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9;
}

.mypage-nav .mypage-nav-name .mypage-icon-wrap .myname a {
  display: none;
}

.mypage-nav .mypage-nav-list li {
  position: relative;
}

.mypage-nav .mypage-nav-list li a {
  font-size: 1.3rem;
  color: #fff;
  position: relative;
  padding-left: 24px;
  font-weight: 400;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  padding: 14px 20px;
}

.mypage-nav .mypage-nav-list li a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: #fff;
  bottom: 0;
  left: 0;
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  -o-transition: transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s;
}

.mypage-nav .mypage-nav-list li a:hover a {
  color: #ae6c6c;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.mypage-nav .mypage-nav-list li a:hover:before {
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.mypage-nav .mypage-nav-list li a span {
  position: relative;
  padding-left: 24px;
}

.mypage-nav .mypage-nav-list li a span img {
  position: absolute;
  left: 0;
  top: calc((100% - 17px)/2);
  width: 18px;
}

.mypage-nav .mypage-nav-list li.act a {
  color: #ae6c6c;
}

.mypage-nav .mypage-nav-list li.act a:before {
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.mypage-nav .mypage-nav-list li .gnav-hide-contents {
  display: none;
  position: absolute;
  left: -10%;
  top: 0;
  background: #8a0000;
  border-top: 2px solid #fff;
  width: 120%;
  z-index: 1;
}

.mypage-nav .mypage-nav-list li .gnav-hide-contents ul li {
  border-bottom: 1px solid #fff;
}

.mypage-nav .mypage-nav-list li .gnav-hide-contents ul li a {
  font-size: 1.3rem;
  padding: 10px 6px;
  width: 100%;
  text-align: center;
  color: #fff;
  letter-spacing: -1px;
}

.mypage-nav .mypage-nav-list li .gnav-hide-contents ul li a:before {
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
}

.mypage-nav .mypage-nav-list li .gnav-hide-contents ul li a:hover:before {
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.mypage-nav .mypage-nav-list li .gnav-hide-contents ul li.act a {
  color: #ae6c6c;
}

.mypage-nav .mypage-nav-list li .gnav-hide-contents ul li.act a:before {
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.mypage-nav .mypoint {
  margin-bottom: 3px;
}

.mypage-nav .mypoint:last-child {
  margin-bottom: 0;
}

.mypage-nav .mypoint .mypoint-wrap {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-right: 15px;
}

.mypage-nav .mypoint .mypoint-wrap:last-child {
  margin-right: 0;
}

.mypage-nav .mypoint .mypoint-wrap .point-history {
  margin-left: 15px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.mypage-nav .mypoint .mypoint-wrap .point-history:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.mypage-nav .mypoint .mypoint-wrap input {
  width: 250px;
  height: 21px;
  margin-right: 5px;
  vertical-align: middle;
  padding: 0;
}

.mypage-nav .mypoint .mypoint-wrap .inline-block {
  display: inline-block;
}

.mypage-nav .mypoint .mypoint-wrap .copy-btn {
  color: #fff;
  background: #8a0000;
  font-size: 1rem;
  padding: 5px 8px;
  line-height: 1;
  display: inline-block;
  cursor: pointer;
  vertical-align: middle;
}

.mypage-nav .mypoint.mypoint-code .mypoint-wrap {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.mypage-nav .mypoint.mypoint-code .mypoint-wrap span {
  margin-right: 10px;
  width: 80px;
  display: inline-block;
}

.mypage-nav .mypoint.mypoint-code .mypoint-wrap .copy-btn {
  margin-right: 0;
  width: auto;
}

.mypage-nav .mypoint.mypoint-code.small .mypoint-wrap input {
  width: 85px;
}

.mypage-nav.mypage .mypage-nav-name .mypage-icon-wrap {
  width: 35%;
  margin-right: 1%;
}

.mypage-nav.mypage .mypage-nav-name .mypage-icon-wrap .mypage-icon {
  width: 212px;
  height: 212px;
}

.mypage-nav.mypage .mypage-nav-name .mypage-icon-wrap .myname-wrap {
  display: block;
  width: 50%;
}

.mypage-nav.mypage .mypage-nav-name .mypage-icon-wrap .myname {
  font-size: 2.4rem;
  margin-bottom: 7px;
  line-height: 1.2;
  margin-right: 0;
}

.mypage-nav.mypage .mypage-nav-name .mypage-icon-wrap .myname span {
  font-size: 1.9rem;
}

.mypage-nav.mypage .mypage-nav-name .news-list-wrap {
  width: 64%;
  padding-top: 33px;
}

.mypage-nav.mypage .mypage-nav-name .news-list-wrap .more-list {
  text-align: right;
  margin-top: 10px;
}

.mypage-nav.mypage .mypage-nav-name .news-list-wrap .more-list a {
  font-size: 1.2rem;
}

.mypage-nav.mypage .mypoint .mypoint-wrap {
  display: block;
  margin-right: 0;
}

.mypage-nav .mypage-nav-name {
  padding: 15px 0;
}

.mypage-nav .mypage-nav-name .mypage-icon-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.mypage-nav .mypage-nav-name .mypage-icon-wrap .mypage-icon {
  overflow: hidden;
  width: 147px;
  height: 147px;
  border: 4px solid #fff;
  border-radius: 100%;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.31);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.31);
  margin-top: -95px;
  margin-right: 23px;
  z-index: 9;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.mypage-nav .mypage-nav-name .mypage-icon-wrap .myname-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
}

.mypage-nav .mypage-nav-name .mypage-icon-wrap .myname {
  font-size: 1.9rem;
  line-height: 1.2;
  margin-right: 35px;
}

.mypage-nav .mypage-nav-name .mypage-icon-wrap .myname span {
  font-size: 1.4rem;
}

/**********************************************************
その他
**********************************************************/

.sec-contact {
  padding: 43px 0 56px;
}

.sec-contact .sec-contact-inner {
  position: relative;
  z-index: 0;
  padding-left: 8%;
}

.sec-contact .sec-contact-inner .sec_contact_img {
  width: 237px;
  position: absolute;
  left: 0;
  bottom: -56px;
  z-index: -1;
}

.sec-contact .sec-desc {
  font-size: 2.3rem;
  width: 100%;
  margin-bottom: 18px;
  font-weight: 500;
}

.sec-contact .sec-contact-wrap .tel {
  width: 359px;
  margin-right: 34px;
}

.sec-contact .sec-contact-wrap .sec-contact-btn {
  width: 295px;
  padding: 25px 0 21px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  background: #8a0000;
}

.sec-contact .sec-contact-wrap .sec-contact-btn span {
  position: relative;
  padding-right: 35px;
}

.sec-contact .sec-contact-wrap .sec-contact-btn span:before {
  content: "";
  position: absolute;
  width: 27px;
  height: 21px;
  background: url("../img/common/mouse_icon.svg") no-repeat center/cover;
  right: 0;
  top: 0;
}

.more-list {
  text-align: right;
}

/**********************************************************
申し込みボタン
**********************************************************/

.app-btn-wrap {
  padding: 63px 0;
}

/**********************************************************
バナーコンテンツデザイン
**********************************************************/

.sec-banner {
  padding: 47px 0;
}

.sec-banner.banner2 a {
  width: 100%;
  max-width: 556px;
  margin-right: 45px;
}

.sec-banner.banner2 a:last-child {
  margin-right: 0;
}

.sec-banner a {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.sec-banner a:hover {
  opacity: 0.7;
}

/*********************************************************
スクール情報配信ポップアップデザイン
*********************************************************/

.popup-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
  top: 0;
  left: 0;
}

.popup-wrap {
  display: none;
  background: #fff;
  position: fixed;
  z-index: 100;
  top: 50%;
  left: 50%;
  height: 497px;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.popup-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

html.popup-html {
  overflow: hidden;
}

.popup-close-btn {
  position: absolute;
  right: 30px;
  top: 30px;
  width: 40px;
  height: 41px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.popup-close-btn:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.popup-close-btn span {
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
}

.popup-close-btn span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  width: 100%;
  height: 100%;
}

.popup-close-btn span:first-child {
  top: calc((100% - 1px)/2);
  left: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.popup-close-btn span:last-child {
  bottom: calc((100% - 1px)/2);
  right: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.popup-html {
  overflow: hidden;
}

.popup-inner {
  padding: 80px 40px 102px;
}

.popup-inner .text-wrap {
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
}

.popup-inner .text-wrap span {
  display: block;
}

.popup-inner .text-wrap .popup-ttl {
  font-size: 3rem;
  font-weight: bold;
  color: #8a0000;
  margin-bottom: 35px;
}

.popup-inner .form-wrap {
  width: 307px;
  margin: 45px auto 0;
}

.popup-inner .form-wrap .popup-sub-ttl {
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 3px;
}

.popup-inner .form-wrap .form_btn {
  width: 100%;
  margin-right: 0;
  margin-top: 15px;
}

.popup-inner .form-wrap .form_btn input {
  padding: 14px 0;
}

/**********************************************************
セミナー申し込みデザイン
**********************************************************/

.app-sec1-wrap {
  padding: 50px 60px;
}

.app-sec1-wrap .app-sec1-inner {
  position: relative;
}

/**********************************************************
マイページカテゴリーリンク
**********************************************************/

.mypage-category-link-list {
  margin-bottom: 40px;
}

.mypage-category-link-list li {
  margin: 0 10px;
}

.mypage-category-link-list li a {
  color: #8a0000;
}

/**********************************************************
動画検索
**********************************************************/

.movie-search-wrap {
  margin-top: 20px;
  margin-bottom: -20px;
}

.movie-search-wrap input {
  border: 1px solid #dcdcdc;
  background: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 2px 5px;
  outline: none;
}

.movie-search-wrap span {
  margin: 0 20px;
}

.movie-search-wrap .movie-search-cont {
  display: inline-block;
  margin-bottom: 20px;
}

.movie-search-wrap .movie-search-btn {
  display: inline-block;
  position: relative;
  background: #505050;
}

.movie-search-wrap .movie-search-btn:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  background: url("../img/common/movie_search_icon.png") no-repeat center/cover;
  left: calc((100% - 15px)/2);
  top: calc((100% - 17px)/2);
  z-index: 0;
}

.movie-search-wrap .movie-search-btn input {
  width: 75px;
  background: none;
  border: none;
  border-bottom: 1px solid #dcdcdc;
  cursor: pointer;
  text-indent: -99999px;
  position: relative;
  z-index: 1;
}

/**********************************************************
動画検索
**********************************************************/

/**********************************************************
footer
**********************************************************/

#footer {
  background: #e0e0e0;
  padding: 45px 0 10px;
}

#footer .left-cont {
  width: 303px;
  margin-right: 70px;
  margin-bottom: 20px;
}

#footer .left-cont .footer-logo {
  width: 222px;
  margin-bottom: 15px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#footer .left-cont .footer-logo:hover {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.7;
}

#footer .left-cont .footer-address {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 1px;
}

#footer .right-cont ul li a {
  font-size: 1.4rem;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#footer .right-cont ul li a:hover {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.7;
}

#footer .right-cont .parent-ul {
  margin-left: -40px;
}

#footer .right-cont .parent-ul .parent-li {
  padding-left: 40px;
  padding-bottom: 10px;
  width: 161px;
}

#footer .right-cont .parent-ul .parent-li:last-child {
  margin-right: 0;
}

#footer .right-cont .parent-ul .parent-li a {
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1;
}

#footer .right-cont .parent-ul .parent-li .child-ul .child-li {
  margin-bottom: 10px;
  line-height: 1;
}

#footer .right-cont .parent-ul .parent-li .child-ul .child-li a {
  font-weight: 400;
  margin-bottom: 0;
}

#footer .copyright {
  font-size: 1.1rem;
  font-weight: 400;
  text-align: center;
  margin-top: 26px;
}

/**********************************************************
その他
**********************************************************/

#pagetop {
  display: none;
  position: fixed;
  bottom: 39px;
  right: 2.8%;
  cursor: pointer;
  z-index: 3;
  display: block;
  text-align: center;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#pagetop img {
  width: 49px;
  margin-bottom: 12px;
  position: relative;
  top: 0;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#pagetop span {
  display: block;
  font-size: 1.1rem;
}

#pagetop:hover img {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  top: -10px;
}

/*
セミナー受講条件満たしていませんCSS
*/

.seminar-no-condition {
  text-align: center;
  color: #fff;
  background: #8a0000;
  font-size: 2rem;
  padding: 15px;
  margin-bottom: 15px;
}

.target-mv01 {
  opacity: 0;
  -webkit-transform: translateX(-100px);
  -ms-transform: translateX(-100px);
  transform: translateX(-100px);
  -webkit-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.mv01 {
  opacity: 1;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.target-mv02 {
  opacity: 0;
  -webkit-transform: translateX(100px);
  -ms-transform: translateX(100px);
  transform: translateX(100px);
  -webkit-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.mv02 {
  opacity: 1;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.target-mv03 {
  opacity: 0;
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px);
  -webkit-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.mv03 {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

/*
ページネーション
*/

.pagenav_wrap {
  text-align: center;
}

.pagenav_wrap .pagenav_inner {
  display: inline-block;
  position: relative;
}

.pagenav_wrap .pagenav li {
  width: 37px;
  height: 38px;
  border: 1px solid #f1f1f1;
  float: left;
}

.pagenav_wrap .pagenav li a {
  font-size: 1.9rem;
  color: #aaa;
  background: #f7f7f7;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 3px;
}

.pagenav_wrap .pagenav li.act a {
  background: #8a0000;
  color: #fff;
}

.pagenav_wrap .arrow {
  width: 37px;
  height: 38px;
  position: absolute;
  top: 0;
}

.pagenav_wrap .arrow:before {
  content: "";
  position: absolute;
  top: calc((100% - 7px)/2);
  width: 7px;
  height: 7px;
  border-top: 1px solid #8a0000;
  border-right: 1px solid #8a0000;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.pagenav_wrap .prev {
  left: -37px;
}

.pagenav_wrap .prev:before {
  left: calc((100% - 7px)/2);
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.pagenav_wrap .prev:hover:before {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  left: calc((100% - 14px)/2);
}

.pagenav_wrap .next {
  right: -37px;
}

.pagenav_wrap .next:before {
  right: calc((100% - 7px)/2);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.pagenav_wrap .next:hover:before {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  right: calc((100% - 14px)/2);
}

/*
シングルページページネーション
*/

.single-pagenav {
  background: #f7f7f7;
  padding: 42px 0;
}

.single-pagenav .single-pagenav-inner {
  width: 244px;
  margin: auto;
  position: relative;
}

.single-pagenav .arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
  -ms-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
  font-weight: bold;
}

.single-pagenav .arrow:before {
  content: "";
  position: absolute;
  top: calc((100% - 7px)/2);
  width: 7px;
  height: 7px;
  border-top: 1px solid #8a0000;
  border-right: 1px solid #8a0000;
}

.single-pagenav .prev {
  left: -138px;
}

.single-pagenav .prev:before {
  left: -28px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.single-pagenav .next {
  right: -138px;
}

.single-pagenav .next:before {
  right: -28px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.heading {
  position: relative;
}

.btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.btns:not(.is-bar) {
  margin-left: -0.5em;
  margin-bottom: -0.5em;
}

.btns:not(.is-bar)>.btns, .btns:not(.is-bar)>.btn {
  margin-left: 0.5em;
  margin-bottom: 0.5em;
}

.btns>.btns {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.btns.is-middle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.btns.is-bottom {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.btns.is-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.btns.is-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.btns.is-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.btns.is-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

@-webkit-keyframes btn_hover1 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}

@keyframes btn_hover1 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}

@-webkit-keyframes btn_hover2 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}

@keyframes btn_hover2 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}

@-webkit-keyframes btn_hover_text_white {
  0% {
    color: #ffffff;
  }
  49.9% {
    color: #8a0000;
  }
  100% {
    color: #ffffff;
  }
}

@keyframes btn_hover_text_white {
  0% {
    color: #ffffff;
  }
  49.9% {
    color: #8a0000;
  }
  100% {
    color: #ffffff;
  }
}

.common-btn {
  width: 244px;
  position: relative;
  overflow: hidden;
}

.common-btn a, .common-btn .popup-btn {
  cursor: pointer;
  padding: 22px 0 18px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  width: 100%;
  color: #fff;
  font-size: 1.3rem;
  border: 1px solid #8a0000;
}

.common-btn a:before, .common-btn .popup-btn:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  background: #8a0000;
}

.common-btn a:after, .common-btn .popup-btn:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
  background: #8a0000;
}

.common-btn a:hover span, .common-btn .popup-btn:hover span {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: .6s;
  animation-duration: .6s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-animation-name: btn_hover_text_white;
  animation-name: btn_hover_text_white;
}

.common-btn a:hover:before, .common-btn .popup-btn:hover:before {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-name: btn_hover1;
  animation-name: btn_hover1;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.common-btn a:hover:after, .common-btn .popup-btn:hover:after {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-name: btn_hover2;
  animation-name: btn_hover2;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.common-btn.center {
  margin: auto;
}

.common-btn.icon span {
  padding-right: 33px;
}

.common-btn.icon span:before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  background: url("../img/common/download_icon_white.svg") no-repeat center/cover;
  width: 22px;
  height: 18px;
}

.common-btn span {
  position: relative;
  z-index: 10;
}

.more-list a {
  font-size: 1.3rem;
  color: #8a0000;
  text-decoration: underline;
  font-weight: 400;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.more-list a:hover {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.7;
}

.app-btn {
  background: #6c0000;
  position: relative;
  width: 365px;
  text-align: center;
  display: block;
  margin: auto;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.app-btn.app-btn-fixed {
  position: fixed;
  bottom: 3%;
  left: calc((100% - 365px)/2);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  z-index: 1;
}

.app-btn:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50%, #490000)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #490000 50%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #490000 50%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #490000 50%) no-repeat top left/100% 100%;
  z-index: 0;
}

.app-btn span {
  display: inline-block;
  position: relative;
}

.app-btn span:after {
  content: "";
  position: absolute;
  right: 0;
  top: calc((100% - 26px)/2);
  width: 28px;
  height: 26px;
  background: url("../img/common/application_icon3.png") no-repeat center/cover;
}

.app-btn input {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  background: none;
  border: none;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff;
  padding: 26px 0;
  position: relative;
  font-size: 1.8rem;
  padding-right: 30px;
}

.form_btn {
  width: 365px;
  display: block;
  cursor: pointer;
  position: relative;
  background: #8a0000;
  z-index: 0;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.form_btn:last-of-type {
  margin-right: 27px;
}

.form_btn:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: #ac1818;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(51%, #690000)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #690000 51%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #690000 51%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #690000 51%) no-repeat top left/100% 100%;
  z-index: -1;
}

.form_btn input {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.8rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  padding: 25px 0;
  font-weight: bold;
}

.form_btn a {
  padding: 14.5px 0;
  display: block;
  text-align: center;
  color: #fff;
}

.form_btn:hover {
  opacity: 0.8;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.form_btn.center {
  margin: auto;
}

.form_btn.back {
  background: #dcdcdc;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.form_btn.back:before {
  display: none;
}

.form_btn.back input {
  color: #000;
}

.form_btn.clear {
  width: 219px;
}

.form_btn.clear:before, .form_btn.clear:after {
  display: none;
}

.form_btn.clear input {
  color: #8c8c8c;
  border: 1px solid #c9c9c9;
  font-size: 1.3rem;
  height: 36px;
  padding: 0;
}

.form_btn.search {
  width: 219px;
}

.form_btn.search:before, .form_btn.search:after {
  display: none;
}

.form_btn.search input {
  color: #fff;
  background: #771521;
  border: 1px solid #c9c9c9;
  font-size: 1.3rem;
  height: 36px;
  padding: 0;
}

.key_btn {
  width: 24%;
  display: block;
  cursor: pointer;
  position: relative;
  background: #8a0000;
  z-index: 0;
  margin-left: 5%;
}

.key_btn:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: #ac1818;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(51%, #690000)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #690000 51%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #690000 51%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #690000 51%) no-repeat top left/100% 100%;
  z-index: -1;
}

.key_btn input {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.2rem !important;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  padding: 9px 0;
  font-weight: bold;
}

.key_btn:hover {
  opacity: 0.8;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.key_btn.back {
  background: #dcdcdc;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.key_btn.back:before {
  display: none;
}

.key_btn.back input {
  color: #000;
}

.login-btn {
  width: 100%;
  display: block;
  cursor: pointer;
  position: relative;
  background: #8a0000;
  z-index: 0;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.login-btn:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: #8a0000;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(51%, #ac1818)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 51%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 51%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #ac1818 51%) no-repeat top left/100% 100%;
  z-index: -1;
}

.login-btn input {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.8rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  padding: 14px 0;
  font-weight: bold !important;
}

.login-btn a {
  padding: 14px 0;
  display: block;
  text-align: center;
}

.login-btn:hover {
  opacity: 0.8;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.login-btn.back {
  background: #dcdcdc;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.login-btn.back:before {
  display: none;
}

.login-btn.back input {
  color: #000;
}

.more_btn {
  position: relative;
  width: 369px;
  padding-bottom: 11px;
}

.more_btn:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #000;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.more_btn.btn-left {
  margin: 0 auto 0 0;
  text-align: left;
}

.more_btn.btn-left:before {
  right: auto;
  left: 0;
}

.more_btn.btn-left:hover:before {
  width: 27%;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.more_btn.btn-right {
  margin: 0 0 0 auto;
  text-align: right;
}

.more_btn.btn-right:before {
  left: auto;
  right: 0;
}

.more_btn.btn-right:hover:before {
  width: 27%;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.more_btn.btn-center {
  margin: auto;
  text-align: center;
}

.more_btn.btn-center:before {
  -webkit-transform: translateY(0) translateX(-50%);
  -ms-transform: translateY(0) translateX(-50%);
  transform: translateY(0) translateX(-50%);
  left: 50%;
}

.more_btn.btn-center:hover:before {
  width: 27%;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.more_btn.btn-small {
  width: 269px;
}

.more_btn.btn-small:hover:before {
  width: 37%;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.withdraw-btn {
  font-weight: bold;
  color: #504f4f;
  margin-top: 20px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.withdraw-btn:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.coach_search_btn_wrap .coach_search_btn {
  max-width: 521px;
  margin: auto;
  width: 100%;
  font-size: 1.7rem;
  color: #fff;
  background: #771521;
  text-align: center;
  padding: 24.5px;
  position: relative;
  cursor: pointer;
}

.coach_search_btn_wrap .coach_search_btn .icon {
  position: absolute !important;
  right: 28px;
  top: calc((100% - 22px)/2);
  width: 22px;
  height: 22px;
  border: 2px solid #fff;
  border-radius: 100px;
}

.coach_search_btn_wrap .coach_search_btn .icon:before, .coach_search_btn_wrap .coach_search_btn .icon:after {
  content: "";
  position: absolute;
  background: #fff;
}

.coach_search_btn_wrap .coach_search_btn .icon:before {
  width: 10px;
  height: 2px;
  left: calc((100% - 10px)/2);
  top: calc((100% - 2px)/2);
}

.coach_search_btn_wrap .coach_search_btn .icon:after {
  width: 2px;
  height: 10px;
  left: calc((100% - 2px)/2);
  top: calc((100% - 10px)/2);
}

.coach_search_btn_wrap.open .coach_search_btn .icon:after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.coach_search_btn_wrap .coach_search_text {
  font-size: 1.7rem;
  letter-spacing: 2px;
  color: #8d8d8d;
  margin-top: 15px;
  text-align: center;
}

.coach_search_btn_wrap .coach_search_text span {
  color: #771521;
  font-weight: bold;
}

.details-btn {
  background: #333;
  color: #fff;
  text-align: center;
  font-size: 3.4vw;
  padding: 3vw;
  position: relative;
  -webkit-transform: 0.3s;
  -ms-transform: 0.3s;
  transform: 0.3s;
}

.details-btn:before {
  content: "";
  position: absolute;
  top: calc((100% - 5vw)/2);
  right: 6%;
  width: 3.5vw;
  height: 3.5vw;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: 0.3s;
  -ms-transform: 0.3s;
  transform: 0.3s;
}

.details-btn.hamburger_open_btn.open {
  opacity: 0;
  -webkit-transform: 0.3s;
  -ms-transform: 0.3s;
  transform: 0.3s;
}

.details-btn.open {
  -webkit-transform: 0.3s;
  -ms-transform: 0.3s;
  transform: 0.3s;
}

.details-btn.open:before {
  -webkit-transform: 0.3s;
  -ms-transform: 0.3s;
  transform: 0.3s;
  top: calc((100% - 2vw)/2);
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.compass-sheet-btn {
  font-size: 1.4rem;
  color: #CCC;
  background: #eee;
  padding: 12px 42px;
  text-align: center;
}

.compass-sheet-btn.act {
  color: #fff;
  background: #771521;
}

.compass-sheet-btn.end {
  position: relative;
}

.compass-sheet-btn.end:before {
  content: "";
  position: absolute;
  right: 11.5px;
  top: calc((100% - 23px)/2);
  width: 23px;
  height: 23px;
  background: url("../img/common/end_icon.svg") no-repeat center/cover;
}

@keyframes btn_hover1 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}

@keyframes btn_hover2 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}

@-webkit-keyframes btn_hover_text {
  0% {
    color: #ffffff;
  }
  49.9% {
    color: #000000;
  }
  100% {
    color: #ffffff;
  }
}

@keyframes btn_hover_text {
  0% {
    color: #ffffff;
  }
  49.9% {
    color: #000000;
  }
  100% {
    color: #ffffff;
  }
}

.list>.item:not(:first-child) {
  margin-top: 0.25em;
}

.list>.item>.list {
  margin-top: 0.5em;
}

.list.is-disc, .list.is-circle, .list.is-decimal {
  margin-left: 1.5em;
}

.list.is-disc>.item, .list.is-circle>.item, .list.is-decimal>.item {
  display: list-item;
}

.list.is-disc>.item {
  list-style: disc outside;
}

.list.is-circle>.item {
  list-style: circle outside;
}

.list.is-decimal>.item {
  list-style: decimal outside;
}

/*****************************************************
オリジナルリストデザイン
*****************************************************/

.list {
  /*
    ニュースリスト
    */
  /*
    ニュースリスト
    */
  /*
    セミナーリスト
    */
  /*
    セミナーリスト
    */
  /*
    スライダー
    */
  /*
    スライダー
    */
  /*
    TOPICS
    */
  /*
    TOPICS
    */
  /*
    Q&A
    */
  /*
    Q&A
    */
  /*
    動画タブリスト
    */
  /*
    動画タブリスト
    */
  /*
    動画リスト
    */
  /*
    動画リスト
    */
  /*
    申込みのフロー
    */
  /*
    申込みのフロー
    */
  /*
    お客様の声
    */
  /*
    お客様の声
    */
  /*
    担当講師
    */
  /*
    担当講師
    */
  /*
    プログラム
    */
  /*
    プログラム
    */
  /*
    スクールの特徴リスト
    */
  /*
    スクールの特徴リスト
    */
  /*
    カリキュラム、入学の流れリスト
    */
  /*
    カリキュラム、入学の流れリスト
    */
  /*
    学習方針
    */
  /*
    学習方針
    */
  /*
    会員情報一覧
    */
  /*
    会員情報一覧
    */
  /*
    コーチ紹介一覧
    */
  /*
    コーチ紹介一覧
    */
  /*
    コーチ料金一覧
    */
  /*
    コーチ料金一覧
    */
  /*
    得意分野・ジャンル一覧
    */
  /*
    コーチギャラリー
    */
  /*
    コンパスシートテキストエリアリスト
    */
  /*
    コンパスシートテキストエリアリスト
    */
  /*
    アウェアネス3つのコーチング
    */
}

.list.news-list {
  /*
        TOP、mypage
        */
  /*
        TOP、mypage
        */
  /*
        archive
        */
  /*
        archive
        */
  /*
        関連記事
        */
  /*
        関連記事
        */
}

.list.news-list li .cat {
  background: #8a0000;
  color: #fff;
  text-align: center;
}

.list.news-list li a {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
}

.list.news-list li a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.list.news-list.small li {
  line-height: 1;
  margin-bottom: 10px;
}

.list.news-list.small li:last-child {
  margin-bottom: 0;
}

.list.news-list.small li span {
  display: inline-block;
  font-size: 1.4rem;
}

.list.news-list.small li .day {
  margin-right: 6px;
}

.list.news-list.small li .cat {
  background: #8a0000;
  color: #fff;
  padding: 5px 10px;
  text-align: center;
  margin-right: 3px;
  font-size: 1rem;
}

.list.news-list.small li .ttl {
  font-weight: 300;
}

.list.news-list.big li {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #DCDCDC;
}

.list.news-list.big li:last-of-type {
  margin-bottom: 0;
}

.list.news-list.big li .data_wrap {
  margin-bottom: 15px;
  width: 261px;
}

.list.news-list.big li .day {
  font-size: 2rem;
  margin-right: 25px;
  width: 100px;
}

.list.news-list.big li .cat {
  font-size: 1.2rem;
  padding: 5px 19px;
  font-weight: 400;
  margin-right: 26px;
}

.list.news-list.big li .text_wrap {
  width: 69%;
}

.list.news-list.big li .text_wrap span {
  display: block;
}

.list.news-list.big li .text_wrap .title {
  font-size: 2.2rem;
  letter-spacing: -1px;
  line-height: 1.3;
  margin-bottom: 10px;
  font-weight: bold;
}

.list.news-list.big li .text_wrap .text {
  font-size: 1.3rem;
  letter-spacing: -1px;
}

.list.news-list.relation li {
  border-top: 1px solid #ECECEC;
  padding: 28px 0;
}

.list.news-list.relation li:last-child {
  border-bottom: 1px solid #ECECEC;
}

.list.news-list.relation li .day {
  font-size: 1.6rem;
  width: 73px;
}

.list.news-list.relation li .cat {
  background: #8a0000;
  color: #fff;
  padding: 3px 15px;
  text-align: center;
  margin-right: 3px;
  font-size: 1rem;
  margin: 0 23px;
}

.list.news-list.relation li .ttl {
  font-size: 1.6rem;
  font-weight: bold;
}

.list.seminar-list.top {
  margin-left: -53px;
}

.list.seminar-list.top li {
  padding-left: 53px;
  padding-bottom: 53px;
}

.list.seminar-list.top li:nth-of-type(2) {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.list.seminar-list.top li:nth-of-type(3) {
  -webkit-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.list.seminar-list.top li a {
  width: 100%;
}

.list.seminar-list.top li .day {
  margin-top: 15px;
  display: block;
  font-size: 1.6rem;
}

.list.seminar-list.top li .list-ttl {
  margin-top: 4px;
  line-height: 1.5;
  letter-spacing: -1px;
  font-size: 1.7rem;
}

.list.seminar-list.page {
  margin-left: -15px;
}

.list.seminar-list.page li {
  padding-left: 15px;
  padding-bottom: 70px;
}

.list.seminar-list.page li a {
  width: 100%;
}

.list.seminar-list.page li .zoom-wrap {
  position: relative;
}

.list.seminar-list.page li .zoom-wrap:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: 4px solid #8a0000;
  z-index: 1;
}

.list.seminar-list.page li .zoom-wrap .cat {
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  font-size: 1.3rem;
  background: #8a0000;
  padding: 4px 20px 6px;
  font-weight: 400;
  z-index: 1;
}

.list.seminar-list.page li .zoom-wrap .cat.finished {
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
}

.list.seminar-list.page li .text-wrap {
  margin-top: 18px;
}

.list.seminar-list.page li .text-wrap span {
  margin-top: 2px;
  display: block;
  font-size: 1.4rem;
  color: #8f8f8f;
  font-weight: 400;
}

.list.seminar-list.page li .text-wrap span:first-of-type {
  margin-top: 6px;
}

.list.seminar-list.page li .list-ttl {
  line-height: 1.3;
  letter-spacing: -1px;
  font-size: 1.7rem;
}

.list.seminar-list.page li.attended .zoom-wrap:before {
  display: none;
}

.list.seminar-list.page li.attended .attended-text {
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 400;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.list.seminar-list.seminar-top-list li .day {
  font-size: 2rem;
  color: #a1a5b2;
  margin-top: 8px;
}

.list.seminar-list.seminar-top-list li .list-ttl {
  margin-top: 0;
}

.list.seminar-list.btm-none li {
  padding-bottom: 0;
}

.list.slider-list li a {
  position: relative;
  width: 100%;
}

.list.slider-list li a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.13)), color-stop(rgba(0, 0, 0, 0.13)), to(rgba(0, 0, 0, 0.9)));
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.9));
  background: -o-linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.9));
  background: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.9));
  z-index: 1;
}

.list.slider-list .text-wrap {
  position: absolute;
  width: 86%;
  left: 7%;
  bottom: 5%;
  color: #fff;
  z-index: 2;
}

.list.slider-list .text-wrap .list-ttl {
  font-size: 1.8rem;
  letter-spacing: -1px;
  line-height: 1.3;
}

.list.slider-list .text-wrap .day {
  font-size: 1.7rem;
  margin-top: 5px;
  display: block;
}

.list.topics-list {
  margin-left: -15px;
}

.list.topics-list li {
  padding-left: 15px;
  padding-bottom: 15px;
}

.list.topics-list li a {
  position: relative;
  display: block;
  width: 100%;
}

.list.topics-list li a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.13)), color-stop(rgba(0, 0, 0, 0.13)), to(rgba(0, 0, 0, 0.9)));
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.9));
  background: -o-linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.9));
  background: linear-gradient(rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.9));
  z-index: 1;
}

.list.topics-list .text-wrap {
  position: absolute;
  width: 86%;
  left: 7%;
  bottom: 5%;
  color: #fff;
  z-index: 2;
}

.list.topics-list .text-wrap .list-ttl {
  font-size: 1.8rem;
  letter-spacing: -1px;
  line-height: 1.3;
}

.list.topics-list .text-wrap .day {
  font-size: 1.7rem;
  margin-top: 5px;
  display: block;
}

.list.faq-list li {
  width: calc((100% - 19px)/2);
  margin-right: 19px;
  padding: 15px 25px;
  border-radius: 20px;
  position: relative;
  font-weight: 500;
}

.list.faq-list li:nth-child(2n) {
  margin-right: 0;
}

.list.faq-list li:before {
  content: "";
  position: absolute;
  bottom: -19px;
  width: 58px;
  height: 32px;
}

.list.faq-list li span {
  font-size: 2.8rem;
  display: block;
  margin-right: 20px;
}

.list.faq-list li.question {
  background: #fff;
  margin-bottom: 58px;
}

.list.faq-list li.question:before {
  left: 0;
  background: url("../img/common/question_item.png") no-repeat center/cover;
}

.list.faq-list li.answer {
  background: #8a0000;
  color: #fff;
  font-size: 1.4rem;
  margin-top: 58px;
}

.list.faq-list li.answer:before {
  right: 0;
  background: url("../img/common/answer_item.png") no-repeat center/cover;
}

.list.faq-list.seminar-top li.question {
  background: #eceff5;
  margin-bottom: 58px;
}

.list.faq-list.seminar-top li.question:before {
  left: 0;
  background: url("../img/common/question_item.png") no-repeat center/cover;
}

.list.faq-list.seminar-top li.answer {
  background: #7e1f2b;
  color: #fff;
  font-size: 1.4rem;
  margin-top: 58px;
}

.list.faq-list.seminar-top li.answer:before {
  right: 0;
  background: url("../img/common/answer_item.png") no-repeat center/cover;
}

.list.tab-list {
  background: #fff;
  overflow: hidden;
  position: relative;
  padding-bottom: 4px;
}

.list.tab-list:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: #ececec;
}

.list.tab-list li {
  font-size: 1.3rem;
  color: #8a0000;
  padding: 8px 52px;
  cursor: pointer;
  position: relative;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  font-weight: 500;
}

.list.tab-list li:before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background: #8a0000;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  -o-transition: transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s;
}

.list.tab-list li:hover:before {
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.list.tab-list li.act {
  color: #b9b9b9;
}

.list.tab-list li.act:before {
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.list.movie-list {
  margin-left: -14px;
  /*ピックアップデザイン*/
  /*スライダーデザイン*/
}

.list.movie-list li {
  width: calc(100% / 5);
  padding-left: 14px;
  margin-bottom: 24px;
}

.list.movie-list li a {
  display: block;
}

.list.movie-list li .img-wrap {
  position: relative;
  padding-top: 56.25%;
}

.list.movie-list li .img-wrap .cat {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.1rem;
  color: #fff;
  background: #8a0000;
  padding: 4px 25px;
}

.list.movie-list li .img-wrap .start-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  border-left: 30px solid rgba(245, 246, 248, 0.9);
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  z-index: -2;
}

.list.movie-list li .img-wrap .time {
  position: absolute;
  right: 6px;
  bottom: 6px;
  font-size: 1.1rem;
  color: #fff;
  background: #393939;
  line-height: 1;
  padding: 5px 9px 2.5px;
}

.list.movie-list li .img-wrap .attended-text {
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 400;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.list.movie-list li .img-wrap .attended-text span {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
}

.list.movie-list li .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  width: 100%;
  height: 100%;
}

.list.movie-list li .zoom-wrap:hover .start-btn {
  z-index: 1;
}

.list.movie-list li .zoom-wrap:hover .attended-text span {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}

.list.movie-list li .text-wrap {
  margin-top: 7px;
}

.list.movie-list li .text-wrap .list-ttl {
  font-size: 1.3rem;
  letter-spacing: -1px;
  line-height: 1.4;
}

.list.movie-list li .text-wrap .day {
  font-size: 1.1rem;
  color: #8f8f8f;
  font-weight: 400;
  margin-top: 5px;
  display: block;
}

.list.movie-list li.more a {
  text-align: center;
  padding: 29% 0;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  color: #8a0000;
  text-decoration: underline;
}

.list.movie-list li.more a:hover {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.7;
}

.list.movie-list.pickup-movie {
  margin-left: 0;
}

.list.movie-list.pickup-movie li {
  width: 100%;
  padding-left: 0;
  margin-bottom: 0;
}

.list.movie-list.pickup-movie li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.list.movie-list.pickup-movie li .img-wrap {
  width: 45%;
  padding-top: 25%;
}

.list.movie-list.pickup-movie li .text-wrap {
  width: 55%;
  padding-left: 2%;
  margin-top: 0;
}

.list.movie-list.pickup-movie li .text-wrap .list-ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 15px;
}

.list.movie-list.pickup-movie li .text-wrap .day {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 1.4rem;
}

.list.movie-list.mypage-list-slider {
  margin-left: 0;
  margin-bottom: 0;
}

.list.movie-list.mypage-list-slider li {
  padding-left: 0;
  margin-bottom: 0;
  padding: 0 7px;
}

.list.flow-list {
  position: absolute;
  right: -35px;
  top: -10px;
}

.list.flow-list li {
  color: #a1a1a1;
  font-size: 1.1rem;
  text-align: center;
  letter-spacing: -1px;
  position: relative;
  padding-right: 35px;
}

.list.flow-list li:before {
  content: "";
  position: absolute;
  right: 0;
  top: calc((100% - 1px)/2);
  width: 35px;
  height: 1px;
  background: #8a0000;
}

.list.flow-list li:last-child {
  padding-right: 0;
}

.list.flow-list li:last-child:before {
  display: none;
}

.list.flow-list li img {
  width: 32px;
}

.list.flow-list li span {
  display: block;
  margin-top: 2px;
  font-weight: 400;
}

.list.flow-list li.act {
  color: #8a0000;
}

.list.voice-list {
  margin-left: -47px;
}

.list.voice-list li {
  padding-left: 47px;
  padding-bottom: 57px;
}

.list.voice-list li .img-wrap {
  width: 114px;
  margin-right: 6%;
}

.list.voice-list li .text-wrap {
  width: 69%;
}

.list.voice-list li .text-wrap span {
  display: block;
}

.list.voice-list li .text-wrap .name {
  font-size: 1.4rem;
  font-weight: bold;
  color: #8a0000;
}

.list.voice-list li .text-wrap .ttl {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 10px 0;
}

.list.voice-list li .text-wrap .text {
  font-size: 1.3rem;
  line-height: 1.5;
}

.list.instructor-list li {
  width: 31%;
  margin-right: 3%;
}

.list.instructor-list li:nth-child(3n) {
  margin-right: 0;
}

.list.instructor-list li .instructor-img-wrap {
  border-radius: 100%;
  width: 64px;
  height: 64px;
  min-width: 64px;
  margin-right: 10px;
  overflow: hidden;
}

.list.instructor-list li .instructor-img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.list.instructor-list li span {
  display: block;
}

.list.instructor-list li .text-wrap {
  width: 67%;
}

.list.instructor-list li .name {
  font-weight: 500;
}

.list.instructor-list li .title {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 3px;
}

.list.program-list.colum1 li .list-inner {
  padding: 58px 46px;
  background: #f8f8f8;
}

.list.program-list.colum1 li .img-wrap {
  width: 418px;
  margin-right: 53px;
}

.list.program-list.colum1 li .text-wrap {
  width: 46%;
}

.list.program-list.colum1 li .text-wrap .info {
  margin: 35px 0 10px;
}

.list.program-list.colum2 {
  padding: 0 46px;
  margin-top: 58px;
  margin-left: -53px;
}

.list.program-list.colum2 li {
  padding-left: 53px;
  padding-bottom: 53px;
}

.list.program-list.colum2 li:last-child {
  padding-bottom: 0;
}

.list.program-list.colum2 li .text-wrap .info {
  margin: 10px 0 5px;
}

.list.program-list span {
  display: block;
}

.list.program-list .img-wrap {
  position: relative;
}

.list.program-list .img-wrap:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
}

.list.program-list .img-wrap .program-list-ttl {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  color: #fff;
  text-align: center;
}

.list.program-list .img-wrap .program-list-ttl .ttl {
  font-size: 3rem;
  line-height: 1.1;
  position: relative;
  padding-bottom: 17px;
  margin-bottom: 12px;
}

.list.program-list .img-wrap .program-list-ttl .ttl:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc((100% - 42px)/2);
  width: 42px;
  height: 1px;
  background: #fff;
}

.list.program-list .img-wrap .program-list-ttl .small {
  font-size: 1.8rem;
  font-weight: 400;
}

.list.program-list .text-wrap .catch-copy {
  font-size: 2.7rem;
  line-height: 1.2;
}

.list.program-list .text-wrap .info .type {
  color: #8a0000;
  font-size: 3.3rem;
  font-weight: bold;
}

.list.program-list .text-wrap .info .name {
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
  text-align: right;
}

.list.program-list .text-wrap .info .name span {
  font-size: 1.2rem;
  color: #8a0000;
  margin-bottom: 6px;
  font-weight: bold;
}

.list.program-list .text-wrap .text {
  letter-spacing: -1px;
  line-height: 1.7;
}

.list.feature-list {
  border: 1px solid #E5E5E5;
  border-bottom: none;
  border-right: none;
}

.list.feature-list li {
  border-bottom: 1px solid #E5E5E5;
  border-right: 1px solid #E5E5E5;
}

.list.feature-list li a {
  font-size: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 27px 67px 27px;
  position: relative;
  letter-spacing: -1px;
  line-height: 1.4;
}

.list.feature-list li a:before {
  content: "";
  position: absolute;
  right: 24px;
  top: calc((100% - 18.38px)/2);
  width: 13px;
  height: 13px;
  border: 2px solid;
  border-color: transparent transparent #8a0000 #8a0000;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.list.feature-list li a:hover:before {
  top: calc((100% - 4.38px)/2);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.list.feature-list li .numb {
  position: absolute;
  left: 24px;
  top: calc((100% - 24px)/2);
  color: #8a0000;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
}

.list.step-flow-list {
  margin: 0 33px;
}

.list.step-flow-list .step-flow-list-li {
  margin-bottom: 76px;
  position: relative;
}

.list.step-flow-list .step-flow-list-li:before {
  content: "";
  position: absolute;
  width: 102px;
  height: 38px;
  background: url("../img/curriculum/step_flow_list_arrow.svg") no-repeat center/cover;
  bottom: -57px;
  left: calc((100% - 102px)/2);
}

.list.step-flow-list .step-flow-list-li:last-child {
  margin-bottom: 0;
}

.list.step-flow-list .step-flow-list-li:last-child:before {
  display: none;
}

.list.step-flow-list .step-flow-list-li .ttl {
  font-size: 2.5rem;
  text-align: center;
  background: #8a0000;
  color: #fff;
  font-weight: bold;
  padding: 16px 0;
  line-height: 1;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont {
  background: #F8F8F8;
  padding: 32px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-left, .list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-right {
  margin: 9.5px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner {
  background: #fff;
  padding: 30px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner.bg-none {
  background: none;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-list-desc {
  font-size: 1.4rem;
  color: #686868;
  margin-top: 20px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-ttl {
  font-size: 2.6rem;
  color: #8a0000;
  text-align: center;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-ttl span {
  display: block;
  font-size: 1.5rem;
  margin-top: 6px;
  color: #000;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-ttl .icon-pen {
  width: 21px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-ttl .icon-pc {
  width: 28px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-ttl .icon-man {
  width: 20px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-ttl .icon-comp {
  width: 50px;
  vertical-align: baseline;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .img-wrap {
  text-align: center;
  margin: 17px 0 28px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .img-wrap .img-card {
  width: 225px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .img-wrap .img-account {
  width: 279px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-text {
  text-align: left;
  line-height: 1.3;
  margin-top: 6px;
  font-size: 1.4rem;
  letter-spacing: -1px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-text.is-center {
  text-align: center;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont.small-cont .step-flow-cont-left, .list.step-flow-list .step-flow-list-li .step-flow-cont.small-cont .step-flow-cont-right {
  width: 249px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont.big-cont .step-flow-cont-left, .list.step-flow-list .step-flow-list-li .step-flow-cont.big-cont .step-flow-cont-right {
  width: 340px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont.max-cont .step-flow-cont-max {
  width: 100%;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-m {
  margin-top: 44px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list {
  margin-bottom: -52px;
  margin-top: 32px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list li {
  padding: 0 19px;
  width: 33%;
  margin-bottom: 52px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list li:nth-child(1), .list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list li:nth-child(2) {
  width: 40%;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list li:last-child .img-wrap img {
  width: 46px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list li .img-wrap {
  text-align: center;
  margin-bottom: 17px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list li .img-wrap img {
  width: 76px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list li h5 {
  font-size: 1.9rem;
  font-weight: bold;
  margin-bottom: 17px;
  text-align: center;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list2 {
  margin-top: 30px;
  margin-bottom: -20px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list2.m0 {
  margin-top: 0;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list2 li {
  padding: 0 10px;
  margin-bottom: 20px;
  width: 220px;
}

.list.step-flow-list .step-flow-list-li .step-flow-cont .step-flow-cont-inner-list2 li .text {
  text-align: center;
  font-size: 1.5rem;
  background: #f6ecec;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 15px;
  font-weight: bold;
}

.list.vision-list li {
  margin-bottom: 30px;
}

.list.vision-list li:last-child {
  margin-bottom: 0;
}

.list.vision-list li .vision-nmb {
  font-size: 3.8rem;
  font-weight: bold;
  color: #8a0000;
  margin-right: 15px;
  width: 53px;
}

.list.vision-list li .text-wrap {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
  width: calc(100% - 68px);
}

.list.vision-list li .text-wrap span {
  display: block;
  font-weight: 400;
  margin-top: 6px;
  font-size: 1.4rem;
}

.list.member-info-list {
  margin-left: -30px;
}

.list.member-info-list li {
  padding-left: 30px;
  padding-bottom: 30px;
}

.list.member-info-list li a {
  display: block;
  text-align: center;
  border: 1px solid #6b0b17;
  color: #6b0b17;
  padding: 20px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.list.member-info-list li a:hover {
  background: #6b0b17;
  color: #fff;
}

.list.coach_introduction_list {
  margin-left: -50px;
  margin-bottom: -50px;
}

.list.coach_introduction_list li {
  padding-left: 50px;
  padding-bottom: 50px;
}

.list.coach_introduction_list li a {
  display: block;
}

.list.coach_introduction_list li .img-wrap {
  width: 40%;
  height: 142px;
  overflow: hidden;
  position: relative;
}

.list.coach_introduction_list li .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: contain;';
  width: 100%;
  height: 100%;
}

.list.coach_introduction_list li .text-wrap {
  width: 60%;
  padding-left: 20px;
}

.list.coach_introduction_list li .caoch_ttl .oach_level_icon {
  width: 54px;
}

.list.coach_introduction_list li .caoch_ttl .coach_name {
  font-size: 1.3rem;
  width: calc(100% - 54px);
  padding-left: 12px;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .coach_level {
  display: block;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .coach_level.basic {
  color: #1e6086;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .coach_level.senior {
  color: #1a8068;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .coach_level.professional {
  color: #731621;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .coach_level.expert {
  color: #865123;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .coach_word {
  display: block;
  color: #c1a272;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .name {
  display: block;
  font-size: 2.3rem;
}

.list.coach_introduction_list li .caoch_ttl .coach_name .name .small {
  font-size: 1.4rem;
}

.list.coach_introduction_list li .coach_cat {
  margin-left: -9px;
  margin-bottom: -9px;
  margin-top: 12px;
}

.list.coach_introduction_list li .coach_cat li {
  padding-left: 9px;
  padding-bottom: 9px;
  width: 87px;
}

.list.coach_introduction_list li .coach_cat li span {
  display: block;
  border: 1px solid #9b8562;
  font-size: 1.2rem;
  text-align: center;
  color: #9b8562;
  padding: 1px;
}

.list.coach-introduction-price-list li {
  border-bottom: 2px solid #DDD;
  padding: 14px 0 21px;
}

.list.coach-introduction-price-list li span {
  display: block;
  text-align: center;
}

.list.coach-introduction-price-list li .rank {
  width: 50%;
  padding-left: 8.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.list.coach-introduction-price-list li .rank img {
  width: 54px;
}

.list.coach-introduction-price-list li .rank span {
  font-size: 2rem;
  margin-left: 20px;
  font-weight: bold;
}

.list.coach-introduction-price-list li .rank span.basic {
  color: #1e6086;
}

.list.coach-introduction-price-list li .rank span.senior {
  color: #1a8068;
}

.list.coach-introduction-price-list li .rank span.professional {
  color: #731621;
}

.list.coach-introduction-price-list li .rank span.expert {
  color: #865123;
}

.list.coach-introduction-price-list li .number {
  width: 25%;
  font-size: 2rem;
  font-weight: bold;
  color: #666;
  letter-spacing: 2px;
}

.list.specialty-list {
  margin-left: -18px;
  margin-bottom: -18px;
}

.list.specialty-list li {
  padding-left: 18px;
  padding-bottom: 18px;
  width: 138px;
}

.list.specialty-list li span {
  display: block;
  border: 1px solid #9b8562;
  color: #9b8562;
  font-size: 1.8rem;
  text-align: center;
  padding: 3px;
}

.list.coach-gallery {
  margin-left: -22px;
  margin-bottom: -22px;
}

.list.coach-gallery li {
  padding-left: 22px;
  padding-bottom: 22px;
}

.list.coach-gallery li a {
  display: block;
}

.list.coach-gallery li .img-wrap {
  width: 100%;
  padding: 33%;
  position: relative;
}

.list.coach-gallery li .img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: contain;';
  width: 100%;
  height: 100%;
}

.list.textarea-list {
  margin-left: -30px;
}

.list.textarea-list li {
  padding-left: 30px;
  padding-bottom: 30px;
}

.list.coaching-type-list {
  margin-left: -22px;
  margin-bottom: -22px;
}

.list.coaching-type-list li {
  padding-left: 22px;
  padding-bottom: 22px;
}

.list.coaching-type-list li a {
  display: block;
  background: #fff;
  border: 2px solid #c1a272;
  padding: 20px 20px 75px;
  position: relative;
}

.list.coaching-type-list li a:before {
  content: "";
  position: absolute;
  left: calc((100% - 107px)/2);
  bottom: 16px;
  width: 107px;
  height: 17px;
  background: url("../img/coaching/top/coaching_sec7_arrow.png") no-repeat center/cover;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.list.coaching-type-list li a:hover:before {
  bottom: 10px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.list.coaching-type-list li h3 {
  font-size: 5rem;
  text-align: center;
  color: #c1a272;
  line-height: 1;
  font-weight: 400;
}

.list.coaching-type-list li h3 span {
  display: block;
}

.list.coaching-type-list li h3 .num {
  font-size: 4.8rem;
  margin-bottom: 10px;
}

.list.coaching-type-list li h3 .small {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 14px;
  font-weight: bold;
}

.list.coaching-type-list li p {
  margin-top: 16px;
  line-height: 1.6;
  text-align: justify;
}

.list.is-note>.item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.list.is-note>.item>*:not(:first-child) {
  margin-left: 0.25em;
}

.common_table {
  width: 100%;
  border: 1px solid #dcdcdc;
}

.common_table tr {
  border-bottom: 1px solid #dcdcdc;
}

.common_table tr:last-child {
  border-bottom: none;
}

.common_table th, .common_table td {
  padding: 18px 26px;
}

.common_table th {
  background: #f5f5f5;
  text-align: left;
  width: 25%;
  border-right: 1px solid #dcdcdc;
}

.common_table td {
  width: 75%;
}

.seminar-table {
  width: 100%;
  border: 1px solid #dcdcdc;
}

.seminar-table tr:last-child th, .seminar-table tr:last-child td {
  border-bottom: none;
}

.seminar-table tr th, .seminar-table tr td {
  padding: 14px 40px;
}

.seminar-table tr th {
  background: #626262;
  font-weight: 400;
  color: #fff;
  width: 17%;
  border-bottom: 1px solid #7A7A7A;
}

.seminar-table tr td {
  font-weight: 400;
  line-height: 1.6;
  width: 83%;
  border-bottom: 1px solid #dcdcdc;
}

.seminar-table tr td .big {
  font-size: 2.2rem;
  font-weight: 500;
}

.seminar-table tr td iframe {
  width: 530px;
  height: 311px;
  margin-top: 11px;
}

.app-table {
  width: 100%;
  margin-top: 15px;
}

.app-table th {
  color: #504f4f;
  text-align: left;
  padding: 15px 45px 15px 0;
  position: relative;
  font-weight: 500;
}

.app-table td {
  padding: 15px 0 15px 15px;
}

.app-table tbody tr {
  border-top: 1px solid #DCDCDC;
}

.app-table tbody tr th {
  width: 25%;
}

.app-table tbody tr th .required {
  color: #fff;
  background: #8a0000;
  font-size: 1.2rem;
  font-weight: 400;
  padding: 1px 5px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
  -ms-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.app-table tbody tr th .small {
  font-size: 1.1rem;
}

.app-table tbody tr td {
  width: 75%;
  font-weight: 400;
}

.app-table tbody tr td.colum-2 .grid {
  margin-bottom: -4%;
}

.app-table tbody tr td.colum-2 .colum-2-inner {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 4%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.app-table tbody tr td.colum-2 .colum-2-inner:nth-child(2n) {
  margin-right: 0;
}

.app-table tbody tr td.colum-2 .colum-2-inner .ttl {
  margin-right: 5%;
  width: 37px;
}

.app-table tbody tr td.colum-2 .colum-2-inner .input-wrap {
  width: 81%;
}

.app-table tbody tr td.colum-3 .grid {
  margin-bottom: -4%;
}

.app-table tbody tr td.colum-3 .colum-3-inner {
  width: 30%;
  margin-right: 4%;
  margin-bottom: 4%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.app-table tbody tr td.colum-3 .colum-3-inner:nth-child(3n) {
  margin-right: 0;
}

.app-table tbody tr td.colum-3 .colum-3-inner .ttl {
  margin-right: 5%;
  width: 37px;
}

.app-table tbody tr td.colum-3 .colum-3-inner .input-wrap {
  width: 81%;
}

.app-table tbody tr.price th, .app-table tbody tr.price td {
  color: #000;
}

.app-table tbody tr.price td {
  font-size: 2rem;
  font-weight: 500;
}

.table-tate tbody tr th, .table-tate tbody tr td {
  width: 100%;
  display: block;
}

.seminar-history-table {
  width: 100%;
}

.seminar-history-table td {
  display: block;
}

.seminar-history-table .parent {
  margin-bottom: 17px;
  display: block;
}

.seminar-history-table .parent:last-of-type {
  margin-bottom: 0;
}

.seminar-history-table table {
  width: 100%;
}

.seminar-history-table table th, .seminar-history-table table td {
  border: 1px solid #dcdcdc;
  padding: 15px 6px;
}

.seminar-history-table table th {
  letter-spacing: -1px;
  color: #504f4f;
  font-weight: 500;
  background: #f7f7f7;
  padding: 10px 0;
}

.seminar-history-table table td {
  display: table-cell;
}

.seminar-history-table table a {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.seminar-history-table table a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.seminar-history-table table .day {
  font-weight: 500;
  text-align: center;
}

.seminar-history-table table .category {
  text-align: center;
}

.seminar-history-table table .point {
  font-size: 1.2rem;
  color: #cacaca;
  font-weight: bold;
  text-align: center;
}

.seminar-history-table table .point span {
  font-size: 2rem;
  display: block;
  margin-bottom: 5px;
}

.seminar-history-table table .point.plus span {
  color: #8a0000;
}

.seminar-history-table table .point.minus span {
  color: #555;
}

.seminar-history-table table .instructor-img {
  margin-bottom: 5px;
}

.seminar-history-table table .price {
  font-weight: bold;
  text-align: center;
}

.seminar-history-table table .name {
  font-size: 1.4rem;
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
}

.seminar-history-table table .name:last-of-type {
  margin-bottom: 0;
}

.seminar-history-table table .name .title {
  font-size: 1rem;
  line-height: 1.2;
  display: block;
  font-weight: 400;
}

.seminar-history-table table .receipt {
  background: none;
  padding: 15px 10px;
}

.seminar-history-table table .receipt .receipt-btn {
  color: #fff;
  background: #626262;
  display: block;
  font-weight: 400;
  font-size: 1.2rem;
  padding: 11px 22px 11px 0;
  position: relative;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.seminar-history-table table .receipt .receipt-btn:hover {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.7;
}

.seminar-history-table table .receipt .receipt-btn:before {
  content: "";
  position: absolute;
  right: 12px;
  top: calc((100% - 16px)/2);
  width: 13px;
  height: 16px;
  background: url("../img/common/receipt_icon.png") no-repeat center/cover;
}

.seminar-history-table table .receipt .receipt-btn.cancel {
  margin-top: 30px;
  background: #272727;
  padding: 11px 0;
}

.seminar-history-table table .receipt .receipt-btn.cancel:before {
  display: none;
}

.introduction-table {
  border: 1px solid #dcdcdc;
  width: 100%;
}

.introduction-table th, .introduction-table td {
  letter-spacing: -1px;
  width: 25%;
  line-height: 1.4;
  padding: 15px 0;
  border-left: 1px solid #DCDCDC;
  border-bottom: 1px solid #DCDCDC;
}

.introduction-table th {
  background: #626262;
  color: #fff;
}

.introduction-table thead th {
  font-size: 1.8rem;
  font-weight: bold;
  padding: 17px 0;
}

.introduction-table tbody td {
  font-size: 1.8rem;
  text-align: center;
}

.introduction-table tbody td .small {
  font-size: 1.3rem;
}

.introduction-table tbody td .red {
  color: #8a0000;
  font-weight: bold;
}

.schedule-table {
  border: 1px solid #ddd;
  border-color: #ddd;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.schedule-table tr th, .schedule-table tr td {
  padding: 15px 0;
}

.schedule-table thead {
  background: #efefef;
}

.schedule-table thead tr {
  font-size: 2.0rem;
  font-weight: bold;
}

.schedule-table tbody tr th .big, .schedule-table tbody tr th .mid, .schedule-table tbody tr td .big, .schedule-table tbody tr td .mid {
  font-weight: bold;
  line-height: 1.2;
}

.schedule-table tbody tr th .big, .schedule-table tbody tr td .big {
  font-size: 3.5rem;
}

.schedule-table tbody tr th .mid, .schedule-table tbody tr td .mid {
  font-size: 2.2rem;
}

.schedule-table tbody tr th {
  font-size: 1.6rem;
}

.schedule-table tbody tr td {
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: center;
}

.schedule-table tbody tr td.status {
  font-weight: bold;
  font-size: 2.5rem;
}

.schedule-table tbody tr td.full {
  color: #ff0000;
}

.schedule-table tbody tr td a {
  width: 80%;
  padding: 15px 0;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #771521;
  border: 1px solid #771521;
  font-size: 1.5rem;
}

/*
コーチングマイページテーブル
*/

.coaching-mypge-table-wrap {
  margin-bottom: 65px;
}

.coaching-mypge-table-wrap:last-of-type {
  margin-bottom: 0;
}

.questionnaire-data-wrap .coaching-mypge-table th {
  font-weight: bold;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .oach_level_icon {
  width: 30px;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .coach_name {
  font-size: 1rem;
  width: calc(100% - 30px);
  padding-left: 12px;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .coach_name .coach_level {
  display: block;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .coach_name .coach_level.basic {
  color: #1e6086;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .coach_name .coach_level.senior {
  color: #1a8068;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .coach_name .coach_level.professional {
  color: #731621;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .coach_name .coach_level.expert {
  color: #865123;
}

.questionnaire-data-wrap .coaching-mypge-table td.name .caoch_ttl .coach_name .name {
  display: block;
  font-size: 2rem;
  line-height: 1.2;
}

.coaching-mypge-table {
  width: 100%;
  border-color: #ddd;
  border: 1px solid #ddd;
  border-collapse: collapse;
  table-layout: fixed;
}

.coaching-mypge-table .pc-tb {
  display: table-cell;
}

.coaching-mypge-table .sp-tb {
  display: none;
}

.coaching-mypge-table th, .coaching-mypge-table td {
  padding: 12px;
  color: #707070;
}

.coaching-mypge-table th.current, .coaching-mypge-table td.current {
  background: #771521;
  color: #fff;
}

.coaching-mypge-table thead th {
  background: #eee;
  font-size: 1.6rem;
}

.coaching-mypge-table tbody th {
  background: #eee;
}

.coaching-mypge-table tbody td {
  font-size: 1.4rem;
}

.coaching-mypge-table .table-btn-wrap {
  margin-bottom: -10px;
}

.coaching-mypge-table .table-btn-wrap .table-btn {
  margin-top: 0;
  margin-bottom: 10px;
}

.coaching-mypge-table .table-btn {
  font-size: 1.2rem;
  color: #CCC;
  background: #ddd;
  text-align: center;
  padding: 9px 40px;
  font-weight: bold;
  margin-right: 20px;
  margin-top: 10px;
}

.coaching-mypge-table .table-btn:last-child {
  margin-right: 0;
}

.coaching-mypge-table .table-btn.act {
  color: #fff;
  background: #771521;
}

.coaching-mypge-table .table-btn.end {
  position: relative;
}

.coaching-mypge-table .table-btn.end:before {
  content: "";
  position: absolute;
  right: 11.5px;
  top: calc((100% - 23px)/2);
  width: 23px;
  height: 23px;
  background: url("../img/common/end_icon.svg") no-repeat center/cover;
}

.sec_contact {
  padding: 60px 0 165px;
}

.comp_text {
  text-align: center;
  margin: 60px 0;
}

.conf_title {
  margin-bottom: 30px;
}

.w48 {
  width: 48%;
}

#contact_form {
  /**********************************************************
	ラジオボタンデザイン
	**********************************************************/
  /*********************************************************
	コーチ検索フォーム
	*********************************************************/
  /*********************************************************
	フォームデザイン
	*********************************************************/
  /*********************************************************
	事前アンケートデザイン
	*********************************************************/
  /*********************************************************
	コーチングお支払いデザイン
	*********************************************************/
}

#contact_form button, #contact_form input, #contact_form select, #contact_form textarea {
  font-size: 1.6rem;
  font-weight: 400;
  width: 100%;
}

#contact_form button.w48, #contact_form input.w48, #contact_form select.w48, #contact_form textarea.w48 {
  width: 48%;
}

#contact_form button.w78, #contact_form input.w78, #contact_form select.w78, #contact_form textarea.w78 {
  width: 78%;
}

#contact_form textarea, #contact_form select, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]) {
  padding: 6px 8px;
  border: 1px solid #dcdcdc;
  background: #fff;
  display: block;
}

#contact_form textarea::-ms-expand, #contact_form select::-ms-expand, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button])::-ms-expand {
  display: none;
}

#contact_form textarea, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]) {
  width: 100%;
  line-height: 1.4;
}

#contact_form textarea:placeholder-shown, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):placeholder-shown {
  color: #d2d2d2;
}

#contact_form textarea::-webkit-input-placeholder, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button])::-webkit-input-placeholder {
  color: #d2d2d2;
}

#contact_form textarea:-moz-placeholder, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):-moz-placeholder {
  color: #d2d2d2;
  opacity: 1;
}

#contact_form textarea::-moz-placeholder, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button])::-moz-placeholder {
  color: #d2d2d2;
  opacity: 1;
}

#contact_form textarea:-ms-input-placeholder, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):-ms-input-placeholder {
  color: #d2d2d2;
}

#contact_form textarea.w48, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]).w48 {
  width: 48%;
}

#contact_form textarea.w78, #contact_form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]).w78 {
  width: 78%;
}

#contact_form input:focus, #contact_form textarea:focus {
  outline: 1px solid #ccc;
}

#contact_form input[type=radio]:focus {
  outline: none;
}

#contact_form td, #contact_form dd, #contact_form div, #contact_form span {
  position: relative;
}

#contact_form .m0 {
  margin: 0;
}

#contact_form .radio-wrap.radio-btn label, #contact_form .radio-wrap.check-btn label, #contact_form .check-wrap.radio-btn label, #contact_form .check-wrap.check-btn label {
  width: 294px;
  height: 79px;
  margin-right: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#contact_form .radio-wrap.radio-btn label:last-of-type, #contact_form .radio-wrap.check-btn label:last-of-type, #contact_form .check-wrap.radio-btn label:last-of-type, #contact_form .check-wrap.check-btn label:last-of-type {
  margin-right: 0;
}

#contact_form .radio-wrap.radio-btn label span, #contact_form .radio-wrap.check-btn label span, #contact_form .check-wrap.radio-btn label span, #contact_form .check-wrap.check-btn label span {
  width: 100%;
  height: 100%;
  padding: 0 34px;
  border: 1px solid #DCDCDC;
}

#contact_form .radio-wrap.radio-text label, #contact_form .radio-wrap.check-text label, #contact_form .check-wrap.radio-text label, #contact_form .check-wrap.check-text label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: 25px;
}

#contact_form .radio-wrap.radio-text label:last-child, #contact_form .radio-wrap.check-text label:last-child, #contact_form .check-wrap.radio-text label:last-child, #contact_form .check-wrap.check-text label:last-child {
  margin-right: 0;
}

#contact_form .radio-wrap.radio-text label span, #contact_form .radio-wrap.check-text label span, #contact_form .check-wrap.radio-text label span, #contact_form .check-wrap.check-text label span {
  color: #504f4f;
  letter-spacing: -1px;
}

#contact_form .radio-wrap.tate .label-wrap, #contact_form .check-wrap.tate .label-wrap {
  margin-bottom: 25px;
}

#contact_form .radio-wrap.tate .label-wrap:last-child, #contact_form .check-wrap.tate .label-wrap:last-child {
  margin-bottom: 0;
}

#contact_form .radio-wrap.tate label, #contact_form .check-wrap.tate label {
  margin-bottom: 25px;
}

#contact_form .radio-wrap.tate label:last-child, #contact_form .check-wrap.tate label:last-child {
  margin-bottom: 25px;
}

#contact_form .radio-wrap.yoko, #contact_form .check-wrap.yoko {
  margin-bottom: -25px;
}

#contact_form .radio-wrap.yoko label, #contact_form .radio-wrap.yoko .other-wrap, #contact_form .check-wrap.yoko label, #contact_form .check-wrap.yoko .other-wrap {
  margin-bottom: 25px;
}

#contact_form .radio-wrap.is-decision .radio-icon, #contact_form .radio-wrap.is-decision .check-icon, #contact_form .check-wrap.is-decision .radio-icon, #contact_form .check-wrap.is-decision .check-icon {
  width: 250px;
  height: 79px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 34px;
  border: 1px solid #8a0000;
  position: relative;
}

#contact_form .radio-wrap.is-decision .radio-icon:before, #contact_form .radio-wrap.is-decision .check-icon:before, #contact_form .check-wrap.is-decision .radio-icon:before, #contact_form .check-wrap.is-decision .check-icon:before {
  content: "";
  position: absolute;
  right: -13px;
  top: -13px;
  width: 26px;
  height: 26px;
  background: url("../img/common/radio_check_on.png") no-repeat center/cover;
}

#contact_form .radio-wrap .other-wrap label, #contact_form .check-wrap .other-wrap label {
  margin-bottom: 0;
}

#contact_form .radio-wrap.auto-login, #contact_form .check-wrap.auto-login {
  margin-top: 15px;
}

#contact_form .radio-wrap.auto-login label, #contact_form .check-wrap.auto-login label {
  padding-left: 24px;
}

#contact_form .radio-wrap.auto-login label .check-icon, #contact_form .check-wrap.auto-login label .check-icon {
  font-size: 1.4rem;
}

#contact_form .radio-wrap.auto-login label input[type=radio]+.radio-icon:before, #contact_form .radio-wrap.auto-login label input[type=checkbox]+.check-icon:before, #contact_form .check-wrap.auto-login label input[type=radio]+.radio-icon:before, #contact_form .check-wrap.auto-login label input[type=checkbox]+.check-icon:before {
  width: 16px;
  height: 16px;
  left: -24px;
  top: calc((100% - 16px)/2);
}

#contact_form .radio-wrap label, #contact_form .check-wrap label {
  cursor: pointer;
  padding-left: 44px;
}

#contact_form .radio-wrap label input, #contact_form .check-wrap label input {
  display: none;
}

#contact_form .radio-wrap label span, #contact_form .check-wrap label span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 400;
}

#contact_form .radio-wrap label span.is-strong, #contact_form .check-wrap label span.is-strong {
  font-weight: 500;
}

#contact_form .radio-wrap label img, #contact_form .check-wrap label img {
  width: 100%;
}

#contact_form .radio-wrap label input[type=radio]+.radio-icon:before, #contact_form .radio-wrap label input[type=checkbox]+.check-icon:before, #contact_form .check-wrap label input[type=radio]+.radio-icon:before, #contact_form .check-wrap label input[type=checkbox]+.check-icon:before {
  content: "";
  background: url("../img/common/radio_check_off.png") no-repeat center/cover;
  width: 26px;
  height: 26px;
  position: absolute;
  left: -44px;
  top: calc((100% - 26px)/2);
}

#contact_form .radio-wrap label input[type=radio]:checked+.radio-icon:before, #contact_form .radio-wrap label input[type=checkbox]:checked+.check-icon:before, #contact_form .check-wrap label input[type=radio]:checked+.radio-icon:before, #contact_form .check-wrap label input[type=checkbox]:checked+.check-icon:before {
  background: url("../img/common/radio_check_on.png") no-repeat center/cover;
}

#contact_form .notes {
  font-size: 1.2rem;
  display: block;
  margin-bottom: 5px;
}

#contact_form .notes span {
  color: #8a0000;
}

#contact_form .questionnaire-sheet-ttl {
  font-size: 2rem;
  margin-bottom: 15px;
  display: block;
}

#contact_form tr td .questionnaire-sheet .check-icon, #contact_form tr td .questionnaire-sheet .radio-icon {
  margin-right: 20px;
}

#contact_form tr td .questionnaire-sheet input[type=text] {
  width: auto !important;
}

#contact_form dl dt {
  font-weight: 500;
}

#contact_form .address-search-btn {
  width: 96px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #8a0000;
  color: #fff;
  border-radius: 5px;
  border: none;
  padding: 5px;
  cursor: pointer;
  margin-left: 6px;
}

#contact_form.coach_search dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 25px 0;
  border-bottom: 1px solid #E5E5E5;
}

#contact_form.coach_search dl:last-of-type {
  border-bottom: none;
}

#contact_form.coach_search dt {
  width: 10%;
  font-size: 1.8rem;
}

#contact_form.coach_search dd {
  width: 90%;
}

#contact_form.coach_search .radio-wrap.radio-text label, #contact_form.coach_search .radio-wrap.check-text label, #contact_form.coach_search .check-wrap.radio-text label, #contact_form.coach_search .check-wrap.check-text label {
  margin-right: 30px;
}

#contact_form.coach_search .radio-wrap.radio-text label span, #contact_form.coach_search .radio-wrap.check-text label span, #contact_form.coach_search .check-wrap.radio-text label span, #contact_form.coach_search .check-wrap.check-text label span {
  color: #504f4f;
  letter-spacing: -1px;
}

#contact_form.coach_search .radio-wrap.yoko, #contact_form.coach_search .check-wrap.yoko {
  margin-bottom: -15px;
}

#contact_form.coach_search .radio-wrap.yoko label, #contact_form.coach_search .radio-wrap.yoko .other-wrap, #contact_form.coach_search .check-wrap.yoko label, #contact_form.coach_search .check-wrap.yoko .other-wrap {
  margin-bottom: 15px;
}

#contact_form.coach_search .radio-wrap label, #contact_form.coach_search .check-wrap label {
  padding-left: 22px;
}

#contact_form.coach_search .radio-wrap label span, #contact_form.coach_search .check-wrap label span {
  font-size: 1.5rem;
}

#contact_form.coach_search .radio-wrap label input[type=radio]+.radio-icon:before, #contact_form.coach_search .radio-wrap label input[type=checkbox]+.check-icon:before, #contact_form.coach_search .check-wrap label input[type=radio]+.radio-icon:before, #contact_form.coach_search .check-wrap label input[type=checkbox]+.check-icon:before {
  content: "";
  background: url("../img/common/coaching_radio_check_off.jpg") no-repeat center/cover;
  width: 16px;
  height: 16px;
  left: -22px;
  top: calc((100% - 16px)/2);
}

#contact_form.coach_search .radio-wrap label input[type=radio]:checked+.radio-icon:before, #contact_form.coach_search .radio-wrap label input[type=checkbox]:checked+.check-icon:before, #contact_form.coach_search .check-wrap label input[type=radio]:checked+.radio-icon:before, #contact_form.coach_search .check-wrap label input[type=checkbox]:checked+.check-icon:before {
  background: url("../img/common/coaching_radio_check_on.jpg") no-repeat center/cover;
}

#contact_form.coach_search .form_btn {
  margin: 0 15px;
}

#contact_form .seminar-table3 {
  margin-top: 85px;
}

#contact_form .seminar-table3.card-wrap {
  margin-top: 30px;
}

#contact_form .seminar-table3 dl {
  margin-bottom: 18px;
}

#contact_form .seminar-table3 dl:last-of-type {
  margin-bottom: 0;
}

#contact_form .seminar-table3 dl dt {
  font-weight: bold;
  color: #504f4f;
  letter-spacing: -1px;
  margin-bottom: 5px;
}

#contact_form .seminar-table3 dl dd.card_number {
  position: relative;
}

#contact_form .seminar-table3 dl dd.card_number span {
  position: relative;
}

#contact_form .seminar-table3 dl dd.card_number img {
  position: absolute;
  max-width: 122px;
  width: 29%;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
  -ms-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

#contact_form .seminar-table3 .left-cont {
  width: 53%;
  margin-right: 10%;
}

#contact_form .seminar-table3 .left-cont .form-ttl {
  margin-bottom: 14px;
}

#contact_form .seminar-table3 .left-cont .left-cont-left .select_wrapp {
  width: 80px;
}

#contact_form .seminar-table3 .left-cont .left-cont-left span {
  display: block;
  margin: 0 8.9px;
}

#contact_form .seminar-table3 .left-cont .left-cont-left .desc {
  letter-spacing: -1px;
  color: #504f4f;
  margin: 12px 0 0;
}

#contact_form .seminar-table3 .left-cont .left-cont-left #select {
  width: 100%;
}

#contact_form .seminar-table3 .left-cont .left-cont-right dd {
  position: relative;
}

#contact_form .seminar-table3 .left-cont .left-cont-right #security_code {
  width: 129px;
}

#contact_form .seminar-table3 .left-cont .left-cont-right .hint {
  width: 22px;
  right: 0;
  top: calc((100% - 22px)/2);
  display: inline-block;
  cursor: pointer;
  margin-left: 6px;
}

#contact_form .seminar-table3 .left-cont .left-cont-right .hint:hover+.hint-popup {
  opacity: 1;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#contact_form .seminar-table3 .left-cont .left-cont-right .hint-popup {
  position: absolute;
  background: #8a0000;
  color: #fff;
  font-size: 1.1rem;
  width: 145px;
  bottom: -53px;
  right: 0;
  z-index: 1;
  opacity: 0;
  letter-spacing: -1px;
  padding: 5px 7px;
  line-height: 1.4;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#contact_form .seminar-table3 .left-cont .left-cont-right .hint-popup:before {
  content: "";
  position: absolute;
  left: 8px;
  top: -8px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 8px solid #8a0000;
}

#contact_form .seminar-table3 .right-cont {
  width: 35%;
  background: #f4f4f4;
  padding: 16px 18px 25px;
}

#contact_form .seminar-table3 .right-cont .ttl {
  display: block;
  font-size: 1.4rem;
  color: #9c9c9c;
  text-align: center;
  letter-spacing: -1px;
  margin-bottom: 10px;
}

#contact_form .seminar-table3 .right-cont .text {
  font-size: 1.6rem;
  color: #504f4f;
  letter-spacing: -1px;
  border-top: 1px solid #DEDEDE;
  border-bottom: 1px solid #DEDEDE;
  height: 107px;
}

#contact_form .seminar-table3 .right-cont .text span {
  font-size: 1.4rem;
}

#contact_form .seminar-table3 .right-cont .price {
  margin-top: 25px;
  font-weight: 500;
}

#contact_form .seminar-table3 .right-cont .price .big {
  font-size: 2.2rem;
}

#contact_form.coaching-questionnaire .pc-tb {
  display: table-cell;
}

#contact_form.coaching-questionnaire .sp-tb {
  display: none;
}

#contact_form.coaching-questionnaire dl {
  margin-bottom: 30px;
}

#contact_form.coaching-questionnaire dl:last-child {
  margin-bottom: 0;
}

#contact_form.coaching-questionnaire dl dt {
  background: #771521;
  color: #fff;
  font-size: 1.8rem;
  padding: 11px 18px;
  margin-bottom: 10px;
}

#contact_form.coaching-questionnaire dl dd {
  padding: 0 18px;
  font-size: 1.8rem;
  color: #707070;
  margin-bottom: 15px;
}

#contact_form.coaching-questionnaire dl dd:last-child {
  margin-bottom: 0;
}

#contact_form.coaching-questionnaire dl dd p {
  font-weight: bold;
  margin: 15px 0px 7px;
}

#contact_form.coaching-questionnaire dl dd dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 25px;
}

#contact_form.coaching-questionnaire dl dd dl:first-child {
  margin-top: 35px;
}

#contact_form.coaching-questionnaire dl dd dl dt {
  background: none;
  color: #707070;
  font-size: 1.6rem;
  padding: 0;
  width: 2%;
  text-align: center;
}

#contact_form.coaching-questionnaire dl dd dl dd {
  width: 98%;
}

#contact_form.coaching-questionnaire .table-2-column table {
  border: none;
}

#contact_form.coaching-questionnaire .table-2-column table tbody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#contact_form.coaching-questionnaire .table-2-column table tbody tr {
  width: 50%;
  display: inline-table;
}

#contact_form.coaching-questionnaire .table-2-column table tbody tr th, #contact_form.coaching-questionnaire .table-2-column table tbody tr td {
  border-bottom: none;
}

#contact_form.coaching-questionnaire .table-2-column table tbody tr:nth-child(odd) td {
  border-right: none;
}

#contact_form.coaching-questionnaire .table-2-column table tbody tr:last-child th, #contact_form.coaching-questionnaire .table-2-column table tbody tr:last-child td, #contact_form.coaching-questionnaire .table-2-column table tbody tr:nth-last-child(2) th, #contact_form.coaching-questionnaire .table-2-column table tbody tr:nth-last-child(2) td {
  border-bottom: 1px solid #ddd;
}

#contact_form.coaching-questionnaire table {
  margin-top: 30px;
  width: 100%;
  border: 1px solid #ddd;
  border-collapse: collapse;
  table-layout: fixed;
}

#contact_form.coaching-questionnaire table th, #contact_form.coaching-questionnaire table td {
  padding: 20px;
  border: 1px solid #ddd;
}

#contact_form.coaching-questionnaire table tr {
  width: 100%;
}

#contact_form.coaching-questionnaire table thead th {
  background: #EEE;
  color: #707070;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 12px;
}

#contact_form.coaching-questionnaire table tbody th {
  background: #EEE;
  color: #707070;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 34px;
}

#contact_form.coaching-questionnaire table tbody td.bg {
  background: #EEE;
  color: #707070;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 12px;
}

#contact_form.coaching-questionnaire table td dl:first-child {
  margin-top: 0;
}

#contact_form.coaching-questionnaire table select {
  font-size: 1.6rem;
}

#contact_form.coaching-questionnaire .radio-wrap, #contact_form.coaching-questionnaire .check-wrap {
  margin-top: 35px;
}

#contact_form.coaching-questionnaire .radio-wrap.radio-text label, #contact_form.coaching-questionnaire .radio-wrap.check-text label, #contact_form.coaching-questionnaire .check-wrap.radio-text label, #contact_form.coaching-questionnaire .check-wrap.check-text label {
  margin-right: 50px;
}

#contact_form.coaching-questionnaire .radio-wrap.yoko, #contact_form.coaching-questionnaire .check-wrap.yoko {
  margin-bottom: -15px;
}

#contact_form.coaching-questionnaire .radio-wrap.yoko label, #contact_form.coaching-questionnaire .radio-wrap.yoko .other-wrap, #contact_form.coaching-questionnaire .check-wrap.yoko label, #contact_form.coaching-questionnaire .check-wrap.yoko .other-wrap {
  margin-bottom: 15px;
}

#contact_form.coaching-questionnaire .radio-wrap label, #contact_form.coaching-questionnaire .check-wrap label {
  padding-left: 22px;
}

#contact_form.coaching-questionnaire .radio-wrap label span, #contact_form.coaching-questionnaire .check-wrap label span {
  font-size: 1.4rem;
}

#contact_form.coaching-questionnaire .radio-wrap label input[type=radio]+.radio-icon:before, #contact_form.coaching-questionnaire .radio-wrap label input[type=checkbox]+.check-icon:before, #contact_form.coaching-questionnaire .check-wrap label input[type=radio]+.radio-icon:before, #contact_form.coaching-questionnaire .check-wrap label input[type=checkbox]+.check-icon:before {
  content: "";
  background: #fff;
  border: 1px solid #707070;
  border-radius: 100px;
  width: 16px;
  height: 16px;
  left: -22px;
  top: calc((100% - 16px)/2);
}

#contact_form.coaching-questionnaire .radio-wrap label input[type=radio]+.radio-icon:after, #contact_form.coaching-questionnaire .radio-wrap label input[type=checkbox]+.check-icon:after, #contact_form.coaching-questionnaire .check-wrap label input[type=radio]+.radio-icon:after, #contact_form.coaching-questionnaire .check-wrap label input[type=checkbox]+.check-icon:after {
  content: "";
  position: absolute;
  background: #707070;
  border-radius: 100px;
  width: 10px;
  height: 10px;
  left: -19px;
  top: calc((100% - 10px)/2);
  opacity: 0;
}

#contact_form.coaching-questionnaire .radio-wrap label input[type=radio]:checked+.radio-icon:after, #contact_form.coaching-questionnaire .radio-wrap label input[type=checkbox]:checked+.check-icon:after, #contact_form.coaching-questionnaire .check-wrap label input[type=radio]:checked+.radio-icon:after, #contact_form.coaching-questionnaire .check-wrap label input[type=checkbox]:checked+.check-icon:after {
  opacity: 1;
}

#contact_form.coaching-questionnaire .form-btn-wrap {
  margin-top: 65px;
}

#contact_form.coaching-questionnaire .textarea-list {
  margin-top: 30px;
}

#contact_form .coach-app-content {
  margin-bottom: 45px;
  border-bottom: 1px solid #DCDCDC;
  padding-bottom: 25px;
}

#contact_form .coach-app-content .coach-app-content-wrap span {
  display: block;
}

#contact_form .coach-app-content .coach-app-content-wrap p {
  color: #707070;
}

#contact_form .coach-app-content .coach-app-content-wrap .left {
  width: 60%;
  font-size: 2rem;
  line-height: 1.8;
}

#contact_form .coach-app-content .coach-app-content-wrap .right {
  width: 40%;
  font-size: 3rem;
  text-align: center;
}

#contact_form .coach-app-content .coach-app-content-wrap .coach-app-content-ttl {
  background: #eee;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: #707070;
  padding: 14px 0;
  height: 55px;
  margin-bottom: 25px;
}

#contact_form .coach-app-content .coach-app-content-wrap .cont {
  padding: 0 25px;
}

/**********************************************************
エラーデザイン
**********************************************************/

#error-target {
  display: inline-block;
  color: #fff;
  background: #8a0000;
  padding: 3px 6px;
  font-size: 1.1rem;
  position: relative;
  margin: 0 0 10px 0;
}

#error-target:before {
  content: "";
  position: absolute;
  left: 8px;
  bottom: -8px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid #8a0000;
}

.alert {
  color: #8a0000;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 15px;
}

/*================================================
アンケート
================================================*/

.questionnaire-sec {
  background-color: #FBFAF7;
}

.main #contactSec {
  padding-top: 30px;
}

.main .temp_ttl {
  display: block;
  margin: 0 0 20px 0;
  font-size: 27px;
  font-weight: bold;
  text-align: center;
}

.main .formbox {
  border: 1px solid #ccc;
  padding: 70px 8.2%;
}

.main input, .main textarea {
  margin: 1px;
  font-size: 1.3rem;
}

.main h5 {
  margin: 0 0 40px;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  font-weight: bold;
  text-align: center;
}

.main .formsec .formtbl {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}

.main table tr {
  border-bottom: 1px solid #ccc;
}

.main .formsec .formtbl tr th, .main .formsec .formtbl tr td {
  vertical-align: top;
  text-align: left;
}

.main .formsec .formtbl tr th {
  width: 240px;
  padding: 33px 20px 20px 55px;
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
}

.main .formsec .formtbl tr td {
  padding: 25px 0;
  font-size: 1.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main input[type="text"], .main input[type="email"], .main input[type="number"], .main input[type="password"], .main select, .main textarea {
  border: none;
  -webkit-appearance: none;
  outline: 0;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
}

.main .formsec input[type="text"], .main .formsec input[type="email"], .main .formsec input[type="tel"] {
  max-width: 500px;
}

.main .formsec input {
  width: 100%;
  height: 36px;
}

.main .formsec input, .main .formsec textarea, .main .formsec select {
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 0 5px;
}

.main .formsec .formtbl tr th span.must {
  background: #f52e27;
}

.main .formsec .formtbl tr th span.must, .main .formsec .formtbl tr th span.free {
  position: absolute;
  left: 0;
  top: 33px;
  display: block;
  width: 42px;
  text-align: center;
  padding: 2px 1px 1px;
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  border-radius: 3px;
}

.main .formsec textarea {
  width: 100% !important;
  min-height: 200px;
  min-width: 200px;
  max-width: 500px;
}

.main .formsec .submit button, .main .formsec .confirm button, .main .formsec .back button {
  border: none;
  display: block;
  margin: 50px auto 0;
  padding: 17px 20px;
  width: 100%;
  max-width: 360px;
  background: #f52e27;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  font-size: 1.4rem;
  font-family: inherit;
}

.main .formsec .formtbl tr th span.free, .main .formsec .back button {
  background: #888;
}

.main .formsec .radiolist, .main .formsec .checkboxlist {
  width: 15px;
}

.main .formsec .radio, .main .formsec .checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main .formsec .radio.tatewrap .checkbox_wrap, .main .formsec .checkbox.tatewrap .checkbox_wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main .formsec .radio.tatewrap .checkbox_wrap .tateinner, .main .formsec .checkbox.tatewrap .checkbox_wrap .tateinner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main .formsec .radio label, .main .formsec .checkbox label {
  font-size: 1.4rem;
  font-weight: 500;
}

.main .formsec select {
  width: 100%;
  height: 36px;
  font-weight: bold;
}

.main .formsec .zip_icon {
  font-weight: bold;
  font-size: 1rem;
  margin-right: 10px;
  vertical-align: middle;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main .formsec .zipcode {
  width: 40%;
}

.main .formsec .pulldown {
  position: relative;
  width: 100%;
}

.main .formsec .pulldown:after {
  position: absolute;
  content: "";
  left: 100px;
  top: 15px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-top: 6px solid #000;
  pointer-events: none;
}

.main .formsec .address .pulldown {
  width: 18%;
}

.main .formsec .address .pulldown:after {
  left: 92px;
  right: auto;
}

.main .formsec .address .pulldown select {
  width: 95%;
}

.main .formsec .input_mgn {
  margin-bottom: 10px;
}

.msg_caution, .error_msg {
  display: block;
  width: 100%;
}

.error_msg {
  color: #ff0000;
}

.checkbox_wrap, .radiobtn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 20px;
}

.checkbox_wrap.other {
  width: 100%;
}

.checkbox_wrap.other label {
  margin-right: 10px;
}

.wdt100 {
  width: 100%;
}

form.mailformpro label {
  padding: 5px 10px;
  border-radius: 4px;
  margin: 0;
  display: inline-block;
}

input.error, select.error, textarea.error {
  border: solid 1px #ff1717 !important;
}

label.error {
  width: 78px;
  display: block;
  color: #fff;
  background: #8a0000;
  padding: 3px 6px !important;
  font-size: 1.1rem;
  position: relative;
  margin: 0 0 10px 0 !important;
}

label.error:before {
  content: "";
  position: absolute;
  left: 8px;
  bottom: -8px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid #8a0000;
}

.focused:valid {
  border: solid 1px #569c56;
}

:disabled {
  opacity: 0.2;
  cursor: not-allowed !important;
}

.icon, .im, .fa, .fas, .far, .fal, .fab, .material-icons {
  font-size: inherit;
  line-height: inherit;
}

.material-icons {
  vertical-align: bottom;
}

.icon+.text, .im+.text, .fa+.text, .fas+.text, .far+.text, .fal+.text, .fab+.text, .material-icons+.text {
  margin-left: 0.375em;
}

.text+.icon, .text+.im, .text+.fa, .text+.fas, .text+.far, .text+.fal, .text+.fab, .text+.material-icons {
  margin-left: 0.375em;
}

.icon.is-fit, .im.is-fit, .fa.is-fit, .fas.is-fit, .far.is-fit, .fal.is-fit, .fab.is-fit, .material-icons.is-fit {
  width: 1em;
  text-align: center;
}

.wysiwyg {
  /*
  コーチングタイトル
  */
  /*
  コーチングサブタイトル
  */
  /*
  セミナータイトル
  */
  /*
  コーチングマイページタイトル
  */
  /*
  コーチングマイページサブタイトル
  */
}

.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 {
  font-weight: bold;
}

.wysiwyg .sec-ttl {
  text-align: center;
  line-height: 1.6;
  letter-spacing: 1px;
}

.wysiwyg .sec-ttl .jp {
  display: block;
  font-size: 1.5rem;
  color: #a29c9c;
}

.wysiwyg .sec-ttl .en {
  position: relative;
  color: #8a0000;
  font-size: 3.6rem;
  width: 310px;
  margin: auto;
  display: block;
}

.wysiwyg .sec-ttl .en .sec-ttl-item {
  position: absolute;
  top: 0;
  display: block;
}

.wysiwyg .sec-ttl .en .sec-ttl-item:before, .wysiwyg .sec-ttl .en .sec-ttl-item:after {
  content: "";
  position: absolute;
  background: #8a0000;
}

.wysiwyg .sec-ttl .en .sec-ttl-item:before {
  width: 17px;
  height: 1px;
}

.wysiwyg .sec-ttl .en .sec-ttl-item:after {
  width: 1px;
  height: 17px;
}

.wysiwyg .sec-ttl .en .sec-ttl-item.item1 {
  left: 0;
}

.wysiwyg .sec-ttl .en .sec-ttl-item.item1:before, .wysiwyg .sec-ttl .en .sec-ttl-item.item1:after {
  left: 0;
}

.wysiwyg .sec-ttl .en .sec-ttl-item.item2 {
  right: 0;
}

.wysiwyg .sec-ttl .en .sec-ttl-item.item2:before, .wysiwyg .sec-ttl .en .sec-ttl-item.item2:after {
  right: 0;
}

.wysiwyg .sec-ttl.is-white .jp, .wysiwyg .sec-ttl.is-white .en {
  color: #fff;
}

.wysiwyg .sec-ttl.is-white .en .sec-ttl-item:before, .wysiwyg .sec-ttl.is-white .en .sec-ttl-item:after {
  background: #fff;
}

.wysiwyg .mypage-ttl {
  font-size: 2.7rem;
  color: #8a0000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.wysiwyg .mypage-ttl span {
  font-size: 1.6rem;
  font-weight: 400;
  color: #000;
  margin-bottom: 5px;
  margin-left: 20px;
}

.wysiwyg .app-ttl {
  font-size: 2rem;
  letter-spacing: -1px;
  text-align: center;
  color: #504f4f;
}

.wysiwyg .form-ttl {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: -1px;
  color: #504f4f;
}

.wysiwyg .send-ttl {
  font-size: 2.5rem;
  text-align: center;
  font-weight: bold;
}

.wysiwyg .login-ttl {
  font-size: 2rem;
  letter-spacing: -1px;
  text-align: center;
  color: #504f4f;
}

.wysiwyg .single-ttl {
  font-size: 3.4rem;
  line-height: 1.3;
}

.wysiwyg .single-sub-ttl1 {
  position: relative;
  padding-left: 71px;
  line-height: 1.6;
  letter-spacing: -1px;
  font-size: 1.8rem;
}

.wysiwyg .single-sub-ttl1:before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 52px;
  height: 1px;
  background: #8a0000;
}

.wysiwyg .single-sub-ttl2 {
  font-size: 2.9rem;
  line-height: 1.3;
}

.wysiwyg .relation-ttl {
  font-size: 2.5rem;
  font-weight: bold;
}

.wysiwyg .relation-ttl .sub_ttl {
  font-size: 1.4rem;
  font-weight: 400;
  color: #b7b7b7;
  margin-left: 8px;
  vertical-align: top;
}

.wysiwyg .seminar-history-ttl {
  font-size: 2rem;
  color: #504f4f;
}

.wysiwyg .page-ttl {
  position: relative;
  font-size: 3.4rem;
  padding-left: 110px;
}

.wysiwyg .page-ttl:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc((100% - 1px)/2);
  width: 84px;
  height: 1px;
  background: #8a0000;
}

.wysiwyg .page-ttl-center {
  font-size: 3rem;
  line-height: 1.2;
  text-align: center;
}

.wysiwyg .page-ttl-center .ttl-inner {
  position: relative;
}

.wysiwyg .page-ttl-center .ttl-inner:before {
  content: "";
  position: absolute;
  left: -110px;
  top: calc((100% - 1px)/2);
  width: 84px;
  height: 1px;
  background: #8a0000;
}

.wysiwyg .page-ttl-center .ttl-inner .small {
  display: block;
  margin-top: 12px;
  font-size: 1.3rem;
  letter-spacing: -1px;
  color: #b7b7b7;
}

.wysiwyg .feature-ttl {
  font-size: 2.9rem;
  letter-spacing: -1px;
  line-height: 1.3;
  position: relative;
  padding-left: 78px;
  text-align: justify;
  margin-bottom: 18px;
}

.wysiwyg .feature-ttl .nmb {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 4.2rem;
  letter-spacing: 0;
  line-height: 1;
  color: #8a0000;
  font-weight: bold;
}

.wysiwyg .coaching-sec-ttl {
  font-size: 5rem;
  color: #c1a272;
  font-weight: 400;
}

.wysiwyg .coaching-sec-ttl span {
  line-height: 1;
}

.wysiwyg .coaching-sec-ttl .number {
  display: block;
  font-size: 3.8rem;
  position: relative;
  z-index: 2;
}

.wysiwyg .coaching-sec-ttl .main-text {
  position: relative;
}

.wysiwyg .coaching-sec-ttl .main-text:before {
  content: "";
  position: absolute;
  right: -106%;
  top: calc((100% - 3px)/2);
  width: 100%;
  height: 3px;
  background: url("../img/common/coaching_sec_ttl_item.png") no-repeat right;
}

.wysiwyg .coaching-sec-ttl .is-grad {
  position: relative;
  z-index: 1;
}

.wysiwyg .coaching-sec-ttl .is-grad:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
  opacity: 0;
}

.wysiwyg .coaching-sec-ttl .is-grad span {
  -webkit-text-fill-color: #c1a272;
}

.wysiwyg .coaching-sec-ttl .small {
  display: block;
  font-size: 2rem;
  margin-top: -9px;
}

.wysiwyg .coaching-sec-ttl.center {
  text-align: center;
}

.wysiwyg .coaching-sec-ttl.center .main-text {
  display: block;
}

.wysiwyg .coaching-sec-ttl.center .main-text:before {
  right: 0;
  background: url("../img/common/coaching_sec_ttl_item.png") no-repeat center;
}

.wysiwyg .coaching-sec-ttl.center .is-grad:before {
  left: 50%;
  width: calc(100% + 120px);
  opacity: 1;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.wysiwyg .coaching-sec-ttl.center .small {
  margin-top: 6px;
}

.wysiwyg .coaching-sec-ttl.bg-gray .is-grad:before {
  background: #f2f1ef;
  opacity: 1;
}

.wysiwyg .coaching-sec-ttl.bg-red .is-grad:before {
  background: #6b0b17;
  opacity: 1;
}

.wysiwyg .coaching-sec-sub-ttl {
  font-size: 3.8rem;
  color: #c1a272;
  text-align: center;
  font-weight: 400;
}

.wysiwyg .seminar-sec-ttl {
  font-size: 5.0rem;
  letter-spacing: 2px;
  color: #a1a5b2;
  text-align: center;
  font-weight: 400;
  line-height: 1.4;
}

.wysiwyg .seminar-sec-ttl .small {
  font-size: 2.0rem;
  display: block;
  letter-spacing: 0;
}

.wysiwyg .seminar-sec-ttl.white {
  color: #fff;
}

.wysiwyg .coaching-mypge-ttl {
  font-size: 2.4rem;
  color: #707070;
  text-align: center;
}

.wysiwyg .coaching-mypge-ttl span {
  position: relative;
  padding-left: 46px;
}

.wysiwyg .coaching-mypge-ttl span:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc((100% - 26px)/2);
  width: 32px;
  height: 26px;
  background: url("../img/common/seminar_flow1_on.png") no-repeat center/cover;
}

.wysiwyg .coaching-mypge-sub-ttl {
  border-bottom: 1px solid #DDD;
  padding-bottom: 6px;
  margin-bottom: 30px;
}

.wysiwyg .coaching-mypge-sub-ttl .ttl-text {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  color: #707070;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search {
  font-size: 1.2rem;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search input {
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 134px;
  border: 1px solid #ddd;
  padding: 7px;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search input[type=text] {
  margin: 0 10px;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search input::-webkit-input-placeholder {
  color: #ccc;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search input:-ms-input-placeholder {
  color: #ccc;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search input::-ms-input-placeholder {
  color: #ccc;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search input::placeholder {
  color: #ccc;
}

.wysiwyg .coaching-mypge-sub-ttl .coach-myapge-search input[type=submit] {
  width: 79px;
  background: #771521;
  color: #fff;
}

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before, .slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-slider:after {
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
  clear: both;
}

.slick-slider .slick-list, .slick-slider .slick-track {
  width: 100%;
  height: 100%;
}

.slick-prev, .slick-next {
  display: block;
  width: 16px;
  height: 49px;
  border: none;
  text-indent: -9999px;
  cursor: pointer;
  position: absolute !important;
  top: 50%;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  z-index: 1;
  background: transparent;
}

.slick-prev:hover, .slick-next:hover {
  opacity: 0.7;
}

.slick-prev {
  left: -3.15%;
  background: url("../img/common/slick-arrow-prev.png") no-repeat center/cover;
}

.slick-next {
  right: -3.15%;
  background: url("../img/common/slick-arrow-next.png") no-repeat center/cover;
}

.slick-dots {
  text-align: center;
  padding: 0;
  height: auto;
  width: 100%;
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
}

.slick-dots li {
  width: auto !important;
}

.slick-dots li button {
  text-indent: -9999px;
  border: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d1d1d1;
  margin: 5px;
  padding: 0;
}

.slick-dots li.slick-active button {
  background: #8a0000;
}

.slick-list .slick-slide {
  padding: 0 7.5px;
}

.slick-num {
  margin-bottom: 31px;
  line-height: 0;
}

.slick-num li {
  display: inline-block;
  line-height: 0;
  margin-right: 5px;
}

.slick-num li button {
  background: #d1d1d1;
  border-radius: 100%;
  width: 10px;
  height: 12px;
  border: none;
  text-indent: -9999px;
}

.slick-num li button:last-child {
  margin-right: 0;
}

.slick-num li.slick-active button {
  background: #8a0000;
}

/*!
	Modaal - accessible modals - v0.4.3
	by Humaan, for all humans.
	http://humaan.com
 */

.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  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;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

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

.modaal-wrapper .modaal-close {
  border: none;
  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: none !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: 1030px;
  margin: auto;
  text-align: left;
  color: #000;
  background: #fff;
  -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
}

.place_modal_wrap .modaal-container {
  width: 72%;
}

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

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

.modaal-close {
  position: absolute;
  right: 30px;
  top: 30px;
  color: #000;
  cursor: pointer;
  opacity: 1;
  width: 40px;
  height: 41px;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background: none;
}

.modaal-close:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.modaal-close:focus, .modaal-close:hover {
  outline: none;
}

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

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

.modaal-close:before, .modaal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 0;
  left: 20px;
  width: 1px;
  height: 41px;
  background: #000;
  -webkit-transition: background 0.2s ease-in-out;
  -o-transition: background 0.2s ease-in-out;
  transition: background 0.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-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;
}

.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  -webkit-transition: background 0.2s ease-in-out;
  -o-transition: background 0.2s ease-in-out;
  transition: background 0.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: transparent;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

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

.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;
  -webkit-box-shadow: none !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: none;
}

.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 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

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

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

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

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

.modaal-gallery-control:before, .modaal-gallery-control:after {
  display: block;
  content: " ";
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background 0.2s ease-in-out;
  -o-transition: background 0.2s ease-in-out;
  transition: background 0.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:before, .modaal-gallery-prev:after {
  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%;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  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 iframe, .modaal-video-container object, .modaal-video-container embed {
  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: none;
  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:before, .modaal-gallery-control:after {
    background: #fff;
  }
  .modaal-gallery-next {
    left: auto;
    right: 20px;
  }
  .modaal-gallery-prev {
    left: 20px;
    right: auto;
  }
}

@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media screen and (max-height: 1000px) and (max-width: 575px) {
  .modaal-inner-wrapper {
    padding: 0;
  }
}

@media screen and (max-height: 1000px) {
  .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);
  }
}

.mypage-sec1 {
  padding: 45px 0 25px;
}

.mypage-sec1 .slider-list {
  margin-top: 28px;
}

.mypage-sec2 {
  padding: 42px 0 38px;
}

.mypage-sec2 .is-gray-diagonal {
  right: -22%;
}

.mypage-sec2 .seminar-list {
  margin-top: 22px;
}

.mypage-sec2 .more-list {
  margin-top: 25px;
}

.mypage-sec3 {
  padding: 42px 0 38px;
}

.mypage-sec3 .tab-list {
  margin-top: 26px;
}

.mypage-sec3 .movie-list {
  margin-top: 30px;
}

.mypage-sec3 .more-list {
  margin-top: 8px;
}

.completion-test-sec .result-wrap .result-inner {
  text-align: center;
}

.completion-test-sec .result-wrap p {
  line-height: 1.4;
}

.completion-test-sec .result-wrap span {
  display: block;
  font-size: 6rem;
  font-weight: bold;
}

.completion-test-sec .result-wrap .pass {
  color: #8a0000;
}

.completion-test-sec .result-wrap .failure {
  color: #000;
}

.seminar-sec1 {
  padding: 33px 0;
}

.seminar-sec1 .seminar-list {
  margin-top: 22px;
}

.app-sec1 {
  padding: 36px 0 115px;
}

.app-sec1-wrap .app-ttl {
  margin-bottom: 38px;
}

.app-sec1-wrap .radio-wrap, .app-sec1-wrap .check-wrap {
  margin-top: 50px;
}

.app-sec1-wrap .radio-wrap .form-ttl, .app-sec1-wrap .check-wrap .form-ttl {
  margin-bottom: 13px;
}

.app-sec1-wrap .radio-wrap.m0, .app-sec1-wrap .check-wrap.m0 {
  margin: 0;
}

.app-sec1-wrap .terms-text {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.65;
  height: 183px;
  overflow-y: scroll;
  border: 1px solid #dcdcdc;
  padding: 15px 25px;
  color: #727272;
  margin-top: 13px;
}

.app-sec1-wrap .form-btn-wrap {
  margin-top: 50px;
}

.app-conf-sec1 {
  padding: 36px 0 115px;
}

.app-sec1-wrap .app-conf-ttl {
  margin-bottom: 38px;
}

.app-sec1-wrap .radio-wrap .form-ttl {
  margin-bottom: 13px;
}

.app-sec1-wrap .form-btn-wrap {
  margin-top: 50px;
}

.app-sec1-wrap .seminar-table1 .app-table tr:last-of-type {
  border-bottom: 1px solid #DCDCDC;
}

.app-sec1-wrap .seminar-table2 {
  margin-top: 70px;
}

.app-payment-sec1 {
  padding: 36px 0 115px;
}

.app-send-sec1 {
  padding: 36px 0 115px;
}

.send-text {
  font-weight: 400;
  text-align: center;
  margin-top: 38px;
}

.seminar-details-sec1 {
  padding-top: 33px;
}

.seminar-details-sec1 .seminar-details-ttl {
  font-size: 3.6rem;
  text-align: center;
  font-weight: 400;
  line-height: 1.2;
}

.seminar-details-sec1 .seminar-details-text {
  font-size: 1.5rem;
  text-align: center;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 34px;
}

.seminar-details-sec1 .img-wrap {
  text-align: center;
  margin: 48px 0 53px;
}

.seminar-details-sec1 .img-wrap img {
  max-width: 100%;
  width: auto;
}

.seminar-details-sec1 .seminar-details-desc {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.4;
  margin: 25px 0 64px;
}

.movie-sec1 {
  padding: 44px 0;
}

.movie-sec1 .movie-list {
  margin-top: 28px;
}

.movie-details-ttl {
  font-size: 2.6rem;
  line-height: 1.2;
  margin: 20px 0;
}

.movie-details-sec1 {
  padding: 33px 0;
}

.movie-details-sec1 .movie-date-wrap {
  padding-bottom: 25px;
}

.movie-details-sec1 .movie-date-wrap .movie-date {
  color: #c6c6c6;
  font-weight: 400;
}

.movie-details-sec1 .movie-date-wrap .movie-date .cat {
  font-size: 1.1rem;
  color: #fff;
  background: #8a0000;
  padding: 6px 23px 3px;
  margin-right: 10px;
}

.movie-details-sec1 .movie-details-wrap {
  padding: 25px 0;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}

.movie-details-sec1 .movie-details-wrap .top-cont {
  margin-bottom: 10px;
}

.movie-details-sec1 .movie-details-wrap .details-wrap span {
  font-weight: 400;
}

.movie-details-sec1 .movie-details-wrap .details-wrap .details-inner {
  margin-right: 30px;
}

.movie-details-sec1 .movie-details-wrap .details-wrap .top-cont-ttl {
  font-weight: bold;
  margin-right: 16px;
}

.movie-details-sec1 .movie-details-wrap .btm-cont {
  width: 70%;
  letter-spacing: -1px;
  font-weight: 400;
  line-height: 1.7;
}

.movie-details-sec1 .movie-details-wrap .common-btn {
  width: 203px;
}

.movie-details-sec1 .movie-details-wrap .common-btn a {
  padding: 17px 0 13px;
}

.movie-details-sec1 .movie-details-wrap .common-btn a span {
  padding-right: 22px;
}

.movie-details-sec1 .movie-details-wrap .common-btn a span:before {
  width: 13px;
  height: 11px;
  top: calc((100% - 11px)/2);
}

.movie-details-sec1 .instructor-wrap {
  padding: 25px 0;
}

.movie-details-sec1 .instructor-wrap .instructor-text {
  letter-spacing: -1px;
  width: 104px;
  margin-bottom: 15px;
  font-weight: 500;
}

.movie-details-sec1 .instructor-wrap .instructor-list {
  width: 742px;
}

.login-sec-border {
  border: 1px solid #dcdcdc;
}

.login-sec1 {
  padding: 36px 0 40px;
}

.login-sec1 .login-inner {
  padding: 38px 31px;
  background: #fff;
}

.login-sec1 .login-inner .login-ttl {
  margin-bottom: 25px;
}

.login-sec1 .login-inner dl {
  margin-bottom: 18px;
}

.login-sec1 .login-inner dl:last-of-type {
  margin-bottom: 0;
}

.login-sec1 .login-inner .login-btn {
  margin-top: 30px;
}

.login-sec1 .login-inner .login-btn.mt0 {
  margin-top: 0;
}

.login-sec1 .login-inner .lost-pass {
  text-align: center;
  margin-top: 30px;
}

.login-sec1 .login-inner .lost-pass a {
  color: #8a0000;
  font-size: 1.4rem;
  text-decoration: underline;
}

.login-sec1 .login-inner .caution {
  font-size: 1.5rem;
  letter-spacing: -1px;
  margin-bottom: 4px;
  text-align: center;
}

.login-sec1 .login-inner.login-inner2 {
  padding: 38px 0;
}

.login-sec1 .login-text {
  color: #504f4f;
  letter-spacing: -1px;
  line-height: 1.4;
  margin-bottom: 15px;
}

.archive-sec1 {
  padding: 120px 0 80px;
}

.archive-sec1 .pagenav_wrap {
  margin-top: 80px;
}

.single-sec1 {
  padding: 120px 0;
}

.single-sec1 .data-wrap .day {
  font-size: 2rem;
  margin-right: 10px;
}

.single-sec1 .data-wrap .cat {
  background: #8a0000;
  color: #fff;
  text-align: center;
  font-size: 1.3rem;
  padding: 5px 19px;
  font-weight: 400;
}

.single-sec1 .data-wrap .single-ttl {
  margin: 20px 0 40px;
}

.single-sec1 .img-wrap {
  text-align: center;
  margin-bottom: 42px;
}

.single-sec1 .img-wrap img {
  width: auto;
}

.single-sec1 .single-cont {
  margin-bottom: 110px;
}

.single-sec1 .single-cont:last-of-type {
  margin-bottom: 0;
}

.single-sec1 .single-cont table {
  margin-bottom: 42px;
}

.single-sec1 .single-cont img {
  margin-bottom: 42px;
  max-width: 100%;
  width: auto;
}

.single-sec1 .single-cont p {
  letter-spacing: -1px;
  line-height: 2.2;
  margin-bottom: 42px;
}

.single-sec1 .single-cont a {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: underline;
}

.single-sec1 .single-cont a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.single-sec1 .single-sub-ttl1, .single-sec1 .single-sub-ttl2 {
  margin-bottom: 20px;
}

.single-sec1 .customer-name {
  font-size: 1.8rem;
  color: #8a0000;
  font-weight: bold;
  text-align: right;
  margin: 22px 0 80px;
}

.single-sec1 .customer-name span {
  font-size: 2.5rem;
  margin-right: 15px;
}

.single-sec2 {
  padding: 85px 0;
}

.single-sec2 .relation-ttl {
  margin-bottom: 20px;
}

.seminar-history-sec1 {
  padding: 33px 0 120px;
}

.seminar-history-sec1 .ttl-wrap {
  margin-bottom: 27px;
  padding-bottom: 5px;
  border-bottom: 1px solid #DCDCDC;
}

.seminar-history-sec1 .ttl-wrap .point-wrap .point-ttl {
  font-weight: 500;
  color: #504f4f;
  position: relative;
}

.seminar-history-sec1 .ttl-wrap .point-wrap .point-ttl:before {
  content: "P";
  position: absolute;
  left: -30px;
  top: 0;
  background: #8a0000;
  color: #fff;
  font-size: 1.3rem;
  border-radius: 100%;
  width: 22px;
  height: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.seminar-history-sec1 .ttl-wrap .point-wrap .price {
  font-size: 3rem;
  font-weight: bold;
  color: #8a0000;
}

.seminar-history-sec1 .pagenav_wrap {
  margin-top: 58px;
}

.school-purpose-sec1 .text-wrap {
  font-size: 1.6rem;
  text-align: center;
  font-weight: bold;
}

.guide-greeting-sec1 .text-wrap {
  width: 81%;
  margin: auto;
  letter-spacing: -1px;
  text-align: justify;
}

.guide-greeting-sec1 span {
  display: block;
}

.guide-greeting-sec1 .name-wrap {
  width: 81%;
  margin: 50px auto 0;
}

.guide-greeting-sec1 .representative-name {
  font-size: 1.3rem;
  color: #8a0000;
  letter-spacing: 1px;
  font-weight: bold;
}

.guide-greeting-sec1 .representative-name .name {
  font-size: 3.2rem;
  color: #000;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 500;
  margin-bottom: 6px;
}

.guide-rule-sec1 {
  padding-bottom: 0;
}

.guide-rule-sec1 .benefits-list li {
  margin-bottom: 52px;
}

.guide-rule-sec1 .benefits-list li:last-child {
  margin-bottom: 0;
}

.guide-rule-sec1 .benefits-list li .img-wrap {
  width: 174px;
  min-width: 174px;
  margin-right: 47px;
}

.guide-rule-sec1 .benefits-list li .text-wrap {
  width: 63%;
}

.guide-rule-sec1 .benefits-list li .text-wrap h3 {
  font-size: 3rem;
  color: #8a0000;
  margin-bottom: 5px;
}

.guide-rule-sec1 .benefits-list li .text-wrap .check {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  position: relative;
  padding-left: 30px;
}

.guide-rule-sec1 .benefits-list li .text-wrap .check:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc((100% - 17px)/2);
  width: 21px;
  height: 17px;
  background: url("../img/guide_rule/check_icon.png") no-repeat center/cover;
}

.guide-rule-sec2 .text-wrap {
  text-align: center;
  margin-bottom: 45px;
}

.guide-tuition-sec1 {
  padding-bottom: 0;
}

.guide-tuition-sec1 .text-wrap {
  margin-top: 15px;
}

.guide-tuition-sec2 {
  padding-bottom: 0;
}

.guide-tuition-sec2 .img-wrap {
  width: calc((100% - 12px)/2);
  margin-right: 12px;
}

.guide-tuition-sec2 .img-wrap:last-of-type {
  margin-right: 0;
}

.guide-tuition-sec2 .img-wrap .text-wrap {
  margin-top: 28px;
}

.guide-tuition-sec2 .img-wrap .text-wrap span {
  display: block;
  line-height: 1.3;
}

.guide-tuition-sec2 .img-wrap .text-wrap .ttl {
  color: #8a0000;
  font-weight: bold;
  margin-bottom: 10px;
}

.guide-tuition-sec2 .img-wrap .text-wrap .text {
  font-size: 1.2rem;
}

.guide-tuition-sec3 .page-ttl-center {
  margin-bottom: 33px;
}

.guide-tuition-sec3 .text-wrap {
  text-align: center;
  margin-bottom: 38px;
}

.guide-tuition-sec3 .img-wrap .img-inner {
  margin-left: -33px;
}

.guide-tuition-sec3 .img-wrap img {
  width: 403px;
  padding-left: 33px;
  padding-bottom: 33px;
}

.guide-feature-sec5 .teacher-wrap {
  margin-top: 70px;
}

.guide-feature-sec6 .catch-copy {
  margin: 40px 0;
}

.guide-feature-sec9 .img-wrap {
  text-align: center;
  margin: 38px 0 70px;
}

.guide-feature-sec9 .img-wrap img {
  width: auto;
  max-width: 100%;
}

.school-merit-sub-ttl {
  font-size: 5.4rem;
  color: #8a0000;
  text-align: center;
  letter-spacing: -1px;
  margin-bottom: 55px;
}

.school-merit-sub-ttl span {
  display: block;
  font-size: 2.3rem;
  line-height: 1;
  color: #000;
  margin-top: 18px;
  font-weight: bold;
}

/*
ベーシックスクールとはsec1
*/

.school-merit-sec1 .text-wrap {
  text-align: center;
  letter-spacing: -1px;
}

/*
ベーシックスクールとはsec1
*/

/*
ベーシックスクールとはsec2
*/

.school-merit-sec2 img {
  width: 50%;
}

/*
ベーシックスクールとはsec2
*/

/*
ベーシックスクールとはsec3
*/

.school-merit-sec3 {
  background: url("../img/school_merit/school_merit_sec3_bg.jpg") no-repeat right/cover;
}

.school-merit-sec3 .school-merit-sec3-ttl {
  font-size: 3.1rem;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-bottom: 50px;
  font-weight: bold;
}

.school-merit-sec3 .text-wrap span {
  color: #8a0000;
}

/*
ベーシックスクールとはsec3
*/

/*
ベーシックスクールとはsec4
*/

.school-merit-sec4 .school-merit-sec4-ttl {
  font-size: 3.1rem;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-bottom: 20px;
  font-weight: bold;
  text-align: center;
}

.school-merit-sec4 .text-wrap {
  text-align: center;
  margin-bottom: 67px;
}

.school-merit-sec4 .school-merit-sec4-list {
  margin-left: -60px;
}

.school-merit-sec4 .school-merit-sec4-list li {
  padding-left: 60px;
}

.school-merit-sec4 .school-merit-sec4-list li .img-wrap {
  text-align: center;
}

.school-merit-sec4 .school-merit-sec4-list li .img-wrap img {
  width: 162px;
}

.school-merit-sec4 .school-merit-sec4-list li h3 {
  font-size: 2.4rem;
  margin: 10px 0;
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
}

/*
ベーシックスクールとはsec4
*/

/*
ベーシックスクールとはsec5
*/

.school-merit-sec5 .text-wrap {
  text-align: center;
  margin-bottom: 80px;
}

/*
ベーシックスクールとはsec5
*/

/*
ベーシックスクールとはsec6
*/

.school-merit-sec6 {
  background: url("../img/school_merit/school_merit_sec6_bg.jpg") no-repeat left 62%/cover;
  padding: 60px 0;
}

.school-merit-sec6 .school-merit-sec6-ttl {
  font-size: 3.1rem;
  letter-spacing: -1px;
  text-align: center;
  margin-bottom: 15px;
}

.school-merit-sec6 .text-wrap {
  letter-spacing: -1px;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 45px;
}

.school-merit-sec6 .link-wrap img {
  width: 285px;
  margin-right: 30px;
}

/*
ベーシックスクールとはsec6
*/

/*
ベーシックスクールとはsec7
*/

.school-merit-sec7 a {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.school-merit-sec7 a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

/*
ベーシックスクールとはsec7
*/

.guide-overview-cont {
  margin-bottom: 100px;
}

.guide-overview-cont:last-child {
  margin-bottom: 0;
}

.guide-overview-cont .left-cont {
  width: 308px;
  margin-right: 3%;
}

.guide-overview-cont .left-cont h3 {
  font-size: 4.1rem;
  color: #8a0000;
  position: relative;
  margin-bottom: 22px;
}

.guide-overview-cont .left-cont h3:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
}

.guide-overview-cont .left-cont h3.icon1 {
  padding-left: 91px;
}

.guide-overview-cont .left-cont h3.icon1:before {
  width: 68px;
  height: 50px;
  top: calc((100% - 60px)/2);
  background: url("../img/guide_overview/guide_overview_cont_icon01.png") no-repeat center/cover;
}

.guide-overview-cont .left-cont h3.icon2 {
  padding-left: 70px;
}

.guide-overview-cont .left-cont h3.icon2:before {
  width: 55px;
  height: 38px;
  top: calc((100% - 55px)/2);
  background: url("../img/guide_overview/guide_overview_cont_icon02.png") no-repeat center/cover;
}

.guide-overview-cont .left-cont .school-type {
  font-size: 1.9rem;
  color: #727272;
}

.guide-overview-cont .left-cont img {
  margin-top: 28px;
}

.guide-overview-cont .right-cont {
  width: 529px;
}

.guide-overview-cont .right-cont .feature-list li {
  letter-spacing: -1px;
  font-size: 2.1rem;
  font-weight: bold;
  padding-left: 34px;
  line-height: 1;
  position: relative;
  margin-bottom: 10px;
}

.guide-overview-cont .right-cont .feature-list li:last-child {
  margin-bottom: 0;
}

.guide-overview-cont .right-cont .feature-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc((100% - 19px)/2);
  width: 21px;
  height: 19px;
  background: url("../img/guide_overview/check_icon_red.png") no-repeat center/cover;
}

.guide-overview-cont .right-cont .school-type-list {
  margin: 30px 0 21px -9px;
}

.guide-overview-cont .right-cont .school-type-list li {
  padding-left: 9px;
  padding-bottom: 9px;
}

.guide-overview-cont .right-cont .school-type-list li span {
  background: #8a0000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  height: 68px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 16px;
}

.guide-overview-cont .right-cont p {
  font-size: 1.3rem;
  letter-spacing: -1px;
  line-height: 1.6;
}

.curriculum-list {
  margin-left: -54px;
}

.curriculum-list li {
  padding-left: 54px;
  position: relative;
}

.curriculum-list li:last-child:before, .curriculum-list li:last-child:after {
  display: none;
}

.curriculum-list li:before, .curriculum-list li:after {
  content: "";
  position: absolute;
  background: #000;
}

.curriculum-list li:before {
  right: -28.5px;
  top: calc((100% - 22px)/2);
  width: 3px;
  height: 22px;
}

.curriculum-list li:after {
  right: -38px;
  top: calc((100% - 3px)/2);
  width: 22px;
  height: 3px;
}

.curriculum-list li .curriculum-list-inner {
  background: #f7f7f7;
  width: 221px;
  height: 221px;
  padding: 50px 20px 0;
}

.curriculum-list li .curriculum-list-inner.red {
  background: #6c0000;
}

.curriculum-list li .curriculum-list-inner.red .ttl, .curriculum-list li .curriculum-list-inner.red .text {
  color: #fff;
}

.curriculum-list li .curriculum-list-inner .ttl {
  font-size: 2.6rem;
  font-weight: bold;
  color: #8a0000;
  margin-bottom: 35px;
  text-align: center;
}

.curriculum-list li .curriculum-list-inner .text {
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.3;
}

.curriculum-list li .curriculum-list-inner .text span {
  font-size: 1.5rem;
  color: #8a0000;
  font-weight: 500;
  display: block;
  margin-top: 8px;
}

.page-sec.curriculum-sec2 {
  padding-top: 0;
}

.guide-vision-cont p {
  letter-spacing: -1px;
  line-height: 1.6;
}

.guide-vision-cont .img-text-column2.img-text .column2-img {
  margin-right: 3%;
}

.guide-vision-cont .img-text-column2.text-img .column2-img {
  margin-left: 3%;
}

.guide-vision-cont .img-text-column2 .balance8_img {
  width: 444px;
}

.guide-vision-cont .img-text-column2 .stepup_img {
  width: 453px;
}

.guide-vision-cont .img-text-column2 .dream_img {
  width: 445px;
}

.guide-vision-cont .img-text-column2 p {
  width: 46%;
}

.guide-vision-cont .text-column2 {
  margin-top: 40px;
}

.guide-vision-cont .text-column2 p {
  width: 48%;
  margin-right: 4%;
}

.guide-vision-cont .text-column2 p:last-child {
  margin-right: 0;
}

.guide-vision-cont .text-column2 p span {
  font-size: 1.8rem;
  font-weight: bold;
}

.introduction-ttl {
  font-size: 4.2rem;
  font-weight: bold;
  color: #8a0000;
}

.introduction-ttl span {
  letter-spacing: -1px;
  font-weight: bold;
}

.introduction-ttl .middle {
  font-size: 2.2rem;
  color: #000;
  margin-left: 22px;
}

.introduction-ttl .small {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  color: #000;
  margin-top: 5px;
}

.introduction-sub-ttl {
  font-size: 2.4rem;
  font-weight: bold;
  border-left: 7px solid #8a0000;
  letter-spacing: -1px;
  padding-left: 13px;
  margin: 40px 0 24px;
  display: block;
}

.introduction-cont {
  margin-bottom: 95px;
}

.introduction-cont:last-child {
  margin-bottom: 0;
}

.introduction-cont .img-wrap img {
  margin-bottom: 36px;
}

.introduction-cont .introduction-desc {
  letter-spacing: -1px;
  line-height: 1.6;
}

.introduction-cont .introduction-desc span {
  font-size: 1.8rem;
}

.introduction-cont .introduction-text {
  letter-spacing: -1px;
  margin-top: 10px;
}

.introduction-cont .introduction-inner-list {
  background: #eff2f2;
  padding: 24px 2px;
}

.introduction-cont .introduction-inner-list li {
  margin-left: 10px;
}

.introduction-cont .introduction-inner-list.small-img li {
  width: 136px;
}

.introduction-cont .introduction-inner-list.middle-img li {
  width: 273px;
}

.introduction-cont .introduction-inner-list.big-img li {
  width: 414px;
  margin-left: 0;
}

.introduction-cont .introduction-inner-list.big-img li:first-child {
  margin-right: 10px;
}

.page-sec.introduction-sec2 {
  padding-top: 0;
}

.page-sec.introduction-sec2 .introduction-table {
  margin-bottom: 30px;
}

.page-sec {
  padding: 120px 0;
  /*
    講師紹介
    */
  /*
    講師紹介
    */
  /*
    スクールの特徴ナンバーデザイン1
    */
  /*
    スクールの特徴ナンバーデザイン1
    */
  /*
    スクールの特徴ナンバーデザイン2
    */
  /*
    スクールの特徴ナンバーデザイン2
    */
}

.page-sec.guide-feature-sec {
  padding: 70px 0;
}

.page-sec.guide-feature-sec:first-of-type {
  padding-top: 120px;
}

.page-sec .page-ttl, .page-sec .page-ttl-center {
  margin-bottom: 75px;
}

.page-sec .img {
  margin-bottom: 90px;
}

.page-sec .text-wrap {
  line-height: 2;
}

.page-sec .desc {
  letter-spacing: -1px;
}

.page-sec .catch-copy {
  color: #8a0000;
  text-align: center;
  font-size: 2.4rem;
}

.page-sec .teacher-wrap {
  margin-bottom: 100px;
}

.page-sec .teacher-wrap:last-child {
  margin-bottom: 0;
}

.page-sec .teacher-wrap .teacher-inner {
  background: #f9f9f9;
  margin-bottom: 42px;
}

.page-sec .teacher-wrap .img-wrap, .page-sec .teacher-wrap .text-warp {
  width: 50%;
}

.page-sec .teacher-wrap .text-warp {
  text-align: right;
  padding: 22px;
}

.page-sec .teacher-wrap .text-warp span {
  display: block;
}

.page-sec .teacher-wrap .text-warp .teacher-title {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 1px;
  color: #8a0000;
  line-height: 1.3;
}

.page-sec .teacher-wrap .text-warp .teacher-name {
  font-size: 3.2rem;
  margin: 20px 0 45px;
}

.page-sec .teacher-wrap .text-warp .teacher-name span {
  font-size: 1.3rem;
  font-weight: bold;
  color: #8a0000;
}

.page-sec .teacher-wrap .text-warp .teacher-position {
  font-size: 1.2rem;
  color: #010101;
}

.page-sec .teacher-wrap .text {
  line-height: 2.1;
  letter-spacing: -1px;
}

.page-sec .guide-feature-nmb-wrap1 .text-wrap {
  width: 55%;
}

.page-sec .guide-feature-nmb-wrap1 .text-wrap .title {
  margin-bottom: 18px;
}

.page-sec .guide-feature-nmb-wrap1 .text-wrap p {
  letter-spacing: -1px;
  text-align: justify;
}

.page-sec .guide-feature-nmb-wrap1 .img-wrap {
  width: 340px;
  min-width: 340px;
}

.page-sec .guide-feature-nmb-wrap1.normal .text-wrap {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  margin-right: 64px;
}

.page-sec .guide-feature-nmb-wrap1.normal .img-wrap {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.page-sec .guide-feature-nmb-wrap1.opposite .text-wrap {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.page-sec .guide-feature-nmb-wrap1.opposite .img-wrap {
  margin-right: 64px;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.page-sec .guide-feature-nmb-wrap2 {
  margin-left: -30px;
}

.page-sec .guide-feature-nmb-wrap2 .guide-feature-nmb-wrap2-inner {
  padding-left: 30px;
}

.page-sec .guide-feature-nmb-wrap2 .guide-feature-nmb-wrap2-inner .text-wrap {
  font-size: 1.3rem;
  margin-top: 8px;
}

.page-sec .guide-feature-nmb-wrap2 .guide-feature-nmb-wrap2-inner .text-wrap .red {
  color: #8a0000;
}

.page-sec .guide-feature-nmb-wrap2 .guide-feature-nmb-wrap2-inner .text-wrap .big {
  font-size: 2.3rem;
  letter-spacing: -1px;
  font-weight: bold;
  display: block;
  text-align: center;
}

.page-sec .guide-feature-nmb-wrap2 .guide-feature-nmb-wrap2-inner .text-wrap .big .small {
  font-size: 1.3rem;
  display: block;
  font-weight: 400;
  line-height: 1;
}

.page-sec .guide-feature-nmb-wrap2 .guide-feature-nmb-wrap2-inner .text-wrap .text {
  display: block;
  line-height: 1.3;
}

.sec-desc {
  width: 70%;
  margin: auto;
  text-align: center;
  line-height: 1.6;
}

.top-2colum-cont .right-cont .sec4-ttl {
  font-size: 5.2rem;
  font-weight: bold;
  color: #8a0000;
  line-height: 1.1;
}

.top-2colum-cont .right-cont .sec4-ttl .is-w-light {
  font-weight: 300;
}

.top-2colum-cont .right-cont .text {
  margin: 10px 0 42px;
}

.sec1 {
  padding-top: 100px;
  background: #fff;
}

.sec1 .sec1-bg {
  background: url("../img/top/sec1_bg.jpg") no-repeat center/cover;
  padding: 354px 0;
  position: relative;
  z-index: 0;
}

.sec1 .sec1-bg:before {
  content: "";
  position: absolute;
  width: 47%;
  height: 100%;
  top: 0;
  right: 0;
  background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.1%, #8a0000)) no-repeat top left/100% 120%;
  background: -webkit-linear-gradient(bottom left, rgba(255, 255, 255, 0) 50%, #8a0000 50.1%) no-repeat top left/100% 120%;
  background: -o-linear-gradient(bottom left, rgba(255, 255, 255, 0) 50%, #8a0000 50.1%) no-repeat top left/100% 120%;
  background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #8a0000 50.1%) no-repeat top left/100% 120%;
  mix-blend-mode: multiply;
  z-index: -1;
}

.sec1 .sec1-inner {
  position: relative;
}

.sec1 .text-wrap {
  position: absolute;
  width: 545px;
  top: 50%;
  right: 69px;
  -webkit-transform: translateY(-50%) translateX(0);
  -ms-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.sec1 .text-wrap .sec1-ttl {
  font-size: 7rem;
  color: #fff;
  line-height: 1.1;
  font-weight: bold;
  margin-bottom: 11px;
}

.sec1 .text-wrap .sec1-ttl span.is-w-light {
  font-weight: 300;
}

.sec1 .text-wrap .sub-copy {
  color: #fff;
  margin-bottom: 28px;
  line-height: 1.7;
  letter-spacing: -1px;
  text-align: justify;
  font-size: 1.6rem;
}

.sec1 .text-wrap .sec1-list {
  margin-left: -15px;
}

.sec1 .text-wrap .sec1-list li {
  width: 125px;
  height: 125px;
  padding-left: 15px;
  position: relative;
  z-index: 1;
}

.sec1 .text-wrap .sec1-list li a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  background: #8a0000;
  position: relative;
  font-weight: 500;
  z-index: 1;
}

.sec1 .text-wrap .sec1-list li a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50%, #ac1818)) no-repeat top left/100% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 50%) no-repeat top left/100% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #ac1818 50%) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #ac1818 50%) no-repeat top left/100% 100%;
  z-index: -1;
}

.sec1 .text-wrap .sec1-list li a:after {
  content: "";
  position: absolute;
  bottom: 8px;
  right: 7px;
  background: url("../img/common/arrow_white.png") no-repeat center/cover;
  width: 56px;
  height: 11px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.sec1 .text-wrap .sec1-list li a:hover:after {
  right: 2px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.sec2 {
  padding: 100px 0;
  position: relative;
}

.sec2 .seminar-list {
  margin-top: 40px;
}

.sec3 {
  padding: 100px 0;
}

.sec3 .sec-desc {
  margin: 25px auto 30px;
  font-weight: 500;
}

.sec3 .slider-list {
  width: calc(100% - 52px);
  margin: auto;
}

.sec4 {
  padding: 100px 0;
  position: relative;
}

.sec4 .is-gray-diagonal {
  width: 75%;
}

.sec4 .sec4-width {
  padding: 0 22px 0 109px;
}

.sec4 .left-cont {
  margin-right: 7%;
  width: 40.5%;
}

.sec4 .voice-add-cont {
  margin-bottom: 27px;
}

.sec4 .voice-add-cont:last-child {
  margin-bottom: 0;
}

.sec4 .voice-add-cont .img-wrap {
  width: 109px;
  margin-right: 29px;
}

.sec4 .voice-add-cont .text-wrap {
  width: 360px;
}

.sec4 .voice-add-cont .text-wrap span {
  display: block;
}

.sec4 .voice-add-cont .text-wrap .name {
  font-size: 1.2rem;
  color: #8a0000;
}

.sec4 .voice-add-cont .text-wrap .ttl {
  margin: 7px 0 12px;
  font-weight: 500;
}

.sec4 .voice-add-cont .text-wrap .text {
  font-size: 1.2rem;
}

.sec4 .right-cont {
  width: 52.5%;
}

.sec4 .right-cont .sec4-ttl {
  font-size: 5.2rem;
  font-weight: bold;
  color: #8a0000;
  line-height: 1.1;
}

.sec4 .right-cont .sec4-ttl .is-w-light {
  font-weight: 300;
}

.sec4 .right-cont .text {
  margin: 10px 0 42px;
  font-weight: 500;
}

.sec5 {
  padding: 100px 0;
}

.sec5 .sec-desc {
  margin: 25px auto 30px;
  font-weight: 500;
}

.sec5 .slider-list {
  width: calc(100% - 52px);
  margin: auto;
}

.sec6 {
  padding: 100px 0;
  overflow: hidden;
  position: relative;
}

.sec6 .is-gray-diagonal {
  width: 75%;
}

.sec6 .sec6-width {
  position: relative;
}

.sec6 .sec6-width .left-cont {
  width: 52.5%;
  position: absolute;
  left: -1%;
  top: -7%;
}

.sec6 .sec6-width .right-cont {
  width: 47.5%;
}

.sec6 .sec6-width .right-cont .text {
  line-height: 1.8;
  font-weight: 500;
}

.sec7 {
  padding: 100px 0;
}

.sec7 .faq-list {
  margin: 25px 0 42px;
}

/* 20200109 グローバルナビ : ドロップダウンメニュー追加*/

.relative {
  position: relative;
}

#gnav ul li a.parent {
  z-index: 10;
  background: #FFF;
}

#gnav ul li.onclass a.parent:before {
  transform: scaleX(1) !important;
}

#gnav ul li .child {
  position: absolute;
  z-index: 0;
  width: 200px;
  display: block;
  top: 0;
  background: #FFF;
  display: none;
  padding-top: 25px;
  padding-left: 5px;
}

#gnav ul li .child li {
  margin: 0;
}

#gnav ul li .child li a {
  display: block;
  color: #666;
  padding: 5%;
  border-bottom: dotted 1px #EEE;
}

#gnav ul li .child li a:before {
  bottom: 0px;
  width: 100%;
}