@charset "UTF-8";
/* lesson */
/* config
---------------------------------------------------------------------------*/
/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
body {
  background-color: #FFFFFF;
  margin: 0px;
  padding: 0px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #333; }

@media screen and (max-width: 768px) {
  body {
    /*background-image: url(../img/cmn/bg-cnts-sp.png);*/
    background-size: 100% auto;
    background-repeat: repeat-y;
    font-size: 3.5vw; } }
@supports (-ms-accelerator: true) {
  body {
    letter-spacing: -.03em; } }
h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, form, figure {
  margin: 0px;
  padding: 0px; }

ul {
  list-style-type: none; }

img {
  max-width: 100%;
  width: auto;
  height: auto;
  border: none;
  margin: 0;
  padding: 0;
  vertical-align: bottom; }

@media screen and (max-width: 640px) {
  img {
    max-width: 100%;
    height: auto;
    /*width /***/
    /*:auto;*/ } }
@media screen and (max-width: 768px) {
  input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0; } }
input, textarea, select {
  font-size: .16em; }

form {
  margin: 0px; }

table {
  border-collapse: collapse;
  font-size: .16rem;
  border-spacing: 0; }

@media screen and (max-width: 768px) {
  html {
    font-size: 550%; } }
h1, h2, h3, h4, h5, h6,
th {
  font-weight: 400; }

/* chromeで表示される謎の青枠を消す */
*:focus {
  outline: none; }

/* 電話番号のリンク */
@media (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
  transition-property: all;
  transition: 0.3s linear;
  color: inherit; }

@media screen and (min-width: 769px) {
  a:hover {
    cursor: pointer;
    opacity: 0.5;
    /* IE8 over, Opera, Safari, CSS3 over */
    transition-property: all;
    transition: 0.3s linear;
    text-decoration: none;
    color: inherit; } }
.trns {
  transition-property: all;
  transition: 0.3s linear; }

/* 共通設定
---------------------------------------------------------------------------*/
#wrap {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden; }

@media screen and (max-width: 768px) {
  #wrap {
    margin-top: 0; } }
/* bxslider
---------------------------------------------------------------------------*/
.bx-wrapper {
  box-shadow: none;
  border: none; }

.bx-wrapper {
  margin-bottom: 0; }

/* iOSでのデフォルトスタイルをリセット
---------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
.view-sp,
.view-tb {
  display: none; }

@media screen and (max-width: 768px) {
  .view-tb {
    display: block; }

  .view-pc {
    display: none; } }
@media screen and (max-width: 480px) {
  .view-sp {
    display: block; }

  .view-pc {
    display: none; } }
/* 画像パス */
/* 枠 */
/* flexbox */
/* position */
/* フォント */
@font-face {
  font-family: 'Ailerons';
  src: url("./font/Ailerons-Regular.eot") format("oldIE"), url("./font/Ailerons-Regular.woff") format("woff"), url("./font/Ailerons-Regular.ttf") format("truetype"); }
/* アイキャッチアイコンセット */
/* ボタン */
/* 色 */
/* 背景色 */
/* 文字色 */
/* 背景画像 */
/* 中央揃え */
/* object */
/* ホバーアクション */
/* 背景
---------------------------------------------------------------------------*/
#wrap {
  background-color: #F5EEDC;
  color: #000; }

.ft {
  color: #fff; }

/* 共通
---------------------------------------------------------------------------*/
.hd .hd__wrap {
  color: #000; }

@media screen and (max-width: 768px) {
  .hd .hd__nav ul li {
    color: #fff; } }

.hd .hd__nav ul li.hd__nav-contact {
  color: #fff; }

/* 枠 */
.lesson__wrap-top {
  padding-bottom: 0; }

.lesson__wrap-sec {
  padding-top: 70px;
  padding-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .lesson__wrap-sec {
      padding-top: 6.7vw;
      padding-bottom: 8vw; } }

/* 見出し */
.lesson__ttl-top {
  margin-bottom: 0; }

.lesson__ttl {
  font-size: .36rem;
  line-height: 1.6;
  font-weight: 700; }
  @media screen and (max-width: 768px) {
    .lesson__ttl {
      font-size: 4.7vw; } }

/* キャッチ */
.lesson__catch {
  font-size: .2rem;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .lesson__catch {
      font-size: 3.5vw;
      margin-bottom: 4vw; } }

/* 画像 */
.lesson__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .lesson__img {
      margin-bottom: 4vw; } }

@media screen and (max-width: 1290px) {
  .lesson__img li {
    width: 32%; } }
@media screen and (max-width: 768px) {
  .lesson__img li {
    width: 27vw; } }

/* リード */
.lesson__lead {
  line-height: 2; }
  @media screen and (max-width: 768px) {
    .lesson__lead {
      font-size: 3.1vw;
      line-height: 1.6; } }

/* porte
---------------------------------------------------------------------------*/
.porte .porte__wrap,
.lesson .porte__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px; }

.porte__wrap_underline{
	border-bottom: 1px #000 dotted;
	height: 1px;
	padding-top: 30px;
	margin-bottom: 40px;
}

.porte__ticket{
	margin-bottom: 40px;
}

  @media screen and (max-width: 768px) {
    .porte .porte__wrap,
    .lesson .porte__wrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-top: 3vw; } 

.porte__wrap_underline{
	border-bottom: 1px #000 dotted;
	height: 1px;
	padding-top: 20px;
	margin-bottom: 20px;
}
	  
	.porte__ticket{
	margin-bottom: 20px;
		text-align: center;
}
}
.porte .porte__tx,
.lesson .porte__tx {
  width: 580px; }
  @media screen and (max-width: 768px) {
    .porte .porte__tx,
    .lesson .porte__tx {
      width: 100%; } }

.porte .new_tx {
  width: 740px; }
  @media screen and (max-width: 768px) {
    .porte .new_tx{
      width: 100%; } }

.porte .porte__map,
.lesson .porte__map {
  width: 460px; }
  @media screen and (max-width: 768px) {
    .porte .porte__map,
    .lesson .porte__map {
      width: 100%; } }


.porte .porte__new{
  width: 343px; }
  @media screen and (max-width: 768px) {
	  .porte .porte__new {
      width: 60%;
	  margin: 0 auto;} }

.porte table,
.lesson table {
  width: 100%;
  margin-bottom: 30px;
  border-bottom: 1px solid #000; }
  @media screen and (max-width: 768px) {
    .porte table,
    .lesson table {
      margin-bottom: 4vw; } }
.porte table th,
.lesson table th {
  border-bottom: 1px solid #000;
  padding: 10px;
  text-align: center;
  font-weight: 700; }
  @media screen and (max-width: 768px) {
    .porte table th,
    .lesson table th {
      padding: 0 0 3vw 0;
      font-size: 3.1vw; } }
.porte table th:nth-of-type(1),
.lesson table th:nth-of-type(1) {
  padding: 10px 0;
  text-align: left;
  font-size: .22rem; }
  @media screen and (max-width: 768px) {
    .porte table th:nth-of-type(1),
    .lesson table th:nth-of-type(1) {
      font-size: 3.7vw;
      padding: 0 0 3vw 0; } }
.porte table td,
.lesson table td {
  padding: 10px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .porte table td,
    .lesson table td {
      font-size: 3.1vw;
      padding: 2vw 1vw; } }
.porte iframe,
.lesson iframe {
  width: 100%;
  height: 300px; }
  @media screen and (max-width: 768px) {
    .porte iframe,
    .lesson iframe {
      margin-top: 4vw;
      height: 46vw; } }
.porte .porte__name,
.lesson .porte__name {
  font-size: .18rem;
  line-height: 2;
  font-weight: 700;
  margin-bottom: 5px; }
  @media screen and (max-width: 768px) {
    .porte .porte__name,
    .lesson .porte__name {
      font-size: 3.7vw; } }

.porte .new_ttl{
  font-size: .22rem;
  line-height: 2;
  font-weight: 700;
	color: #0d5197;
  margin-bottom: 5px; }
  @media screen and (max-width: 768px) {
	  .porte .new_ttl{
      font-size: 4vw; } }

.porte .f_bold{
	font-weight: 600;
}

.porte__newtxt{
	margin-bottom: 15px;
}

.porte .teacher{
	font-size: .20rem;
	font-weight: 600;
	margin-bottom: 10px;
}

.private,
.online {
  border-top: 2px solid #0d5197; }
  .private table,
  .online table {
    margin-top: 40px;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .private table,
      .online table {
        margin-top: 4vw; } }
  .private table td,
  .online table td {
    text-align: left;
    margin-top: 40px; }
