@charset "UTF-8";
/* Scss Document */
/* #ee6f8a */
/*#66c2cd*/
h1, h2, h3, h4, h5, h6, p, ol, ul, li, dl, dt, dd, section, figure {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  letter-spacing: 0.0em; }

html {
  height: 100%; }

body {
  height: 100%;
  margin: 0px;
  padding: 0px;
  text-align: center;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  color: #555;
  font-family: "a-otf-jun-pro",sans-serif;
  font-weight: normal;
  background-color: #e8e7e3;
  line-height: 152%; }
  @media screen and (max-width: 499px) {
    body {
      font-size: 16px; } }

img {
  vertical-align: bottom;
  border: none;
  height: auto; }

img:hover {
  opacity: .8; }

a {
  color: #ee6f8a;
  text-decoration: none; }

a:hover {
  color: #ee6f8a;
  text-decoration: underline; }

strong {
  font-weight: normal;
  color: #CC3300; }

.clear {
  clear: both; }

.btn a {
  color: #fff;
  padding: 5px 10px;
  border-color: #ccc;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px; }
.btn a:hover {
  background-color: #fff; }

/* Header ///////////////////////////////////////////////////////////////// */
.header, .wrap {
  display: table-cell;
  vertical-align: top;
  height: 100vh;
  box-sizing: border-box; }
  @media screen and (max-width: 1199px) {
    .header, .wrap {
      display: inherit;
      height: auto; } }

.header {
  padding: 30px;
  background-color: #fff;
  min-width: 300px;
  position: fixed; }
  @media screen and (max-width: 1199px) {
    .header {
      position: inherit; } }
  .header .logo img {
    width: 150px; }
    @media screen and (max-width: 499px) {
      .header .logo img {
        width: 120px; } }
  .header h1 {
    padding: 20px 0px 20px 0px;
    font-size: 14px;
    font-weight: normal; }
  .header ul {
    padding: 0px 0px 30px 0px;
    text-align: left; }
  .header li {
    list-style: none;
    font-size: 14px; }
    .header li i {
      padding: 0px 4px 0px 0px;
      color: rgba(238, 111, 138, 0.8); }
    .header li a {
      display: block;
      padding: 8px 0px;
      color: #555;
      border-color: #cecdc8;
      border-style: solid;
      border-width: 0px 0px 1px 0px; }
    .header li a:hover {
      color: #ee6f8a; }

@media screen and (max-width: 1199px) {
  p#toggle {
    margin: 0px 0px 0px 0px;
    width: 100%;
    color: #fff;
    background-color: #ee6f8a;
    cursor: pointer;
    text-align: center;
    font-size: 16px;
    line-height: 32px;
    -webkit-tap-highlight-color: transparent; }

  p#toggle:after {
    content: "メニューを開く"; }

  p#toggle.active:after {
    content: "メニューを閉じる"; }

  nav.h-nav {
    display: none; }
    nav.h-nav li {
      font-size: 16px; } }
.f-btn {
  position: fixed;
  bottom: 4px;
  right: 4px;
  width: 40px;
  z-index: 10000; }
  .f-btn .pagetop-btn {
    font-size: 12px;
    line-height: 40px;
    background: #ee6f8a;
    text-decoration: none;
    color: #fff;
    width: 40px;
    height: 40px;
    text-align: center;
    display: block;
    border-radius: 4%;
    border-color: #fff;
    border-style: solid;
    border-width: 1px; }
  .f-btn .pagetop-btn:hover {
    background-color: rgba(238, 111, 138, 0.8); }

.wrap {
  padding: 40px 0px 40px 340px; }
  .wrap .cont-wrap {
    padding: 20px;
    width: 820px;
    text-align: left;
    background-color: #fff;
    box-sizing: border-box; }
  @media screen and (max-width: 1199px) {
    .wrap {
      margin: auto;
      padding: 40px 0px; }
      .wrap .cont-wrap {
        margin: auto; } }
  @media screen and (max-width: 879px) {
    .wrap {
      padding: 40px 20px; }
      .wrap .cont-wrap {
        margin: auto;
        width: auto; } }
  @media screen and (max-width: 499px) {
    .wrap {
      padding: 20px 0px; }
      .wrap .cont-wrap {
        margin: auto;
        width: auto; } }
  .wrap .copy {
    padding: 20px 0px;
    font-size: 14px; }

/* HOME ///////////////////////////////////////////////////////////////// */
.home-intro1 {
  margin: 0px auto 1px auto;
  padding: 80px 380px 0px 0px;
  background-image: url(../images/home1.jpg);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 380px;
  height: 180px;
  background-color: #ee6f8a;
  color: #fff; }
  .home-intro1 h2 {
    font-size: 24px;
    text-align: center;
    font-weight: normal;
    line-height: 170%; }
    .home-intro1 h2 span {
      font-size: 30px;
      font-weight: bold; }
  @media screen and (max-width: 899px) {
    .home-intro1 {
      padding: 40px 240px 0px 0px;
      background-size: 240px;
      height: 120px; }
      .home-intro1 h2 span {
        font-size: 24px; } }
  @media screen and (max-width: 679px) {
    .home-intro1 {
      padding: 200px 0px 0px 0px;
      background-position: center top;
      background-size: 300px;
      height: inherit;
      background-color: rgba(238, 111, 138, 0.2); }
      .home-intro1 h2 {
        padding: 10px 0px;
        font-size: 16px;
        background-color: #ee6f8a; }
        .home-intro1 h2 span {
          font-size: 18px; } }

.home-intro2 {
  padding: 80px 0px 0px 380px;
  background-image: url(../images/home2.jpg);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 380px;
  height: 180px;
  background-color: #66c2cd;
  color: #fff; }
  .home-intro2 h2 {
    font-size: 24px;
    text-align: center;
    font-weight: normal;
    line-height: 170%; }
    .home-intro2 h2 span {
      font-size: 30px;
      font-weight: bold; }
  @media screen and (max-width: 899px) {
    .home-intro2 {
      padding: 40px 0px 0px 240px;
      background-size: 240px;
      height: 120px; }
      .home-intro2 h2 span {
        font-size: 24px; } }
  @media screen and (max-width: 679px) {
    .home-intro2 {
      padding: 200px 0px 0px 0px;
      background-position: center top;
      background-size: 300px;
      height: inherit;
      background-color: rgba(102, 194, 205, 0.2); }
      .home-intro2 h2 {
        padding: 10px 0px;
        background-color: #66c2cd;
        font-size: 16px; }
        .home-intro2 h2 span {
          font-size: 18px; } }

.home-intro3 {
  margin: 20px auto 40px auto;
  padding: 20px 0px;
  background-image: url(../images/kakko-left.gif), url(../images/kakko-right.gif);
  background-position: 5% 50%, 95% 50%;
  background-repeat: no-repeat;
  text-align: center;
  /* @media screen and (max-width:599px) {
  	text-align: left;
  	h3 {
  		font-size: 16px;
  		span.sp1 {
  			font-size: 18px;
  		}
  	}
  } */ }
  .home-intro3 h3 {
    font-size: 24px;
    font-weight: normal;
    line-height: 180%; }
    .home-intro3 h3 span.sp1 {
      color: #ee6f8a;
      font-size: 30px;
      font-weight: bold; }
    .home-intro3 h3 span.sp2 {
      padding: 2px;
      background-color: #ee6f8a;
      color: #fff; }
  .home-intro3 br.sp-only {
    display: none; }
  @media screen and (max-width: 899px) {
    .home-intro3 h3 {
      font-size: 18px; }
      .home-intro3 h3 span.sp1 {
        font-size: 24px; } }
  @media screen and (max-width: 599px) {
    .home-intro3 {
      margin: 20px -10px;
      background-position: 0% 50%, 100% 50%; }
      .home-intro3 h3 {
        font-size: 16px; }
        .home-intro3 h3 span.sp1 {
          font-size: 20px; }
      .home-intro3 br.sp-only {
        display: inherit; } }

.home-case {
  margin: auto;
  text-align: center; }
  .home-case p {
    color: #ee6f8a; }
  .home-case ul {
    padding: 20px 10%;
    text-align: left;
    font-size: 16px; }
    @media screen and (max-width: 699px) {
      .home-case ul {
        padding: 20px 5%; } }
    @media screen and (max-width: 499px) {
      .home-case ul {
        padding: 20px 0px; } }
    .home-case ul li {
      margin: 0px 0px 12px 0px;
      padding: 12px;
      list-style: none;
      position: relative;
      background: #FAD4DC;
      border-radius: 4px;
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      width: 440px; }
      @media screen and (max-width: 699px) {
        .home-case ul li {
          width: inherit; } }
    .home-case ul li:after {
      border: solid transparent;
      content: '';
      height: 0;
      width: 0;
      pointer-events: none;
      position: absolute;
      border-color: rgba(250, 212, 220, 0);
      border-top-width: 8px;
      border-bottom-width: 8px;
      border-left-width: 8px;
      border-right-width: 8px;
      margin-top: -8px;
      border-right-color: #FAD4DC;
      right: 100%;
      top: 50%; }
    .home-case ul li.from-f {
      margin: 0px 0px 12px auto;
      padding: 12px;
      list-style: none;
      position: relative;
      background: #66C2CD;
      border-radius: 4px;
      color: #fff;
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      width: 200px; }
      .home-case ul li.from-f a {
        color: #fff;
        text-decoration: underline; }
      .home-case ul li.from-f a:hover {
        text-decoration: none; }
    .home-case ul li.from-f:after {
      border: solid transparent;
      content: '';
      height: 0;
      width: 0;
      pointer-events: none;
      position: absolute;
      border-color: rgba(102, 194, 205, 0);
      border-top-width: 8px;
      border-bottom-width: 8px;
      border-left-width: 8px;
      border-right-width: 8px;
      margin-top: -8px;
      border-left-color: #66C2CD;
      left: 100%;
      top: 50%; }

/* 階層共通 ///////////////////////////////////////////////////////////////// */
.topicpath li {
  list-style: none;
  display: inline-block;
  vertical-align: top;
  font-size: 12px; }
.topicpath li:after {
  padding: 0px 4px 0px 8px;
  content: ">";
  color: #ccc; }
.topicpath li:last-child:after {
  content: ""; }
.topicpath a {
  color: #555;
  text-decoration: underline; }
.topicpath a:hover {
  color: #ee6f8a; }

.pagetitle {
  padding: 20px 0px 10px 0px;
  /* padding: 20px 0px 40px 0px; */
  text-align: center;
  /* h2{
  	position: relative;
  	display: inline-block;
  	padding: 0 55px;
  }
  h2:before, h2:after{
  	content: '';
  	position: absolute;
  	top: 45%;
  	display: inline-block;
  	width: 45px;
  	height: 2px;
  	border-top: solid 1px #ccc;
  	border-bottom: solid 1px #ccc;
  }
  h2:before {left:0;}
  h2:after {right: 0;} */ }
  .pagetitle h2 {
    padding: 0px 0px 40px 0px;
    background-image: url(../images/page-midashi.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 50px; }

.cont {
  padding: 20px 30px; }
  @media screen and (max-width: 879px) {
    .cont {
      padding: 20px 10px; } }
  @media screen and (max-width: 499px) {
    .cont {
      padding: 20px 0px; } }
  .cont h2 {
    margin: 0px -10px 30px -10px;
    padding: 10px;
    border-color: rgba(238, 111, 138, 0.4);
    border-style: solid;
    border-width: 1px 0px 1px 0px;
    font-size: 18px;
    line-height: 100%;
    font-weight: normal;
    color: #fff;
    font-weight: bold;
    background-color: rgba(238, 111, 138, 0.9); }
    @media screen and (max-width: 499px) {
      .cont h2 {
        margin: 0px -5px 30px -5px; } }
    .cont h2 span {
      margin: 0px 10px 0px 0px;
      font-size: 14px;
      line-height: 100%;
      background-color: rgba(255, 255, 255, 0.9);
      /* background-color:rgba(238,111,138,0.9); */
      color: rgba(238, 111, 138, 0.9);
      padding: 2px;
      display: inline-block;
      vertical-align: top;
      width: 3em;
      border-radius: 2px;
      text-align: center;
      font-weight: normal; }
  .cont p {
    padding: 0px 0px 1em 0px; }
  .cont ul {
    margin: 0px 0px 1em 0px;
    padding: 1em 1em 1em 2em;
    background-color: #f6f6f6; }
  .cont figure.cut1 {
    float: right;
    padding: 0px 0px 20px 20px;
    width: 320px;
    box-sizing: border-box; }
    @media screen and (max-width: 879px) {
      .cont figure.cut1 {
        width: 300px; } }
    @media screen and (max-width: 699px) {
      .cont figure.cut1 {
        width: 220px; } }
    @media screen and (max-width: 599px) {
      .cont figure.cut1 {
        float: inherit;
        padding: 0px 0px 20px 0px;
        width: 100%; } }
    .cont figure.cut1 img {
      width: 100%;
      height: auto; }
  .cont .fee {
    padding: 0px 0px 20px 0px; }
    .cont .fee p {
      text-align: right;
      padding: 0px 0px 0px 0px;
      font-size: 14px; }
    .cont .fee table {
      width: 100%;
      box-sizing: border-box;
      border-collapse: collapse; }
    .cont .fee th, .cont .fee td {
      vertical-align: top;
      padding: 8px;
      border: solid 1px #ccc; }
    .cont .fee th {
      background-color: #f6f6f6; }
    .cont .fee td {
      background-color: #fff; }
    .cont .fee td.cost {
      text-align: right; }
    @media screen and (max-width: 399px) {
      .cont .fee td.sp-none {
        display: none; }
      .cont .fee .s-normal:before {
        padding: 0px 10px 0px 0px;
        font-size: 12px;
        content: "小学・通常";
        color: rgba(238, 111, 138, 0.8); }
      .cont .fee .s-high:before {
        padding: 0px 10px 0px 0px;
        font-size: 12px;
        content: "小学・ハイレベル";
        color: rgba(238, 111, 138, 0.8); }
      .cont .fee .c-normal:before {
        padding: 0px 10px 0px 0px;
        font-size: 12px;
        content: "中学・通常";
        color: rgba(238, 111, 138, 0.8); }
      .cont .fee .c-high:before {
        padding: 0px 10px 0px 0px;
        font-size: 12px;
        content: "中学・ハイレベル";
        color: rgba(238, 111, 138, 0.8); }
      .cont .fee .h-normal:before {
        padding: 0px 10px 0px 0px;
        font-size: 12px;
        content: "高校・通常";
        color: rgba(238, 111, 138, 0.8); }
      .cont .fee .h-high:before {
        padding: 0px 10px 0px 0px;
        font-size: 12px;
        content: "高校・ハイレベル";
        color: rgba(238, 111, 138, 0.8); } }
  .cont .system {
    margin: -1px 0px 0px 0px;
    padding: 10px 0px;
    border-color: #eee;
    border-style: solid;
    border-width: 1px 0px; }
    .cont .system .time {
      color: #ee6f8a;
      font-size: 18px; }
    @media screen and (max-width: 499px) {
      .cont .system {
        border-width: 0px; } }
    .cont .system dt, .cont .system dd {
      display: table-cell;
      vertical-align: top; }
      @media screen and (max-width: 499px) {
        .cont .system dt, .cont .system dd {
          display: inherit; } }
    .cont .system dt {
      padding: 4px;
      width: 3em;
      text-align: center;
      background-color: rgba(238, 111, 138, 0.7);
      color: #fff; }
      @media screen and (max-width: 499px) {
        .cont .system dt {
          margin: 0px -5px;
          width: inherit; } }
    .cont .system dd {
      padding: 4px 20px; }
      @media screen and (max-width: 499px) {
        .cont .system dd {
          padding: 10px 0px; } }
    .cont .system .att {
      margin: 0px 0px 0em 0px;
      padding: 0px 0px 0px 1em;
      background-color: inherit; }
      .cont .system .att li {
        list-style: none;
        padding: 0px 0px 0.5em 0px; }
      .cont .system .att li:before {
        margin: 0px 0px 0px -1em;
        content: "※"; }
  .cont .gaiyou {
    padding: 0px 0px 30px 0px; }
    .cont .gaiyou dl {
      margin: -1px 0px 0px 0px;
      border-color: #ccc;
      border-style: solid;
      border-width: 1px 0px; }
      @media screen and (max-width: 499px) {
        .cont .gaiyou dl {
          margin: 0px 0px 10px 0px;
          padding: 0px 0px;
          border-width: 0px; } }
    .cont .gaiyou dt, .cont .gaiyou dd {
      display: table-cell;
      vertical-align: top; }
      @media screen and (max-width: 499px) {
        .cont .gaiyou dt, .cont .gaiyou dd {
          display: inherit; } }
    .cont .gaiyou dt {
      margin: 0px -5px;
      padding: 10px 4px;
      width: 5em;
      background-color: rgba(238, 111, 138, 0.15); }
      @media screen and (max-width: 499px) {
        .cont .gaiyou dt {
          width: inherit;
          padding: 4px; } }
    .cont .gaiyou dd {
      padding: 10px 10px; }
      @media screen and (max-width: 499px) {
        .cont .gaiyou dd {
          padding: 4px; } }
