@charset "utf-8";
@import url('style-base.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
/*-----------------------------------------------------
 * 幅
 *----------------------------------------------------*/
#wrapper {
  margin: 0 auto;
  max-width: 75rem;
  border: 1px solid #ccc;
  border-width: 0 1px;
  background: #fff;
  position: relative;
}
body {
 letter-spacing: 0.1rem;
 background: #fff;
}
@media only screen and (max-width: 768px) {
#wrapper {
  border:none;
}
body {
  letter-spacing: 0.1rem;
}
}

/*-----------------------------------------------------
 * ハンバーガー
 *----------------------------------------------------*/
.hamburger-menu .menu-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  display: flex;
  height: 50px;
  width: 50px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #23314b;
}
.hamburger-menu .menu-btn span,
.hamburger-menu .menu-btn span:before,
.hamburger-menu .menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
}
.hamburger-menu .menu-btn span:before {
  bottom: 8px;
}
.hamburger-menu .menu-btn span:after {
  top: 8px;
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}
.hamburger-menu .menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;/*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: #23314b;
  transition: all 0.5s;/*アニメーション設定*/
}
.hamburger-menu .menu-content ul {
  padding: 70px 10px 0;
}
.hamburger-menu .menu-content ul li {
  border-bottom: solid 1px #ffffff;
  list-style: none;
}
.hamburger-menu .menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color:#ffffff;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}
.hamburger-menu .menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}
.hamburger-menu #menu-btn-check:checked ~ .menu-content {
  left: 0;/*メニューを画面内へ*/
}
.hamburger-menu #menu-btn-check {
  display: none;
}

/*-----------------------------------------------------
 * ヘッダー帯
 *----------------------------------------------------*/
.gnavi-wrap {
}
.gnavi {
  padding: 1rem 2rem;
  overflow: hidden;
  border-bottom: 1px solid #ccc;
}
.gnavi .logo {
  float: left;
  width: 80px;
}
.gnavi .menu ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1.5rem 1.5rem;
}
.gnavi .menu ul li {
  font-size: 1.6rem;
}
.gnavi .menu ul li a {
  color: #156ca8;
  text-decoration: none;
}
.gnavi .menu ul li a:hover {
  color: #156ca8;
  text-decoration: underline;
}
.fixedbtn {
  display: none;
  position: fixed;
  right: 0;
  top: 80px;
  width: 100vw;
}
.fixedbtn-inner {
  max-width: 960px;
  margin: 0 auto;
  overflow: hidden;
}
.fixedbtn a {
  display: block;
  width: 80px;
  float:right;
}
.on {
  display: block;
}

@media only screen and (max-width: 768px) {
.gnavi {
  padding: 0.5rem 1.5rem;
  overflow: hidden;
  border-bottom: 1px solid #ccc;
}

.obibtn {
  font-size: 1.6rem;
  background: #308e29;
  color: #fff;
  display: block;
  width: 45%;
  text-align: center;
  text-decoration: none;
  height: 60px;
  border-radius: 1rem;
  float: right;
  line-height: 60px;
}

.fixedbtn {
  display: none;
  position: fixed;
  right: 0;
  top: 80px;
  border: 1px solid #f09;
  width: 100vw;
}
.fixedbtn-inner {
  max-width: 960px;
  border: 1px solid #333;
  margin: 0 auto;
  overflow: hidden;
}
.fixedbtn a {
  display: block;
  width: 80px;
  float:right;
}
.on {
  display: none;
}


}

/*-----------------------------------------------------
 * 固定ヘッダー
 *----------------------------------------------------*/
.fixed {
  position: fixed;
/*  top: 0;
  left: 0; */
  width: 750px;
  z-index: 10;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 5px 5px rgba(0,0,0,0.4);
}



/*-----------------------------------------------------
 * ヘッダー
 *----------------------------------------------------*/
.header-wrapper { }
.header-main {  background: #f7c837; }
.header-notice { font-size: 1.2rem; color: #666; text-align: right; padding: 0.5rem; }
.header-bottom {
  background: #222;
  padding: 2rem 0;
}
.header-bottom .regbtn-area {
  padding: 2rem 0;
}
@media only screen and (max-width: 768px) {
.header-wrapper {
  background: transparent;
}
.header-main {
  background: #f7c837;
  padding: 0;
}
.header-bottom {
  background: #222;
  padding: 1rem 0;
}
}

/*-----------------------------------------------------
 * 枠
 *----------------------------------------------------*/
.main-area { }
@media only screen and (max-width: 768px) {
.main-area { }
}

/*-----------------------------------------------------
 * トップボタン
 *----------------------------------------------------*/
.topbtn-area {
  background: #f4f4f4;
  padding: 0 0 3rem 0;
  position: relative;
}
.topbtn-area .sub-ttl {
  font-size: 2.5rem;
  text-align: center;
  margin: 2rem 0 1rem 0;
}
.topbtn-area .ttl {
  font-size: 5.5rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.btn-wrapper {
  padding: 1rem;
  z-index: 3;
}
.btn-wrapper a.orangebtn {
  background: #f60;
  background: -moz-linear-gradient(top, #f60, #ef900c);
  background: -webkit-linear-gradient(top, #f60, #ef900c);
  background: linear-gradient(to bottom, #f60, #ef900c);
  display: block;
  font-size: 3rem;
  color: #fff;
  font-weight: bold;
  border-radius: 1rem;
  padding: 2rem 1rem;
  text-align: center;
  text-decoration: none;
  border-bottom: 5px solid #aa5023;
}
.btn-wrapper a.orangebtn:hover {
  border-bottom: 0px solid #aa5023;
  margin-top: 5px;
}

@media only screen and (max-width: 768px) {
.topbtn-area {
  background: #f4f4f4;
  padding: 0 0 2rem 0;
}
.topbtn-area .sub-ttl {
  font-size: 2rem;
  text-align: center;
  margin: 1rem 0 1rem 0;
}
.topbtn-area .ttl {
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.btn-wrapper {
  padding: 1rem;
}
.btn-wrapper a.orangebtn {
  background: #f60;
  background: -moz-linear-gradient(top, #f60, #ef900c);
  background: -webkit-linear-gradient(top, #f60, #ef900c);
  background: linear-gradient(to bottom, #f60, #ef900c);
  display: block;
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
  border-radius: 1rem;
  padding: 1.5rem 1rem;
  text-align: center;
  text-decoration: none;
  border-bottom: 5px solid #aa5023;
}
.btn-wrapper a.orangebtn:hover {
  border-bottom: 0px solid #aa5023;
  margin-top: 5px;
}
}

/*-----------------------------------------------------
 * 内側
 *----------------------------------------------------*/
.inner {
  padding: 0 2rem;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
.inner {
  padding: 0 1.5rem;
  box-sizing: border-box;
}
}
/*-----------------------------------------------------
 * 共通タイトル
 *----------------------------------------------------*/

h2.ttl {
  margin-top: 6rem;
  font-size: 4rem;
  text-align: center;
  padding: 0 0 0 0;
  color: #444;
  line-height: 1.2;
  letter-spacing: 2px;
}
.rubi {
  margin-top: 0.5rem;
  text-align: center;
  color: #2c5bb9;
  font-family: arial;
  margin-bottom: 2.5rem;
  font-size: 2rem;
}
.text {
  font-size: 1.6rem;
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {

h2.ttl {
  margin-top: 4rem;
  font-size: 2.7rem;
  text-align: center;
  padding: 0 0 0 0;
  color: #444;
  line-height: 1.2;
  letter-spacing: 2px;
}
.rubi {
  margin-top: 0.5rem;
  text-align: center;
  color: #2c5bb9;
  font-family: arial;
  margin-bottom: 2rem;
  font-size: 1.8rem;
}
.text {
  font-size: 1.6rem;
  line-height: 1.5;
}

}


/*-----------------------------------------------------
 * 特典
 *----------------------------------------------------*/
.present-box {
  box-sizing: border-box;
  border: 5px solid #ddd;
  padding: 2rem;
  margin: 2rem 0;
}
.ttl-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  flex-start;
}
.ttl-wrap .icon {
  background: #e7445b;
  padding: 2px;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: bold;
  margin-right: 2rem;
  width: 7.5rem;
}
.ttl-wrap .icon-inner {
  border: 1px solid #fff;
  padding: 1rem;
}

.ttl-wrap .ttl {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1.2;
}
.present-box .text-wrap {
  padding: 1rem 0;
  font-size: 1.8rem;
}
.img-wrap {
  margin: 1rem auto;
}
.present-notice {
  font-size: 1.4rem;
  color: #666;
  padding: 0.5rem;
  text-align: right;
}

@media only screen and (max-width: 768px) {
.present-box {
  padding: 1rem;
  margin: 2rem 0;
}
.ttl-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  flex-start;
}
.ttl-wrap .icon {
  background: #e7445b;
  padding: 2px;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  margin-right: 1.5rem;
  width: 8.5rem;
}
.ttl-wrap .icon-inner {
  border: 1px solid #fff;
  padding: 1rem;
}

.ttl-wrap .ttl {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1.2;
}
.present-box .text-wrap {
  padding: 1rem 0;
  font-size: 1.6rem;
}
.img-wrap {
  margin: 1rem auto;
}
.present-notice {
  font-size: 1.3rem;
  color: #666;
  padding: 0.5rem;
  text-align: left;
}


}
/*-----------------------------------------------------
 * お知らせ
 *----------------------------------------------------*/
.news-wrap {
  background: #f4f4f4;
  padding: 3rem 0 4rem 0;
}
.news-wrap h2.ttl {
  margin-top: 2rem;
}
#scroll-box {
  height: 24rem;
  overflow: hidden;
}
ul.news {
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
ul.news li {
  border-top: 1px solid #ccc;
  background: #fff;
  padding: 1.5rem;
}
.icon-new {
  background: #f60;
  color: #fff;
  border-radius: 0.5rem;
  display:inline-block;
  padding: 0.2rem 0.5rem;
  line-height: 1;
  margin-right: 1rem;
}
.day {
  color: #666;
  margin-right: 1rem;
}
@media only screen and (max-width: 768px) {

.news-wrap {
  background: #f4f4f4;
  padding: 2rem 0 2rem 0;
}
.news-wrap h2.ttl {
  margin-top: 2rem;
}
#scroll-box {
  height: 24rem;
  overflow: hidden;
}
ul.news {
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
ul.news li {
  border-top: 1px solid #ccc;
  background: #fff;
  padding: 1rem;
}
.icon-new {
  background: #f60;
  color: #fff;
  border-radius: 0.5rem;
  display:inline-block;
  padding: 0.2rem 0.5rem;
  line-height: 1;
  margin-right: 1rem;
}
.day {
  color: #666;
  margin-right: 1rem;
}

}

/*-----------------------------------------------------
 * こんな方へオススメ
 *----------------------------------------------------*/
.recommend-wrap {
  background: #dbf1f8;
  padding: 3rem 0 1rem 0;
}
.recommend-wrap h2.ttl {
  margin-top: 2rem;
}
.recommend {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 2rem auto;
  justify-content: space-between;
  align-items:stretch;
  flex-wrap: wrap;
}
.recommend .item {
  box-sizing:border-box;
  flex-basis:49%;
  width: 49%;
  background: #fff;
  padding: 1.5rem;
  border-radius: 0.5rem;
  text-align: center;
  border: 1px solid #2c5bb9;
  align-items: center;
  margin: 1rem 0;
}
.recommend .item .ttl {
  font-size: 2rem;
  color: #203358;
}
.recommend .item .thumb {
  margin-bottom: 2rem;
}

@media only screen and (max-width: 768px) {
.recommend-wrap {
  background: #dbf1f8;
  padding: 2rem 0 1rem 0;
}
.recommend-wrap h2.ttl {
  margin-top: 1.5rem;
}
.recommend {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 1rem auto;
  justify-content: space-between;
  align-items:stretch;
  flex-wrap: wrap;
}
.recommend .item {
  box-sizing:border-box;
  flex-basis:49%;
  width: 49%;
  background: #fff;
  padding: 1rem;
  border-radius: 0.5rem;
  text-align: center;
  border: 1px solid #2c5bb9;
  align-items: center;
  margin: 1rem 0;
}
.recommend .item .ttl {
  font-size: 1.6rem;
  color: #203358;
  line-height: 1.4;
}
.recommend .item .thumb {
  margin-bottom: 1.5rem;
}

}

/*-----------------------------------------------------
 * 答え
 *----------------------------------------------------*/
.answer-wrap {
  padding: 4rem 0;
}
.answer-wrap .sub-ttl {
  color: #3a4d71;
  text-align: center;
  font-size: 2.6rem;
  line-height: 1.4;
}
.answer-wrap .ttl {
  color: #333;
  font-size: 6.0rem;
  text-align: center;
  line-height: 1.2;
  font-weight: bold;
  margin: 2rem 0;
  letter-spacing: 2px;
}
.answer-wrap .sub-ttl2 {
  color: #333;
  text-align: center;
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.answer-wrap .sub-ttl3 {
  color: #333;
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
}

@media only screen and (max-width: 768px) {

.answer-wrap {
  padding: 3rem 0;
}
.answer-wrap .sub-ttl {
  color: #3a4d71;
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
}
.answer-wrap .ttl {
  color: #333;
  font-size: 4rem;
  text-align: center;
  line-height: 1.2;
  font-weight: bold;
  margin: 2rem 0;
  letter-spacing: 2px;
}
.answer-wrap .sub-ttl2 {
  color: #333;
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.answer-wrap .sub-ttl3 {
  color: #333;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.4;
}

}

/*-----------------------------------------------------
 * イベント
 *----------------------------------------------------*/

.event-wrap {
  background: #dbf1f8 url("../img/event_bg.jpg") center top no-repeat;
  padding: 4rem 0;
}
.event-wrap h2.ttl {
  margin-top: 2rem;
}
.gain {
  background: #fff;
  border-radius: 1rem;
  padding: 1.5rem;
  box-sizing: border-box;
  margin: 2rem auto;
}
.gain .num {
  width: 80px;
  height: 80px;
  background: #3a4d71;
  color: #fff;
  text-align: center;
  font-family: arial;
  font-weight: bold;
  margin: 0 auto;
  font-size: 5rem;
  border-radius: 50%;
  line-height: 80px;
}
.gain .text-wrap {
  padding: 1rem 0;
  font-size: 1.8rem;
}
.gain .ttl {
  font-size: 3.8rem;
  font-weight: bold;
  text-align: center;
  margin:2rem auto;
  line-height: 1.2;
  color: #3a4d71;
}
.gain .thumb {
  margin: 2rem auto;
}
@media only screen and (max-width: 768px) {
.event-wrap {
  background: #dbf1f8 url("../img/event_bg.jpg") center top no-repeat;
  padding: 2rem 0;
}
.event-wrap h2.ttl {
  margin-top: 2rem;
}
.gain {
  background: #fff;
  border-radius: 1rem;
  padding: 1.5rem;
  box-sizing: border-box;
  margin: 1rem auto;
}
.gain .num {
  width: 60px;
  height: 60px;
  background: #3a4d71;
  color: #fff;
  text-align: center;
  font-family: arial;
  font-weight: bold;
  margin: 0 auto;
  font-size: 3rem;
  border-radius: 50%;
  line-height: 60px;
}
.gain .text-wrap {
  padding: 1rem 0;
  font-size: 1.6rem;
}
.gain .ttl {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  margin:2rem auto;
  line-height: 1.2;
  color: #3a4d71;
}
.gain .thumb {
  margin: 1rem auto;
}
}


/*-----------------------------------------------------
 * プロフィール
 *----------------------------------------------------*/
.prof {
  overflow: hidden;
  margin: 4rem 0 2rem 0;
}
.prof .thumb {
  width: 35%;
  float: right;
}
.prof .sub-ttl {
  color: #3a4d71;
  font-size: 2.4rem;
  font-weight: bold;
}
.prof .ttl {
  font-size: 3.6rem;
  font-weight: bold;
}
.prof .text-wrap {
  padding: 1rem 0;
  font-size: 1.8rem;
}
.prof .media {
  clear:both;
  margin: 1rem auto;
}

@media only screen and (max-width: 768px) {
.prof {
  overflow: hidden;
  margin: 2rem 0 1rem 0;
}
.prof .thumb {
  width: 35%;
  float: right;
}
.prof .sub-ttl {
  color: #3a4d71;
  font-size: 1.8rem;
  font-weight: bold;
}
.prof .ttl {
  font-size: 3rem;
  font-weight: bold;
}
.prof .text-wrap {
  padding: 1rem 0;
  font-size: 1.5rem;
}
.prof .media {
  clear:both;
  margin: 1rem auto;
}

}


/*-----------------------------------------------------
 * お客様の声
 *----------------------------------------------------*/
.voice {
  background:#ffffd8;
  padding: 4rem 0;
}
.voice h2.ttl {
  margin-top: 2rem;
}
.voice-notice {
  margin: 2rem auto;
  font-size: 1.6rem;
  text-align: center;
}

#scroll-box2 {
  height: 40rem;
  overflow: hidden;
  background: #fff;
}
ul.voices {
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
ul.voices li {
  border-top: 1px solid #ccc;
  background: #fff;
  padding: 1.5rem;
}
ul.voices li .star {
  color: #f60;
  font-size: 120%;
}
ul.voices li .star::after {
  content: " ";
}
ul.voices li .result {
  color: #f60;
}
@media only screen and (max-width: 768px) {
.voice {
  background:#ffffd8;
  padding: 2rem 0;
}
.voice h2.ttl {
  margin-top: 2rem;
}
.voice-notice {
  margin: 2rem auto;
  font-size: 1.6rem;
  text-align: center;
}

#scroll-box2 {
  height: 40rem;
  overflow: hidden;
  background: #fff;
}
ul.voices {
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
ul.voices li {
  border-top: 1px solid #ccc;
  background: #fff;
  padding: 1rem;
}
ul.voices li .star {
  color: #f60;
  font-size: 120%;
}
ul.voices li .star::after {
  content: " ";
}
ul.voices li .result {
  color: #f60;
}
}

/*-----------------------------------------------------
 * no1
 *----------------------------------------------------*/
.sankan { }
.sankan .text-wrap {
  font-size:1.4rem;
  margin: 2rem;
  text-align: center;
  color: #666;
}

/*-----------------------------------------------------
 * 講師
 *----------------------------------------------------*/
.teacher-wrap {
  background: #dbf1f8;
  padding: 4rem 0;
}
.teacher-wrap h2.ttl {
  margin-top: 2rem;
}
.teachers {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 2rem auto;
  justify-content: space-between;
  align-items:stretch;
  flex-wrap: wrap;
}
.teachers .item {
  box-sizing:border-box;
  flex-basis:33%;
  width: 33%;
  background: #fff;
  padding: 1rem;
  border-radius: 0.5rem;
  text-align: center;
  align-items: center;
  margin: 0.5rem 0;
}
.teachers .item .ttl {
  font-size: 2.2rem;
  color: #333;
}
.teachers .item .sub-ttl {
  font-size: 1.5rem;
  color: #203358;
}
.teachers .item .thumb {
  margin-bottom: 2rem;
}

@media only screen and (max-width: 768px) {
.teacher-wrap {
  background: #dbf1f8;
  padding: 2rem 0;
}
.teacher-wrap h2.ttl {
  margin-top: 2rem;
}
.teachers {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 1rem auto;
  justify-content: space-between;
  align-items:stretch;
  flex-wrap: wrap;
}
.teachers .item {
  box-sizing:border-box;
  flex-basis:49%;
  width: 49%;
  background: #fff;
  padding: 1rem;
  border-radius: 0.5rem;
  text-align: center;
  align-items: center;
  margin: 0.5rem 0;
}
.teachers .item .ttl {
  font-size: 1.8rem;
  color: #333;
}
.teachers .item .sub-ttl {
  font-size: 1.4rem;
  color: #203358;
}
.teachers .item .thumb {
  margin-bottom: 2rem;
}
}

/*-----------------------------------------------------
 * お申込み
 *----------------------------------------------------*/
.reg-wrap {
  background: #f4f4f4;
  padding: 3rem 0;
  border-bottom: 1px solid #ccc;
}
.reg-wrap .sub-ttl {
  font-size: 3.5rem;
  text-align: center;
  margin: 2rem 0 1rem 0;
  font-weight: bold;
}
.reg-wrap .ttl {
  font-size: 5.5rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.reg-wrap .thumb {
  margin-bottom: 1rem;
}
.reg-wrap .notice {
  font-size: 2rem;
  text-align: center;
}

.syusai {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  align-items:stretch;
  flex-wrap: wrap;
  padding: 1.5rem 0;
  font-size: 2.6rem;
  border-bottom: 1px solid #ccc;
  letter-spacing: 1px;
}
.syusai .sub {
  background: #2d3691;
  border-radius: 1rem;
  box-sizing: border-box;
  margin-right: 1rem;
  font-weight: bold;
  padding: 0.5rem 1rem;
  color: #fff;
}
.syusai .name {
  background: #fff;
  border-radius: 1rem;
  box-sizing: border-box;
  margin-right: 1rem;
  font-weight: bold;
  padding: 0.5rem 1rem;
  color: #333;
}
.reg-notice {
  font-size: 2.8rem;
  font-weight: bold;
  margin: 2rem auto 1rem auto;
  text-align: center;
}
.regbtn-wrapper {
  margin: 3rem auto;
}
.menseki {
  font-size: 1.3rem;
  height: 5rem;
  overflow-y: scroll;
  margin: 2rem auto;
}
.reg-ttl {
  background: #f60;
  color: #fff;
  text-align: center;
  padding: 1rem 0;
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
.reg-wrap {
  background: #f4f4f4;
  padding: 3rem 0;
  border-bottom: 1px solid #ccc;
}
.reg-wrap .sub-ttl {
  font-size: 2rem;
  text-align: center;
  margin: 2rem 0 1rem 0;
  font-weight: bold;
}
.reg-wrap .ttl {
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.reg-wrap .thumb {
  margin-bottom: 1rem;
}
.reg-wrap .notice {
  font-size: 2rem;
  text-align: center;
}

.syusai {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  align-items:stretch;
  flex-wrap: wrap;
  padding: 1rem 0;
  font-size: 1.5rem;
  border-bottom: 1px solid #ccc;
  letter-spacing: 1px;
}
.syusai .sub {
  background: #2d3691;
  border-radius: 1rem;
  box-sizing: border-box;
  margin-right: 0.5rem;
  font-weight: bold;
  padding: 0.5rem 0.5rem;
  color: #fff;
}
.syusai .name {
  background: #fff;
  border-radius: 1rem;
  box-sizing: border-box;
  margin-right: 1rem;
  font-weight: bold;
  padding: 0.5rem 0.5rem;
  color: #333;
}
.reg-notice {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 2rem auto 1rem auto;
  text-align: center;
}
.regbtn-wrapper {
  margin: 2rem auto;
}
.menseki {
  font-size: 1.3rem;
  height: 5rem;
  overflow-y: scroll;
  margin: 2rem auto;
}
.reg-ttl {
  background: #f60;
  color: #fff;
  text-align: center;
  padding: 1rem 0;
  font-size: 1.8rem;
  font-weight: bold;
}
}

/*-----------------------------------------------------
 * 開催日時
 *----------------------------------------------------*/
.reg-time {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  align-items:stretch;
  flex-wrap: wrap;
  padding: 1.5rem 0;
  font-size: 2.8rem;
  border-bottom: 1px solid #ccc;
  letter-spacing: 1px;
  justify-content: center;
  align-items: center;
}

.reg-time .reg-date {
  box-sizing: border-box;
  border-right: 1px solid #ccc;
  text-align: center;
  padding: 0.5rem 2rem 0.5rem 0;
  font-weight: bold;
}
.reg-time .reg-sch {
  box-sizing: border-box;
  text-align:left;
  padding: 0.5rem 0 0.5rem 2.5rem;
  color: #2d3691;
}
.reg-time .ttl {
  background: #2d3691;
  margin-bottom: 1rem;
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
.reg-time {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 auto;
  align-items:stretch;
  flex-wrap: wrap;
  padding: 1.5rem 0;
  font-size: 1.5rem;
  border-bottom: 1px solid #ccc;
  letter-spacing: 1px;
  justify-content: center;
  align-items: center;
}

.reg-time .reg-date {
  box-sizing: border-box;
  border-right: 1px solid #ccc;
  text-align: center;
  padding: 0.5rem 1rem 0.5rem 0;
  font-weight: bold;
}
.reg-time .reg-sch {
  box-sizing: border-box;
  text-align:left;
  padding: 0.5rem 0 0.5rem 1rem;
  color: #2d3691;
}
.reg-time .ttl {
  background: #2d3691;
  margin-bottom: 1rem;
  color: #fff;
  font-size: 2rem;
  text-align: center;
}

}
/*-----------------------------------------------------
 * 投資の学校について
 *----------------------------------------------------*/
.tgp-wrap .text-wrap {
  padding: 1rem 0;
  font-size: 1.6rem;
}
.tgp-wrap h3.ttl {
  font-size: 2.4rem;
  padding: 1.5rem 0;
  border: 1px solid #ccc;
  border-width: 1px 0;
  margin: 3rem 0 2rem 0;
  text-align: center;
}
.tgp-wrap .thumb {
  margin: 2rem auto;
}
@media only screen and (max-width: 768px) {
.tgp-wrap .text-wrap {
  padding: 1rem 0;
  font-size: 1.5rem;
}
.tgp-wrap h3.ttl {
  font-size: 2rem;
  padding: 1.5rem 0;
  border: 1px solid #ccc;
  border-width: 1px 0;
  margin: 2rem 0 1rem 0;
  text-align: center;
}
.tgp-wrap .thumb {
  margin: 1rem auto;
}
}
/*-----------------------------------------------------
 * フッター
 *----------------------------------------------------*/
.footer-wrap .text-wrap {
  padding: 1rem 0;
  font-size: 1.5rem;
  text-align: center;
}
.footer-wrap h3.ttl {
  font-size: 2.4rem;
  padding: 1.5rem 0;
  border: 1px solid #ccc;
  border-width: 1px 0;
  margin: 3rem 0 2rem 0;
  text-align: center;
}
.footer-wrap .thumb {
  margin: 2rem auto;
}
.footer-menu {
  margin-top: 2rem;
}
.footer-menu ul li a {
  display: block;
  background: #eee;
  font-size: 1.8rem;
  padding: 1rem 2rem;
  text-decoration: none;
  color: #333;
}
.footer-menu ul li {
  border-top: 1px solid #ccc;
}
@media only screen and (max-width: 768px) {
.footer-wrap .text-wrap {
  padding: 1rem 0;
  font-size: 1.5rem;
  text-align: center;
}
.footer-wrap h3.ttl {
  font-size: 2.4rem;
  padding: 1.5rem 0;
  border: 1px solid #ccc;
  border-width: 1px 0;
  margin: 3rem 0 2rem 0;
  text-align: center;
}
.footer-wrap .thumb {
  margin: 2rem auto;
}
.footer-menu {
  margin-top: 2rem;
}
.footer-menu ul li a {
  display: block;
  background: #eee;
  font-size: 1.6rem;
  padding: 1rem 2rem;
  text-decoration: none;
  color: #333;
}
.footer-menu ul li {
  border-top: 1px solid #ccc;
}
}

/*-----------------------------------------------------
 * コピーライト
 *----------------------------------------------------*/
.copy {
  font-size: 1.2rem;
  text-align: center;
  padding: 1rem;
  background: #252525;
  color: #fff;
}

#go-pagetop{
  right: 20px;
  bottom: 20px;
  position: fixed;
  z-index:2;
}






.yureru-updown {
	animation: yureru-updown 2s infinite;
}
@keyframes yureru-updown {
	0% {
		transform: translate(0px, 2px);
	}
	5% {
		transform: translate(0px, -2px);
	}
	10% {
		transform: translate(0px, 2px);
	}
	15% {
		transform: translate(0px, -2px);
	}
	20% {
		transform: translate(0px, 2px);
	}
	25% {
		transform: translate(0px, -2px);
	}
	30% {
		transform: translate(0px, 0px);
	}
}