﻿@charset "utf-8";
body {
  position: relative;
  margin-top: 167px;
  background: #fff;
}
.sp {
  display: none;
}
.pc {
  display: block;
}
img {
  width: auto;
}
a img {
  transition: .3s;
}
a:hover img {
  transition: .3s;
  opacity: .65;
}
#wrap {
  width: 100%;
  min-width: 1080px;
}
.sidelist {
  letter-spacing: -.4em;
}
.sidelist li {
  letter-spacing: normal;
  display: inline-block;
}
.tel {
  pointer-events: none;
}
.tel a {
  line-height: 1;
  font-size: 40px;
  font-weight: bold;
  text-decoration: none;
  color: #63c0ab;
}
h1.obi {
  background: #63c0ab;
  color: #ffffff;
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  padding: 16px 0;
  letter-spacing: .05em;
  margin-bottom: 50px;
}
hr {
   border-width: 1px 0px 0px 0px; /* 太さ1px */
   border-style: solid;
   border-color: #63c0ab;
   height: 1px;         /* 高さ(※古いIE用) */
  margin-top: 50px;
  margin-bottom: 50px;
}
/* =============================== header =============================== */
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1000;
}
#header_inner {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
#header_inner h1 {
  margin-top: 20px;
  margin-bottom: 20px;
  line-height: 1;
}
#header_inner h1 a {
  display: inline-block;
}
#header_inner h2 {
  margin-top: 20px;
  margin-bottom: 20px;
  line-height: 1;
}
#header_inner h2 a {
  display: inline-block;
}
#header_inner #h_nav {
  position: absolute;
  right: 0;
  top: 6px;
}
#h_nav li {
  text-align: center;
}
#h_nav li:nth-last-child(n+2) {
  margin-right: 10px;
}
#h_nav li a {
  display: block;
  text-decoration: none;
  transition: .3s;
}
#h_nav li.btn_a a {
  border: 1px solid #E79797;
  padding: 19px 70px;
  line-height: 1;
  background: #E79797;
  color: #fff;
  font-size: 18px;
}
#h_nav li.btn_b a {
  border: 1px solid #115fad;
  background: #115fad;
  padding: 19px 35px;
}
#h_nav li.btn_c a {
    background: url("/img/mask.png") no-repeat;
    display: block;
    text-indent: -9999px;
  padding: 20px 35px;
}
#h_nav li.btn_d a {
  border: 1px solid #115fad;
  padding: 19px 70px;
  line-height: 1;
  background: #115fad;
  color: #fff;
  font-size: 18px;
}
@media screen and (max-width: 980px) and (min-width: 769px) {
  #h_nav li.btn_a a {
    padding: 19px 30px;
  }
  #h_nav li.btn_b a,
  #h_nav li.btn_c a,
  #h_nav li.btn_d a {
    padding: 19px 22px;
  }
}
#h_nav li.btn_b a span {
  line-height: 1;
  color: #fff;
  display: block;
  padding: 0 0 0 36px;
  font-size: 18px;
  background: url(../img/ico_mail.png) no-repeat left center;
}
#h_nav li.btn_a a:hover {
  background: #fff;
  color: #E79797;
  transition: .3s;
}
#h_nav li.btn_b a:hover {
  background: #fff;
  transition: .3s;
}
#h_nav li.btn_b a:hover span {
  color: #115fad;
  background: url(../img/ico_mail_on.png) no-repeat left center;
  transition: .3s;
}
#h_nav li.btn_c a:hover {
    background-image: url("/img/mask_on.png");
  transition: .3s;
    }
#h_nav li.btn_d a:hover {
  background: #fff;
  color: #115fad;
  transition: .3s;
}
#gnav {
  background: #64c0ab;
  width: 100%;
}
#gnav ul {
  text-align: center;
  padding: 10px 0;
}
#gnav li:nth-last-child(n+2) {
  border-right: 1px solid #4ca892;
}
#gnav li a {
  line-height: 1;
  text-decoration: none;
  color: #fff;
  display: block;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: bold;
  transition: .3s;
}
#gnav li a:hover {
  opacity: .6;
  transition: .3s;
}
#gnav li.exlink a {
  background: url(../../img/ico_03.png) no-repeat right 14px center;
  background-size: 14px;
  padding-right: 33px;
}

/* mega menu */
.menu__mega .menu__second-level,
.menu__mega .menu__second-level_2 {
  position: absolute;
  text-align: center;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  padding: 10px 0;
  background: #4ca892;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden;
  opacity: 0;
  z-index: 1000;
}

.menu__mega:hover .menu__second-level,
.menu__mega:hover .menu__second-level_2 {
  visibility: visible;
  opacity: 1;
}

.menu__mega .menu__second-level > li {
  float: left;
  width: 32%;
  border: none;
}

.menu__mega .menu__second-level > li:nth-child(3n+2) {
  margin: 0 1%;
}

.menu__mega .menu__second-level_2 > li {
  float: left;
  width: 49%;
  border: none;
}

/* */
.spnav_kaisoku a {
  background: url(../../img/ico_03_on.png) no-repeat left 112px center;
  background-size: 13px;
  background-size: 13px;
  padding-right: 33px;
}
/* =============================== slider =============================== */
#mainslide {
  width: 100%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
  margin-bottom: 120px;
}
#mainslide .slider {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.slick-arrow {
  border: none;
  text-indent: -9999px;
  width: 50px;
  height: 80px;
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  z-index: 100;
}
.slick-next {
  right: -40px;
  background: url(../img/slide_next.png) no-repeat center;
}
.slick-prev {
  left: -40px;
  background: url(../img/slide_prev.png) no-repeat center;
}
.slick-dots {
  z-index: 100;
  display: block;
  list-style: outside none none;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}
.slick-dots li {
  cursor: pointer;
  display: inline-block;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  position: relative;
  width: 20px;
}
.slick-dots li button {
  background: transparent none repeat scroll 0 0;
  border: 0 none;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  outline: medium none;
  padding: 5px;
  width: 20px;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: medium none;
}
.slick-dots li button:hover::before, .slick-dots li button:focus::before {
  opacity: 1;
}
.slick-dots li button::before {
  color: #e5e5e5;
  content: "●";
  font-family: "slick";
  font-size: 18px;
  height: 20px;
  left: 0;
  line-height: 20px;
  opacity: 0.75;
  position: absolute;
  text-align: center;
  top: 0;
  width: 20px;
  z-index: 3000;
}
.slick-dots li.slick-active button::before {
  color: #28A7A3;
  opacity: 1;
}
/* =============================== footer =============================== */
#footermenu ul {
  margin: 5px;
  padding: 0;
  list-style: none;
}
#footermenu li {
  display: inline;
  padding: 0;
  margin: 0;
  float: left;
  vertical-align: middle;
}
#footermenu li a {
  box-sizing: border-box;
  display: inline-block;
  border: 1px solid #63c0ab;
  background-color: #fff;
  color: #333;
  text-decoration: none;
  text-align: center;
  width: 480px;
  height: 75px;
  line-height: 75px;
  margin: 3px 3px;
  padding: 5px;
  font-size: 24px;
}
#footermenu li a:hover {
  background-color: #4ca892;
  color: #fff;
}
#footermenu p.clear {
  clear: left;
}
/* =============================== common =============================== */
.underslide{
  margin-left: auto;
  margin-right: auto;
  margin-top: 500px;
}

article {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto !important;
}
.fbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mw100p {
  width: 100%;
}
p.txt {
  font-size: 16px;
  line-height: 200%;
}
p.txt a {
  font-size: inherit;
}
.btn-txt {
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
  margin-bottom: .2em;
  text-align: center;
}
.btn-txt:before {
  margin-right: 1rem;
  content: '＼';
}
.btn-txt:after {
  margin-left: 1rem;
  content: '／';
}
.btn {
  text-align: center;
}
.btn a {
  display: block;
  margin-left: auto;
  margin-right: auto;
  background: #E79797;
  border: 1px solid #E79797;
  width: 620px;
  text-align: center;
  padding: 28px 0;
  line-height: 1;
  text-decoration: none;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  transition: .3s;
}
.btn.kaisoku a {
  background: #63c0ab;
  border: 1px solid #63c0ab;
}
.btn.page a {
  background: #63c0ab;
  border: 1px solid #63c0ab;
}
.btn a span {
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  display: inline-block;
}
.btn.entry a span {
  background: url(../../img/ico_01.png) no-repeat left center;
  padding-left: 50px;
}
.btn.kaisoku a span {
  background: url(../../img/ico_02.png) no-repeat left center, url(../../img/ico_03.png) no-repeat right center;
  padding-left: 50px;
  padding-right: 45px;
}
.btn.page a span {
  padding-left: 50px;
  padding-right: 45px;
}
.btn a:hover {
  background: #fff;
  transition: .3s;
}
.btn a:hover span {
  color: #E79797;
  transition: .3s;
}
.btn.entry a:hover span {
  background: url(../../img/ico_01_on.png) no-repeat left center;
  padding-left: 50px;
  transition: .3s;
}
.btn.entry a small {
  display: inline-block;
  font-size: 20px;
  padding: 5px 10px;
  line-height: 1;
  margin-right: 10px;
  background: #fff;
  color: #E79797;
  transition: .3s;
}
.btn.kaisoku a:hover span {
  color: #63c0ab;
  background: url(../../img/ico_02_on.png) no-repeat left center, url(../../img/ico_03_on.png) no-repeat right center;
  padding-left: 50px;
  padding-right: 45px;
  transition: .3s;
}
.btn.page a:hover span {
  color: #63c0ab;
  padding-left: 50px;
  padding-right: 45px;
  transition: .3s;
}
.box01 {
  position: relative;
  margin: 2em 0;
  padding: 0.5em 1em;
  border: double 5px #63c0ab;
  border-radius: 8px;
}
.box01 .box-title {
  position: absolute;
  display: inline-block;
  top: -14px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size: 19px;
  background: #FFF;
  color: #f4423d;
  font-weight: bold;
}
.box01 p {
  font-size: 16px;
  margin: 0;
  padding: 0;
}
.box01 .point {
  width: 100%;
  text-align: center;
}
.box01 .point ul {
  padding: 15px 0;
  display: inline-block;
}
.box01 .point ul li {
  text-align: left;
  font-size: 18px;
  line-height: 180%;
  font-weight: bold;
}
.box01 .point ul li span {
  font-size: 18px;
  font-weight: bold;
  color: #f4423d;
  margin-right: 10px;
}
h2 {
  font-size: 34px;
  color: #3bb196;
  margin-bottom: 40px;
}
h2 strong {
  display: inline-block;
  background: #f4423d;
  color: #fff !important;
  line-height: 1;
  padding: 5px 10px;
  margin-right: 10px;
  font-size: 30px;
}
/* =============================== sec =============================== */
#sec01 {
  background: #eefbf8;
  padding: 70px 50px;
  margin-bottom: 100px;
}
#sec01 h3 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
}
#sec01 .fbox {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#sec00 div.fbox {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  margin-bottom: 50px;
}
#sec00 .fbox .photo {
  width: 48%;
  padding-left: 2%;
  max-width: 520px;
}
#sec01 .fbox .photo {
  width: 44%;
  max-width: 520px;
}
#sec01 .fbox .text {
  width: 52.8%;
  padding-left: 3%;
  max-width: 600px;
}
.ttl01 {
  font-size: 34px;
  font-weight: normal;
  text-align: center;
  padding-bottom: 33px;
  position: relative;
  margin-bottom: 60px;
}
.ttl01:after {
  content: "";
  display: block;
  width: 230px;
  height: 2px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #63c0ab;
}
.ttl02 {
  font-size: 24px;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 20px;
}
.ttl03 {
  font-size: 48px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #115fad;
  letter-spacing: .05em;
  padding: 22px 0 24px;
  margin-bottom: 65px;
}
.sttl01 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
}
.sttl02 {
  color: #fff;
  background: #115fad;
  padding: 12px 34px 14px;
  font-size: 20px;
  font-weight: bold;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  margin-bottom: 20px;
}
.sttl03 {
  font-size: 30px;
  font-weight: normal;
  margin-bottom: 40px;
}
#strength {
  margin-bottom: 160px;
}
#strength ul {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px;
}
#strength li {
  padding: 0 0 40px 180px;
  margin-top: 40px;
  border-bottom: 1px solid #ddd;
}
#strength li .num {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 42px;
  text-align: center;
  color: #fff;
  background: #63c0ab;
  line-height: 1;
  padding: 14px 0;
  width: 70px;
  margin-right: 36px;
  vertical-align: middle;
}
#strength li p {
  color: #63c0ab;
  font-size: 38px;
  font-weight: bold;
  display: inline-block;
  line-height: 115%;
  vertical-align: middle;
}
#strength li p small {
  font-size: 18px;
  font-weight: normal;
  display: block;
  color: #333;
}
#result {
  margin-bottom: 160px;
}
#result img {
  width: 100%;
}
div.photo {
    text-align : center
}
.fbox .photo img {
  width: 100%;
}
#strong, #ordermade, #online, #onlinelessons, #environment, #monthly, #location, #footermenu {
  margin-bottom: 160px;
}
#online .photo, #onlinelessons .photo, #environment .photo, #monthly .photo, #location .photo,#success .photo {
  width: 43.7%;
  max-width: 560px;
}
#online .text, #onlinelessons .text, #environment .text, #monthly .text, #location .text {
  width: 52.3%;
  max-width: 680px;
  padding-top: 20px;
}
#online .fbox .left, #onlinelessons .fbox .left, #environment .fbox .left, #monthly .fbox .left, #location .fbox .left {
  margin-right: 4%
}
#teacher {
  margin-bottom: 160px;
}
#teacher .inblock,
#success .inblock {
  margin-bottom: 100px;
}
#teacher .inblock .photo p,
#success .inblock .photo p{
  margin: 10px 0 0 0;
  font-size: 16px;
  font-weight: bold;
  line-height: 162.5%;
}
#teacher .inblock .photo p small,
#success .inblock .photo p small {
  display: block;
  margin-top: 5px;
  font-size: 14px;
}
#teacher .inblock .tx_r small,
#success .inblock .tx_r small {
  font-size: 14px;
}
#teacher .sidelist li {
  vertical-align: top;
  width: 25%;
}
#teacher .sidelist li img {
  width: 100%;
}
#teacher .sidelist li p {
  margin: 10px 0 0 0;
  font-size: 16px;
  font-weight: bold;
  line-height: 162.5%;
}
#teacher .sidelist li p small {
  display: block;
  margin-top: 5px;
  font-size: 14px;
}
#teacher .left,
#success .left {
  margin-right: 5%;
}
#teacher .photo {
  width: 43%;
  max-width: 560px;
}
#teacher .photo img,
#success .photo img {
  width: 100%;
}
#teacher .text {
  width: 52%;
}
#success .photo {
  width: 35%;
  max-width: 560px;
}
#success .text {
  width: 65%;
}
#kaisoku {
  margin-bottom: 75px;
}
#shiritsu {
  margin-bottom: 160px;
}
#kaisoku .photo, #shiritsu .photo {
  width: 40%;
  max-width: 770px;
  padding-left: 2%;
}
#shiritsu .photo {
  text-align: center;
}
#kaisoku .photo img {
  width: 100%;
  max-width: 454px;
}
#shiritsu .photo img {
  width: 100%;
  max-width: 400px;
}
#kaisoku .text, #shiritsu .text {
  width: 58%;
  max-width: 770px;
}
#kaisoku .fbox {
  margin-bottom: 65px;
}
#shiritsu .point,#onlinelessons .point {
  width: 100%;
  background: #eefbf8;
  text-align: center;
  margin-top: 30px;
}
#shiritsu .point p strong,
#onlinelessons .point p strong {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #63c0ab;
  padding: 5px 0;
  display: block;
  letter-spacing: .05em;
}
#shiritsu .point ul,
#onlinelessons .point ul {
  padding: 15px 0;
  display: inline-block;
}
#shiritsu .point ul li,
#onlinelessons .point ul li {
  text-align: left;
  font-size: 18px;
  line-height: 180%;
  font-weight: bold;
}
#shiritsu .point ul li span,
#onlinelessons .point ul li span {
  font-size: 18px;
  font-weight: bold;
  color: #63c0ab;
  margin-right: 10px;
}
#course {
  margin-bottom: 160px;
}
#course dl {
  border-bottom: 1px solid #4ca892;
}
#course dt {
  border-top: 1px solid #4ca892;
  padding: 35px 35px 30px 35px;
  font-size: 18px;
  cursor: pointer;
  position: relative;
}
#course dt::after {
  content: "＋";
  display: inline-block;
  padding: 5px 6px 6px;
  line-height: 1;
  text-align: center;
  color: #4ca892;
  border: 1px solid #4ca892;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  position: absolute;
  right: 20px;
}
#course dt.active {
  border-bottom: 1px solid #4ca892;
}
#course dt.active::after {
  content: "－";
}
#course dt:hover {
  background: #eeffee;
}
#course dd {
  display: none;
  background: #fff;
  padding: 20px 35px;
}
#course dd h4 {
  color: #2e9980;
  font-size: 28px;
  font-weight: normal;
  margin-bottom: 10px;
}
#course dd table {
  width: 100%;
  border: none;
  border-collapse: collapse;
  border-top: 1px solid #2e9980;
  border-left: 1px solid #2e9980;
  margin-bottom: 20px;
}
#course dd th, #course dd td {
  border-right: 1px solid #2e9980;
  border-bottom: 1px solid #2e9980;
  padding: 10px 15px;
  color: #555;
  font-size: 16px;
}
#course ul.caution,
#onlinelessons ul.caution,
#success ul.caution {
  margin-left: 1.2em;
}
#course ul.caution li,
#onlinelessons ul.caution li,
#success ul.caution li {
  list-style: disc outside;
  font-size: 16px;
  line-height: 180%;
}
#course dd ul {
  margin-left: 1.2em;
}
#course dd li {
  list-style: disc outside;
  font-size: 14px;
  line-height: 160%;
}
#tuition h4 {
  color: #2e9980;
  font-size: 28px;
  font-weight: normal;
  margin-bottom: 10px;
}
#tuition table {
  width: 100%;
  border: none;
  border-collapse: collapse;
  border-top: 1px solid #2e9980;
  border-left: 1px solid #2e9980;
  margin-bottom: 20px;
}
#tuition th, #tuition td {
  border-right: 1px solid #2e9980;
  border-bottom: 1px solid #2e9980;
  padding: 10px 15px;
  color: #555;
  font-size: 16px;
}
#tuition ul.caution, {
  margin-left: 1.2em;
}
#tuition ul.caution li, {
  list-style: disc outside;
  font-size: 16px;
  line-height: 180%;
}
#tuition ul {
  margin-left: 1.2em;
}
#tuition li {
  list-style: disc outside;
  font-size: 14px;
  line-height: 160%;
}
#setsumeikai {
  margin-bottom: 160px;
}
#shiritsu h5, #setsumeikai h5, #online h5, #onlinelessons h5 {
  font-size: 24px;
  font-weight: normal;
  margin-top: 25px;
  margin-bottom: 10px;
  color: #63c0ab;
}
#onlinelessons .tbl {
  border: none;
  border-collapse: collapse;
}
#onlinelessons .tbl.special {
  border-left: 1px solid #ddd;
  border-top: 1px solid #ddd;
}
#onlinelessons .tbl.special th {
  background: #63c0ab;
  color: #fff;
  text-align: center;
  font-size: 20px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 12px 0;
}
#onlinelessons tbl.special th small {
  font-size: 16px;
  color: inherit;
  display: block;
  letter-spacing: .05em;
}
#onlinelessons .tbl.special tr:nth-child(2n+1) td {
  background: #f0f0f0;
}
#onlinelessons .tbl.special tr:nth-child(2n) td {
  background: #f9f9f9;
}
#onlinelessons .tbl.special td {
  padding: 0 10px;
  vertical-align: middle;
  font-size: 16px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#onlinelessons .tbl.special td.num {
  background: #63c0ab !important;
  font-family: 'Roboto', sans-serif;
  color: #fff;
  font-size: 42px;
  text-align: center;
  font-weight: bold;
  padding: 14px 0;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#onlinelessons .tbl.special td.num small {
  font-size: 16px;
  color: inherit;
  display: block;
  letter-spacing: .05em;
}
#onlinelessons .tbl.special tr:nth-child(2) td, #onlinelessons .tbl.special tr:nth-child(3) td {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 120%;
}
#onlinelessons .tbl.special td.th_blu,
#onlinelessons .tbl.special td.th_red {
  text-align: center;
  font-size: bold;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#onlinelessons .tbl.special td.th_blu {
  background: #e4f6fe !important;
  text-align: center;
}
#onlinelessons .tbl.special td.th_blu span, #onlinelessons .tbl.special td.th_red span {
  font-size: 26px;
  font-weight: bold;
  color: #115fad;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  margin: 0;
  line-height: 1.3em;
  letter-spacing: .1em;
}
#onlinelessons .tbl.special td.th_blu span small {
  font-size: 20px;
  color: inherit;
}
#onlinelessons .tbl.special td.th_red {
  background: #feecf2 !important;
}
#onlinelessons .tbl.special td.th_red span {
  color: #ee86a7;
}
#onlinelessons .tbl.pink table {
  margin: 20px auto;
}
#onlinelessons .tbl.pink th {
  background: #a7a39d;
  color: #fff;
  text-align: center;
  font-size: 22px;
  border: 1px solid #ddd;
  padding: 20px;
}

#onlinelessons .tbl.pink td.th {
  background: #f9f9f9;
  border: 1px solid #ddd;
  font-weight: bold;
}
#onlinelessons .tbl.pink td.th strong a {
  color: #ed6a94;
  font-size: 16px;
}
#onlinelessons .tbl.pink td {
  font-size: 16px;
  text-align: left;
  padding: 20px;
  border: 1px solid #ddd;
}
#onlinelessons .tbl.pink td strong {
  color: #cd0000;
  font-weight: bold;
  font-size: 22px;
}

.s_date table {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  border: none;
  border-top: 1px solid #505050;
  border-right: 1px solid #505050;
  border-collapse: collapse;
}
.s_date thead th {
  background: #404141;
  color: #fff;
  font-size: 18px;
  padding: 10px;
  border-left: 1px solid #505050;
  border-bottom: 1px solid #505050;
}
.s_date td {
  border-left: 1px solid #505050;
  border-bottom: 1px solid #505050;
  padding: 10px 5px;
  font-size: 16px;
}
.s_date td a {
  font-size: 16px;
}
.s_date tr:nth-child(4n+1) td, .s_date tr:nth-child(4n+2) td {
  background: #fff;
}
.s_date tr:nth-child(4n+3) td, .s_date tr:nth-child(4n) td {
  background: #dbe8d6;
}
.s_date td.pref, .s_date td.map {
  text-align: center;
}
#flow {
  margin-bottom: 120px;
}
#flow ul {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
#flow li {
  display: table;
  position: relative;
  padding-bottom: 30px;
}
#flow li h4, #flow li .flow_ball, #flow li .flow_text {
  display: table-cell;
  vertical-align: top;
}
#flow li h4 {
  width: 10%;
  font-size: 25px;
  padding-left: 60px;
  text-align: left;
  padding-top: 1.5em;
}
#flow li h4 strong {
  display: block;
  position: relative;
  line-height: 0.5;
}
#flow li .arrow {
  display: block;
  zoom: 1;
  position: absolute;
  width: 30px;
  height: 1px;
  left: -60px;
  top: 0.5em;
  background-color: #3b9781;
}
#flow li .arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background-color: inherit;
  margin-top: -2px;
  right: 0;
}
#flow li .flow_ball {
  width: 90px;
  position: relative;
}
#flow li .flow_ball:after {
  content: "";
  height: 150%;
  width: 1px;
  position: absolute;
  top: 0;
  left: 47px;
  border-left-style: dashed;
  border-left-width: 1px;
  border-left-color: #4ca892;
}
#flow li#flow08 .flow_ball:after {
  content: none;
}
#flow li .flow_ball span {
  display: block;
  width: 90px;
  height: 90px;
  border: 2px solid #3E9781;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  z-index: 10;
  position: relative;
}
#flow li#flow01 .flow_ball span {
  background: url(../../img/img_1201.png) no-repeat center center;
  background-size: 90px;
}
#flow li#flow02 .flow_ball span {
  background: url(../../img/img_1202.png) no-repeat center center;
  background-size: 90px;
}
#flow li#flow03 .flow_ball span {
  background: url(../../img/img_1203.png) no-repeat center center;
  background-size: 90px;
}
#flow li#flow04 .flow_ball span {
  background: url(../../img/img_1204.png) no-repeat center center;
  background-size: 90px;
}
#flow li#flow05 .flow_ball span {
  background: url(../../img/img_1205.png) no-repeat center center;
  background-size: 90px;
}
#flow li#flow06 .flow_ball span {
  background: url(../../img/img_1206.png) no-repeat center center;
  background-size: 90px;
}
#flow li#flow07 .flow_ball span {
  background: url(../../img/img_1207.png) no-repeat center center;
  background-size: 90px;
}
#flow li#flow08 .flow_ball span {
  background: url(../../img/img_1208.png) no-repeat center center;
  background-size: 90px;
}
#flow li .flow_text {
  width: 90%;
  padding-left: 60px;
}
#flow li .flow_text h5 {
  font-size: 24px;
  font-weight: normal;
  margin-top: 25px;
  margin-bottom: 10px;
  color: #63c0ab;
}
#flow .btn {
  text-align: left;
}
#flow .btn a {
  width: 100%;
  max-width: 620px;
  margin-top: 15px;
  margin-left: 0;
  margin-right: 0;
}
#flow .tellink {
  pointer-events: none;
}
#flow .tellink a {
  text-decoration: none;
  color: #63c0ab;
}
#flow .txt.caution {
  text-indent: -1em;
  padding-left: 1em;
}
#inquiry {
  margin-bottom: 100px;
}
#inquiry .tel {
  pointer-events: none;
}
#inquiry .tel a {
  line-height: 1;
  font-size: 40px;
  font-weight: bold;
  text-decoration: none;
  color: #63c0ab;
}
#accessmap iframe {
  width: 100%;
}
#fnav {
  text-align: center;
  padding: 30px 0;
}
#fnav li:first-child {
  border-right: 1px solid #666;
}
#fnav li a {
  display: block;
  padding: 2px 10px;
  text-decoration: none;
}
#copyright {
  background: #000;
  text-align: center;
  color: #fff;
  padding: 10px 0;
  font-size: 12px;
}
/*上下中央*/
.nakami {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
/*縦だけ
.nakami {
	position:absolute;
	top:50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
*/
/*hover caption kaiten*/
figure {
  position: relative;
  overflow: hidden;
  width: 300px;
}
figcaption {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .6);
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  -webkit-transition: .5s;
  transition: .5s;
  opacity: 0;
}
figure:hover figcaption {
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
  opacity: 1;
}
.btn_gotop {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
}