@charset "UTF-8";
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

dl, ol, ul {
  margin-bottom: 0px;
  margin-bottom: 0rem; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0;
  line-height: 150%;
  font-family: "Jost", "YakuHanJP", "Noto Sans JP", sans-serif;
  font-weight: normal; }

p {
  font-size: 16px;
  line-height: 180%;
  margin-bottom: 0;
  font-family: "Jost", "YakuHanJP", "Noto Sans JP", sans-serif; }
  @media (max-width: 480px) {
    p {
      font-size: 3vw; } }

.fv {
  width: 100vw;
  height: calc(100vh - 80px);
  background-position: center center;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative; }
  .fv .main-visual {
    position: relative; }
    .fv .main-visual h1.h1_ttl {
      text-align: center;
      color: #fff;
      font-size: 78px;
      line-height: 1.4em;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="3" /><feOffset dx="4" dy="4" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.3)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
      -webkit-filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .3));
              filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .3)); }
      .fv .main-visual h1.h1_ttl span {
        display: block;
        font-size: 42px;
        font-weight: 300; }
  @media (max-width: 480px) {
    .fv {
      height: calc(100vh - 60px); }
      .fv .main-visual h1.h1_ttl {
        font-size: 52px; }
        .fv .main-visual h1.h1_ttl span {
          font-size: 26px; } }

.bnr_wrap .inner h2 {
  text-align: center; }

.content_wrap {
  background: url(../../img/index/cont_bg01.jpg) center center no-repeat;
  background-size: cover; }
  .content_wrap .inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    margin: auto; }
    .content_wrap .inner ul li {
      width: 32%;
      padding: 20px 20px 320px 20px;
      border-radius: 6px;
      list-style: none;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      position: relative; }
      .content_wrap .inner ul li h2 {
        color: #44bbd0;
        background: url(../img/icon_arrow_b.png) left center no-repeat;
        background-size: contain;
        line-height: 1em;
        padding: 10px 0 10px 40px;
        margin-bottom: 10px; }
      .content_wrap .inner ul li a {
        position: absolute;
        bottom: 20px; }
      .content_wrap .inner ul li.plan_wrap {
        background: url(../../img/index/plan_bg_pc.jpg) center bottom no-repeat;
        background-size: cover; }
      .content_wrap .inner ul li.program_wrap {
        background: url(../../img/index/program_bg_pc.jpg) center bottom no-repeat;
        background-size: cover; }
      .content_wrap .inner ul li.qa_wrap {
        background: url(../../img/index/qa_bg_pc.jpg) center bottom no-repeat;
        background-size: cover; }
  @media (max-width: 480px) {
    .content_wrap {
      background: no-repeat; }
      .content_wrap .inner ul li {
        width: 100%;
        padding: 5% 5%;
        margin-bottom: 2%; }
        .content_wrap .inner ul li .content_box {
          background: rgba(255, 255, 255, .6);
          padding: 5% 5%;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          border-radius: 6px; }
          .content_wrap .inner ul li .content_box h2 {
            font-size: 21px;
            padding: 2% 0 2% 10%; }
          .content_wrap .inner ul li .content_box a {
            position: relative;
            bottom: auto; }
        .content_wrap .inner ul li.plan_wrap {
          background: url(../../img/index/plan_bg_sp.jpg) center center no-repeat;
          background-size: cover; }
        .content_wrap .inner ul li.program_wrap {
          background: url(../../img/index/program_bg_sp.jpg) center center no-repeat;
          background-size: cover; }
        .content_wrap .inner ul li.qa_wrap {
          background: url(../../img/index/qa_bg_sp.jpg) center center no-repeat;
          background-size: cover; } }

.facility_wrap .inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 90%;
  margin: auto; }
  .facility_wrap .inner ul li {
    width: 32%;
    margin-bottom: 2%; }
    .facility_wrap .inner ul li a img {
      width: 100%; }

@media (max-width: 480px) {
  .facility_wrap .inner ul li {
    width: 48%; } }

.topics_wrap {
  border-top: solid 1px #d9d9d9; }
  .topics_wrap .inner dl {
    width: 90%;
    margin: 0 auto 20px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .topics_wrap .inner dl dt {
      width: 20%;
      border-bottom: dotted 1px #d9d9d9;
      padding: 10px 10px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    .topics_wrap .inner dl dd {
      width: 80%;
      border-bottom: dotted 1px #d9d9d9;
      padding: 10px 10px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .topics_wrap .inner dl dd a {
        text-decoration: underline;
        font-size: 17px; }
  @media (max-width: 480px) {
    .topics_wrap .inner dl {
      width: 100%; }
      .topics_wrap .inner dl dt {
        width: 100%;
        padding: 2% 2% 0 2%;
        border: none; }
      .topics_wrap .inner dl dd {
        width: 100%;
        padding: 0% 4% 2% 4%;
        font-size: 3.5vw; }
        .topics_wrap .inner dl dd a {
          font-size: 3.5vw; } }
/*TOPICS
----------------------------------------------------------*/
.topics_wrap .inner dt:nth-child(n+10) , .topics_wrap .inner dd:nth-child(n+11){
	display: none;
}
.contact_wrap {
  background: url(../../img/index/contact_bg_pc.jpg) center center no-repeat;
  background-size: cover; }
  .contact_wrap .inner {
    background: rgba(255, 255, 255, .6);
    padding: 40px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 6px; }
    .contact_wrap .inner h3 {
      text-align: center; }
    .contact_wrap .inner a.tel-btn {
      color: #44bbd0;
      text-align: center;
      width: 100%;
      display: block;
      font-size: 32px;
      margin: 10px 0; }
      .contact_wrap .inner a.tel-btn span {
        margin-right: 10px; }
        .contact_wrap .inner a.tel-btn span img {
          width: auto;
          height: 24px; }
  @media (max-width: 480px) {
    .contact_wrap .inner {
      padding: 10% 5%;
      width: 95%;
      margin: auto; } }

.taisaku_wrap {
  background: #fefdf1; }
  .taisaku_wrap .inner h3 {
    text-align: center;
    margin: 20px 0;
    font-size: 18px; }
  .taisaku_wrap .inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 80%;
    margin: auto; }
    .taisaku_wrap .inner ul li span {
      line-height: 2.4em;
      display: block;
      text-align: center; }
    .taisaku_wrap .inner ul li:first-child span {
      line-height: 1.2em; }
    .taisaku_wrap .inner ul li:last-child span {
      line-height: 1.2em; }
  @media (max-width: 480px) {
    .taisaku_wrap .inner ul {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .taisaku_wrap .inner ul li {
        width: 26%;
        margin: 2% 3%; }
        .taisaku_wrap .inner ul li span {
          font-size: 11px; } }

/*スクロールボタンの指定*/
.scroll {
  position: absolute;
  width: 100%;
  bottom: 0;
  text-align: center;
  z-index: 1; }
  .scroll a {
    position: relative;
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    padding: 0 0 40px;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="2" /><feOffset dx="3" dy="3" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.3)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
    -webkit-filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .3));
            filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .3));
    /*矢印を作成する*/ }
    .scroll a:before {
      content: "";
      position: absolute;
      width: 10px;
      height: 10px;
      left: 0;
      right: 0;
      bottom: 25px;
      margin: auto;
      border-bottom: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-animation: move 2s infinite;
              animation: move 2s infinite;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="2" /><feOffset dx="3" dy="3" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.3)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
      -webkit-filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .3));
              filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .3)); }
  @media (max-width: 480px) {
    .scroll {
      bottom: 1%; }
      .scroll a {
        padding: 0 0 10%; } }

/*矢印をアニメーションする*/
@-webkit-keyframes move {
  0% {
    -webkit-transform: rotate(45deg) translate(0, 0);
            transform: rotate(45deg) translate(0, 0); }
  20% {
    -webkit-transform: rotate(45deg) translate(10px, 10px);
            transform: rotate(45deg) translate(10px, 10px); }
  40% {
    -webkit-transform: rotate(45deg) translate(0, 0);
            transform: rotate(45deg) translate(0, 0); } }
@keyframes move {
  0% {
    -webkit-transform: rotate(45deg) translate(0, 0);
            transform: rotate(45deg) translate(0, 0); }
  20% {
    -webkit-transform: rotate(45deg) translate(10px, 10px);
            transform: rotate(45deg) translate(10px, 10px); }
  40% {
    -webkit-transform: rotate(45deg) translate(0, 0);
            transform: rotate(45deg) translate(0, 0); } }
