@charset "UTF-8";
/* layoutCSS Document */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

img {
  backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
  -webkit-transform: translateZ(0);
}

body {
  font-family: "筑紫Aオールド明朝", "FOT-筑紫Aオールド明朝 Pr6 R", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
  /* font-family: "游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro",Osaka,sans-serif; */
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0.01em;
}

.italic {
  font-family: "筑紫Aオールド明朝", "FOT-筑紫Aオールド明朝 Pr6 R", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
}

@media screen and (max-width: 640px) {
  body {
    font-size: calc( 1.125vw + 7px );
  }
}
.mincho,
#gNav ul.nav li a,
#main div.section-title,
#main ul.course > li div.txt ol li:before {
  font-family: "筑紫Aオールド明朝", "FOT-筑紫Aオールド明朝 Pr6 R", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
}

@media screen and (max-width: 640px) {
  html, body {
    font-size: 14px;
  }
}
/* layout
--------------------------------------------------------------------------*/
#wrapper {
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
  position: relative;
}

#header {
  padding: 0;
}

.inner {
  margin: 0 auto;
  width: 1280px;
  min-width: 1280px;
  padding: 0 20px;
  max-width: 100%;
  position: relative;
}

#wrapper > .inner {
  padding: 0;
}

.sp {
  display: none;
}

@media screen and (max-width: 640px) {
  .inner {
    padding: 0 20px;
    min-width: initial !important;
  }

  #main div #main-img .inner {
    padding: 0;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  img.sp {
    display: inline-block;
  }

  br.sp {
    display: inline;
  }
}
/* block 
--------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin: 2rem 0;
  letter-spacing: -0.02em;
  line-height: 1.6;
}

h1, .h1 {
  font-size: 34px;
  line-height: 1.3;
}

h2, .h2 {
  font-size: 20px;
  line-height: 1.3;
  margin: 1em 0 1.5em 0;
}

h3, .h3 {
  font-size: 16px;
  line-height: 1.35;
  margin: 2em 0 0.5em 0;
}

h4, .h4 {
  font-size: 14px;
  line-height: 1.5;
}

h5, .h5 {
  font-size: 14px;
}

h6, .h6 {
  font-size: 14px;
}

@media screen and (max-width: 640px) {
  h1, .h1 {
    font-size: 22px;
  }

  h2, .h2 {
    font-size: 16px;
    margin: 20px 0;
  }

  h2.img,
  h2.img.center img {
    line-height: 1;
    text-align: center;
  }

  h2.img img,
  h2.img.center img {
    max-width: 90%;
    vertical-align: middle;
  }

  h3, .h3 {
    font-size: 15px;
  }
}
small {
  font-size: 65%;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0;
  color: #777;
  margin-left: 0.75em;
}

p {
  margin: 0 0 1.2em 0;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

p.footnote {
  font-size: 0.9em;
  color: #777;
}

blockquote {
  padding: 10px 20px;
  margin: 20px 0;
  color: #497789;
  border-left: 5px solid #CEDDE3;
  background-color: #fafafa;
}

blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}

blockquote footer,
blockquote small,
blockquote .small {
  padding: 20px 0 0 0;
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777;
}

blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}

/* alignment
--------------------------------------------------------------------------*/
.alignleft {
  float: left;
  margin-right: 20px;
}

.alignright {
  float: right;
  margin-left: 20px;
}

.aligncenter {
  text-align: center;
  margin: 0 auto;
  display: block;
}

.leftcolumn img.alignleft,
.leftcolumn img.alignright {
  margin-top: 20px;
}

/* block
--------------------------------------------------------------------------*/
ul {
  margin: 1em 0;
  padding: 0 0 0 1.8em;
  list-style-type: disc;
}

ol {
  margin: 1em 0;
  padding: 0 0 0 2.2em;
}

li {
  margin-bottom: 0.25em;
}

dl {
  margin-top: 0;
  margin-bottom: 20px;
}

dt,
dd {
  line-height: 1.4;
  margin-left: 0;
}

dt {
  font-weight: bold;
}

dd + dt {
  margin-top: 1rem;
}

table {
  border-top: 1px solid #ccc;
  margin: 2em 0;
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

caption {
  text-align: left;
  padding: 1rem 0;
}

table tr th,
table tr td {
  padding: 10px 15px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
  color: #000;
}

table th {
  width: 36%;
  padding-left: 20px;
}

table tr > *:first-child {
  padding-left: 0;
}

table tr > *:nth-child(2) {
  width: 56%;
  padding-right: 0;
}

table tr > th:first-child,
table tr > td:first-child {
  border-left: 0;
}

table tr:first-child th,
table tr:first-child td {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

table tr:last-child th,
table tr:last-child td {
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 640px) {
  table tr th,
  table tr td {
    font-size: 13px;
  }
}
/* inline
--------------------------------------------------------------------------*/
strong {
  font-weight: bold;
  color: #004C98;
}

strong.line {
  display: inline-block;
  font-weight: normal;
  border-bottom: 1px solid;
  padding: 0 0.2em;
}

em {
  font-style: italic;
}

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

/* inline-block
--------------------------------------------------------------------------*/
a,
a:link,
a:visited {
  text-decoration: underline;
  color: #000;
}

a:hover {
  text-decoration: none;
}

a.img:not(.link) {
  display: inline-block;
  -webkit-transition: opacity 0.1s linear;
  -o-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}

a.img:not(.link):hover {
  -ms-filter: "alpha(opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7;
}

a.img.link {
  display: inline-block;
  position: relative;
}

a.img.link:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: background-color 0.1s linear;
  -o-transition: background-color 0.1s linear;
  transition: background-color 0.1s linear;
}

a.img.link.on:before {
  background-color: rgba(0, 0, 0, 0.15);
  cursor: pointer;
}

a.img.link.on:after {
  font-size: 34px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -17px;
  text-align: center;
  color: #fff;
  content: "\e9cb";
}

a.noref,
a.noref:hover,
a.noref:hover * {
  text-decoration: none !important;
  cursor: default !important;
}

/* buttons
------------------------------------------------------------------- */
#main a.btn,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  padding: 15px 40px;
  font-size: 16px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: #b82c21;
  border: 0;
  cursor: pointer;
  box-sizing: border-box;
  -webkit-transition: opacity 0.1s linear;
  -o-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}

#main a.btn {
  border-radius: 2px;
  margin-bottom: 1.2em;
}

#main a.btn.full {
  width: 100%;
}

#main a.gonext {
  position: relative;
  padding-right: 40px;
}

#main a.gonext:after {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -9px;
  border: 2px solid #fff;
  border-width: 2px 2px 0 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#main a.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
#main a.btn:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  outline: 0;
  background-color: #e22415;
}

@media screen and (max-width: 640px) {
  #main a.btn,
  button,
  input[type="submit"],
  input[type="reset"],
  input[type="button"] {
    padding: 10px 40px;
    font-size: 14px;
  }
}
/* Forms
--------------------------------------------------------------------------*/
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 100%;
  height: 48px;
  padding: 3px 10px;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 2px;
  box-shadow: none;
  box-sizing: border-box;
}

textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border-color: #004C98;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(39, 166, 225, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(39, 166, 225, 0.6);
}

label,
legend {
  margin-right: 20px;
  margin-bottom: .5rem;
  cursor: pointer;
}

legend {
  font-weight: 600;
}

fieldset {
  padding: 0;
  border-width: 0;
}

@media (min-width: 1px) {
  input[type=radio],
  input[type=checkbox] {
    margin-right: 10px;
  }
}
/* header
--------------------------------------------------------------------------*/
@media screen and (min-width: 641px) {
  #header {
    width: 100%;
    background-color: #fff;
  }
}
/* #main #mainImg
------------------------------------------------------------------- */
#header #mainSlide {
  position: relative;
}

#header #mainSlide .inner {
  padding: 0;
  width: 100%;
}

#header #mainSlide ul.slider {
  padding: 0;
  margin: 0;
}

#header #mainSlide ul.slider li {
  margin: 0;
  background-size: cover;
  background-position: center center;
}

#header #mainSlide ul.slider li img {
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
}

#header #mainSlide div.band {
  position: absolute;
  top: 0;
  left: 4%;
  height: 100%;
  width: 277px;
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 50px 0 0 0;
}

@media screen and (min-width: 1281px) {
  #header #mainSlide div.band {
    left: calc(((100% - 1280px) / 2) + 150px);
  }
}
#header #mainSlide div.band div.info {
  position: absolute;
  bottom: 40px;
  left: 0;
}

#header #mainSlide div.band div.info div.line {
  position: relative;
}

#header #mainSlide div.band div.info div.line img {
  position: absolute;
  top: -18px;
  left: 0;
}

#header #mainSlide h1 {
  display: none;
  position: absolute;
  bottom: 15px;
  right: 12%;
  margin: 0;
}

@media screen and (max-width: 640px) {
  #header #mainSlide h1 {
    right: 30px;
  }

  #header #mainSlide ul.slider li {
    background-repeat: no-repeat;
    background-position: 70% center;
    background-size: cover;
    height: 589px;
  }

  #header #mainSlide ul.slider li img {
    display: none;
  }

  #header #mainSlide div.band {
    width: 227px;
    left: 25px;
    padding-top: 20px;
  }

  #header #mainSlide div.band div.logo img {
    width: 183px;
  }

  #header #mainSlide div.band div.info {
    bottom: 30px;
  }
}
/* gNav
--------------------------------------------------------------------------*/
#gNav {
  letter-spacing: 0;
  background-color: #000;
}

#gNav .inner {
  width: 1280px;
  max-width: 100%;
  background-color: #000;
  padding: 0;
}

header ul.nav {
  padding: 0;
  margin: 0;
  list-style-type: none;
  float: right;
}

header ul.nav:after {
  content: '';
  display: block;
  clear: both;
}

header ul.nav li {
  display: block;
  float: left;
  margin: 0;
}

header ul.nav li a {
  display: block;
  -webkit-transition: color 0.1s linear;
  -o-transition: color 0.1s linear;
  transition: color 0.1s linear;
  text-decoration: none;
  color: #fff;
  text-align: center;
  padding: 0;
  margin: 0;
  height: 60px;
  line-height: 60px;
  position: relative;
  background-image: url(../img/nav.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

header ul.nav li:nth-child(1),
header ul.nav li:nth-child(1) a {
  width: 180px;
}

header ul.nav li:nth-child(1) a {
  background-position: 0 0;
}

header ul.nav li:nth-child(2),
header ul.nav li:nth-child(2) a {
  width: 180px;
}

header ul.nav li:nth-child(2) a {
  background-position: -180px 0;
}

header ul.nav li:nth-child(3),
header ul.nav li:nth-child(3) a {
  width: 180px;
}

header ul.nav li:nth-child(3) a {
  background-position: -340px 0;
}

header ul.nav li:nth-child(4),
header ul.nav li:nth-child(4) a {
  width: 270px;
}

header ul.nav li:nth-child(4) a {
  background-position: -500px 0;
}

header ul.nav li.inquiry a {
  background-color: #b7291e;
}

#inqNav,
#fixInqNav {
  position: absolute;
  margin: 0;
  padding: 0;
  display: none;
  top: 100%;
  right: 0;
  width: 270px;
  z-index: 1000;
  background-color: #b7291e;
}
#inqNav.on,
#fixInqNav.on {
  display: block;
}
#inqNav li,
#fixInqNav li {
  margin: 0;
  padding: 0;
  list-style: none;
  float: none;
  width: 100%;
  text-align: center;
  border-top: 1px solid #cd524b;
}
#inqNav li a,
#fixInqNav li a {
  padding: 15px 0;
  display: block;
  width: 100% !important;
  font-size: 20px;
  line-height: 20px;
  color: #fff;
  text-decoration: none;
}

@media screen and (min-width: 641px) {
  header ul.nav li a {
    border-bottom: 1px solid transparent;
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear;
  }

  header ul.nav li a:hover {
    background-color: #444;
  }

  header ul.nav li.inquiry a:hover {
    background-color: #e22415;
  }

  #gNavWrap #gNav ul.gnav > li,
  #gNavWrap #gNav ul.gnav > li > a {
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear;
  }

  #inqNav li a,
  #fixInqNav li a {
    border-bottom: 1px solid transparent;
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear;
  }
  #inqNav li a:hover,
  #fixInqNav li a:hover {
    background-color: #e22415;
  }
}
@media screen and (max-width: 640px) {
  #gNav.on {
    display: block;
  }

  #gNav ul.nav {
    /*display: none;*/
  }

  #gNav ul.nav.sp {
    display: block;
  }

  #gNav ul.nav.sp li a {
    height: 100px;
  }

  #gNav ul.nav.sp li.btn.open a {
    width: 100px;
    background: url(../img/sp/nav_open.png) no-repeat;
    background-position: center center;
  }

  #gNav ul.nav.sp li.btn.open.on a {
    background: url(../img/sp/nav_close.png) no-repeat;
    background-position: center center;
  }

  #gNav ul.nav.sp li.inquiry {
    float: right;
    width: 164px;
  }

  #gNav ul.nav.sp li.inquiry a {
    width: 164px;
    background: #b7291e url(../img/sp/nav_apply.png) no-repeat;
    background-position: center center;
  }

  #spNav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #000;
  }

  #spNav.on {
    display: block;
  }

  #spNav li {
    float: none;
    width: 100%;
    text-align: center;
    height: 70px;
  }

  #spNav li + li {
    border-top: 1px solid #414141;
  }

  #spNav li a {
    display: block;
    width: 100% !important;
    height: 70px;
    background-image: url(../img/sp/nav.png);
    background-position: center 20px;
  }

  #spNav li:nth-child(2) a {
    background-position: center -50px;
  }

  #spNav li:nth-child(3) a {
    background-position: center -120px;
  }

  #spNav li:nth-child(4) a {
    background-position: center -190px;
  }

  #spNav li:nth-child(5) {
    display: none;
  }

  #spNav li.inquiry {
    display: none;
  }

  #inqNav {
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #b7291e;
  }

  #inqNav.on {
    display: block;
  }

  #inqNav li {
    margin: 0;
    padding: 0;
    float: none;
    width: 100%;
    text-align: center;
    height: 70px;
  }

  #inqNav li + li {
    border-top: 2px solid #cd524b;
  }

  #inqNav li a {
    padding: 20px 0;
    display: block;
    width: 100% !important;
    font-size: 24px;
    line-height: 24px;
    color: #fff;
    text-decoration: none;
  }

  header ul.nav {
    float: none;
  }
}
/* fixHeader
--------------------------------------------------------------------------*/
#fixHeader {
  display: none;
}

#fixHeader .inner {
  display: table;
  width: 1280px;
  /*max-width: 100%;*/
  background-color: #000;
  padding: 0;
}

@media screen and (max-width: 640px) {
  #fixHeader .inner {
    width: 100%;
  }
}
/* gNavBtn
------------------------------------------------------------------- */
#gNavBtn {
  display: none;
  position: fixed;
  top: 22px;
  left: 0;
  height: 50px;
  width: 50px;
  padding: 16px 14px;
  z-index: 1000;
}

#gNavBtn span.btnWrap {
  display: block;
  width: 22px;
  height: 18px;
  position: relative;
}

#gNavBtn span.btnWrap > span {
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  background-color: #000;
  border-radius: 1px;
  transition: all .2s;
}

#gNavBtn.scroll span.btnWrap > span {
  background-color: #000;
}

#gNavBtn span.btnWrap > span.bar-top {
  top: 0;
}

#gNavBtn span.btnWrap > span.bar-middle {
  top: 50%;
  margin-top: -1px;
}

#gNavBtn span.btnWrap > span.bar-bottom {
  bottom: 0;
}

#gNavBtn.on span.btnWrap > span.bar-top {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}

#gNavBtn.on span.btnWrap > span.bar-middle {
  opacity: 0;
}

#gNavBtn.on span.btnWrap > span.bar-bottom {
  -webkit-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
}

@media screen and (max-width: 640px) {
  #gNavBtn {
    display: block;
  }

  #gNavBtn.on {
    position: fixed;
    z-index: 1000;
    top: 20px;
    right: 30px;
  }

  #gNavBtn.on span.btnWrap > span {
    background-color: #fff;
  }
}
/* scroll header
------------------------------------------------------------------- */
#fixHeader {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3000;
  width: 100%;
  background-color: #000;
  -webkit-transition: .3s;
  transition: .3s;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

body.scroll #fixHeader {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

body.scroll #fixHeader ul.nav li a {
  line-height: 50px;
  height: 50px;
  font-size: 14px;
}

@media screen and (min-width: 641px) {
  body.scroll #fixHeader ul.nav li a {
    background-position-y: -5px;
  }
}
@media screen and (max-width: 640px) {
  #fixHeader ul.nav.sp {
    display: block;
  }

  #fixHeader ul.nav.sp li a {
    height: 100px;
    line-height: 100px;
  }

  #fixHeader ul.nav.sp li.btn.open a {
    width: 100px;
    background: url(../img/sp/nav_open.png) no-repeat;
    background-position: center center;
  }

  #fixHeader ul.nav.sp li.btn.open.on a {
    background: url(../img/sp/nav_close.png) no-repeat;
    background-position: center center;
  }

  #fixHeader ul.nav.sp li.inquiry {
    float: right;
    width: 164px;
  }

  #fixHeader ul.nav.sp li.inquiry a {
    width: 164px;
    background: #b7291e url(../img/sp/nav_apply.png) no-repeat;
    background-position: center center;
  }

  body.scroll #fixHeader ul.nav li a {
    height: 100px;
  }

  #fixSpNav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #000;
  }

  #fixSpNav.on {
    display: block;
  }

  #fixSpNav li {
    float: none;
    width: 100%;
    text-align: center;
    height: 70px;
  }

  #fixSpNav li + li {
    border-top: 1px solid #414141;
  }

  #fixSpNav li a {
    display: block;
    width: 100% !important;
    height: 70px !important;
    background-image: url(../img/sp/nav.png);
    background-position: center 20px;
  }

  #fixSpNav li:nth-child(2) a {
    background-position: center -50px;
  }

  #fixSpNav li:nth-child(3) a {
    background-position: center -120px;
  }

  #fixSpNav li:nth-child(4) a {
    background-position: center -190px;
  }

  #fixSpNav li:nth-child(5) a {
    background-position: center -260px;
  }

  #fixSpNav li:nth-child(6) a {
    background-position: center -330px;
  }

  #fixSpNav li:nth-child(7) {
    display: none;
  }

  #fixSpNav li.inquiry {
    display: none;
  }

  #fixInqNav {
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #b7291e;
  }

  #fixInqNav.on {
    display: block;
  }

  #fixInqNav li {
    margin: 0;
    padding: 0;
    float: none;
    width: 100%;
    text-align: center;
    height: 70px;
  }

  #fixInqNav li + li {
    border-top: 2px solid #cd524b;
  }

  #fixInqNav li a {
    padding: 20px 0;
    display: block;
    width: 100% !important;
    font-size: 24px;
    line-height: 24px;
    color: #fff;
    text-decoration: none;
  }
}
/* bread
------------------------------------------------------------------- */
#bread {
  padding: 1em 0;
  line-height: 1;
}

#bread ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#bread ul li {
  display: inline-block;
  text-align: left;
  margin-left: 0.35em;
}

#bread ul li,
#bread ul li a {
  font-size: 17px;
  color: #000;
  text-decoration: none;
}

#bread ul li:after {
  content: '>';
  display: inline-block;
  margin-left: 0.5em;
}

#bread ul li:nth-child(1) {
  margin-left: 0;
}

#bread ul li:last-child {
  font-weight: 500;
  display: inline;
}

#bread ul li:last-child:after {
  display: none;
}

@media screen and (min-width: 641px) {
  #bread ul li a {
    border-bottom: 1px solid transparent;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }

  #bread ul li a:hover {
    border-color: #003567;
    color: #003567;
  }
}
@media screen and (max-width: 640px) {
  #bread {
    padding-top: 0;
  }

  #bread ul li,
  #bread ul li a {
    font-size: 12px;
  }
}
@media screen and (max-width: 415px) {
  #bread ul li,
  #bread ul li a {
    font-size: 11px;
  }
}
/* main - common
--------------------------------------------------------------------------*/
#main div.line {
  margin-top: -50px;
  padding-top: 50px;
}

#main div.line .inner {
  padding-top: 40px;
  padding-bottom: 40px;
}

#main div.line.bdrtop {
  border-top: 8px solid #b82c21;
}

#main div.line.bdrbtm {
  border-bottom: 8px solid #b82c21;
}

#main div.line#faq + div.line.bdrbtm {
  border-bottom: 0;
}

#main div.line.bg {
  background-color: #f7f7f7;
}

#main div.line.bgabs {
  position: relative;
}

#main div.line.bgabs:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f7f7f7;
  z-index: -1;
}

#main div.line.narrow .inner {
  width: 980px;
  min-width: 980px;
}

#main h2.bg {
  background-color: #eee;
  margin: 0 0 2em 0;
  padding: 0.5em 1em;
}

@media screen and (min-width: 641px) {
  #main div.line div.line-title div.title a {
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear;
  }

  #main div.line div.line-title div.title a:hover {
    -ms-filter: "alpha(opacity=70)";
    filter: alpha(opacity=70);
    opacity: 0.7;
  }
}
@media screen and (max-width: 640px) {
  #main div.line {
    overflow: hidden;
    margin-top: -100px;
    padding-top: 100px;
  }

  #main div.line.narrow .inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  #main h2.bg {
    padding: 0.5em;
  }

  #main p {
    font-size: 16px;
  }
}
/* modal
------------------------------------------------------------------- */
#modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 900;
}

/* hd
--------------------------------------------------------------------------*/
#main div.line div.hd {
  position: relative;
}

#main div.line div.hd a.more {
  position: absolute;
  top: 0.5em;
  right: 0;
}

#main div.line.first div.hd h2 {
  margin-top: 0;
}

/* mainImg
------------------------------------------------------------------- */
#main #mainImg {
  display: table;
  margin: 0 auto;
}

#main #mainImg div.photo,
#main #mainImg div.txt {
  display: table-cell;
  vertical-align: middle;
}

#main #mainImg div.photo {
  width: 48%;
  /* 500px */
  max-width: 500px;
}

#main #mainImg div.txt {
  padding: 0 50px;
}

#main #mainImg div.txt p.logo {
  text-align: right;
}

#main #mainImg div.txt span {
  display: block;
  text-align: right;
}

#main #mainImg div.txt span.en {
  font-size: 25px;
}

#main #mainImg div.txt span.en + span {
  margin-top: 2em;
  font-size: 17px;
}

@media screen and (max-width: 640px) {
  #main #mainImg {
    display: block;
    padding: 20px 10% 0 10%;
  }

  #main #mainImg div.photo,
  #main #mainImg div.txt {
    display: block;
  }

  #main #mainImg div.photo {
    width: 100%;
    max-width: initial;
  }

  #main #mainImg div.txt {
    padding: 40px 0;
  }

  #main #mainImg div.txt p.logo img {
    width: 150px;
  }

  #main #mainImg div.txt h1 {
    margin-top: 40px;
  }

  #main #mainImg div.txt span.en {
    font-size: 20px;
  }

  #main #mainImg div.txt span.en + span {
    margin-top: 1em;
    font-size: 15px;
  }

  #main #mainImg div.txt h1 {
    margin-bottom: 0;
  }
}
/* aboutboxes
------------------------------------------------------------------- */
#main div.line.about {
  position: relative;
  background: url(../img/bgico_triangle.png) no-repeat;
  background-position: left calc(((100% - 1080px) / 2) - 10px) top 490px;
  overflow: hidden;
}

#main > section > div.line:nth-of-type(1) {
  margin-top: 0;
  padding-top: 0;
}

#main div.line.about:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 420px;
  background-color: #f7f7f7;
  z-index: -1;
}

#main div.line.about h2 {
  margin-top: 0;
}

#main div.line.about .inner {
  width: 980px;
  min-width: 980px;
  position: static;
}

#main div.aboutboxes {
  height: 1060px;
}

#main div.aboutboxes div.box {
  padding: 3em;
  position: absolute;
}

#main div.aboutboxes div.box > *:first-child {
  margin-top: 0;
}

#main div.aboutboxes div.box > *:last-child {
  margin-bottom: 0;
}

#main div.aboutboxes div.box.bg {
  top: 100px;
  right: calc(((100% - 1280px) / 2) + 100px);
  padding: 0;
  z-index: 10;
}

#main div.aboutboxes div.box.lead_1 {
  top: 182px;
  left: calc((100% - 1080px) / 2);
  width: 505px;
  background-color: #fff;
  z-index: 20;
}

@media screen and (max-width: 640px) {
  #main div.aboutboxes div.box.lead_1 {
    left: 20px;
  }
}
#main div.aboutboxes div.box.lead_2 {
  width: 100vw;
  top: 510px;
  right: 0;
  text-align: right;
  padding-right: calc(((100% - 1080px) / 2) + 80px);
  z-index: 0;
}

#main div.aboutboxes div.box.movie {
  top: 775px;
  right: calc((100% - 1280px) / 2);
  width: 1028px;
  max-width: 100%;
  background: #B82C21 url(../img/bgico_bird.png) no-repeat;
  background-position: right 30% top 20px;
  z-index: 20;
  padding: 60px 20px 20px 20px;
}

@media screen and (max-width: 640px) {
  #main div.aboutboxes div.box.movie {
    right: 0;
    background-image: none;
  }
}
#main div.aboutboxes div.box.movie .inbox {
  position: relative;
}

#main div.aboutboxes div.box.movie h3 {
  position: absolute;
  bottom: 12px;
  right: 120px;
  margin: 0;
}

#main div.aboutboxes div.box.movie div.movie {
  margin-bottom: -80px;
  margin-left: -80px;
}

@media screen and (max-width: 640px) {
  #main div.aboutboxes div.box.movie {
    top: 940px;
  }

  #main div.aboutboxes div.box.movie h3 {
    bottom: -102px;
    right: 10px;
  }

  #main div.aboutboxes div.box.movie div.movie {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-top: -230px;
    margin-bottom: 40px;
  }

  #main div.aboutboxes div.box.movie div.movie iframe {
    max-width: 100%;
  }
}
#main div.aboutboxes div.box h3 {
  font-size: 28px;
  margin-bottom: 1.5em;
}

#main div.aboutboxes div.box p {
  font-size: 18px;
}

#main div.aboutboxes div.box div.txt {
  letter-spacing: 0.24em;
}

@media screen and (max-width: 640px) {
  #main div.line.about .inner {
    padding-top: 60px;
  }

  #main div.aboutboxes div.box.bg {
    right: -400px;
  }

  #main div.aboutboxes div.box.lead_2 {
    right: 0;
    padding-right: 3em;
  }
}
/* introduction
------------------------------------------------------------------- */
#main div.introduction {
  width: 1000px;
  max-width: 100%;
  margin-top: 20px;
}

#main div.introduction .row {
  width: 100%;
  position: relative;
}

#main div.introduction .row + .row {
  margin-top: 140px;
}

#main div.introduction .row:after {
  content: '';
  display: block;
  clear: both;
}

#main div.introduction .row div.photo {
  float: left;
}

#main div.introduction .row div.txt {
  float: right;
}

#main div.introduction .row div.txt h3 {
  margin: 0 0 2em 0;
}

#main div.introduction .row div.txt p {
  font-size: 20px;
}

@media screen and (min-width: 641px) {
  #main div.introduction .row:nth-of-type(2n) div.photo {
    float: right;
  }

  #main div.introduction .row:nth-of-type(2n) div.txt {
    float: left;
  }

  #main div.introduction .row:nth-of-type(1) div.photo {
    width: 441px;
    max-width: 100%;
    text-align: right;
  }

  #main div.introduction .row:nth-of-type(1) div.txt {
    width: calc(100% - 441px - 40px);
    max-width: 100%;
    padding-top: 70px;
  }

  #main div.introduction .row:nth-of-type(2) div.photo {
    width: 300px;
    max-width: 100%;
    padding-left: 30px;
  }

  #main div.introduction .row:nth-of-type(2) div.txt {
    width: calc(100% - 300px - 40px);
    max-width: 100%;
    padding-left: 40px;
    padding-top: 70px;
  }

  #main div.introduction .row:nth-of-type(3) {
    margin-top: 120px;
  }

  #main div.introduction .row:nth-of-type(3) div.photo {
    width: 403px;
    max-width: 100%;
    text-align: right;
  }

  #main div.introduction .row:nth-of-type(3) div.txt {
    width: calc(100% - 403px - 40px);
    max-width: 100%;
    padding-left: 30px;
    padding-top: 70px;
  }

  #main div.introduction span.bird {
    position: absolute;
    background-repeat: no-repeat;
  }

  #main div.introduction span.bird.first {
    bottom: -195px;
    left: 370px;
    width: 323px;
    height: 194px;
    background-image: url(../img/bgico_bird_arrow_right.png);
  }

  #main div.introduction span.bird.second {
    top: 300px;
    left: 390px;
    width: 291px;
    height: 202px;
    background-image: url(../img/bgico_bird_arrow_left.png);
  }
}
@media screen and (max-width: 640px) {
  #main div.introduction .row + .row {
    margin-top: 60px;
  }

  #main div.introduction .row div.photo,
  #main div.introduction .row div.txt {
    float: none;
    width: 100%;
  }

  #main div.introduction .row div.photo {
    text-align: center;
  }

  #main div.introduction .row div.txt h3 {
    margin-top: 30px;
    text-align: center;
  }
}
/* chigau
------------------------------------------------------------------- */
#main div.line.chigau {
  padding-bottom: 40px;
}

#main div.line.chigau:before {
  top: 245px;
  height: calc(100% - 245px - 40px);
}

#main div.line.chigau:after {
  content: "";
  width: calc(100% - 1280px + 820px);
  height: 40px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #B82C21;
  z-index: -1;
}

#main div.line.chigau h2 {
  margin-bottom: 0;
}

#main div.line.chigau div.title {
  position: relative;
}

#main div.line.chigau div.title:before {
  content: "";
  width: 850px;
  height: 500px;
  position: absolute;
  top: 0;
  right: -180px;
  background-color: #B82C21;
  z-index: -1;
}

#main div.line.chigau div.title img {
  margin-top: 40px;
  margin-bottom: -45px;
  margin-left: 273px;
}

#main div.line.chigau div.title h3 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
}

#main ul.chigau {
  margin: 0;
  width: 110%;
  padding: 70px 14% 0 0;
  list-style-type: none;
  z-index: 10;
  background-color: #f7f7f7;
}

#main ul.chigau li {
  margin: 0;
  width: 100%;
  background-color: #f7f7f7;
}

#main ul.chigau li:after {
  content: '';
  display: block;
  clear: both;
}

#main ul.chigau li + li {
  padding-top: 20px;
}

#main ul.chigau li h3 {
  float: right;
  /*background-color: #fff;*/
  position: relative;
  width: 530px;
  max-width: 100%;
  height: 112px;
  margin-top: 160px;
  margin-left: -30px;
}

#main ul.chigau li h3 img.img {
  position: absolute;
  top: -20px;
  left: 0;
}

#main ul.chigau li div.txt {
  float: right;
  max-width: 100%;
  position: relative;
  margin-right: -30px;
}

#main ul.chigau li div.txt img.bg {
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#main ul.chigau li div.txt img.stamp {
  position: absolute;
}

#main ul.chigau li:nth-child(1) div.txt img.stamp {
  bottom: -20px;
  left: -40px;
}

#main ul.chigau li:nth-child(2) div.txt img.stamp {
  top: -40px;
  left: -40px;
}

#main ul.chigau li:nth-child(3) div.txt img.stamp {
  top: -20px;
  left: -40px;
}

#main ul.chigau li:nth-child(4) div.txt img.stamp {
  top: -20px;
  left: -40px;
}

#main ul.chigau li:nth-child(5) div.txt img.stamp {
  bottom: 20px;
  left: -40px;
}

#main ul.chigau li:nth-child(6) div.txt img.stamp {
  bottom: 20px;
  left: -40px;
}

#main ul.chigau li div.txt dl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(183, 41, 30, 0.8);
  color: #fff;
  padding: 7.5%;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
}

#main ul.chigau li div.txt dl dt {
  border-bottom: 1px solid;
  text-align: center;
  font-size: 30px;
  padding-bottom: 1em;
  margin-bottom: 1em;
  vertical-align: bottom;
  position: absolute;
  top: 50%;
  left: 7.5%;
  margin-top: -4.5em;
  width: 85%;
}

#main ul.chigau li div.txt dl dd {
  font-size: 18px;
  line-height: 1.72;
  height: 50%;
  margin-top: 50%;
}

#main ul.chigau li div.txt:before,
#main ul.chigau li div.txt dl:after {
  content: "";
  position: absolute;
  top: 2.5%;
  left: 2.5%;
  width: 95%;
  height: 95%;
  border: 1px solid #fff;
}

#main ul.chigau li:nth-child(2n) h3 {
  float: left;
  margin-right: 0;
  margin-left: -30px;
}

#main ul.chigau li:nth-child(2n) div.txt {
  float: left;
  margin-left: 0;
  margin-right: -30px;
}

#main ul.chigau li div.txt dl {
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#main ul.chigau li div.txt:hover {
  overflow: hidden;
}

#main ul.chigau li div.txt:hover img.bg {
  transform: scale(1.1);
}

#main ul.chigau li div.txt:hover dl {
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
  opacity: 1;
}

#main ul.chigau li div.txt img.stamp {
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#main ul.chigau li div.txt:hover img.stamp {
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
}

@media screen and (max-width: 640px) {
  #main div.line.chigau {
    padding-bottom: 30px;
  }

  #main div.line.chigau:after {
    width: 555px;
  }

  #main div.line.chigau .inner {
    padding-left: 0;
    padding-right: 0;
  }

  #main div.line.chigau .inner h2 {
    padding-left: 20px;
  }

  #main div.line.chigau div.title:before {
    top: 20px;
    left: 160px;
  }

  #main div.line.chigau div.title img {
    margin-left: 195px;
    margin-top: 45px;
    margin-bottom: -70px;
  }

  #main ul.chigau {
    width: calc(100% - 20px);
    padding-top: 90px;
    padding-left: 40px;
    padding-right: 20px;
  }

  #main ul.chigau li {
    position: relative;
    padding-bottom: 150px;
    padding-top: 20px;
  }

  #main ul.chigau li h3 {
    float: none;
    width: 357px;
    position: absolute;
    top: 385px;
    right: 0;
    margin-top: 0;
  }

  #main ul.chigau li div.txt {
    width: 380px;
    height: 380px;
    float: left;
  }

  #main ul.chigau li:nth-child(2n) {
    padding-right: 40px;
  }

  #main ul.chigau li:nth-child(2n) div.txt {
    float: right;
  }

  #main ul.chigau li:nth-child(2n) h3 {
    float: none;
    right: initial;
    left: 20px;
  }
}
/* rental
------------------------------------------------------------------- */
#main div.line.rental {
  padding-bottom: 30px;
}

#main div.line.rental .inner {
  margin-top: 30px;
}

#main div.line.rental .inner:before {
  content: "";
  position: absolute;
  top: -15px;
  left: -50px;
  z-index: 10;
  width: 84px;
  height: 73px;
  background: url(../img/detail/rental_bg_bird.png) no-repeat;
  background-position: left 0 top 0;
}

#main div.line.rental div.rental {
  width: 100%;
  margin-top: 20px;
}

#main div.line.rental div.rental:after {
  content: '';
  display: block;
  clear: both;
}

#main div.line.rental div.rental div.photo {
  float: left;
  width: 290px;
  max-width: 100%;
  text-align: center;
}

#main div.line.rental div.rental div.txt {
  float: right;
  width: 600px;
  max-width: 100%;
}

#main div.line.rental div.rental div.txt > *:first-child {
  margin-top: 0;
}

#main div.line.rental div.rental div.txt > *:last-child {
  margin-bottom: 0;
}

#main div.line.rental div.rental div.txt h3 {
  color: #b7291e;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.24em;
}

#main div.line.rental div.rental div.txt p {
  font-size: 18px;
  letter-spacing: 0.28em;
}

#main div.line.rental div.rental div.txt ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  font-size: 20px;
}

#main div.line.rental div.rental div.txt ul li {
  display: inline-block;
  margin-right: 1em;
}

#main div.line.rental div.rental div.txt ul li:before {
  content: "●";
  color: #b7291e;
  margin-right: 0.05em;
}

@media screen and (max-width: 640px) {
  #main div.line.rental .inner:before {
    /*left: calc((100% - 290px) / 3);*/
    left: calc((100% - 290px) / 4);
    /*left: 15px;*/
    top: 24px;
  }

  #main div.line.rental .inner {
    margin-top: 0;
  }

  #main div.line.rental div.rental div.photo,
  #main div.line.rental div.rental div.txt {
    float: none;
    width: 100%;
  }

  #main div.line.rental div.rental div.txt p {
    font-size: 20px;
  }
}
/* school
------------------------------------------------------------------- */
#main div.line.school {
  position: relative;
}

#main div.line.school:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;
  background-color: #fff;
}

#main div.line.school .inner {
  width: 1040px;
  min-width: 1040px;
}

#main ul.school {
  margin: 0;
  padding: 0;
  list-style-type: none;
  width: 100%;
}

#main ul.school:after {
  content: '';
  display: block;
  clear: both;
}

#main ul.school > li {
  margin: 0;
  padding: 60px 40px 40px 40px;
  background-color: #fff;
  position: relative;
}

#main ul.school > li:after {
  content: '';
  display: block;
  clear: both;
}

#main ul.school > li > *:first-child {
  margin-top: 0;
}

#main ul.school > li > *:last-child {
  margin-bottom: 0;
}

#main ul.school > li + li {
  margin-top: 50px;
  float: left;
  width: 50%;
}

#main ul.school > li div.txt {
  position: relative;
}

#main ul.school > li div.txt > *:first-child {
  margin-top: 0;
}

#main ul.school > li div.txt > *:last-child {
  margin-bottom: 0;
}

#main ul.school > li div.txt span.stamp {
  position: absolute;
  top: -20px;
  left: -10px;
}

#main ul.school > li div.txt h3 {
  color: #b7291e;
  font-size: 22px;
  margin-top: 0;
  letter-spacing: 0.14em;
}

#main ul.school > li div.txt p {
  color: #b7291e;
  font-size: 16px;
  margin-top: 0.75em;
}

#main ul.school > li div.txt img + img {
  margin-left: 10px;
}

#main ul.school > li div.txt ul {
  margin: 1.5em 0;
}

#main ul.school > li div.txt ul li {
  font-size: 16px;
  letter-spacing: 0.12em;
}

#main ul.school > li div.txt a.img + a.img {
  margin-left: 0.5em;
}

#main ul.school > li:nth-child(1) div.photo {
  float: left;
  width: 432px;
  max-width: 100%;
  margin-left: -100px;
}

#main ul.school > li:nth-child(1) div.txt {
  float: left;
  width: 428px;
  max-width: 100%;
  padding-top: 70px;
  padding-left: 60px;
}

#main ul.school > li:nth-child(2),
#main ul.school > li:nth-child(3) {
  padding-bottom: 344px;
  width: 470px;
  max-width: 100%;
  padding-top: 90px;
  background-color: transparent;
}

#main ul.school > li:nth-child(2):before,
#main ul.school > li:nth-child(3):before {
  content: "";
  background-color: #fff;
  position: absolute;
  width: 100%;
  height: 600px;
  top: 0;
  left: 0;
}

#main ul.school > li:nth-child(3) {
  float: right;
}

#main ul.school > li:nth-child(2) div.photo,
#main ul.school > li:nth-child(3) div.photo {
  position: absolute;
  left: 40px;
  bottom: 40px;
}

#main ul.school > li:nth-child(2) div.txt span.stamp,
#main ul.school > li:nth-child(3) div.txt span.stamp {
  top: -110px;
  left: -20px;
}

#main div.line.school div.detail {
  text-align: center;
}

#main div.line.school div.detail h3 {
  font-size: 22px;
  margin-bottom: 1em;
}

#main div.line.school div.detail ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

#main div.line.school div.detail ul:after {
  content: '';
  display: block;
  clear: both;
}

#main div.line.school div.detail ul li {
  width: 220px;
  margin: 20px 20px 0 0;
  float: left;
}

/* #main div.line.school div.detail ul li:nth-child(-4+n) {
    margin-top: 0;
} */
#main div.line.school div.detail ul li:nth-child(4n) {
  margin-right: 0;
}

#main div.line.school div.detail ul li a {
  width: 100%;
}

@media screen and (max-width: 640px) {
  #main div.line.school {
    padding-top: 40px;
  }

  #main ul.school > li {
    padding: 20px 0;
  }

  #main ul.school > li div.txt {
    padding-top: 40px;
    padding-left: 25px;
  }

  #main ul.school > li:nth-child(1) div.photo,
  #main ul.school > li:nth-child(1) div.txt {
    float: none;
    margin-left: 0;
    padding-left: 40px;
    width: 100%;
  }

  #main ul.school > li:nth-child(1) div.photo {
    text-align: center;
    padding-left: 0;
  }

  #main ul.school > li:nth-child(1) div.txt {
    padding-top: 40px;
    padding-left: 25px;
  }

  #main ul.school > li:nth-child(2n) {
    background-color: #f7f7f7;
  }

  #main ul.school > li:nth-child(2):before,
  #main ul.school > li:nth-child(3):before {
    display: none;
  }

  #main ul.school > li:nth-child(2),
  #main ul.school > li:nth-child(3) {
    float: none;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }

  #main ul.school > li:nth-child(2) div.photo,
  #main ul.school > li:nth-child(3) div.photo {
    position: static;
    left: initial;
    bottom: initial;
    text-align: center;
  }

  #main ul.school > li div.txt span.stamp {
    width: 71px;
    height: 71px;
    top: 17px;
    left: 0;
  }

  #main ul.school > li:nth-child(2) div.txt span.stamp,
  #main ul.school > li:nth-child(3) div.txt span.stamp {
    top: 17px;
    left: 0;
  }

  #main ul.school > li div.txt h3 {
    margin-left: 60px;
  }

  #main ul.school > li div.txt ul {
    margin-top: 40px;
  }

  #main div.line.school div.detail h3 {
    font-size: 22px;
    margin-bottom: 1em;
  }

  #main div.line.school div.detail ul.btns {
    position: relative;
    padding: 10px;
    background-color: #B7291E;
    margin-left: -15px;
    width: calc(100% + 30px);
  }

  #main div.line.school div.detail ul.btns li {
    margin: 0;
    width: 50%;
    border-top: 2px solid #fff;
  }

  #main div.line.school div.detail ul.btns li:nth-child(-n+2) {
    border-top: 0;
  }

  #main div.line.school div.detail ul.btns li:nth-child(2n) {
    border-left: 2px solid #fff;
  }

  #main div.line.school div.detail ul.btns li a {
    margin: 0;
    height: 80px;
    line-height: 80px;
    padding: 0;
    font-size: 22px;
  }

  #main div.line.school div.detail ul.btns li a:after {
    display: none;
  }
}
/* schools
------------------------------------------------------------------- */
#main div.line.schools .inner {
  width: 1000px;
  min-width: 1000px;
}

#main div.line.schools div.lead {
  margin-left: 1%;
  margin-bottom: 2em;
}

#main div.line.schools div.lead h2 {
  margin: 0 0 0.75em 0;
}

#main ul.schools {
  margin: 0 0 20px 0;
  padding: 0;
  list-style-type: none;
  width: 100%;
}

#main ul.schools:after {
  content: '';
  display: block;
  clear: both;
}

#main ul.schools li {
  float: left;
  width: 25%;
  margin: 30px 0 0 0;
  padding: 0 1%;
  text-align: center;
}

#main ul.schools li > *:first-child {
  margin-top: 0;
}

#main ul.schools li > *:last-child {
  margin-bottom: 0;
}

#main ul.schools li div.txt {
  letter-spacing: 0.01em;
}

#main ul.schools li div.photo + div.txt {
  margin-top: 1.25em;
}

#main ul.schools li div.txt h3 {
  font-size: 24px;
  margin: 0;
}

#main ul.schools li div.txt p {
  font-size: 18px;
}

#main ul.schools li div.txt a.btn {
  display: block;
  margin: 0;
}

#main ul.schools li div.txt a.btn.tel {
  display: none;
}

@media screen and (min-width: 651px) {
  #main ul.schools li:nth-child(-n+4) {
    margin-top: 0;
  }
}
@media screen and (max-width: 650px) {
  #main div.line.schools .inner {
    padding-left: 40px;
    padding-right: 40px;
  }

  #main div.line.schools div.lead {
    margin-left: 0;
  }

  #main div.line.schools div.lead h2 {
    margin-bottom: 1.25em;
  }

  #main ul.schools li {
    width: 100%;
    float: none;
    margin: 0;
    padding: 0;
  }

  #main ul.schools li + li {
    margin-top: 20px;
  }

  #main ul.schools li:after {
    content: '';
    display: block;
    clear: both;
  }

  #main ul.schools li:nth-child(1) {
    margin-top: 0;
  }

  #main ul.schools li div.photo {
    float: left;
    width: 280px;
  }

  #main ul.schools li div.photo + div.txt {
    margin-top: 0;
    position: relative;
  }

  #main ul.schools li div.txt {
    float: right;
    width: 280px;
    background-color: #b82c21;
    position: relative;
  }

  #main ul.schools li div.txt:after {
    content: '';
    display: block;
    clear: both;
  }

  #main ul.schools li div.txt:before {
    content: "";
    position: absolute;
    top: 15px;
    left: 140px;
    width: 4px;
    height: 76px;
    background: url(../img/sp/schoollist_doteline.png) repeat-y top left;
    z-index: 100;
  }

  #main ul.schools li div.txt h3 {
    width: 280px;
    position: absolute;
    top: 50%;
    margin-top: -0.75em;
    left: -280px;
    color: #fff;
  }

  #main ul.schools li div.txt h3 a {
    color: #fff;
    text-decoration: none;
  }

  #main ul.schools li div.txt p {
    display: none;
  }

  #main ul.schools li div.txt a.btn {
    background-color: #b82c21;
    color: #fff;
    width: 140px;
    height: 105px;
    float: left;
    font-size: 18px;
    letter-spacing: 0.1em;
    padding: 63px 0 0 0;
    font-weight: bold;
    background: url(../img/sp/schoollist_display.png) no-repeat center 15px;
  }

  #main ul.schools li div.txt a.btn:after {
    display: none;
  }

  #main ul.schools li div.txt a.btn.tel {
    display: block;
    background-image: url(../img/sp/schoollist_tel.png);
  }
}
@media screen and (max-width: 415px) {
  #main ul.schools li {
    margin: 10px 0;
    padding: 5px 0;
  }

  #main ul.schools li h3 {
    font-size: 14px;
  }
}
/* voice
------------------------------------------------------------------- */
/* voice popup
------------------------------------------------------------------- */
@keyframes showpopup {
  0% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
/* insta
------------------------------------------------------------------- */
#main div.line.insta .inner {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

#main div.line.insta .inner h2 {
  width: 940px;
  max-width: 100%;
  margin: 0 auto 3em auto;
}

#main div.line.insta .simply-scroll-clip {
  overflow: hidden;
}

#instalist ul {
  margin: 0 0 20px 0;
  padding: 0;
  list-style-type: none;
  width: 100%;
}

#instalist ul:after {
  content: '';
  display: block;
  clear: both;
}

#instalist ul li {
  float: left;
  width: 330px;
  /*width: 25%;*/
  /*margin: 30px 0 0 0;*/
  margin: 0;
  padding: 0;
  text-align: center;
}

#instalist ul li > a {
  width: 290px;
  height: 290px;
  max-width: 100%;
  position: relative;
  overflow: hidden;
  text-align: center;
}

#instalist ul li > a:after {
  content: "";
  position: absolute;
  width: 290px;
  height: 290px;
  top: 0;
  left: 50%;
  margin-left: -145px;
  background: url(../img/top/instagram_bg_frame.png) no-repeat top center;
}

#instalist ul li > a img {
  max-width: 200%;
  border-radius: 50%;
  min-width: 290px;
  min-height: 290px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

#instalist ul li > *:first-child {
  margin-top: 0;
}

#instalist ul li > *:last-child {
  margin-bottom: 0;
}

#instalist ul li img {
  display: inline-block;
}

@media screen and (max-width: 415px) {
  #instalist ul li {
    margin: 10px 0;
    padding: 5px 0;
  }
}
/* questionnaire
------------------------------------------------------------------- */
#main ul.questionnaire {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

#main ul.questionnaire li {
  margin: 20px 0 0 0;
  position: relative;
}

#main ul.questionnaire li span.date {
  position: absolute;
  top: -2em;
  right: 0;
}

@media screen and (min-width: 641px) {
  #main ul.questionnaire li {
    float: left;
    width: 50%;
  }

  #main ul.questionnaire li:nth-child(-n+2) {
    margin-top: 0;
  }

  #main ul.questionnaire li:nth-child(2) {
    margin-top: -60px;
  }
}
@media screen and (max-width: 640px) {
  #main ul.questionnaire li:nth-child(1) {
    margin-top: -50px;
  }

  #main ul.questionnaire li + li {
    margin-top: 50px;
  }
}
/* faq
------------------------------------------------------------------- */
#main dl.faq dt,
#main dl.faq dd {
  background-color: #fff;
  min-height: 2em;
  padding: 0;
  position: relative;
  font-weight: normal;
}

#main dl.faq dt + dd,
#main dl.faq dd + dt {
  margin-top: 10px;
}

#main dl.faq dt > span,
#main dl.faq dd > span,
#main dl.faq dt > p,
#main dl.faq dd > p {
  display: table-cell;
  vertical-align: middle;
}

#main dl.faq dt > p,
#main dl.faq dd > p {
  padding: 1.5em 1em 1.5em 2em;
}

#main dl.faq dt > span,
#main dl.faq dd > span {
  width: 70px;
  text-align: center;
  background-color: #000;
  color: #fff;
  font-size: 30px;
}

#main dl.faq dd > span {
  background-color: #b82c21;
}

@media screen and (max-width: 640px) {
  #main dl.faq dt p,
  #main dl.faq dd p {
    font-size: 18px;
  }
}
/* insta
------------------------------------------------------------------- */
#main div.line.insta .inner {
  width: 100%;
}

#main div.line.insta .inner h2 {
  width: 940px;
  max-width: 100%;
  margin: 0 auto 3em auto;
}

#main div.line.insta .simply-scroll-clip {
  overflow: hidden;
}

#main ul.insta {
  margin: 0 0 20px 0;
  padding: 0;
  list-style-type: none;
  width: 100%;
}

#main ul.insta:after {
  content: '';
  display: block;
  clear: both;
}

#main ul.insta li {
  float: left;
  width: 280px;
  /*width: 25%;*/
  /*margin: 30px 0 0 0;*/
  margin: 0;
  padding: 0;
  text-align: center;
}

#main ul.insta li > *:first-child {
  margin-top: 0;
}

#main ul.insta li > *:last-child {
  margin-bottom: 0;
}

#main ul.insta li div.txt {
  letter-spacing: 0.01em;
  color: #b82c21;
}

#main ul.insta li div.photo img {
  display: inline-block;
}

#main ul.insta li div.photo + div.txt {
  margin-top: 1.25em;
}

#main ul.insta li div.txt span {
  display: block;
  font-weight: bold;
}

#main ul.insta li div.txt span.school {
  font-size: 14px;
}

#main ul.insta li div.txt span.name {
  font-size: 16px;
}

@media screen and (min-width: 641px) {
  /*     #main ul.insta li:nth-child(-n+4) {
          margin-top: 0;
      } */
}
@media screen and (max-width: 640px) {
  #main ul.insta li {
    width: 100%;
    float: none;
    margin: 20px 0;
    padding: 10px 0;
  }

  #main ul.insta li:nth-child(1) {
    margin-top: 0;
  }

  #main ul.insta li h3 {
    font-size: 15px;
  }

  #main div.line.insta .inner h2 {
    margin-left: 20px;
  }
}
@media screen and (max-width: 415px) {
  #main ul.insta li {
    margin: 10px 0;
    padding: 5px 0;
  }

  #main ul.insta li h3 {
    font-size: 14px;
  }
}
/* detail
------------------------------------------------------------------- */
#main #detail.line .inner {
  width: 100%;
  padding: 0 0 40px 0;
  /*background: url(../img/ico/ico_wave.png) no-repeat;*/
  /*background-position: left 50% bottom 10px;*/
}

#detail .inner:before,
#detail .inner:after {
  content: "";
  width: 105px;
  height: 112px;
  position: absolute;
  background: url(../img/bgico_triangle_single.png) no-repeat left top;
  z-index: -1;
}

#detail .inner:before {
  right: 50%;
  top: 64px;
  margin-right: -400px;
}

#detail .inner:after {
  bottom: -65px;
  left: 50%;
  margin-left: -550px;
}

#detail h2 {
  width: 920px;
  margin: 0 auto;
}

#detail img.main {
  display: block;
  margin: 30px auto;
}

#detail img.main.sp {
  display: none;
}

@media screen and (max-width: 640px) {
  #detail img.main.pc {
    display: none;
  }

  #detail img.main.sp {
    display: block;
  }

  #detail h2 {
    margin-left: 20px;
  }

  #detail .inner:before {
    right: 0;
    top: 50px;
    margin-right: 0;
  }
}
/* separator
------------------------------------------------------------------- */
#main div.separator {
  margin: 70px auto;
  height: 21px;
  background: url(../img/ico/ico_wave.png) no-repeat;
  background-position: left 50% top 0;
}

#main div.separator.padtopzero {
  margin-top: 0;
}

/* calendar
------------------------------------------------------------------- */
#main div.calendar .inner {
  width: 980px;
  min-width: 980px;
}

#main div.calendar h3 {
  text-align: center;
  color: #b82c21;
  font-size: 30px;
  letter-spacing: 0.2em;
}

#main div.calendar div.control {
  position: relative;
  text-align: center;
  height: 55px;
  width: 100%;
}

#main div.calendar div.control:after {
  content: '';
  display: block;
  clear: both;
}

#main div.calendar div.control span.month {
  font-size: 22px;
  letter-spacing: 0.2em;
  line-height: 55px;
}

#main div.calendar div.control a {
  display: block;
  width: 55px;
  height: 55px;
  line-height: 55px;
  text-align: center;
  background-color: #444;
  border-radius: 50%;
  position: relative;
}

#main div.calendar div.control a:after {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -7px;
  margin-left: -5px;
  border: 3px solid #fff;
  border-width: 0 0 3px 3px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#main div.calendar div.control a.prev {
  float: left;
}

#main div.calendar div.control a.next {
  float: right;
}

#main div.calendar div.control a.next:after {
  border-width: 3px 3px 0 0;
  margin-left: -9px;
}

#main div.calendar table {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

#main div.calendar table th,
#main div.calendar table td {
  width: 14.29%;
}

#main div.calendar table th {
  padding: 0.5em;
  text-align: center;
  vertical-align: middle;
  background-color: #f7f7f7;
  color: #2d2d2d;
  font-size: 18px;
}

#main div.calendar table td {
  padding: 0.75em 0.25em 0 0.25em;
  text-align: center;
  vertical-align: top;
}

#main div.calendar table td span {
  display: block;
  color: #2d2d2d;
  font-weight: bold;
}

#main div.calendar table td span.date {
  font-size: 20px;
}

#main div.calendar table td span.mark {
  font-size: 50px;
  color: #bfbfbf;
}

#main div.calendar table tr th:nth-child(1),
#main div.calendar table tr td:nth-child(1),
#main div.calendar table tr td:nth-child(1) span.day {
  color: #b7291e;
}

#main div.calendar table tr th:nth-child(7),
#main div.calendar table tr td:nth-child(7),
#main div.calendar table tr td:nth-child(7) span.day {
  color: #064e87;
}

#main div.calendar table td a {
  text-decoration: none;
}

#main div.calendar table td.maru span.mark {
  color: #b7291e;
}

#main div.calendar table td.batsu span.mark {
  color: #1f609d;
}

#main div.calendar p.date,
#main div.calendar p.time {
  text-align: center;
  letter-spacing: 0.2em;
}

#main div.calendar p.date {
  font-size: 28px;
  font-weight: bold;
  margin: 0;
}

#main div.calendar p.time {
  font-size: 18px;
}

#main div.calendar p.memo {
  font-size: 16px;
}

@media screen and (max-width: 640px) {
  #main div.calendar {
    margin-bottom: 50px;
  }
}
/* parts - reservebox
------------------------------------------------------------------- */
#main div.reservebox {
  margin: 50px auto;
  text-align: center;
}

#main div.reservebox p.btn {
  margin-bottom: 1em;
}

#main div.reservebox p.btn a.btn {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin: 0;
  width: 620px;
  max-width: 100%;
  height: 80px;
  line-height: 80px;
  position: relative;
  padding: 0;
}

#main div.reservebox p.btn a.btn:after {
  content: '';
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
  border: 2px solid #fff;
  border-width: 2px 2px 0 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#main div.reservebox span.tel {
  display: inline-block;
  background-image: url(../img/ico/ico_tel.png);
  background-repeat: no-repeat;
  background-position: left 0 top 14px;
  padding-left: 32px;
  color: #B82C21;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.2em;
}

#main div.reservebox span.tel span.number {
  font-size: 30px;
  margin-left: 1em;
}

#main div.reservebox span.tel span.time {
  display: block;
  text-align: right;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 641px) {
  #main div.reservebox span.tel span.number {
    margin-right: 0.5em;
  }
}
/* lesson
------------------------------------------------------------------- */
/* course
------------------------------------------------------------------- */
#main div.line.course {
  position: relative;
}

#main div.line.course:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;
  background-color: #fff;
}

#main div.course .inner {
  width: 1080px;
  min-width: 1080px;
}

#main div.course h3 {
  text-align: center;
  color: #b82c21;
  font-size: 30px;
  letter-spacing: 0.2em;
}

#main div.course span.date,
#main div.course span.time {
  display: block;
  text-align: center;
  letter-spacing: 0.2em;
}

#main div.course span.date {
  font-size: 28px;
  font-weight: bold;
  margin: 0;
}

#main div.course span.time {
  font-size: 18px;
}

#main ul.course {
  margin: 50px 0 0 0;
  padding: 0;
  list-style-type: none;
  width: 100%;
}

#main ul.course:after {
  content: '';
  display: block;
  clear: both;
}

#main ul.course > li {
  margin: 0;
  padding: 20px 30px 40px 40px;
  background-color: #fff;
  position: relative;
}

#main ul.course > li:after {
  content: '';
  display: block;
  clear: both;
}

#main ul.course > li > *:first-child {
  margin-top: 0;
}

#main ul.course > li > *:last-child {
  margin-bottom: 0;
}

#main ul.course > li + li {
  margin-top: 50px;
  float: left;
  width: 480px;
  max-width: 100%;
  background-color: transparent;
}

#main ul.course > li div.photo > img {
  margin-bottom: 30px;
}

#main ul.course > li div.txt {
  position: relative;
}

#main ul.course > li div.txt > *:first-child {
  margin-top: 0;
}

#main ul.course > li div.txt > *:last-child {
  margin-bottom: 0;
}

#main ul.course > li div.txt span.stamp {
  position: absolute;
  top: -20px;
  left: -10px;
}

#main ul.course > li div.txt h3 {
  color: #b7291e;
  font-size: 22px;
  margin-top: 0;
  margin-left: 3.5em;
  letter-spacing: 0.14em;
  text-align: left;
  min-height: 3em;
}

#main ul.course > li p {
  color: #b7291e;
  font-size: 16px;
  margin-top: 0.75em;
}

#main ul.course > li div.txt ol {
  margin: 1em 0 1.5em 0;
  list-style-type: none;
}

#main ul.course > li div.txt ol li {
  font-size: 16px;
  letter-spacing: 0.12em;
  position: relative;
  padding-left: 1em;
}

#main ul.course > li div.txt ol li:before {
  position: absolute;
  top: 0;
  left: -2em;
  color: #b7291e;
  font-style: italic;
}

#main ul.course > li div.txt ol li:nth-child(1):before {
  content: "01";
}

#main ul.course > li div.txt ol li:nth-child(2):before {
  content: "02";
}

#main ul.course > li div.txt ol li:nth-child(3):before {
  content: "03";
}

#main ul.course > li div.txt ol li:nth-child(4):before {
  content: "04";
}

#main ul.course > li div.txt ol li:nth-child(5):before {
  content: "05";
}

#main ul.course > li div.txt ol li:nth-child(6):before {
  content: "06";
}

#main ul.course > li div.txt ol li:nth-child(7):before {
  content: "07";
}

#main ul.course > li div.txt ol li:nth-child(8):before {
  content: "08";
}

#main ul.course > li div.txt ol li:nth-child(9):before {
  content: "09";
}

#main ul.course > li div.txt ol li:nth-child(10):before {
  content: "10";
}

#main ul.course > li div.txt ol li:nth-child(11):before {
  content: "11";
}

#main ul.course > li div.txt ol li:nth-child(12):before {
  content: "12";
}

#main ul.course > li div.txt a.img + a.img {
  margin-left: 0.5em;
}

#main ul.course > li:nth-child(1) {
  background-color: #fff;
}

#main ul.course > li:nth-child(1) div.txt {
  float: left;
  width: 430px;
}

#main ul.course > li:nth-child(1) div.photo {
  float: right;
  width: 485px;
  max-width: 100%;
}

#main ul.course > li:nth-child(2):before,
#main ul.course > li:nth-child(3):before {
  content: "";
  background-color: #fff;
  position: absolute;
  width: 100%;
  height: 80%;
  top: 0;
  left: 0;
}

#main ul.course > li:nth-child(3) {
  float: right;
}

@media screen and (max-width: 640px) {
  #main div.line.course .inner {
    padding: 0;
  }

  #main ul.course > li {
    padding: 30px 40px;
    background-color: #fff;
  }

  #main ul.course > li div.txt {
    padding-top: 40px;
    padding-left: 10px;
  }

  #main ul.course > li:nth-child(1) div.photo,
  #main ul.course > li:nth-child(1) div.txt {
    float: none;
    margin-left: 0;
    padding-left: 40px;
    width: 100%;
  }

  #main ul.course > li:nth-child(1) div.photo {
    text-align: center;
    padding-left: 0;
  }

  #main ul.course > li:nth-child(1) div.txt {
    padding-top: 40px;
    padding-left: 10px;
  }

  #main ul.course > li:nth-child(2n) {
    background-color: #f7f7f7;
  }

  #main ul.course > li:nth-child(2):before,
  #main ul.course > li:nth-child(3):before {
    display: none;
  }

  #main ul.course > li:nth-child(2),
  #main ul.course > li:nth-child(3) {
    float: none;
    width: 100%;
  }

  #main ul.course > li:nth-child(2) div.photo,
  #main ul.course > li:nth-child(3) div.photo {
    text-align: center;
  }

  #main ul.course > li:nth-child(3) {
    background-color: #fff;
  }

  #main ul.course > li div.txt span.stamp {
    width: 71px;
    height: 71px;
    top: 17px;
    left: 0;
  }

  #main ul.course > li:nth-child(2) div.txt span.stamp,
  #main ul.course > li:nth-child(3) div.txt span.stamp {
    top: 17px;
    left: 0;
  }

  #main ul.course > li div.txt h3 {
    margin-left: 75px;
  }

  #main ul.course > li div.txt ul {
    margin-top: 40px;
  }

  #main ul.course > li div.txt ol li {
    font-size: 20px;
  }
}
/* access
------------------------------------------------------------------- */
#main div.line.access .inner {
  width: 100%;
  padding: 0 0 0 0;
  text-align: center;
  margin-bottom: 50px;
}

#main div.line.access h3 {
  color: #b82c21;
  font-size: 30px;
  letter-spacing: 0.2em;
}

#main div.line.access p {
  margin: 0;
  font-size: 22px;
  letter-spacing: 0.2em;
}

#main div.line.access ul {
  list-style-type: normal;
  padding: 0 20px;
  margin: 30px auto;
  width: 840px;
  max-width: 100%;
  text-align: left;
}

#main div.line.access ul li {
  margin: 5px;
  display: inline-block;
  font-size: 20px;
  padding-left: 40px;
  letter-spacing: 0.16em;
}

#main div.line.access ul li.address {
  margin-top: 0;
  width: 100%;
  background: url(../img/ico/ico_address.png) no-repeat left top;
}

#main div.line.access ul li.tel {
  background: url(../img/ico/ico_tel.png) no-repeat 3px top;
}

#main div.line.access ul li.time {
  margin-left: 20px;
  background: url(../img/ico/ico_time.png) no-repeat left top;
}

#main div.line.access #map {
  height: 500px;
}

#main div.line.access #map + p.btn {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80px;
  z-index: 10;
}

#main div.line.access div.map iframe {
  width: 100%;
}

#main div.line.access p.btn {
  margin: 40px 0 0 0;
}

#main div.line.access p.btn a {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin: 0;
  width: 620px;
  max-width: 90%;
  height: 80px;
  line-height: 80px;
  position: relative;
  padding: 0;
}

#main div.line.access p.btn a:after {
  content: '';
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
  border: 2px solid #fff;
  border-width: 2px 2px 0 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 640px) {
  #main div.line.access ul li.time {
    margin-left: 8px;
    display: block;
  }

  #main div.line.access .inner {
    margin-bottom: 100px;
  }
}
/* footer
--------------------------------------------------------------------------*/
#footer #ftNav {
  padding: 40px 0 30px 0;
  background-color: #000;
  color: #fff;
}

#footer #ftNav a.logo {
  float: left;
  margin-right: 30px;
}

#footer #ftNav ul {
  list-style-type: none;
  margin: 0;
  margin-top: 50px;
  padding: 0;
}

#footer #ftNav ul li {
  display: inline-block;
  padding: 0 1em;
}

#footer #ftNav ul li a {
  text-decoration: none;
  color: #fff;
}

#footer p.copyright {
  float: none;
  clear: both;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.02em;
}

#footer #ftBtn {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  z-index: 3000;
  text-align: center;
}

#footer #ftBtn .inner {
  display: inline-block;
  -webkit-transition: .3s;
  transition: .3s;
}

#footer #ftBtn p {
  float: left;
  margin: -15px 0 0 0;
}

#footer #ftBtn {
  background-color: #b82c21;
  color: #fff;
}

#footer #ftBtn a.img {
  display: inline-block;
  float: right;
  margin-top: 15px;
  line-height: 50px;
  height: 50px;
  text-decoration: none;
}

@media screen and (min-width: 641px) {
  #footer #ftNav ul li a {
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }

  #footer #ftNav ul li a:hover {
    text-decoration: underline;
  }

  #footer #ftBtn a.img:hover {
    background-color: #e22415;
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
  }
}
@media screen and (max-width: 640px) {
  #footer {
    padding: 20px 0 0;
  }

  #footer #ftNav a.logo {
    display: none;
  }

  #footer #ftNav ul {
    margin-top: 0;
    text-align: center;
  }

  #footer #ftNav ul li {
    position: relative;
    padding-right: 2em;
  }

  #footer #ftNav ul li:after {
    content: "/";
    position: absolute;
    font-weight: bold;
    top: 0;
    right: 0;
  }

  #footer #ftNav ul li:last-child {
    padding-right: 0;
  }

  #footer #ftNav ul li:last-child:after {
    display: none;
  }

  #footer p.copyright {
    margin-top: 20px;
    font-size: 11px;
  }

  #footer #ftBtn {
    display: none;
  }
}
/* goTop
------------------------------------------------------------------- */
#goTop {
  position: fixed;
  bottom: 100px;
  right: 60px;
  z-index: 9999;
}

#goTop a {
  text-decoration: none;
  text-align: center;
  width: 75px;
  display: block;
  visibility: hidden;
  -webkit-transition: opacity 0.5s linear;
  -o-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
  opacity: 0;
}
#goTop a.on {
  display: block;
  visibility: visible;
  -webkit-transition: opacity 0.5s linear;
  -o-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
  opacity: 1;
}

@media screen and (min-width: 641px) {
  #goTop {
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear;
  }

  #goTop a:hover {
    -ms-filter: "alpha(opacity=90)";
    filter: alpha(opacity=90);
    opacity: 0.9;
  }
}
@media screen and (max-width: 640px) {
  #goTop {
    right: 30px;
    bottom: 30px;
  }
}
/* fadeEffect
------------------------------------------------------------------- */
/* motion */
#main .faderow,
#main .fadeitem {
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
  transform: scale(1.1);
}

#main .faderow.action,
#main .fadeitem.action {
  animation-duration: 2s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-name: fadeZoomOut;
}

#main .faderow.leftIn,
#main .fadeitem.leftIn {
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
  transform: translateX(10%);
}

#main .faderow.leftIn.action,
#main .fadeitem.leftIn.action {
  animation-duration: 2s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-name: fadeLeftIn;
}

@keyframes fadeZoomOut {
  0% {
    -ms-filter: "alpha(opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadeLeftIn {
  0% {
    -ms-filter: "alpha(opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
    transform: translateX(10%);
  }
  100% {
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
    transform: translateX(0);
  }
}
/* calendar popup
------------------------------------------------------------------- */
#main div.calendar table td div.popup {
  display: none;
  position: fixed;
  top: 200px;
  left: 50%;
  margin-left: -350px;
  width: 570px;
  background-color: #fff;
  border-radius: 5px;
  z-index: 3000;
}

#main div.calendar table td div.popup .inbox {
  position: relative;
  padding: 0;
}

#main div.calendar table td div.popup.on {
  display: block;
  animation-duration: 0.2s;
  animation-timing-function: ease-out;
  animation-name: showpopup;
  z-index: 3000;
}

#main div.calendar table td div.popup span.hd {
  display: block;
  padding: 0.5em 0;
  background: #222;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.2em;
}

#main div.calendar table td div.popup ul.reservetimes {
  list-style-type: none;
  padding: 0;
  margin: 30px 0;
  width: 100%;
}

#main div.calendar table td div.popup ul.reservetimes:after {
  content: '';
  display: block;
  clear: both;
}

#main div.calendar table td div.popup ul.reservetimes li {
  float: left;
  width: 50%;
  text-align: left;
  margin: 0;
  padding: 0;
  font-size: 20px;
}

#main div.calendar table td div.popup ul.reservetimes li label {
  display: block;
  padding: 1em 1em 1em 2em;
  margin: 0;
}

#main div.calendar table td div.popup ul.reservetimes li label:hover {
  background-color: #eee;
}

#main div.calendar table td div.popup ul.reservetimes li span {
  display: inline-block;
}

/* off */
#main div.calendar table td div.popup ul.reservetimes li.off span {
  color: #bbb;
}

#main div.calendar table td div.popup ul.reservetimes li.off label:hover {
  background-color: transparent;
  cursor: default;
}

#main div.calendar table td div.popup a.btn {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin: 0;
  width: 100%;
  height: 80px;
  line-height: 80px;
  position: relative;
  padding: 0;
}

#main div.calendar table td div.popup a.btn:after {
  content: '';
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
  border: 2px solid #fff;
  border-width: 2px 2px 0 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#main div.calendar table td div.popup .inbox a.btn-close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../img/voice_btn_close.png) no-repeat left top;
  background-size: 40px;
}

@media screen and (max-width: 640px) {
  #main div.calendar table td div.popup {
    top: 200px;
    left: 10%;
    margin-left: 0;
    width: 80%;
  }

  #main div.calendar table td div.popup .inbox a.btn-close {
    width: 41px;
    height: 41px;
    top: -20px;
    right: -20px;
    background-size: 41px;
  }
}
/* clf
--------------------------------------------------------------------------*/
#header:before,
#header:after,
#wrapper:before,
#wrapper:after,
#main:before,
#main:after,
.inner:before,
.inner:after,
.clf:before,
.clf:after {
  display: table;
  content: " ";
}

#header:after,
#wrapper:after,
#main:after,
.clf:after,
.inner:after {
  clear: both;
}

/*size*/
/*color*/
/* mixinCSS Document */
/*alt*/
/* pcCSS Document */
@media screen and (min-width: 641px) {
  /* PC+タブレット（641px以上）
  -------------------------------------------------- */
  .isSP {
    display: none;
  }

  #main {
    overflow: hidden;
  }
  #main .anchor {
    margin-top: -50px;
    padding-top: 50px;
  }
  #main div.block.knotline {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAANCAYAAACUwi84AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzAzNjEzNTJDMkQ5MTFFODk4MEU5RTgzRjlDQzY1QkQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzAzNjEzNTNDMkQ5MTFFODk4MEU5RTgzRjlDQzY1QkQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMDM2MTM1MEMyRDkxMUU4OTgwRTlFODNGOUNDNjVCRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMDM2MTM1MUMyRDkxMUU4OTgwRTlFODNGOUNDNjVCRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ps3u5kcAAAAlSURBVHjaYtypq/SfAQ9g/P8frzwDEwMBwLJLT3nUCmpYARBgAKOkFkFLzvHiAAAAAElFTkSuQmCC") left 86px repeat-x;
    width: 100%;
  }
  #main div.block.knotline:before {
    content: "";
    background: url(../img/knot.png) center 50px no-repeat;
    width: 100%;
    display: block;
    height: 120px;
  }
  #main div.block.knotline .h2_tit {
    margin: 0;
    padding: 30px 0;
    text-align: center;
  }

  #about .aboutInner {
    position: relative;
    overflow: hidden;
  }
  #about .aboutInner .ico {
    position: absolute;
    left: 50%;
    z-index: 5;
  }
  #about .aboutInner .ico.ico01 {
    margin-left: 380px;
    top: 30%;
  }
  #about .aboutInner .ico.ico02 {
    margin-left: 460px;
    top: 40%;
  }
  #about .aboutInner .ico.ico03 {
    margin-left: -520px;
    bottom: 9%;
  }
  #about .aboutbox {
    padding: 30px 0 5%;
    clear: both;
    position: relative;
  }
  #about .aboutbox:before {
    content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 280px;
    display: block;
    position: absolute;
    left: -10%;
    z-index: 1;
  }
  #about .aboutbox:after {
    content: "";
    display: block;
    clear: both;
  }
  #about .aboutbox .img {
    width: 55%;
  }
  #about .aboutbox .img img {
    width: 100%;
    height: auto;
  }
  #about .aboutbox .text {
    width: 40%;
    font-size: 20px;
    line-height: 2.4em;
  }
  #about .aboutbox.about01:before {
    top: 28%;
  }
  #about .aboutbox.about01 .img {
    /* padding-top: 5%; */
    float: left;
  }
  #about .aboutbox.about01 .text {
    float: right;
  }
  #about .aboutbox.about02:before {
    top: 35%;
  }
  #about .aboutbox.about02 .img {
    /* padding-top: 10%; */
    float: right;
  }
  #about .aboutbox.about02 .text {
    float: left;
  }
  #about .aboutbox .boxInner {
    margin: 0 auto;
    max-width: 1100px;
    position: relative;
    z-index: 10;
  }

  #schoolsTab {
    background-color: #000;
    margin-bottom: 55px;
    width: 100%;
    height: 80px;
  }
  #schoolsTab ul {
    margin: 0 auto;
    padding: 0;
    width: 940px;
    font-size: 0;
  }
  #schoolsTab ul li {
    margin: 0;
    padding: 0;
    display: inline-block;
    width: 24.9%;
    height: 80px;
  }
  #schoolsTab ul li a {
    background-color: #000;
    background-image: url(../img/tab_20250918.png);
    background-repeat: no-repeat;
    display: block;
    height: 80px;
    text-indent: -9999px;
    overflow: hidden;
    font-size: 18px;
    -moz-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #schoolsTab ul li a.on {
    background-color: #b92d22;
  }
  #schoolsTab ul li a:hover {
    opacity: 0.7;
  }
  #schoolsTab ul li:nth-child(1) a {
    background-position: center 0px;
  }
  #schoolsTab ul li:nth-child(2) a {
    background-position: center -80px;
  }
  #schoolsTab ul li:nth-child(3) a {
    background-position: center -160px;
  }
  #schoolsTab ul li:nth-child(4) a {
    background-position: center -240px;
  }

  #schools .schoolWrap {
    margin: 0 auto;
    max-width: 940px;
    -webkit-box-shadow: 7px 7px 0 0 #b92d22;
    box-shadow: 7px 7px 0 0 #b92d22;
    border: 1px solid #b92d22;
    padding-bottom: 1em; /* 2018/12/20 追加 @ichikura_haga */
  }

  #school {
    overflow: hidden;
  }
  #school .h3_tit {
    margin: 0;
    padding: 55px 0 50px;
    text-align: center;
  }
  #school .curriculum {
    position: relative;
  }
  /* #school .curriculum:before {
    content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 110px;
    display: block;
    position: absolute;
    top: 15px;
    left: -10%;
    z-index: 1;
  } */
  #school .curriculum .photo {
    margin: 0;
    padding: 0;
    width: 45%;
    float: right;
    position: relative;
    z-index: 10;
  }
  #school .curriculum .photo img.photo {
    width: 60%;
    height: auto;
  }
  #school .curriculum .photo img.time {
    position: absolute;
    top: -60px;
    right: 10px;
  }
  #school .curriculum .lesson {
    margin: 0;
    padding: 0;
    width: 54%;
    float: left;
    position: relative;
    z-index: 10;
  }
  #school .curriculum .lesson .h4_tit {
    margin: 0;
    padding: 0 0 10px 30px;
    font-size: 27px;
    line-height: 1em;
    color: #b92d22;
  }
  #school .curriculum .lesson .list {
    margin: 0;
    padding: 0;
  }
  #school .curriculum .lesson .list li {
    background-position: left center;
    background-repeat: no-repeat;
    margin: 0;
    padding: 25px 0 15px 70px;
    list-style-type: circle;
    font-size: 20px;
    line-height: 1.2em;
    font-weight: bold;
  }
  /* #school .curriculum .lesson .list li:nth-child(1) {
    background-image: url(../img/lesson01.png);
  }
  #school .curriculum .lesson .list li:nth-child(2) {
    background-image: url(../img/lesson02.png);
  }
  #school .curriculum .lesson .list li:nth-child(3) {
    background-image: url(../img/lesson03.png);
  }
  #school .curriculum .lesson .list li:nth-child(4) {
    background-image: url(../img/lesson04.png);
  }
  #school .curriculum .lesson .list li:nth-child(5) {
    background-image: url(../img/lesson05.png);
  }
  #school .curriculum .lesson .list li:nth-child(6) {
    background-image: url(../img/lesson06.png);
  }
  #school .curriculum .lesson .list li:nth-child(7) {
    background-image: url(../img/lesson07.png);
  }
  #school .curriculum .lesson .list li:nth-child(odd) {
    margin-left: 30px;
  }
  #school .curriculum .lesson .list li:nth-child(even) {
    margin-left: 50px;
  } */
  #school .info {
    margin: 0 auto;
    padding-top: 20px;
    max-width: 860px;
    clear: both;
  }
  #school .info dl {
    margin: 0;
    padding: 0 0 20px 0;
  }
  #school .info dl dt {
    background-color: #b92d22;
    margin: 0;
    padding: 10px 0;
    display: inline-block;
    width: 15%;
    text-align: center;
    vertical-align: top;
    font-size: 20px;
    line-height: 1.0em;
    color: #fff;
  }
  #school .info dl dd {
    margin: 0;
    margin-left: 1em;
    padding: 3px 0 10px;
    display: inline-block;
    width: 70%;
    vertical-align: top;
    font-size: 16px;
    line-height: 1.4rem;
  }
  #school .info dl .stg {
    font-size: 20px;
  }
  #school .info dl .yen {
    font-size: 26px;
  }
  #school .teacher {
    margin: 0 auto;
    padding-bottom: 20px;
    max-width: 800px;
    clear: both;
    position: relative;
  }
  #school .teacher:before {
    content: "";
    background: url(../img/ico/ico_wave.png) center center no-repeat;
    width: 100%;
    display: block;
    height: 100px;
  }
  #school .teacher:after {
    content: url(../img/bird_left.png);
    position: absolute;
    top: -100px;
    right: 10px;
  }
  #school .teacher .photo {
    margin: 0;
    padding: 0;
    width: 35%;
    float: left;
    text-align: center;
  }
  #school .teacher .photo img {
    width: 80%;
    height: auto;
  }
  #school .teacher .text {
    margin: 0;
    padding: 0;
    width: 60%;
    float: right;
  }
  #school .teacher .text dt {
    margin: 0;
    padding: 20px 20px 0;
    font-size: 20px;
    color: #b92d22;
  }
  #school .teacher .text dt .tit {
    margin-right: 1em;
    font-size: 16px;
  }
  #school .teacher .text dt .name {
    font-size: 24px;
  }
  #school .teacher .text dd {
    padding: 20px;
    font-size: 16px;
    line-height: 2.2em;
  }
  #school .privilege {
    margin: 0 auto;
    padding-bottom: 20px;
    max-width: 800px;
    clear: both;
  }

  #briefing .briefingInner {
    position: relative;
    overflow: hidden;
  }
  #briefing .briefingInner:before {
    content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 180px;
    display: block;
    position: absolute;
    bottom: 31px;
    left: -10%;
    z-index: 0;
  }
  #briefing .briefingInner .ico {
    position: absolute;
    left: 50%;
    z-index: 5;
  }
  #briefing .briefingInner .ico.ico01 {
    margin-left: 380px;
    top: 30%;
  }
  #briefing .briefingInner .ico.ico02 {
    margin-left: -460px;
    bottom: 15%;
  }
  #briefing .briefingInner .ico.ico03 {
    margin-left: -360px;
    bottom: 1%;
  }
  #briefing .lead {
    padding-bottom: 20px;
    text-align: center;
    font-size: 20px;
    line-height: 2em;
    position: relative;
    z-index: 10;
  }
  #briefing .schdule {
    margin: 0 auto;
    padding-bottom: 20px;
    max-width: 800px;
    position: relative;
    z-index: 10;
  }
  #briefing .schdule .h4_tit {
    margin: 0;
    padding: 0;
    float: left;
  }
  #briefing .schdule .date {
    margin: 0 0 0 100px;
    padding: 0 0 5px 0;
    font-size: 26px;
    font-weight: bold; /* 追加 */
  }
  #briefing .schdule .time {
    margin: 0 0 0 100px;
    padding: 0 0 20px 0;
    font-size: 20px;
  }
  #briefing .schdule .notes {
    margin: 0 0 0 80px;
    list-style: none;
  }
  #briefing .schdule .notes li {
    margin: 0 0 0 1.2em;
    padding-bottom: 5px;
    text-indent: -1.2em;
    font-size: 16px;
    line-height: 1.4em;
  }
  #briefing .schdule .notes li:before {
    content: "※";
    margin-left: 0.2em;
  }
  #briefing .schdule .notes li.stg {
    color: #f00;
  }

  #calendar .notes {
    list-style: none;
  }
  #calendar .notes li {
    margin: 0 0 0 1.2em;
    padding-bottom: 5px;
    text-indent: -1.2em;
    font-size: 16px;
    line-height: 1.4em;
  }
  #calendar .notes li:before {
    content: "※";
    margin-left: 0.2em;
  }

  #schedule {
    overflow: hidden;
  }
  #schedule .scheduleInner {
    position: relative;
    padding-bottom: 50px;
  }
  #schedule .scheduleInner:before {
    /* content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 250px;
    display: block;
    position: absolute;
    top: 0px;
    left: -10%;
    z-index: 0; */
  }
  #schedule .scheduleInner .ico {
    position: absolute;
    left: 50%;
    z-index: 5;
  }
  #schedule .scheduleInner .ico.ico01 {
    margin-left: 380px;
    top: -80px;
  }
  #schedule .scheduleInner .ico.ico02 {
    margin-left: -540px;
    bottom: 50px;
  }
  #schedule .scheduleInner .ico.ico03 {
    margin-left: -460px;
    bottom: 0;
  }
  #schedule .h3_school {
    padding-bottom: 20px;
    text-align: center;
    font-size: 28px;
    line-height: 1em;
    letter-spacing: 0.2em;
    position: relative;
    z-index: 10;
  }
  #schedule .h3_school span.times {
    font-size: 16px;
    font-weight: normal;
  }
  #schedule .h4_start {
    margin: 0;
    padding: 0 20px 20px;
    text-align: center;
    font-size: 30px;
    line-height: 1em;
    letter-spacing: 0.1em;
    color: #b92d22;
    position: relative;
    z-index: 10;
  }
  #schedule .schoolDate {
    margin: 0 auto;
    padding-top: 60px;
    padding-bottom: 20px;
    max-width: 1000px;
    text-align: center;
    position: relative;
    z-index: 10;
  }
  @media screen and (min-width: 1350px) {
    #schedule .schoolDate {
      max-width: 1350px;
    }
  }
  #schedule .schoolDate.n1 .box {
    width: 80%;
  }
  #schedule .schoolDate.n1 .box:nth-child(1) {
    margin-right: 0%;
  }
  #schedule .schoolDate.n1 .box:nth-child(2) {
    margin-left: 0%;
  }
  #schedule .schoolDate.n1 .box:nth-child(3) {
    margin-left: 0%;
  }
  #schedule .schoolDate.n2 .box {
    width: 45%;
  }
  #schedule .schoolDate.n2 .box:nth-child(1) {
    margin-right: 1%;
  }
  #schedule .schoolDate.n2 .box:nth-child(2) {
    margin-left: 1%;
  }
  #schedule .schoolDate.n2 .box:nth-child(3) {
    margin-left: 0%;
  }

  /* 横4つ並び */
  #schedule .schoolDate.n4 .box {
    width: 20%;
  }
  #schedule .schoolDate.n4 .box:nth-child(1) {
    margin-right: 1%;
  }
  #schedule .schoolDate.n2 .box:nth-child(2) {
    margin-right: 1%;
  }
  #schedule .schoolDate.n2 .box:nth-child(3) {
    margin-right: 1%;
  }
  #schedule .schoolDate.n2 .box:nth-child(4) {
    margin-left: 0;
  }
  /* 横4つ並び */

  #schedule .schoolDate .box {
    background-color: #fff;
    padding-top: 60px;
    width: 30%;
    border: 1px solid #b92d22;
    display: inline-block;
    position: relative;
  }
  #schedule .schoolDate .box:nth-child(1) {
    margin-right: 1%;
  }
  #schedule .schoolDate .box:nth-child(3) {
    margin-left: 1%;
  }
  #schedule .schoolDate .box:before {
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    margin-left: -42px;
    width: 84px;
    height: 84px;
    position: absolute;
    top: -42px;
    left: 50%;
  }
  #schedule .schoolDate .box:nth-child(1):before {
    background-image: url(../img/ico_1.png);
  }
  #schedule .schoolDate .box:nth-child(2):before {
    background-image: url(../img/ico_2.png);
  }
  #schedule .schoolDate .box:nth-child(3):before {
    background-image: url(../img/ico_3.png);
  }
  #schedule .schoolDate .box .h3_date {
    margin: 0;
    padding: 0 0 10px 0;
    font-size: 30px;
    line-height: 1em;
    color: #b92d22;
  }
  #schedule .schoolDate .box .start {
    margin: 0;
    padding: 0 0 20px 0;
    font-size: 20px;
    color: #b92d22;
  }
  #schedule .schoolDate .box .times {
    margin: 0;
    padding: 0 0 10px;
  }
  #schedule .schoolDate .box .times li {
    margin: 0 auto;
    padding: 0 0 10px;
    width: 80%;
    list-style: none;
    font-size: 20px;
  }
  #schedule .schoolDate .box .week {
    margin: 0 auto;
    padding: 20px 0 20px;
    width: 80%;
    border-top: 1px solid #b92d22;
    font-size: 18px;
    line-height: 2.0em;
  }
  #schedule .schoolDate .box .week .stg {
    font-size: 20px;
    color: #b92d22;
  }

  #access ol.buttons {
    margin: 0 auto;
    padding: 0;
    max-width: 860px;
    text-align: center;
  }
  #access ol.buttons li {
    margin: 0 10px;
    padding: 0;
    width: 400px;
    display: inline-block;
  }
  #access ol.buttons li a {
    background-color: #b92d22;
    text-align: center;
    display: block;
    position: relative;
    font-size: 20px;
    font-weight: normal;
    line-height: 60px;
    color: #fff;
    text-decoration: none;
  }
  #access ol.buttons li a:before {
    content: "";
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAARCAYAAAAL4VbbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkI2NjYwMzJCRjI2MTFFODkyOURFNURBOTdFQjNGQzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkI2NjYwMzNCRjI2MTFFODkyOURFNURBOTdFQjNGQzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QjY2NjAzMEJGMjYxMUU4OTI5REU1REE5N0VCM0ZDOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QjY2NjAzMUJGMjYxMUU4OTI5REU1REE5N0VCM0ZDOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkLTiw8AAADISURBVHjaYvz//z8DECwD4jdAnMeADwAVz/yPAPUgzbgwiIj9jwom4FMMwsZA/B5Jw1x8ikFYGYhfI2lYhU8xCEsA8S0kDXvwKQZhfiC+iKThCBCz41IMwkxAvAtJw3WQMxmh4YwLvAZiESj7LAOecJ0NxL+hJr8BYltcCncjOeEOEEticzMLEB9CUngNiAWwhQYoFK6ghQIrtqCTA+LbSAq34YpBFyB+h6RwNb60sQRJ4Wx8qQ4UzizAMNwGxG+BOBJfoAMEGADTGA4YdbklFQAAAABJRU5ErkJggg==") no-repeat center center;
    margin-top: -8px;
    width: 11px;
    height: 20px;
    display: block;
    position: absolute;
    top: 50%;
    left: 20px;
  }

  #voice .voiceInner {
    position: relative;
    padding-bottom: 50px;
    overflow: hidden;
  }
  #voice .voiceInner:before {
    content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 250px;
    display: block;
    position: absolute;
    top: 80px;
    left: -10%;
    z-index: 0;
  }
  #voice .voiceInner .ico {
    position: absolute;
    left: 50%;
    z-index: 5;
  }
  #voice .voiceInner .ico.ico01 {
    margin-left: 380px;
    top: -80px;
  }
  #voice .voiceInner .ico.ico02 {
    margin-left: -540px;
    bottom: 150px;
  }
  #voice .voiceInner .ico.ico03 {
    margin-left: -360px;
    bottom: 60px;
  }
  #voice ul.voice {
    margin: 0 auto;
    padding: 20px 0 50px;
    max-width: 960px;
    text-align: center;
    position: relative;
    z-index: 10;
  }
  #voice ul.voice li {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 230px;
    height: 280px;
    text-align: center;
    vertical-align: top;
    display: inline-block;
  }
  #voice ul.voice li:nth-child(odd) {
    padding-bottom: 50px;
  }
  #voice ul.voice li:nth-child(even) {
    padding-top: 50px;
  }
}
@media screen and (max-width: 1279px) and (min-width: 641px) {
  /* タブレット（641px以上1280px未満）
  -------------------------------------------------- */
}
@media screen and (min-width: 1280px) {
  /* PC+タブレット（1280px以上）
  -------------------------------------------------- */
}
/*size*/
/*color*/
/* mixinCSS Document */
/*alt*/
/* spCSS Document */
@media screen and (max-width: 640px) {
  /* スマフォ（641px以下)
  -------------------------------------------------- */
  .isPC {
    display: none;
  }

  #main {
    overflow: hidden;
  }
  #main .anchor {
    margin-top: -100px;
    padding-top: 100px;
  }
  #main div.block.knotline {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAANCAYAAACUwi84AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzAzNjEzNTJDMkQ5MTFFODk4MEU5RTgzRjlDQzY1QkQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzAzNjEzNTNDMkQ5MTFFODk4MEU5RTgzRjlDQzY1QkQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMDM2MTM1MEMyRDkxMUU4OTgwRTlFODNGOUNDNjVCRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMDM2MTM1MUMyRDkxMUU4OTgwRTlFODNGOUNDNjVCRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ps3u5kcAAAAlSURBVHjaYtypq/SfAQ9g/P8frzwDEwMBwLJLT3nUCmpYARBgAKOkFkFLzvHiAAAAAElFTkSuQmCC") left 86px repeat-x;
    width: 100%;
  }
  #main div.block.knotline:before {
    content: "";
    background: url(../img/knot.png) center 50px no-repeat;
    width: 100%;
    display: block;
    height: 120px;
  }
  #main div.block.knotline .h2_tit {
    margin: 0;
    padding: 30px 0;
    text-align: center;
  }

  #about .aboutInner {
    position: relative;
    overflow: hidden;
  }
  #about .aboutInner .ico {
    display: none;
  }
  #about .aboutbox .img {
    width: 100%;
  }
  #about .aboutbox .img img {
    width: 100%;
    height: auto;
  }
  #about .aboutbox .text {
    padding: 7% 6.25%;
    font-size: 24px;
    line-height: 2.4em;
  }
  #about .aboutbox.about01:before {
    top: 28%;
  }
  #about .aboutbox.about02:before {
    top: 35%;
  }
  #about .aboutbox .aboutInner {
    margin: 0 auto;
    max-width: 1100px;
    position: relative;
    z-index: 10;
  }

  #schoolsTab {
    background-color: #000;
    margin-bottom: 55px;
    width: 100%;
    height: 80px;
  }
  #schoolsTab ul {
    margin: 0 auto;
    padding: 0;
    width: 94%;
    /* width: 100%; */
    overflow: hidden;
    font-size: 0;
  }
  #schoolsTab ul li {
    margin: 0;
    padding: 0;
    display: inline-block;
    height: 80px;
  }
  #schoolsTab ul li a {
    background-image: url(../img/tab_20240716.png);
    background-repeat: no-repeat;
    display: block;
    height: 80px;
    text-indent: -9999px;
    overflow: hidden;
    font-size: 18px;
  }
  #schoolsTab ul li a.on {
    background-color: #b92d22;
  }
  #schoolsTab ul li:nth-child(1) {
    width: 33% !important;
    /* width: 23%; */
    float: left;
  }
  #schoolsTab ul li:nth-child(2) {
    width: 33% !important;
    /* width: 23%; */
    float: left;
  }
  #schoolsTab ul li:nth-child(3) {
    width: 33% !important;
    /* width: 33%; */
    float: left;
  }
  #schoolsTab ul li:nth-child(4) {
    width: 31% !important;
    float: left;
  }
  #schoolsTab ul li:nth-child(1) a {
    background-position: center 0px;
  }
  #schoolsTab ul li:nth-child(2) a {
    background-position: center -80px;
  }
  #schoolsTab ul li:nth-child(3) a {
    background-position: center -240px;
  }
  /* #schoolsTab ul li:nth-child(4) a {
    background-position: center -240px;
  } */

  #schools .schoolWrap {
    margin: 0 auto;
    width: 93.75%;
    -webkit-box-shadow: 7px 7px 0 0 #b92d22;
    box-shadow: 7px 7px 0 0 #b92d22;
    border: 1px solid #b92d22;
    padding-bottom: 1em; /* 2018/12/20 追加 @ichikura_haga */
  }

  #school {
    overflow: hidden;
  }
  #school .h3_tit {
    margin: 0;
    padding: 55px 0 50px;
    text-align: center;
  }
  #school .curriculum {
    position: relative;
  }
  /* #school .curriculum:before {
    content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 110px;
    display: block;
    position: absolute;
    top: 15px;
    left: -10%;
    z-index: 1;
  } */
  #school .curriculum .photo {
    margin: 0 auto;
    padding: 0 0 6%;
    width: 60%;
    position: relative;
    z-index: 10;
  }
  #school .curriculum .photo img.photo {
    width: 100%;
    height: auto;
  }
  #school .curriculum .photo img.time {
    width: 40%;
    height: auto;
    position: absolute;
    top: -50px;
    right: -20%;
  }
  #school .curriculum .lesson {
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 10;
  }
  #school .curriculum .lesson .h4_tit {
    margin: 0;
    padding: 0 0 10px 30px;
    text-align: center;
    font-size: 27px;
    line-height: 1em;
    color: #b92d22;
  }
  #school .curriculum .lesson .list {
    margin: 0;
    padding: 0;
  }
  #school .curriculum .lesson .list li {
    background-position: left center;
    background-repeat: no-repeat;
    margin: 0;
    padding: 25px 0 15px 70px;
    list-style: none;
    font-size: 20px;
    line-height: 1.2em;
    font-weight: bold;
  }
  /* #school .curriculum .lesson .list li:nth-child(1) {
    background-image: url(../img/lesson01.png);
  }
  #school .curriculum .lesson .list li:nth-child(2) {
    background-image: url(../img/lesson02.png);
  }
  #school .curriculum .lesson .list li:nth-child(3) {
    background-image: url(../img/lesson03.png);
  }
  #school .curriculum .lesson .list li:nth-child(4) {
    background-image: url(../img/lesson04.png);
  }
  #school .curriculum .lesson .list li:nth-child(5) {
    background-image: url(../img/lesson05.png);
  }
  #school .curriculum .lesson .list li:nth-child(6) {
    background-image: url(../img/lesson06.png);
  }
  #school .curriculum .lesson .list li:nth-child(7) {
    background-image: url(../img/lesson07.png);
  }
  #school .curriculum .lesson .list li:nth-child(odd) {
    margin-left: 30px;
  }
  #school .curriculum .lesson .list li:nth-child(even) {
    margin-left: 50px;
  } */
  #school .info {
    margin: 0 auto;
    padding-top: 20px;
    width: 93.75%;
  }
  #school .info dl {
    margin: 0;
    padding: 0 0 20px 0;
  }
  #school .info dl dt {
    background-color: #b92d22;
    margin: 0;
    padding: 10px 0;
    display: inline-block;
    width: 15%;
    text-align: center;
    vertical-align: top;
    font-size: 20px;
    line-height: 1.0em;
    color: #fff;
  }
  #school .info dl dd {
    margin: 0;
    margin-left: 1em;
    padding: 3px 0 10px;
    display: inline-block;
    width: 70%;
    vertical-align: top;
    font-size: 16px;
    line-height: 1.4rem;
  }
  #school .info dl .stg {
    font-size: 20px;
  }
  #school .info dl .yen {
    font-size: 26px;
  }
  #school .teacher {
    margin: 0 auto;
    padding-bottom: 20px;
    clear: both;
    position: relative;
  }
  #school .teacher:before {
    content: "";
    background: url(../img/ico/ico_wave.png) center center no-repeat;
    width: 100%;
    display: block;
    height: 100px;
  }
  #school .teacher .photo {
    margin: 0;
    padding: 0;
    width: 45%;
    float: left;
    text-align: center;
  }
  #school .teacher .photo img {
    width: 90%;
    height: auto;
  }
  #school .teacher .text {
    margin: 0;
    padding: 0;
    width: 54%;
    float: right;
  }
  #school .teacher .text dt {
    margin: 0;
    padding: 0 0 5% 5%;
    font-size: 24px;
    color: #b92d22;
  }
  #school .teacher .text dt .tit {
    margin-right: 1em;
    font-size: 16px;
  }
  #school .teacher .text dt .name {
    font-size: 24px;
  }
  #school .teacher .text dd {
    margin: 0;
    padding: 0 0 5% 5%;
    font-size: 18px;
    line-height: 2.2em;
  }
  #school .privilege {
    margin: 0 auto;
    padding-bottom: 7%;
    width: 93.75%;
    clear: both;
  }

  #briefing .briefingInner {
    position: relative;
    overflow: hidden;
  }
  #briefing .briefingInner:before {
    content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 180px;
    display: block;
    position: absolute;
    bottom: 31px;
    left: -10%;
    z-index: 0;
  }
  #briefing .briefingInner .ico {
    display: none;
  }
  #briefing .lead {
    margin: 0 auto;
    padding-bottom: 20px;
    width: 93.75%;
    text-align: center;
    font-size: 20px;
    line-height: 2em;
    position: relative;
    z-index: 10;
  }
  #briefing .schdule {
    margin: 0 auto;
    padding-bottom: 20px;
    width: 93.75%;
    position: relative;
    z-index: 10;
  }
  #briefing .schdule .h4_tit {
    margin: 0;
    padding: 0;
    float: left;
  }
  #briefing .schdule .date {
    margin: 0 0 0 100px;
    padding: 0 0 5px 0;
    font-size: 26px;
  }
  #briefing .schdule .time {
    margin: 0 0 0 100px;
    padding: 0 0 20px 0;
    font-size: 20px;
  }
  #briefing .schdule .notes {
    margin: 0 0 0 80px;
    list-style: none;
  }
  #briefing .schdule .notes li {
    margin: 0 0 0 1.2em;
    padding-bottom: 5px;
    text-indent: -1.2em;
    font-size: 16px;
    line-height: 1.4em;
  }
  #briefing .schdule .notes li:before {
    content: "※";
    margin-left: 0.2em;
  }

  #calendar .notes {
    list-style: none;
  }
  #calendar .notes li {
    margin: 0 0 0 1.2em;
    padding-bottom: 5px;
    text-indent: -1.2em;
    font-size: 16px;
    line-height: 1.4em;
  }
  #calendar .notes li:before {
    content: "※";
    margin-left: 0.2em;
  }
  #calendar .notes li.stg {
    color: #f00;
  }

  #schedule {
    overflow: hidden;
  }
  #schedule .scheduleInner {
    position: relative;
    padding-bottom: 50px;
  }
  #schedule .scheduleInner:before {
    /* content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 250px;
    display: block;
    position: absolute;
    top: 0px;
    left: -10%;
    z-index: 0; */
  }
  #schedule .scheduleInner .ico {
    display: none;
  }
  #schedule .h3_school {
    padding-bottom: 20px;
    text-align: center;
    font-size: 28px;
    line-height: 1em;
    letter-spacing: 0.2em;
    position: relative;
    z-index: 10;
  }
  #schedule .h3_school span.times {
    font-size: 16px;
    font-weight: normal;
  }
  #schedule .h4_start {
    margin: 0;
    padding: 0 20px 20px;
    text-align: center;
    font-size: 30px;
    line-height: 1em;
    letter-spacing: 0.1em;
    color: #b92d22;
    position: relative;
    z-index: 10;
  }
  #schedule .schoolDate {
    margin: 0 auto;
    padding-top: 60px;
    padding-bottom: 20px;
    text-align: center;
    position: relative;
    z-index: 10;
  }
  #schedule .schoolDate .box {
    background-color: #fff;
    margin: 0 auto 10%;
    padding-top: 60px;
    width: 87.5%;
    border: 1px solid #b92d22;
    position: relative;
  }
  #schedule .schoolDate .box:before {
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    width: 84px;
    height: 84px;
    position: absolute;
    top: -3%;
    left: -3%;
  }
  #schedule .schoolDate .box:nth-child(1):before {
    background-image: url(../img/ico_1.png);
  }
  #schedule .schoolDate .box:nth-child(2):before {
    background-image: url(../img/ico_2.png);
  }
  #schedule .schoolDate .box:nth-child(3):before {
    background-image: url(../img/ico_3.png);
  }
  #schedule .schoolDate .box:nth-child(4):before {
    background-image: url(../img/ico_3.png);
  }
  #schedule .schoolDate .box:nth-child(5):before {
    background-image: url(../img/ico_3.png);
  }
  #schedule .schoolDate .box .h3_date {
    margin: 0;
    padding: 0 0 10px 0;
    font-size: 36px;
    line-height: 1em;
    color: #b92d22;
  }
  #schedule .schoolDate .box .start {
    margin: 0;
    padding: 0 0 20px 0;
    font-size: 24px;
    color: #b92d22;
  }
  #schedule .schoolDate .box .times {
    margin: 0;
    padding: 0 0 10px;
  }
  #schedule .schoolDate .box .times li {
    margin: 0 auto;
    padding: 0 0 10px;
    width: 80%;
    list-style: none;
    font-size: 24px;
  }
  #schedule .schoolDate .box .week {
    margin: 0 auto;
    padding: 20px 0 20px;
    width: 80%;
    border-top: 1px solid #b92d22;
    font-size: 24px;
    line-height: 2.0em;
  }
  #schedule .schoolDate .box .week .stg {
    font-size: 28px;
    color: #b92d22;
  }

  #access ol.buttons {
    margin: 0 auto;
    padding: 0;
    max-width: 860px;
    text-align: center;
  }
  #access ol.buttons li {
    margin: 0 10px;
    padding: 0;
    width: 400px;
    display: inline-block;
  }
  #access ol.buttons li a {
    background-color: #b92d22;
    text-align: center;
    display: block;
    position: relative;
    font-size: 20px;
    font-weight: normal;
    line-height: 60px;
    color: #fff;
    text-decoration: none;
  }
  #access ol.buttons li a:before {
    content: "";
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAARCAYAAAAL4VbbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkI2NjYwMzJCRjI2MTFFODkyOURFNURBOTdFQjNGQzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkI2NjYwMzNCRjI2MTFFODkyOURFNURBOTdFQjNGQzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QjY2NjAzMEJGMjYxMUU4OTI5REU1REE5N0VCM0ZDOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QjY2NjAzMUJGMjYxMUU4OTI5REU1REE5N0VCM0ZDOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkLTiw8AAADISURBVHjaYvz//z8DECwD4jdAnMeADwAVz/yPAPUgzbgwiIj9jwom4FMMwsZA/B5Jw1x8ikFYGYhfI2lYhU8xCEsA8S0kDXvwKQZhfiC+iKThCBCz41IMwkxAvAtJw3WQMxmh4YwLvAZiESj7LAOecJ0NxL+hJr8BYltcCncjOeEOEEticzMLEB9CUngNiAWwhQYoFK6ghQIrtqCTA+LbSAq34YpBFyB+h6RwNb60sQRJ4Wx8qQ4UzizAMNwGxG+BOBJfoAMEGADTGA4YdbklFQAAAABJRU5ErkJggg==") no-repeat center center;
    margin-top: -8px;
    width: 11px;
    height: 20px;
    display: block;
    position: absolute;
    top: 50%;
    left: 20px;
  }

  #voice .voiceInner {
    position: relative;
    padding-bottom: 50px;
    overflow: hidden;
  }
  #voice .voiceInner:before {
    content: "";
    background-color: #f7f7f7;
    width: 120%;
    height: 250px;
    display: block;
    position: absolute;
    top: 80px;
    left: -10%;
    z-index: 0;
  }
  #voice .voiceInner .ico {
    display: none;
  }
  #voice ul.voice {
    margin: 0 auto;
    padding: 20px 0 50px;
    max-width: 960px;
    text-align: center;
    position: relative;
    z-index: 10;
  }
  #voice ul.voice li {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 230px;
    height: 280px;
    text-align: center;
    vertical-align: top;
    display: inline-block;
  }
  #voice ul.voice li:nth-child(odd) {
    padding-bottom: 50px;
  }
  #voice ul.voice li:nth-child(even) {
    padding-top: 50px;
  }
}

/*# sourceMappingURL=style.css.map */



/* Add Style @ichikura_haga
------------------------------------------------------------------- */

/* 次回募集までお待ちください。テキスト用 */
.text-comingsoon {
  margin: 2em 0 0;
  padding: 0 20px 20px;
  text-align: center;
  font-size: 1.875em !important;
  font-weight: bold;
  line-height: 1em;
  letter-spacing: 0.1em;
  color: #b92d22;
  position: relative;
  z-index: 10;
}


/* Youtube動画に関する設定 */
.about_player_wrapper {
  width: 100%;
  max-width: 960px;
  display: table;
  margin: 0 auto;
}

.about_player {
  padding-top: 56.25%;
  width: 100%;
  position: relative;
}

.about_player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.about_caption {
  text-align: center;
  margin-top: 1em;
}
/* Youtube動画に関する設定 */
