@charset "UTF-8";
/*============================================
responsive
============================================*/
@media screen and (max-width: 897px) {
  body {
    padding-top: 0; } }

/*============================================
common
============================================*/
.headline {
  padding: 0 0 60px 0;
  text-align: center;
  color: #37467F; }
  @media screen and (max-width: 897px) {
    .headline {
      padding: 0 0 30px 0; } }
  .headline span {
    font-size: 2.5rem;
    display: inline-block;
    padding: 0 0 60px 0;
    position: relative;
    font-family: futura-pt, sans-serif;
    font-weight: 700;
    font-style: normal; }
    @media screen and (max-width: 897px) {
      .headline span {
        font-size: 2.0rem; } }
    .headline span:after {
      position: absolute;
      content: "";
      width: 120px;
      height: 5px;
      background: #37467F;
      bottom: 30px;
      left: 50%;
      transform: translateX(-50%); }
  .headline h2 {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 2.0rem; }
  .headline.white {
    color: white; }
    .headline.white span:after {
      background: #fff; }

/*------------------------------------------------------------
	mainVisual
------------------------------------------------------------*/
.mainVisual {
  height: 90vh; }
  .mainVisual--underlayer {
    height: 200px; }

.mainVisualPhoto {
  background-color: #222;
  position: relative; }

/*--------逕ｻ蜒上し繧､繧ｺ隱ｿ謨ｴ---------*/
.mainVisual img {
  width: 100vw;
  max-height: 90vh;
  object-fit: cover;
  margin: 0 auto; }

.mainVisual--underlayer img {
  height: 200px;
  object-position: top; }

@media screen and (max-width: 767px) {
  .mainVisual {
    height: auto; }

  .mainVisual img {
    height: 60vh; } }
.mainVisual .slick-slide {
  height: auto !important; }

.mainVisual .slick-next {
  right: 0 !important; }

.mainVisual .slick-prev {
  left: 0 !important; }

.mainVisual .slick-arrow {
  width: initial !important;
  height: initial !important;
  z-index: 2 !important; }

.mainVisual .slick-arrow:before {
  font-size: 30px !important; }

.mainVisual .mainVisual__txt {
  position: absolute;
  left: 50%;
  bottom: 30%;
  transform: translate(-50%, 30%); }

.mainVisual .mainVisual__txt img {
  width: auto;
  height: 50vh;
  max-width: 1193px;
  min-width: 600px;
  object-fit: contain; }

.mainVisual .mainVisual__txt a {
  transition: 0.3s;
  opacity: 1; }

.mainVisual .mainVisual__txt a:hover {
  opacity: 0.8; }

/*============================================
philosophia
============================================*/
.philosophia {
  padding: 120px 0;
  background: url("../img/index/philosophia-bg-01.png");
  background-position: top right;
  background-repeat: no-repeat; }
  @media screen and (max-width: 897px) {
    .philosophia {
      padding: 40px 0; } }
  .philosophia__box {
    max-width: 1050px;
    margin: 0 auto;
    border: 5px solid #37467F;
    border-radius: 15px;
    padding: 40px;
    text-align: center;
    position: relative; }
    @media screen and (max-width: 897px) {
      .philosophia__box {
        margin: 0 20px;
        padding: 20px;
        text-align: left; } }
    .philosophia__box h3 {
      font-weight: 900;
      font-size: 4.0rem;
      line-height: 1.4;
      padding: 0 0 30px 0; }
      @media screen and (max-width: 897px) {
        .philosophia__box h3 {
          font-size: 2rem; } }
      .philosophia__box h3 span {
        color: #FD0075; }
    .philosophia__box p {
      font-weight: 600;
      font-size: 2.0rem;
      line-height: 1.8; }
      @media screen and (max-width: 897px) {
        .philosophia__box p {
          font-size: 1.5rem; } }
      .philosophia__box p span {
        color: #FD0075; }
      .philosophia__box p.credit {
        padding: 20px 0 0 0;
        font-size: 2.7rem;
        line-height: 1.2;
        text-align: right; }
        @media screen and (max-width: 897px) {
          .philosophia__box p.credit {
            padding: 64px 0 0 0;
            font-size: 1.4rem;
            padding-left: 20%; } }
        .philosophia__box p.credit span {
          font-size: 2.0rem;
          color: #384158;
          display: block; }
          @media screen and (max-width: 897px) {
            .philosophia__box p.credit span {
              font-size: 1.4rem; } }
    .philosophia__box:after {
      position: absolute;
      content: "";
      width: 426px;
      height: 527px;
      bottom: -125px;
      left: -15%;
      background: url("../img/index/philosophia-img-01.png");
      background-repeat: no-repeat;
      background-size: contain; }
      @media screen and (max-width: 897px) {
        .philosophia__box:after {
          width: 28vw;
          height: 114px;
          bottom: 0;
          left: 0; } }

/*============================================
about
============================================*/
.about {
  padding: 120px 0;
  background: url("../img/index/about-bg-01.jpg");
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .about {
      padding: 40px 0; } }
  .about__box {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 897px) {
      .about__box {
        margin: 0 20px;
        display: block; } }
    .about__box__item {
      width: 31%; }
      @media screen and (max-width: 897px) {
        .about__box__item {
          width: 100%;
          margin: 0 0 40px 0; } }
      .about__box__item .img {
        margin: 0 0 20px 0; }
        .about__box__item .img img {
          border-radius: 15px;
          width: 100%; }
      .about__box__item .txt h3 {
        font-size: 1.8rem;
        color: #FD0075;
        text-align: center;
        padding: 0 0 10px 0; }
      @media screen and (max-width: 897px) {
        .about__box__item:last-of-type {
          margin: 0; } }

/*============================================
recommend
============================================*/
.recommend {
  padding: 120px 0 60px 0;
  background: url("../img/index/recommend-bg-01.jpg");
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .recommend {
      padding: 40px 0 10px 0; } }
  .recommend__box {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media screen and (max-width: 897px) {
      .recommend__box {
        margin: 0 20px; } }
    .recommend__box__item {
      width: 22%;
      margin: 0 0 60px 0; }
      @media screen and (max-width: 897px) {
        .recommend__box__item {
          width: 48.5%;
          margin: 0 0 30px 0; } }
      .recommend__box__item .img {
        margin: 0 0 20px 0; }
        .recommend__box__item .img img {
          border-radius: 15px; }
      .recommend__box__item .txt {
        text-align: center;
        color: #fff; }

/*============================================
school
============================================*/
.school {
  padding: 0;
  background: url("../img/index/school-bg-01.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover; }
  .school__box {
    background: #F0F2F7;
    max-width: 780px;
    margin: 0 auto;
    padding: 80px 60px; }
    @media screen and (max-width: 897px) {
      .school__box {
        padding: 40px 0; } }
    .school__box h2 {
      text-align: center;
      font-size: 3.5rem;
      font-weight: 900;
      padding: 110px 0 60px 0;
      position: relative; }
      @media screen and (max-width: 897px) {
        .school__box h2 {
          padding: 60px 0 20px 0;
          font-size: 2.5rem;
          line-height: 1.5; } }
      .school__box h2 span {
        color: #FD0075; }
      .school__box h2:before {
        position: absolute;
        content: "";
        width: 236px;
        height: 104px;
        background: url("../img/index/school-img-01.png");
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
        @media screen and (max-width: 897px) {
          .school__box h2:before {
            width: 118px;
            height: 54px;
            background-size: 100% 100%; } }
    .school__box .school__list {
      position: relative;
      padding: 170px 0 0 0; }
      @media screen and (max-width: 897px) {
        .school__box .school__list {
          padding: 90px 0 0 0;
          margin: 0 20px; } }
      .school__box .school__list:before {
        position: absolute;
        content: "";
        width: 247px;
        height: 206px;
        background: url("../img/index/school-img-02.png");
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
        @media screen and (max-width: 897px) {
          .school__box .school__list:before {
            width: 123.5px;
            height: 103px;
            background-size: 100% 100%; } }
      .school__box .school__list .school__list__item {
        background: #fff;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        margin: 20px 0 0 0;
        font-size: 2.0rem;
        font-weight: 900;
        padding: 20px;
        text-align: center;
        border-radius: 15px; }
        @media screen and (max-width: 897px) {
          .school__box .school__list .school__list__item {
            margin: 10px 0 0 0;
            font-size: 1.7rem;
            padding: 10px; } }
        .school__box .school__list .school__list__item span {
          font-size: 2.4rem;
          color: #FD0075;
          border-bottom: 1px solid #FD0075; }
          @media screen and (max-width: 897px) {
            .school__box .school__list .school__list__item span {
              font-size: 1.8rem; } }

/*============================================
reason
============================================*/
.reason {
  padding: 120px 0 60px 0;
  background: url("../img/index/reason-bg-01.jpg");
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .reason {
      padding: 40px 0 20px 0; } }
  .reason__box {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    @media screen and (max-width: 897px) {
      .reason__box {
        display: inherit;
        margin: 0 20px;
        justify-content: space-between; } }
    .reason__box__item {
      width: 33%;
      margin: 0 0 60px 0; }
      @media screen and (max-width: 897px) {
        .reason__box__item {
          width: auto;
          margin: 0 0 20px 0; } }
      @media screen and (max-width: 897px) {
        .reason__box__item img {
          width: 60%;
          display: table;
          margin: 0 auto; } }

/*============================================
details
============================================*/
.details {
  padding: 120px 0 90px 0;
  background: url("../img/index/details-bg-01.jpg");
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .details {
      padding: 40px 0 30px 0; } }
  .details__box {
    max-width: 1140px;
    margin: 0 auto; }
    @media screen and (max-width: 897px) {
      .details__box {
        margin: 0 20px; } }
    .details__box__item {
      display: flex;
      justify-content: space-between;
      margin: 0 0 90px 0;
      flex-flow: row-reverse; }
      @media screen and (max-width: 897px) {
        .details__box__item {
          display: block;
          flex-flow: row;
          margin: 0 0 10px 0; } }
      .details__box__item .img {
        width: 48.5%; }
        @media screen and (max-width: 897px) {
          .details__box__item .img {
            width: 100%;
            margin: 0 0 20px 0; } }
        .details__box__item .img img {
          display: block;
          margin: 0 auto; }
      .details__box__item .txt {
        width: 48.5%; }
        @media screen and (max-width: 897px) {
          .details__box__item .txt {
            width: 100%; } }
        .details__box__item .txt h3 {
          font-size: 2.5rem;
          line-height: 1;
          font-family: futura-pt, sans-serif;
          font-weight: 700;
          font-style: normal;
          color: #FD0075;
          display: inline-block;
          border-bottom: 1px solid #384158;
          padding: 0 0 20px 0;
          margin: 0 0 60px 0; }
          @media screen and (max-width: 897px) {
            .details__box__item .txt h3 {
              font-size: 1.8rem;
              padding: 0 0 10px 0;
              margin: 0 0 20px 0; } }
        .details__box__item .txt h4 {
          font-weight: 900;
          font-size: 3.0rem;
          line-height: 1.5;
          padding: 0 0 30px 0; }
          @media screen and (max-width: 897px) {
            .details__box__item .txt h4 {
              font-size: 2.0rem;
              padding: 0 0 10px 0; } }
          .details__box__item .txt h4 span {
            background: linear-gradient(transparent 60%, #ff6 60%); }
        .details__box__item .txt p {
          padding: 0 0 10px 0; }
      .details__box__item:nth-child(even) {
        flex-flow: row; }

/*============================================
bnr-01
============================================*/
.bnr-01 {
  padding: 0;
  background: url("../img/index/bnr-01.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top 160px center;
  margin-top: -160px; }
  @media screen and (max-width: 897px) {
    .bnr-01 {
      margin-top: 0;
      background-size: cover;
      background-position: center;
      padding: 40px 0; } }
  .bnr-01__box {
    text-align: center; }

/*============================================
menu2
============================================*/
.menu2 {
  padding: 120px 0 340px 0;
  background: url("../img/index/menu-bg-01.jpg");
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .menu2 {
      padding: 40px 0 340px 0; } }
  .menu2__copy {
    text-align: center;
    font-size: 1.7rem;
    font-weight: 700;
    padding: 0 0 30px 0;
    color: #fff; }
    @media screen and (max-width: 897px) {
      .menu2__copy {
        margin: 0 20px;
        text-align: left;
        font-size: 1.6rem;
        font-weight: 500; } }
  .menu2__box {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media screen and (max-width: 897px) {
      .menu2__box {
        margin: 0 20px; } }
    .menu2__box__item {
      width: 23%;
      margin: 0 0 40px 0; }
      @media screen and (max-width: 897px) {
        .menu2__box__item {
          width: 48.5%;
          margin: 0 0 20px 0; } }
      .menu2__box__item .img {
        position: relative; }
        .menu2__box__item .img span {
          position: absolute;
          top: 5%;
          left: 5%;
          display: inline-block;
          background: #FD0075;
          color: #fff;
          padding: 2px 2% 4px 2%;
          line-height: 1; }
        .menu2__box__item .img img {
          border-radius: 15px; }
      .menu2__box__item .txt h3 {
        padding: 20px 0 0 0;
        text-align: center;
        color: #fff; }
  .menu2 .item__box {
    max-width: 1140px;
    margin: 30px auto 0 auto;
    background: #fff;
    border-radius: 15px;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }
    @media screen and (max-width: 897px) {
      .menu2 .item__box {
        margin: 0 20px; } }
    .menu2 .item__box h2 {
      padding: 30px;
      font-size: 3.0rem;
      font-weight: 900;
      background: #F0F2F7;
      text-align: center;
      border-radius: 15px 15px 0 0; }
      @media screen and (max-width: 897px) {
        .menu2 .item__box h2 {
          padding: 15px;
          font-size: 2.0rem; } }
    .menu2 .item__box__list {
      padding: 30px 30px 0 30px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media screen and (max-width: 897px) {
        .menu2 .item__box__list {
          padding: 15px 15px 0 15px; } }
      .menu2 .item__box__list__item {
        width: 46.5%;
        text-align: center;
        border: 2px solid #37467F;
        padding: 1%;
        margin: 0 0 30px 0;
        border-radius: 15px;
        font-weight: 700;
        color: #37467F; }
        @media screen and (max-width: 897px) {
          .menu2 .item__box__list__item {
            width: 100%;
            margin: 0 0 15px 0;
            border-radius: 5px; } }

/*============================================
bnr-02
============================================*/
.bnr-02 {
  padding: 0 0 80px 0;
  margin-top: -280px; }
  .bnr-02__box {
    text-align: center; }

/*============================================
fee
============================================*/
.fee {
  padding: 120px 0 80px 0;
  background: url("../img/index/fee-bg-01.png");
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .fee {
      padding: 40px 0 20px 0; } }
  .fee__box {
    max-width: 1140px;
    margin: 0 auto; }
    @media screen and (max-width: 897px) {
      .fee__box {
        margin: 0 20px; } }
    .fee__box__item {
      margin: 0 0 40px 0; }
      @media screen and (max-width: 897px) {
        .fee__box__item {
          margin: 0 0 20px 0; } }
      .fee__box__item img {
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }

/*============================================
coach
============================================*/
.coach {
  padding: 120px 0;
  background: url("../img/index/coach-bg-01.png");
  background-position: top left;
  background-repeat: no-repeat; }
  @media screen and (max-width: 897px) {
    .coach {
      padding: 40px 0; } }
  .coach__box {
    max-width: 1140px;
    margin: 0 auto;
    background: #37467F;
    border-radius: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }
    @media screen and (max-width: 897px) {
      .coach__box {
        margin: 0 20px;
        display: block; } }
    .coach__box .img {
      width: 48%; }
      @media screen and (max-width: 897px) {
        .coach__box .img {
          width: 100%; } }
      .coach__box .img img {
        border-radius: 15px 0 0 15px; }
        @media screen and (max-width: 897px) {
          .coach__box .img img {
            border-radius: 15px 15px 0 0; } }
    .coach__box .txt {
      width: 52%;
      padding: 0 2%;
      color: #fff; }
      @media screen and (max-width: 897px) {
        .coach__box .txt {
          width: 90%;
          padding: 5%; } }
      .coach__box .txt h3 {
        font-size: 3.0rem;
        padding: 0 0 5px 0; }
      .coach__box .txt dl {
        padding: 30px 0 0 0;
        font-size: 1.4rem;
        color: #f7f7f7; }
        .coach__box .txt dl div {
          display: flex;
          border-bottom: 1px dotted #fff;
          padding: 0 0 10px 0;
          margin: 0 0 10px 0; }
          @media screen and (max-width: 897px) {
            .coach__box .txt dl div {
              display: block; } }
          .coach__box .txt dl div:last-of-type {
            border-bottom: none;
            padding: 0;
            margin: 0; }
          .coach__box .txt dl div dt {
            width: 35%; }
            @media screen and (max-width: 897px) {
              .coach__box .txt dl div dt {
                width: 100%; } }
          .coach__box .txt dl div dd {
            width: 65%; }
            @media screen and (max-width: 897px) {
              .coach__box .txt dl div dd {
                width: 100%; } }
  .coach .history__box {
    max-width: 1140px;
    margin: 0 auto;
    padding: 60px 0; }
    @media screen and (max-width: 897px) {
      .coach .history__box {
        margin: 0 20px;
        padding: 20px 0; } }
    .coach .history__box h2 {
      text-align: center;
      font-size: 2.0rem;
      padding: 0 0 30px 0; }
    .coach .history__box dl div {
      display: flex;
      justify-content: space-between;
      border-bottom: 1px dotted #37467F;
      padding: 0 0 30px 0;
      margin: 0 0 30px 0; }
      @media screen and (max-width: 897px) {
        .coach .history__box dl div {
          display: block;
          padding: 0 0 15px 0;
          margin: 0 0 15px 0; } }
      .coach .history__box dl div:last-of-type {
        margin: 0;
        padding: 0;
        border-bottom: none; }
      .coach .history__box dl div dt {
        width: 15%;
        font-weight: 700; }
        @media screen and (max-width: 897px) {
          .coach .history__box dl div dt {
            width: 100%; } }
      .coach .history__box dl div dd {
        width: 85%; }
        @media screen and (max-width: 897px) {
          .coach .history__box dl div dd {
            width: 100%; } }
  .coach .thought__box {
    max-width: 1050px;
    margin: 0 auto;
    border: 5px solid #37467F;
    border-radius: 5px;
    background: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    padding: 40px; }
    @media screen and (max-width: 897px) {
      .coach .thought__box {
        margin: 0 20px;
        padding: 15px; } }
    .coach .thought__box h2 {
      text-align: center;
      font-size: 3.0rem;
      font-weight: 700;
      padding: 0 0 30px 0;
      color: #37467F; }
      @media screen and (max-width: 897px) {
        .coach .thought__box h2 {
          font-size: 2rem;
          padding: 0 0 10px 0; } }
    .coach .thought__box .inbox {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 897px) {
        .coach .thought__box .inbox {
          display: block; } }
      .coach .thought__box .inbox .img {
        width: 48.5%; }
        @media screen and (max-width: 897px) {
          .coach .thought__box .inbox .img {
            width: 100%;
            margin: 0 0 15px 0; } }
        .coach .thought__box .inbox .img img {
          border-radius: 15px;
          width: 100%; }
      .coach .thought__box .inbox .txt {
        width: 48.5%; }
        @media screen and (max-width: 897px) {
          .coach .thought__box .inbox .txt {
            width: 100%; } }
        .coach .thought__box .inbox .txt h3 {
          color: #FD0075;
          font-weight: 700;
          font-size: 2.4rem;
          padding: 0 0 15px 0;
          margin: 0 0 15px 0;
          position: relative; }
          @media screen and (max-width: 897px) {
            .coach .thought__box .inbox .txt h3 {
              font-size: 2.0rem; } }
          .coach .thought__box .inbox .txt h3:after {
            position: absolute;
            content: "";
            bottom: 0;
            left: 0;
            width: 150px;
            height: 1px;
            background: #37467F; }

/*============================================
facilities
============================================*/
.facilities {
  padding: 120px 0;
  background: #384158; }
  @media screen and (max-width: 897px) {
    .facilities {
      padding: 40px 0; } }
  .facilities-wrap {
    background: url("../img/index/facilities-bg-01.jpg");
    background-position: top center;
    background-repeat: no-repeat;
    padding: 720px 0 0 0; }
    @media screen and (max-width: 897px) {
      .facilities-wrap {
        padding: 200px 0 0 0;
        background-size: 130% auto; } }
    .facilities-wrap .facilities__headline {
      max-width: 1140px;
      margin: 0 auto;
      background: #384158;
      color: #fff;
      padding: 60px 0;
      text-align: center;
      border-radius: 15px 15px 0 0; }
      @media screen and (max-width: 897px) {
        .facilities-wrap .facilities__headline {
          margin: 0 20px;
          padding: 20px; } }
      .facilities-wrap .facilities__headline h3 {
        font-size: 2.5rem;
        padding: 0 0 15px 0;
        font-weight: 700; }
        @media screen and (max-width: 897px) {
          .facilities-wrap .facilities__headline h3 {
            font-size: 2.0rem; } }
    .facilities-wrap .facilities__box {
      max-width: 1140px;
      margin: 0 auto 60px auto;
      padding: 0 0 60px 0;
      border-bottom: 1px solid #fff;
      display: flex;
      color: #fff;
      justify-content: space-between; }
      @media screen and (max-width: 897px) {
        .facilities-wrap .facilities__box {
          margin: 0 20px;
          flex-wrap: wrap;
          padding: 0; } }
      .facilities-wrap .facilities__box__item {
        width: 31%; }
        @media screen and (max-width: 897px) {
          .facilities-wrap .facilities__box__item {
            width: 100%;
            margin: 0 0 20px 0; } }
        .facilities-wrap .facilities__box__item .img img {
          border-radius: 15px;
          width: 100%; }
        .facilities-wrap .facilities__box__item .txt h4 {
          padding: 30px 0 20px 0;
          font-size: 1.7rem; }
          @media screen and (max-width: 897px) {
            .facilities-wrap .facilities__box__item .txt h4 {
              padding: 10px 0 5px 0;
              font-size: 1.6rem; } }
    .facilities-wrap .facilities__access {
      max-width: 1140px;
      margin: 0 auto;
      color: #fff; }
      @media screen and (max-width: 897px) {
        .facilities-wrap .facilities__access {
          margin: 20px 20px 0 20px; } }
      .facilities-wrap .facilities__access h3 {
        font-size: 2.5rem;
        padding: 0 0 30px 0;
        font-weight: 700;
        text-align: center; }
        @media screen and (max-width: 897px) {
          .facilities-wrap .facilities__access h3 {
            font-size: 2.0rem;
            padding: 0 0 10px 0; } }
      .facilities-wrap .facilities__access .gmap {
        height: 0;
        overflow: hidden;
        padding-bottom: 56.25%;
        position: relative; }
      .facilities-wrap .facilities__access .gmap iframe {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%; }
      .facilities-wrap .facilities__access dl {
        margin: 30px 0 0 0; }
        @media screen and (max-width: 897px) {
          .facilities-wrap .facilities__access dl {
            margin: 15px 0 0 0; } }
        .facilities-wrap .facilities__access dl div {
          display: flex;
          justify-content: space-between;
          padding: 0 15px 15px 15px;
          margin: 0 0 15px 0;
          border-bottom: 1px dotted #fff; }
          @media screen and (max-width: 897px) {
            .facilities-wrap .facilities__access dl div {
              display: block; } }
          .facilities-wrap .facilities__access dl div dt {
            width: 20%; }
            @media screen and (max-width: 897px) {
              .facilities-wrap .facilities__access dl div dt {
                width: 100%; } }
          .facilities-wrap .facilities__access dl div dd {
            width: 80%; }
            @media screen and (max-width: 897px) {
              .facilities-wrap .facilities__access dl div dd {
                width: 100%; } }

/*============================================
faq
============================================*/
.faq {
  padding: 120px 0 110px 0; }
  @media screen and (max-width: 897px) {
    .faq {
      padding: 40px 0 30px; } }

/*------------------------------------------------------------
	 form
------------------------------------------------------------*/
.contact {
  padding: 116px 0;
  background-size: cover;
  background-image: url("../img/index/bg_contact.png"); }
  @media screen and (max-width: 897px) {
    .contact {
      padding: 20px 0; } }
  .contact__box {
    padding-top: 40px;
    max-width: 1140px;
    background-color: #fff;
    border-radius: 10px;
    padding: 40px;
    box-sizing: border-box;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    margin: 0 auto;
    padding: 40px; }
    @media screen and (max-width: 897px) {
      .contact__box {
        padding: 20px;
        margin: 0 20px; } }
    .contact__box form {
      margin-top: 60px; }
      @media screen and (max-width: 897px) {
        .contact__box form {
          margin-top: 30px; } }
      .contact__box form dl {
        overflow: hidden; }
        .contact__box form dl dt, .contact__box form dl dd {
          min-height: 50px; }
          @media screen and (max-width: 897px) {
            .contact__box form dl dt, .contact__box form dl dd {
              min-height: inherit; } }
        .contact__box form dl dt {
          width: 20%;
          float: left;
          border-top: 1px dashed #767676;
          padding-top: 30px;
          margin-bottom: 10px;
          font-weight: bold; }
          @media screen and (max-width: 897px) {
            .contact__box form dl dt {
              width: auto;
              float: none; } }
        .contact__box form dl dd {
          padding: 30px 0;
          width: 80%;
          float: left;
          border-top: 1px dashed #767676;
          display: block; }
          @media screen and (max-width: 897px) {
            .contact__box form dl dd {
              width: auto;
              float: none;
              border: none;
              padding: 0;
              margin-bottom: 30px; } }
          .contact__box form dl dd .content {
            margin: 0 !important;
            width: 100%;
            background-color: #FFFFFF; }
          .contact__box form dl dd .wpcf7c-elm-step1 span {
            color: #999;
            margin: 5px 0 0 5px;
            display: block; }
          .contact__box form dl dd span.wpcf7-list-item.first {
            margin-left: 0; }
          .contact__box form dl dd .txt--att {
            color: #999;
            margin-top: 5px;
            display: block; }
          .contact__box form dl dd .txt--att02 {
            color: #FD0075;
            margin-bottom: 5px;
            display: block; }
        .contact__box form dl.error dd {
          color: #FF2D31;
          font-weight: bold; }
      .contact__box form .haveto, .contact__box form .any {
        padding: 5px;
        border-radius: 5px;
        margin-right: 10px;
        position: relative;
        bottom: 1px; }
      .contact__box form .haveto {
        background-color: #F87D7D;
        color: #fff; }
      .contact__box form .any {
        background: #CCCCCC;
        color: #fff; }
      .contact__box form input, .contact__box form select, .contact__box form date, .contact__box form textarea {
        line-height: 1.4;
        padding: 10px;
        margin: 0 5px 10px 0;
        font-size: 1.6rem; }
        @media screen and (max-width: 897px) {
          .contact__box form input, .contact__box form select, .contact__box form date, .contact__box form textarea {
            margin-bottom: 10px !important;
            line-height: 3;
            width: 85%;
            border: 1px solid #AFAFAF;
            border-radius: 10px;
            background: none;
            background-color: #fff; } }
      .contact__box form input[type="submit"], .contact__box form select[type="submit"], .contact__box form date[type="submit"] {
        -webkit-appearance: none;
        border-radius: 0;
        margin: 30px auto;
        /*  display: block;*/ }
      .contact__box form input[type="checkbox"], .contact__box form select[type="checkbox"], .contact__box form date[type="checkbox"], .contact__box form input[type="radio"], .contact__box form select[type="radio"], .contact__box form date[type="radio"] {
        display: inline-block;
        margin-bottom: 0; }
        @media screen and (max-width: 897px) {
          .contact__box form input[type="checkbox"], .contact__box form select[type="checkbox"], .contact__box form date[type="checkbox"], .contact__box form input[type="radio"], .contact__box form select[type="radio"], .contact__box form date[type="radio"] {
            width: auto; } }
      @media screen and (max-width: 897px) {
        .contact__box form input[type="date"], .contact__box form select[type="date"], .contact__box form date[type="date"] {
          width: 70%; } }
      @media screen and (max-width: 897px) {
        .contact__box form textarea {
          width: 90%; } }
      .contact__box form input#confirm, .contact__box form select#confirm, .contact__box form date#confirm {
        line-height: 3;
        width: 230px;
        border: none;
        border-radius: 44px;
        background: none;
        background-color: #A93C5B;
        color: #FFFFFF;
        display: block; }
      .contact__box form input#confirm2 {
        line-height: 3;
        width: 230px;
        border: none;
        border-radius: 10px;
        background: none;
        background-color: #A93C5B;
        color: #FFFFFF;
        background-color: #E8E8E8;
        color: #5F5F5F; }
      .contact__box form input#confirm:disabled {
        background: #DCDCDC;
        cursor: not-allowed; }
      .contact__box form select#confirm:disabled, .contact__box form date#confirm:disabled {
        background: #DCDCDC;
        cursor: not-allowed; }
      .contact__box form select {
        -webkit-appearance: none; }
      .contact__box form span.wpcf7-list-item .first {
        margin-left: 0; }
    .contact__box .contact-btn {
      text-align: center;
      margin: 30px 0 100px; }
      @media screen and (max-width: 897px) {
        .contact__box .contact-btn {
          text-align: left; } }
      .contact__box .contact-btn input {
        margin: 20px; }
      @media screen and (max-width: 897px) {
        .contact__box .contact-btn input[type="checkbox"] {
          margin: 30px 0 30px 0; } }
    .contact__box .supplement {
      color: #999;
      margin-top: 5px;
      display: block;
      margin: 0 0 5px; }

/*==================================================
アコーディオンのためのcss
===================================*/
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 0 auto; }

.accordion-area li {
  margin: 10px 0; }

.accordion-area section {
  border: 1px solid #ccc; }

/*アコーディオンタイトル*/
.title {
  position: relative;
  /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  padding: 3% 3% 3% 50px;
  transition: all .5s ease; }

/*アイコンの＋と×*/
.title::before, .title::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background-color: #333; }

.title::before {
  top: 48%;
  right: 15px;
  transform: rotate(0deg); }

.title::after {
  top: 48%;
  right: 15px;
  transform: rotate(90deg); }

/*　closeというクラスがついたら形状変化　*/
.title.close::before {
  transform: rotate(45deg); }

.title.close::after {
  transform: rotate(-45deg); }

/*アコーディオンで現れるエリア*/
.box {
  display: none;
  /*はじめは非表示*/
  background: #f3f3f3;
  margin: 0 3% 3% 3%;
  padding: 3%; }

/*========= レイアウトのためのCSS ===============*/
.policy__headline {
  padding: 0 0 30px 0; }

.policy__box {
  padding: 0 0 30px 0; }

.quote__box {
  margin: 30px 0 0 0;
  border: 1px solid #e4e4e4;
  display: inline-block;
  padding: 15px; }
